From 0e4dab8a6065d80d1c726394f5d9d23cb451706a Mon Sep 17 00:00:00 2001 From: Yonatan Iluz Date: Thu, 11 Jul 2024 09:26:02 +0300 Subject: [PATCH] Cairo v0.13.2a0 (pre). --- README.md | 4 +- WORKSPACE | 2 +- src/services/config/general_config.py | 2 +- src/services/everest/definitions/fields.py | 10 +- .../everest/definitions/general_config.py | 2 +- src/starkware/cairo/bootloaders/BUILD | 20 +- .../cairo/bootloaders/aggregator_utils.py | 28 + .../bootloaders/aggregator_utils_test.py | 10 + .../bootloaders/applicative_bootloader/BUILD | 22 + .../applicative_bootloader.cairo | 185 + .../cairo/bootloaders/bootloader/BUILD | 13 +- .../bootloaders/bootloader/bootloader.cairo | 309 +- .../bootloader/run_bootloader.cairo | 327 + .../cairo/bootloaders/generate_fact.py | 30 +- .../bootloaders/program_hash_test_utils.py | 44 +- .../cairo/bootloaders/simple_bootloader/BUILD | 1 + .../simple_bootloader/execute_task.cairo | 4 + .../run_simple_bootloader.cairo | 10 + .../simple_bootloader/simple_bootloader.cairo | 4 +- .../validate_builtins_test.py | 1 + .../layouts/all_cairo/cairo_verifier.cairo | 4 +- .../layouts/all_cairo/program_hash.json | 2 +- src/starkware/cairo/common/BUILD | 8 + .../cairo/common/cairo_builtins.cairo | 22 + .../cairo/common/cairo_function_runner.py | 43 +- src/starkware/cairo/common/cairo_sha256/BUILD | 5 +- .../common/cairo_sha256/sha256_utils.cairo | 500 + .../cairo/common/cairo_sha256/sha256_utils.py | 19 + src/starkware/cairo/common/find_element.cairo | 81 +- src/starkware/cairo/common/modulo.cairo | 113 + src/starkware/cairo/common/poseidon_hash.py | 8 +- src/starkware/cairo/common/sha256_state.cairo | 37 + src/starkware/cairo/lang/BUILD | 1 + src/starkware/cairo/lang/VERSION | 2 +- src/starkware/cairo/lang/builtins/BUILD | 2 + .../cairo/lang/builtins/all_builtins.py | 14 +- .../builtins/builtin_runner_test_utils.py | 13 +- .../cairo/lang/builtins/instance_def.py | 22 + .../cairo/lang/builtins/modulo/BUILD | 24 + .../cairo/lang/builtins/modulo/__init__.py | 0 .../lang/builtins/modulo/instance_def.py | 91 + .../builtins/modulo/mod_builtin_runner.py | 604 + .../modulo/mod_builtin_runner_test.py | 430 + .../lang/builtins/range_check/instance_def.py | 4 +- .../range_check/range_check_builtin_runner.py | 11 +- src/starkware/cairo/lang/cairo_rules.bzl | 27 +- .../compiler/preprocessor/preprocessor.py | 26 + .../preprocessor/preprocessor_test.py | 36 + .../lang/compiler/type_system_visitor.py | 12 +- .../cairo/lang/dynamic_layout_params.py | 48 +- .../cairo/lang/ide/vscode-cairo/icon.png | Bin 0 -> 5814 bytes .../cairo/lang/ide/vscode-cairo/package.json | 14 +- src/starkware/cairo/lang/instances.py | 55 +- .../cairo/lang/vm/air_public_input.py | 5 +- src/starkware/cairo/lang/vm/builtin_runner.py | 73 + src/starkware/cairo/lang/vm/cairo_run.py | 1 + src/starkware/cairo/lang/vm/cairo_runner.py | 46 +- .../cairo/lang/vm/memory_segments.py | 18 + .../cairo/lang/vm/output_builtin_runner.py | 11 +- .../cairo/lang/vm/validated_memory_dict.py | 3 + src/starkware/cairo/lang/vm/vm_core.py | 26 +- src/starkware/cairo/stark_verifier/air/BUILD | 7 +- .../stark_verifier/air/config_instances.cairo | 9 + .../{config.cairo => config_interface.cairo} | 10 +- .../air/dynamic_layout_proof.json | 1387 +- .../stark_verifier/air/example_expected.json | 4 +- .../stark_verifier/air/example_proof.json | 7100 ++-- .../air/layouts/all_cairo/autogenerated.cairo | 4679 ++- .../air/layouts/all_cairo/composition.cairo | 4 + .../air/layouts/all_cairo/global_values.cairo | 6 + .../air/layouts/all_cairo/public_verify.cairo | 30 +- .../air/layouts/dex/autogenerated.cairo | 2 + .../air/layouts/dynamic/autogenerated.cairo | 27047 +++++++++------- .../air/layouts/dynamic/composition.cairo | 5 + .../air/layouts/dynamic/global_values.cairo | 7 + .../air/layouts/dynamic/public_verify.cairo | 63 +- .../air/layouts/recursive/autogenerated.cairo | 2 + .../autogenerated.cairo | 2 + .../air/layouts/small/autogenerated.cairo | 2 + .../air/layouts/starknet/autogenerated.cairo | 2 + .../starknet_with_keccak/autogenerated.cairo | 2 + .../cairo/stark_verifier/air/parser.py | 100 +- .../stark_verifier/air/public_input.cairo | 4 +- .../stark_verifier/air/public_input_test.py | 16 +- .../cairo/stark_verifier/air/traces.cairo | 3 +- src/starkware/cairo/stark_verifier/core/BUILD | 21 + .../stark_verifier/core/air_instances.cairo | 41 + .../stark_verifier/core/air_interface.cairo | 55 +- .../cairo/stark_verifier/core/config.cairo | 39 +- .../core/config_instances.cairo | 25 + .../cairo/stark_verifier/core/fri/BUILD | 14 +- .../stark_verifier/core/merkle_test_data.json | 2 +- .../cairo/stark_verifier/core/stark.cairo | 6 +- .../core/supported_proof_params.py | 2 +- .../core/table_commitment.cairo | 4 +- .../core/table_commitment_test.py | 2 +- .../core/vector_commitment.cairo | 8 +- src/starkware/crypto/signature/math_utils.py | 3 +- .../signature/nothing_up_my_sleeve_gen.py | 2 +- src/starkware/eth/eth_test_utils.py | 47 +- src/starkware/python/math_utils.py | 12 +- src/starkware/solidity/BUILD | 2 - src/starkware/solidity/components/BUILD | 82 +- src/starkware/solidity/interfaces/BUILD | 184 +- src/starkware/solidity/libraries/BUILD | 31 +- src/starkware/solidity/third_party/BUILD | 3 + src/starkware/solidity/tokens/BUILD | 23 + src/starkware/solidity/tokens/ERC1155/BUILD | 3 + .../solidity/tokens/ERC1155/ERC1155.sol | 346 + .../solidity/tokens/ERC1155/IERC1155.sol | 123 + .../tokens/ERC1155/IERC1155Receiver.sol | 49 + src/starkware/solidity/tokens/ERC165.sol | 34 + src/starkware/solidity/tokens/ERC20/BUILD | 7 + src/starkware/solidity/tokens/ERC721/BUILD | 3 + .../solidity/tokens/ERC721/ERC721.sol | 280 + .../solidity/tokens/ERC721/IERC721.sol | 67 + .../tokens/ERC721/IERC721Receiver.sol | 11 + src/starkware/solidity/tokens/IERC165.sol | 12 + src/starkware/solidity/upgrade/BUILD | 12 + src/starkware/solidity/utils.py | 14 +- .../starknet/business_logic/execution/BUILD | 1 + .../execution/deprecated_objects.py | 2 +- .../execution/execute_entry_point.py | 2 +- .../business_logic/execution/objects.py | 66 +- .../business_logic/execution/os_usage.py | 17 +- .../fact_state/contract_state_objects.py | 10 +- .../business_logic/fact_state/state.py | 40 + .../business_logic/state/state_api_objects.py | 5 +- .../transaction/deprecated_objects.py | 10 +- .../business_logic/transaction/fee.py | 9 +- .../internal_account_transaction.py | 29 +- src/starkware/starknet/cli/BUILD | 3 +- .../cli/reconstruct_starknet_traceback.py | 11 +- .../reconstruct_starknet_traceback_test.py | 33 +- .../starknet/common/new_syscalls.cairo | 10 + .../compiler/v1/mainnet_libfuncs.json | 34 +- .../compiler/v1/testnet_libfuncs.json | 34 +- src/starkware/starknet/core/aggregator/BUILD | 70 +- .../core/aggregator/aggregator_program.py | 11 + .../core/aggregator/aggregator_test.py | 760 +- .../core/aggregator/combine_blocks.cairo | 191 + .../starknet/core/aggregator/main.cairo | 115 + .../starknet/core/aggregator/output_parser.py | 131 +- .../core/aggregator/program_hash.json | 4 + .../core/aggregator/program_hash_test.py | 39 + .../starknet/core/aggregator/utils.py | 144 + src/starkware/starknet/core/os/BUILD | 43 +- .../starknet/core/os/block_context.cairo | 4 +- src/starkware/starknet/core/os/builtins.cairo | 18 + .../starknet/core/os/constants.cairo | 59 +- .../starknet/core/os/contract_class/BUILD | 5 + .../os/contract_class/compiled_class.cairo | 11 +- .../starknet/core/os/data_availability/BUILD | 3 + .../os/data_availability/commitment.cairo | 122 +- .../core/os/deprecated_syscall_handler.py | 131 +- .../deprecated_execute_entry_point.cairo | 6 +- .../deprecated_execute_syscalls.cairo | 9 +- .../os/execution/execute_entry_point.cairo | 9 +- .../core/os/execution/execute_syscalls.cairo | 78 +- .../os/execution/execute_transactions.cairo | 27 +- src/starkware/starknet/core/os/kzg_manager.py | 33 + src/starkware/starknet/core/os/os.cairo | 35 +- src/starkware/starknet/core/os/os_input.py | 4 +- src/starkware/starknet/core/os/os_logger.py | 9 +- src/starkware/starknet/core/os/os_utils.py | 53 +- src/starkware/starknet/core/os/output.cairo | 98 +- .../starknet/core/os/program_hash.json | 2 +- .../starknet/core/os/program_hash_test.py | 2 +- .../starknet/core/os/state/output.cairo | 158 +- .../starknet/core/os/syscall_handler.py | 91 +- .../transaction_hash/transaction_hash.cairo | 3 + .../starknet/core/test_contract/BUILD | 4 +- src/starkware/starknet/definitions/BUILD | 3 +- .../{types.py => blockifier_types.py} | 2 + .../starknet/definitions/constants.py | 114 +- .../starknet/definitions/error_codes.py | 2 + src/starkware/starknet/definitions/fields.py | 30 +- .../starknet/definitions/general_config.py | 74 +- .../starknet/definitions/general_config.yml | 7 +- .../definitions/versioned_constants.json | 601 +- .../api/contract_class/contract_class.py | 3 + .../services/api/feeder_gateway/BUILD | 6 +- .../api/feeder_gateway/block_signature.py | 21 + .../api/feeder_gateway/response_objects.py | 59 +- .../feeder_gateway/state_diff_commitment.py | 246 - src/starkware/starknet/solidity/BUILD | 2 +- src/starkware/starknet/solidity/Output.sol | 42 +- src/starkware/starknet/solidity/Starknet.sol | 221 +- .../starknet/solidity/StarknetState.sol | 46 +- src/starkware/starknet/testing/test_utils.py | 8 + .../starknet/wallets/open_zeppelin.py | 2 +- src/starkware/starknet/wallets/signer.py | 14 +- src/starkware/starkware_utils/BUILD | 2 +- .../patricia_tree/fast_patricia_update.py | 22 +- .../patricia_tree/patricia_tree.py | 31 + src/starkware/starkware_utils/config_base.py | 35 +- .../starkware_utils/error_handling.py | 2 + .../starkware_utils/field_validators.py | 37 +- .../marshmallow_dataclass_fields.py | 2 + .../starkware_utils/validated_fields.py | 16 +- src/starkware/storage/BUILD | 10 +- src/starkware/storage/storage.py | 10 +- src/starkware/storage/test_utils.py | 37 +- 203 files changed, 31578 insertions(+), 18478 deletions(-) create mode 100644 src/starkware/cairo/bootloaders/aggregator_utils.py create mode 100644 src/starkware/cairo/bootloaders/aggregator_utils_test.py create mode 100644 src/starkware/cairo/bootloaders/applicative_bootloader/BUILD create mode 100644 src/starkware/cairo/bootloaders/applicative_bootloader/applicative_bootloader.cairo create mode 100644 src/starkware/cairo/bootloaders/bootloader/run_bootloader.cairo create mode 100644 src/starkware/cairo/common/cairo_sha256/sha256_utils.cairo create mode 100644 src/starkware/cairo/common/modulo.cairo create mode 100644 src/starkware/cairo/common/sha256_state.cairo create mode 100644 src/starkware/cairo/lang/builtins/modulo/BUILD create mode 100644 src/starkware/cairo/lang/builtins/modulo/__init__.py create mode 100644 src/starkware/cairo/lang/builtins/modulo/instance_def.py create mode 100644 src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner.py create mode 100644 src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner_test.py create mode 100644 src/starkware/cairo/lang/ide/vscode-cairo/icon.png create mode 100644 src/starkware/cairo/stark_verifier/air/config_instances.cairo rename src/starkware/cairo/stark_verifier/air/{config.cairo => config_interface.cairo} (82%) create mode 100644 src/starkware/cairo/stark_verifier/core/air_instances.cairo create mode 100644 src/starkware/cairo/stark_verifier/core/config_instances.cairo create mode 100644 src/starkware/solidity/third_party/BUILD create mode 100644 src/starkware/solidity/tokens/BUILD create mode 100644 src/starkware/solidity/tokens/ERC1155/BUILD create mode 100644 src/starkware/solidity/tokens/ERC1155/ERC1155.sol create mode 100644 src/starkware/solidity/tokens/ERC1155/IERC1155.sol create mode 100644 src/starkware/solidity/tokens/ERC1155/IERC1155Receiver.sol create mode 100644 src/starkware/solidity/tokens/ERC165.sol create mode 100644 src/starkware/solidity/tokens/ERC20/BUILD create mode 100644 src/starkware/solidity/tokens/ERC721/BUILD create mode 100644 src/starkware/solidity/tokens/ERC721/ERC721.sol create mode 100644 src/starkware/solidity/tokens/ERC721/IERC721.sol create mode 100644 src/starkware/solidity/tokens/ERC721/IERC721Receiver.sol create mode 100644 src/starkware/solidity/tokens/IERC165.sol create mode 100644 src/starkware/solidity/upgrade/BUILD create mode 100644 src/starkware/starknet/core/aggregator/aggregator_program.py create mode 100644 src/starkware/starknet/core/aggregator/combine_blocks.cairo create mode 100644 src/starkware/starknet/core/aggregator/main.cairo create mode 100644 src/starkware/starknet/core/aggregator/program_hash.json create mode 100644 src/starkware/starknet/core/aggregator/program_hash_test.py create mode 100644 src/starkware/starknet/core/aggregator/utils.py create mode 100644 src/starkware/starknet/core/os/kzg_manager.py rename src/starkware/starknet/definitions/{types.py => blockifier_types.py} (76%) create mode 100644 src/starkware/starknet/services/api/feeder_gateway/block_signature.py delete mode 100644 src/starkware/starknet/services/api/feeder_gateway/state_diff_commitment.py diff --git a/README.md b/README.md index c572f7fd..7af8d7db 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ We recommend starting from [Setting up the environment](https://cairo-lang.org/d # Installation instructions You should be able to download the python package zip file directly from -[github](https://github.com/starkware-libs/cairo-lang/releases/tag/v0.13.1) +[github](https://github.com/starkware-libs/cairo-lang/releases/tag/v0.13.2) and install it using ``pip``. See [Setting up the environment](https://cairo-lang.org/docs/quickstart.html). @@ -54,7 +54,7 @@ Once the docker image is built, you can fetch the python package zip file using: ```bash > container_id=$(docker create cairo) -> docker cp ${container_id}:/app/cairo-lang-0.13.1.zip . +> docker cp ${container_id}:/app/cairo-lang-0.13.2.zip . > docker rm -v ${container_id} ``` diff --git a/WORKSPACE b/WORKSPACE index c54e67b5..3057b22f 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -60,7 +60,7 @@ http_archive( "//src/starkware/starknet/compiler/v1:BUILD." + CAIRO_COMPILER_ARCHIVE, ), strip_prefix = "cairo", - url = "https://github.com/starkware-libs/cairo/releases/download/v2.6.0/release-x86_64-unknown-linux-musl.tar.gz", + url = "https://github.com/starkware-libs/cairo/releases/download/v2.7.0-rc.1/release-x86_64-unknown-linux-musl.tar.gz", ) http_archive( diff --git a/src/services/config/general_config.py b/src/services/config/general_config.py index a2367337..0f79bcff 100644 --- a/src/services/config/general_config.py +++ b/src/services/config/general_config.py @@ -3,6 +3,6 @@ from starkware.starkware_utils.config_base import Config -@marshmallow_dataclass.dataclass(frozen=True) +@marshmallow_dataclass.dataclass class GeneralConfigBase(Config): pass diff --git a/src/services/everest/definitions/fields.py b/src/services/everest/definitions/fields.py index 794b2646..d5e0b4f1 100644 --- a/src/services/everest/definitions/fields.py +++ b/src/services/everest/definitions/fields.py @@ -13,7 +13,11 @@ from starkware.starkware_utils.error_handling import StarkErrorCode from starkware.starkware_utils.field_validators import validate_non_negative from starkware.starkware_utils.marshmallow_dataclass_fields import StrictRequiredInteger -from starkware.starkware_utils.validated_fields import RangeValidatedField, ValidatedField +from starkware.starkware_utils.validated_fields import ( + OptionalField, + RangeValidatedField, + ValidatedField, +) # Fields data: validation data, dataclass metadata. tx_id_marshmallow_field = StrictRequiredInteger(validate=validate_non_negative("tx_id")) @@ -74,6 +78,8 @@ def convert_valid_to_checksum(self, value: str) -> ChecksumAddress: formatter=None, ) +EthAddressHexField = dataclasses.replace(EthAddressIntField, formatter=hex) + FeltField = RangeValidatedField( lower_bound=0, upper_bound=FIELD_PRIME, @@ -82,6 +88,8 @@ def convert_valid_to_checksum(self, value: str) -> ChecksumAddress: formatter=hex, ) +OptionalFeltField = OptionalField(field=FeltField, none_probability=0) + felt_as_hex_list_metadata = dict(marshmallow_field=mfields.List(FeltField.get_marshmallow_field())) diff --git a/src/services/everest/definitions/general_config.py b/src/services/everest/definitions/general_config.py index f64ba7f7..b968af51 100644 --- a/src/services/everest/definitions/general_config.py +++ b/src/services/everest/definitions/general_config.py @@ -3,6 +3,6 @@ from services.config.general_config import GeneralConfigBase -@marshmallow_dataclass.dataclass(frozen=True) +@marshmallow_dataclass.dataclass class EverestGeneralConfig(GeneralConfigBase): pass diff --git a/src/starkware/cairo/bootloaders/BUILD b/src/starkware/cairo/bootloaders/BUILD index 613910e2..69051646 100644 --- a/src/starkware/cairo/bootloaders/BUILD +++ b/src/starkware/cairo/bootloaders/BUILD @@ -1,6 +1,6 @@ load("//bazel_utils:get_from_cairo_lang.bzl", "get_from_cairo_lang") load("//bazel_utils/python:defs.bzl", "requirement") -load("//bazel_utils:python.bzl", "py_exe") +load("//bazel_utils:python.bzl", "py_exe", "pytest_test") py_library( name = "program_hash_test_utils_lib", @@ -58,6 +58,7 @@ py_library( ], visibility = ["//visibility:public"], deps = [ + ":aggregator_utils", ":cairo_bootloader_fact_topology_lib", ":cairo_hash_program_lib", "//src/starkware/cairo/lang/vm:cairo_relocatable_lib", @@ -66,3 +67,20 @@ py_library( requirement("eth_hash"), ], ) + +py_library( + name = "aggregator_utils", + srcs = [ + "aggregator_utils.py", + ], + deps = [ + "//src/starkware/cairo/lang/vm:cairo_vm_crypto_lib", + "//src/starkware/python:starkware_python_utils_lib", + ], +) + +pytest_test( + name = "aggregator_utils_test", + srcs = ["aggregator_utils_test.py"], + deps = [":aggregator_utils"], +) diff --git a/src/starkware/cairo/bootloaders/aggregator_utils.py b/src/starkware/cairo/bootloaders/aggregator_utils.py new file mode 100644 index 00000000..d23db8b5 --- /dev/null +++ b/src/starkware/cairo/bootloaders/aggregator_utils.py @@ -0,0 +1,28 @@ +from typing import List + +from starkware.cairo.lang.vm.crypto import pedersen_hash +from starkware.python.utils import from_bytes + + +def get_aggregator_input_size(program_output: List[int]) -> int: + """ + Returns the size of the input to an aggregator program. + """ + assert len(program_output) > 0, "Invalid program output for an aggregator program." + n_tasks = program_output[0] + + offset = 1 + for _ in range(n_tasks): + assert len(program_output) > offset, "Invalid program output for an aggregator program." + task_size = program_output[offset] + offset += task_size + + return offset + + +def add_aggregator_prefix(program_hash: int) -> int: + """ + Computes H("AGGREGATOR", program_hash) which indicates that the program was treated by the + bootloader as an aggregator program. + """ + return pedersen_hash(from_bytes(b"AGGREGATOR"), program_hash) diff --git a/src/starkware/cairo/bootloaders/aggregator_utils_test.py b/src/starkware/cairo/bootloaders/aggregator_utils_test.py new file mode 100644 index 00000000..f94041fe --- /dev/null +++ b/src/starkware/cairo/bootloaders/aggregator_utils_test.py @@ -0,0 +1,10 @@ +from starkware.cairo.bootloaders.aggregator_utils import get_aggregator_input_size + + +def test_get_aggregator_input_size(): + # Create an aggregator input (bootloader output) with 2 tasks with output sizes 4 and 3. + aggregator_input = [2] + [4, 100, 100, 100] + [3, 100, 100] + aggregator_output = [100, 100, 100, 100] + assert get_aggregator_input_size(program_output=aggregator_input + aggregator_output) == len( + aggregator_input + ) diff --git a/src/starkware/cairo/bootloaders/applicative_bootloader/BUILD b/src/starkware/cairo/bootloaders/applicative_bootloader/BUILD new file mode 100644 index 00000000..73f74eb2 --- /dev/null +++ b/src/starkware/cairo/bootloaders/applicative_bootloader/BUILD @@ -0,0 +1,22 @@ +load("//src/starkware/cairo/lang:cairo_rules.bzl", "cairo_binary", "cairo_library") + +cairo_library( + name = "applicative_bootloader_lib", + srcs = [ + "applicative_bootloader.cairo", + ], + deps = ["//src/starkware/cairo/bootloaders/bootloader:bootloader_lib"], +) + +cairo_binary( + name = "applicative_bootloader_program", + cairoopts = [ + "--debug_info_with_source", + "--proof_mode", + ], + compiled_program_name = "applicative_bootloader_compiled.json", + main = "applicative_bootloader.cairo", + deps = [":applicative_bootloader_lib"], +) + +package(default_visibility = ["//visibility:public"]) diff --git a/src/starkware/cairo/bootloaders/applicative_bootloader/applicative_bootloader.cairo b/src/starkware/cairo/bootloaders/applicative_bootloader/applicative_bootloader.cairo new file mode 100644 index 00000000..2c63ef10 --- /dev/null +++ b/src/starkware/cairo/bootloaders/applicative_bootloader/applicative_bootloader.cairo @@ -0,0 +1,185 @@ +%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon range_check96 add_mod mul_mod + +from starkware.cairo.bootloaders.bootloader.run_bootloader import run_bootloader +from starkware.cairo.bootloaders.simple_bootloader.run_simple_bootloader import ( + run_simple_bootloader, + verify_non_negative, +) +from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin +from starkware.cairo.common.hash import hash2 +from starkware.cairo.common.memcpy import memcpy +from starkware.cairo.common.registers import get_fp_and_pc + +const AGGREGATOR_CONSTANT = 'AGGREGATOR'; + +func main{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + range_check_ptr, + ecdsa_ptr, + bitwise_ptr, + ec_op_ptr, + keccak_ptr, + poseidon_ptr: PoseidonBuiltin*, + range_check96_ptr, + add_mod_ptr, + mul_mod_ptr, +}() { + ap += SIZEOF_LOCALS; + local task_range_check_ptr; + + // A pointer to the aggregator's task output. + local aggregator_output_ptr: felt*; + %{ + from starkware.cairo.bootloaders.applicative_bootloader.objects import ( + ApplicativeBootloaderInput, + ) + from starkware.cairo.bootloaders.simple_bootloader.objects import SimpleBootloaderInput + + # Create a segment for the aggregator output. + ids.aggregator_output_ptr = segments.add() + + # Load the applicative bootloader input and the aggregator task. + applicative_bootloader_input = ApplicativeBootloaderInput.Schema().load(program_input) + aggregator_task = applicative_bootloader_input.aggregator_task.load_task() + + # Create the simple bootloader input. + simple_bootloader_input = SimpleBootloaderInput( + tasks=[aggregator_task], fact_topologies_path=None, single_page=False + ) + + # Change output builtin state to a different segment in preparation for running the + # aggregator task. + applicative_output_builtin_state = output_builtin.get_state() + output_builtin.new_state(base=ids.aggregator_output_ptr) + %} + + // Save aggregator output start. + let aggregator_output_start: felt* = aggregator_output_ptr; + + // Execute the simple bootloader with the aggregator task. + run_simple_bootloader{output_ptr=aggregator_output_ptr}(); + local aggregator_output_end: felt* = aggregator_output_ptr; + + // Check that exactly one task was executed. + assert aggregator_output_start[0] = 1; + + // Extract the aggregator output size and program hash. + let aggregator_output_length = aggregator_output_start[1]; + assert aggregator_output_length = aggregator_output_end - aggregator_output_start - 1; + let aggregator_program_hash = aggregator_output_start[2]; + let aggregator_input_ptr = &aggregator_output_start[3]; + + // Allocate a segment for the bootloader output. + local bootloader_output_ptr: felt*; + %{ + from starkware.cairo.bootloaders.bootloader.objects import BootloaderInput + + # Save the aggregator's fact_topologies before running the bootloader. + aggregator_fact_topologies = fact_topologies + fact_topologies = [] + + # Create a segment for the bootloader output. + ids.bootloader_output_ptr = segments.add() + + # Create the bootloader input. + bootloader_input = BootloaderInput( + tasks=applicative_bootloader_input.tasks, + fact_topologies_path=None, + bootloader_config=applicative_bootloader_input.bootloader_config, + packed_outputs=applicative_bootloader_input.packed_outputs, + single_page=True, + ) + + # Change output builtin state to a different segment in preparation for running the + # bootloader. + output_builtin.new_state(base=ids.bootloader_output_ptr) + %} + + // Save the bootloader output start. + let bootloader_output_start = bootloader_output_ptr; + + // Execute the bootloader. + run_bootloader{output_ptr=bootloader_output_ptr}(); + local range_check_ptr = range_check_ptr; + local ecdsa_ptr = ecdsa_ptr; + local bitwise_ptr = bitwise_ptr; + local ec_op_ptr = ec_op_ptr; + local keccak_ptr = keccak_ptr; + local pedersen_ptr: HashBuiltin* = pedersen_ptr; + local poseidon_ptr: PoseidonBuiltin* = poseidon_ptr; + local range_check96_ptr = range_check96_ptr; + local add_mod_ptr = add_mod_ptr; + local mul_mod_ptr = mul_mod_ptr; + local bootloader_output_end: felt* = bootloader_output_ptr; + + %{ + # Restore the output builtin state. + output_builtin.set_state(applicative_output_builtin_state) + %} + + // Output: + // * The aggregator program hash, hashed with the word "AGGREGATOR". + // * The bootloader config: the simple bootloader hash and the hash of the list of the Cairo + // verifiers. + let (modified_aggregator_program_hash) = hash2{hash_ptr=pedersen_ptr}( + AGGREGATOR_CONSTANT, aggregator_program_hash + ); + local pedersen_ptr: HashBuiltin* = pedersen_ptr; + assert output_ptr[0] = modified_aggregator_program_hash; + // Copy the bootloader config. + assert output_ptr[1] = bootloader_output_start[0]; + assert output_ptr[2] = bootloader_output_start[1]; + let output_ptr = &output_ptr[3]; + let output_start = output_ptr; + + // Assert that the bootloader output agrees with the aggregator input. + let bootloader_tasks_output_ptr = &bootloader_output_start[2]; + let bootloader_tasks_output_length = bootloader_output_end - bootloader_tasks_output_ptr; + memcpy( + dst=aggregator_input_ptr, + src=bootloader_tasks_output_ptr, + len=bootloader_tasks_output_length, + ); + + // Output the aggregated output. + let aggregated_output_ptr = aggregator_input_ptr + bootloader_tasks_output_length; + let aggregated_output_length = aggregator_output_end - aggregated_output_ptr; + memcpy(dst=output_ptr, src=aggregated_output_ptr, len=aggregated_output_length); + let output_ptr = output_ptr + aggregated_output_length; + + %{ + from starkware.cairo.bootloaders.fact_topology import FactTopology + from starkware.cairo.bootloaders.simple_bootloader.utils import ( + configure_fact_topologies, + write_to_fact_topologies_file, + ) + + assert len(aggregator_fact_topologies) == 1 + # Subtract the bootloader output length from the first page's length. Note that the + # bootloader output is always fully contained in the first page. + original_first_page_length = aggregator_fact_topologies[0].page_sizes[0] + first_page_length = original_first_page_length - ids.bootloader_tasks_output_length + + # Update the first page's length to account for the bootloader output. + fact_topology = FactTopology( + tree_structure=aggregator_fact_topologies[0].tree_structure, + page_sizes=[first_page_length] + aggregator_fact_topologies[0].page_sizes[1:] + ) + + # Configure the memory pages in the output builtin, based on plain_fact_topologies. + configure_fact_topologies( + fact_topologies=[fact_topology], output_start=ids.output_start, + output_builtin=output_builtin, + ) + + # Dump fact topologies to a json file. + if applicative_bootloader_input.fact_topologies_path is not None: + write_to_fact_topologies_file( + fact_topologies_path=applicative_bootloader_input.fact_topologies_path, + fact_topologies=[fact_topology], + ) + %} + + return (); +} diff --git a/src/starkware/cairo/bootloaders/bootloader/BUILD b/src/starkware/cairo/bootloaders/bootloader/BUILD index 0fce223b..6934120e 100644 --- a/src/starkware/cairo/bootloaders/bootloader/BUILD +++ b/src/starkware/cairo/bootloaders/bootloader/BUILD @@ -1,9 +1,9 @@ load("//src/starkware/cairo/lang:cairo_rules.bzl", "cairo_binary", "cairo_library") cairo_library( - name = "bootloader_lib", + name = "run_bootloader_lib", srcs = [ - "bootloader.cairo", + "run_bootloader.cairo", "//src/starkware/cairo/bootloaders/simple_bootloader:execute_task.cairo", "//src/starkware/cairo/bootloaders/simple_bootloader:run_simple_bootloader.cairo", "//src/starkware/cairo/builtin_selection:inner_select_builtins.cairo", @@ -22,10 +22,19 @@ cairo_library( "//src/starkware/cairo/common:memcpy.cairo", "//src/starkware/cairo/common:poseidon_state.cairo", "//src/starkware/cairo/common:registers.cairo", + "//src/starkware/cairo/common:sha256_state.cairo", "//src/starkware/cairo/lang/compiler/lib:registers.cairo", ], ) +cairo_library( + name = "bootloader_lib", + srcs = [ + "bootloader.cairo", + ], + deps = [":run_bootloader_lib"], +) + cairo_binary( name = "bootloader_program", cairoopts = [ diff --git a/src/starkware/cairo/bootloaders/bootloader/bootloader.cairo b/src/starkware/cairo/bootloaders/bootloader/bootloader.cairo index cb9c781e..41fb5864 100644 --- a/src/starkware/cairo/bootloaders/bootloader/bootloader.cairo +++ b/src/starkware/cairo/bootloaders/bootloader/bootloader.cairo @@ -1,27 +1,8 @@ -%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon range_check96 +%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon range_check96 add_mod mul_mod -from starkware.cairo.bootloaders.simple_bootloader.run_simple_bootloader import ( - run_simple_bootloader, -) -from starkware.cairo.cairo_verifier.objects import CairoVerifierOutput -from starkware.cairo.common.builtin_poseidon.poseidon import poseidon_hash_many +from starkware.cairo.bootloaders.bootloader.run_bootloader import run_bootloader from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin -from starkware.cairo.common.find_element import find_element -from starkware.cairo.common.hash_state import hash_felts -from starkware.cairo.common.memcpy import memcpy - -struct BootloaderConfig { - // The hash of the simple bootloader program. - simple_bootloader_program_hash: felt, - // The hashes of the supported (Cairo) programs that verify a STARK proof for the Cairo machine. - supported_cairo_verifier_program_hashes_len: felt, - supported_cairo_verifier_program_hashes: felt*, -} - -struct TaskOutputHeader { - size: felt, - program_hash: felt, -} +from starkware.cairo.common.registers import get_fp_and_pc // Runs the simple bootloader on tasks and unpacks them to the output. // @@ -37,86 +18,16 @@ func main{ keccak_ptr, poseidon_ptr: PoseidonBuiltin*, range_check96_ptr, + add_mod_ptr, + mul_mod_ptr, }() { - ap += SIZEOF_LOCALS; - - local simple_bootloader_output_start: felt*; %{ from starkware.cairo.bootloaders.bootloader.objects import BootloaderInput bootloader_input = BootloaderInput.Schema().load(program_input) - - ids.simple_bootloader_output_start = segments.add() - - # Change output builtin state to a different segment in preparation for calling the - # simple bootloader. - output_builtin_state = output_builtin.get_state() - output_builtin.new_state(base=ids.simple_bootloader_output_start) - %} - - // Save segment's start. - let simple_bootloader_output_ptr: felt* = simple_bootloader_output_start; - - // Call the simple bootloader program to execute direct subtasks. Simple bootloader input is - // contained in the bootloader input. - %{ simple_bootloader_input = bootloader_input %} - run_simple_bootloader{output_ptr=simple_bootloader_output_ptr}(); - local range_check_ptr = range_check_ptr; - local ecdsa_ptr = ecdsa_ptr; - local bitwise_ptr = bitwise_ptr; - local ec_op_ptr = ec_op_ptr; - local keccak_ptr = keccak_ptr; - local poseidon_ptr: PoseidonBuiltin* = poseidon_ptr; - local range_check96_ptr = range_check96_ptr; - local simple_bootloader_output_end: felt* = simple_bootloader_output_ptr; - - %{ - # Restore the bootloader's output builtin state. - output_builtin.set_state(output_builtin_state) %} - local bootloader_config: BootloaderConfig*; - %{ - from starkware.cairo.bootloaders.bootloader.objects import BootloaderConfig - bootloader_config: BootloaderConfig = bootloader_input.bootloader_config - - ids.bootloader_config = segments.gen_arg( - [ - bootloader_config.simple_bootloader_program_hash, - len(bootloader_config.supported_cairo_verifier_program_hashes), - bootloader_config.supported_cairo_verifier_program_hashes, - ], - ) - %} - - // The bootloader config appears at the beginning of the output. - serialize_bootloader_config(bootloader_config=bootloader_config); - - // Increment output_ptr to save place for n_total_tasks. - local output_n_total_tasks_ptr: felt* = output_ptr; - let output_ptr = output_ptr + 1; - %{ output_start = ids.output_ptr %} - - let simple_bootloader_output_ptr = simple_bootloader_output_start; - - // Skip n_subtasks in the simple bootloader output. - let n_subtasks = [simple_bootloader_output_ptr]; - let simple_bootloader_output_ptr = simple_bootloader_output_ptr + 1; - - // Parse outputs recursively and write it to the output builtin. - let n_total_tasks: felt = 0; - %{ packed_outputs = bootloader_input.packed_outputs %} - with simple_bootloader_output_ptr, n_total_tasks { - parse_tasks{subtasks_output=simple_bootloader_output_ptr}( - bootloader_config=bootloader_config, n_subtasks=n_subtasks - ); - } - - // Assert that parse_tasks used the entire output of the simple bootloader. - let parse_tasks_end = simple_bootloader_output_ptr; - assert simple_bootloader_output_end = parse_tasks_end; - - // Output the total number of tasks. - assert [output_n_total_tasks_ptr] = n_total_tasks; + // Execute bootloader. + run_bootloader(); %{ from typing import List @@ -149,209 +60,3 @@ func main{ %} return (); } - -// Unpacks composite packed outputs recursively and writes each task's plain output to the output -// builtin. -// -// Arguments: -// n_subtasks - Number of direct subtasks to unfold. -// bootloader_config. -// -// Hint arguments: -// packed_outputs - PackedOutput object that stores the task tree structure. -// -// Implicit arguments: -// n_total_tasks - Number of PlainPackedOutput that were unpacked. This function increments this -// value for each unpacked output. -// subtasks_output - Contains direct subtasks outputs which is used for unpacking. This is an input -// to this function and is returned for validation purposes. -func parse_tasks{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - poseidon_ptr: PoseidonBuiltin*, - range_check_ptr, - n_total_tasks: felt, - subtasks_output: felt*, -}(bootloader_config: BootloaderConfig*, n_subtasks: felt) { - if (n_subtasks == 0) { - return (); - } - - ap += SIZEOF_LOCALS; - - %{ - from starkware.cairo.bootloaders.bootloader.objects import PackedOutput - - task_id = len(packed_outputs) - ids.n_subtasks - packed_output: PackedOutput = packed_outputs[task_id] - - vm_enter_scope(new_scope_locals=dict(packed_output=packed_output)) - %} - - %{ - from starkware.cairo.bootloaders.bootloader.objects import ( - CompositePackedOutput, - PlainPackedOutput, - ) - %} - - if (nondet %{ isinstance(packed_output, PlainPackedOutput) %} != 0) { - // Handle plain packed task. - unpack_plain_packed_task{task_output=subtasks_output}(bootloader_config=bootloader_config); - } else { - // Handle composite packed task. - %{ assert isinstance(packed_output, CompositePackedOutput) %} - unpack_composite_packed_task{task_output=subtasks_output}( - bootloader_config=bootloader_config - ); - } - - %{ vm_exit_scope() %} - - // Call recursively for handling the other tasks. - return parse_tasks(bootloader_config=bootloader_config, n_subtasks=n_subtasks - 1); -} - -// Serializes the bootloader config. -// -// Arguments: -// bootloader_config - A pointer to the bootloader config. -func serialize_bootloader_config{output_ptr: felt*, pedersen_ptr: HashBuiltin*}( - bootloader_config: BootloaderConfig* -) { - assert [output_ptr] = bootloader_config.simple_bootloader_program_hash; - - // Compute the hash of the supported Cairo verifiers. - let (supported_cairo_verifiers_hash) = hash_felts{hash_ptr=pedersen_ptr}( - data=bootloader_config.supported_cairo_verifier_program_hashes, - length=bootloader_config.supported_cairo_verifier_program_hashes_len, - ); - - assert [output_ptr + 1] = supported_cairo_verifiers_hash; - let output_ptr = output_ptr + 2; - return (); -} - -// Parses the task header. -// -// Implicit arguments: -// task_output - A pointer to the output of the plain packed task. Assumes that task_output is of -// the following format: (task_header, output). -func parse_task_header{task_output: felt*}() -> (task_header: TaskOutputHeader*) { - let task_header = cast(task_output, TaskOutputHeader*); - let task_output = task_output + TaskOutputHeader.SIZE; - return (task_header=task_header); -} - -// Unpacks a composite packed task output. -// -// Arguments: -// bootloader_config. -// -// Implicit arguments: -// task_output - A pointer to the output of the composite packed task. task_output should be of the -// following format: -// (output_len, cairo_verifier_program_hash, simple_bootloader_program_hash, output_hash). -// n_total_tasks - Number of PlainPackedOutput that were unpacked. -// -// Hint arguments: -// packed_output - CompositePackedOutput object which uses for unpacking the task. -func unpack_composite_packed_task{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - poseidon_ptr: PoseidonBuiltin*, - range_check_ptr, - n_total_tasks: felt, - task_output: felt*, -}(bootloader_config: BootloaderConfig*) { - ap += SIZEOF_LOCALS; - - // Guess the pre-image of subtasks_output_hash (subtasks_output_hash appears in task_output). - local nested_subtasks_output: felt*; - local nested_subtasks_output_len; - %{ - data = packed_output.elements_for_hash() - ids.nested_subtasks_output_len = len(data) - ids.nested_subtasks_output = segments.gen_arg(data) - %} - - // Compute the hash of nested_subtasks_output. - let (subtasks_output_hash: felt) = poseidon_hash_many( - n=nested_subtasks_output_len, elements=nested_subtasks_output - ); - - // Verify task output header. - let (task_header: TaskOutputHeader*) = parse_task_header(); - assert task_header.size = TaskOutputHeader.SIZE + CairoVerifierOutput.SIZE; - - // Make sure the program hash is one of the supported verifier program hashes. - find_element( - array_ptr=bootloader_config.supported_cairo_verifier_program_hashes, - elm_size=1, - n_elms=bootloader_config.supported_cairo_verifier_program_hashes_len, - key=task_header.program_hash, - ); - - // Verify task output. - assert [cast(task_output, CairoVerifierOutput*)] = CairoVerifierOutput( - program_hash=bootloader_config.simple_bootloader_program_hash, - output_hash=subtasks_output_hash, - ); - local task_output: felt* = task_output + CairoVerifierOutput.SIZE; - - // Call recursively to parse the composite task's subtasks. - local nested_subtasks_output_start: felt* = nested_subtasks_output; - let n_subtasks = [nested_subtasks_output]; - let nested_subtasks_output = nested_subtasks_output + 1; - %{ packed_outputs = packed_output.subtasks %} - with nested_subtasks_output { - parse_tasks{subtasks_output=nested_subtasks_output}( - bootloader_config=bootloader_config, n_subtasks=n_subtasks - ); - } - - // Assert that the entire subtask output was used. - assert nested_subtasks_output = nested_subtasks_output_start + nested_subtasks_output_len; - return (); -} - -// Unpacks a plain packed task output to the output builtin. -// -// Arguments: -// bootloader_config. -// -// Implicit arguments: -// task_output - A pointer to the output of the plain packed task. Assumes that task_output is of -// the following format: (output_len, cairo_verifier_program_hash, *output). -// n_total_tasks - Number of PlainPackedOutput that were unpacked. This function increments this -// value by 1. -func unpack_plain_packed_task{ - output_ptr: felt*, - pedersen_ptr: HashBuiltin*, - poseidon_ptr: PoseidonBuiltin*, - range_check_ptr, - n_total_tasks: felt, - task_output: felt*, -}(bootloader_config: BootloaderConfig*) { - ap += SIZEOF_LOCALS; - - // Parse task output header. - let (task_header: TaskOutputHeader*) = parse_task_header(); - local task_output: felt* = task_output; - - // Copy the simple bootloader output header to the bootloader output. - assert [cast(output_ptr, TaskOutputHeader*)] = [task_header]; - - // Increment output pointer. - let output_ptr = output_ptr + TaskOutputHeader.SIZE; - - // Copy the program output to the bootloader output. - local output_size = task_header.size - TaskOutputHeader.SIZE; - memcpy(dst=output_ptr, src=task_output, len=output_size); - - // Increment pointers. - let output_ptr = output_ptr + output_size; - let task_output = task_output + output_size; - let n_total_tasks = n_total_tasks + 1; - return (); -} diff --git a/src/starkware/cairo/bootloaders/bootloader/run_bootloader.cairo b/src/starkware/cairo/bootloaders/bootloader/run_bootloader.cairo new file mode 100644 index 00000000..ea24d81d --- /dev/null +++ b/src/starkware/cairo/bootloaders/bootloader/run_bootloader.cairo @@ -0,0 +1,327 @@ +from starkware.cairo.bootloaders.simple_bootloader.run_simple_bootloader import ( + run_simple_bootloader, +) +from starkware.cairo.cairo_verifier.objects import CairoVerifierOutput +from starkware.cairo.common.builtin_poseidon.poseidon import poseidon_hash_many +from starkware.cairo.common.cairo_builtins import HashBuiltin, PoseidonBuiltin +from starkware.cairo.common.find_element import find_element +from starkware.cairo.common.hash_state import hash_felts +from starkware.cairo.common.memcpy import memcpy + +struct BootloaderConfig { + // The hash of the simple bootloader program. + simple_bootloader_program_hash: felt, + // The hashes of the supported (Cairo) programs that verify a STARK proof for the Cairo machine. + supported_cairo_verifier_program_hashes_len: felt, + supported_cairo_verifier_program_hashes: felt*, +} + +struct TaskOutputHeader { + size: felt, + program_hash: felt, +} + +// Runs the simple bootloader on tasks and unpacks them to the output. +// +// Hint arguments: +// bootloader_input - contains the tasks to execute, and the packed outputs. +func run_bootloader{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + range_check_ptr, + ecdsa_ptr, + bitwise_ptr, + ec_op_ptr, + keccak_ptr, + poseidon_ptr: PoseidonBuiltin*, + range_check96_ptr, + add_mod_ptr, + mul_mod_ptr, +}() { + ap += SIZEOF_LOCALS; + + local simple_bootloader_output_start: felt*; + %{ + ids.simple_bootloader_output_start = segments.add() + + # Change output builtin state to a different segment in preparation for calling the + # simple bootloader. + output_builtin_state = output_builtin.get_state() + output_builtin.new_state(base=ids.simple_bootloader_output_start) + %} + + // Save segment's start. + let simple_bootloader_output_ptr: felt* = simple_bootloader_output_start; + + // Call the simple bootloader program to execute direct subtasks. Simple bootloader input is + // contained in the bootloader input. + %{ simple_bootloader_input = bootloader_input %} + run_simple_bootloader{output_ptr=simple_bootloader_output_ptr}(); + local range_check_ptr = range_check_ptr; + local ecdsa_ptr = ecdsa_ptr; + local bitwise_ptr = bitwise_ptr; + local ec_op_ptr = ec_op_ptr; + local keccak_ptr = keccak_ptr; + local poseidon_ptr: PoseidonBuiltin* = poseidon_ptr; + local range_check96_ptr = range_check96_ptr; + local add_mod_ptr = add_mod_ptr; + local mul_mod_ptr = mul_mod_ptr; + local simple_bootloader_output_end: felt* = simple_bootloader_output_ptr; + + %{ + # Restore the bootloader's output builtin state. + output_builtin.set_state(output_builtin_state) + %} + + local bootloader_config: BootloaderConfig*; + %{ + from starkware.cairo.bootloaders.bootloader.objects import BootloaderConfig + bootloader_config: BootloaderConfig = bootloader_input.bootloader_config + + ids.bootloader_config = segments.gen_arg( + [ + bootloader_config.simple_bootloader_program_hash, + len(bootloader_config.supported_cairo_verifier_program_hashes), + bootloader_config.supported_cairo_verifier_program_hashes, + ], + ) + %} + + // The bootloader config appears at the beginning of the output. + serialize_bootloader_config(bootloader_config=bootloader_config); + + // Increment output_ptr to save place for n_total_tasks. + local output_n_total_tasks_ptr: felt* = output_ptr; + let output_ptr = output_ptr + 1; + %{ output_start = ids.output_ptr %} + + let simple_bootloader_output_ptr = simple_bootloader_output_start; + + // Skip n_subtasks in the simple bootloader output. + let n_subtasks = [simple_bootloader_output_ptr]; + let simple_bootloader_output_ptr = simple_bootloader_output_ptr + 1; + + // Parse outputs recursively and write it to the output builtin. + let n_total_tasks: felt = 0; + %{ packed_outputs = bootloader_input.packed_outputs %} + with simple_bootloader_output_ptr, n_total_tasks { + parse_tasks{subtasks_output=simple_bootloader_output_ptr}( + bootloader_config=bootloader_config, n_subtasks=n_subtasks + ); + } + + // Assert that parse_tasks used the entire output of the simple bootloader. + let parse_tasks_end = simple_bootloader_output_ptr; + assert simple_bootloader_output_end = parse_tasks_end; + + // Output the total number of tasks. + assert [output_n_total_tasks_ptr] = n_total_tasks; + + return (); +} + +// Unpacks composite packed outputs recursively and writes each task's plain output to the output +// builtin. +// +// Arguments: +// n_subtasks - Number of direct subtasks to unfold. +// bootloader_config. +// +// Hint arguments: +// packed_outputs - PackedOutput object that stores the task tree structure. +// +// Implicit arguments: +// n_total_tasks - Number of PlainPackedOutput that were unpacked. This function increments this +// value for each unpacked output. +// subtasks_output - Contains direct subtasks outputs which is used for unpacking. This is an input +// to this function and is returned for validation purposes. +func parse_tasks{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + poseidon_ptr: PoseidonBuiltin*, + range_check_ptr, + n_total_tasks: felt, + subtasks_output: felt*, +}(bootloader_config: BootloaderConfig*, n_subtasks: felt) { + if (n_subtasks == 0) { + return (); + } + + ap += SIZEOF_LOCALS; + + %{ + from starkware.cairo.bootloaders.bootloader.objects import PackedOutput + + task_id = len(packed_outputs) - ids.n_subtasks + packed_output: PackedOutput = packed_outputs[task_id] + + vm_enter_scope(new_scope_locals=dict(packed_output=packed_output)) + %} + + %{ + from starkware.cairo.bootloaders.bootloader.objects import ( + CompositePackedOutput, + PlainPackedOutput, + ) + %} + + if (nondet %{ isinstance(packed_output, PlainPackedOutput) %} != 0) { + // Handle plain packed task. + unpack_plain_packed_task{task_output=subtasks_output}(bootloader_config=bootloader_config); + } else { + // Handle composite packed task. + %{ assert isinstance(packed_output, CompositePackedOutput) %} + unpack_composite_packed_task{task_output=subtasks_output}( + bootloader_config=bootloader_config + ); + } + + %{ vm_exit_scope() %} + + // Call recursively for handling the other tasks. + return parse_tasks(bootloader_config=bootloader_config, n_subtasks=n_subtasks - 1); +} + +// Serializes the bootloader config. +// +// Arguments: +// bootloader_config - A pointer to the bootloader config. +func serialize_bootloader_config{output_ptr: felt*, pedersen_ptr: HashBuiltin*}( + bootloader_config: BootloaderConfig* +) { + assert [output_ptr] = bootloader_config.simple_bootloader_program_hash; + + // Compute the hash of the supported Cairo verifiers. + let (supported_cairo_verifiers_hash) = hash_felts{hash_ptr=pedersen_ptr}( + data=bootloader_config.supported_cairo_verifier_program_hashes, + length=bootloader_config.supported_cairo_verifier_program_hashes_len, + ); + + assert [output_ptr + 1] = supported_cairo_verifiers_hash; + let output_ptr = output_ptr + 2; + return (); +} + +// Parses the task header. +// +// Implicit arguments: +// task_output - A pointer to the output of the plain packed task. Assumes that task_output is of +// the following format: (task_header, output). +func parse_task_header{task_output: felt*}() -> (task_header: TaskOutputHeader*) { + let task_header = cast(task_output, TaskOutputHeader*); + let task_output = task_output + TaskOutputHeader.SIZE; + return (task_header=task_header); +} + +// Unpacks a composite packed task output. +// +// Arguments: +// bootloader_config. +// +// Implicit arguments: +// task_output - A pointer to the output of the composite packed task. task_output should be of the +// following format: +// (output_len, cairo_verifier_program_hash, simple_bootloader_program_hash, output_hash). +// n_total_tasks - Number of PlainPackedOutput that were unpacked. +// +// Hint arguments: +// packed_output - CompositePackedOutput object which uses for unpacking the task. +func unpack_composite_packed_task{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + poseidon_ptr: PoseidonBuiltin*, + range_check_ptr, + n_total_tasks: felt, + task_output: felt*, +}(bootloader_config: BootloaderConfig*) { + ap += SIZEOF_LOCALS; + + // Guess the pre-image of subtasks_output_hash (subtasks_output_hash appears in task_output). + local nested_subtasks_output: felt*; + local nested_subtasks_output_len; + %{ + data = packed_output.elements_for_hash() + ids.nested_subtasks_output_len = len(data) + ids.nested_subtasks_output = segments.gen_arg(data) + %} + + // Compute the hash of nested_subtasks_output. + let (subtasks_output_hash: felt) = poseidon_hash_many( + n=nested_subtasks_output_len, elements=nested_subtasks_output + ); + + // Verify task output header. + let (task_header: TaskOutputHeader*) = parse_task_header(); + assert task_header.size = TaskOutputHeader.SIZE + CairoVerifierOutput.SIZE; + + // Make sure the program hash is one of the supported verifier program hashes. + find_element( + array_ptr=bootloader_config.supported_cairo_verifier_program_hashes, + elm_size=1, + n_elms=bootloader_config.supported_cairo_verifier_program_hashes_len, + key=task_header.program_hash, + ); + + // Verify task output. + assert [cast(task_output, CairoVerifierOutput*)] = CairoVerifierOutput( + program_hash=bootloader_config.simple_bootloader_program_hash, + output_hash=subtasks_output_hash, + ); + local task_output: felt* = task_output + CairoVerifierOutput.SIZE; + + // Call recursively to parse the composite task's subtasks. + local nested_subtasks_output_start: felt* = nested_subtasks_output; + let n_subtasks = [nested_subtasks_output]; + let nested_subtasks_output = nested_subtasks_output + 1; + %{ packed_outputs = packed_output.subtasks %} + with nested_subtasks_output { + parse_tasks{subtasks_output=nested_subtasks_output}( + bootloader_config=bootloader_config, n_subtasks=n_subtasks + ); + } + + // Assert that the entire subtask output was used. + assert nested_subtasks_output = nested_subtasks_output_start + nested_subtasks_output_len; + return (); +} + +// Unpacks a plain packed task output to the output builtin. +// +// Arguments: +// bootloader_config. +// +// Implicit arguments: +// task_output - A pointer to the output of the plain packed task. Assumes that task_output is of +// the following format: (output_len, cairo_verifier_program_hash, *output). +// n_total_tasks - Number of PlainPackedOutput that were unpacked. This function increments this +// value by 1. +func unpack_plain_packed_task{ + output_ptr: felt*, + pedersen_ptr: HashBuiltin*, + poseidon_ptr: PoseidonBuiltin*, + range_check_ptr, + n_total_tasks: felt, + task_output: felt*, +}(bootloader_config: BootloaderConfig*) { + ap += SIZEOF_LOCALS; + + // Parse task output header. + let (task_header: TaskOutputHeader*) = parse_task_header(); + local task_output: felt* = task_output; + + // Copy the simple bootloader output header to the bootloader output. + assert [cast(output_ptr, TaskOutputHeader*)] = [task_header]; + + // Increment output pointer. + let output_ptr = output_ptr + TaskOutputHeader.SIZE; + + // Copy the program output to the bootloader output. + local output_size = task_header.size - TaskOutputHeader.SIZE; + memcpy(dst=output_ptr, src=task_output, len=output_size); + + // Increment pointers. + let output_ptr = output_ptr + output_size; + let task_output = task_output + output_size; + let n_total_tasks = n_total_tasks + 1; + return (); +} diff --git a/src/starkware/cairo/bootloaders/generate_fact.py b/src/starkware/cairo/bootloaders/generate_fact.py index 0428b268..c4de8315 100644 --- a/src/starkware/cairo/bootloaders/generate_fact.py +++ b/src/starkware/cairo/bootloaders/generate_fact.py @@ -1,5 +1,10 @@ +import dataclasses from typing import List, Optional +from starkware.cairo.bootloaders.aggregator_utils import ( + add_aggregator_prefix, + get_aggregator_input_size, +) from starkware.cairo.bootloaders.compute_fact import generate_program_fact from starkware.cairo.bootloaders.fact_topology import ( FactInfo, @@ -29,7 +34,9 @@ def verify_int(x: MaybeRelocatable) -> int: ] -def get_cairo_pie_fact_info(cairo_pie: CairoPie, program_hash: Optional[int] = None) -> FactInfo: +def get_cairo_pie_fact_info( + cairo_pie: CairoPie, program_hash: Optional[int] = None, aggregator: bool = False +) -> FactInfo: """ Generates the fact of the Cairo program of cairo_pie. Returns the cairo-pie fact info. """ @@ -38,8 +45,29 @@ def get_cairo_pie_fact_info(cairo_pie: CairoPie, program_hash: Optional[int] = N output_size=len(program_output), output_builtin_additional_data=cairo_pie.additional_data["output_builtin"], ) + if program_hash is None: program_hash = get_program_hash(cairo_pie) + + if aggregator: + # The aggregator program output is composed of the aggregator input (output of the + # bootloader) and the actual output. + # The fact is computed based on the actual output, where the aggregator input is ignored. + aggregator_input_size = get_aggregator_input_size(program_output=program_output) + program_output = program_output[aggregator_input_size:] + assert ( + fact_topology.page_sizes[0] >= aggregator_input_size + ), "Aggregator input must be contained in page 0." + # Subtract the aggregator input size from the size of page 0. + fact_topology = dataclasses.replace( + fact_topology, + page_sizes=[ + fact_topology.page_sizes[0] - aggregator_input_size, + *fact_topology.page_sizes[1:], + ], + ) + program_hash = add_aggregator_prefix(program_hash) + fact = generate_program_fact(program_hash, program_output, fact_topology=fact_topology) return FactInfo(program_output=program_output, fact_topology=fact_topology, fact=fact) diff --git a/src/starkware/cairo/bootloaders/program_hash_test_utils.py b/src/starkware/cairo/bootloaders/program_hash_test_utils.py index 1b29a161..23158312 100644 --- a/src/starkware/cairo/bootloaders/program_hash_test_utils.py +++ b/src/starkware/cairo/bootloaders/program_hash_test_utils.py @@ -1,27 +1,51 @@ import json +from typing import Any, Callable, Optional from starkware.cairo.bootloaders.hash_program import compute_program_hash_chain from starkware.cairo.lang.compiler.program import Program -def run_generate_hash_test(fix: bool, program_path: str, hash_path: str, command: str): +def run_generate_hash_test( + fix: bool, + program_path: str, + hash_path: str, + command: str, + post_process: Optional[Callable[[Any], Any]] = None, +): + """ + Compares the JSON content of 'hash_path' with the program hash of the given program. + If post_process is given, it may add additional fields to the expected JSON. + """ compiled_program = Program.Schema().load(json.load(open(program_path))) program_hash = hex(compute_program_hash_chain(program=compiled_program, use_poseidon=False)) program_hash_key = "program_hash" + expected_json = {program_hash_key: program_hash} + if post_process is not None: + expected_json = post_process(expected_json) + if fix: with open(hash_path, "w") as fp: - fp.write(json.dumps({program_hash_key: program_hash}, indent=4) + "\n") + fp.write(json.dumps(expected_json, indent=4) + "\n") return - expected_hash = json.load(open(hash_path))[program_hash_key] - assert expected_hash == program_hash, ( - f"Wrong program hash in program_hash.json. Found: {program_hash}. " - f"Expected: {expected_hash}. Please run {command}." + with open(hash_path) as fp: + actual_json = json.load(fp) + assert expected_json == actual_json, ( + "Wrong value in program_hash.json. Found:\n" + f"{json.dumps(actual_json, indent=4)}\n" + "Expected:\n" + f"{json.dumps(expected_json, indent=4)}\n" + f"Please run {command}." ) -def program_hash_test_main(program_path: str, hash_path: str, command: str): +def program_hash_test_main( + program_path: str, + hash_path: str, + command: str, + post_process: Optional[Callable[[Any], Any]] = None, +): import argparse parser = argparse.ArgumentParser(description="Create or test the program hash.") @@ -29,5 +53,9 @@ def program_hash_test_main(program_path: str, hash_path: str, command: str): args = parser.parse_args() run_generate_hash_test( - fix=args.fix, program_path=program_path, hash_path=hash_path, command=command + fix=args.fix, + program_path=program_path, + hash_path=hash_path, + command=command, + post_process=post_process, ) diff --git a/src/starkware/cairo/bootloaders/simple_bootloader/BUILD b/src/starkware/cairo/bootloaders/simple_bootloader/BUILD index 7dc92c13..3c2a089f 100644 --- a/src/starkware/cairo/bootloaders/simple_bootloader/BUILD +++ b/src/starkware/cairo/bootloaders/simple_bootloader/BUILD @@ -15,6 +15,7 @@ cairo_library( "//src/starkware/cairo/common:keccak_state.cairo", "//src/starkware/cairo/common:poseidon_state.cairo", "//src/starkware/cairo/common:registers.cairo", + "//src/starkware/cairo/common:sha256_state.cairo", ], ) diff --git a/src/starkware/cairo/bootloaders/simple_bootloader/execute_task.cairo b/src/starkware/cairo/bootloaders/simple_bootloader/execute_task.cairo index 7a5724d6..3535809b 100644 --- a/src/starkware/cairo/bootloaders/simple_bootloader/execute_task.cairo +++ b/src/starkware/cairo/bootloaders/simple_bootloader/execute_task.cairo @@ -34,6 +34,8 @@ struct BuiltinData { keccak: felt, poseidon: felt, range_check96: felt, + add_mod: felt, + mul_mod: felt, } // Computes the hash of a program. @@ -137,6 +139,8 @@ func execute_task{builtin_ptrs: BuiltinData*, self_range_check_ptr}( keccak=input_builtin_ptrs.keccak, poseidon=cast(poseidon_ptr, felt), range_check96=input_builtin_ptrs.range_check96, + add_mod=input_builtin_ptrs.add_mod, + mul_mod=input_builtin_ptrs.mul_mod, ); // Call select_input_builtins to get the relevant input builtin pointers for the task. diff --git a/src/starkware/cairo/bootloaders/simple_bootloader/run_simple_bootloader.cairo b/src/starkware/cairo/bootloaders/simple_bootloader/run_simple_bootloader.cairo index cde33e2e..701bcb9d 100644 --- a/src/starkware/cairo/bootloaders/simple_bootloader/run_simple_bootloader.cairo +++ b/src/starkware/cairo/bootloaders/simple_bootloader/run_simple_bootloader.cairo @@ -20,6 +20,8 @@ func run_simple_bootloader{ keccak_ptr, poseidon_ptr: PoseidonBuiltin*, range_check96_ptr, + add_mod_ptr, + mul_mod_ptr, }() { alloc_locals; local task_range_check_ptr; @@ -51,6 +53,8 @@ func run_simple_bootloader{ keccak=keccak_ptr, poseidon=cast(poseidon_ptr, felt), range_check96=range_check96_ptr, + add_mod=add_mod_ptr, + mul_mod=mul_mod_ptr, ); // A struct containing the encoding of each builtin. @@ -64,6 +68,8 @@ func run_simple_bootloader{ keccak='keccak', poseidon='poseidon', range_check96='range_check96', + add_mod='add_mod', + mul_mod='mul_mod', ); local builtin_instance_sizes: BuiltinData = BuiltinData( @@ -76,6 +82,8 @@ func run_simple_bootloader{ keccak=16, poseidon=6, range_check96=1, + add_mod=7, + mul_mod=7, ); // Call execute_tasks. @@ -106,6 +114,8 @@ func run_simple_bootloader{ let keccak_ptr = builtin_ptrs.keccak; let poseidon_ptr = cast(builtin_ptrs.poseidon, PoseidonBuiltin*); let range_check96_ptr = builtin_ptrs.range_check96; + let add_mod_ptr = builtin_ptrs.add_mod; + let mul_mod_ptr = builtin_ptrs.mul_mod; // 'execute_tasks' runs untrusted code and uses the range_check builtin to verify that // the builtin pointers were advanced correctly by said code. diff --git a/src/starkware/cairo/bootloaders/simple_bootloader/simple_bootloader.cairo b/src/starkware/cairo/bootloaders/simple_bootloader/simple_bootloader.cairo index 915d7dbe..d58d6beb 100644 --- a/src/starkware/cairo/bootloaders/simple_bootloader/simple_bootloader.cairo +++ b/src/starkware/cairo/bootloaders/simple_bootloader/simple_bootloader.cairo @@ -1,4 +1,4 @@ -%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon range_check96 +%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon range_check96 add_mod mul_mod from starkware.cairo.bootloaders.simple_bootloader.run_simple_bootloader import ( run_simple_bootloader, @@ -16,6 +16,8 @@ func main{ keccak_ptr, poseidon_ptr: PoseidonBuiltin*, range_check96_ptr, + add_mod_ptr, + mul_mod_ptr, }() { %{ from starkware.cairo.bootloaders.simple_bootloader.objects import SimpleBootloaderInput diff --git a/src/starkware/cairo/builtin_selection/validate_builtins_test.py b/src/starkware/cairo/builtin_selection/validate_builtins_test.py index 8445a041..a3922fda 100644 --- a/src/starkware/cairo/builtin_selection/validate_builtins_test.py +++ b/src/starkware/cairo/builtin_selection/validate_builtins_test.py @@ -39,6 +39,7 @@ def test_validate_builtins(old_builtins, new_builtins, builtin_instance_sizes, e name="range_check", included=True, ratio=None, + ratio_den=1, inner_rc_bound=2**16, n_parts=small_instance.builtins["range_check"].n_parts, ) diff --git a/src/starkware/cairo/cairo_verifier/layouts/all_cairo/cairo_verifier.cairo b/src/starkware/cairo/cairo_verifier/layouts/all_cairo/cairo_verifier.cairo index 499260a4..f52c11fb 100644 --- a/src/starkware/cairo/cairo_verifier/layouts/all_cairo/cairo_verifier.cairo +++ b/src/starkware/cairo/cairo_verifier/layouts/all_cairo/cairo_verifier.cairo @@ -25,7 +25,7 @@ const INITIAL_PC = 1; // See verify_stack() for more detail. func get_program_builtins() -> (n_builtins: felt, builtins: felt*) { let (builtins_address) = get_label_location(data); - let n_builtins = 9; + let n_builtins = 11; assert builtins_address[n_builtins] = 0; return (n_builtins=n_builtins, builtins=builtins_address); @@ -39,6 +39,8 @@ func get_program_builtins() -> (n_builtins: felt, builtins: felt*) { dw 'keccak'; dw 'poseidon'; dw 'range_check96'; + dw 'add_mod'; + dw 'mul_mod'; dw 0; } diff --git a/src/starkware/cairo/cairo_verifier/layouts/all_cairo/program_hash.json b/src/starkware/cairo/cairo_verifier/layouts/all_cairo/program_hash.json index 4cefde11..b0aed7f5 100644 --- a/src/starkware/cairo/cairo_verifier/layouts/all_cairo/program_hash.json +++ b/src/starkware/cairo/cairo_verifier/layouts/all_cairo/program_hash.json @@ -1,3 +1,3 @@ { - "program_hash": "0x10b7f3f384982a69463a1c792cc943351d93b60d11b7fdb4a1b8e9b49753666" + "program_hash": "0x2dc3398dda59a9abd48a67c6cdf7f73f685f242bc320f6ca0c1b68eac925df0" } diff --git a/src/starkware/cairo/common/BUILD b/src/starkware/cairo/common/BUILD index 9350b19d..299c9320 100644 --- a/src/starkware/cairo/common/BUILD +++ b/src/starkware/cairo/common/BUILD @@ -28,6 +28,7 @@ cairo_library( "memset.cairo", "merkle_multi_update.cairo", "merkle_update.cairo", + "modulo.cairo", "patricia.cairo", "patricia_utils.cairo", "patricia_with_poseidon.cairo", @@ -38,6 +39,7 @@ cairo_library( "segments.cairo", "serialize.cairo", "set.cairo", + "sha256_state.cairo", "signature.cairo", "small_merkle_tree.cairo", "sponge_as_hash.cairo", @@ -50,8 +52,14 @@ cairo_library( "//src/starkware/cairo/common/cairo_blake2s:packed_blake2s.cairo", "//src/starkware/cairo/common/cairo_keccak:keccak.cairo", "//src/starkware/cairo/common/cairo_keccak:packed_keccak.cairo", + "//src/starkware/cairo/common/cairo_sha256:sha256_utils.cairo", "//src/starkware/cairo/common/keccak_utils:keccak_utils.cairo", ] + CAIRO_COMMON_LIB_ADDITIONAL_FILES, + hint_deps = [ + "//src/starkware/crypto:starkware_crypto_lib", + "//src/starkware/python:starkware_python_utils_lib", + requirement("eth_hash"), + ], deps = [ "//src/starkware/cairo/common/cairo_secp:cairo_secp256k1", "//src/starkware/cairo/common/secp256r1:cairo_secp256r1", diff --git a/src/starkware/cairo/common/cairo_builtins.cairo b/src/starkware/cairo/common/cairo_builtins.cairo index f996e96c..f7ee24f7 100644 --- a/src/starkware/cairo/common/cairo_builtins.cairo +++ b/src/starkware/cairo/common/cairo_builtins.cairo @@ -43,3 +43,25 @@ struct PoseidonBuiltin { input: PoseidonBuiltinState, output: PoseidonBuiltinState, } + +// Represents a 384-bit unsigned integer d0 + 2**96 * d1 + 2**192 * d2 + 2**288 * d3 +// where each di is in [0, 2**96). +struct UInt384 { + d0: felt, + d1: felt, + d2: felt, + d3: felt, +} + +// Specifies the Add and Mul Mod builtins memory structure. +struct ModBuiltin { + // The modulus. + p: UInt384, + // A pointer to input values, the intermediate results and the output. + values_ptr: UInt384*, + // A pointer to offsets inside the values array, defining the circuit. + // The offsets array should contain 3 * n elements. + offsets_ptr: felt*, + // The number of operations to perform. + n: felt, +} diff --git a/src/starkware/cairo/common/cairo_function_runner.py b/src/starkware/cairo/common/cairo_function_runner.py index a9a745ee..a51afcfd 100644 --- a/src/starkware/cairo/common/cairo_function_runner.py +++ b/src/starkware/cairo/common/cairo_function_runner.py @@ -9,6 +9,11 @@ from starkware.cairo.lang.builtins.hash.hash_builtin_runner import HashBuiltinRunner from starkware.cairo.lang.builtins.keccak.instance_def import KeccakInstanceDef from starkware.cairo.lang.builtins.keccak.keccak_builtin_runner import KeccakBuiltinRunner +from starkware.cairo.lang.builtins.modulo.instance_def import AddModInstanceDef, MulModInstanceDef +from starkware.cairo.lang.builtins.modulo.mod_builtin_runner import ( + AddModBuiltinRunner, + MulModBuiltinRunner, +) from starkware.cairo.lang.builtins.poseidon.instance_def import PoseidonInstanceDef from starkware.cairo.lang.builtins.poseidon.poseidon_builtin_runner import PoseidonBuiltinRunner from starkware.cairo.lang.builtins.range_check.range_check_builtin_runner import ( @@ -37,7 +42,12 @@ def __init__(self, *args, **kwargs): ) self.builtin_runners["pedersen_builtin"] = pedersen_builtin range_check_builtin = RangeCheckBuiltinRunner( - name="range_check", included=True, ratio=1, inner_rc_bound=2**16, n_parts=8 + name="range_check", + included=True, + ratio=1, + ratio_den=1, + inner_rc_bound=2**16, + n_parts=8, ) self.builtin_runners["range_check_builtin"] = range_check_builtin output_builtin = OutputBuiltinRunner(included=True) @@ -82,9 +92,28 @@ def __init__(self, *args, **kwargs): ) self.builtin_runners["poseidon_builtin"] = poseidon_builtin range_check96_builtin = RangeCheckBuiltinRunner( - name="range_check96", included=True, ratio=1, inner_rc_bound=2**16, n_parts=6 + name="range_check96", + included=True, + ratio=1, + ratio_den=1, + inner_rc_bound=2**16, + n_parts=6, ) self.builtin_runners["range_check96_builtin"] = range_check96_builtin + add_mod_builtin = AddModBuiltinRunner( + included=True, + instance_def=AddModInstanceDef( + word_bit_len=96, n_words=4, batch_size=1, ratio=1, ratio_den=1 + ), + ) + self.builtin_runners["add_mod_builtin"] = add_mod_builtin + mul_mod_builtin = MulModBuiltinRunner( + included=True, + instance_def=MulModInstanceDef( + word_bit_len=96, n_words=4, batch_size=1, ratio=1, ratio_den=1 + ), + ) + self.builtin_runners["mul_mod_builtin"] = mul_mod_builtin self.initialize_segments() @@ -124,6 +153,14 @@ def poseidon_builtin(self) -> PoseidonBuiltinRunner: def range_check96_builtin(self) -> RangeCheckBuiltinRunner: return cast(RangeCheckBuiltinRunner, self.builtin_runners["range_check96_builtin"]) + @property + def add_mod_builtin(self) -> AddModBuiltinRunner: + return cast(AddModBuiltinRunner, self.builtin_runners["add_mod_builtin"]) + + @property + def mul_mod_builtin(self) -> MulModBuiltinRunner: + return cast(MulModBuiltinRunner, self.builtin_runners["mul_mod_builtin"]) + def assert_eq(self, arg: MaybeRelocatable, expected_value, apply_modulo: bool = True): """ Asserts that arg is the Cairo representation of expected_value. @@ -154,6 +191,7 @@ def run( apply_modulo_to_args: Optional[bool] = None, use_full_name: bool = False, verify_implicit_args_segment: bool = False, + allow_tmp_segments: bool = False, **kwargs, ) -> Tuple[Tuple[MaybeRelocatable, ...], Tuple[MaybeRelocatable, ...]]: """ @@ -191,6 +229,7 @@ def run( static_locals=static_locals, verify_secure=verify_secure, apply_modulo_to_args=apply_modulo_to_args, + allow_tmp_segments=allow_tmp_segments, ) except (VmException, SecurityError, AssertionError) as ex: if trace_on_failure: diff --git a/src/starkware/cairo/common/cairo_sha256/BUILD b/src/starkware/cairo/common/cairo_sha256/BUILD index 3c3658c5..742f0867 100644 --- a/src/starkware/cairo/common/cairo_sha256/BUILD +++ b/src/starkware/cairo/common/cairo_sha256/BUILD @@ -1,3 +1,6 @@ package(default_visibility = ["//visibility:public"]) -exports_files(["sha256_utils.py"]) +exports_files([ + "sha256_utils.cairo", + "sha256_utils.py", +]) diff --git a/src/starkware/cairo/common/cairo_sha256/sha256_utils.cairo b/src/starkware/cairo/common/cairo_sha256/sha256_utils.cairo new file mode 100644 index 00000000..43f0189c --- /dev/null +++ b/src/starkware/cairo/common/cairo_sha256/sha256_utils.cairo @@ -0,0 +1,500 @@ +from starkware.cairo.common.alloc import alloc +from starkware.cairo.common.cairo_builtins import BitwiseBuiltin +from starkware.cairo.common.math import assert_nn_le, unsigned_div_rem +from starkware.cairo.common.registers import get_fp_and_pc, get_label_location + +const BATCH_SIZE = 7; +const ALL_ONES = 2 ** 251 - 1; +// Pack the different instances with offsets of 35 bits. This is the maximal possible offset for +// 7 32-bit words and it allows space for carry bits in integer addition operations (up to +// 8 summands). +const SHIFTS = 1 + 2 ** 35 + 2 ** (35 * 2) + 2 ** (35 * 3) + 2 ** (35 * 4) + 2 ** (35 * 5) + 2 ** ( + 35 * 6 +); + +// Given an array of size 16, extends it to the message schedule array (of size 64) by writing +// 48 more values. +// Each element represents 7 32-bit words from 7 difference instances, starting at bits +// 0, 35, 35 * 2, ..., 35 * 6. +func compute_message_schedule{bitwise_ptr: BitwiseBuiltin*}(message: felt*) { + alloc_locals; + + // Defining the following constants as local variables saves some instructions. + local shift_mask3 = SHIFTS * (2 ** 32 - 2 ** 3); + local shift_mask7 = SHIFTS * (2 ** 32 - 2 ** 7); + local shift_mask10 = SHIFTS * (2 ** 32 - 2 ** 10); + local shift_mask17 = SHIFTS * (2 ** 32 - 2 ** 17); + local shift_mask18 = SHIFTS * (2 ** 32 - 2 ** 18); + local shift_mask19 = SHIFTS * (2 ** 32 - 2 ** 19); + local mask32ones = SHIFTS * (2 ** 32 - 1); + + // Loop variables. + tempvar bitwise_ptr = bitwise_ptr; + tempvar message = message + 16; + tempvar n = 64 - 16; + + loop: + // Implementing a right rotation by k: + // Let `x = upper + lower`, + // where `upper` represents the upper 32-k bits of x and `lower` represents the lower k bits. + // `upper` can be expressed as `x & (2 ** 32 - 2 ** k)` and `lower` as `x & (2 ** k - 1)`. + // Consequently, right_rot(x, k) equals `lower * 2 ** (32 - k) + upper / 2 ** k`, + // which simplifies to: + // `(2 ** (32 - k)) * (lower + upper) + (1 / 2 ** k - 2 ** (32 - k)) * upper`. + tempvar w0 = message[-15]; + assert bitwise_ptr[0].x = w0; + assert bitwise_ptr[0].y = shift_mask7; + let w0_rot7 = (2 ** (32 - 7)) * w0 + (1 / 2 ** 7 - 2 ** (32 - 7)) * bitwise_ptr[0].x_and_y; + assert bitwise_ptr[1].x = w0; + assert bitwise_ptr[1].y = shift_mask18; + let w0_rot18 = (2 ** (32 - 18)) * w0 + (1 / 2 ** 18 - 2 ** (32 - 18)) * bitwise_ptr[1].x_and_y; + assert bitwise_ptr[2].x = w0; + assert bitwise_ptr[2].y = shift_mask3; + let w0_shift3 = (1 / 2 ** 3) * bitwise_ptr[2].x_and_y; + assert bitwise_ptr[3].x = w0_rot7; + assert bitwise_ptr[3].y = w0_rot18; + assert bitwise_ptr[4].x = bitwise_ptr[3].x_xor_y; + assert bitwise_ptr[4].y = w0_shift3; + let s0 = bitwise_ptr[4].x_xor_y; + let bitwise_ptr = bitwise_ptr + 5 * BitwiseBuiltin.SIZE; + + // Compute s1 = right_rot(w[i - 2], 17) ^ right_rot(w[i - 2], 19) ^ (w[i - 2] >> 10). + tempvar w1 = message[-2]; + assert bitwise_ptr[0].x = w1; + assert bitwise_ptr[0].y = shift_mask17; + let w1_rot17 = (2 ** (32 - 17)) * w1 + (1 / 2 ** 17 - 2 ** (32 - 17)) * bitwise_ptr[0].x_and_y; + assert bitwise_ptr[1].x = w1; + assert bitwise_ptr[1].y = shift_mask19; + let w1_rot19 = (2 ** (32 - 19)) * w1 + (1 / 2 ** 19 - 2 ** (32 - 19)) * bitwise_ptr[1].x_and_y; + assert bitwise_ptr[2].x = w1; + assert bitwise_ptr[2].y = shift_mask10; + let w1_shift10 = (1 / 2 ** 10) * bitwise_ptr[2].x_and_y; + assert bitwise_ptr[3].x = w1_rot17; + assert bitwise_ptr[3].y = w1_rot19; + assert bitwise_ptr[4].x = bitwise_ptr[3].x_xor_y; + assert bitwise_ptr[4].y = w1_shift10; + let s1 = bitwise_ptr[4].x_xor_y; + let bitwise_ptr = bitwise_ptr + 5 * BitwiseBuiltin.SIZE; + + assert bitwise_ptr[0].x = message[-16] + s0 + message[-7] + s1; + assert bitwise_ptr[0].y = mask32ones; + assert message[0] = bitwise_ptr[0].x_and_y; + let bitwise_ptr = bitwise_ptr + BitwiseBuiltin.SIZE; + + tempvar bitwise_ptr = bitwise_ptr; + tempvar message = message + 1; + tempvar n = n - 1; + jmp loop if n != 0; + + return (); +} + +func sha2_compress{bitwise_ptr: BitwiseBuiltin*}( + state: felt*, message: felt*, round_constants: felt* +) -> (new_state: felt*) { + alloc_locals; + + // Defining the following constants as local variables saves some instructions. + local shift_mask2 = SHIFTS * (2 ** 32 - 2 ** 2); + local shift_mask13 = SHIFTS * (2 ** 32 - 2 ** 13); + local shift_mask22 = SHIFTS * (2 ** 32 - 2 ** 22); + local shift_mask6 = SHIFTS * (2 ** 32 - 2 ** 6); + local shift_mask11 = SHIFTS * (2 ** 32 - 2 ** 11); + local shift_mask25 = SHIFTS * (2 ** 32 - 2 ** 25); + local mask32ones = SHIFTS * (2 ** 32 - 1); + + tempvar a = state[0]; + tempvar b = state[1]; + tempvar c = state[2]; + tempvar d = state[3]; + tempvar e = state[4]; + tempvar f = state[5]; + tempvar g = state[6]; + tempvar h = state[7]; + tempvar round_constants = round_constants; + tempvar message = message; + tempvar bitwise_ptr = bitwise_ptr; + tempvar n = 64; + + loop: + // Compute s0 = right_rot(a, 2) ^ right_rot(a, 13) ^ right_rot(a, 22). + assert bitwise_ptr[0].x = a; + assert bitwise_ptr[0].y = shift_mask2; + let a_rot2 = (2 ** (32 - 2)) * a + (1 / 2 ** 2 - 2 ** (32 - 2)) * bitwise_ptr[0].x_and_y; + assert bitwise_ptr[1].x = a; + assert bitwise_ptr[1].y = shift_mask13; + let a_rot13 = (2 ** (32 - 13)) * a + (1 / 2 ** 13 - 2 ** (32 - 13)) * bitwise_ptr[1].x_and_y; + assert bitwise_ptr[2].x = a; + assert bitwise_ptr[2].y = shift_mask22; + let a_rot22 = (2 ** (32 - 22)) * a + (1 / 2 ** 22 - 2 ** (32 - 22)) * bitwise_ptr[2].x_and_y; + assert bitwise_ptr[3].x = a_rot2; + assert bitwise_ptr[3].y = a_rot13; + assert bitwise_ptr[4].x = bitwise_ptr[3].x_xor_y; + assert bitwise_ptr[4].y = a_rot22; + let s0 = bitwise_ptr[4].x_xor_y; + let bitwise_ptr = bitwise_ptr + 5 * BitwiseBuiltin.SIZE; + + // Compute s1 = right_rot(e, 6) ^ right_rot(e, 11) ^ right_rot(e, 25). + assert bitwise_ptr[0].x = e; + assert bitwise_ptr[0].y = shift_mask6; + let e_rot6 = (2 ** (32 - 6)) * e + (1 / 2 ** 6 - 2 ** (32 - 6)) * bitwise_ptr[0].x_and_y; + assert bitwise_ptr[1].x = e; + assert bitwise_ptr[1].y = shift_mask11; + let e_rot11 = (2 ** (32 - 11)) * e + (1 / 2 ** 11 - 2 ** (32 - 11)) * bitwise_ptr[1].x_and_y; + assert bitwise_ptr[2].x = e; + assert bitwise_ptr[2].y = shift_mask25; + let e_rot25 = (2 ** (32 - 25)) * e + (1 / 2 ** 25 - 2 ** (32 - 25)) * bitwise_ptr[2].x_and_y; + assert bitwise_ptr[3].x = e_rot6; + assert bitwise_ptr[3].y = e_rot11; + assert bitwise_ptr[4].x = bitwise_ptr[3].x_xor_y; + assert bitwise_ptr[4].y = e_rot25; + let s1 = bitwise_ptr[4].x_xor_y; + let bitwise_ptr = bitwise_ptr + 5 * BitwiseBuiltin.SIZE; + + // Compute ch = (e & f) ^ ((~e) & g). + assert bitwise_ptr[0].x = e; + assert bitwise_ptr[0].y = f; + assert bitwise_ptr[1].x = ALL_ONES - e; + assert bitwise_ptr[1].y = g; + let ch = bitwise_ptr[0].x_and_y + bitwise_ptr[1].x_and_y; + let bitwise_ptr = bitwise_ptr + 2 * BitwiseBuiltin.SIZE; + + // Compute maj = (a & b) ^ (a & c) ^ (b & c). + // We use the following trick to compute the majority function: + // look at the i-th bit + // if 0 of the bits a[i],b[i],c[i] are 1, then a[i] + b[i] + c[i] - (a[i] ^ b[i] ^ c[i]) = 00 + // if 1 of the bits a[i],b[i],c[i] are 1, then a[i] + b[i] + c[i] - (a[i] ^ b[i] ^ c[i]) = 00 + // if 2 of the bits a[i],b[i],c[i] are 1, then a[i] + b[i] + c[i] - (a[i] ^ b[i] ^ c[i]) = 10 + // if 3 of the bits a[i],b[i],c[i] are 1, then a[i] + b[i] + c[i] - (a[i] ^ b[i] ^ c[i]) = 10 + // so a + b + c - (a ^ b ^ c) is the majority shifted by 1. + assert bitwise_ptr[0].x = a; + assert bitwise_ptr[0].y = b; + assert bitwise_ptr[1].x = bitwise_ptr[0].x_xor_y; + assert bitwise_ptr[1].y = c; + let maj = (a + b + c - bitwise_ptr[1].x_xor_y) / 2; + let bitwise_ptr = bitwise_ptr + 2 * BitwiseBuiltin.SIZE; + + tempvar temp1 = h + s1 + ch + round_constants[0] + message[0]; + tempvar temp2 = s0 + maj; + + assert bitwise_ptr[0].x = temp1 + temp2; + assert bitwise_ptr[0].y = mask32ones; + let new_a = bitwise_ptr[0].x_and_y; + assert bitwise_ptr[1].x = d + temp1; + assert bitwise_ptr[1].y = mask32ones; + let new_e = bitwise_ptr[1].x_and_y; + let bitwise_ptr = bitwise_ptr + 2 * BitwiseBuiltin.SIZE; + + tempvar new_a = new_a; + tempvar new_b = a; + tempvar new_c = b; + tempvar new_d = c; + tempvar new_e = new_e; + tempvar new_f = e; + tempvar new_g = f; + tempvar new_h = g; + tempvar round_constants = round_constants + 1; + tempvar message = message + 1; + tempvar bitwise_ptr = bitwise_ptr; + tempvar n = n - 1; + jmp loop if n != 0; + + // Add the compression result to the original state: + let (res) = alloc(); + assert bitwise_ptr[0].x = state[0] + new_a; + assert bitwise_ptr[0].y = mask32ones; + assert res[0] = bitwise_ptr[0].x_and_y; + assert bitwise_ptr[1].x = state[1] + new_b; + assert bitwise_ptr[1].y = mask32ones; + assert res[1] = bitwise_ptr[1].x_and_y; + assert bitwise_ptr[2].x = state[2] + new_c; + assert bitwise_ptr[2].y = mask32ones; + assert res[2] = bitwise_ptr[2].x_and_y; + assert bitwise_ptr[3].x = state[3] + new_d; + assert bitwise_ptr[3].y = mask32ones; + assert res[3] = bitwise_ptr[3].x_and_y; + assert bitwise_ptr[4].x = state[4] + new_e; + assert bitwise_ptr[4].y = mask32ones; + assert res[4] = bitwise_ptr[4].x_and_y; + assert bitwise_ptr[5].x = state[5] + new_f; + assert bitwise_ptr[5].y = mask32ones; + assert res[5] = bitwise_ptr[5].x_and_y; + assert bitwise_ptr[6].x = state[6] + new_g; + assert bitwise_ptr[6].y = mask32ones; + assert res[6] = bitwise_ptr[6].x_and_y; + assert bitwise_ptr[7].x = state[7] + new_h; + assert bitwise_ptr[7].y = mask32ones; + assert res[7] = bitwise_ptr[7].x_and_y; + let bitwise_ptr = bitwise_ptr + 8 * BitwiseBuiltin.SIZE; + + return (res,); +} + +// Returns the 64 round constants of SHA256. +func get_round_constants() -> felt* { + alloc_locals; + let (round_constants) = get_label_location(data); + return round_constants; + + data: + dw 0x428A2F98 * SHIFTS; + dw 0x71374491 * SHIFTS; + dw 0xB5C0FBCF * SHIFTS; + dw 0xE9B5DBA5 * SHIFTS; + dw 0x3956C25B * SHIFTS; + dw 0x59F111F1 * SHIFTS; + dw 0x923F82A4 * SHIFTS; + dw 0xAB1C5ED5 * SHIFTS; + dw 0xD807AA98 * SHIFTS; + dw 0x12835B01 * SHIFTS; + dw 0x243185BE * SHIFTS; + dw 0x550C7DC3 * SHIFTS; + dw 0x72BE5D74 * SHIFTS; + dw 0x80DEB1FE * SHIFTS; + dw 0x9BDC06A7 * SHIFTS; + dw 0xC19BF174 * SHIFTS; + dw 0xE49B69C1 * SHIFTS; + dw 0xEFBE4786 * SHIFTS; + dw 0x0FC19DC6 * SHIFTS; + dw 0x240CA1CC * SHIFTS; + dw 0x2DE92C6F * SHIFTS; + dw 0x4A7484AA * SHIFTS; + dw 0x5CB0A9DC * SHIFTS; + dw 0x76F988DA * SHIFTS; + dw 0x983E5152 * SHIFTS; + dw 0xA831C66D * SHIFTS; + dw 0xB00327C8 * SHIFTS; + dw 0xBF597FC7 * SHIFTS; + dw 0xC6E00BF3 * SHIFTS; + dw 0xD5A79147 * SHIFTS; + dw 0x06CA6351 * SHIFTS; + dw 0x14292967 * SHIFTS; + dw 0x27B70A85 * SHIFTS; + dw 0x2E1B2138 * SHIFTS; + dw 0x4D2C6DFC * SHIFTS; + dw 0x53380D13 * SHIFTS; + dw 0x650A7354 * SHIFTS; + dw 0x766A0ABB * SHIFTS; + dw 0x81C2C92E * SHIFTS; + dw 0x92722C85 * SHIFTS; + dw 0xA2BFE8A1 * SHIFTS; + dw 0xA81A664B * SHIFTS; + dw 0xC24B8B70 * SHIFTS; + dw 0xC76C51A3 * SHIFTS; + dw 0xD192E819 * SHIFTS; + dw 0xD6990624 * SHIFTS; + dw 0xF40E3585 * SHIFTS; + dw 0x106AA070 * SHIFTS; + dw 0x19A4C116 * SHIFTS; + dw 0x1E376C08 * SHIFTS; + dw 0x2748774C * SHIFTS; + dw 0x34B0BCB5 * SHIFTS; + dw 0x391C0CB3 * SHIFTS; + dw 0x4ED8AA4A * SHIFTS; + dw 0x5B9CCA4F * SHIFTS; + dw 0x682E6FF3 * SHIFTS; + dw 0x748F82EE * SHIFTS; + dw 0x78A5636F * SHIFTS; + dw 0x84C87814 * SHIFTS; + dw 0x8CC70208 * SHIFTS; + dw 0x90BEFFFA * SHIFTS; + dw 0xA4506CEB * SHIFTS; + dw 0xBEF9A3F7 * SHIFTS; + dw 0xC67178F2 * SHIFTS; +} + +const SHA256_INPUT_CHUNK_SIZE_FELTS = 16; +const SHA256_INPUT_CHUNK_SIZE_BYTES = 64; +const SHA256_STATE_SIZE_FELTS = 8; +// Each instance consists of a message (16 words), an input state (8 words), +// and an output state (8 words). +const SHA256_INSTANCE_SIZE = SHA256_INPUT_CHUNK_SIZE_FELTS + 2 * SHA256_STATE_SIZE_FELTS; + +func _finalize_sha256_inner{range_check_ptr, bitwise_ptr: BitwiseBuiltin*}( + sha256_ptr: felt*, n: felt, round_constants: felt* +) { + if (n == 0) { + return (); + } + + alloc_locals; + + local U32_MAX = 2 ** 32 - 1; + + let sha256_start = sha256_ptr; + + let (local message_start: felt*) = alloc(); + + // Handle message. + + tempvar message = message_start; + tempvar sha256_ptr = sha256_ptr; + tempvar range_check_ptr = range_check_ptr; + tempvar m = SHA256_INPUT_CHUNK_SIZE_FELTS; + + message_loop: + tempvar x0 = sha256_ptr[0 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 0] = x0; + assert [range_check_ptr + 1] = U32_MAX - x0; + tempvar x1 = sha256_ptr[1 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 2] = x1; + assert [range_check_ptr + 3] = U32_MAX - x1; + tempvar x2 = sha256_ptr[2 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 4] = x2; + assert [range_check_ptr + 5] = U32_MAX - x2; + tempvar x3 = sha256_ptr[3 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 6] = x3; + assert [range_check_ptr + 7] = U32_MAX - x3; + tempvar x4 = sha256_ptr[4 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 8] = x4; + assert [range_check_ptr + 9] = U32_MAX - x4; + tempvar x5 = sha256_ptr[5 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 10] = x5; + assert [range_check_ptr + 11] = U32_MAX - x5; + tempvar x6 = sha256_ptr[6 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 12] = x6; + assert [range_check_ptr + 13] = U32_MAX - x6; + assert message[0] = x0 + 2 ** 35 * x1 + 2 ** (35 * 2) * x2 + 2 ** (35 * 3) * x3 + 2 ** ( + 35 * 4 + ) * x4 + 2 ** (35 * 5) * x5 + 2 ** (35 * 6) * x6; + + tempvar message = message + 1; + tempvar sha256_ptr = sha256_ptr + 1; + tempvar range_check_ptr = range_check_ptr + 14; + tempvar m = m - 1; + jmp message_loop if m != 0; + + // Handle input state. + + let (local input_state_start: felt*) = alloc(); + tempvar input_state = input_state_start; + tempvar sha256_ptr = sha256_ptr; + tempvar range_check_ptr = range_check_ptr; + tempvar m = SHA256_STATE_SIZE_FELTS; + + input_state_loop: + tempvar x0 = sha256_ptr[0 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 0] = x0; + assert [range_check_ptr + 1] = U32_MAX - x0; + tempvar x1 = sha256_ptr[1 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 2] = x1; + assert [range_check_ptr + 3] = U32_MAX - x1; + tempvar x2 = sha256_ptr[2 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 4] = x2; + assert [range_check_ptr + 5] = U32_MAX - x2; + tempvar x3 = sha256_ptr[3 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 6] = x3; + assert [range_check_ptr + 7] = U32_MAX - x3; + tempvar x4 = sha256_ptr[4 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 8] = x4; + assert [range_check_ptr + 9] = U32_MAX - x4; + tempvar x5 = sha256_ptr[5 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 10] = x5; + assert [range_check_ptr + 11] = U32_MAX - x5; + tempvar x6 = sha256_ptr[6 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 12] = x6; + assert [range_check_ptr + 13] = U32_MAX - x6; + assert input_state[0] = x0 + 2 ** 35 * x1 + 2 ** (35 * 2) * x2 + 2 ** (35 * 3) * x3 + 2 ** ( + 35 * 4 + ) * x4 + 2 ** (35 * 5) * x5 + 2 ** (35 * 6) * x6; + + tempvar input_state = input_state + 1; + tempvar sha256_ptr = sha256_ptr + 1; + tempvar range_check_ptr = range_check_ptr + 14; + tempvar m = m - 1; + jmp input_state_loop if m != 0; + + // Run sha256 on the 7 instances. + + local sha256_ptr: felt* = sha256_ptr; + local range_check_ptr = range_check_ptr; + compute_message_schedule(message_start); + let (outputs) = sha2_compress(input_state_start, message_start, round_constants); + local bitwise_ptr: BitwiseBuiltin* = bitwise_ptr; + + // Handle outputs. + + tempvar outputs = outputs; + tempvar sha256_ptr = sha256_ptr; + tempvar range_check_ptr = range_check_ptr; + tempvar m = SHA256_STATE_SIZE_FELTS; + + output_loop: + tempvar x0 = sha256_ptr[0 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr] = x0; + assert [range_check_ptr + 1] = U32_MAX - x0; + tempvar x1 = sha256_ptr[1 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 2] = x1; + assert [range_check_ptr + 3] = U32_MAX - x1; + tempvar x2 = sha256_ptr[2 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 4] = x2; + assert [range_check_ptr + 5] = U32_MAX - x2; + tempvar x3 = sha256_ptr[3 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 6] = x3; + assert [range_check_ptr + 7] = U32_MAX - x3; + tempvar x4 = sha256_ptr[4 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 8] = x4; + assert [range_check_ptr + 9] = U32_MAX - x4; + tempvar x5 = sha256_ptr[5 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 10] = x5; + assert [range_check_ptr + 11] = U32_MAX - x5; + tempvar x6 = sha256_ptr[6 * SHA256_INSTANCE_SIZE]; + assert [range_check_ptr + 12] = x6; + assert [range_check_ptr + 13] = U32_MAX - x6; + + assert outputs[0] = x0 + 2 ** 35 * x1 + 2 ** (35 * 2) * x2 + 2 ** (35 * 3) * x3 + 2 ** ( + 35 * 4 + ) * x4 + 2 ** (35 * 5) * x5 + 2 ** (35 * 6) * x6; + + tempvar outputs = outputs + 1; + tempvar sha256_ptr = sha256_ptr + 1; + tempvar range_check_ptr = range_check_ptr + 14; + tempvar m = m - 1; + jmp output_loop if m != 0; + + return _finalize_sha256_inner( + sha256_ptr=sha256_start + SHA256_INSTANCE_SIZE * BATCH_SIZE, + n=n - 1, + round_constants=round_constants, + ); +} + +// Verifies that [sha256_ptr_start:sha256_ptr_end] is an array of blocks of size 32 +// where each block consist of 16 words of message, 8 words for the input state and 8 words +// for the output state. +func finalize_sha256{range_check_ptr, bitwise_ptr: BitwiseBuiltin*}( + sha256_ptr_start: felt*, sha256_ptr_end: felt* +) { + alloc_locals; + + tempvar n = (sha256_ptr_end - sha256_ptr_start) / SHA256_INSTANCE_SIZE; + if (n == 0) { + return (); + } + + %{ + # Add dummy pairs of input and output. + from starkware.cairo.common.cairo_sha256.sha256_utils import ( + IV, + compute_message_schedule, + sha2_compress_function, + ) + + number_of_missing_blocks = -ids.n % ids.BATCH_SIZE + assert 0 <= number_of_missing_blocks < 20 + _sha256_input_chunk_size_felts = ids.SHA256_INPUT_CHUNK_SIZE_FELTS + assert 0 <= _sha256_input_chunk_size_felts < 100 + + message = [0] * _sha256_input_chunk_size_felts + w = compute_message_schedule(message) + output = sha2_compress_function(IV, w) + padding = (message + IV + output) * (number_of_missing_blocks) + segments.write_arg(ids.sha256_ptr_end, padding) + %} + + // Compute the amount of blocks (rounded up). + let (local q, r) = unsigned_div_rem(n + BATCH_SIZE - 1, BATCH_SIZE); + let round_constants = get_round_constants(); + _finalize_sha256_inner(sha256_ptr_start, n=q, round_constants=round_constants); + return (); +} diff --git a/src/starkware/cairo/common/cairo_sha256/sha256_utils.py b/src/starkware/cairo/common/cairo_sha256/sha256_utils.py index 9ac0508c..82201d98 100644 --- a/src/starkware/cairo/common/cairo_sha256/sha256_utils.py +++ b/src/starkware/cairo/common/cairo_sha256/sha256_utils.py @@ -1,5 +1,13 @@ +from enum import Enum from typing import List + +class SHA256BATCHResources(Enum): + STEPS = 11822 + RANGE_CHECKS = 448 + BITWISE = 7800 + + IV = [ 0x6A09E667, 0xBB67AE85, @@ -126,3 +134,14 @@ def sha2_compress_function(state: List[int], w: List[int]) -> List[int]: (state[6] + g) % 2**32, (state[7] + h) % 2**32, ] + + +def sha_256_update_state( + state: list[int], + message: list[int], +) -> List[int]: + """ + Computes the SHA-256 block compression function. + """ + w = compute_message_schedule(message) + return sha2_compress_function(state, w) diff --git a/src/starkware/cairo/common/find_element.cairo b/src/starkware/cairo/common/find_element.cairo index c598b0d6..e440e50b 100644 --- a/src/starkware/cairo/common/find_element.cairo +++ b/src/starkware/cairo/common/find_element.cairo @@ -1,4 +1,10 @@ -from starkware.cairo.common.math import assert_le, assert_le_felt, assert_lt_felt, assert_nn_le +from starkware.cairo.common.math import ( + assert_le, + assert_le_felt, + assert_lt_felt, + assert_nn_le, + assert_not_equal, +) const FIND_ELEMENT_RANGE_CHECK_USAGE = 2; @@ -130,3 +136,76 @@ func search_sorted{range_check_ptr}(array_ptr: felt*, elm_size, n_elms, key) -> } return (elm_ptr=elm_ptr, success=1); } + +// Similar to `search_sorted`, except that it optimizes the case where the key exists. +// +// This optimization is done in a new function for backward compatibility, since it introduces +// new hints. +func search_sorted_optimistic{range_check_ptr}(array_ptr: felt*, elm_size, n_elms, key) -> ( + elm_ptr: felt*, success: felt +) { + alloc_locals; + // Index of the first element whose value is at least `key`. + local index; + // Indicates whether the key exists. + local exists; + %{ + array_ptr = ids.array_ptr + elm_size = ids.elm_size + assert isinstance(elm_size, int) and elm_size > 0, \ + f'Invalid value for elm_size. Got: {elm_size}.' + + n_elms = ids.n_elms + assert isinstance(n_elms, int) and n_elms >= 0, \ + f'Invalid value for n_elms. Got: {n_elms}.' + if '__find_element_max_size' in globals(): + assert n_elms <= __find_element_max_size, \ + f'find_element() can only be used with n_elms<={__find_element_max_size}. ' \ + f'Got: n_elms={n_elms}.' + + for i in range(n_elms): + if memory[array_ptr + elm_size * i] >= ids.key: + ids.index = i + ids.exists = 1 if memory[array_ptr + elm_size * i] == ids.key else 0 + break + else: + ids.index = n_elms + ids.exists = 0 + %} + + local elm_ptr: felt* = array_ptr + elm_size * index; + + if (exists != 0) { + // Verify `index` in range `[0, n_elms)` (this implies `n_elms > 0`). + assert [range_check_ptr] = index; + assert [range_check_ptr + 1] = (n_elms - 1) - index; + let range_check_ptr = range_check_ptr + 2; + + assert [elm_ptr] = key; + + // Verify it is the first appearance. + if (index != 0) { + assert_not_equal(key, [elm_ptr - elm_size]); + } + return (elm_ptr=elm_ptr, success=1); + } + + // Verify `index` in range `[0, n_elms]`. + assert [range_check_ptr] = index; + assert [range_check_ptr + 1] = n_elms - index; + let range_check_ptr = range_check_ptr + 2; + + // Verify array[index] > key. + if (index != n_elms) { + assert_lt_felt(a=key, b=[elm_ptr]); + } else { + tempvar range_check_ptr = range_check_ptr; + } + + // Verify array[index - 1] < key. + if (index != 0) { + assert_lt_felt(a=[elm_ptr - elm_size], b=key); + } + + return (elm_ptr=array_ptr, success=0); +} diff --git a/src/starkware/cairo/common/modulo.cairo b/src/starkware/cairo/common/modulo.cairo new file mode 100644 index 00000000..ca7a8554 --- /dev/null +++ b/src/starkware/cairo/common/modulo.cairo @@ -0,0 +1,113 @@ +from starkware.cairo.common.cairo_builtins import ModBuiltin, UInt384 +from starkware.cairo.common.math import safe_div, unsigned_div_rem +from starkware.cairo.common.registers import get_label_location + +const BATCH_SIZE = 1; + +// Returns the smallest felt 0 <= q < rc_bound such that x <= q * y. +func div_ceil{range_check_ptr}(x: felt, y: felt) -> felt { + let (q, r) = unsigned_div_rem(x, y); + if (r != 0) { + return q + 1; + } else { + return q; + } +} + +// Fills the first instance of the add_mod and mul_mod builtins and calls the fill_memory hint to +// fill the rest of the instances and the missing values in the values table. +// +// This function uses a hardcoded value of batch_size=8, and asserts the instance definitions use +// the same value. +func run_mod_p_circuit_with_large_batch_size{ + range_check_ptr, add_mod_ptr: ModBuiltin*, mul_mod_ptr: ModBuiltin* +}( + p: UInt384, + values_ptr: UInt384*, + add_mod_offsets_ptr: felt*, + add_mod_n: felt, + mul_mod_offsets_ptr: felt*, + mul_mod_n: felt, +) { + const BATCH_SIZE = 8; + alloc_locals; + local add_mod_n_instances = div_ceil(add_mod_n, BATCH_SIZE); + local mul_mod_n_instances = div_ceil(mul_mod_n, BATCH_SIZE); + local range_check_ptr = range_check_ptr; + + if (add_mod_n != 0) { + assert add_mod_ptr[0] = ModBuiltin( + p=p, + values_ptr=values_ptr, + offsets_ptr=add_mod_offsets_ptr, + n=add_mod_n_instances * BATCH_SIZE, + ); + } + + if (mul_mod_n != 0) { + assert mul_mod_ptr[0] = ModBuiltin( + p=p, + values_ptr=values_ptr, + offsets_ptr=mul_mod_offsets_ptr, + n=mul_mod_n_instances * BATCH_SIZE, + ); + } + + %{ + from starkware.cairo.lang.builtins.modulo.mod_builtin_runner import ModBuiltinRunner + assert builtin_runners["add_mod_builtin"].instance_def.batch_size == ids.BATCH_SIZE + assert builtin_runners["mul_mod_builtin"].instance_def.batch_size == ids.BATCH_SIZE + + ModBuiltinRunner.fill_memory( + memory=memory, + add_mod=(ids.add_mod_ptr.address_, builtin_runners["add_mod_builtin"], ids.add_mod_n), + mul_mod=(ids.mul_mod_ptr.address_, builtin_runners["mul_mod_builtin"], ids.mul_mod_n), + ) + %} + + let add_mod_ptr = &add_mod_ptr[add_mod_n_instances]; + let mul_mod_ptr = &mul_mod_ptr[mul_mod_n_instances]; + return (); +} + +// Fills the first instance of the add_mod and mul_mod builtins and calls the fill_memory hint to +// fill the rest of the instances and the missing values in the values table. +// +// This function uses a hardcoded value of batch_size=1, and asserts the instance definitions use +// the same value. +func run_mod_p_circuit{add_mod_ptr: ModBuiltin*, mul_mod_ptr: ModBuiltin*}( + p: UInt384, + values_ptr: UInt384*, + add_mod_offsets_ptr: felt*, + add_mod_n: felt, + mul_mod_offsets_ptr: felt*, + mul_mod_n: felt, +) { + if (add_mod_n != 0) { + assert add_mod_ptr[0] = ModBuiltin( + p=p, values_ptr=values_ptr, offsets_ptr=add_mod_offsets_ptr, n=add_mod_n + ); + } + + if (mul_mod_n != 0) { + assert mul_mod_ptr[0] = ModBuiltin( + p=p, values_ptr=values_ptr, offsets_ptr=mul_mod_offsets_ptr, n=mul_mod_n + ); + } + + %{ + from starkware.cairo.lang.builtins.modulo.mod_builtin_runner import ModBuiltinRunner + assert builtin_runners["add_mod_builtin"].instance_def.batch_size == 1 + assert builtin_runners["mul_mod_builtin"].instance_def.batch_size == 1 + + ModBuiltinRunner.fill_memory( + memory=memory, + add_mod=(ids.add_mod_ptr.address_, builtin_runners["add_mod_builtin"], ids.add_mod_n), + mul_mod=(ids.mul_mod_ptr.address_, builtin_runners["mul_mod_builtin"], ids.mul_mod_n), + ) + %} + + let add_mod_ptr = &add_mod_ptr[add_mod_n]; + let mul_mod_ptr = &mul_mod_ptr[mul_mod_n]; + return (); +} diff --git a/src/starkware/cairo/common/poseidon_hash.py b/src/starkware/cairo/common/poseidon_hash.py index e674cc7c..976cbc20 100644 --- a/src/starkware/cairo/common/poseidon_hash.py +++ b/src/starkware/cairo/common/poseidon_hash.py @@ -1,4 +1,4 @@ -from typing import Callable, List, Optional +from typing import Callable, List, Optional, Sequence from starkware.cairo.common.poseidon_utils import PoseidonParams, hades_permutation from starkware.python.utils import blockify, from_bytes, to_bytes @@ -43,7 +43,9 @@ def poseidon_hash_single(x: int, poseidon_params: Optional[PoseidonParams] = Non return hades_permutation([x, 0, 1], poseidon_params)[0] -def poseidon_hash_many(array: List[int], poseidon_params: Optional[PoseidonParams] = None) -> int: +def poseidon_hash_many( + array: Sequence[int], poseidon_params: Optional[PoseidonParams] = None +) -> int: """ Hashes array of elements and retrieves a single field element output. Equivalent to the function with the same name at @@ -57,7 +59,7 @@ def poseidon_hash_many(array: List[int], poseidon_params: Optional[PoseidonParam def poseidon_hash_many_given_poseidon_perm( - array: List[int], + array: Sequence[int], poseidon_perm: Callable[..., List[int]], poseidon_params: Optional[PoseidonParams] = None, ) -> int: diff --git a/src/starkware/cairo/common/sha256_state.cairo b/src/starkware/cairo/common/sha256_state.cairo new file mode 100644 index 00000000..3cc540e2 --- /dev/null +++ b/src/starkware/cairo/common/sha256_state.cairo @@ -0,0 +1,37 @@ +// Represents 256 bits of a SHA256 state (8 felts each containing 32 bits). +struct Sha256State { + s0: felt, + s1: felt, + s2: felt, + s3: felt, + s4: felt, + s5: felt, + s6: felt, + s7: felt, +} + +// Represents 512 bits of a SHA256 input (16 felts each containing 32 bits). +struct Sha256Input { + s0: felt, + s1: felt, + s2: felt, + s3: felt, + s4: felt, + s5: felt, + s6: felt, + s7: felt, + s8: felt, + s9: felt, + s10: felt, + s11: felt, + s12: felt, + s13: felt, + s14: felt, + s15: felt, +} + +struct Sha256ProcessBlock { + input: Sha256Input, + in_state: Sha256State, + out_state: Sha256State, +} diff --git a/src/starkware/cairo/lang/BUILD b/src/starkware/cairo/lang/BUILD index 651111ed..47d9027b 100644 --- a/src/starkware/cairo/lang/BUILD +++ b/src/starkware/cairo/lang/BUILD @@ -98,6 +98,7 @@ py_library( deps = [ ":cairo_instances_lib", "//src/starkware/cairo/lang/builtins:cairo_all_builtins_lib", + "//src/starkware/cairo/lang/builtins:instance_def_lib", "//src/starkware/python:starkware_python_utils_lib", ], ) diff --git a/src/starkware/cairo/lang/VERSION b/src/starkware/cairo/lang/VERSION index c317a918..2702fce1 100644 --- a/src/starkware/cairo/lang/VERSION +++ b/src/starkware/cairo/lang/VERSION @@ -1 +1 @@ -0.13.1 +0.13.2a0 diff --git a/src/starkware/cairo/lang/builtins/BUILD b/src/starkware/cairo/lang/builtins/BUILD index c2960651..d872d919 100644 --- a/src/starkware/cairo/lang/builtins/BUILD +++ b/src/starkware/cairo/lang/builtins/BUILD @@ -19,6 +19,8 @@ py_library( "//src/starkware/cairo/lang/builtins/hash:instance_def.py", "//src/starkware/cairo/lang/builtins/keccak:instance_def.py", "//src/starkware/cairo/lang/builtins/keccak:keccak_builtin_runner.py", + "//src/starkware/cairo/lang/builtins/modulo:instance_def.py", + "//src/starkware/cairo/lang/builtins/modulo:mod_builtin_runner.py", "//src/starkware/cairo/lang/builtins/poseidon:instance_def.py", "//src/starkware/cairo/lang/builtins/poseidon:poseidon_builtin_runner.py", "//src/starkware/cairo/lang/builtins/range_check:instance_def.py", diff --git a/src/starkware/cairo/lang/builtins/all_builtins.py b/src/starkware/cairo/lang/builtins/all_builtins.py index aefe9bc7..e7d2214f 100644 --- a/src/starkware/cairo/lang/builtins/all_builtins.py +++ b/src/starkware/cairo/lang/builtins/all_builtins.py @@ -14,6 +14,8 @@ KECCAK_BUILTIN = "keccak" POSEIDON_BUILTIN = "poseidon" RANGE_CHECK96_BUILTIN = "range_check96" +ADD_MOD_BUILTIN = "add_mod" +MUL_MOD_BUILTIN = "mul_mod" BUILTIN_NAME_SUFFIX = "_builtin" @@ -59,7 +61,17 @@ def with_suffix(self): KECCAK_BUILTIN, POSEIDON_BUILTIN, RANGE_CHECK96_BUILTIN, + ADD_MOD_BUILTIN, + MUL_MOD_BUILTIN, + ] +) +# The list of builtins which may have ratio < 1 (and implement BuiltinInstanceDefWithLowRatio). +LOW_RATIO_BUILTINS = BuiltinList( + [ + ADD_MOD_BUILTIN, + MUL_MOD_BUILTIN, + RANGE_CHECK96_BUILTIN, ] ) -SUPPORTED_DYNAMIC_BUILTINS = ALL_BUILTINS.except_for(RANGE_CHECK96_BUILTIN) +SUPPORTED_DYNAMIC_BUILTINS = ALL_BUILTINS diff --git a/src/starkware/cairo/lang/builtins/builtin_runner_test_utils.py b/src/starkware/cairo/lang/builtins/builtin_runner_test_utils.py index 3b9d5323..ab3a66dd 100644 --- a/src/starkware/cairo/lang/builtins/builtin_runner_test_utils.py +++ b/src/starkware/cairo/lang/builtins/builtin_runner_test_utils.py @@ -3,11 +3,14 @@ from starkware.cairo.lang.compiler.cairo_compile import compile_cairo from starkware.cairo.lang.instances import CairoLayout from starkware.cairo.lang.vm.cairo_runner import CairoRunner +from starkware.cairo.lang.vm.security import verify_secure_runner PRIME = 2**251 + 17 * 2**192 + 1 -def compile_and_run(code: str, layout: Union[str, CairoLayout] = "small"): +def compile_and_run( + code: str, layout: Union[str, CairoLayout] = "small", secure_run: bool = False +) -> CairoRunner: """ Compiles the given code and runs it in the VM. """ @@ -15,6 +18,14 @@ def compile_and_run(code: str, layout: Union[str, CairoLayout] = "small"): runner = CairoRunner(program, layout=layout, proof_mode=False) runner.initialize_segments() end = runner.initialize_main_entrypoint() + runner.initialize_zero_segment() runner.initialize_vm({}) runner.run_until_pc(end) runner.end_run() + if secure_run: + runner.read_return_values() + verify_secure_runner(runner) + pie = runner.get_cairo_pie() + pie.run_validity_checks() + + return runner diff --git a/src/starkware/cairo/lang/builtins/instance_def.py b/src/starkware/cairo/lang/builtins/instance_def.py index 5a767d39..4f5975a7 100644 --- a/src/starkware/cairo/lang/builtins/instance_def.py +++ b/src/starkware/cairo/lang/builtins/instance_def.py @@ -45,3 +45,25 @@ def uses_dynamic_ratio(self) -> bool: def is_used(self) -> bool: assert self.ratio is not None, "ratio must be non-dynamic - it must have an integer value." return self.ratio != 0 + + def get_ratio_den(self) -> int: + """ + Returns 1, as this builtin does not support a fractional ratio. + """ + return 1 + + +# Mypy has a problem with dataclasses that contain unimplemented abstract methods. +# See https://github.com/python/mypy/issues/5374 for details on this problem. +@dataclasses.dataclass # type: ignore[misc] +class BuiltinInstanceDefWithLowRatio(BuiltinInstanceDef): + # Some builtins can have ratios smaller than one, which we encode with ratio=1 and + # ratio_den = 1/ratio. In other words, the real ratio is ratio/ratio_den, and at least one of + # ratio or ratio_den should equal 1. + ratio_den: int + + def get_ratio_den(self) -> int: + """ + Returns the denominator of the builtin's ratio. + """ + return self.ratio_den diff --git a/src/starkware/cairo/lang/builtins/modulo/BUILD b/src/starkware/cairo/lang/builtins/modulo/BUILD new file mode 100644 index 00000000..f570093b --- /dev/null +++ b/src/starkware/cairo/lang/builtins/modulo/BUILD @@ -0,0 +1,24 @@ +load("//bazel_utils:python.bzl", "pytest_test") + +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "instance_def.py", + "mod_builtin_runner.py", +]) + +pytest_test( + name = "cairo_run_builtins_mod_test", + srcs = [ + "mod_builtin_runner_test.py", + ], + visibility = ["//visibility:public"], + deps = [ + "//src/starkware/cairo/lang:cairo_instances_lib", + "//src/starkware/cairo/lang/builtins:cairo_run_builtins_lib", + "//src/starkware/cairo/lang/builtins:cairo_run_builtins_test_utils_lib", + "//src/starkware/cairo/lang/vm:cairo_relocatable_lib", + "//src/starkware/cairo/lang/vm:cairo_run_lib", + "//src/starkware/cairo/lang/vm:cairo_vm_lib", + ], +) diff --git a/src/starkware/cairo/lang/builtins/modulo/__init__.py b/src/starkware/cairo/lang/builtins/modulo/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/starkware/cairo/lang/builtins/modulo/instance_def.py b/src/starkware/cairo/lang/builtins/modulo/instance_def.py new file mode 100644 index 00000000..3972fd79 --- /dev/null +++ b/src/starkware/cairo/lang/builtins/modulo/instance_def.py @@ -0,0 +1,91 @@ +import dataclasses +from abc import abstractmethod + +from starkware.cairo.lang.builtins.instance_def import BuiltinInstanceDefWithLowRatio +from starkware.python.math_utils import div_ceil, log2_ceil, safe_div + + +# Mypy has a problem with dataclasses that contain unimplemented abstract methods. +# See https://github.com/python/mypy/issues/5374 for details on this problem. +@dataclasses.dataclass # type: ignore[misc] +class ModInstanceDef(BuiltinInstanceDefWithLowRatio): + # The parameters of the presentation of large integers in felts. Each number is composed of + # n_words felts, each containing a value in [0, 2**word_bit_len), to represent + # n_words * word_bit_len bit-long integers. + # E.g., for 384-bit numbers, use word_bit_len = 96 and n_words = 4. + word_bit_len: int + n_words: int + batch_size: int + + @property + def memory_cells_per_instance(self) -> int: + # The user-facing memory has n_words + 3 memory cells per instance (p, n and two pointers), + # and the additional memory contains 3*(n_words + 1) memory cells, for offsets and values + # of each of a, b, and c. + return self.n_words + 3 + self.batch_size * 3 * (self.n_words + 1) + + @property + @abstractmethod + def range_check_units_per_builtin(self) -> int: + pass + + @property + def invocation_height(self) -> int: + # Both add_mod and mul_mod have virtual columns such as the carries whose height is + # batch_size, yet no virtual column is of height greater than batch_size. + return self.batch_size + + def get_diluted_units_per_builtin(self, diluted_spacing: int, diluted_n_bits: int) -> int: + return 0 + + +@dataclasses.dataclass +class AddModInstanceDef(ModInstanceDef): + @property + def range_check_units_per_builtin(self) -> int: + # No range check units in the builtin itself. The range check is done externally. + return 0 + + +@dataclasses.dataclass +class MulModInstanceDef(ModInstanceDef): + # The bits in the basic range check units, needed to calculate the amount used by the builtin. + bits_per_part: int = 16 + + @property + def p_multiplier_n_parts(self): + return safe_div(self.word_bit_len, self.bits_per_part) + + """ + Let W = 2**word_bit_len. + Each carry in the computation of a * b - k * p - c is the sum of up to positive + terms from a * b, each having absolute value < W**2, negative terms from k * p, + each having absolute value < W**2, and a negative term from c, having absolute value < W. + + Therefore each carry is in the (closed) range [-n_words * W**2 - W + 1, n_words * W**2 - 1]. + This can be tightened to [-n_words * W**2, n_words * W**2 - W] based on the fact that carries + are always a multiple of W. + + We store each carry c_i in a trace cell having value (c_i / W) + carry_offset. Choosing + carry_offset = n_words * W ensures that the trace cell will have a non-negative value. + + Therefore the maximal value of a carry trace cell is (2 * n_words * W - 1). + """ + + @property + def carry_n_parts(self): + # The number of parts required to represent the maximal carry trace cell value. + return self.p_multiplier_n_parts + div_ceil(log2_ceil(self.n_words) + 1, self.bits_per_part) + + @property + def carry_offset(self): + return self.n_words * (1 << self.word_bit_len) + + @property + def range_check_units_per_builtin(self) -> int: + # The carry requires 2 * (n_words - 1) * carry_n_parts range check units and p_multiplier + # requires n_words * p_multiplier_n_parts units for each (a,b,c) tuple, of which there are + # self.batch_size in an instance. + return ( + self.n_words * self.p_multiplier_n_parts + 2 * (self.n_words - 1) * self.carry_n_parts + ) * self.batch_size diff --git a/src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner.py b/src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner.py new file mode 100644 index 00000000..5c1eba98 --- /dev/null +++ b/src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner.py @@ -0,0 +1,604 @@ +import abc +import operator +from dataclasses import dataclass +from enum import Enum +from math import ceil +from typing import Any, Callable, Dict, List, Optional, Tuple, cast + +from starkware.cairo.lang.builtins.modulo.instance_def import ( + AddModInstanceDef, + ModInstanceDef, + MulModInstanceDef, +) +from starkware.cairo.lang.vm.builtin_runner import SimpleBuiltinRunnerWithLowRatio +from starkware.cairo.lang.vm.memory_dict import MemoryDict +from starkware.cairo.lang.vm.relocatable import MaybeRelocatable, RelocatableValue +from starkware.python.math_utils import igcdex, safe_div + +# The maximum n value that the function fill_memory accepts. +MAX_N = 100000 + +INPUT_NAMES = [ + "p0", + "p1", + "p2", + "p3", + "values_ptr", + "offsets_ptr", + "n", +] + +MEMORY_VAR_NAMES = [ + "a_offset", + "b_offset", + "c_offset", + "a0", + "a1", + "a2", + "a3", + "b0", + "b1", + "b2", + "b3", + "c0", + "c1", + "c2", + "c3", +] + +INPUT_CELLS = len(INPUT_NAMES) +ADDITIONAL_MEMORY_UNITS = len(MEMORY_VAR_NAMES) + + +class FillValueResult(Enum): + Success = 0 + MissingOperand = 1 + ZeroDivisor = 2 + + +class ModBuiltinRunner(SimpleBuiltinRunnerWithLowRatio): + def __init__( + self, + name: str, + included: bool, + instance_def: ModInstanceDef, + op: Callable[[int, int], int], + k_bound: Optional[int], + ): + super().__init__( + name=name, + included=included, + ratio=None if instance_def is None else instance_def.ratio, + cells_per_instance=INPUT_CELLS, + n_input_cells=INPUT_CELLS, + additional_memory_units_per_instance=ADDITIONAL_MEMORY_UNITS, + ratio_den=instance_def.ratio_den, + ) + self.instance_def: ModInstanceDef = instance_def + self.zero_value: Optional[RelocatableValue] = None + self.zero_segment_size = max(self.instance_def.n_words, self.instance_def.batch_size * 3) + # Precomputed powers used for reading and writing values that are represented as n_words + # words of word_bit_len bits each. + self.shift = 2**self.instance_def.word_bit_len + self.shift_powers = [self.shift**i for i in range(self.instance_def.n_words)] + + self.int_lim = 2 ** (self.instance_def.n_words * self.instance_def.word_bit_len) + + self.op = op + # In the case the input for k_bound is None we give self.k_bound the value of self.int_lim, + # otherwise we give it the value of k_bound. + self.k_bound = k_bound if k_bound is not None else self.int_lim + + def get_needed_number_allocated_zeros(self) -> int: + return self.zero_segment_size + + def set_address_allocated_zeros(self, addr: RelocatableValue): + self.zero_value = addr + + def get_instance_def(self): + return self.instance_def + + def get_memory_accesses(self, runner): + """ + Returns memory accesses for the builtin on all segments, including values and offsets + addresses. Used by the cairo_runner to check for memory holes. + """ + segment_size = runner.segments.get_segment_size(self.base.segment_index) + n_instances = ceil(segment_size / self.cells_per_instance) + res = set() + for instance in range(n_instances): + offsets_ptr_addr = ( + self.base + instance * self.n_input_cells + INPUT_NAMES.index("offsets_ptr") + ) + offsets_addr = runner.vm_memory[offsets_ptr_addr] + values_ptr_addr = ( + self.base + instance * self.n_input_cells + INPUT_NAMES.index("values_ptr") + ) + values_addr = runner.vm_memory[values_ptr_addr] + for i in range(3 * self.instance_def.batch_size): + offset_addr = offsets_addr + i + res.add(offset_addr) + offset = runner.vm_memory[offset_addr] + for j in range(self.instance_def.n_words): + res.add(values_addr + offset + j) + return super().get_memory_accesses(runner).union(res) + + def initialize_segments(self, runner): + super().initialize_segments(runner) + + def finalize_segments(self, runner): + super().finalize_segments(runner) + + def get_additional_data(self): + assert self.zero_value is not None, "Uninitialized self.zero_value." + return [list(RelocatableValue.to_tuple(self.zero_value))] + + def extend_additional_data(self, data, relocate_callback, data_is_trusted=True): + self.zero_value = relocate_callback(RelocatableValue.from_tuple(data[0])) + + # The structure of the values in the returned dictionary is of the form: + # {keys = INPUT_NAMES, "batch": {index_in_batch: {keys = MEMORY_VAR_NAMES}}}. + def air_private_input(self, runner) -> Dict[str, Any]: + assert self.base is not None, "Uninitialized self.base." + res: Dict[int, Any] = {} + values_addr_per_instance = {} + offsets_addr_per_instance = {} + for addr, val in runner.vm_memory.items(): + if ( + not isinstance(addr, RelocatableValue) + or addr.segment_index != self.base.segment_index + ): + continue + idx, typ = divmod(addr.offset, INPUT_CELLS) + typ_name = INPUT_NAMES[typ] + if isinstance(val, RelocatableValue): + assert typ_name in ["values_ptr", "offsets_ptr"] + if typ_name == "values_ptr": + values_addr_per_instance[idx] = val + elif typ_name == "offsets_ptr": + offsets_addr_per_instance[idx] = val + val = runner.relocate_value(val) + assert isinstance(val, int) + # p0-p3 are felts, and must be saved in hex. Other values are UInt64. + if typ < 4: + val = hex(val) + res.setdefault( + idx, {"index": idx, "batch": [{} for _ in range(self.instance_def.batch_size)]} + )[typ_name] = val + + for idx, offsets_addr in offsets_addr_per_instance.items(): + for index_in_batch in range(self.instance_def.batch_size): + for i, s in enumerate("abc"): + offset = runner.vm_memory[offsets_addr + i + 3 * index_in_batch] + res[idx]["batch"][index_in_batch][f"{s}_offset"] = offset + assert idx in values_addr_per_instance + values_addr = values_addr_per_instance[idx] + for d in range(self.instance_def.n_words): + value = runner.vm_memory[values_addr + offset + d] + res[idx]["batch"][index_in_batch][f"{s}{d}"] = hex(value) + + for index, item in res.items(): + for name in INPUT_NAMES: + assert name in item, f"Missing input '{name}' of {self.name} instance {index}." + for index_in_batch in range(self.instance_def.batch_size): + for name in MEMORY_VAR_NAMES: + assert name in item["batch"][index_in_batch], ( + f"Missing memory variable '{name}' of {self.name} instance {index}, " + + f"batch {index_in_batch}." + ) + + sorted_res = sorted(res.values(), key=lambda item: item["index"]) + assert self.zero_value is not None, "Uninitialized self.zero_value." + zero_value_address = runner.relocate_value(self.zero_value) + return {self.name: {"instances": sorted_res, "zero_value_address": zero_value_address}} + + def read_n_words_value(self, memory, addr) -> Tuple[List[int], Optional[int]]: + """ + Reads self.instance_def.n_words from memory, starting at address=addr. + Returns the words and the value if all words are in memory. + Verifies that all words are integers and are bounded by 2**self.instance_def.word_bit_len. + """ + if addr not in memory: + return [], None + + words: List[int] = [] + value = 0 + for i in range(self.instance_def.n_words): + addr_i = addr + i + if addr_i not in memory: + return words, None + word = memory[addr_i] + assert isinstance(word, int), ( + f"Expected integer at address {addr_i}. " + f"Got: {word}." + ) + assert word < self.shift, ( + f"Expected integer at address {addr_i} to be smaller than " + + f"2^{self.instance_def.word_bit_len}. Got: {word}." + ) + words.append(word) + value += word * self.shift_powers[i] + + return words, value + + def run_security_checks(self, runner): + op = self.op + k_bound = self.k_bound + super().run_security_checks(runner) + segment_size = runner.segments.get_segment_used_size(self.base.segment_index) + n_instances = ceil(segment_size / self.cells_per_instance) + + prev_inputs = None + for instance in range(n_instances): + inputs = self.read_inputs(runner.vm_memory, self.base + instance * self.n_input_cells) + if prev_inputs is not None and prev_inputs["n"] > self.instance_def.batch_size: + assert all( + inputs[f"p{i}"] == prev_inputs[f"p{i}"] + for i in range(self.instance_def.n_words) + ) + assert inputs["values_ptr"] == prev_inputs["values_ptr"] + assert ( + inputs["offsets_ptr"] + == prev_inputs["offsets_ptr"] + 3 * self.instance_def.batch_size + ) + assert inputs["n"] == prev_inputs["n"] - self.instance_def.batch_size + assert isinstance(inputs["p"], int) + for index_in_batch in range(self.instance_def.batch_size): + values = self.read_memory_vars( + runner.vm_memory, inputs["values_ptr"], inputs["offsets_ptr"], index_in_batch + ) + assert op(values["a"], values["b"]) % inputs["p"] == values["c"] % inputs["p"], ( + f"{self.name} builtin: Expected a {op} b == c (mod p). Got: " + + f"instance={instance}, batch={index_in_batch}, inputs={inputs}, " + + f"values={values}." + ) + assert ( + op(values["a"], values["b"]) - values["c"] < k_bound * inputs["p"] + and op(values["a"], values["b"]) >= values["c"] + ), ( + f"{self.name} builtin: Expected (a {op} b - c)/p to be in " + + f"{{0,1,...,{k_bound-1}}} Got: " + + f"instance={instance}, batch={index_in_batch}, inputs={inputs}, " + + f"values={values}." + ) + prev_inputs = inputs + if prev_inputs is not None: + assert prev_inputs["n"] == self.instance_def.batch_size + + def read_inputs(self, memory, addr, read_n: bool = True) -> Dict[str, MaybeRelocatable]: + """ + Reads the inputs to the builtin (see INPUT_NAMES) from the memory at address=addr. + Returns a dictionary from input name to its value. Asserts that it exists in memory. + Returns also the value of p, not just its words. + + If `read_n` is false, avoids reading and validating the value of 'n'. + """ + inputs = {} + inputs["values_ptr"] = memory[addr + INPUT_NAMES.index("values_ptr")] + assert isinstance(inputs["values_ptr"], RelocatableValue), ( + f"{self.name} builtin: Expected RelocatableValue at address " + + f"{addr + INPUT_NAMES.index('values_ptr')}. Got: {inputs['values_ptr']}." + ) + inputs["offsets_ptr"] = memory[addr + INPUT_NAMES.index("offsets_ptr")] + assert isinstance(inputs["offsets_ptr"], RelocatableValue), ( + f"{self.name} builtin: Expected RelocatableValue at address " + + f"{addr + INPUT_NAMES.index('offsets_ptr')}. Got: {inputs['offsets_ptr']}." + ) + + if read_n: + inputs["n"] = memory[addr + INPUT_NAMES.index("n")] + assert isinstance(inputs["n"], int), ( + f"{self.name} builtin: Expected integer at address " + + f"{addr + INPUT_NAMES.index('n')}. Got: {inputs['n']}." + ) + assert inputs["n"] >= 1, f"{self.name} builtin: Expected n >= 1. Got: {inputs['n']}." + + p_addr = addr + INPUT_NAMES.index("p0") + words, value = self.read_n_words_value(memory, p_addr) + assert ( + value is not None + ), f"{self.name} builtin: Missing value at address {p_addr + len(words)}." + inputs["p"] = value + for d, w in enumerate(words): + inputs[f"p{d}"] = w + return inputs + + def read_memory_vars(self, memory, values_ptr, offsets_ptr, index_in_batch) -> Dict[str, int]: + """ + Reads the memory variables to the builtin (see MEMORY_VAR_NAMES) from the memory given + the inputs (specifically, values_ptr and offsets_ptr). + Returns a dictionary from memory variable name to its value. Asserts if it doesn't exist in + memory. Returns also the values of a, b, and c, not just their words. + """ + memory_vars = {} + for i, s in enumerate("abc"): + offset = memory[offsets_ptr + i + 3 * index_in_batch] + assert isinstance(offset, int), ( + f"{self.name} builtin: Expected integer at address " + + f"{offsets_ptr + i}. Got: {offset}." + ) + memory_vars[f"{s}_offset"] = offset + value_addr = values_ptr + offset + words, value = self.read_n_words_value(memory, value_addr) + assert ( + value is not None + ), f"{self.name} builtin: Missing value at address {value_addr + len(words)}." + memory_vars[s] = value + for d, w in enumerate(words): + memory_vars[f"{s}{d}"] = w + return memory_vars + + @staticmethod + def fill_memory( + memory, + add_mod: Optional[Tuple[RelocatableValue, "AddModBuiltinRunner", int]], + mul_mod: Optional[Tuple[RelocatableValue, "MulModBuiltinRunner", int]], + ): + """ + Fills the memory with inputs to the builtin instances based on the inputs to the + first instance, pads the offsets table to fit the number of operations written in the + input to the first instance, and calculates missing values in the values table. + + For each builtin, the given tuple is of the form (builtin_ptr, builtin_runner, n), + where n is the number of operations in the offsets table (i.e., the length of the + offsets table is 3*n). + + The number of operations written to the input of the first instance n' should be at + least n and a multiple of batch_size. Previous offsets are copied to the end of the + offsets table to make its length 3n'. + """ + # Check that the instance definitions of the builtins are the same. + if add_mod and mul_mod: + assert ( + add_mod[1].instance_def.n_words == mul_mod[1].instance_def.n_words + and add_mod[1].instance_def.word_bit_len == mul_mod[1].instance_def.word_bit_len + ), f"add_mod and mul_mod builtins must have the same n_words and word_bit_len." + + if add_mod and add_mod[2] == 0: + add_mod = None + if mul_mod and mul_mod[2] == 0: + mul_mod = None + + # Fill the inputs to the builtins. + if add_mod: + assert add_mod[2] <= MAX_N, f"{add_mod[1].name} builtin: n must be <= {MAX_N}" + add_mod_inputs = add_mod[1].read_inputs(memory, add_mod[0]) + + add_mod_instance = ModBuiltinRunner.InstanceData( + builtin=add_mod[1], + memory=memory, + values_ptr=cast(RelocatableValue, add_mod_inputs["values_ptr"]), + offsets_ptr=cast(RelocatableValue, add_mod_inputs["offsets_ptr"]), + modulus=cast(int, add_mod_inputs["p"]), + ) + add_mod[1].fill_inputs(memory, add_mod[0], add_mod_inputs) + add_mod[1].fill_offsets( + memory, add_mod_inputs, add_mod[2], add_mod_inputs["n"] - add_mod[2] + ) + if mul_mod: + assert mul_mod[2] <= MAX_N, f"{mul_mod[1].name} builtin: n must be <= {MAX_N}" + + # Note that we can't read 'n' here because sierra expects this function to compute it. + mul_mod_inputs = mul_mod[1].read_inputs(memory, mul_mod[0], read_n=False) + mul_mod_instance = ModBuiltinRunner.InstanceData( + builtin=mul_mod[1], + memory=memory, + values_ptr=cast(RelocatableValue, mul_mod_inputs["values_ptr"]), + offsets_ptr=cast(RelocatableValue, mul_mod_inputs["offsets_ptr"]), + modulus=cast(int, mul_mod_inputs["p"]), + ) + + has_add_mod_runner = has_mul_mod_runner = False + if add_mod: + has_add_mod_runner = isinstance(add_mod[1], AddModBuiltinRunner) + if mul_mod: + has_mul_mod_runner = isinstance(mul_mod[1], MulModBuiltinRunner) + assert ( + has_add_mod_runner or has_mul_mod_runner + ), "At least one of add_mod and mul_mod must be given." + + # Fill the values table. + add_mod_n = add_mod[2] if add_mod else 0 + mul_mod_n = mul_mod[2] if mul_mod else 0 + + add_mod_index = 0 + mul_mod_index = 0 + + n_computed_mul_gates = None + while add_mod_index < add_mod_n or mul_mod_index < mul_mod_n: + if add_mod_index < add_mod_n and has_add_mod_runner: + if add_mod_instance.fill_value(index=add_mod_index) == FillValueResult.Success: + add_mod_index += 1 + continue + if mul_mod_index < mul_mod_n and has_mul_mod_runner: + gate_res = mul_mod_instance.fill_value(index=mul_mod_index) + if gate_res == FillValueResult.MissingOperand: + raise Exception( + f"Could not fill the values table, " + + f"add_mod_index={add_mod_index}, mul_mod_index={mul_mod_index}" + ) + elif gate_res == FillValueResult.ZeroDivisor and n_computed_mul_gates is None: + n_computed_mul_gates = mul_mod_index + + mul_mod_index += 1 + + if mul_mod: + mul_mod_ptr = mul_mod[0] + n_mul_mods_ptr = mul_mod_ptr + INPUT_NAMES.index("n") + if n_computed_mul_gates is None: + n_computed_mul_gates = memory.get(n_mul_mods_ptr) + if n_computed_mul_gates is None: + n_computed_mul_gates = mul_mod_n + mul_mod_inputs["n"] = n_computed_mul_gates + mul_mod[1].fill_offsets( + memory, mul_mod_inputs, mul_mod_n, n_computed_mul_gates - mul_mod_n + ) + else: + assert ( + mul_mod[1].instance_def.batch_size == 1 + ), "Inverse failure is supported only at batch_size == 1." + + memory[n_mul_mods_ptr] = n_computed_mul_gates + mul_mod_inputs["n"] = n_computed_mul_gates + mul_mod[1].fill_inputs(memory, mul_mod_ptr, mul_mod_inputs) + + @abc.abstractmethod + def calc_operand(self, known, res, p) -> Tuple[FillValueResult, int]: + """ + Given known, res, p tries to compute the minimal integer operand x which + satisfies the equation op(x,known) = res + k*p for some k in {0,1,...,self.k_bound-1}. + If op is operator.mul, and gcd(known, p) != 1, returns + (FillValueResult.ZeroDivisor, nullifier) s.t. 0 < nullifier < p and + nullifier * known = 0 (mod p). + """ + + # Fills the inputs to the instances of the builtin given the inputs to the first instance. + def fill_inputs(self, memory, builtin_ptr, inputs): + assert inputs["n"] <= MAX_N, f"{self.name} builtin: n must be <= {MAX_N}" + n_instances = safe_div(inputs["n"], self.instance_def.batch_size) + for instance in range(1, n_instances): + instance_ptr = builtin_ptr + instance * len(INPUT_NAMES) + for i in range(self.instance_def.n_words): + memory[instance_ptr + INPUT_NAMES.index(f"p{i}")] = inputs[f"p{i}"] + memory[instance_ptr + INPUT_NAMES.index("values_ptr")] = inputs["values_ptr"] + memory[instance_ptr + INPUT_NAMES.index("offsets_ptr")] = ( + inputs["offsets_ptr"] + 3 * instance * self.instance_def.batch_size + ) + memory[instance_ptr + INPUT_NAMES.index("n")] = ( + inputs["n"] - instance * self.instance_def.batch_size + ) + + # Copies the first offsets in the offsets table to its end, n_copies times. + def fill_offsets(self, memory, inputs, index, n_copies): + offsets = {} + for i, s in enumerate("abc"): + s_offset = memory[inputs["offsets_ptr"] + i] + offsets[s] = s_offset + for i in range(n_copies): + for j, s in enumerate("abc"): + memory[inputs["offsets_ptr"] + 3 * (index + i) + j] = offsets[s] + + def write_n_words_value(self, memory, addr, value): + """ + Given a value, writes its n_words to memory, starting at address=addr. + """ + value_copy = value + for i in range(self.instance_def.n_words): + word = value_copy % self.shift + # The following line will raise InconsistentMemoryError if the address is already in + # memory and a different value is written. + memory[addr + i] = word + value_copy //= self.shift + assert value_copy == 0 + + @dataclass + class InstanceData: + builtin: "ModBuiltinRunner" + memory: MemoryDict + values_ptr: RelocatableValue + offsets_ptr: RelocatableValue + modulus: int + + # Fills a value in the values table, if exactly one value is missing. + # Returns true on success or if all values are already known. + def fill_value(self, index) -> FillValueResult: + memory = self.memory + builtin = self.builtin + op = builtin.op + k_bound = builtin.k_bound + offsets_ptr = self.offsets_ptr + values_ptr = self.values_ptr + addresses = ( + values_ptr + memory[offsets_ptr + 3 * index], + values_ptr + memory[offsets_ptr + 3 * index + 1], + values_ptr + memory[offsets_ptr + 3 * index + 2], + ) + values: List[Optional[int]] = [] + for addr in addresses: + _words, value = builtin.read_n_words_value(memory, addr) + values.append(value) + + if None not in values: + # All values are already known. + return FillValueResult.Success + + a, b, c = values + p = self.modulus + # Deduce c from a and b and write it to memory. + if c is None and a is not None and b is not None: + tmp_val = op(a, b) + # Check if op(a, b) is too big to compensate for with multiples of p. + assert tmp_val - (k_bound - 1) * p <= builtin.int_lim - 1, ( + f"{builtin.name} builtin: " + + f"Expected a {op} b - {k_bound - 1} * p <= {builtin.int_lim - 1}" + + f". Got: values={values}, p={p}." + ) + value = tmp_val % p if tmp_val < k_bound * p else tmp_val - (k_bound - 1) * p + builtin.write_n_words_value(memory, addresses[2], value) + return FillValueResult.Success + # Deduce b from a and c. + res, value = None, None + if b is None and a is not None and c is not None: + res, value = builtin.calc_operand(known=a, res=c, p=p) + ind = 1 + # Deduce a from b and c. + if a is None and b is not None and c is not None: + res, value = builtin.calc_operand(known=b, res=c, p=p) + ind = 0 + # Write the deduced operand to memory. + if res is not None: + builtin.write_n_words_value(memory, addresses[ind], value) + return res + return FillValueResult.MissingOperand + + +class AddModBuiltinRunner(ModBuiltinRunner): + def __init__(self, included: bool, instance_def: AddModInstanceDef): + super().__init__( + name="add_mod", included=included, instance_def=instance_def, op=operator.add, k_bound=2 + ) + + def calc_operand(self, known, res, p): + # Currently k_bound = 2 is the only option. + assert ( + known <= res + p + ), f"add_mod builtin: addend greater than sum + p: {known} > {res} + {p}." + value = res - known if known <= res else res + p - known + return (FillValueResult.Success, value) + + +class MulModBuiltinRunner(ModBuiltinRunner): + def __init__(self, included: bool, instance_def: MulModInstanceDef): + super().__init__( + name="mul_mod", + included=included, + instance_def=instance_def, + op=operator.mul, + k_bound=None, + ) + + def calc_operand(self, known, res, p): + x, _, gcd = igcdex(known, p) + if gcd != 1: + nullifier = p // gcd + # Note that gcd divides known, so known * nullifier = known * (p // gcd) = + # (known // gcd) * p = 0 (mod p) + return FillValueResult.ZeroDivisor, nullifier + + tmp_val = (res * x) % p + tmp_k = safe_div((known * tmp_val) - res, p) + # This cannot happen as long as self.k_bound >= self.int_lim. + assert tmp_k < self.k_bound, ( + f"mul_mod builtin: (({known} * q) - {res}) / {p} > {self.k_bound} for any " + + f"q > 0, such that {known} * q = {res} (mod {p})." + ) + if tmp_k >= 0: + return FillValueResult.Success, tmp_val + + # This cannot be greater than max(res, p) since + # tmp_val + p * ((known - 1 - tmp_k) // known) < + # tmp_val + p * (-tmp_k) / known + p*(known-1)/known = + # res/known + p * (known-1) / known + # meaning it is a convex combination of res and p. + value = tmp_val + p * ((known - 1 - tmp_k) // known) + + return FillValueResult.Success, value diff --git a/src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner_test.py b/src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner_test.py new file mode 100644 index 00000000..b0f7f93d --- /dev/null +++ b/src/starkware/cairo/lang/builtins/modulo/mod_builtin_runner_test.py @@ -0,0 +1,430 @@ +import dataclasses +from typing import Dict + +import pytest + +from starkware.cairo.lang.builtins.builtin_runner_test_utils import compile_and_run +from starkware.cairo.lang.builtins.modulo.instance_def import AddModInstanceDef, MulModInstanceDef +from starkware.cairo.lang.builtins.modulo.mod_builtin_runner import ( + AddModBuiltinRunner, + ModBuiltinRunner, + MulModBuiltinRunner, +) +from starkware.cairo.lang.instances import all_cairo_instance +from starkware.cairo.lang.vm.builtin_runner import SimpleBuiltinRunner +from starkware.cairo.lang.vm.cairo_runner import CairoRunner +from starkware.cairo.lang.vm.memory_dict import MemoryDict +from starkware.cairo.lang.vm.relocatable import RelocatableValue +from starkware.cairo.lang.vm.vm_exceptions import SecurityError, VmException + + +def check_result(runner: ModBuiltinRunner, inverse_bool: bool, p: int, x1: int, x2: int, res: int): + """ + Tests whether runner completes a trio a, b, c as the input implies: + If inverse_bool is False it tests whether a=x1, b=x2, c=None will be completed with c=res. + If inverse_bool is True it tests whether c=x1, b=x2, a=None will be completed with a=res. + The case c=x1, a=x2, b=None is currently completely symmetric in fill_value so it isn't tested. + This function does not return a value but instead asserts equality. + """ + nwords = runner.instance_def.n_words + memory = MemoryDict() + offsets_ptr = RelocatableValue(0, 0) + memory[offsets_ptr + 0] = 0 + memory[offsets_ptr + 1] = nwords + memory[offsets_ptr + 2] = 2 * nwords + + values_ptr = RelocatableValue(0, 24) + runner.write_n_words_value(memory, values_ptr + nwords, x2) + x1_addr = values_ptr + res_addr = values_ptr + 2 * nwords + + if inverse_bool: + (x1_addr, res_addr) = (res_addr, x1_addr) + + runner.write_n_words_value(memory, x1_addr, x1) + + ModBuiltinRunner.InstanceData( + builtin=runner, + memory=memory, + values_ptr=values_ptr, + offsets_ptr=offsets_ptr, + modulus=p, + ).fill_value(index=0) + _, out_res = runner.read_n_words_value(memory, res_addr) + assert out_res == res + + +@pytest.fixture(params=[1, 8]) +def batch_size(request): + return request.param + + +@pytest.fixture +def run_mod_p_circuit(batch_size): + run_mod_p_circuit = ( + "run_mod_p_circuit" if batch_size == 1 else "run_mod_p_circuit_with_large_batch_size" + ) + return run_mod_p_circuit + + +@pytest.fixture +def layout(batch_size): + # Create a dummy layout. + layout = dataclasses.replace( + all_cairo_instance, + builtins={ + **all_cairo_instance.builtins, + "add_mod": AddModInstanceDef( + ratio=1, ratio_den=1, word_bit_len=3, n_words=4, batch_size=batch_size + ), + "mul_mod": MulModInstanceDef( + ratio=1, + ratio_den=1, + word_bit_len=3, + n_words=4, + batch_size=batch_size, + bits_per_part=1, + ), + }, + ) + return layout + + +@pytest.fixture +def builtin_runners(layout): + builtin_runners: Dict[str, ModBuiltinRunner] = { + "add_mod_builtin": AddModBuiltinRunner( + included=True, + instance_def=layout.builtins["add_mod"], + ), + "mul_mod_builtin": MulModBuiltinRunner( + included=True, + instance_def=layout.builtins["mul_mod"], + ), + } + return builtin_runners + + +def test_mod_builtin_runner(batch_size, layout, run_mod_p_circuit): + CODE_FORMAT = """ +%builtins range_check add_mod mul_mod +from starkware.cairo.common.cairo_builtins import ModBuiltin, UInt384 +from starkware.cairo.common.registers import get_label_location +from starkware.cairo.common.alloc import alloc +from starkware.cairo.common.modulo import {run_mod_p_circuit} + +func main{{range_check_ptr, add_mod_ptr: ModBuiltin*, mul_mod_ptr: ModBuiltin*}}() {{ + alloc_locals; + + let p = UInt384(d0={p[0]}, d1={p[1]}, d2={p[2]}, d3={p[3]}); + let x1 = UInt384(d0={x1[0]}, d1={x1[1]}, d2={x1[2]}, d3={x1[3]}); + let x2 = UInt384(d0={x2[0]}, d1={x2[1]}, d2={x2[2]}, d3={x2[3]}); + let x3 = UInt384(d0={x3[0]}, d1={x3[1]}, d2={x3[2]}, d3={x3[3]}); + let res = UInt384(d0={res[0]}, d1={res[1]}, d2={res[2]}, d3={res[3]}); + + let (local values_arr: UInt384*) = alloc(); + assert values_arr[0] = x1; + assert values_arr[1] = x2; + assert values_arr[2] = x3; + assert values_arr[7] = res; + + let (local add_mod_offsets_arr: felt*) = alloc(); + assert add_mod_offsets_arr[0] = 0; // x1 + assert add_mod_offsets_arr[1] = 12; // x2 - x1 + assert add_mod_offsets_arr[2] = 4; // x2 + assert add_mod_offsets_arr[3] = 16; // (x2 - x1) / x3 + assert add_mod_offsets_arr[4] = 20; // x1 / x3 + assert add_mod_offsets_arr[5] = 24; // (x2 - x1) / x3 + x1 / x3 + + let (local mul_mod_offsets_arr: felt*) = alloc(); + assert mul_mod_offsets_arr[0] = 8; // x3 + assert mul_mod_offsets_arr[1] = 16; // (x2 - x1) / x3 + assert mul_mod_offsets_arr[2] = 12; // (x2 - x1) + assert mul_mod_offsets_arr[3] = 8; // x3 + assert mul_mod_offsets_arr[4] = 20; // x1 / x3 + assert mul_mod_offsets_arr[5] = 0; // x1 + assert mul_mod_offsets_arr[6] = 8; // x3 + assert mul_mod_offsets_arr[7] = 24; // ((x2 - x1) / x3 + x1 / x3) + assert mul_mod_offsets_arr[8] = 28; // ((x2 - x1) / x3 + x1 / x3) * x3 + + {run_mod_p_circuit}( + p=p, + values_ptr=values_arr, + add_mod_offsets_ptr=add_mod_offsets_arr, + add_mod_n=2, + mul_mod_offsets_ptr=mul_mod_offsets_arr, + mul_mod_n=3, + ); + + return (); +}} +""" + + # A valid computation. + compile_and_run( + CODE_FORMAT.format( + p=[1, 1, 0, 0], + x1=[1, 0, 0, 0], + x2=[2, 1, 0, 0], + x3=[2, 0, 0, 0], + res=[1, 0, 0, 0], + run_mod_p_circuit=run_mod_p_circuit, + ), + layout=layout, + secure_run=True, + ) + + # Test that the runner fails where a0 is too big. + with pytest.raises(VmException, match="Expected integer at address .* to be smaller"): + compile_and_run( + CODE_FORMAT.format( + p=[1, 1, 0, 0], + x1=[8, 0, 0, 0], + x2=[2, 1, 0, 0], + x3=[2, 0, 0, 0], + res=[1, 0, 0, 0], + run_mod_p_circuit=run_mod_p_circuit, + ), + layout=layout, + secure_run=True, + ) + + # Test that the runner fails when an incorrect result is given. + with pytest.raises(SecurityError, match=r"Expected a .* b == c \(mod p\)"): + compile_and_run( + CODE_FORMAT.format( + p=[1, 1, 0, 0], + x1=[1, 0, 0, 0], + x2=[2, 1, 0, 0], + x3=[2, 0, 0, 0], + res=[2, 0, 0, 0], + run_mod_p_circuit=run_mod_p_circuit, + ), + layout=layout, + secure_run=True, + ) + + expected_error = ( + "Inconsistent memory assignment at address 4:6\. 3 != 0\." + if batch_size == 1 + else "Inverse failure is supported only at batch_size == 1\." + ) + + # Test that the runner fails when dividing by zero. + with pytest.raises( + VmException, + match=expected_error, + ): + compile_and_run( + CODE_FORMAT.format( + p=[1, 1, 0, 0], + x1=[1, 0, 0, 0], + x2=[2, 1, 0, 0], + x3=[0, 0, 0, 0], + res=[2, 0, 0, 0], + run_mod_p_circuit=run_mod_p_circuit, + ), + layout=layout, + secure_run=True, + ) + + +def read_builtin_segment_at_offset(runner: CairoRunner, builtin_name: str, offset: int): + """ + Returns the value at runner.builtin_runners[builtin_name] + offset, + Assumes builtin_runner is a SimpleBuiltinRunner. + """ + builtin_runner = runner.builtin_runners[builtin_name] + assert isinstance(builtin_runner, SimpleBuiltinRunner) + return runner.memory[builtin_runner.base + offset] + + +def test_mod_builtin_inverse(): + CODE_FORMAT = """ +%builtins range_check96 add_mod mul_mod +from starkware.cairo.common.cairo_builtins import ModBuiltin, UInt384 +from starkware.cairo.common.alloc import alloc + +func main{{range_check96_ptr, add_mod_ptr: ModBuiltin*, mul_mod_ptr: ModBuiltin*}}() {{ + alloc_locals; + + let x1 = UInt384(d0={x1[0]}, d1={x1[1]}, d2={x1[2]}, d3={x1[3]}); + + let values_arr = cast(range_check96_ptr, UInt384*); + assert values_arr[0] = UInt384(1, 0, 0, 0); + assert values_arr[1] = x1; + + + let (local mul_mod_offsets_arr: felt*) = alloc(); + assert mul_mod_offsets_arr[0] = 0; // 1 + assert mul_mod_offsets_arr[1] = 0; // 1 + assert mul_mod_offsets_arr[2] = 0; // 1 * 1 + assert mul_mod_offsets_arr[3] = 4; // x1 + assert mul_mod_offsets_arr[4] = 8; // x1 ^ (-1) + assert mul_mod_offsets_arr[5] = 0; // 1 + + assert mul_mod_ptr[0].p = UInt384({p[0]}, {p[1]}, {p[2]}, {p[3]}); + assert mul_mod_ptr[0].values_ptr = values_arr; + assert mul_mod_ptr[0].offsets_ptr = mul_mod_offsets_arr; + + %{{ + from starkware.cairo.lang.builtins.modulo.mod_builtin_runner import ModBuiltinRunner + assert builtin_runners["add_mod_builtin"].instance_def.batch_size == 1 + assert builtin_runners["mul_mod_builtin"].instance_def.batch_size == 1 + + ModBuiltinRunner.fill_memory( + memory=memory, + add_mod=(ids.add_mod_ptr.address_, builtin_runners["add_mod_builtin"], 0), + mul_mod=(ids.mul_mod_ptr.address_, builtin_runners["mul_mod_builtin"], 2), + ) + %}} + + let range_check96_ptr = range_check96_ptr + 12; + let mul_mod_ptr = &mul_mod_ptr[mul_mod_ptr.n]; + + return (); +}} +""" + + # Valid Computation. + runner = compile_and_run( + CODE_FORMAT.format( + p=[7, 0, 0, 0], + x1=[3, 0, 0, 0], + ), + layout=all_cairo_instance, + secure_run=True, + ) + + # Check that two mul mod gates were computed and that the inverse is correct. + assert read_builtin_segment_at_offset(runner, "mul_mod_builtin", 6) == 2 + assert read_builtin_segment_at_offset(runner, "range_check96_builtin", 8) == 5 + + # Fail on second multiplication. + runner = compile_and_run( + CODE_FORMAT.format( + p=[55, 0, 0, 0], + x1=[11, 0, 0, 0], + ), + layout=all_cairo_instance, + secure_run=True, + ) + + # Check that only the one mul mod gate was computed and that a nullifier is written instead + # of the inverse. + assert read_builtin_segment_at_offset(runner, "mul_mod_builtin", 6) == 1 + assert read_builtin_segment_at_offset(runner, "range_check96_builtin", 8) == 5 + + # Fail on second multiplication. + runner = compile_and_run( + CODE_FORMAT.format( + p=[7, 0, 0, 0], + x1=[0, 0, 0, 0], + ), + layout=all_cairo_instance, + secure_run=True, + ) + + # Check that only the one mul mod gate was computed and that a nullifier is written instead + # of the inverse. + assert read_builtin_segment_at_offset(runner, "mul_mod_builtin", 6) == 1 + assert read_builtin_segment_at_offset(runner, "range_check96_builtin", 8) == 1 + + +def test_mod_builtin_zero_mulmods(): + CODE_FORMAT = """ +%builtins range_check96 add_mod mul_mod +from starkware.cairo.common.cairo_builtins import ModBuiltin, UInt384 +from starkware.cairo.common.alloc import alloc +from starkware.cairo.common.modulo import run_mod_p_circuit + +func main{{range_check96_ptr, add_mod_ptr: ModBuiltin*, mul_mod_ptr: ModBuiltin*}}() {{ + alloc_locals; + + let x1 = UInt384(d0={x1[0]}, d1={x1[1]}, d2={x1[2]}, d3={x1[3]}); + + let values_arr = cast(range_check96_ptr, UInt384*); + assert values_arr[0] = UInt384(0, 0, 0, 0); + assert values_arr[1] = x1; + + let (local add_mod_offsets_arr: felt*) = alloc(); + assert add_mod_offsets_arr[0] = 4; // x1 + assert add_mod_offsets_arr[1] = 0; // 0 + assert add_mod_offsets_arr[2] = 4; // x1 + + run_mod_p_circuit( + p=UInt384({p[0]}, {p[1]}, {p[2]}, {p[3]}), + values_ptr=values_arr, + add_mod_offsets_ptr=add_mod_offsets_arr, + add_mod_n=1, + mul_mod_offsets_ptr=add_mod_offsets_arr, + mul_mod_n=0, + ); + let range_check96_ptr = range_check96_ptr + 8; + return (); +}} +""" + + # Valid Computation. + compile_and_run( + CODE_FORMAT.format( + p=[7, 0, 0, 0], + x1=[3, 0, 0, 0], + ), + layout=all_cairo_instance, + secure_run=True, + ) + + +def test_add_mod_builtin_runner_addition(builtin_runners): + add_mod_runner = builtin_runners["add_mod_builtin"] + check_result(runner=add_mod_runner, inverse_bool=False, p=67, x1=17, x2=40, res=57) + check_result(runner=add_mod_runner, inverse_bool=False, p=67, x1=82, x2=31, res=46) + check_result(runner=add_mod_runner, inverse_bool=False, p=67, x1=68, x2=69, res=70) + check_result(runner=add_mod_runner, inverse_bool=False, p=67, x1=68, x2=0, res=1) + + with pytest.raises( + AssertionError, + match="add_mod builtin: Expected a b - 1 \* p <= 4095.", + ): + check_result( + runner=add_mod_runner, inverse_bool=False, p=67, x1=2**12 - 1, x2=2**12 - 1, res=1 + ) + + +def test_add_mod_builtin_runner_subtraction(builtin_runners): + add_mod_runner = builtin_runners["add_mod_builtin"] + check_result(runner=add_mod_runner, inverse_bool=True, p=67, x1=52, x2=38, res=14) + check_result(runner=add_mod_runner, inverse_bool=True, p=67, x1=5, x2=68, res=4) + check_result(runner=add_mod_runner, inverse_bool=True, p=67, x1=5, x2=0, res=5) + check_result(runner=add_mod_runner, inverse_bool=True, p=67, x1=0, x2=5, res=62) + with pytest.raises( + AssertionError, + match=r"add_mod builtin: addend greater than sum \+ p: " + r"[0-9]* > [0-9]* \+ [0-9]*\.", + ): + check_result(runner=add_mod_runner, inverse_bool=True, p=67, x1=70, x2=138, res=1) + + +def test_mul_mod_builtin_runner_multiplication(builtin_runners): + mul_mod_runner = builtin_runners["mul_mod_builtin"] + check_result(runner=mul_mod_runner, inverse_bool=False, p=67, x1=11, x2=8, res=21) + check_result(runner=mul_mod_runner, inverse_bool=False, p=67, x1=68, x2=69, res=2) + check_result(runner=mul_mod_runner, inverse_bool=False, p=67, x1=525, x2=526, res=1785) + check_result(runner=mul_mod_runner, inverse_bool=False, p=67, x1=525, x2=0, res=0) + with pytest.raises( + AssertionError, + match=r"mul_mod builtin: Expected a b - 4095 \* p <= 4095. " + + r"Got: values=", + ): + check_result(runner=mul_mod_runner, inverse_bool=False, p=67, x1=3777, x2=3989, res=1) + + +def test_mul_mod_builtin_runner_division(builtin_runners): + mul_mod_runner = builtin_runners["mul_mod_builtin"] + check_result(runner=mul_mod_runner, inverse_bool=True, p=67, x1=36, x2=9, res=4) + check_result(runner=mul_mod_runner, inverse_bool=True, p=67, x1=138, x2=41, res=5) + check_result(runner=mul_mod_runner, inverse_bool=True, p=67, x1=272, x2=41, res=72) + with pytest.raises(AssertionError): + check_result(runner=mul_mod_runner, inverse_bool=True, p=67, x1=0, x2=0, res=0) + with pytest.raises(AssertionError): + check_result(runner=mul_mod_runner, inverse_bool=True, p=66, x1=6, x2=3, res=2) diff --git a/src/starkware/cairo/lang/builtins/range_check/instance_def.py b/src/starkware/cairo/lang/builtins/range_check/instance_def.py index b3959857..b4284981 100644 --- a/src/starkware/cairo/lang/builtins/range_check/instance_def.py +++ b/src/starkware/cairo/lang/builtins/range_check/instance_def.py @@ -1,12 +1,12 @@ import dataclasses -from starkware.cairo.lang.builtins.instance_def import BuiltinInstanceDef +from starkware.cairo.lang.builtins.instance_def import BuiltinInstanceDefWithLowRatio CELLS_PER_RANGE_CHECK = 1 @dataclasses.dataclass -class RangeCheckInstanceDef(BuiltinInstanceDef): +class RangeCheckInstanceDef(BuiltinInstanceDefWithLowRatio): # Number of 16-bit range checks that will be used for each instance of the builtin. # For example, n_parts=8 defines the range [0, 2^128). n_parts: int diff --git a/src/starkware/cairo/lang/builtins/range_check/range_check_builtin_runner.py b/src/starkware/cairo/lang/builtins/range_check/range_check_builtin_runner.py index b9fdb22c..885bfe69 100644 --- a/src/starkware/cairo/lang/builtins/range_check/range_check_builtin_runner.py +++ b/src/starkware/cairo/lang/builtins/range_check/range_check_builtin_runner.py @@ -1,26 +1,29 @@ from typing import Any, Dict, Optional, Tuple from starkware.cairo.lang.builtins.range_check.instance_def import RangeCheckInstanceDef -from starkware.cairo.lang.vm.builtin_runner import BuiltinVerifier, SimpleBuiltinRunner +from starkware.cairo.lang.vm.builtin_runner import BuiltinVerifier, SimpleBuiltinRunnerWithLowRatio from starkware.cairo.lang.vm.relocatable import RelocatableValue from starkware.python.math_utils import safe_div -class RangeCheckBuiltinRunner(SimpleBuiltinRunner): - def __init__(self, name: str, included: bool, ratio, inner_rc_bound, n_parts): +class RangeCheckBuiltinRunner(SimpleBuiltinRunnerWithLowRatio): + def __init__(self, name: str, included: bool, ratio, ratio_den, inner_rc_bound, n_parts): super().__init__( name=name, included=included, ratio=ratio, cells_per_instance=1, n_input_cells=1, + ratio_den=ratio_den, ) self.inner_rc_bound = inner_rc_bound self.bound = inner_rc_bound**n_parts self.n_parts = n_parts def get_instance_def(self): - return RangeCheckInstanceDef(ratio=self.ratio, n_parts=self.n_parts) + return RangeCheckInstanceDef( + ratio=self.ratio, ratio_den=self.ratio_den, n_parts=self.n_parts + ) def add_validation_rules(self, runner): def rule(memory, addr): diff --git a/src/starkware/cairo/lang/cairo_rules.bzl b/src/starkware/cairo/lang/cairo_rules.bzl index ce06d18e..6e6bc2b2 100644 --- a/src/starkware/cairo/lang/cairo_rules.bzl +++ b/src/starkware/cairo/lang/cairo_rules.bzl @@ -1,15 +1,25 @@ CairoInfo = provider(fields = ["transitive_sources"]) -def get_transitive_cairo_srcs(srcs, deps): +def get_transitive_cairo_srcs(srcs, deps, hint_deps): """ Returns the Cairo source files for a target and its transitive dependencies. """ - return depset(srcs, transitive = [dep[CairoInfo].transitive_sources for dep in deps]) + return depset( + srcs, + transitive = ( + [dep[CairoInfo].transitive_sources for dep in deps] + + [dep[PyInfo].transitive_sources for dep in hint_deps] + ), + ) # Rule for a library of Cairo files (similar to py_library). def _cairo_library_impl(ctx): - trans_srcs = get_transitive_cairo_srcs(srcs = ctx.files.srcs, deps = ctx.attr.deps) + trans_srcs = get_transitive_cairo_srcs( + srcs = ctx.files.srcs, + deps = ctx.attr.deps, + hint_deps = ctx.attr.hint_deps, + ) return [ CairoInfo(transitive_sources = trans_srcs), DefaultInfo(runfiles = ctx.runfiles(transitive_files = trans_srcs)), @@ -20,13 +30,19 @@ cairo_library = rule( attrs = { "srcs": attr.label_list(allow_files = [".cairo"]), "deps": attr.label_list(providers = [CairoInfo]), + "hint_deps": attr.label_list(providers = [PyInfo]), }, ) def _cairo_binary_impl(ctx): cairo_compile_exe = ctx.executable.cairo_compile_exe - trans_srcs = get_transitive_cairo_srcs(srcs = ctx.files.srcs, deps = ctx.attr.deps) + trans_srcs = get_transitive_cairo_srcs( + srcs = ctx.files.srcs, + deps = ctx.attr.deps, + hint_deps = ctx.attr.hint_deps, + ) srcs_list = trans_srcs.to_list() + py_srcs_list = [f for f in srcs_list if f.basename.endswith(".py")] out = ctx.outputs.compiled_program_name outs = [out] @@ -50,7 +66,7 @@ def _cairo_binary_impl(ctx): outputs = outs, progress_message = "Compiling %s..." % ctx.file.main.path, ) - return [DefaultInfo(files = depset(outs))] + return [DefaultInfo(runfiles = ctx.runfiles(transitive_files = depset(outs + py_srcs_list)))] # Rule for compiling a Cairo program (similar to py_binary). @@ -59,6 +75,7 @@ cairo_binary = rule( attrs = { "srcs": attr.label_list(allow_files = True), "deps": attr.label_list(), + "hint_deps": attr.label_list(providers = [PyInfo]), "cairo_compile_exe": attr.label( default = Label("//src/starkware/cairo/lang/compiler:cairo_compile_exe"), allow_files = True, diff --git a/src/starkware/cairo/lang/compiler/preprocessor/preprocessor.py b/src/starkware/cairo/lang/compiler/preprocessor/preprocessor.py index 90e84080..709d4802 100644 --- a/src/starkware/cairo/lang/compiler/preprocessor/preprocessor.py +++ b/src/starkware/cairo/lang/compiler/preprocessor/preprocessor.py @@ -51,6 +51,7 @@ LangDirective, ) from starkware.cairo.lang.compiler.ast.expr import ( + ArgList, ExprAssignment, ExprCast, ExprConst, @@ -81,6 +82,7 @@ RetInstruction, ) from starkware.cairo.lang.compiler.ast.module import CairoModule +from starkware.cairo.lang.compiler.ast.notes import Notes from starkware.cairo.lang.compiler.ast.rvalue import RvalueCallInst, RvalueFuncCall from starkware.cairo.lang.compiler.ast.types import TypedIdentifier from starkware.cairo.lang.compiler.constants import SIZE_CONSTANT @@ -2328,6 +2330,30 @@ def simplified_expr_to_felt_expr_list( that can be passed to process_compound_expressions. """ + if isinstance(expr, ExprNewOperator) and isinstance(expr_type, TypePointer): + # If this is the first time we visit this expression (expr_type is a pointer rather than + # a felt), split the typed inner expression into a tuple of typeless expressions. + + inner_exprs = self.simplified_expr_to_felt_expr_list( + expr=expr.expr, expr_type=expr_type.pointee + ) + inner_location = expr.expr.location + tuple_expr = ExprTuple( + members=ArgList( + args=[ + ExprAssignment( + identifier=None, expr=inner_expr, location=inner_expr.location + ) + for inner_expr in inner_exprs + ], + notes=[Notes() for _ in range(len(inner_exprs) + 1)], + has_trailing_comma=True, + location=inner_location, + ), + location=inner_location, + ) + return [ExprNewOperator(expr=tuple_expr, is_typed=False, location=expr.location)] + if isinstance(expr_type, (TypeFelt, TypePointer, TypeCodeoffset)): return [expr] diff --git a/src/starkware/cairo/lang/compiler/preprocessor/preprocessor_test.py b/src/starkware/cairo/lang/compiler/preprocessor/preprocessor_test.py index 09d0870c..a1991ad1 100644 --- a/src/starkware/cairo/lang/compiler/preprocessor/preprocessor_test.py +++ b/src/starkware/cairo/lang/compiler/preprocessor/preprocessor_test.py @@ -4760,6 +4760,42 @@ def test_new_operator_flow(): ) +def test_return_new(): + code = """ +struct InnerStruct { + fld0: felt, + fld1: felt, +} + +struct OuterStruct { + a: felt, + b: InnerStruct, +} + +func foo(p: OuterStruct*) -> OuterStruct* { + return new OuterStruct( + a=p.b.fld0, + b=p.b, + ); +} + +""" + program = preprocess_str(code=code, prime=PRIME) + assert program.format() == strip_comments_and_linebreaks( + """\ +// A dummy get_ap(). +ret; + +[ap] = [[fp + (-3)] + 1], ap++; +[ap] = [[fp + (-3)] + 1], ap++; +[ap] = [[fp + (-3)] + 2], ap++; +call rel -4; +[ap] = [ap + (-1)] + (-3), ap++; +ret; +""" + ) + + def test_new_operator_failure(): verify_exception( """ diff --git a/src/starkware/cairo/lang/compiler/type_system_visitor.py b/src/starkware/cairo/lang/compiler/type_system_visitor.py index 7e12e181..42a03ed5 100644 --- a/src/starkware/cairo/lang/compiler/type_system_visitor.py +++ b/src/starkware/cairo/lang/compiler/type_system_visitor.py @@ -383,13 +383,13 @@ def visit_ExprTuple(self, expr: ExprTuple) -> Tuple[ExprTuple, TypeTuple]: return result_expr, cairo_type def visit_ExprNewOperator(self, expr: ExprNewOperator) -> Tuple[ExprNewOperator, CairoType]: + if not expr.is_typed: + return expr, TypeFelt(location=expr.location) + inner_expr, inner_expr_type = self.visit(expr.expr) - expr_type = ( - TypePointer(pointee=inner_expr_type, location=expr.location) - if expr.is_typed - else TypeFelt(location=expr.location) - ) - return ExprNewOperator(expr=inner_expr, is_typed=False, location=expr.location), expr_type + return ExprNewOperator( + expr=inner_expr, is_typed=False, location=expr.location + ), TypePointer(pointee=inner_expr_type, location=expr.location) def simplify_type_system( diff --git a/src/starkware/cairo/lang/dynamic_layout_params.py b/src/starkware/cairo/lang/dynamic_layout_params.py index 2c5d1528..feab79ae 100644 --- a/src/starkware/cairo/lang/dynamic_layout_params.py +++ b/src/starkware/cairo/lang/dynamic_layout_params.py @@ -1,14 +1,19 @@ import dataclasses from typing import Dict, Optional -from starkware.cairo.lang.builtins.all_builtins import OUTPUT_BUILTIN, SUPPORTED_DYNAMIC_BUILTINS +from starkware.cairo.lang.builtins.all_builtins import ( + LOW_RATIO_BUILTINS, + OUTPUT_BUILTIN, + SUPPORTED_DYNAMIC_BUILTINS, +) +from starkware.cairo.lang.builtins.instance_def import ( + BuiltinInstanceDef, + BuiltinInstanceDefWithLowRatio, +) from starkware.cairo.lang.instances import COMPONENT_HEIGHT, CairoLayout, build_dynamic_layout from starkware.python.math_utils import safe_div -MIN_BUILTIN_RATIO = 1 -MAX_CPU_COMPONENT_STEP = 2**6 -MAX_N_MEMORY_HOLES_PER_STEP = 2**10 -MIN_KECCAK_RATIO = 2**6 +MAX_CPU_COMPONENT_STEP = 2**8 MIN_MEMORY_UNITS_PER_STEP = 4 NUM_COLUMNS_FIRST_BOUND = 2**16 NUM_COLUMNS_SECOND_BOUND = 2**16 @@ -39,6 +44,15 @@ class CairoLayoutParams: keccak_ratio: int uses_poseidon_builtin: int poseidon_ratio: int + uses_range_check96_builtin: int + range_check96_ratio: int + range_check96_ratio_den: int + uses_add_mod_builtin: int + add_mod_ratio: int + add_mod_ratio_den: int + uses_mul_mod_builtin: int + mul_mod_ratio: int + mul_mod_ratio_den: int @property def diluted_units_row_ratio(self) -> Optional[int]: @@ -64,14 +78,18 @@ def create_from_cairo_layout(cairo_layout: CairoLayout) -> "CairoLayoutParams": builtins_params_dict: Dict[str, int] = {} for builtin_name in SUPPORTED_DYNAMIC_BUILTINS.except_for(OUTPUT_BUILTIN): assert builtin_name in cairo_layout.builtins - ratio = cairo_layout.builtins[builtin_name].ratio - assert ratio is not None - if cairo_layout.builtins[builtin_name].is_used(): + builtin = cairo_layout.builtins[builtin_name] + assert isinstance(builtin, BuiltinInstanceDef) + assert builtin.ratio is not None + if builtin.is_used(): builtins_params_dict[f"uses_{builtin_name}_builtin"] = 1 - builtins_params_dict[f"{builtin_name}_ratio"] = ratio + builtins_params_dict[f"{builtin_name}_ratio"] = builtin.ratio else: builtins_params_dict[f"uses_{builtin_name}_builtin"] = 0 builtins_params_dict[f"{builtin_name}_ratio"] = 0 + if builtin_name in LOW_RATIO_BUILTINS: + assert isinstance(builtin, BuiltinInstanceDefWithLowRatio) + builtins_params_dict[f"{builtin_name}_ratio_den"] = builtin.ratio_den return CairoLayoutParams( cpu_component_step=cairo_layout.cpu_component_step, @@ -85,8 +103,16 @@ def get_builtin_ratio(self, builtin_name: str) -> int: assert builtin_name in SUPPORTED_DYNAMIC_BUILTINS.except_for(OUTPUT_BUILTIN) return getattr(self, f"{builtin_name}_ratio") + def get_builtin_ratio_den(self, builtin_name: str) -> int: + if builtin_name in LOW_RATIO_BUILTINS: + return getattr(self, f"{builtin_name}_ratio_den") + return 1 + def get_builtin_row_ratio(self, builtin_name: str) -> int: - return COMPONENT_HEIGHT * self.cpu_component_step * self.get_builtin_ratio(builtin_name) + return safe_div( + COMPONENT_HEIGHT * self.cpu_component_step * self.get_builtin_ratio(builtin_name), + self.get_builtin_ratio_den(builtin_name), + ) def get_uses_builtin(self, builtin_name: str) -> int: assert builtin_name in SUPPORTED_DYNAMIC_BUILTINS.except_for(OUTPUT_BUILTIN) @@ -96,6 +122,8 @@ def to_cairo_layout(self) -> CairoLayout: builtin_ratios: dict[str, int] = {} for builtin_name in SUPPORTED_DYNAMIC_BUILTINS.except_for(OUTPUT_BUILTIN): builtin_ratios[builtin_name] = self.get_builtin_ratio(builtin_name) + if builtin_name in LOW_RATIO_BUILTINS: + builtin_ratios[builtin_name + "_den"] = self.get_builtin_ratio_den(builtin_name) return build_dynamic_layout( log_diluted_units_per_step=self.log_diluted_units_per_step, diff --git a/src/starkware/cairo/lang/ide/vscode-cairo/icon.png b/src/starkware/cairo/lang/ide/vscode-cairo/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6393f6841174c3da6bdff5a4d1c49ac37b4fc8 GIT binary patch literal 5814 zcmZ`-bzD?i*FH1D2n;1iNq5Wu0|*k*A)ugi36~tY8Kq(95>QD|NbU{{-i@mX0+L@-0s#1@oXta|k66xmV#^ZL2$I-2#^7C_FBDh^W9MC52+zzhHzk~cIjvUI>%*EOXZSCm5a240Y)bTM|oQdfw z(O=_tooH)|zcV?w{@K=LgUBlnl8=WM`QK|{p#y?IG2X6gRz|2xe;jsGS*bg@QVKFD8n@%>rW zKW+cOUv(#{YVD4))0MNfM>)7&^}@$5EQb8Ao_{lC9qk-lG@MM#P!gAkeo_8m`ZxMl z9=-pW=O3OwnPSMR-Tue!|2|s3te0m?0w#w1>zqo!guE900Dz=JNlseR9kfoX;yT?y zhKDJOo8qH=E52uXJas6049$6{vR3ij*T2AaT5cSjb4x@?^l?t;y@;9ap<(1RaTPl^ zPu^WTx%U3WLD^-Ew}q0+9Yq{3nhwOpFo4ptLwx`*Iq7+gF4uw2#&or#WK$e&J>kKH z?$CqYepih=tGXxsYgDKl8?uhL2$iDUJBmJ#Tf#bX6L$Ps_LPPTdEHSV!-CX!_x*Ag zc9rUMhr&fBXE_FX8>+iry1eAHiAOM)_xH4-n`65YkzO{ig~ubjgi%l4Rh8^{FuPQe ze3-kRA$LfS5dfapAK5L)@@XNpf9_h&ubG=jtg!qc5u4<^z*O1Z$zfEvf8%E7fHdRn zWC-$}&+5bYAP&j%Rqgndsj`+)d1r1h+>G-A$bEDo^^8|yQSmxkp7=Yrv%D^tCqT2- zv;Wd9;bqPY4S8MHI4wpow-ZueUXbUs>(D9iguJL&Y4r}iF>S=~D4v?_!~{sSl0L~! zX0x;Z1GTAbpTK)Be*IuZWkaU2hh#=ufnuwc$YZ>ap)YYt#K(LzZIYQ@e$5owm7%B? zJvJ{%o7>@BwBQ~SdZT1<5A6Jcy0InJ!;%8Uh%`KGvJCr*#GO5213LrUtkkj)ms^(F zjDuzK;QJqSt8=V4iSW2Oqb5wOJi187F->YC0v=GYlZYIfM3L{i4l_#I`%PMh4sZ7@ zZp9=8P~at2k!o0Nj1BjuoNs%nTXe`Lbyaul%oVyt8?8lCcWMM}rx3)KA|hJgSc04z zJcJ&H*e^MOs^j6$UaK%mp>XFzNzUER$#1gl$}-xiXZn}E#Y|LX)^EZC>XbKGvs)1% zc7^^FE~IpF@JReuFYi=tCJ$!eM`HP=^FFuRZ&Ywhc+vKg-tR*>Xl7CrbX__&^3^Bn zVuRB$eS5%TzB+%43LEadQ$5|2U8{lZf|K@)dH&+34avNj3Po|TgVV_83ft^7xeKN6 z5-;<*a~#rM?IOAOXde+RJPcOX{IZA`gNsMCmzMder?;Oab(~FndRPgTZfq1HDB-=r zfKJB|8{uPTUkx>&rzh=>SEw`U`7@ICIAIpgS!tJ}jo=uGN83wmD$E~lxk^G2mfCH{ zf-H0srr~KGq+g(_ei!G=oWVq`qBIVyWQTJnlcJ>qIo>2w#xLD}jykE9S}c9>3966M z8Cb5CGky1LYu0CxaNFGas0(1x@?QN}cF^5AjkF%VCosdp)vFNFaCZdfoIUJ6&zvFz3 z*MRlbyn;HD-ZI-O|8{@gs$#$8#-op+Xp<`C+VgO1ysrc+NE`E|>S`WS`TtgyuNe1A5dC453Wp;H^0b;zPb(Y~xu zpIDqrQlo(LbweR*9<<)OOt5hS4CCXsp~gK_@BV5Pf=EwzFuP^uUktXo#g0|%{1YPH z*AoIUhYIxhrM4`9h(%+CHU>iaTx1#fPTHX%TuqBnC*R0bZcjcZQ@vMb|H&{{76wGJ zzuTMi?dHDY&uMql`n0T zxF0t3&8XC5sDYYo$M&k{iz5JOQ)41)<{8XsK}Pz6U+mqmE4FW{xBR421)E5qIMj)^ zd`sEU_C_h=$%W72SW?T+sX_`j1^ITlh0rDKJI+Z0GN9V7K_$wp1ZxDMhkhe8( z3_Mpn45X~-et(}r;#hN84^ZRXPH1;n8m=6pP8na_4WkxG`$D3ZrBs!lZ|Iy}3u}t= zU@xy}%$i>wd>rj-P=mH#FS4shXQI4o$*xnsRgXF;BL(_m-?w&pXjT~M9A2D%mn4@H zd1CDZ;YS{H3QY}v}y%q@*cr3^!h;k+(!z|7RG)*n=|)&3V(3VK6x_%I?0y@ zt?n0HXOe2ruP>atrHX&ry&@y#B%C|XtHlUS=d*o)!wOyHjonQy9HmmpBKp4#s^)hi<`lnG50U zoUkIUyXo{Gm;=fo#fP*C-#6ez@($FW24FOATCnpe>s3S^`C!b`&$G7e>7YAm)#IWL>v26GmG(;-O&ks%p#1q)6N ze6Fx}z#Jga7x}Fuompt|jWtg?_!-2C@~(=&t(Ni7SyKE*+6OLBO~8~hsKnNTk3y0| zsYL1KZVNM~fo{&A9Mp=XkYn{{DN+9bC`kT`VWyMVZY(j}rI`z3c0T>e7Yh|Xv0lX{ z17aYV)NIBlji9tU>rXx?z>>gckK6>~%aWx+K-^>vuDhfYVcmY+L&wh_ju$1jC_tLy zQ6CXF(09-<8xhz?w_V4xQB5{RDyyWsv=$KSys~<7Oi)ZtjZ6TK*1jl z!lK+nuC&Sq^9!DSma>_<0s}_6KMa8$kqFr~ok?m{oso;-F%Fi19qeHG3&jZrMd#Gk z^ExmBP&-}wG*V~7o%^gmgK-{`ENFA&f=mBtLQu3gEDCx?#0PwqmOlXt7ej82ohp?= ziD1^~JFga^g~@^u8~*j_K{IoPph|U zb0^9BRAQskmOOxIyV=L_Z*A<@Mi!Tpw6PY;hdhuVxGF}b zI$^u@Wm6K&OKaXsN=x{T$A@(qc+}2BO9PLF$k$5KVM_;YC~vgU*yyKn5fddG>38*b zp;WC){ZVcGWL0RNgSC9-J>!;uxaJPx1904&*^QV@M?Y|3qd`3ZBM*Dsj7~yu<(RZu zgO~dWrXL5#G~|)ej%G~h9g5<@FUtD#8-rSfu4v$jQn6gj z_gP_HPZ(giIIFc+aEhU03J;1=m_m%_E!78L5mb6ossLFbmENxrbIb6)+d-1?Pu}Hm zbgDFNblfCs!kymDY56Xw)d=2{Jqs!q{wDKux3&(}HPt|qUodSK9e$tZw3Em|i!sOp zJ4nqLr_^uNs$26~zxirZiFjaiFo;qsKtt0Ob3@8zA&|(=>&sH&G}QQ7FaCx!h>{@d zG3$-tWlfa;CDDcnq8*4%Zq2 zF7Po2hK4PogX)j$Uqng?Z|Dd)3GxcXSN3n0&s+v5*m^H65cMlrpQ@vKX+(`aMuY1Dz<_SX2k z^j-cL`Lh^V!cXKba@i)D9=7HTGXlpPc4Vkgk$VlWIef3XIuv_Bq;I3jJtg!h_MWJv zLgEQ(ogY(`_^m2@_8|l4+p57>q>_4~rLHSo3^m4T-x#wO&n5Hsna7#Q7*fd?=4I2_ zV%uq4%EcYm0v=uHLYqQ|3NYN>N#iP_wXs60Y`Et&<1y&y3gED07A8y;{O}ZsKCV+J zo;Xc=;99IWr#4j>(%A zr2!LQ^C%`7BR3ztIt<|tY$DNX9> zbJCnKDx<~u+TnCJ*#f($TARdoHdYj27(?lk-PcPW zmRV%zzB?l2@|%J1nt2SAhX$HEw#FEP!D-#AG29*uct*@{T;{jkGy8eH$GykF!op8I zzIp3TwD9XgLTa0kx1OzGtYuIfjg_p#dDtU1s$ES8|Jib=VcmiC+O-vTqFA0=CVLr2 z$iCE5MkAmYtgRveFPjv?FdUAgLq1q)P|V0i%`3QryATXM z!efkIy(|X!21aCwY`E!vm}&|Zvaa?-c5C3xeG6eviCUqz+rLnnS@cq@c%gyE+eLix zN7|j*_|%oR|H!bYQI z?TezV4ZZ8sW-rkmPiC)7gQcf8ie@r3)hjxr|noDK@B zfYugz^V*nnae1y?hbNoaKC0Q+SzC+lu;9Shw=!Y@{pM^3NAbM6dM(<$qObGM;t)1{ z!oGwGL*$w9F`1i%nt+%`1zKiCJIS-(B-$EHofJYqUu^urP(!COqh0h gb5$6{zVh?pl=XGjr!|tmtG}^I@(<*SWQ+s;4<%Ji>i_@% literal 0 HcmV?d00001 diff --git a/src/starkware/cairo/lang/ide/vscode-cairo/package.json b/src/starkware/cairo/lang/ide/vscode-cairo/package.json index 25b61aff..d165ea5a 100644 --- a/src/starkware/cairo/lang/ide/vscode-cairo/package.json +++ b/src/starkware/cairo/lang/ide/vscode-cairo/package.json @@ -1,8 +1,8 @@ { "name": "cairo", - "displayName": "Cairo", + "displayName": "CairoZero", "description": "Support Cairo syntax", - "version": "0.13.1", + "version": "0.13.2", "engines": { "vscode": "^1.30.0" }, @@ -12,6 +12,7 @@ "categories": [ "Programming Languages" ], + "icon": "icon.png", "activationEvents": [ "onLanguage:cairo" ], @@ -27,6 +28,10 @@ "extensions": [ ".cairo" ], + "icon": { + "light": "icon.png", + "dark": "icon.png" + }, "configuration": "./language-configuration.json" } ], @@ -75,8 +80,9 @@ "postinstall": "node ./node_modules/vscode/bin/install" }, "devDependencies": { + "@types/node": "^8.10.25", + "esbuild": "^0.21.5", "typescript": "^3.1.4", - "vscode": "^1.1.25", - "@types/node": "^8.10.25" + "vscode": "^1.1.25" } } diff --git a/src/starkware/cairo/lang/instances.py b/src/starkware/cairo/lang/instances.py index 842f1cad..a991d726 100644 --- a/src/starkware/cairo/lang/instances.py +++ b/src/starkware/cairo/lang/instances.py @@ -12,6 +12,7 @@ from starkware.cairo.lang.builtins.hash.instance_def import PedersenInstanceDef from starkware.cairo.lang.builtins.instance_def import BuiltinInstanceDef from starkware.cairo.lang.builtins.keccak.instance_def import KECCAK_BATCH_SIZE, KeccakInstanceDef +from starkware.cairo.lang.builtins.modulo.instance_def import AddModInstanceDef, MulModInstanceDef from starkware.cairo.lang.builtins.poseidon.instance_def import PoseidonInstanceDef from starkware.cairo.lang.builtins.range_check.instance_def import RangeCheckInstanceDef from starkware.cairo.lang.builtins.signature.instance_def import EcdsaInstanceDef @@ -96,7 +97,11 @@ def build_builtins_dict_with_default_params( The ratios are allowed to be None - this is used when constructing the AIR before knowing the ratios. """ - assert all(builtin in SUPPORTED_DYNAMIC_BUILTINS for builtin in ratios.keys()) + assert all( + builtin in SUPPORTED_DYNAMIC_BUILTINS + for builtin in ratios.keys() + if not builtin.endswith("_den") + ) builtin_dict: Dict[str, Union[BuiltinInstanceDef, bool]] = {"output": True} builtin_dict["pedersen"] = PedersenInstanceDef( ratio=ratios.get("pedersen"), @@ -108,6 +113,7 @@ def build_builtins_dict_with_default_params( ) builtin_dict["range_check"] = RangeCheckInstanceDef( ratio=ratios.get("range_check"), + ratio_den=1, n_parts=8, ) builtin_dict["ecdsa"] = EcdsaInstanceDef( @@ -136,6 +142,37 @@ def build_builtins_dict_with_default_params( partial_rounds_partition=[64, 22], ) + add_mod_den, mul_mod_den, range_check96_den = [ + ratios.get(builtin + "_den", 1) for builtin in ["add_mod", "mul_mod", "range_check96"] + ] + assert ( + isinstance(add_mod_den, int) + and isinstance(mul_mod_den, int) + and isinstance(range_check96_den, int) + ), "denominators may not be None" + + builtin_dict["range_check96"] = RangeCheckInstanceDef( + ratio=ratios.get("range_check96"), + ratio_den=range_check96_den, + n_parts=6, + ) + + builtin_dict["add_mod"] = AddModInstanceDef( + word_bit_len=96, + n_words=4, + batch_size=1, + ratio=ratios.get("add_mod"), + ratio_den=add_mod_den, + ) + + builtin_dict["mul_mod"] = MulModInstanceDef( + word_bit_len=96, + n_words=4, + batch_size=1, + ratio=ratios.get("mul_mod"), + ratio_den=mul_mod_den, + ) + return builtin_dict @@ -202,6 +239,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=8, ), ecdsa=EcdsaInstanceDef( @@ -229,6 +267,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=8, ), ecdsa=EcdsaInstanceDef( @@ -261,6 +300,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=16, + ratio_den=1, n_parts=8, ), ecdsa=EcdsaInstanceDef( @@ -307,6 +347,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=16, + ratio_den=1, n_parts=8, ), ecdsa=EcdsaInstanceDef( @@ -360,6 +401,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=8, ), bitwise=BitwiseInstanceDef( @@ -391,6 +433,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=16, + ratio_den=1, n_parts=8, ), bitwise=BitwiseInstanceDef( @@ -428,6 +471,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=8, ), bitwise=BitwiseInstanceDef( @@ -464,6 +508,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=8, ), ecdsa=EcdsaInstanceDef( @@ -493,8 +538,11 @@ def build_dynamic_layout( ), range_check96=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=6, ), + add_mod=AddModInstanceDef(word_bit_len=96, n_words=4, batch_size=1, ratio=128, ratio_den=1), + mul_mod=MulModInstanceDef(word_bit_len=96, n_words=4, batch_size=1, ratio=256, ratio_den=1), ), n_trace_columns=12, ) @@ -520,6 +568,7 @@ def build_dynamic_layout( ), range_check=RangeCheckInstanceDef( ratio=8, + ratio_den=1, n_parts=8, ), ecdsa=EcdsaInstanceDef( @@ -542,6 +591,8 @@ def build_dynamic_layout( n_trace_columns=27, ) +dynamic_instance = build_dynamic_layout() + LAYOUTS: Dict[str, CairoLayout] = { "plain": plain_instance, "small": small_instance, @@ -551,6 +602,6 @@ def build_dynamic_layout( "recursive_large_output": recursive_large_output_instance, "all_solidity": all_solidity_instance, "starknet_with_keccak": starknet_with_keccak_instance, - "dynamic": build_dynamic_layout(), + "dynamic": dynamic_instance, "recursive_with_poseidon": recursive_with_poseidon_instance, } diff --git a/src/starkware/cairo/lang/vm/air_public_input.py b/src/starkware/cairo/lang/vm/air_public_input.py index 6847050b..4fd5d839 100644 --- a/src/starkware/cairo/lang/vm/air_public_input.py +++ b/src/starkware/cairo/lang/vm/air_public_input.py @@ -97,7 +97,8 @@ def extract_z_and_alpha(annotations: List[str]) -> Tuple[int, int]: ) ] # Make sure the number of interaction_elements is as expected - z, alpha for the memory and - # z' for the permutation range-check and possibly 3 additional elements for the diluted logic. - assert len(interaction_elements) in [3, 6] + # z' for the permutation range-check and possibly 3 additional elements for the diluted logic + # and possibly another two for add_mod, mul_mod. + assert len(interaction_elements) in [3, 6, 8] z, alpha = interaction_elements[:2] return z, alpha diff --git a/src/starkware/cairo/lang/vm/builtin_runner.py b/src/starkware/cairo/lang/vm/builtin_runner.py index 35e5239b..e7b36830 100644 --- a/src/starkware/cairo/lang/vm/builtin_runner.py +++ b/src/starkware/cairo/lang/vm/builtin_runner.py @@ -24,6 +24,20 @@ def initial_stack(self) -> List[MaybeRelocatable]: Returns the initial stack elements enforced by this builtin. """ + @abstractmethod + def get_needed_number_allocated_zeros(self) -> int: + """ + The number of allocated zeros needed. + Needed when the empty/zero instances of the builtin use pointers. + """ + + @abstractmethod + def set_address_allocated_zeros(self, addr: RelocatableValue): + """ + The address of allocated zeros needed. + Needed when the empty/zero instances of the builtin use pointers. + """ + @abstractmethod def final_stack(self, runner, pointer: MaybeRelocatable) -> MaybeRelocatable: """ @@ -202,6 +216,23 @@ def __init__( self.n_input_cells = n_input_cells self.additional_memory_units_per_instance = additional_memory_units_per_instance + def get_needed_number_allocated_zeros(self) -> int: + """ + The number of allocated zeros needed. + Needed when the empty/zero instances of the builtin use pointers. + """ + return 0 + + def set_address_allocated_zeros(self, addr: RelocatableValue): + """ + The address of allocated zeros needed. + Needed when the empty/zero instances of the builtin use pointers. + """ + raise NotImplementedError( + f"set_address_allocated_zeros should not be called when needed number of allocated" + + f"zeros is 0." + ) + def get_instance_def(self) -> Optional[BuiltinInstanceDef]: """ Returns a BuiltinInstanceDef object that represents the builtin if such object exists. @@ -317,3 +348,45 @@ def run_security_checks(self, runner): def get_memory_accesses(self, runner): segment_size = runner.segments.get_segment_size(self.base.segment_index) return {self.base + x for x in range(segment_size)} + + +class SimpleBuiltinRunnerWithLowRatio(SimpleBuiltinRunner): + def __init__( + self, + name: str, + included: bool, + ratio: Optional[int], + cells_per_instance: int, + n_input_cells: int, + instances_per_component: int = 1, + additional_memory_units_per_instance: int = 0, + ratio_den: int = 1, + ): + super().__init__( + name=name, + included=included, + ratio=ratio, + cells_per_instance=cells_per_instance, + n_input_cells=n_input_cells, + instances_per_component=instances_per_component, + additional_memory_units_per_instance=additional_memory_units_per_instance, + ) + self.ratio_den = ratio_den + + def get_allocated_instances(self, runner): + if self.ratio is None: + # Dynamic layout has the exact number of instances it needs (up to a power of 2). + instances = self.get_used_instances(runner) + needed_components = div_ceil(instances, self.instances_per_component) + components = next_power_of_2(needed_components) if needed_components > 0 else 0 + return self.instances_per_component * components + assert isinstance(self.ratio, int), "ratio is not an int" + if self.ratio == 0: + # The builtin is not used. + return 0 + min_steps = div_ceil(self.ratio * self.instances_per_component, self.ratio_den) + if runner.vm.current_step < min_steps: + raise InsufficientAllocatedCells( + f"Number of steps must be at least {min_steps} for the {self.name} builtin." + ) + return safe_div(runner.vm.current_step * self.ratio_den, self.ratio) diff --git a/src/starkware/cairo/lang/vm/cairo_run.py b/src/starkware/cairo/lang/vm/cairo_run.py index be3fab42..784d38e7 100644 --- a/src/starkware/cairo/lang/vm/cairo_run.py +++ b/src/starkware/cairo/lang/vm/cairo_run.py @@ -310,6 +310,7 @@ def cairo_run(args): runner.initialize_segments() end = runner.initialize_main_entrypoint() + runner.initialize_zero_segment() if args.run_from_cairo_pie is not None: assert cairo_pie_input is not None diff --git a/src/starkware/cairo/lang/vm/cairo_runner.py b/src/starkware/cairo/lang/vm/cairo_runner.py index 9e8cfe03..b1e82c47 100644 --- a/src/starkware/cairo/lang/vm/cairo_runner.py +++ b/src/starkware/cairo/lang/vm/cairo_runner.py @@ -17,6 +17,10 @@ from starkware.cairo.lang.builtins.ec.ec_op_builtin_runner import EcOpBuiltinRunner from starkware.cairo.lang.builtins.hash.hash_builtin_runner import HashBuiltinRunner from starkware.cairo.lang.builtins.keccak.keccak_builtin_runner import KeccakBuiltinRunner +from starkware.cairo.lang.builtins.modulo.mod_builtin_runner import ( + AddModBuiltinRunner, + MulModBuiltinRunner, +) from starkware.cairo.lang.builtins.poseidon.poseidon_builtin_runner import PoseidonBuiltinRunner from starkware.cairo.lang.builtins.range_check.range_check_builtin_runner import ( RangeCheckBuiltinRunner, @@ -87,6 +91,7 @@ def __init__( memory: MemoryDict = None, proof_mode: Optional[bool] = None, allow_missing_builtins: Optional[bool] = None, + enable_instruction_trace: bool = True, additional_builtin_factories: Optional[ Dict[str, Callable[[str, bool], BuiltinRunner]] ] = None, @@ -102,6 +107,12 @@ def __init__( self.allow_missing_builtins = ( False if allow_missing_builtins is None else allow_missing_builtins ) + self.enable_instruction_trace = enable_instruction_trace + + if self.proof_mode: + assert ( + self.enable_instruction_trace + ), "Instruction tracing must be enabled in proof mode." if not allow_missing_builtins: non_existing_builtins = set(self.program.builtins) - set(self.layout.builtins.keys()) @@ -123,6 +134,7 @@ def __init__( name="range_check", included=included, ratio=self.layout.builtins["range_check"].ratio, + ratio_den=1, inner_rc_bound=2**16, n_parts=self.layout.builtins["range_check"].n_parts, ), @@ -150,9 +162,16 @@ def __init__( name="range_check96", included=included, ratio=self.layout.builtins["range_check96"].ratio, + ratio_den=self.layout.builtins["range_check96"].ratio_den, inner_rc_bound=2**16, n_parts=self.layout.builtins["range_check96"].n_parts, ), + add_mod=lambda name, included: AddModBuiltinRunner( + included=included, instance_def=self.layout.builtins["add_mod"] + ), + mul_mod=lambda name, included: MulModBuiltinRunner( + included=included, instance_def=self.layout.builtins["mul_mod"] + ), **additional_builtin_factories, ) @@ -224,6 +243,15 @@ def initialize_segments(self, program_base=None): for builtin_runner in self.builtin_runners.values(): builtin_runner.initialize_segments(self) + def initialize_zero_segment(self): + # Add a zero segment if needed. This segment goes in the cairo pie to the extra segments. + # Therefore, it should be added after the initialization of the ret_fp_segment and + # ret_pc_segment. + for builtin_runner in self.builtin_runners.values(): + n_zeros = builtin_runner.get_needed_number_allocated_zeros() + if n_zeros > 0: + builtin_runner.set_address_allocated_zeros(self.segments.add_zero_segment(n_zeros)) + def initialize_main_entrypoint(self): """ Initializes state for running a program from the main() entrypoint. @@ -306,6 +334,7 @@ def initialize_vm( static_locals=dict(segments=self.segments, **static_locals), builtin_runners=self.builtin_runners, program_base=self.program_base, + enable_instruction_trace=self.enable_instruction_trace, ) for builtin_runner in self.builtin_runners.values(): @@ -483,6 +512,8 @@ def finalize_segments(self): for builtin_runner in self.builtin_runners.values(): builtin_runner.finalize_segments(self) + self.segments.finalize_zero_segment() + self._segments_finalized = True def finalize_segments_by_cairo_pie(self, cairo_pie: CairoPie): @@ -538,6 +569,9 @@ def get_memory_holes(self): for builtin_runner in self.builtin_runners.values() for addr in builtin_runner.get_memory_accesses(self) } + if self.segments.zero_segment is not None: + for i in range(self.segments.zero_segment_size): + builtin_accessed_addresses.add(self.segments.zero_segment + i) return self.segments.get_memory_holes( accessed_addresses=self.accessed_addresses | builtin_accessed_addresses ) @@ -658,9 +692,10 @@ def relocate(self): for addr, value in self.vm_memory.items() } self.relocated_memory = MemoryDict(initializer) - self.relocated_trace = relocate_trace( - self.vm.trace, self.segment_offsets, self.program.prime - ) + if self.enable_instruction_trace: + self.relocated_trace = relocate_trace( + self.vm.trace, self.segment_offsets, self.program.prime + ) for builtin_runner in self.builtin_runners.values(): builtin_runner.relocate(self.relocate_value) @@ -738,7 +773,7 @@ def get_info(self, relocated: bool) -> str: fp = self.relocate_value(fp) info = f"""\ -Number of steps: {len(self.vm.trace)} { +Number of steps: {self.vm.current_step} { '' if self.original_steps is None else f'(originally, {self.original_steps})'} Used memory cells: {len(self.vm_memory)} Register values after execution: @@ -789,7 +824,7 @@ def get_builtin_segments_info(self): return builtin_segments def get_execution_resources(self) -> ExecutionResources: - n_steps = len(self.vm.trace) if self.original_steps is None else self.original_steps + n_steps = self.vm.current_step if self.original_steps is None else self.original_steps n_memory_holes = self.get_memory_holes() builtin_instance_counter = { builtin_name: builtin_runner.get_used_instances(self) @@ -901,6 +936,7 @@ def run_main_entrypoint(runner: CairoRunner, hint_locals: Dict[str, Any]): """ runner.initialize_segments() end = runner.initialize_main_entrypoint() + runner.initialize_zero_segment() runner.initialize_vm(hint_locals=hint_locals) runner.run_until_pc(end) runner.end_run() diff --git a/src/starkware/cairo/lang/vm/memory_segments.py b/src/starkware/cairo/lang/vm/memory_segments.py index 6c71a34a..ffe96504 100644 --- a/src/starkware/cairo/lang/vm/memory_segments.py +++ b/src/starkware/cairo/lang/vm/memory_segments.py @@ -28,6 +28,10 @@ def __init__(self, memory: MemoryDict, prime: int): self.public_memory_offsets: Dict[int, List[Tuple[int, int]]] = {} # The number of temporary segments, see 'add_temp_segment' for more details. self.n_temp_segments = 0 + # The cairo runner calls add_zero_segment and finalize_zero_segment if any of the builtins + # needs allocated zeros. + self.zero_segment: Optional[RelocatableValue] = None + self.zero_segment_size = 0 def add(self, size: Optional[int] = None) -> RelocatableValue: """ @@ -41,6 +45,14 @@ def add(self, size: Optional[int] = None) -> RelocatableValue: return RelocatableValue(segment_index=segment_index, offset=0) + def add_zero_segment(self, size: int) -> RelocatableValue: + if self.zero_segment is None: + self.zero_segment = self.add() + for i in range(self.zero_segment_size, size): + self.memory[self.zero_segment + i] = 0 + self.zero_segment_size = max(self.zero_segment_size, size) + return self.zero_segment + def add_temp_segment(self) -> RelocatableValue: """ Adds a new temporary segment and returns its starting location as a RelocatableValue. @@ -72,6 +84,12 @@ def finalize( self.public_memory_offsets[segment_index] = list(public_memory) + def finalize_zero_segment(self): + if self.zero_segment is not None: + self.finalize(self.zero_segment.segment_index, self.zero_segment_size) + self.zero_segment = None + self.zero_segment_size = 0 + def compute_effective_sizes(self, allow_tmp_segments: bool = False): """ Computes the current used size of the segments, and caches it. diff --git a/src/starkware/cairo/lang/vm/output_builtin_runner.py b/src/starkware/cairo/lang/vm/output_builtin_runner.py index 2b7e57c4..e68541be 100644 --- a/src/starkware/cairo/lang/vm/output_builtin_runner.py +++ b/src/starkware/cairo/lang/vm/output_builtin_runner.py @@ -27,6 +27,15 @@ def initialize_segments(self, runner): self._base = runner.segments.add() self.stop_ptr: Optional[RelocatableValue] = None + def get_needed_number_allocated_zeros(self) -> int: + return 0 + + def set_address_allocated_zeros(self, addr: RelocatableValue): + raise NotImplementedError( + f"set_address_allocated_zeros should not be called when needed number of allocated" + + "zeros is 0." + ) + @property def base(self) -> RelocatableValue: assert self._base is not None, "Uninitialized self.base." @@ -157,7 +166,7 @@ def set_state(self, state): Usage example: old_state = output_builtin_runner.get_state() - output_builtin_runner.clear_state() + output_builtin_runner.new_state() # Call inner program. diff --git a/src/starkware/cairo/lang/vm/validated_memory_dict.py b/src/starkware/cairo/lang/vm/validated_memory_dict.py index 531d4534..8e95fe0c 100644 --- a/src/starkware/cairo/lang/vm/validated_memory_dict.py +++ b/src/starkware/cairo/lang/vm/validated_memory_dict.py @@ -40,6 +40,9 @@ def __getattr__(self, name: str): def __iter__(self): return iter(self.__memory) + def __contains__(self, addr: MaybeRelocatable) -> bool: + return addr in self.__memory + def __len__(self): return len(self.__memory) diff --git a/src/starkware/cairo/lang/vm/vm_core.py b/src/starkware/cairo/lang/vm/vm_core.py index c8235c36..dfb31d35 100644 --- a/src/starkware/cairo/lang/vm/vm_core.py +++ b/src/starkware/cairo/lang/vm/vm_core.py @@ -104,6 +104,7 @@ def __init__( static_locals: Optional[Dict[str, Any]] = None, builtin_runners: Optional[Dict[str, BuiltinRunner]] = None, program_base: Optional[MaybeRelocatable] = None, + enable_instruction_trace: bool = True, ): """ See documentation in VirtualMachineBase. @@ -131,7 +132,9 @@ def __init__( program_base + i for i in range(len(self.program.data)) } - self.trace: List[TraceEntry[MaybeRelocatable]] = [] + self._trace: Optional[List[TraceEntry[MaybeRelocatable]]] = ( + [] if enable_instruction_trace else None + ) # Current step. self.current_step = 0 @@ -140,6 +143,14 @@ def __init__( # step() (so that only the hint will be performed, but nothing else will happen). self.skip_instruction_execution = False + # Set this flag to False to avoid tracking register values each instruction. + self.enable_instruction_trace = enable_instruction_trace + + @property + def trace(self) -> List[TraceEntry[MaybeRelocatable]]: + assert self._trace is not None, "Trace is disabled." + return self._trace + def update_registers(self, instruction: Instruction, operands: Operands): # Update fp. if instruction.fp_update is Instruction.FpUpdate.AP_PLUS2: @@ -424,13 +435,14 @@ def run_instruction(self, instruction): raise self.as_vm_exception(exc) from None # Write to trace. - self.trace.append( - TraceEntry( - pc=self.run_context.pc, - ap=self.run_context.ap, - fp=self.run_context.fp, + if self.enable_instruction_trace: + self.trace.append( + TraceEntry( + pc=self.run_context.pc, + ap=self.run_context.ap, + fp=self.run_context.fp, + ) ) - ) self.accessed_addresses.update(operands_mem_addresses) self.accessed_addresses.add(self.run_context.pc) diff --git a/src/starkware/cairo/stark_verifier/air/BUILD b/src/starkware/cairo/stark_verifier/air/BUILD index 22ccfa32..11cbed18 100644 --- a/src/starkware/cairo/stark_verifier/air/BUILD +++ b/src/starkware/cairo/stark_verifier/air/BUILD @@ -9,12 +9,15 @@ pytest_test( data = [ "example_expected.json", "example_proof.json", + "//src/starkware/cairo/stark_verifier/air:cairo", "//src/starkware/cairo/stark_verifier/air:dynamic_layout_proof.json", "//src/starkware/cairo/stark_verifier/core:air_interface.cairo", "//src/starkware/cairo/stark_verifier/core:channel.cairo", "//src/starkware/cairo/stark_verifier/core:domains.cairo", + "//src/starkware/cairo/stark_verifier/core:stark", "//src/starkware/cairo/stark_verifier/core:table_commitment.cairo", "//src/starkware/cairo/stark_verifier/core:vector_commitment.cairo", + "//src/starkware/cairo/stark_verifier/core/fri", ], visibility = ["//visibility:public"], deps = [ @@ -60,7 +63,8 @@ exports_files(glob([ cairo_library( name = "cairo", srcs = [ - "config.cairo", + "config_instances.cairo", + "config_interface.cairo", "diluted.cairo", "layout.cairo", "oods.cairo", @@ -89,7 +93,6 @@ py_library( "//src/starkware/cairo/common:cairo_common_lib", "//src/starkware/cairo/lang/compiler:cairo_compile_lib", "//src/starkware/cairo/lang/vm:cairo_vm_lib", - "//src/starkware/cairo/stark_verifier/core:supported_proof_params", "//src/starkware/python:starkware_python_utils_lib", ], ) diff --git a/src/starkware/cairo/stark_verifier/air/config_instances.cairo b/src/starkware/cairo/stark_verifier/air/config_instances.cairo new file mode 100644 index 00000000..87ed69a6 --- /dev/null +++ b/src/starkware/cairo/stark_verifier/air/config_instances.cairo @@ -0,0 +1,9 @@ +from starkware.cairo.stark_verifier.core.table_commitment import TableCommitmentConfig + +const MAX_N_COLUMNS = 128; + +// Configuration for the Traces component. +struct TracesConfig { + original: TableCommitmentConfig*, + interaction: TableCommitmentConfig*, +} diff --git a/src/starkware/cairo/stark_verifier/air/config.cairo b/src/starkware/cairo/stark_verifier/air/config_interface.cairo similarity index 82% rename from src/starkware/cairo/stark_verifier/air/config.cairo rename to src/starkware/cairo/stark_verifier/air/config_interface.cairo index 7d2a5587..e6132bc8 100644 --- a/src/starkware/cairo/stark_verifier/air/config.cairo +++ b/src/starkware/cairo/stark_verifier/air/config_interface.cairo @@ -1,16 +1,8 @@ from starkware.cairo.common.math import assert_in_range +from starkware.cairo.stark_verifier.air.config_instances import MAX_N_COLUMNS, TracesConfig from starkware.cairo.stark_verifier.air.layout import AirWithLayout -from starkware.cairo.stark_verifier.core.table_commitment import TableCommitmentConfig from starkware.cairo.stark_verifier.core.vector_commitment import validate_vector_commitment -const MAX_N_COLUMNS = 128; - -// Configuration for the Traces component. -struct TracesConfig { - original: TableCommitmentConfig*, - interaction: TableCommitmentConfig*, -} - // Validates the configuration of the traces. // log_eval_domain_size - Log2 of the evaluation domain size. func traces_config_validate{range_check_ptr}( diff --git a/src/starkware/cairo/stark_verifier/air/dynamic_layout_proof.json b/src/starkware/cairo/stark_verifier/air/dynamic_layout_proof.json index 63f070f8..f6aeebbf 100644 --- a/src/starkware/cairo/stark_verifier/air/dynamic_layout_proof.json +++ b/src/starkware/cairo/stark_verifier/air/dynamic_layout_proof.json @@ -2,342 +2,344 @@ "annotations": [ "title cpu air Proof Protocol", "", - "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x381616c366cf760d4574dcbef86b7614b8154be974adc6f0c60992b030ff84d)", - "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x6ec71c0e73c0db6191e2163d352e07de108e004609d0b8acd4dbdb1b30c4f5a)", - "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x10b60fe137d970a27319d486aabb868df0a7ae3ae87a4df6ba24755a76882ba)", - "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x32c9519e11807839ff8fe8b710552813a334d5b684e6de5824f053dcff96c34)", - "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0x74cfdb297c12835c8c451abda6d31dfb4d3ec450ff72f135c079ca8a1986d97)", - "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x417a7b0a6f8478d6896665cec1076aa71437a22a3b7e03db41ce47e7bde3026)", - "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x2247431766262ab71e528c70e156bc205fabd51733ddbaa4439a28a527cbccf)", - "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x77f42dc791f94a825a3acee9a4c1091a02d3e206947fcc5fc8a9f89b9c588ec)", - "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x271bee9f77d72924ae16ee6f4962b02a08bd24f382d5f50beaa3808f13e4b57)", - "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x3086d3e12deccef3cc624f11f58c2153e7038e4f9b73e5f3f1f219409043147)", - "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x58c26381e26ecca15dc77968aa1d5241305815b97d2bee4dfe75dc1623d2baa)", - "P->V[96:24320]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0x5f3714ee77d06ab0310dd70409adf70bf7f619770221c2a7d2493dbf8b792ad, 0x2d5dc06ddd9cff9d774b02d0cd9565a369e09eeafdc36853ac707e8d5c3af52, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x1d5c2c373e7317fe8f6e36fe10df87905f5fc11b2528a8653e5b0cdee901211, 0x5edf8d8cc190796eb248558dcd9d9824f757f4992cb29f0aae354af98631e7e, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0xf2382c14f5079036401e1f22d8174e6a3df39718220ee0f4eddb98c703c0ca, 0x4bc6aee20fe837b9c6893713d44fe4398dc34e311d2be79c4d1857381be357e, 0x5564b59dac44f3a7e0c43ae95d090b9bba30f44162f441febe955cede7b3657, 0x4510830a22076caf59c6fa5c65a5de7e608a8d8b5e6e9c9bb73cf5bd412f473, 0x4bc6aee20fe837b9c6893713d44fe4398dc34e311d2be79c4d1857381be357e, 0x5564b59dac44f3a7e0c43ae95d090b9bba30f44162f441febe955cede7b3657, 0x4510830a22076caf59c6fa5c65a5de7e608a8d8b5e6e9c9bb73cf5bd412f473, 0x6426debeafa13c7d7d94af28152fd6ac4dc55fd8f7959fb1834a374ff6ce6c2, 0x6426debeafa13c7d7d94af28152fd6ac4dc55fd8f7959fb1834a374ff6ce6c2, 0x77cba3600682fe74e1993047b66f596d10c3e45ed310cc77c23ffad8ab9a578, 0x6cf43212184a6ce924f7a2efb34520241f80fdfed24e39484880d28b61b3ec0, 0x1afb1f50c7c3bff94e1b84fd09c3d5b1f3a8fed92ee0df53d9462bb6f5208a3, 0x77cba3600682fe74e1993047b66f596d10c3e45ed310cc77c23ffad8ab9a578, 0x26417525878f0314aa2032bda46f3b555f3e51d2899e666bc639239eb3a2f48, 0x26417525878f0314aa2032bda46f3b555f3e51d2899e666bc639239eb3a2f48, 0x6cf43212184a6ce924f7a2efb34520241f80fdfed24e39484880d28b61b3ec0, 0x489607ebb0f82d9ae18ee141083c464202bb430945214713dcf8cae04add5e9, 0x55b5f7d81559357b15020b3c57a74ad3baf0a381b789d8d3c40712fa2dfaba9, 0x55b5f7d81559357b15020b3c57a74ad3baf0a381b789d8d3c40712fa2dfaba9, 0x15fdec9df495ccaef4203bdd177cd280e9376f4158b42181fc422cdc729b4c7, 0x7604a142186fb01ed964fa17c918327d0791094fe3e9fd12d236fdcbb33e151, 0x265fc7830c9aa5a05214f3ab7c81d20c354a89f29c5770fd7a4b7fdd6c8712b, 0x74913d5ec4cc3a2c108bbd9d74b49dc0998fda277089f8fec5b129f03e6ee65, 0x4ecb4a9e8ee02e943e8b81f1469d014a9c5baeac8e40bc78ab8114f251d4337, 0xf2382c14f5079036401e1f22d8174e6a3df39718220ee0f4eddb98c703c0ca, 0x323ac2c9df83b57ae43a33dfc74c55055633127bcb36f5069138c160a8cea6f, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5898259e3014da1adcb49fb1be2339aec3bf24e04323585670a3f96c6917b71, 0x55d5a23a828430785a0cdebf49903ae4486d52475414713960ca6410a25e4fb, 0x5dc632619bb73dee103aadaca7c9c5091f12c188aca470a5ae046a4ec3e9942, 0x50aa8a58bc746418a6f6ac3966a8028a5b78e0175b0caf264c979e8159e1a72, 0x39c29c650c4780f185764fe967bd67f0a9cf0a5af7dd549e5197b21b36e82e1, 0x3991857f42b1f0eba0b3f73aac84da0e7e1ebea5ff00aeeea20fb71c2b16b20, 0x6881cccc29ff6c83486ed6a9952328f096e016a1945c63837cc786d4333fdca, 0x8ffc38e6c16bfa2348a1605c9393b3a159f4d63c46496ca1d9d30722ab47ff, 0x6d74ec59e3c09f3d3fa48320076191539efb3f348e2a8f8d73a1d7fc9b7dac3, 0x1afb1f50c7c3bff94e1b84fd09c3d5b1f3a8fed92ee0df53d9462bb6f5208a3, 0x33369bd783424356fb576591d0be518d300ef03b41a15a8424c753319071b7d, 0x33369bd783424356fb576591d0be518d300ef03b41a15a8424c753319071b7d, 0x489607ebb0f82d9ae18ee141083c464202bb430945214713dcf8cae04add5e9, 0x1593ec661b5c032ce9be2ce5876119dda1c220cc7a76ed7b6a2ea405353facd, 0x15fdec9df495ccaef4203bdd177cd280e9376f4158b42181fc422cdc729b4c7, 0x78bbca345ea6024f57586c6af400f50f68a31337d49cbf071d6b884261e5f82, 0x574ee118a75059b97ccdb84ca73ff132218365a6a4c924a2020a2d3013c7cd4, 0x17a9f6e5fdbe3e61d743cbf3dafb9f8cbadd7ae877beb1d3fa64cdf63b3b2e2, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x52862e089c018df1e7625cd6299aa86c6ed2ff92239366d573bc5d2151d0053, 0x70512b4450df595f8b24e7e958603166503e8a05d6cdc048aae05e51542dac9, 0xcec82f5a2c0d63f56fe5a37d061deb2fd9b10667a4c3390f770e9518048a2b, 0x501004577c67b4c4fb95a0954c034ed461e6a56182215ae975fd7ff821108eb, 0xcec82f5a2c0d63f56fe5a37d061deb2fd9b10667a4c3390f770e9518048a2b, 0x501004577c67b4c4fb95a0954c034ed461e6a56182215ae975fd7ff821108eb, 0x77347139bb14607ba386e76d8caac960454c86a13e837ce0b42743a6522b772, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x62ed08c03b9c8fa1809179b4dbc6f29399293eb80c90d254e819eefd555b417, 0x6ed58adb12e64d30324df62b283f516ef2acbf2c422c313ecf928d83e5bfcd, 0x1d73b460b086387927f22e6d3594945624d97dfa40a5d4f38ad1edd71c08526, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x15de2a7139762d7fe7367430ca73b9ac0f64bf4283ffd40bae1a8f6eacf35ef, 0x1cfbf3d9dc3c6f9af0dcd5bd7b02e3ab7fac2a899c756e4c0ecb4b06c079db5, 0x10b7f3c01f6173539a1cc6a9bd5d6682caddbc93238a8a473e04e31f8adc552, 0x783f2a47b6130718d351b7e7de25bcc272daccfb604df23b482945e400da5ac, 0x597884c58b5fdd21097aca245260af03a366c356c58534f65110fa98b95ba07, 0x17e87932ef6d1a8252c7933576eca8afda5bf9e024c8256840c54b1c1aa3652, 0x74872cd9af308db3bd8a834f34f6056c243ac12557767cd046b103efea897f4, 0x623461443fa1a6b4e9ef8f4814111b8608d599546c673f3e9b48ee437da18e2, 0x373110f1d14a4876ba86480cdfea5529935b133ae0b7920be4d5922ba937e5a, 0x49eaf1f2a9aafff9075d0083a8680b3913e7b4f4abfc49909ac35001d32efa1, 0x460c5eb682794c18f895d85efd8ba7d3aebda51eec6b552eaf288c775d6607f, 0x3e3d895f75b07ff82b90838c99e7cb4578e94bdaac5caf6a2222bc3c864afd0, 0x1e145204c7cb7b7e3919966994bc3dee5ee90b4cebc47b03fe4f77554ac9f29, 0x4a18ba654190e9420f052c0e58880fcd2f80798e3a439d1400a9e2b7fcd33df, 0x2376eddb3c5edd39bd94ab99d4f5490a2b6430e24b4eeb832cd446c9021cf25, 0x346bfd404f064deb2847bdcdc4373e26fc399ea371b131e5a2dbab69d41bd79, 0x71b02899d99cac3a1b0a0d1fdc0e29740034681c9ebe40f62e6c9a1c590649a, 0x6f2f17ccac8a8e7b02a03bd44cc46434f1575f99b23b0ba331ce81f7090e631, 0x5f3811574beeca97944cb7c481143693e50f092fe4321f734f497e7ad247923, 0x65cf5eb94a6588df72fa54e28d8ab390843dcb6cd187f86e7092ba9f99e1115, 0x72b71601ea2e9b187ff31692f7890fa7d015ffb5d7d18009e1fdf1be4d8cccb, 0x66a6b416b30652501fb3b2159154f525639a56e6a0749de5334b46b5ce3c976, 0x26326d5b1bc364aa00faed7a18ea3acb6f3de18d46438dd8def16e9cb7f91a4, 0x2d1b63cf6408b48aeb6a371131cb4401d3d020662a938c4340f5167267e49bc, 0x1919cfa07e951f212e7578dc2ccc0aa83e11a5ef761e36d0d93cbbefb20fb20, 0x5104d55a5e657c2f6d5062c2ccb75414b770c3810750bb22f7e2d36eb2a1c1, 0x58f3aa068b1182400c4ac403c8bd1531c9f39f4505a1acc8d78acf874dfba39, 0x54d439b31d02756033efa1bba8bd5eb8c65bf3132ce04e668e37ef0d02d6eb1, 0x1a8f09af6671055126595ca3af0bf56db3033901dc031f48a70dd4b1b3f84a8, 0x7c1b2263a3d00cfb4dad8e26b9108ae43bb5d6948a9e3b63debaaf842d52243, 0x33714901c7d4906dc263214732bbeeed57ff09d39112f401cbe167776c2f62c, 0x134ba413e4f5a78c91f9c1362e6bc3831c978eb2d56307a5183ebe1e977db20, 0x77c29ab55ae06fcecfa12cff4925a22f55dd0cb662b03787186dcf407d0cab0, 0x20bf3b795d1ced32341f85f689e6b2f0723ef3f49d15926f7ffae348516cedc, 0x530ff336fa88dce2c188cb36a92b0d4a9d8b345fc3b5dd8c1ac237e64f20e8d, 0x6dbf1a2f121ff3eed873d3df0c955f05ca528811cde4e536e64e0e65f232d1a, 0x79400c566f39456f2d7ed8e5745a49ed06c93d4368eb56362955706cf19ea04, 0x6402e80773813cdd0f0c8771e01bd18e046c101b683931b3fa308198865e7b1, 0x53c2fc7f702c383584fa4731a128ca0c132db6a7856c538788fb9df33a43cf3, 0x18916a9bd6bc339b63f6779f72675859b27d6a5730779e00fefb549a70ec30c, 0x752eaa68b09f2c986db80bca76077d714852f1badc8dea6a3bca1bd77e3edc8, 0x16a4ff5a1f6df7f8f035dbdcf12faa2cd2bf31b0fff6d6af0a54a7e580317a8, 0x10f2baf9f0c3aa470e1f95eefd901cb9297c1f4fc4a5dde9a9d8b5e73d3d09c, 0x454a5c31b05a6f72e836a3638a3e913d9b36fe5bdd7dcd77be40f3f283d465b, 0x8ae09082dc0e09fe995ae87e0a796d258e33bd2de683aeaf4f8364ac20e6c6, 0x390d96ac800168909c331f8f481df499d530d8aaa1ee9716b8a931d865f3157, 0x69ce4715d10a569ddf441a2f60f9c2e586ae3282a837d4dd767d7bc66970e10, 0x2492651ccf17c2c2e4e61c7110a07eb504a61403b5e9119f1468805121a694c, 0x48471a4f60f8d3db4b1e0a91259a7c3c63ce3637a01eec2c0d6302505a4419c, 0x347def9811fbb49060c6f3dfa775e3957cd4dc83b9af10f7bcf98fc34a1ec94, 0x55d93b1371353f133f01ab3f7ad471305e469d59785a5fc1474d2781be04d65, 0x65d114b564d804e5a01f280f3da8458d8c89a837d678c07c80bf536128160a1, 0x42f32ceadb67d08a2e0f3beb77e4b5d122994db3ee5ddf21c39e96785eaca85, 0x4d871a28f56b37dfebfe82a37eef15b190d2ef494e4c403b9c0b594b0b80206, 0x2286ae794727927d85809ed2da553a56891a9c3cc1008c154bbd30ea2434710, 0x7e6b2e42ec981b5b73e1e9ae91ea5e10c756a0dfc86c3afcfbe33426b4ec1e7, 0x4f460e75831f9ef37374f3bddc46c9f438041b80f12c35e0841235cf32afbad, 0x61ee5ac67ed3a546f3f1f5839782625ebece69426d6c56c34d7176d44f08290, 0x4fecedf9470ed0f9fdbfe9c15cc84daaa7080a94b0564e42d3b2bdeae121865, 0x7102e757e2501627621005fbd886e992257f08a62f4a2e92dc3f546bf3ae519, 0x4dc56ed1cffe71073ccf3f2205c04bf7b81b371aef2859be100e55d0ae77424, 0x54112382b533997efce50cd3b50de29e23a46dbd4cafce9dba138bd66ea8012, 0x233dc0eb97a27a272b3e702b5d0b660334f5f40913d6b2350d5c1fd6f663c22, 0x1533924824eb0feba546d3faba01492fa941304e0dc5e1f94b039a43bd3f769, 0xc7abd528ee9d94f654e7e9da85111efb250d0be8f933e5c1f38500469f2ad7, 0x1b2f17249a7670c8ff121fda886db71e353689e2c782f23c2d1abf8fb5e08a1, 0x40256033f938590262ba0d751107b8df453e095c551bc06cdac1e7948c9cdba, 0x61483d061b77488b154684ea61e3244e847508e5947f3a1b9f8ba5c2aa23c75, 0x33009a38ff498017ccd778ea7e34dc4266d43940a9c2e508cbfee1481d42bb3, 0x5d7bca3bdbff51d3fba87a5df47707b9f2a3ff4a3fbb29afd713cb1f23cf7fd, 0x798cf77e5a25c41e0a6031396de29ae841bb8f87bc660daa6c69bd90f64874d, 0x706454c5be9fe792443aa0bd9ded950cd0ffbe49c9f1b82e0dfb1940e13e9e7, 0x14a0bc19c1d8c8616f259d574abbb2d5e38d55208d476a68a839afe756d9c85, 0x486ede9a03b6654f96b00797bf430b3b36e31f7946b1c72d7052b35d4452452, 0x2a6b1035d6dc3a5980e048073844eaaddff9c78d889f0e903ff3899155e8bea, 0x378a889ac4aba18ee1b2f48340a1fab908bc9801958afb30f6062a3c8e2fb29, 0x5f38e7e112948862190152b98d808765e8768ced687a8913feb79e98aec1470, 0x1d96a38cf77aacc6c4da791340407812b4c431220005754212cf5cc006ae1a9, 0x5ecbdbec25d81c9fca0d6d8ffefa00937408d868c2ab09afe351af320dad2de, 0x1d96a38cf77aacc6c4da791340407812b4c431220005754212cf5cc006ae1a9, 0x2e5d52bbe194bcfbd44dffbf5ef3fce7496aa00ddad77cfa6e0b22e624b059d, 0x6d635c30f27e5f78a6ad04008452bd4f6ded487610722616be536fb8b389c20, 0x280f9ade544c58f1dba839969b909b5ec7b017e663fcd03bd101f7d33354e82, 0x5ddfd14db4516e79007778861c82eed33f65fc3c9eb4e8a42ec3b8a352116d3, 0x22c2edb3ef140336a9a076e2666a5bc377b579de2d67ef1f27e5840782d24c4, 0x50a5642e1a4347380cab823c7062af390af6e63ef6ee73fa2ee8c097c162c6, 0x48062f7ff4d224109104c390e91c87b0c4e8fd1a9a77a7307b51008b590823e, 0x248a6ed3816369bf19ef0c952026f6912b18de674f3848a86b8dab0c02fc739, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x108b044a9b2f0ef93717758509b9f2b2e80bc20f5e64439ee1d8bb865bb74c0, 0x48e98d89f301400beefcd1010d546edddbc1cba9b7b757eebff255bbf1bbdc1, 0x9a8e6e2ac47927f0fa85b9a2c948caf8b18804f758bdb015258b00797d58c9, 0x1d8f523b60430d731a76640d08924b117e9aba92dcee01b607129ec897a8004, 0x33adf89a8c532942196a10946e6d250365b8265d36bcec79f7264f62244c2d3, 0x1b3d5d32b6fe7ccb9300b3c1adcdc1a792f5eadd9366cfee448d9d6717df160, 0x4b0ed66087f5abde13ea2b4b157674cf39818e35a1b814f5eadbd164cf5849f, 0x14578675a4be03e4ac975bfea2668594a195df3e66e06c077673090f4168482, 0x386b76681b8c4f812f530e8fbea18c1790ab9cc062dbaa016bd8c0b40e114b9, 0x54422eda3878847971edb70f3431bfc6ef2365a3fd1d9b5dc82099615447f3c, 0x80b1a9da499de54cf06d60b28f66866391510f670d1d734c17dec69c64ddef, 0x2fd2d2d729aac7c10e066f595941a23db39706bc41b43363feeb88336d6aac9, 0x568a5048a7081847f1901371ce9cb9a2e7e8908e4d9641730f53692292c8c65, 0x3b6ab048e228b7421ea1b5d7b13749bfe1223571adafae07c024b88cf9bf3d5, 0x111e9c812916b688ce047e18889f54b32cb136c1d2221123500e75d4c666922, 0x1d002d5bcebe58a8f52dc2376268e394fc98bb128977676328ce3e035ef7900, 0x56b22dd3576fdecaa6f1cb7f25051afdcf8175f689ec61e639ec00f4da4078c, 0x622097480871513859cdc3b5c2f6556e0d9415d65b7513339b913828f35f705, 0x2256dbc46ddacb071aba73c930bae64722124fcfd20f72febd9129e69021690, 0x2ea3b2f56891ab766567e5a23c44d857a23ada74cdd61ecdaafa0967f1075f1, 0x1246e3d3175f352bb13f4681823223985064bb4f0dccbbb5d4cbecb4c43f68, 0x3c1e4cf80bc8b4a38dfa75c3925d177e83fb0ac8191c68634be45df6da37578, 0x1f399109e0208afbacf3170d1a3d09e4071ca39317f951273d785058552b0c7, 0x1574bfbfda31445d7cd695964662a4351622844f3c5eedd3e02a2b91981b600, 0x65818bc775aedce7ec51065cf031b13c89cc3cb5f3308f22401c866a3fc299b, 0x5e5b5e197c7a50da77c89c589d0e0d3314f408f53e8657fcb12e6b48b4e2287, 0x72eef34516e9a08b13db2c940638da180c6e43aa07e3c3cc2865e8bb0455f34, 0x7f7c8ac31d30dd494beef045a72857500a25e58949676aee26f9e415a074744, 0x2a59103de3959f891260bf39104cb1dbd63cff52da8c5628e1418aece137588, 0x7e8853fbb9d16419fabba0872fc4770e6f5a74078b5b6e6dea829cea374443f, 0xef736152b1b13524e921da08688bf5501f96782a3de6e4a01d1ce697905e7, 0x38693bbd35056a5d27191c41c0cde290938280580a9723ff347d5b682b02f7a, 0x2166a45d4cedbe90203f93f01230b2003512a3864a657253074567481f94e51, 0x711b0ba12190e15de0ec4d49454987b6a66041eb5b65b844a271069b6b3f5f2, 0x711b0ba12190e15de0ec4d49454987b6a66041eb5b65b844a271069b6b3f5f2, 0x78a0cf447d9e2a0c38bdcc99c824bc43da28f015a2050b792bf14d60eb7b5c7, 0x576bb3f3f27ac0aaa7a8503f1e8f1902eda5c07543460b09dc830290824645d, 0x4f5e83a4c9d349abc364f0b57b98b45ad752a6ee1a3e9be22c84a533a23778e, 0x74f33aad947e6f12e290d97a96201024dc9151d0a694d8d425d706fce55d5f7, 0x65ab548666e01fb90451ceb2e0d4c0018eed1e9d55f405c58a2b42b1b873c2, 0x3f2ca9627c6d669307ba5e1310e2ba337ed14b901b512de2ece1bd6eaf6f7f1, 0x98cb0cd84eb9911fb9b33594777141da4c263adbc5a79a994c1b5bb5a2903b, 0x4bf97677aedaa70144025459fd20835efd1f0bd13da1f5cea0a80144e2c8bb1, 0x7d4319314a5b5c4bb3c6e317cf3c32eb3b7966cfbeb4dccbba94eac5d40a11c, 0x269f829e0665726bbf505a6a8559cd3f5eb25bf9c977f03527980703339b161, 0x4f2bd6ff19dd26749e862d43fb849928daf0f194e7a426e30e96265e4c88f57, 0xf0a499b8c656452d7bd8d4c11a2f6b380e70a5746b11b1e8ad58037acd9b0e, 0x2b821ab5487ffb349d9fef93fd342467dbf99c85625f2ed7173b973b063c7b2, 0x6e416e73eb247a47fbd682a605b0cd4f2ff9a62d32ea54921bd65353a8e19a8, 0x60a46f5ddfb46dd2472dd45942027aec477cae82a976d09450e4dda6d4a1547, 0x5fa9b034cb44c00441d78e728542d93b689ee2cd91f0b93e6d987d4d18d56b7, 0x1fa597b87a42688f75002d0b70353fad7162e7eb9d6683768b4b6c62b1eaef1, 0x72d9bbe50f431c281b0fded9f337c4febae1a7354b17489c3b63683265748da, 0x7268f548aac1c638284fe1f1c29b8739335bdf0213154862c6356449505478, 0x3f566f21f1ec83d4757cf09fd8650a18b2ff3415700332bcf02a0db9f2a4fba, 0x4df7bc19ece589c95db3a2b7e2b857af1bea703c1b344ed916ad9f8142289eb, 0x4b65f8ad9474177e98e61b7925d38bff716f10c809079fc747b0f8f10c5d9cd, 0x4943fac4b74083a30df302f217f66d43b7bf7b9d49af0d2995f53fb467d4068, 0x363d2b28b0cf8ca2ac2751b8a1b9db330e1d8f77504605fc8a6138f08ce5d87, 0x34e8bc4a2a2469bd119f38e21b3f5bfa415a60f469b5e1839aded41eaac9742, 0x6cc1552cbec09d4717409aa561681ce3cf2552c96fd562c3cd9ab3e031beebb, 0x79dd1682c7aff46dba1821db74592dcc1c72569a52bb0441ac1117f58046bd3, 0x76c9982732e631f647e0a6a91eb4674f86b33da4d504fc93df96e49e45ca275, 0x75ba83cab7347c1d8c70a911e8c10650db850aeabba499bc9842e9d7be9af94, 0x16bb4155a1bcf3724f7ecd968a2447fdf9df7da277f5d66587384b3dc8bdf78, 0x70f1bdad6cfc80191d2404d9d0c586e2d526bbfd9ac1b9ab11079b9a7821aba, 0x16062ab351712b674bfceff957fd70f308e0ccef5c2340a4d742541cf39f603, 0x27c4f2af02dfe2efb148411227280d168bafb53109305c3a93aabd16628dd8b, 0x68e162b96a3a4c900534dd37f870d02dac639cd35c70ab96bce382820a56c68, 0x5920cf064a62db8c7cfe155148a3203daa2cf36810222e662cb43a1f832dd0c, 0x5f5ae3e5af1184b2c9333701b76d476ea5a612f9857ca2b37daee44426db0cb, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x1a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x5d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x2832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x20bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b, 0x66d5cb03db92d03fbbfb6e29bdd2733de49bb9fcd32e2140b8213bb317a3e5e, 0x467d6e50646c1664f443e26418c00c11943a8f6c778fbcccae343ecb02aa3c8, 0x16c419f0a0d18f4d9f4c57bb0f50b18733ee12e568f88e96f851e8280a81dce, 0x18ff566cc8fc01d79a2dc44498097a9afb7c8f174b6d878f197de287c009fed, 0xef784a5df3d7bf1552e03c9f95349aacefb37ae4614bcee0f776abb1ccbe91, 0x2454e6d292f7077599204e49556d9b7b974bd197e62284a69f5c17e92f1d967, 0x6237653110d1250a5bfd623436b0e19f26262c75547ea0f2ffdf2afd17f366e, 0x4d30b5976870da7c0ed9d72cddb06bcf1e60fb490aabe0f9921e9b07ed19b2c, 0x1eb68eb929a931566720bc64ec37fbafbd7b3e5e7cb57fc3528e8746e7ea501, 0x94b9f1ee0d1e2ca7dad2d2bef85d829ce9e1f85bea5dbc9ebd9baa93436afb)", - "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0x7c1e0e8ecc34708fde57b0ff5234fb3d03e16b8f57037d18f68454e6d1107ea)", - "P->V[24320:24352]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x2ae16d916da4070b2b1553f4278ad33a36a7ccc166547ef23a3bedb5d4b1c98)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x5c7efc0dad1368e81960db1df2db19a815024a3f2acd1ec1a1eed26fea71cef)", - "P->V[24352:24384]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x19f451cdb4d718afb5b2f87e513fd451b5c942758c4b958f9d230f9c18dcf1e)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x1ff4d21101ed5aab13fdcadf5a1d72427862bb0cfbaf080dab23238e7f73c7)", - "P->V[24384:24416]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x15f7469bbf1ca8cf2e8d69098f041582fd1d520dd021900d367fa09c29ffbc7)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x79141e0f08bd6e2f4b3f9048c895f616ab3f1164ee4b7cfa19206d5c4373933)", - "P->V[24416:24448]: /cpu air/STARK/FRI/Commitment/Layer 4: Commitment: Hash(0x42febe0b20aeee6539ecad38b6fc21427a46b81e76c8da6356caeb5f05812c6)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 5: Evaluation point: Field Element(0x4b54b7ee805fcdbe6c05a4ff570b89e93af449d0de3dee367a3d2caa24063b5)", - "P->V[24448:26496]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x6e17143addce12acb3b7243701a04d8a8427784b5403d5fea40c93975adf063, 0x16c23924e0b8aedcd6619dda21f8a49c987f19d6808b024b8578eeda1e29bc7, 0x72b2f384b747247dc0bdf3fc6e177dda02341213eb8f27b888623e3e438f697, 0x41af5c2214272a8e656d758d9a8d93d0e92c17959630b38af4d406e5f478df4, 0x79b7027fff75be46a3e0814ea345409ec2bcabf5fbc1459cf3e819169aa2731, 0x31056277729f6cf92b9ac811f18607020cd380d0ff21bafaac8a9a46ee9749a, 0x2f4a6ac7df05a4edf3e050aa1a4431512786bf9edf7fdfdc0527164b8c7c747, 0x53a59a598e4febc80be91241836c1b39305b1de4a739fe78b0facd2fc8d857f, 0x42daf598044a7752818ecf8c575b903b1cb883441843e0c8b9be021daadcb44, 0xbac8fb853394c6a902eca8399f65e702d9870bd8dcf1a2bc0dd2f44482305d, 0x185ba55f94dd3e77160f600b1beeab4ee7f5707c245b01bc978e11ff0cfb5cb, 0x7a9c855bb6ba96708c7c1ed31d8bc024f664f85a7f3ab4067fdef2763651c6e, 0x847bbd097c23f8c5c7e2204d9e31962e691b40195b5792563ad7eba00ca30d, 0x5b1171e8bdbb51d10f7bf55aa6443a57db04b6d9de57c04987d0330516057dc, 0x39ba3cd52840994791f13976682b9cd5aa5f755ad2ced109593036217ad4c53, 0x17477020656503a51b5f59300d7e99afb585419231e941406ac136bd01f1821, 0x46f52fcf0690c84d10958d22d58c894d5f8f8947fd15336e729af02eac54a99, 0x1b1bbe533ec8e1b848b3a6bd77618d67cf1226ac7faa9e77fb0060b37e26e3a, 0x444a9a206a210ea0b591864fb60ff42bedaccaaeef4c71641b4df5a186ff540, 0x61bd47926c8afb6356d8863a536fffe90c5cc56d530329db510df7289a49163, 0x7fa01761a5e4c5525b3e46db99f54ba4a029989015348a3d146a504241c0114, 0x7ece11385590c1432e7bed8716fcdcc533f911536001baea28d4b0ebd06aa97, 0xbb3bf755c9d5ef69d5ab00557a812a675a0ee5bc9d0bf3609d5237d1a84c06, 0xb903eb3e8312d77e087fdba8791fab83fa2bf8c5b8d02a9fe4d1959838fb5c, 0x2b74efc66ab2e403eb5d448ce754fe1cbc334ccdefbc22f1a7c9295e14c6255, 0x7ebaa83ad5e0a49e149ee90c9c90b2077ec1bbcc4687c5b0fbb8f50b6bdbb52, 0x6577eab80a64b003e33b73b657cadb09eaaf5e94235509a2058f850133dd9f9, 0x46de25da6ed931c53b421e31f41b76f63bfd32ade1555775fbd881fba231497, 0x487860ffe5df946c9fb9c77979c20dd6272f25b5174bb7e9eaf9a84a1796555, 0x24d86fe4189603919ca5543a140fb0815215985ee1570eec800447cac12513a, 0x5f64b83cb9115da6fc4dab0a72c852f05e1d5ba2c48bfd7a64979eb6b2fc683, 0xc840a6396db24a66e1ef60aa2b782cc87431ef4d0c4bbf266a240decd2e5ae, 0x6fabc000c6c114f39fc35404b1499411982742aefbd9c626717423a01f476a3, 0x24e79aa6671c3f8a9b6aaf283258da19ba2f0d05be5b32c06953baf97d497ee, 0x61e0d32c83ad59047a39a70d70aaa8a45724275809b9ad36545756efd867827, 0x49715a3c5ec31422ec02b1ef36f8063d136f0b82a95a0f598e53f19e4eb465e, 0x2fdd22d24f7d456a977f0c62da376f69d31f9e62d6d079c6594f19fbfabeea7, 0x307de993079abcf54f6b8d9bd11620da11425a021e0afea968dc8b6ffc3c436, 0x66f3b8126496af9945890381a8c6a150154e010de8a2eb8ffcdf97430612cb9, 0x39322b35d2cd742f765e5432f76eeac090df8a7e9528c3f3559469f27c91ad3, 0x4cb76bafda2110da64cd247bae883efbf49d09d5e81fd4524061dc58a2fcdd1, 0x4a5776892893b9d75e5b7888968f1170272171a0841017422f5f7980ca06054, 0x37c62b8adbd3a0eca8c73da2487a205c1b61cc881f02aa37aa153fba8ff2a6, 0x7d0680d05de136838756f66c60d3d74af3d31257574fbd5a96d45f8d2fd73eb, 0x539c174f205d559fa23f588b9aac8113c417cfecb072613c6d5400af5269bbd, 0x54088c93914617d446a2968a7c229ceddb12c475f273864a23000119048e822, 0x452a35ccd6bde9291000e86c09c904f93da2613888036dc7866222defc7aaf6, 0x740e397d6ab602b89bc8f73743febf09fd0d17982c3d39ae970cc12ef956d69, 0x53ce6d2d1ec66b6726aa8c40ca72719bb4aceef31981f38e572f6e7570ef91a, 0x72ef7361e733766a364aa143fc8d300be9a1dbe060a653db65ad558956d96d, 0x8a973959494776dc38b3ff7259370b1d82e174a996e33e667ffff9d647b978, 0x27c5f55f319d3f9bda929346f24af98a4437d89e07ae83270bffc734e341b38, 0x6301dc31f5ea218019ca9cc82cd680c1b8155f0b97494cf61a8cf98f4864cbb, 0x76132f4b26768457f15b4b72bcac5cb5fc35f6969bcb8f3ccdff90ac3f3d0a, 0x22b823f09255df70dea7e3ee57811b5cf8abbfba0d363151ee136a7534270f6, 0x5d239e2d25ade54cd08b8bc6235404e7e951e2eba99c822b5233389394145db, 0x318b6eee1f3eea71adc62ad33eb948f20abbf54ca7bc6e6aca2f99db2e2bf1b, 0x69d77f4de06ec16b18de7710e2609874d492c3b7d132448d8d86526ea7b2471, 0x22331f5bebe0924a6c597cb85f3ffe64bd9a280e134201124a1ce4ba0abac1, 0x3931bb7d40414314bd1312c42544a27280e887c07794661155027d88c28f3ea, 0x635d886de37962aeafcccc46950579694b18bacddaeb29e0ae94b57bdd2d751, 0x7c0ea75921a1d5161224a94b0cde22c65bb7588fea63cfabd9f9cb523916b3, 0x47b68d625bdca79d8ae0d714dbfcbdbff7ebc5fa69ff2824ef332e1ee20924b, 0x12cd173528795abb597fa446a2ff694ef3d8276512987a0ddf2a99321467978)", - "P->V[26496:26528]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x4791c135)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(1774411)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(825216)", - "P->V[26528:26560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 0: Field Element(0x534f768286250f161022b98a53458b9547842688b5fcdcf2eda33b2a65b8acb)", - "P->V[26560:26592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 1: Field Element(0x30f9015b18ebe7e3b9a8868fae66a396f7a8f8c73c6efa91b4869682639397b)", - "P->V[26592:26624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 2: Field Element(0x4bbdfed3b62ff6c50218640f0ae98fe2ca704cd493300fbd6fed6f845e028bc)", - "P->V[26624:26656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 3: Field Element(0x6821ef1021aeba5c0caea60452c7153af3c8da5817720a1ecbd5b4df5141fd)", - "P->V[26656:26688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 4: Field Element(0x2c0000d186a507d891f36686900d0c8c591229c5ea4843ecfbe1ca90568a7d5)", - "P->V[26688:26720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 5: Field Element(0x151a2a6871ba8ab21db821fc1fd7752e0a1caf36ae5c97a1d256a6856250d5d)", - "P->V[26720:26752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 6: Field Element(0x109c4f353ce6e8ba8a019fba3776590abb45dc0b691f5f93b71bb6c0cb4340c)", - "P->V[26752:26784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 825216, Column 7: Field Element(0x272ce998ee0be710486c8e241dfc6cbd7daff9941cf0502b017e1d14581e0aa)", - "P->V[26784:26816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 0: Field Element(0x2f2f288815c310318fce88d5df4d11d0a5607de2a581c7b65e67980cc851c59)", - "P->V[26816:26848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 1: Field Element(0xf734d09a72de920a065246d50793ec8677051ab07177c470094cb63bc94432)", - "P->V[26848:26880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 2: Field Element(0x6948ca2c89bcca46ef31c22e2dc9f99cbade6bfad555b0cec1a79452b94d365)", - "P->V[26880:26912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 3: Field Element(0x32a087e970548d4d7751fa95a32d2ec5ba3330f10822860363137f32d544abf)", - "P->V[26912:26944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 4: Field Element(0x6b1d3b1e66c2f5749faef66d3eba3b2d0fc0ae77851239e4a89207ae1bfe6fd)", - "P->V[26944:26976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 5: Field Element(0x3347dc62a246c0943b17a44a26524ecdc7cfba0428a83535194bc45c300b9de)", - "P->V[26976:27008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 6: Field Element(0x5b8d4e7ab410b2c6e424bac6379812a133f3ebcb7085801f0812b1cf7aec599)", - "P->V[27008:27040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1774411, Column 7: Field Element(0x290ae55e327ac119a605b11eda5a441c78a37adcb3f70fbb4eefcf50d44ccd0)", - "P->V[27040:27072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2922369: Hash(0x00000000000000000000000095bb8275fe5b8a9bca662f410ae46a8a6869ae81)", - "P->V[27072:27104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3871562: Hash(0x0000000000000000000000004584706fbd8f2e44f3d1b29819288a553bd7c9a5)", - "P->V[27104:27136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1461185: Hash(0x00000000000000000000000070af2ac23b55621e9ae830b6b2e2554b4cf1c5a0)", - "P->V[27136:27168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1935780: Hash(0x000000000000000000000000fa41816966169b22381738bee6a28e433c59b04c)", - "P->V[27168:27200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 730593: Hash(0x0000000000000000000000002421bc5350e9fcca34f5d6a5fa2af275319ee3ca)", - "P->V[27200:27232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 967891: Hash(0x00000000000000000000000041d39466c1518c4595d555ffa02eefb0b81c3db3)", - "P->V[27232:27264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 365297: Hash(0x000000000000000000000000e1312b4e7e4305c380debc34725cd3175e2b9562)", - "P->V[27264:27296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 483944: Hash(0x000000000000000000000000a1942f0f245700a76afdb1cbd800c424f4d8d52e)", - "P->V[27296:27328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 182649: Hash(0x000000000000000000000000c4b2ced9898d4ec0ef8e0bec636757d4600c2b84)", - "P->V[27328:27360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 241973: Hash(0x000000000000000000000000c4257f30069e8eab16b8ccf405bb2d7da5039b46)", - "P->V[27360:27392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 91325: Hash(0x0000000000000000000000006bbbb0cad04076eb51aaaf42ef130ecd47447c48)", - "P->V[27392:27424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 120987: Hash(0x000000000000000000000000b6d6ae759d8a85fd227a8b6e54422fd1ce2c127c)", - "P->V[27424:27456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45663: Hash(0x000000000000000000000000ff64b00e075067f8a29605ad5fe2005856de4f7b)", - "P->V[27456:27488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60492: Hash(0x000000000000000000000000623d807a76c99ec524b182ef696872c22d0e9e1e)", - "P->V[27488:27520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22830: Hash(0x000000000000000000000000b688e19f91c1390887b232fd8400542b33bcc267)", - "P->V[27520:27552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30247: Hash(0x0000000000000000000000004383ccbbc75b80e6bc1d6738c2eaf42738a489e9)", - "P->V[27552:27584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11414: Hash(0x0000000000000000000000003119d47b2836309af194b8c1bea8feb0b5333fc8)", - "P->V[27584:27616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15122: Hash(0x000000000000000000000000cb52cf039508473ce66ef226ece0c69f675e52a0)", - "P->V[27616:27648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5706: Hash(0x0000000000000000000000004eba73700b30f78eebaffb33b8a6e0cdf5b4defd)", - "P->V[27648:27680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7560: Hash(0x0000000000000000000000002caba1929688d107ca51be96d8ddee5f08b37b82)", - "P->V[27680:27712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2852: Hash(0x000000000000000000000000e56fe09b1f2f723a0d12835d0c35b040777580f1)", - "P->V[27712:27744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3781: Hash(0x00000000000000000000000069c8c069df7a3fb13c43c82d053c41f707f3f857)", - "P->V[27744:27776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1427: Hash(0x000000000000000000000000a655dd7608d89e1806017c7ac7f5df0399eb8eba)", - "P->V[27776:27808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1891: Hash(0x000000000000000000000000fd3f7483f081882b190ba183f990e4915e046601)", - "P->V[27808:27840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 712: Hash(0x49f1c962ad2b0386fced8f02201dc95fce786be0)", - "P->V[27840:27872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 944: Hash(0xad39a818b65441e2a8650fb02615e6084b2ca518)", - "P->V[27872:27904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 357: Hash(0x6b69971eb68f9d8041881f5c5ab3037beec8b3f85ba5df471f816eb6314bba9)", - "P->V[27904:27936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 473: Hash(0x5584defe09beb22bf89ed5c2881404da183797977fca417b042342e10ac855a)", - "P->V[27936:27968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 179: Hash(0x7cbabd560ade2dcda6caeb2129cc572013ae267d17de0771a7244560734f084)", - "P->V[27968:28000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 237: Hash(0x52b33a8138bb6ab0f4d5aa6f48c0261b3e1381083d08e64f9a4190883125e45)", - "P->V[28000:28032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 88: Hash(0x276c251a887d0de8c3553cce5ceb659253ca1b8c21e568c237d70e009f18f02)", - "P->V[28032:28064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 119: Hash(0x6c7d7dd6b62aa4674b2233968be588ab919a49dd3d3b8e412fe9388aa289466)", - "P->V[28064:28096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45: Hash(0x3388a91ba1bfa49f6434a1aa1fb509bc717ffa14bd0e22500a6d9b92cee879a)", - "P->V[28096:28128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 58: Hash(0x7d1ca88b8cf517a7bbb623ba61fefcbbebd7bd9648fbafc331d7d4e8cd4776b)", - "P->V[28128:28160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23: Hash(0x9e2c17ef91194bdfec19cb030546915ec5e86c67a5c13178feb67fc9c761a)", - "P->V[28160:28192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28: Hash(0x240b19b69fbab14049acbe6472fa23304ce194392d6018b3595482737faad8a)", - "P->V[28192:28224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 10: Hash(0x3adf7e6df7772b73e2863cf869810ce58bb19474246b6c6d87f6e23909cbc2d)", - "P->V[28224:28256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15: Hash(0x1443b5c3e6565475e01d0240afdfa37651b0388caeb73d434cf8deab88f78e)", - "P->V[28256:28288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4: Hash(0x347c33bf1572210ae7fda2c0479889852e4cbe092d3d5086b945b2d6303be5a)", - "P->V[28288:28320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6: Hash(0x7798ff102e4431087ae9f6cd9bbd4030b9047d7154325a3b7e7b08469cd7e8c)", - "P->V[28320:28352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 825216, Column 0: Field Element(0x3e53ca7aa7704ca1c8a9f76a4e83d0a6fbf31be14e7b603c936509b1ccfd963)", - "P->V[28352:28384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 825216, Column 1: Field Element(0x5734f204547148067d715ca29d3acf5ae5505d1b700b9b8223ee6626a383746)", - "P->V[28384:28416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 825216, Column 2: Field Element(0x3b40cde937eccba8d93d8e13ac91fb32b01bba919f55a61d99d125f728c3c8e)", - "P->V[28416:28448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 825216, Column 3: Field Element(0x755b4b6029e2cd94d148d76b1f07993a803d5e7500737ed540c0cd838388e40)", - "P->V[28448:28480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1774411, Column 0: Field Element(0x6c16e9a01ce0b71a48232666e8e7eff6fee4f8d05f38fbccbe05d6c3bff952)", - "P->V[28480:28512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1774411, Column 1: Field Element(0x5475f9d11642d906ba150e5fecb6bb764285fda5648ca8200c730effa2ff8f7)", - "P->V[28512:28544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1774411, Column 2: Field Element(0x4d27115849fa939d2b1d783f88ed7d1e635f9d9d1daa3311f9e0d4e64785af2)", - "P->V[28544:28576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1774411, Column 3: Field Element(0x71c3985f404db30779700b893b50dd5a0cf37703a4bcc5a340722e90065ea86)", - "P->V[28576:28608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2922369: Hash(0x000000000000000000000000a1d2d57d84dbc3fde1b95c71b02657f9769e8df6)", - "P->V[28608:28640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3871562: Hash(0x00000000000000000000000074711f2b7ac28c085854e0ec5baff0d018e776a3)", - "P->V[28640:28672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1461185: Hash(0x00000000000000000000000050bdaa8e2840f198eeb99bd1f3264bcb21f99551)", - "P->V[28672:28704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1935780: Hash(0x000000000000000000000000c316dcec981a25556d168d95324269929fe95e6f)", - "P->V[28704:28736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 730593: Hash(0x0000000000000000000000003e225c8d21b6635ea5d3bfb9c595f70c6573f438)", - "P->V[28736:28768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 967891: Hash(0x000000000000000000000000ef0a35a7c3cafcaa7b412a4140739634aae9c8b0)", - "P->V[28768:28800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 365297: Hash(0x00000000000000000000000066349c6711c7295a46cc25d2a1b01a9f6cc5cb95)", - "P->V[28800:28832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 483944: Hash(0x000000000000000000000000371165d5174790287923ffde856790610ac3ad49)", - "P->V[28832:28864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 182649: Hash(0x0000000000000000000000003acdf3b5197870d7ecfbbfe64f440a03b3807f69)", - "P->V[28864:28896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 241973: Hash(0x00000000000000000000000053734411b9f3ad4e47414b60d987aaa47705b1a5)", - "P->V[28896:28928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 91325: Hash(0x000000000000000000000000b15b9a526c015b627c56d4933b53c37b85eb709b)", - "P->V[28928:28960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 120987: Hash(0x000000000000000000000000d924747dfaaa07edb0478ffa772a1700d9471d1c)", - "P->V[28960:28992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45663: Hash(0x000000000000000000000000fbd6348b7ebc57ce0c612552b3cbcc3fddf3948e)", - "P->V[28992:29024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60492: Hash(0x000000000000000000000000817b54135128a756635025ab5e8709f57d768195)", - "P->V[29024:29056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22830: Hash(0x0000000000000000000000005721eda1de3b6064356dd2547da080c888370bd5)", - "P->V[29056:29088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30247: Hash(0x0000000000000000000000001f85fc8583def62d844d7517fe92de49196947d1)", - "P->V[29088:29120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11414: Hash(0x0000000000000000000000002bc6dd4abad3e395a58922ec85841ba749944fae)", - "P->V[29120:29152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15122: Hash(0x000000000000000000000000072ac9446655e020a5b38478f54c1747f8de4c25)", - "P->V[29152:29184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5706: Hash(0x000000000000000000000000689869de7377361952dec98f912e158e2b7163c2)", - "P->V[29184:29216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7560: Hash(0x00000000000000000000000030621a23fc27ecb75f48fc69671f23773f9a89cc)", - "P->V[29216:29248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2852: Hash(0x00000000000000000000000026a840a14e11cab8dbbb988e79a16e58cfbacc5d)", - "P->V[29248:29280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3781: Hash(0x000000000000000000000000393d0457ba6c1a5deb38acdce981e1c3f4a38107)", - "P->V[29280:29312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1427: Hash(0x00000000000000000000000036d5beef71f768a6b64a1877f8c985f733e06f47)", - "P->V[29312:29344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1891: Hash(0x0000000000000000000000008510a5b2f015248b0c0d41b0237b4192c8b2ddc3)", - "P->V[29344:29376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 712: Hash(0x1ed26a8f472ea50d17d9e65da690828cc7fa68c0)", - "P->V[29376:29408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 944: Hash(0x4d4464e356cbc8c1034c866f158235d139b944fb)", - "P->V[29408:29440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 357: Hash(0x8d15107398ed24538ee072d407574d39b33e7a680692254493165b20a80404)", - "P->V[29440:29472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 473: Hash(0x650774008b975843f10c0af0e2d6b83eaafd6e7cb95a1915cd3a4a490e038be)", - "P->V[29472:29504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 179: Hash(0xbc53951418ac19cb1abaaa9fa1c2ff3b19c967e246422c6193ffd47b076006)", - "P->V[29504:29536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 237: Hash(0x1eb61ca1701b760ad000fcb53a7bf0c41fbd4d48dad992d7dd210286ab4f444)", - "P->V[29536:29568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 88: Hash(0x38a5cebdafe69d9123cdf0dd4b2acef39f9f936ad3ac6c30f098fba1a36e725)", - "P->V[29568:29600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 119: Hash(0x1225454c850bdcc74a639bc319fdad99a88b1691c8062fb57ee9e871eaa3756)", - "P->V[29600:29632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45: Hash(0xf6141c3f9cb78df555d220a4be6928c895911c3162a340ad22b9473e637c28)", - "P->V[29632:29664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 58: Hash(0x63a41929463cfab396d8b1183fb8f7cc3a25974d07fe70eaeb96da33cd39e46)", - "P->V[29664:29696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23: Hash(0x46f3ace02b2e1098efb25b794dd830a0b9222e847bc8168dc3ddc2236b4a04f)", - "P->V[29696:29728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28: Hash(0x78385b8968f521434efd8b4c5b6c6b97fb97706903421e87e4a3f3ac3e358e8)", - "P->V[29728:29760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 10: Hash(0x208d4788e40f3f7d04d01d2eb268790b9fc04a8b6919b44304cdf48df799262)", - "P->V[29760:29792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15: Hash(0x78b29ac1a4e46f5afc5c698571641c52a5a92cd6ababb7fb2c3d1371c19a77d)", - "P->V[29792:29824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4: Hash(0x5069ece34c6ad0247fc7554eba695d785ae0e26e459c6f668c24a6343339553)", - "P->V[29824:29856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6: Hash(0x4550850957ec189db221c612e4e98d312589b0456d3f3546e351ca0f9c5ccee)", - "P->V[29856:29888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 825216, Column 0: Field Element(0x6a6121fb9dfd164b96bd83ceb0ba3f89c7ea66f8c570f9ca40d9d3ebd06231)", - "P->V[29888:29920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 825216, Column 1: Field Element(0x4eece204cebad7896ed58cc013e4b4004c1308425910eda53a8fc4e66c489cf)", - "P->V[29920:29952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1774411, Column 0: Field Element(0x5904df025c2a1ac2be6e5375339e045eb8c9c6e57182013f7e349d9011a45aa)", - "P->V[29952:29984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1774411, Column 1: Field Element(0x639fd267c6ccc25afacb79f0c9b97d156ccc5592869a83372fe8147a1375f05)", - "P->V[29984:30016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2922369: Hash(0x000000000000000000000000da36b26a7cf5024879f11ae2ea058978649f184c)", - "P->V[30016:30048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3871562: Hash(0x00000000000000000000000066631aea1e1951651ca8fb32e620f912382206f8)", - "P->V[30048:30080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1461185: Hash(0x000000000000000000000000b1cdc223572a170f01b7c380f853d978a80cff60)", - "P->V[30080:30112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1935780: Hash(0x000000000000000000000000c0ce57b6dd0ee63e9b7b54c9f07a8b6a5e2d6cc6)", - "P->V[30112:30144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 730593: Hash(0x00000000000000000000000068497b0ebf8866f28560bbfad229a115f9fbafbc)", - "P->V[30144:30176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 967891: Hash(0x0000000000000000000000001b423cdf21936a7ad756fa25bd5636f74df54f14)", - "P->V[30176:30208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 365297: Hash(0x000000000000000000000000cf2055d71d7d00b3a295d919b7b9329c3b515139)", - "P->V[30208:30240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 483944: Hash(0x000000000000000000000000b27a1d7146d1a02ed2935a86484587caa335894d)", - "P->V[30240:30272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 182649: Hash(0x0000000000000000000000002def1efe7a8541055423a088ee9055a3c756d29c)", - "P->V[30272:30304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 241973: Hash(0x0000000000000000000000007741250a6d8aa9d7fa10ab697c066156a00dca60)", - "P->V[30304:30336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 91325: Hash(0x000000000000000000000000b83a3cc08ed341743b9593e88a58dd5de3f66f98)", - "P->V[30336:30368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 120987: Hash(0x0000000000000000000000008d30acf69a970fe5b046b90cc07e18085f14485d)", - "P->V[30368:30400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45663: Hash(0x000000000000000000000000e3275cbcb00ba6f302ca28457e9cf5c7928b21c9)", - "P->V[30400:30432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60492: Hash(0x0000000000000000000000004ec72c75f7485734f10a08733526568cf1ac26d8)", - "P->V[30432:30464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22830: Hash(0x0000000000000000000000006cb3a9b8f9b59e240244182380c3db3164ee7138)", - "P->V[30464:30496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30247: Hash(0x000000000000000000000000fc533907c0d6bc1277e8fc0e8da7dedc98b4f002)", - "P->V[30496:30528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11414: Hash(0x000000000000000000000000a57499cd17159f992b1679f9cbb8dcc83a843f31)", - "P->V[30528:30560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15122: Hash(0x000000000000000000000000dac21b9f6850db4ce72410fa43628d2d2d0f87d6)", - "P->V[30560:30592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5706: Hash(0x0000000000000000000000001ea4c22b9302bc92f1fba9157992ae7ddbfd20b4)", - "P->V[30592:30624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7560: Hash(0x0000000000000000000000007f86dbe8828ae4671ec5fa8fc9099e08fd27c243)", - "P->V[30624:30656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2852: Hash(0x0000000000000000000000009c2da7ea113861d992e853ae0e2e8b50ebeba120)", - "P->V[30656:30688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3781: Hash(0x0000000000000000000000004e7638fac36b53816c66b05033900ee9944a650c)", - "P->V[30688:30720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1427: Hash(0x0000000000000000000000007fa22ee326c250f44b70757580bd345a2a93a675)", - "P->V[30720:30752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1891: Hash(0x0000000000000000000000007174cbca5841cd189395c19965a746ea0546bd4d)", - "P->V[30752:30784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 712: Hash(0xf1cef85802268a9a648ae677a59fde807332622c)", - "P->V[30784:30816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 944: Hash(0xca692f7b98591666b129d7d87a7ccd9a06c0d5ae)", - "P->V[30816:30848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 357: Hash(0x2e7c8b76569f69a2da66fbbc4d5de3e4e565387a0dd203f52b6f07efb583d50)", - "P->V[30848:30880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 473: Hash(0x748a664487d58f4f24fc0cba0a7fc8786e96ea626c9c0cf5bd615799d155a7a)", - "P->V[30880:30912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 179: Hash(0x71a542ae9c5c86289d7da82ee904902453b28685ef92808ebc2e90e53c1b98b)", - "P->V[30912:30944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 237: Hash(0x3770c17e2e1fbf95d010d5bc64cc102e431fc826df4cf83806dc93bd9db5a8c)", - "P->V[30944:30976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 88: Hash(0x52f67c4e6c4fa27137ba9e81c95d136d24d1e1117b31bf3442aca69969ef4c9)", - "P->V[30976:31008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 119: Hash(0x7dfb32d481c476a94f582374ace16f8e5d3f58281962b2bad4c697be45d6757)", - "P->V[31008:31040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45: Hash(0x743b0c41c55758f3013924d65061882efa8b05ca69cbf3a4b5129214affbd58)", - "P->V[31040:31072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 58: Hash(0x6c0e726ebd2f934f7e3d7f10eb20b054671215eb56cc341f89c5cb70d9bf949)", - "P->V[31072:31104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23: Hash(0x6d6c64fd68c414178fcb2406fb6e828debeff448125cff10f74107286fd9e02)", - "P->V[31104:31136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28: Hash(0x27194e579d225815fd76171fb78778b1d585237f0a46fbe071dc736bb59a1b3)", - "P->V[31136:31168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 10: Hash(0x103b8bf58b270da268b1ac1b699e4188a9125de8f3484c78a4ddb01a74c8807)", - "P->V[31168:31200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15: Hash(0x5cde8a1aa2f1b047fac1a0d17840c59f1f714ac23e8ec744d3afcb39fe49dce)", - "P->V[31200:31232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4: Hash(0x24435c1369ae9b2a34cedb7b466a015d2216ebe7d515eb1936dd82f2b22f78f)", - "P->V[31232:31264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6: Hash(0x5346e93611795a255feff8ce12a230495a52ca30306824eed6d006d075a6d29)", - "P->V[31264:31296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 1: Field Element(0x734d961951c9734da135e084c84d56667b67f309d5d1b2bfcce0188c523b5d9)", - "P->V[31296:31328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 2: Field Element(0x4baaa3e446f123e63357621fd994f6cf5730fab4a0433edce6cb7576d38a847)", - "P->V[31328:31360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 3: Field Element(0x58d5289a44376667d81ffd0c9632114680e3854ea94128c2d8f45c041785c8f)", - "P->V[31360:31392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 4: Field Element(0x13701b70cc8ad1d13f77925a6f26b667a26513349d7c95ee3ae330143f40e31)", - "P->V[31392:31424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 5: Field Element(0x42732b198f4687fc7321666f50bc5cd42983fcae04c2cc17b5eaa13e6edb3d6)", - "P->V[31424:31456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 6: Field Element(0x7cf8572828986b17646911d4eed20bccb07488eb3ae2d0dd73bc743dc830bb3)", - "P->V[31456:31488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 7: Field Element(0x61f40c39c75e75497044548e2ae6106927352da42d518044a6eb6f2c96fc1a5)", - "P->V[31488:31520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 0: Field Element(0x1a275edae24c2183f52183d515d834cc3427f4dd2c68d69f4f2aff6c790b45a)", - "P->V[31520:31552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 1: Field Element(0x513e40d63701a11af063ad58689b2a4e511b2ee85f99c29f7748fa3ab2db8dc)", - "P->V[31552:31584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 2: Field Element(0x3ac401188e6f2abca698420f02e1819163d6f8901223f67d5fe8e73af5d20cf)", - "P->V[31584:31616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 4: Field Element(0x66cbf177f694cfac90f8aba667d901e05da499cc2157eac1d343ceea79015f7)", - "P->V[31616:31648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 5: Field Element(0x4f806bef4994f9cedceb4aa0405fc10c84409dac9d52e33d5af9e0b56265035)", - "P->V[31648:31680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 6: Field Element(0x738cbf7e144bdc2fce324929decaba3ec60cfbb91711f42c6efa1899aa258eb)", - "P->V[31680:31712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 7: Field Element(0x12b588bfd0b3ad27f48c4942454b90425e2079dc4bee3c7745e17ba4a33b9bc)", - "P->V[31712:31744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 365297: Hash(0x000000000000000000000000ac4672bc4ccb0982c8f01251660911778e54a7f1)", - "P->V[31744:31776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 483944: Hash(0x000000000000000000000000b634e6e41d847041a448514df9bb1f55317125e3)", - "P->V[31776:31808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 182649: Hash(0x00000000000000000000000067c11cf21bd56e0d6fe7646d6dc6f10e58c5a28a)", - "P->V[31808:31840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 241973: Hash(0x00000000000000000000000012bf22a2324521bdbca958c9dbdd26091e3d9941)", - "P->V[31840:31872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 91325: Hash(0x000000000000000000000000e9ad4cd08adcfa781ac3877e730e394b1c1fcf34)", - "P->V[31872:31904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 120987: Hash(0x00000000000000000000000025f64d61b34bb8a1241a9a9aaeb46dd4012d8457)", - "P->V[31904:31936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45663: Hash(0x00000000000000000000000051afa1f04c1810622cb155afc55e0a94111c2c1e)", - "P->V[31936:31968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60492: Hash(0x000000000000000000000000edc1e9232a6a138eb9b91d2f1f48debe1eff1797)", - "P->V[31968:32000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22830: Hash(0x00000000000000000000000047642d27d37573ed48ccc4c8932b022f09468f8b)", - "P->V[32000:32032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30247: Hash(0x00000000000000000000000074ab7bfbc24e52ec7a541f1815938c10293bd8df)", - "P->V[32032:32064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11414: Hash(0x000000000000000000000000e8fb7119a091c68e9d8fe82614a97edfde1126ef)", - "P->V[32064:32096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15122: Hash(0x000000000000000000000000d673c720d8f76f940076ab8e228771a9afb413d3)", - "P->V[32096:32128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5706: Hash(0x000000000000000000000000ae23edcaa87657952519b71c791f89f48a47e2bb)", - "P->V[32128:32160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7560: Hash(0x0000000000000000000000007c8f5697376b9dab5aa8917d48e6d7169c9ecbef)", - "P->V[32160:32192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2852: Hash(0x00000000000000000000000099659eacb3c7142a409d5ad2f7cabe0a28dab085)", - "P->V[32192:32224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3781: Hash(0x000000000000000000000000654b827cbed6306a56814fa6941ab1a04bf425b2)", - "P->V[32224:32256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1427: Hash(0x00000000000000000000000031e14f1f0844f5fd5ad4ad7a8d740898e47072f0)", - "P->V[32256:32288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1891: Hash(0x0000000000000000000000006bd1e1829336e5454250af567af0e133415210d4)", - "P->V[32288:32320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 712: Hash(0xb80d08f3927b6074258cc5bcfe6e47b63c8a6cb2)", - "P->V[32320:32352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 944: Hash(0x4feae4d0816988f47ee54f2d2053539f170d664a)", - "P->V[32352:32384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 357: Hash(0x7fef81550085bc4135b02e3bfad4ed42f687d00e46c5693c09aee630ecaec69)", - "P->V[32384:32416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 473: Hash(0x6b6f6ca59072c21ac4c4b167986f9d371ee38f9d5b07f40f2b82ce79b3346a)", - "P->V[32416:32448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 179: Hash(0x5d2c05b9dadbaaa2bf3242b45fb30bd0270ac55bc2d6730af432cc4789c8aa5)", - "P->V[32448:32480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 237: Hash(0x55b7705d08a2f0ec39724d15d8913b29061c3a4e7663ba60ca366bdd80ef911)", - "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 88: Hash(0x374c4c194e4cd129b36baae50ab00b758f469753c7a5cb85ef6783ee8e18bde)", - "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 119: Hash(0x6ba1a34f77b2c8aa1bac3cd98a80363cb0f910f430ee8885da83c819d1bbb23)", - "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45: Hash(0x57860c69a39485546365d92aee79a8f49a03a60ec7b5cefcd81280f4c231ac4)", - "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 58: Hash(0x41ddd36cb6e60e0a0009e9be291b2ed544ca7ab9232fd6768c844c0433d4820)", - "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 23: Hash(0x5ac8adb0bcccad4afda283e2a9d4d9a935a6e7cf48114b2990064cad553175c)", - "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 28: Hash(0x671b395043a71d3d5cae84712af6af3d22a961ad28c30247a7da61f3bf2cef8)", - "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 10: Hash(0x7353af04177478c236fb6b49a00668c16c8c099a204ce45a85e55e6b2a653f4)", - "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15: Hash(0x1a6c8c65674bc7721f0cf20a8c6af191ec9f4b6b41b0b135dc83d545d72e3b6)", - "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4: Hash(0x73cb00cc3829cdd173655864752da187cdf0139e685f64ef996304e92087b29)", - "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6: Hash(0x31c41dd95a027b74563249b80c211d6d96c4488137fbb8b5ba2a555d62904e0)", - "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 1: Field Element(0x33ef799b4c46b524e63fcd805742a21dccf57e772627607071ca72a8ef882d8)", - "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 2: Field Element(0x7bfd88390d61aebb75d16271f7524340e843cf50b5fbc99d35270ef1bd60c25)", - "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 3: Field Element(0x13fb14bcd445a06b2b0218829686f3152a0dbaa8a14682204d40b404eb1002c)", - "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 4: Field Element(0x5c5efd6029079a451e18d5524c91cf5b6bbbc2ebead71de50a0b9f7089bc162)", - "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 5: Field Element(0x6463c3f479534a2205f8dba04849849aa4afb06ee2f0825e1fd2a83e83e6714)", - "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 6: Field Element(0x5a8982b73fb12f593b8a8ec994a4947ff372d78688a0c4f548563fe2b49925a)", - "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 7: Field Element(0x12ed738397284dc85f4e18c906bcfcc7cd80e3bfa7fca0e17063e9a236201ef)", - "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 0: Field Element(0x5a443a88b0f4f0747d6cf5712999514e27da3717175f9b3b31ba951ad5f8300)", - "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 2: Field Element(0x322bd626a1a54a69bd003902654b527ac32dd2381c140b5b18fea5cd0e4b0dc)", - "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 3: Field Element(0x4bcfe3230ffabb9c80d22293a9d4f93c189f45f653854c9bb369d1869619a90)", - "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 4: Field Element(0x7526a87d6bb2bbed420dc6ef57d450b0e9a432eef30d67b0e1230eeafcc0420)", - "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 5: Field Element(0x149bf4ccfc9c5c49db06d9eb2147db0396767f72843e6c53a24267bf3fd98a2)", - "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 6: Field Element(0xadd6ac3533a515ee6820761a0d138b6685d8c98f0f7f691a65621d0378e89b)", - "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 7: Field Element(0x27df267548f2343037e5e4c623a7d3ee1513beaf2a1ae118607d0d427608fdc)", - "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 45663: Hash(0x000000000000000000000000fe9c22349e57c30ec37d70362c2f3418ad6e6944)", - "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 60492: Hash(0x000000000000000000000000cc791cfbdabd21bec3c71fc2cdac5f305636bd03)", - "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22830: Hash(0x0000000000000000000000006c7a2ff668e908568723df191e59bc983d1a6b92)", - "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 30247: Hash(0x0000000000000000000000003f638e3967db5b5b97809e48a3b28805d99c4159)", - "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11414: Hash(0x000000000000000000000000f4a96570089518605b440bd5fec02b85ac3af550)", - "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15122: Hash(0x000000000000000000000000e07f4b740afcd4ded0def92d91e52e80ecf63579)", - "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5706: Hash(0x00000000000000000000000001cfb290c2b4b211ef2552c0fc59cfbb7093739b)", - "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7560: Hash(0x0000000000000000000000009c7c1bcc8d7cd866c990b33e6b7af9c5abff8020)", - "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2852: Hash(0x000000000000000000000000291030cb456dc798b4565a15755ed90242011f82)", - "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3781: Hash(0x000000000000000000000000af1dd288b9913fb7c968326c3c90ef5ae191faa7)", - "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1427: Hash(0x0000000000000000000000003e531dde76dab3bc6c6f6dedc368a4c4d7663d6a)", - "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1891: Hash(0x0000000000000000000000001c0ee7b478c813b02654033a4712ea7f3d1f8ba7)", - "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 712: Hash(0x5712d06b56a3829d48034fd59152af147b6b9aa5)", - "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 944: Hash(0x906b8d793c034265f3da070e8dc7404b610a3803)", - "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 357: Hash(0x61acbe160af01638fd3027f7fc18503b72b69bbee4d6a61c7efb09fa0663f48)", - "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 473: Hash(0x530a9faadcc6770777951f95a7acab67322c40cb63336d32c15333ef048e379)", - "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 179: Hash(0x7fd80328e78e14fd7767bcf14d79b33ae5975a011ddb14867af5312334631d5)", - "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 237: Hash(0x20d0e7d51a149a19492ea5474fcb01cb6c136842bd09e4c2e151c1645fd172e)", - "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 88: Hash(0x4936f56cfbcc45dfde590c1a84c6ff43c73231eeb529e5f41814d9a41c020d9)", - "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 119: Hash(0x650bf04996e7cd08db741d5501538aa8b86e3262b43b270bbbfa5111a8cf31c)", - "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 45: Hash(0x11012c269c4455a49edc959ea6718442994125e7a141ad9055aa1aef431bd68)", - "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 58: Hash(0x5ac6606ef4acfa2509be7cf6f5d6033e29012c0c050a9a58a688c5ac647d58e)", - "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 23: Hash(0x2529cc60aa63ca033a556e4bbbd10584927313565321b2a4748e9221fa4afc0)", - "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 28: Hash(0x12972c5551bbb27bc1a801e355bf800833c63a22d4a328c2cd2b20d3f0b7b03)", - "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 10: Hash(0x424e9d8ceeeb0651f6ff6456df2586f80c8cfacd9090d3b2922f9486bf12c66)", - "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15: Hash(0x53eb0b4cf72c51e228df0b1f3cb756a3ec642e973dd496a436a7bbe75ea8425)", - "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4: Hash(0x528daf988989f897b5d2d807a9ca3f702c6dd26201ad869a24e31be110e0c55)", - "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6: Hash(0x4182aa10d80f185948b827552171496f4233afb1cb2dad3704455f516d30994)", - "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 0: Field Element(0x14234804643b4277ff24fee210318d7ce406ad0f189eaf990ec33bf86f38b23)", - "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 1: Field Element(0x5fe5a90b8e571fefe4cb2c081ffd40db35e826ec882f239a828309c64fe1d7d)", - "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 2: Field Element(0x4f2fa95331894555c09b46d3e220fe3f6a27e483f5a461f1b11dd87c8bbf215)", - "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 3: Field Element(0x1a0ae2e1b86ede99accbe26ae4c3547636a0ac230b09587e394bd295d41d8db)", - "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 4: Field Element(0x1fd4e070ff9717e338e9c05689c30036a86ce105e80dc25fdfc3337b8a586b7)", - "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 5: Field Element(0x560749061239f6157ed3aaa9e5fd82613ef28f04f7c56d1bd0ce9a21c0ad60b)", - "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 7: Field Element(0x74b6222d51f364871e1ee07c37002b9363c9be53861ee45f72b313bf3749b8c)", - "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 0: Field Element(0x2bca2cc9149ac21830dab56ff7c4a35143d6399fb83d9dbcece0830f055f258)", - "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 1: Field Element(0x1c1152284dedca92fd63f6667ecfddcc87f6a012b7f237326deccec56d96da1)", - "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 2: Field Element(0x66fe89c49c47e157ab100b4c9b3e102eaa808410aa3e9665d1078601796e604)", - "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 3: Field Element(0x2c0a9fc29aea67163b4dafd78713217f03e265ae20bb198ac9d50e5b524ac40)", - "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 4: Field Element(0x17ef7c060fd83bec43541843ad6029aa2e59fd3e1346b1c19c18dbe80314962)", - "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 6: Field Element(0x5d9331e4b11453c08740cbb7b481f2621cce407cb925c67f85714b178b067b)", - "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 7: Field Element(0x7ac36c10872a0278a8b0352d0b271cb9d2e3872df0cf1e0921104b8e6b6a6c1)", - "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5706: Hash(0x000000000000000000000000adb626ebed3ff30bf05cb56acc4dc1273d44c9e3)", - "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7560: Hash(0x000000000000000000000000098b0757bb962adb5810ef96763b42bdc977a819)", - "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2852: Hash(0x0000000000000000000000007db5aa505fd993e346549a840e57aa133f29d963)", - "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3781: Hash(0x00000000000000000000000017277e58d4f9f802d0c7fe51d3d2feb855037bbc)", - "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1427: Hash(0x000000000000000000000000013e41177bdaf69fd2a803fb8af21c07120124e0)", - "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1891: Hash(0x000000000000000000000000843ca2ec57c3aada9c471595e7bc919df714fbe7)", - "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 712: Hash(0xbe210ad4d8c6d2012b09788905d1af52b7615501)", - "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 944: Hash(0x4ac838b34aa761825b0f2649f90edf3231db3f88)", - "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 357: Hash(0x2cc75bcd673b335492ea8a6fe69eea7fd59f43f5aaa872aac7da08fe252e2f5)", - "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 473: Hash(0x5d1b8cfe06fbe98dd9bac4495277b9bc74d18e0dc63225b4ee4d8e056f09aef)", - "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 179: Hash(0x5dd073d52386c092408f55173be07703d17cee5115854557556537ef449b13d)", - "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 237: Hash(0x7167efaa0e2f1096f04d050325fda5e4101d1aa4cf90bbf9ec8ffd8f60dd98d)", - "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 88: Hash(0x4453adae8e2b3ebdd3489d266d4a7e69a3976ef6c07ef8b2666cf15192f5970)", - "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 119: Hash(0x5100dfde48a3a0e25098bf00899734d24b43660cfbd3038762c6089321a9ade)", - "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 45: Hash(0x189686937396bc9ec422e681944b96e6ce6a4c5f3e00d99a63d3ae06b6a94e0)", - "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 58: Hash(0x275aa89e68e8907936896935a1687657b5d825d8bfa5a33d9dca17762495520)", - "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 23: Hash(0x2e7ddf02a61d4c8e2e378a78794f8eb0b704b6a9bf90cc92aee4c118d56737)", - "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 28: Hash(0x68df7ab60fa100c4b161d84b07cdb27c4840fe90d774d5ca961308ffd6293ec)", - "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 10: Hash(0x4e40c69b73264b7e3b7f4d6529d01f5a4bcb693674cfeb27987ea9034db1458)", - "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 15: Hash(0x6b19f305aaf9905e9c58410626e2849cb720f0e2b4839f5c6772a96358bee4e)", - "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4: Hash(0x5bcd94662f08eefa22896bfe0e823ce558100baa65390232e5d992b01b16e7f)", - "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6: Hash(0x15bb85022f212b00a0416087a96053b666abcab6a1a60bb2bc7a425e2364dd0)", - "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 402, Column 0: Field Element(0x6a5ab2ff662b916d9895d4230b89dd558326877ae28218658c2fed88ba20b03)", - "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 402, Column 1: Field Element(0x2274693ac0fc50a3cc2bd2b242eab296bdce45ea57fc0c30ec048e3536b45f1)", - "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 402, Column 2: Field Element(0x5fc7a218b0d98bd18cda20b2f43c63fb839c6da8d97493d479b932357429cf2)", - "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 866, Column 0: Field Element(0x248c543ca28470d0fe4eb52a16bbc75394103f16994c49f339683f96409ebc4)", - "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 866, Column 2: Field Element(0x570963e471cd8df605c6780042a01270c91c206f83d3c46c7777fd35d8330eb)", - "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 866, Column 3: Field Element(0x3f8cde84c441e313096e926d46e2321e482d56096c8ae131c5d481117ad2c4)", - "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1427: Hash(0x0000000000000000000000004538d992a07181f0d631598d6988357101f9a337)", - "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1891: Hash(0x000000000000000000000000bf4ea552ad48df8a107811adbed52cf090329524)", - "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 712: Hash(0xa81e1f22338be9d019fa9bf0245b2947b8541ccb)", - "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 944: Hash(0x8fd5c066a71427ffb1464c8f30a2d7de1722ca5c)", - "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 357: Hash(0x137b993fd72e4552412cf1483660425352702378a996de63066f339ba846c3b)", - "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 473: Hash(0x5b9d02db29682c4a330155e0cb13bf65b9a5a832a61b41490156fbb145b434a)", - "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 179: Hash(0x48028624e6fd33d085d300f559b5b092345ce0c0a3c0984b97137afd7d59e9a)", - "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 237: Hash(0x7bd5b9fb495ed6f163842918cd4f7d9c965ac64fdcd6dd4dc72af389da25fe4)", - "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 88: Hash(0x591e130e5470d3a8a6fd5f519c4a0e0f94b9a6f0cd9cba0eec366e4d05f3c2a)", - "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 119: Hash(0x129662ee7bcbf3f458a213757acc706b40bcaeab05a446b68913013ecb2f2fa)", - "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 45: Hash(0x1bea28d2cc18b50812e90e68fd3afc26e16aa6d40f321f2be892d6be813f234)", - "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 58: Hash(0x50ae327b58987a41468b3f5020861f408879b86201714917666f0086cf5a560)", - "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 23: Hash(0x81308b1db7c5792e72754627d06360331aa67ff213c8590a249520c58024e)", - "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 28: Hash(0x6b07556e7856d02450dcfbed2cf4898f6c832324c69a8ce71649525f2ccf97b)", - "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 10: Hash(0x3576d0ba59aeaf54ef4245f317a58a08759a7a72df87a38347bffe189b964b2)", - "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 15: Hash(0x297467f2ee828fcba5e90d0d219c2a3032beb256f7f6d040fdc9e5a99f6117a)", - "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 4: Hash(0x7d6aca6d5e6a92c272188760754ff09c5c0328d71bbda35c8839e440dc5a14)", - "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 6: Hash(0x5de7ca6b92bdeed4602c812614e09fb80673ab829556c15a1939a13ad09111c)", + "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x66d858b2f128218b3b76b6412daf2ca7440bdcb0ee919f5a658234a626b6e38)", + "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x440ff6fec29b13dbfd1417245cbc8e75a73b6deda013bb5fcfa9e0c7cc5ca9a)", + "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x5aa68166c6b1bcfa84ee2d62b8b64624ddeaff799a3c0e519905d3ca672974a)", + "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x11cd15f9e4cb061891607e10befc60b39aef3dc1e54ea73678c10e78aae02ba)", + "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0x4816426c98b30157d6bb9c2c740f397affc0882fde76b95f9a64d251424cae8)", + "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x4f01755b05fc832a0fd51786429b52f69f663bd6a7633b501c02848c4450cef)", + "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x30867ace17c31bdbcebabb176a3fc4b9b5f72037636c6d2be58bf1a25b36b7c)", + "V->P: /cpu air/STARK/Interaction: Interaction element #6: Field Element(0x6a6fca89c23742b97d025acdfff004f168c98caae4415897bbb328e3611b2)", + "V->P: /cpu air/STARK/Interaction: Interaction element #7: Field Element(0x7e3b6105b4b41e4f13983d7566c0cc52a3126541d8274af3f07acc73df23109)", + "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x515b84c8f58b7b4758192460fb9652889c3f11c7c8a0a22f86117762206c9cd)", + "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x129c45d8aa405012f2facecd6294541748e44d389e14f3975b82ead820b5359)", + "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x65509426639802e7a21a3060a9ec0b0010da6fcf795a7d64f2d7aa2259ef6e0)", + "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x1a6082c340286262c4fcfd231cd45fe42d338a02087adeb460b222525be5d53)", + "P->V[96:30272]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0x3d370f38ccff13afeb74836d9f8175d579c349e2a68a993886f41058cfc4113, 0x60d1d7bb7c9f23bbd3954f6d8ec988d677c6f7dd00e4ed9e267a23a48277676, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x13108d366279469ce787f5f881791e074d61a859b30e300abb89d9985ef1a3f, 0x6bcf9099d7627fcee7f5f020b386b0122eb51b09ca0ab098e428aefb96ab1d4, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x53792ee4d2d52cb642577575e676bed695342d26ba632ebd8334ca2d7494b62, 0xd752771347480c5aad2c686ecc8f0c4781a951abe2f9656a5ed73300d019ef, 0x39560272ffa94d5126ac755e7ae5527ccb630a0bb19f7ee96533e035582b0ec, 0x6f4702ba7e8fe8cbe846b051c8e49e7e104f8440de09fb11d31b63c75723287, 0xd752771347480c5aad2c686ecc8f0c4781a951abe2f9656a5ed73300d019ef, 0x39560272ffa94d5126ac755e7ae5527ccb630a0bb19f7ee96533e035582b0ec, 0x6f4702ba7e8fe8cbe846b051c8e49e7e104f8440de09fb11d31b63c75723287, 0x27af1b21adebeb2aeec25e80f16550937b99be7d2b49f8bca5d0e0a24614a1c, 0x27af1b21adebeb2aeec25e80f16550937b99be7d2b49f8bca5d0e0a24614a1c, 0x6b277dfc7d89f305eeb5c3b9368ee92d12356a9e4844c403da137ea5c80e562, 0x77c5ab4d5cd0e5938fbbbea9167a2fb53e85a5b408fde58ae8e506ec43f5be0, 0x73bbeac57a20046a5495d77efedbd29830edd3e68ecb7e69116e41de5ba8c9e, 0x6b277dfc7d89f305eeb5c3b9368ee92d12356a9e4844c403da137ea5c80e562, 0x156a960118c5e93926281714fecf8cc30c9f5828c83dd83999383393f8b3e34, 0x156a960118c5e93926281714fecf8cc30c9f5828c83dd83999383393f8b3e34, 0x77c5ab4d5cd0e5938fbbbea9167a2fb53e85a5b408fde58ae8e506ec43f5be0, 0x2581b31f5afe79a274b2d2e68f7a54e0a458067ac574aab89813bef840909a2, 0x3e44eb0e796575b9183f32a5822abca195a612822bed68bed0183f516d7fc6e, 0x3e44eb0e796575b9183f32a5822abca195a612822bed68bed0183f516d7fc6e, 0x4097eb1715de2ede2c87534bb41592304969e31c0024f39b7fd6e237aba33f3, 0x4c85505196180161c7dc4895f0ad9a71a8d182c934d03521b9625b232c5c659, 0x9709b4deb383546c1e45d51f0b13a32af20638a9cbff5f88347804c28b8bb0, 0x616b8afe92d6fb4b723db43d0a96d3dc00b12ad70941cc9599b267a3eb698a5, 0x56cb5491acd0e5abff9c55822045b8ef1fca998cd001c385d5d251ea735819c, 0x53792ee4d2d52cb642577575e676bed695342d26ba632ebd8334ca2d7494b62, 0x254210b064b81817da80f3deedfa2f3690764d03d4a94dfcfd641d7a7ab145, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x14a454dcd51dac38e2cf7effa98403c67717ae8a8b10bddc3d9d4a1850ce7de, 0x29f562a1a7fb1063517be8028ba35ac05fa64bacd684d8a362b45daafdb5aeb, 0x18612cd4f8cca082f68b1d82ddaaa4fd3b813258b45482dfbe3434e04f57476, 0x248972d66683a634e125bbaa09c1e673481e82d8a1f51d75f1abfc1f7329d1c, 0x6e3b576f223841398bd03a316c39fde344b190f278f8a00496e063d0e25cfd9, 0x3620e66447f933a254f54f4a2952adf8a75fca1ae9c8bbb981db7d5896587a7, 0x2968948348d597d3912b97a460e9cb9f3e161cea1b51b459c46df346b791e6, 0x334c3634979b9b59c994bcb40367f329a09acad058c907ccdfa888af3e0665d, 0xc41f19d7f0e629214450de7c6ddbc17fb1118c55b2e49cdddc43773a579c6e, 0x73bbeac57a20046a5495d77efedbd29830edd3e68ecb7e69116e41de5ba8c9e, 0x764e652d6e5d79219f4675fe48b5895619dccc077f136468b674d39c9106060, 0x764e652d6e5d79219f4675fe48b5895619dccc077f136468b674d39c9106060, 0x2581b31f5afe79a274b2d2e68f7a54e0a458067ac574aab89813bef840909a2, 0x5803a32b50235e2f2ade8b370db206ef3654829c04dc59ec934c805ce197e9b, 0x4097eb1715de2ede2c87534bb41592304969e31c0024f39b7fd6e237aba33f3, 0xc160ef4aea2243b264cb494ce9a570a1b33f154054022fe1180e5d90fab4a7, 0x902e6326a16bbeda9cd79960828c80d5768243b5d84c3f1196b7679fa5e95, 0xbf0cc171de19da05f2e030654340e471ee95ed60a1d6346568fd8be2f08eab, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x442e8113659b13da31d2c0c96e466bad18e65971c06e575224858a417fc1f80, 0x50df1c2c318e26643e43c9d0e60656224718d609af05c1affd30ce3da409bdc, 0x78776aa3de966ad243565b5e31cc86069d58f735bbd92c2727c051dbacf48f4, 0x3b92b8231a4b2cbeed0d5c9d62f156ab767fd64c1470d331b440a2039ba7d44, 0x78776aa3de966ad243565b5e31cc86069d58f735bbd92c2727c051dbacf48f4, 0x3b92b8231a4b2cbeed0d5c9d62f156ab767fd64c1470d331b440a2039ba7d44, 0x103f47a9db93f6e950205b83f66f9e299677ab0a6f3c8ad2417d268122c137, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x2910fa0192fa0580517666f73e5da8a431d09551709b350c04825a63b66e5a0, 0x2a21650dc2757bf11f83be3d79a7ddc6095c9db53761d663d682600e321e4f3, 0x28cc29ef8ec1c2215dbe34de829e7bb80306b87a0b90c0d3a49d39e09eef2b3, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x3675864bc0edd3c4c240e09e0ce9207fbc7c5e7dd322eca097e01b0cb15ee5d, 0x6fed2ff14bb31d86aa34129dd6e69f144abce8e49647cdfad8400eee3697ac0, 0x3e9711154290858587af2ab1c49727cb740132daa11614726a85822cb53fe0c, 0x104a6a735dd737764b9576bc27c17e2177c265aaf0300dea0314987ae1a6169, 0x6da798e14e419027dd80910dcaa8e5bf781e847f5f25f33f6480f3685f47eb6, 0x6c389141b7bc4e26f2897f683c5120749898a2b4ced459a8fff30b3bbd5c538, 0x68346ac34a90aec4a6c1d9e1ac9fe44849cbf8efdf68c8a2dc2855d9c6abd8, 0x15a1d886a858231cc378aa8a9ee83e36dbe8816da1800137ef95e29bef3b587, 0x4c64fa0103c65cfa86554d8230e2b948a29709ecbfe85559c302b5f2805ab58, 0x59c19c379da6aea3dba9092e19f999e4912faa0ef60a3bfdf68ce55dab5ef38, 0x1bb62d4e7a6fbfc91ebcef97e9fc2c82f0e385b89bb21ef51266b66ee71b856, 0x3659c748f44b4b9eb785962a70793dfa47724214edb644fae11bcb2469ca71e, 0x434725c050c9d9a6bf4bac86cfc4ae3923604584e39b67fe254002b75cebc1b, 0x77546b8715d1419ace24bc0029bbd4db031a212993c9fa5d170a089ec02e6f4, 0x161a398faf1726a2edf364a5b0790a2dc5a636f06ad6d08eadf60a537ac861c, 0x3a779e81db0033f84388dd605c180d75e067c20b15eafd9781b0dc4604fd851, 0x60bd604f9d414e819a51112e0994f51a3e55f0a8523ea7379d1deb6683a7f84, 0x4679ada3160aa046840511136acb7b823ae45f46f9ca7f3543311ef938717fd, 0x5a6c08288aec44aefaf0930449ad4fd2a8829544b23360776cf790cb8a6ec5b, 0x5f55e537361a74c3f6fe90be7d170af8c3536650f5a080b23c37fea6a4cf488, 0x4fdf5aff56735408751c5ba0c8d8c82c5d2e0b70d65541e60e3f0253097668c, 0x245ace546e56574df821d54e5243f25a7434bb49a7d4f5984930e6516e20130, 0x18e708cf61cc36c55d78a3c4b967befecb4651ea4b05a5729d99efbe6e6477a, 0x64cbe46cc4e4e2456716f9158861c072c6ae684cafe5a4f735cf378329c1e4d, 0x2c6954f37bbdb9b318277d832a507ef7c5b5b9bfdd6d9a934b68852a7ecd39c, 0xce295061272e8aa48d3ad578a8389c76b9d5ae64fad98bd8584d12196491d6, 0x1f5e098407d4302ea9d5a7aa94e22ff460fe39b4b156a1d9cf11613b2ea085a, 0x3c0f327844dcc4325b1906caeaba50009da9c21e994821dcd789e4f4c2789e8, 0x1a502f703f62043b3bcb9de02e9350f7274b8bb87779b251f04e0a01cd0d4d7, 0x2406b4177c1c45ac0217bfc93c0eb48a837e9d081eefde8c81e81555e4c1146, 0x57047daac137531f329314538d7e4ae17517e603081f655e80c5a5bd1b22e8a, 0x3666bccda6a27576f928119e6b51eb877671587aecae9d7dd483a7e30a67b44, 0xed47e221235caea5a7f84e1fa927389ad04f3cc2d158a65d3508ed982aaa40, 0x14a1a154e93806ebdabe57d7b7e2c18f6b72bbe8db9b5cbe0aa94503abc8919, 0x13622faecb6393c5e0152edaf253024ef9f8fd5eb0b12e7b856e77cdaa6cd86, 0x2979e358983db32d21117a77d2aa248b18a90b03148cb319ff2f1158dc549fe, 0x16b3e7f6af7516f1bd14ad4398121cc09eda2a8c79efbc40c08a76cf4cdebee, 0x4a5c5e3336c7a066cd604bb2c14ed09e6200ea02cc07d44e13da24b741e324d, 0x7a6d9780e91033e4148347bcfae172309bc6e4a4cecc4f4b8cde2978b75c4aa, 0x20b516bf9dd02ac848be27e54024a7663fed95638383479f142a06566d40b28, 0x64e3a0d64fabd97ced470b995e1ebfabd5f6e3d198defd6e169b1d9f57cf4e8, 0x43c2737f06dade5288138e75a240b7ef7ee95f203909fee61343a5e7a1522fa, 0x3ce00463a43dd6c1497769220f609405e04de54ee426c54905fff83b8a1a4f7, 0x6f9c151fb1655e24ea061ff52e2860e74125629e8c794f7042648b90edf2c6, 0x76c568ce5ce3dca57cf2ff047990da8ae0a2225cb0a9a4c7720b2c31711dbfd, 0x6cf48dc82a65e18d67c33b8a3dc8eb9d260f6e17404415893510efc65789dac, 0x33af9004f4403fb4da0c1d4907e0beb85d9aab1cf5dc4d8538f9e8de2e6ee58, 0x35a8b8c55725f0c5ba2502c7ec3404bced2bb09b42ab3d96e44a0c87671110f, 0x34c1f31bdf4b434ed77c7bc386bef60a46dc49964c8b6ca9907e1334d939234, 0x57e2b7c9c081566a77f7b664ccab33424bcd44dd90fea649259807eb61b08e7, 0x48f1b2feb7d4bb604ff3950081361647715c92627620db33f5a9c8bf3e27f2d, 0x409125d41b0a775509ce9104f3d2548b6e63b5860199485013b7af95769430e, 0x36c6233ffba3c4f1efcee4050b85f44e3a870fb882480b9d5cd7e5170459bb6, 0x6072516ff46ad3eacec3783df0dea62af08fda4994133b7990133b4dc78b50d, 0x36586d6cb12dc0d6898fda84c7f3216478d6a94125defb36d273c6798fb0419, 0x4da726aeba80c7e0944b7c2eefe6257183974cd18e671bd0f1410e175c6577e, 0x19c8d2b87e3247c47ca29d8744759e24c79e8449f7cc68d549f2f72cf8d9a4c, 0x34d671e03eb9695d2fc8be220647c7ad04be67c75322fcd34a021919913c72f, 0x94425609c31ded60c7bc88268f93d135a32cc0d54453952adc447bcb90c468, 0x53ead30e5738403f2ccfa5b15e244bef1705c3893c09a7f4bdb9539fb12f7e0, 0x4956862d740f9603774cb9b63b86d15f64e582c7c63afa4c7a1a77157b4e6c3, 0x6799e406f85f872292bb2d5c8d69572ed79fe71ef57b39aa075279a4e404781, 0x9b314eb591797f1ce2382a82b734f91685f13241b6dc85b4c0f7973fd05ffa, 0x73cfb1926073195faaf9b70265a3c88d550e27148132afb206a528cc88c04b4, 0x783fced36bfcfce4de22d23b375dd308d7e1fd334446fd946e0f637f356745c, 0x46989197c06800a3f23c7500d56c3d488db7747d6c2104cc8a2fde188f14758, 0x482f7546b30881854679259831b450dca32c0ef2f98fa8124b7a3e9bc7ef2c3, 0x3d479d5ef38e797758fdfa3254a01b682769a3d73a0504acf5c631b94e2937a, 0x6fc5bdb7cbe1a558c11c3d4cc9314696988de3af05cbcd3a0a05505f09b67c8, 0x3a981f6016f527d2558f4eac2043471e246eade64cc2b33bcaf487e261bfae0, 0x43ba2faf0f0dad3acea22404492ea9f8a2d30a822419becbf7861eabf0fee73, 0x40589995c9f40a217f001f593d9c073e0ebca6de3a5aeca3da8c0636a5fa9e2, 0x66898b28a3a925ecadd5150394ffceb08d26f4e80497f9122d2448969968b47, 0x2e72eba48f836633fb744577323de327d36ab4ddefaa01ace9516e5cd75f7f7, 0xdebca9bd9bc4bfd588ad7617ec6d6a082f311b4df152c83a18725a41cd47dc, 0x3602a510e2449a34282a0dd804750e693205d32dbd9e1b7e3e9d3615f8f54e8, 0xd839fbc05538c06d595c17e6c76186cbbd1a64ec19f49ae793647ea14394ae, 0x765e080ed6c6c586558332d0ded9afb2efec1c49e93a25eeb4dc597e0ac22a7, 0x47316e0e938177d2599aaf3e3206fea7f6cd003470d77cddb8cdbc146fda2b7, 0x765e080ed6c6c586558332d0ded9afb2efec1c49e93a25eeb4dc597e0ac22a7, 0x38790ffebc5cfae0a1982e21986a929afb380141d27092ce97642eb7d5f4ef8, 0x18ec4e9aa3fc32c0e95fb78b231ae822795372e0715a28e0db1c127e6834e8c, 0x31a2950037c17e58b1d5c6ee44aa2ea8056a1c7c1a27ff6b518e4e55c04e402, 0x179240b84286af1e6f7ceb05def42119ace418c00e1950f1fa636bac81dc251, 0x4ae085732e472159361548bb16ba84d2054ceb64f5a807dfa19dcb971e08d26, 0x2d688e33e88b50327f25919b669cc38d44dbc6d19afe24a8ee07bb2a8a91f9e, 0x2704fdf17211bbaced6032bba15ffbce9785b7b0858a8b8fda9d238669205ef, 0x2452d8568839114b1b09fdf95ab1430a462bacdd4ec2efd3e3fbbd4066d9846, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x512d1f0fce32de2f5f207ac195f5a6c60052edcf69ed146acc4510d39be9a17, 0x1a0363884b18c95cef57f971e2b33510fba549f54c82541b41b4330ed26fff8, 0x5ec99811e770fdbb844c7835c5f9f5063c922bf31acefbbf0fa8738efcf266e, 0x3f89e9b804b7cc5d4548470b4c2cb36274f0ad6d4ce4572b73fa4b8248181a5, 0x5e4acb859529ada77c0e6c67706637fb3cfa62366a2e1cd069c20d96dfff09, 0x30a354a112efd36dbfb24d96df48fe1c419918a3fc43e075d8d2e72a66ce2ed, 0x3505a544aefa77c86384db619064765885bc964aa1afd70f7f83f01ca70932, 0x430244f9c86ebc9f3ac03d9501fcd95d8be4103c7e4f5311ce94ca1f742aca9, 0x321178a6707af91a9212513700f4ea89823e01c4ec3ac4507875754b0932e99, 0x6d1fa802d17eab134c6b7b498c4862edc3a562c5b3e94fb3692128fb4c32e4b, 0x617c454b768e193ebe31c78f11321bf60d5e0f036af36640133051407ab83ed, 0x4d0851582f87d20f8a4ce80a187d89751bdc17d42fdb893f03605cc83a43ab6, 0x537cc8e6e48a100e5c0842f8e2f73ede969244de660cd36a2c44fb701e3ee39, 0x6139ed93f23669633fee1ab941f5c958812555c7ba557960950796c01d40f2f, 0x3edbcde2ab1385b5d30a3493e211556a65815e5311ad5ddcd8a9b918f1f954, 0x5e15c3cb6597f6b03dd12ce89228c64493ad6c689d8fb1cdaded9ace163b1fb, 0x458660c6b857f83910bcbcd5dac3ed643703442f91d4620407fbd07d122358f, 0x3d7c25d1b7f21fb45f2e4d4107a565e99381898b2c6e91ef1a1f8a2e66d1399, 0x2d37c7d2872bb7e164f99ae23c5ac88c89b43480cc811500f9fba90fcd5fccf, 0x132d250defc8d347e6b8072a19060b5918d243cea986984c87712f09f168425, 0x50e63b18efec44af7525430067f114789fdd6aece49ca237258d145bcda9732, 0x6a9084b1ffdb2b46530afa0e49646d90821ffb176713319cba6260fef61a326, 0x4c789a360299beb9ad808bc4e4cf0d4ae4e8caa69970f50277bc1d057ec88bd, 0x5c1e1cc038934e6a54666d130ff5fa76bdf38f778151249e2413eba3079939a, 0x72afaf211efbbd51b60a44490b7a3965e2dcc7bc3bdff0553d8d5cb05cd1251, 0x71a329b94bda18895212253fbceefdcf8bb426cb6f87c17f53dc4f7f85447d2, 0x1594076b771832258da4488b88e50068d21ea4f3c2d321ef9610e51d265443b, 0x24ab55d31bcb18e62e0dd62ee03a8ddeeae319d18b7a6f06314960314529d92, 0x5671d529787df199e13aa47c47009cd7cd2572032671dc48fd6eec1fa000e79, 0x14123dcf2306d19b4dc6d7ff22ad3eec14e73991ddd63370aa77c0b1aab3027, 0x318f9ed99d52631782bcb45cae370377f15233465831753796c8d3f22770f23, 0x58626fc95672e421866480591c488d8b14dd10af0d7eef486a0445e91d1e2f5, 0x1ceee2629b105f65b3c2a3aa4677c368621f80d5baf47cf252d193b4a8fa839, 0x59fb5a38eb94ab1e9376de1f1f1a4e11ad0300a00e1541dd57ff12cfbada93d, 0x59fb5a38eb94ab1e9376de1f1f1a4e11ad0300a00e1541dd57ff12cfbada93d, 0x2ffe1fa0cd0877020c045b4f001468a4d61992e2a9427cdf646b0a0487ad7c1, 0x2ccd9d68f9a7a7882d34e632ec50df2122a09f13379e6d43833eaf96a04dc04, 0x32df033d5367ddadbdca488133d0dc1fb24420929c6524bbc8cca062a490a74, 0x2c41673ea0592a83ad1fc7ce47dc0f59331dbb4ded5531e321059ecbb626e2b, 0x3e5b6eb88e0fa5bf9ddb9803e2d186f960d2ca7c0a7f2f9e5b0289cda6f1133, 0x20a14fd4daaf05ccf23012c42d4f2b8bfb156196be864f645879fd8c1dabb9e, 0x7646fb270877823a2154ddbade31fb68003f229aae28df6f2391d8c1d9cf282, 0x471b083f68a1d1d59485f2c4584fe9489c388170bce325c8647a1c4b06c371, 0x6da4da5b1ad6c9ed5525a0ad3d6ea1877d1845e900c23cde9e34c02f41a4eb7, 0xb36bcb94579ceecfdc398f28e2dcf9ca8a85658d366b5ecebff7f93e30fee, 0x1f78edce94ec2b1d2c927142b7180944acd821205b2047fbfba386fe8633669, 0x44e910bda96bc3c8ce5398a708d19bbd08b2c6d868c34a53a5ed1a4b5d01465, 0x7a18de6639e00be0fa31fed364e791a7e2370cbaf16374fa92d0c8832408306, 0x73d55fc217f65013aef0c7196c96bfc231256a7f1f272bf966bdecf06c39884, 0x181e964fe3afa457d11d08c221fc850c8f683886a6286899bd387072e0cdf37, 0x447ce76805e9401c18c14caace00d180f39cd57ccd714cca6cce5e4e69a51f8, 0x34d9bd43fe0d6b3d90feaa2b0bbdc7936e591e3c2d1df9118ee263a6dfb0c35, 0x4f1b27ba49f47a84f02e0872f9e689de9f7ff6bf9562164b6c0b44cf09ad41d, 0x6bfc05ae57c75d8998658109eee6f39ecad786eaf462f0314133c9e269604d2, 0x7405660852fb7261bd8d7ddfe28cde8def3376ed6f21154f3be6561ded918e6, 0x2301bf1acc14e8fbb14f5b09c8cb9ea36f3dd6bfb295a0972447c3c0f07408a, 0x44223c0153b84da959f92fa83e751ee2f46782584d7cb572eb6bbe55673e745, 0x59273a2c1e3b8181fb528dd2463e4cf4327c0f2f0f61bfa8ff2d30983c643fc, 0x1012e8a8754a4477f8c848bba5ba001251fe92075a82c09adbb6cefbdb0a209, 0x2135b36bb05781338e9ffd88f66b4823cb20d2745ad7537d07f474d6bc51ee5, 0x64117eb4b37b8bebf89080591f816747de1b8b5f1d870c26a33456db044dd03, 0x6f2b65ec49115fb3b5a6fdb08f418f96b30b5971b1bdb15bce157430a36a00e, 0xaae7f482477148aefc4ec49aeec91f49bde304c47a6c2beb9457fd8215fd5, 0x332cd9ac4fa506e75af19bc682dbf6d2c40ab0573e0f874b1e16edc70543b76, 0xc65df749775f89f793131ff693e65eb11dfe03e93719de58ffde25a298a48d, 0x40bd5d966f8ffe50a7ca279c90e7657501f3cbe08179aa993ea2bb7fe690cdb, 0x4743c68ce91310d36f2fcd8584d9a7a72783cd03f4342362c230100283b2557, 0x5ca6fa0b51f0f7fbf86e7f9155513ac8e87b8926562d3199ffb364e79c5b966, 0x87e01817d8cdb1aff55031aa5ff1e5b55bfeab80873e1fb4c328ff2cf6e04, 0x1499553bc72e584ad22de7c93e0427e4a31eeedfb02d5a02171c7ba11dfc12c, 0x2b6d89f3fe83fd614417ce81b0349b3b6641bbd13bf3acdb4a21e4bb908756, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x19b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x65d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x1dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f, 0x36e97bc274d84f7d61d303ff22dd8ee43bd992e6819a02f9f9631eb769509ac, 0x6cccab7a3562f4bbafe589b0fd35cb2fc8453fdced910a5303930383008624e, 0x3e74bc7d6a77ae74e493bb70a77f73910ca4a793ee8b4fa222a5cabc25d3573, 0x1b23e3f348a77af8c7546549e1c5f526ac59014b5f2b791181915ffd3caac68, 0x38cf23cc0372a3ab7af24fae5a3814ccb4916f6ad1a21e8982ff768d454232e, 0x5443cb5b154c8cf3d95259740443a01175be3c071ae561887de50adcad7ce63, 0x6b6270cb21cdd72572670c623744e74b52f71431e5c8aebcd8bd7697b24036d, 0x3b2c65ce0a710bd83b2a87c3585ca1c54f40baa0f3c151619d4a166d0325a85, 0x1a42c7928e9b2a30a5b7bb00e46f0a9271df2cef4377315ce48421efa410c3a, 0x292a6074f822f7e162e22d532d181bb26a7b7fe9ba7b2c4522f57f05e7271d0)", + "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0x6406ee34a1efe8facbe9af9fd8e1ca76844730ca1a694651f9588a51cdc5261)", + "P->V[30272:30304]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x6d254ee84146afc096ce4a972496ce230e5043d67fcd942e433704ab5fccd24)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x3dfb412e927c395416bd84f781134958dff79c98314e0d5306eb368552363b9)", + "P->V[30304:30336]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x683d576e7da731babf21200a61c2fd90dd8572f134b33a9a9ce2af7bfb99827)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x2342f4e87dbf5aa7395097b7f2f9fea27eeeb9f7b283361fc787343d7e19a28)", + "P->V[30336:30368]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x75eeb8b29f816e92efdc80b81beaed7c23ac2ac33a3dadf872924ce2c77f49b)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x34d52c763ad531990dbeec88dde5ddf1dc0c886f722b08c6658dec09bb6acea)", + "P->V[30368:30400]: /cpu air/STARK/FRI/Commitment/Layer 4: Commitment: Hash(0x2815ecaee14de5fbc4a6c659fa19bd6ae3ffb4d453d4d5812612d525e7edef9)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 5: Evaluation point: Field Element(0x2622829a6d4014aa4e5864a09380eb5074d6b1b72b501181e8e1b7b76dd30ec)", + "P->V[30400:32448]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x4085cfc9c9a28214f3fb6159dee66c2c261a63a2030a273a74d19fc5b4a30a1, 0x27a50a423b069bc95aebf6a31c902e3382407c2cd6f7dd05dae32f93b047c95, 0x2a91a070b9ac854c9ec83a7dfb2e008632fa3a77c69598eeb71db1328dd9b3d, 0x3353c0f35ffac3dedc32c07f9f4debcfae6cbd237932206d74917e8a4db934f, 0x686e8362c15aba4d8679909f4f93c2799097fcd9dd12c9f77453d059be3f8b4, 0x2fe7129fc1b4f311b14dc641a065f93b2945c05e2ab41fa7e0eb419177d5c83, 0x4663f84700a396793178b4fea12a052a72552fa9a7a68f5e7efd48100aef122, 0x5a6b8995530abce616f2ad8e74020c1230ee1149bc132cafcef60ece7698cda, 0x4ab72e4dc9b829b8db1395f3c7ec3d2216433d92f7fddb5330c17a0c08a13da, 0x33a6329f05f73b917580f313a10ac956035801b080b4c6775412410939b1ee4, 0x4bcc94e1a7bf3476f922a48767d8e848cba3dc3a038abcb311d67bc59c56b, 0x567d757d94939e436625b29fb1b5dfd45178de28a3ff3dd1dd765dadc351520, 0x42dbdc341a73aabcca95d47cd6a6d9cd52a6ff89ae4c7410ff7f363a3db96d7, 0x4160a55f6e5c0ccef6d6f4a559421d58cfbe6ad49001eb63f7003da03e452bd, 0x41de742d6e87b50ea75914182f4c783c9aa899100f9310fd59117e79f1cb7c1, 0x5f1e7aae395ad471ed3b20e9393e2c530dcc29cb84452aa4ea8a5cc860d6b59, 0x451eec92d593b9e5c622525fbb70d6b371d6de9f5aaa0681f0eda146d23b8, 0x7454fc30163c3b252935c9f9eeb6a71c25fbc5eb42b81704815f0b9d18f6c97, 0x3627e6a00fad9fe0f37a98ffefa1c64c08f9c14dcc15697d1e8d2db0269ec5f, 0xd5138a6486386065eb78baf53d781ecbc7e933880ffa9f6e229b731437ddd4, 0x44217e5206eb6c41509447d962568324b5b953966b00b1a894d3c0b00d70133, 0x731a10024084946e9e21dedb151ab3e9b0efb05c4d12d0ab6c8893b75cc928a, 0x3d09ca6338f98b204617c86b6e5ceb4f156fe9f80d9a6977e047255c025a2c5, 0x4858a8b54383fa117cb973595024b6e4d7e1f0d3123056c691e48d27a9fd875, 0x5f80c14b34e7dd08fdc6889be3e83847d9e3e76fe91897f30f54f4fa0567658, 0x45005ce3d5f625221c342d05e58fe5d7488a69bce013726634121c26b1d784d, 0x59f3cfd19896ea954af4f4cf27c1ac0225b62db0fd70ed91993cf31c4d794bb, 0x715068c162336925789529c7a31fde648a45f33931680ff6b6d8b88c93bcda0, 0x166a53b1757351bcc76182ae4d3eb41f3763ab3d8f2bddc89cb7ae92761c606, 0x633afc4c608e18a7e7ab51b060b84ab8070320bb6a98cc8282ea62bc0d2748, 0x4d6af58f9c800656f0d742336cb87805665309c5cc9e7173c71d85d5e1e361f, 0x458285ec90cc102d4dd70bd14fd14c00b20f595c6e399adc8c440a5156e4ab3, 0x140ef6b2f705dba5120e49e592765cfc3174fe970f801315da8300bd9f2fd60, 0xf93925bbc872dea83df7bb2ffd6d9feac60a580034ef7fca6b4f7596c029b6, 0x1442eb74cd92ef1d85cb478f08c92ce34741debbf93e054b3077f833d65ae81, 0xa1e0fe48c99337046bc606cb3ffb1c346a525039ba76ab71756a508cd7d2f0, 0x582f13285ece019bf00c363023706903c9e0ac5d61c96999be7941cd892e01b, 0xa540f0edcaa81b652e77bb2ac3013bad5057e4bf942dcd415351cdffbc1bda, 0x125eb9cdf5f49a30640fc9d61fc33335aed3552b10f2a55f145cf172db65581, 0xcc278c6bb636b1f80408895d1859155d209dacc42bc098c242c71eddb455c8, 0x30fc0b20aad6081af118094b94fa0ad0d2aa76fd8c6da477ccb27988df6f955, 0x13270198269f15ec47b3c2d20aa8f89fbd7e0f81daa10da62e88c8d07b3ca0f, 0x155f2088830be1bf68e0cd6cfe902075593a21c0c5d0426c567910865388559, 0x26676c9ae0dc7fe9499899e0e8ed8da08eb0a9059bfae0bcfb018fbf190834b, 0x78d3c40f84623d40f42f48d57db36596a8a9486a0d7f210928ca769fe23858f, 0x4c482a8f0e5b0d7d59954b07d7b7491501f568c3a3a590e844135c98b170ca5, 0x417e0a685deb6ae7614370be30e7171d07c56f381d59250a03f94378620917d, 0x4894f88ebf520c7dea58111eaee0978dbe73b49ee026c9f72efc77e419688bc, 0x2fb8429141e1257331c184828a0d645ea860405d1bd3b0162bbc06de89ed07, 0x5da05439ed2c8ae567dd888f09c0083b9626f0ddbd24ac71f837c181c50c59e, 0x2b268452ad01d55cecd7c14e942a4a71893120140e8aa5c7abc2f8ac1a4d6d3, 0x7cbe4005741242d8a982e640692a1dc7845f7e10baa43159b94e77c2c8daef, 0x3f3b92fe21134703e93af08cf64247b066bfc36d5f9bb49c89cc06ab0e58822, 0x35f7c07119bc2f00e834bd2ffdb6b46dcf22cfa7178aaa49f5177b008e01891, 0x210d20758582084897c0ea5fc9a4aa35594b23b8b2f9f93afa9df0bb9518c2a, 0x5bb0ff183f4473f4f532f19d934e6071e8128b44977fdd0651a40234210859d, 0x3c97157046af24d17f42bfc1dca1f8393380ec120c049bb8ec09febaef971e8, 0x5678331302f3c53e3179432a9228c946fca441e6ec8346bb891b018629ba066, 0x120f12225db2fcdcd4965529864efd803ec3f327c390cea4ee2ac1e586b0883, 0x73cdeeca1c2df10e7cac959f890770f08a71f978bbdf0373883fe74d8e2efeb, 0x1d0d508dc6436fc566d7c64bf4564e3c1981d34264cc978ad18e925b6ae343f, 0x1ab2bf11b7877f17dcc0bff41538bf50ae1fa151592c218a55fe0352bbf498, 0x3c1b108d52c5b44b9a9c23bce0e0c4e209a05decb5bb54f4072a0eb03b3156b, 0x243a68a7d00380235d28f269ec75b1b0f51499de91807dde8a05bec4e584974)", + "P->V[32448:32480]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x17929377)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(532305)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(1453715)", + "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 0: Field Element(0x4876e1d673da4b463c1564fc0818e3815ce8f8d17124fbf85ceff388b438517)", + "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 1: Field Element(0x49e2dd18ea10862a5090d3337c4e91f951bbb427e49ba166434d34aa629f10e)", + "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 2: Field Element(0x7ca3fa9d85ab53ccbe281aa052c26e3c2d085b543478f1268f41efc32b3ce87)", + "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 3: Field Element(0x73e38b7ba5afa2d1a894e053cf9b8d1154beaeeb3828200e0ed5ba383f1fdeb)", + "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 4: Field Element(0x4516887082bd5393948b38f2298ad9940ab7ab525e0ec5c30ca35c51153b11c)", + "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 5: Field Element(0x24d804a9d6b48e17f2c0ddbaad23ab397b9e30fd04a5a40476be1364922e8d0)", + "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 6: Field Element(0x23727b8a447a5c07d55da93ba19e9fc7a05c31dad49c0cdc97c35dbdeedd4b6)", + "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 532305, Column 7: Field Element(0x55448fe48f9d7dd4afa36c12d6b143e9540ed5d4c80d483338fcf7e6462bc26)", + "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 0: Field Element(0x3428298a890c666061e5555c5051d2e1590d695e755b32af31cbd593925941f)", + "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 1: Field Element(0x43b21fdd2e8308894b140b5db3cd69c14108e7f2e3683d72f4e5b793f443b2d)", + "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 2: Field Element(0x29ad5128070848f721f2110aab310322fd91a70417f4c2a81212dfa86bad89c)", + "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 3: Field Element(0x2ed17924fddbf77756918d5c94040989f9585e2c493ccf5ea7a9a4611c15e77)", + "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 4: Field Element(0x21285096959c7eccd3f435eb2570ee73c4511a5906a29fc065c43179363fe12)", + "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 5: Field Element(0x4004bcbea18d48563452b16f95762b4720dd5a830713d8e5b1d77739cf7fcb4)", + "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 6: Field Element(0x7447f969dc2f904194e5025e84f2385b65ac1dd5239e6d87a81f00226072a76)", + "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1453715, Column 7: Field Element(0x174884aeecfab15baca26fe96a2e5b74aebcb806456c81e768568a31e85a04c)", + "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2629456: Hash(0x0094ff152635103e21a90f228f5467ba0cf45b931633645e519a445976973155)", + "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3550866: Hash(0x003d0f14e24bdae8dbbbc17766cec5afe36cf311d3be7214b149c96ca2bbf164)", + "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1314729: Hash(0x005a57ac9bbc42a42f477279670ddc272dec961efc7546b67390c67479a4b164)", + "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1775432: Hash(0x00bc9d927415f57a7ccf0d13d211645acdae2b33974be72ab615dde8511492c6)", + "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 657365: Hash(0x005dbbf688c838df0571a18e48de8a5823375d060e4e5314c6e2a76fa844b962)", + "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 887717: Hash(0x004b5bf62b0d0eae03e4a1a5c94ee879a24b540f3313af3fec3cfdd0d55de3d5)", + "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 328683: Hash(0x00a3a776b03b81772187e60f3775f1c6c0b00166014e130dcc0bcafbd3028f4d)", + "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 443859: Hash(0x00aa32bea234a20f4cd57b8cb8093c8cac6e214eac6eb456146ca801a8f25d79)", + "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 164340: Hash(0x00ec0c5ffcb7fe55e978a813b5b0fbf7e3f22a11edd13673d7d3a3f8dfead3fd)", + "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 221928: Hash(0x006f76d907d207468c1a87f4e31f4aa6059132dad0f8c57babea5139355c360b)", + "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 82171: Hash(0x007667b2f8109e02ef8836c4ea93386704390d8619fde8a1b8c385b729648714)", + "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 110965: Hash(0x00e7c2c10773bfa642df26827fb790450d7e1baddbde50eca5f7e989b5ddc489)", + "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 41084: Hash(0x00821439d6e3959dd1a208fdf076e6e68c7ce54d48c21a665555db37af4b8b34)", + "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55483: Hash(0x0048dc541b13a002840f44e862a4f14b3bf1a1ea63c6bce025697cd5e643d93b)", + "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 20543: Hash(0x0035efe59bfce7a431847ee7d123e460dffc21d7e07f6be5d0397a4ff110ae25)", + "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27740: Hash(0x00bc81082e83e607853eba82942f5a5367af8e79be0a2bbc311197f25683b7ee)", + "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 10270: Hash(0x0062d327e5f57e733e9986efff671b3e0a31e1b01b6ebc8adfda9d7a17728672)", + "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13871: Hash(0x00093c834d355c4e66d47d3c7ec90d5e735b7c2c45febf6b31e1688a42057f89)", + "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5134: Hash(0x00810d231f4f517dead5005b75fe5a90a4d9fda7d9d20b7e0bd8b0693bfad155)", + "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6934: Hash(0x00d0067cefba997056640309ad0bfcb33a7f2a89ee2c54ee5ac771cfff32e090)", + "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2566: Hash(0x003a39228f590d83c1b990274ff47315776d1adf57167119265cfc4a6c25bf53)", + "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3466: Hash(0x00bb46f9867f80788641b5956c56380ca450388b5feb69d3d1c7e8678b22eeff)", + "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1282: Hash(0x005f063f5eeef705832f082094d2fb584b0e11a85b199c21fb7fe8c4a79c6bf7)", + "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1732: Hash(0x008fe6350399e4360e173ded7c1d926968030d28219c26f3c971f86534fd8df7)", + "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 640: Hash(0xa5cf318dcd0dfd8c27175f13bd2f7249347be1a679ae690def87d0228dcdcf)", + "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 867: Hash(0x60ff7409f71f2a31dfdb1367b6e923e910f863c4999a96bfc242edaf82963b)", + "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 321: Hash(0x7d4178683d072026a35728761834c418e3c746255a19c3a73cdd0af41b4b0c)", + "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 432: Hash(0x2898a5bd1a12757392d0930f5aeed3a4107f9621d8de49a94d952523393c121)", + "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 161: Hash(0x65362cacc8cc3b70af47d0e92eb7034b0c5bc7f41018dc66ecd06e1042e4b20)", + "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 217: Hash(0xe9b64bd087e6d6b72f209b9cfcaf0b72f932467cab264dc03ef86a067e5e9)", + "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 81: Hash(0x4ea4161e516b2607e3089fa14e1d10c0d49c7f148f0c12765c8ef6295b3485f)", + "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 109: Hash(0x16a6eefdf45321015efd7a14b9b92845b1410104be0b18e6e8b61bce361a1d3)", + "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 41: Hash(0x29b52335722caea125b07064093afc81e03ced6c953858bcfefe5e97edce0)", + "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55: Hash(0x1eaaa5bf7d14673cb4cdfb6385487a2e4ef6012ad040dad23bd2d88253083e9)", + "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 21: Hash(0x7ee7f74d54f45c701661840d9d37142ac3d7027c2119069ce37168714f85e52)", + "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26: Hash(0x25b9770545f0f67cfb4475ad72ba1759f71b9fca3367c0587ce611e695e7bfa)", + "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11: Hash(0xed4c5fb50197b52f21fa2a3fbe067d62a3877b9909a8f6e1d7e5f86909f253)", + "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12: Hash(0x9808328602b0e78f2839fc90a0891bc7f15f63b4edd0710a8e6dbdfaa8e31b)", + "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4: Hash(0x3f8976a5989dc89f9c1df3518b43f807896082d2b991089deeca10810722b32)", + "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7: Hash(0x24ca8182757f5836265dc01bef029d6504a5928a8964213da3e7b7b5ea113ab)", + "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 532305, Column 0: Field Element(0x7b2ddb1e5f56318ca4695ffa06ea18897f562dcfd0bd0abb9debcf339cfdcba)", + "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 532305, Column 1: Field Element(0x763ec6e484c30e3f91d0a6637774a1b7f37a39e1ec735e0adaf7aee489fad7)", + "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 532305, Column 2: Field Element(0x3ed8bbc90ea73c08412564d820f2fed07d1091b8cab382eb95dc4bd08532d6f)", + "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 532305, Column 3: Field Element(0x38b1d78c6474dce1bbfc90db0c23837cdd92e0c5635b8c0420bc041a63c4792)", + "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1453715, Column 0: Field Element(0x7b4a192f573d34de3387175b6a86ddb59eaa63e104e5628b737e805c3882ca)", + "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1453715, Column 1: Field Element(0x181c5aac1d91364ade1a19f15e1c0148f3708da42f3248a873f50f03febcdcb)", + "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1453715, Column 2: Field Element(0x799972b58671481b1331134118d07b1bcdbe7b9315718c7e29dac60296ba34b)", + "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1453715, Column 3: Field Element(0x17104b84c02209512bbaa52f7c50e1ecadd65ffefb3cb9e3463c081e8b7524e)", + "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2629456: Hash(0x00cb7c2f14517fbd320d53d6e139f34d9ddcec872b19dd4f1e2bd4c877a34a06)", + "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3550866: Hash(0x00f81f5027084b77d1352fe26a8006d259e630e55a12a27a648b583013e1fced)", + "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1314729: Hash(0x00b3d7aedc42f7b7651322dcaa7ce5d6cd24be33db715636ef0d344ed5cf1c94)", + "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1775432: Hash(0x00d490ec45bd2b718142e51f423d2a8ab4c9e9ceab37ed33159a1701833b1065)", + "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 657365: Hash(0x0079f1998bd4cb9c5274710d39f9f47e2d21b680a7e3d8fc66f6302af46f3a59)", + "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 887717: Hash(0x005fbe0248345be4e1fa2738676e301be2fc90c6406acc5a28bae6acf5624fbb)", + "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 328683: Hash(0x00727eb1c2ad9533d7f2bb677f9acb5a4d1e2d0fabd813a6cc47a193c3c2a4a9)", + "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 443859: Hash(0x00c8048e152c04213ec83b9596fd707ba3a4f73cabd84dec75cd8720d7bdfd68)", + "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 164340: Hash(0x00cb325915e62180aae7a71314594013cd3071ea78eb8cd29534d19208f62894)", + "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 221928: Hash(0x00fa784c4705e5d74e781af7a21fd4f495fa103ceb825fa8b5de59d3bf15af16)", + "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 82171: Hash(0x0065e881c27b99c82e0bc0c41bc2d0cb02414da70630c1ddd2e2205d690278f2)", + "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 110965: Hash(0x008357a5bd918c9402e820380bf63cd57b721a47477aed81f7566f02e40e9af8)", + "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 41084: Hash(0x00d300d4c3850f1835c257d2cf9070e76d51f6c20f7b7480012c934cb9f44ba9)", + "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55483: Hash(0x005930b6ff9dd6693d1cd9f8b7e02b01c0faccc64ff27afedad1e4c7116bc0fe)", + "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 20543: Hash(0x007755633d2d6b8af645b460650ab213490a8b7d33b7618c06049aae41023642)", + "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27740: Hash(0x0076ae261efc0ae853e31b65c021c20718c8982f501ace1de3b018aaaf69ed9d)", + "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 10270: Hash(0x00aae01ea5082459b8021280aa2f6221094c875473efc9e2b7f995af0f73c71c)", + "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13871: Hash(0x00c802a2d1838b4f4f08d51b19d7d4c61fcfab9fb3197557130c0f5b07a3a5a5)", + "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5134: Hash(0x005405acc2d3a76ee6a7ef38e9097c352678c329ae54f33afe98c469bd52050e)", + "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6934: Hash(0x00091c2dbd3e69a402cc62adfcbd283aa00e7ff066d7f4edc93b15418b13ed53)", + "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2566: Hash(0x00cdf97e8e4f97c0857f7d367980b62cd989b02e5b099d1e576cd57456739ef8)", + "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3466: Hash(0x00508aa16fd9f457c087d87e65669a9b9e07130f8bd2df7af66c67b0ccf69116)", + "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1282: Hash(0x006b24e2891ccddfd3dba031cc2ce6dc33546cd0af3b34518f6ffaddf418bde2)", + "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1732: Hash(0x007f7575dc0c7a2cb38c42659fe6032904c1f67b4785b4d84211e96da86a96c4)", + "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 640: Hash(0x530ac92fb003badf40d72ce44c8a19e86a98b78cd5ebcce0811a7afdbb08a9)", + "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 867: Hash(0xba091d1a3afdad2d54b04d63cdd91c02190aa55bdba2d227b1d547e8254252)", + "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 321: Hash(0x1c770e3a0b956c64d241e195dc556dcc68a1055cace293195ce10203d6ba685)", + "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 432: Hash(0x25c2380cfb05dbe5841675332e97813baed0d838224c47b96144fece7bf2a30)", + "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 161: Hash(0x27a70776504fcbc15888863cd212fe73e1be97bf06d8477fd2685921eb3c444)", + "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 217: Hash(0x4465978a2349dab8060ab1979acea6bcc0e89da891d5f6217fa59f3dd5c6249)", + "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 81: Hash(0x1061733630f25485a1a415b77ab8161157926ea19047aa4597a2f4a278dbc58)", + "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 109: Hash(0x3f533941605fcd42fa46673e0d9e64ae2625a01fdaddc4d657094000dee6822)", + "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 41: Hash(0xf73e4b06faf34f787b98bbc405f3cca930df5d1205e823734627b717fe9dc4)", + "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55: Hash(0x24b17d0d925e492c58a33e641ffa07c23e377c42a2919cd03ea30a6d4f7b60e)", + "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 21: Hash(0x3262f602bf6418a30bd4b24cc7e6dbc5dbb22080337b40e556b1dccb296b78e)", + "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26: Hash(0x21b86c0c0b5c89834e57424d0585929b59e82ec820b4857f01e8b0ffabeee12)", + "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11: Hash(0x2b2001825ce6dd28d5f9715696976ca62a4b0c266d1b55e1717ce7b6f57d4c6)", + "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12: Hash(0x2d4c136ae2d7c59bf7232f2a05dc18eb8678eff2f7296966c5afa4f302103b2)", + "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4: Hash(0x6d6f540a48b841f2ec1391b80c6cafc361f47707f4b9b81ac517ffaa0bcf2cf)", + "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7: Hash(0x3d2f272ad19ee3cd71ff8858dcb0699bc925efcec13df3bdaaa2fb1b8ef59bb)", + "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 532305, Column 0: Field Element(0x42da78daf5cf33f710f1ac214d5c97cf382593c91fd6e937a29d8f92484a6bf)", + "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 532305, Column 1: Field Element(0x329820abca1b0bc578440d585750fd574ccc81cd2eca33ef4a2a276ce848324)", + "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1453715, Column 0: Field Element(0x3042b3c6040260ec6577d719caed9383656eaf1b836a7a1ea7eee8acc883409)", + "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1453715, Column 1: Field Element(0x7c08576e61774d8b38f1fb28780e805c10fccd3651b199e6997aaf0f9cd302d)", + "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2629456: Hash(0x00586c28b22aca1ea5ed4fbda5e14381cf459a886e9e26564696bc1c28b7e4b3)", + "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3550866: Hash(0x00d23f2da9f006cc09efb46f5c256d9552cb56d9e87e704641ab227954fbdeef)", + "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1314729: Hash(0x007989e168fe32578f6bfe33d23620d6c81f5e03827a97d19904b3b2cb1e3599)", + "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1775432: Hash(0x008bf6eec57af3dd15ecc7402ac832af6b2789ef3dcc52afb02be8ce97fdb009)", + "P->V[36064:36096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 657365: Hash(0x00169dbbbe896ada62367a17ac9e72c63de5469d2f53c7e3bb03aaf38e86def7)", + "P->V[36096:36128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 887717: Hash(0x00b1401685f1d4f671fdea198092a9442170f9e8637666df4329a0a1738a71d0)", + "P->V[36128:36160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 328683: Hash(0x0054b52211b8134bba2ebc4ca2ef25925b79d1bb1d64f802a24993fc246c68d1)", + "P->V[36160:36192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 443859: Hash(0x009be898ea36aba652aa47ba7b0a28ed9827f1e0ed6545d881b053e289ffa648)", + "P->V[36192:36224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 164340: Hash(0x00efca503cd79e7146fbd2ca15bfba5c15745d3dcf88970b28f9778258bad79e)", + "P->V[36224:36256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 221928: Hash(0x00d69bce2e55e5d44a12c71931dc4de703584e0f3f98da45277c1ef564718014)", + "P->V[36256:36288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 82171: Hash(0x007c47c010c4331bed40cdda13085a8c97bc780a73703b5091822a78d6958f92)", + "P->V[36288:36320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 110965: Hash(0x00ae473d5b7f1dd654acd11d3379da0999d3f5371857775ec7506fd2043a7765)", + "P->V[36320:36352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 41084: Hash(0x008ff5fba38387cd15558e71c32a8bc03883823a1933c1cca8c5cd0f17914c64)", + "P->V[36352:36384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55483: Hash(0x0042cd76405a031665c148d745031d729c8733c7fd9cbbeb22942eda387f343d)", + "P->V[36384:36416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 20543: Hash(0x00d0e7e57fa745d2c3d7dbe07c5039cabf1000498fd2e624a26acd5dcb9b83bf)", + "P->V[36416:36448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27740: Hash(0x005f12f652298ba0fbe7455404946c60323e4aa3582162f869ee56950e89d524)", + "P->V[36448:36480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 10270: Hash(0x00b6253bae2e94346f0ad56e1d64119320796dc99e450efb31b0da76a98f5b06)", + "P->V[36480:36512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13871: Hash(0x00766a7b7d273253aec5f3b92b5951f735d4df485d353c97881cf29f2aa7fd0d)", + "P->V[36512:36544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5134: Hash(0x00e057295338f0b0b675d8fa3c3e8a96609ce15804e8b5f1cb6a19c1183c82f0)", + "P->V[36544:36576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6934: Hash(0x005ac968dd0a86a9b4ab19d12ff42768bab2a59293ac532533363dc2955b8014)", + "P->V[36576:36608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2566: Hash(0x00e3503ddaa8307f3c9775fad13a52f1ec4eaf6bb3874820b5b2fcedc6cef991)", + "P->V[36608:36640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3466: Hash(0x00de1370d3fef1cd96149df42d6411c66309d3dc95388f82e6b945a6ebf2ae1a)", + "P->V[36640:36672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1282: Hash(0x002e0a69f75c990eb2ae71210f5ccf20490c09da8b6abe905eabea5e08817168)", + "P->V[36672:36704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1732: Hash(0x0097a5012a1d6d2b82ef01b66878ce4095735548ebb88f90903c492116443d67)", + "P->V[36704:36736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 640: Hash(0xd2c3afd4a8e097bf7ed18e6d6f20ed2cdd12c6c83cb612a631599328370c57)", + "P->V[36736:36768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 867: Hash(0x2b5c977bfd26df8d3aeeed4fade6db1dd7386d966057cb9ebd9d859b82059)", + "P->V[36768:36800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 321: Hash(0x65efa0233fef39127c76a1bd149417118fda5855658cccf6bfa3585180032be)", + "P->V[36800:36832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 432: Hash(0x52b950fda2344a2469479f4a5fd80cc183d1bc218422a659358897de3bdb019)", + "P->V[36832:36864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 161: Hash(0x2857434e22e93ee21eb09488ca0ddc3265717b021fb150d698ab50656e8722d)", + "P->V[36864:36896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 217: Hash(0x7dfa80e5408b06a728bea926999968808a32b2578053473ec085b87fefacd7f)", + "P->V[36896:36928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 81: Hash(0x4f53f12f7e8c935cce05434e83655bc2911c98e779e19e2d2257eb7e023b18)", + "P->V[36928:36960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 109: Hash(0xa8919461ccebb76e3866503ebbeb39d2a80279ee52b10f59b21b64e5706606)", + "P->V[36960:36992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 41: Hash(0x6901a002b2452e4a97a05a5b3718ae9c3d439c61c1bd46cc180c150c7668331)", + "P->V[36992:37024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55: Hash(0x5d55888f1ef2728f1e7d16beefde1c5d187fda7026fcb363e9b712be608ef58)", + "P->V[37024:37056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 21: Hash(0x1ca181513fa24f178313c10814777705d8e632815947b52931f0a7f4b3d6c48)", + "P->V[37056:37088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26: Hash(0x6da2135ae6c29116dc7ca3c24297ca78f5f504b7e9f73e349f2e7df38adb8b8)", + "P->V[37088:37120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11: Hash(0x5692a870158a04c571393775c289a396b26cfa236e533600f3185c2143ecce1)", + "P->V[37120:37152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12: Hash(0x3007a691b0dc8b392f20e5b856e402580cea431bfefb22cb8ebdd5a498f4544)", + "P->V[37152:37184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4: Hash(0x17d0ad7b64215efea238f0c60dcc14f23daae85fb4243163fa528d192bb1f5e)", + "P->V[37184:37216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7: Hash(0x109bfe4cee53905dd19d756d49b3a8bfb06308eae703efc28c5f3a5b76fbb2b)", + "P->V[37216:37248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 0: Field Element(0x47351a67f87362fc2b2fde61c0a97c580308e573ece576713a19b5739ef9885)", + "P->V[37248:37280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 2: Field Element(0x6743b03494e56e9a988feed7f2f773e77a187024d931d0b7f7df7b3210a1339)", + "P->V[37280:37312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 3: Field Element(0x57fed5c87bd429329e066e794952ac83fa90a7085ace6c64a5f9df2c82ad994)", + "P->V[37312:37344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 4: Field Element(0x47ad9d9108701a3cc53e45860a05c32dddf06931ce2220398cbbe168347fc07)", + "P->V[37344:37376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 5: Field Element(0x6a0be249ac2020f6fb9c7139f629a2d6e4e50ec06e8df2d5766d807bc5e0263)", + "P->V[37376:37408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 6: Field Element(0x5ce0f2f07fd7d783baad823d9f731860a312f73ebc3ac252a0d942245043051)", + "P->V[37408:37440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 7: Field Element(0xf0834b7537e86f5ca92c8b45260361cd4b5cd523574e734b3eb64512c1b921)", + "P->V[37440:37472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 0: Field Element(0x4efb82cada9142a01bf10e6c8c487460c10e64d19df7cd7461811c3d4c8136b)", + "P->V[37472:37504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 1: Field Element(0x1cf3be16e0346ecff556776e688a873f616b094548116907ec039b34c49ebb8)", + "P->V[37504:37536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 2: Field Element(0x255c5154506a8c1cf8cd1b0af2d7ba72888a966e018c9012f47f3237dcd888f)", + "P->V[37536:37568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 4: Field Element(0x2b4b3f70e4045b444d616cc0b3cfadf8d689cc6cd10595c8ff674b4de5ec2e2)", + "P->V[37568:37600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 5: Field Element(0x1f049775d97b9adfbc3c61ac080439de3195b669c8c4fc5f69e1542234de091)", + "P->V[37600:37632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 6: Field Element(0x6b24ee0739cd25cc8ec77d079f309093607268ba656d6716c7cee36bce7c3e2)", + "P->V[37632:37664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 7: Field Element(0x28ec870fcd2dc64dd7897ba315514d1e93c0e8e810ec177160a78ab884fc94a)", + "P->V[37664:37696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 328683: Hash(0x00eb5875f25780a50d192d271a9857281305b252d85d1e55a2393a355fe6c5cc)", + "P->V[37696:37728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 443859: Hash(0x0007c65b9bbb68bf6eedbe5616518174cfbac9ef2e69ad96d97c6005d57c8744)", + "P->V[37728:37760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 164340: Hash(0x00044df4f0e74abb52be79bebaa33f1b36872c98403363e0759991fe28665347)", + "P->V[37760:37792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 221928: Hash(0x00de137132a60ceda49666a9eb6153736c85ae9c8f5399667e132ed040eadeb9)", + "P->V[37792:37824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 82171: Hash(0x00f54eda576f5dfcc4aedc068ebd37064700638a3af272ba6773b6fb98235993)", + "P->V[37824:37856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 110965: Hash(0x004927ba3d533a019beeba225b2bcb8e8b397f2185e077b6ae883d1e024499d6)", + "P->V[37856:37888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 41084: Hash(0x0013a0de62a5c8ba2e51f648d153ece0755b725b7b39956ee561a945b2ec0e5d)", + "P->V[37888:37920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55483: Hash(0x00b0959371ba8ae46cd1e62d1afa2c36d1d856277c8b4fe8b18fb3e4ba8ac5ae)", + "P->V[37920:37952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 20543: Hash(0x0076fd275e2a21badfbd2362222809e150cbf2babe49b99b78b2c8d1fc72a785)", + "P->V[37952:37984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27740: Hash(0x00afb575c98fb0e02236f876e2277230cc2a96782292be11e4749ed6d1149a81)", + "P->V[37984:38016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 10270: Hash(0x0092c9358441607be6b71b56aedf0e74471766e2fa3f370815ed205fa2e9bdac)", + "P->V[38016:38048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13871: Hash(0x001e086b7a2fcd8ed513d2ef6c0e2b0cf754e717fdb36de55db69b2f5b65ed98)", + "P->V[38048:38080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5134: Hash(0x00fffe0d57536e100d796b56be639532b407482558bd2fde1987c88c73adc826)", + "P->V[38080:38112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6934: Hash(0x001bae3f514aa292f2ef8d29216da8e7358ee94c7906beaa26d6e120068bbc34)", + "P->V[38112:38144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2566: Hash(0x00c955a01714f7689988d0482232cf064113c094f8441d48a18b185c473e5588)", + "P->V[38144:38176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3466: Hash(0x007868d8bb18914b97544b0e21ba93d1ec63e71d5a4c81d62e69eb05763d08af)", + "P->V[38176:38208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1282: Hash(0x0009127c8954d5d66ea8fee544bc34d1dc775a07ce8983bcf827d76dc8fe4549)", + "P->V[38208:38240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1732: Hash(0x00fac7f8eff03d62e373e540a2e951408ffd278880e5e6b4b0d7db554b0cae7f)", + "P->V[38240:38272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 640: Hash(0x458da6680cf655cc3cca159cf440aa20ffcf218a0891a944cacc7db95caf60)", + "P->V[38272:38304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 867: Hash(0x5896d978dfda023873c7f72b2d7545f0ff233b3c39de5507305437acb8b26b)", + "P->V[38304:38336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 321: Hash(0x3a911ecd19aa8ea4ef4e92fdd2891ad485df2d921fdabfcbef303263c9ec8c6)", + "P->V[38336:38368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 432: Hash(0x128ab152edf57ee4220d3ddc387a3a2d3b1db74ab557aa06d347b5cab6ca887)", + "P->V[38368:38400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 161: Hash(0x40b6c1365f0bdbe6b23ead76d764423d40f0d8446c278d6c0bb5539764c29bb)", + "P->V[38400:38432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 217: Hash(0x764b24dab576690ab913ae4ca84fd0bb9bce59516d1f1da62ad1e1a8ff16249)", + "P->V[38432:38464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 81: Hash(0x409f3b378710d9cb71224cbb38300c79e7a74fbd71530dfa98d9e701b3b361f)", + "P->V[38464:38496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 109: Hash(0x940ddff7812b7be23521376f1d38f4eff79c7526783adc6219cd483394fb8)", + "P->V[38496:38528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 41: Hash(0x583570d877dd71affa6e255131fc9a45694bf72659d2179c5848e210745b8a8)", + "P->V[38528:38560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55: Hash(0x41feceb3899aebd5d03bc96d92682730fe16e8c795d94cfe9b842f43b8026a0)", + "P->V[38560:38592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 21: Hash(0x26908d32470deead75e773a1d0827105be5e7dde8a7d14e6880ab0fa9209a5a)", + "P->V[38592:38624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26: Hash(0x62172f0f92e0c37d7668341bf6f42c8bb2ec0ab1b2e3767e9ddd5034afc694d)", + "P->V[38624:38656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11: Hash(0x494e5f377696629d06d514980d5f5e70664239f539408c5e2417e12cda7bbcf)", + "P->V[38656:38688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12: Hash(0x1c9aa85dcd178feb7a45a5a0204c506b986d0d64b66b67230d6a874931c248d)", + "P->V[38688:38720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4: Hash(0x7508565ba5ee530140717ae2cbd07d1c668c8235bfc15da181634539e76cebc)", + "P->V[38720:38752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7: Hash(0x43df05ff48281c8560c01ccea5a2c5c99afb7685f7df5259ba292248f0fef88)", + "P->V[38752:38784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 0: Field Element(0x49be03d022f2f6a666bc3ab15104206c56209c105af93fd8cce2c3680e94ba)", + "P->V[38784:38816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 1: Field Element(0x324b1a3cc2dd9b568bafc0e3b7ffc009693cddc26cbb407ff50b0a36ee5256c)", + "P->V[38816:38848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 3: Field Element(0x6833abda1104fef434a9215e66af542d8ac3784a15c4155cc53815975814178)", + "P->V[38848:38880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 4: Field Element(0x3691b04ca635f411072de8b6fc1a6312565448afbc32f8f8e0a7905fe2550df)", + "P->V[38880:38912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 5: Field Element(0x7ae710e70d5e78e61741317c4f212677697db17fe0597b438f73ad9b878f6ed)", + "P->V[38912:38944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 6: Field Element(0x164a592cbec64d8cfdea9775060bc576062cdad6a8dfe00c00b54121443c68a)", + "P->V[38944:38976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 7: Field Element(0x3a33482b21da835f7a35ce708f36b81234dc453048420dd06e3a9d34e28d90b)", + "P->V[38976:39008]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 0: Field Element(0x862d6296718db0c9bc0c8911d6ab7c41550d83506b299c89b8a6cf04a97bfd)", + "P->V[39008:39040]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 1: Field Element(0x544ccd8428847d0d0d64870f5fcdb627a470ab84b75a9fcf581e5e64348ccd8)", + "P->V[39040:39072]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 3: Field Element(0x29c8caf2145e8a68aef301ec53f76d150526fac46f027469e877d3b224a1795)", + "P->V[39072:39104]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 4: Field Element(0x3cb8518f2f3501d6efdc70236cbb8660dd88bb7aa1ddde04da0acf9197b6787)", + "P->V[39104:39136]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 5: Field Element(0x76cb1c5c1d9e4336a5ef70aa6f4f03d8a9409c036a1e68441238de6fb7cf58e)", + "P->V[39136:39168]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 6: Field Element(0x667a5387467ca47a2b3be84a9f1c9d42d1c5e3a527788360b7f4a4ae26653a1)", + "P->V[39168:39200]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 7: Field Element(0x709aff545cc6975c41b0b26a2d468cf52d717659803044c6f6f49b75518c85a)", + "P->V[39200:39232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 41084: Hash(0x00d42dc29e1ca7204144824f9321c8a7b62336fbf3c5a98d2b82ff239fec31db)", + "P->V[39232:39264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 55483: Hash(0x0058307ace6183b250c7eb18458ec325077cf8181a02bf053a8d90f21f5dcb7f)", + "P->V[39264:39296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 20543: Hash(0x00715f3cdcfd027193547af21a2b199318e5d1448752f5aa16ad5d329f205394)", + "P->V[39296:39328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 27740: Hash(0x004a179283e4b4759b19aa3a9a4744e36acde111ee3dcd058f03f979582b38de)", + "P->V[39328:39360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 10270: Hash(0x009da99a6a037893162e826da24fcfcf94435945441f2b6daf0f7c6382670875)", + "P->V[39360:39392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13871: Hash(0x004a350ba095d2dd6e63eeb8344cdf72c6b3550a248af8496eb5aaeaa2da2670)", + "P->V[39392:39424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5134: Hash(0x0003a38dde32bcd1346055d6b23cd6e75bdf9eb1cceb7ac303e94047da5c6c7a)", + "P->V[39424:39456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6934: Hash(0x00deda4a5d94773dbc061437a58d1296e667e8af81a02fe8b41f7e29255b8f37)", + "P->V[39456:39488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2566: Hash(0x00527cf19d37efe41c156dd5ec0527d9db8a741eb1ff8c14474561ad18f2e731)", + "P->V[39488:39520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3466: Hash(0x003e712083c8bfad1cdfd1d557d3c8b43e20ffd07d6fb38de3c987fb6a951eea)", + "P->V[39520:39552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1282: Hash(0x0090c6e17409339ddfd30f2ef7b1cdc70344dd2476a05fc713d6b6869f6f76af)", + "P->V[39552:39584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1732: Hash(0x00340faeec7ec9e3940bc3e1a0f3386410740161e800733996befa5fd4eba9c6)", + "P->V[39584:39616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 640: Hash(0xd9dfcac8fe60b930501de50babaf1c5c80828b69f2b9d9f8cd5b10e790b03c)", + "P->V[39616:39648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 867: Hash(0xdbbae83e1e5138efcc6e0b1538337e6f67d1a812a8b636193c2e1585618c5)", + "P->V[39648:39680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 321: Hash(0x2f3618e0c7594100157d61a22f8071250e2617d82d436fb012a0ac1d3809cad)", + "P->V[39680:39712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 432: Hash(0x6e4dc12eb57fe79133b3a5d6572a79f22e98eeadfd6ac0bd76c6e285be9b271)", + "P->V[39712:39744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 161: Hash(0x39707d1ca40aee672c62fc3599354a15334a21dd2c990db2a14d2b580a965a9)", + "P->V[39744:39776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 217: Hash(0x7b45ca6669be9fa68d7c4712845fd4edfc3dd6bd39f08fb1971d6d3398adfcf)", + "P->V[39776:39808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 81: Hash(0x1832fc6c13880a928e3364e06486278f4146dae6a15c4e8639beb1519848708)", + "P->V[39808:39840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 109: Hash(0x4ef973425196b10e70a671f6e678bb2422b201d67ed87e9b9ba25348d656a39)", + "P->V[39840:39872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 41: Hash(0x6d4ebb3439118109c1c1c6013a5fd7a8a99eb9b2fba9c097e25c5464b276d17)", + "P->V[39872:39904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 55: Hash(0x38739a121fee984834a264b88b4bcb529d1567ea0a6525c8ffc22d3b76b1aee)", + "P->V[39904:39936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 21: Hash(0x76c275579cbdcf734dc08c75c25d7aaded9c1ded682f02652130d1e2ca3ceba)", + "P->V[39936:39968]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26: Hash(0x324ce3ec0fab7de21ccc9fa4448b442c419ec75a15653ff61ec34418fec3777)", + "P->V[39968:40000]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11: Hash(0x295d4ad5540a51b0d2f3ac7b858a5b7a0292d841dae349e25907a0d55fcb945)", + "P->V[40000:40032]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12: Hash(0x2b80d571e1714dd2cc0e7f40af261841f62311fe02d6eca257b688f1da65024)", + "P->V[40032:40064]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4: Hash(0x5ecfdafb5c70811abdc5db4bc2ba392ecf179a50def962f2a10da73bd36c9c1)", + "P->V[40064:40096]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7: Hash(0xf533284778805ef5320e4027ff74aa0c9b2585d52e6b568976ee3ca7be75ee)", + "P->V[40096:40128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 0: Field Element(0x53b8ff4dde0072ea5f2bd005f29e769bd9c1f24597544d766e2e49ac7572421)", + "P->V[40128:40160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 1: Field Element(0x489fb85aee3dec5d89495959c07942f579b59f1fc8706d5440dd989fd7b79df)", + "P->V[40160:40192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 2: Field Element(0x3f55e0a83ba721cb5c5367869d81486167010376f16c474b6340b17e023161d)", + "P->V[40192:40224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 3: Field Element(0xe502452710a40ad4cb275024c7b8f2485f43014bc06a80cee284c7f40a3f72)", + "P->V[40224:40256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 4: Field Element(0x629a6d23575b500952acedda4f11e87fc6ebf9b046d2391c8e7d87a03c9b4b7)", + "P->V[40256:40288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 6: Field Element(0x36d9324b21674f61862dad5a75bdf3faa1f95ceb7ed01762b1524b72b98331e)", + "P->V[40288:40320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 7: Field Element(0x6ab7c96c1855606f5e13a4d4edf7df818e68a13ccb8cbafd054d867660d2256)", + "P->V[40320:40352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 0: Field Element(0x13d375ad27b077622e59bfda1e55cffff87c453e6d824e5de171c71a9650e1b)", + "P->V[40352:40384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 1: Field Element(0x3524964629d407023957721bfb4fbab7ac1595a5c80b1f4c3e3912bf3895696)", + "P->V[40384:40416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 3: Field Element(0x782dd5d81700857342c6ab3ce1a3dc525303e68b044ca21ddccc4245f3ccbee)", + "P->V[40416:40448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 4: Field Element(0x4b5295bc4ffca0f931f2bba34c4275eedfa2469c3ac92ee67d972c2a7fb1a59)", + "P->V[40448:40480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 5: Field Element(0x5fb74d50ee1c5f996f55841ec783bcff18d4991d75cfe0b177235d4c2dc90a6)", + "P->V[40480:40512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 6: Field Element(0x73cbc3560415b780f0e8c0ee63ddaeb582288dbd76f3d706ef20285109d3b30)", + "P->V[40512:40544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 7: Field Element(0x71692bb8e5dce1312fd1f802b5625ae326f8eab5aa7aac539adee95cf1b0cb4)", + "P->V[40544:40576]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5134: Hash(0x0033c732e9afc7cb81b1d92f1db66d82224d6f0d669077ef7f061238184d4efe)", + "P->V[40576:40608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6934: Hash(0x002a07d9c0b1e5efb4d5065137a81d4e72dbab5a00cde2ac680d1da0396e5425)", + "P->V[40608:40640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2566: Hash(0x006a8a4fd88cbc63765e3666dc0ab5cb732a64bb8699c753a2bef521bd265a57)", + "P->V[40640:40672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3466: Hash(0x009757785b7bf92f21229aae685b453813a6d4b12a97e92a7c50d5855c226133)", + "P->V[40672:40704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1282: Hash(0x00a7a7f328d3d444e6a7fce8088d75300c12bba3e53aa5a69069e2a9c0a0ec8e)", + "P->V[40704:40736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1732: Hash(0x00070bddf7d44011418e26134c3f4693bbf35fc866c32c4d7e1c569c718ed8ce)", + "P->V[40736:40768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 640: Hash(0x721db21ebefcbc150fb1f90e5e56de75a85148df0600082de2304650a83e8a)", + "P->V[40768:40800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 867: Hash(0x4fefe707431345e3a0d3f2ea369b5f01e65caa68ab860ac1012286b22e25b2)", + "P->V[40800:40832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 321: Hash(0x5bc3c60d34f33bf809581701d061a95820adc6345d35ea25d655a07f0ea8b6e)", + "P->V[40832:40864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 432: Hash(0xe55d09ea71cc0bda23dd7518f72a39156a43d1690a47d83131e9e7b31780e7)", + "P->V[40864:40896]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 161: Hash(0x669431ed2084ee231f63824d86f3dfa9e36fef02961c6e1fc2bff1f7a358789)", + "P->V[40896:40928]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 217: Hash(0x603d25589ba3d2a66378c6666e0b2df3310a640b9b07f30877154421cb4de66)", + "P->V[40928:40960]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 81: Hash(0x323bd3e986642288e6709a64d3585812c5c27cc1ba824b53a64100af2df33d7)", + "P->V[40960:40992]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 109: Hash(0x58e0ac5094503abe907018bd82ead63f759375260d3cd6211f9d5bf2f1214bd)", + "P->V[40992:41024]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 41: Hash(0x6d81990606859f5b2c93337bf4296465edaf378c139825cf47c412abbf31992)", + "P->V[41024:41056]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 55: Hash(0x20e8603e4f6da758b0662b32f0a28af8b9c66e7d722c3e4b2becbfc4f383c61)", + "P->V[41056:41088]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 21: Hash(0x1c5e3e482c4f9c4048ddd905a09985c581c05258578130257bd613d80e6c009)", + "P->V[41088:41120]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 26: Hash(0x6f73d2bd00e25fd45b46dcc80867a5b1506edf8aec59d815513cbeca6c5149a)", + "P->V[41120:41152]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11: Hash(0x1cec8da0d10d82a65e47001ef28336656a28fb0a64447e74c66ec4c6cd60b63)", + "P->V[41152:41184]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 12: Hash(0x5b27386f35810f389f8b493e617e0f987f9b77251523d4cb8db91ef4b365d53)", + "P->V[41184:41216]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4: Hash(0x26bb422ee88683117506ca58cd3ea2f4e0653d53c828015b6739630ff02e81d)", + "P->V[41216:41248]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7: Hash(0x1681606672778b897b9688bcd001f8ce2f3e97a78c62b54af46601476fc08f)", + "P->V[41248:41280]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 259, Column 0: Field Element(0x30eab87281de161a1b8002df48f92579440e0a876f7786896ab6fdec1afc739)", + "P->V[41280:41312]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 259, Column 1: Field Element(0x52a55f636d0cd6f174fbc090d7ebcd00301e759d5e344a75f0239bc39e58a4c)", + "P->V[41312:41344]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 259, Column 2: Field Element(0x4544eec5830e2aca2d98f28e5dabc9f706f57134af35c1c655c4f4f9b3a1feb)", + "P->V[41344:41376]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 709, Column 0: Field Element(0x21594b7c53916f37ad2104f73ad50fddfb292d1273ad38346ff2c38139178f5)", + "P->V[41376:41408]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 709, Column 1: Field Element(0x3b66787a3dd91b6874e43ae032333401d683ec6b4b187783ff457ee52fce9ae)", + "P->V[41408:41440]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 709, Column 2: Field Element(0x4b7095e6e79391e549ea2c471811ae81b0a88dc4e3e4bdc39d3c1bb50600485)", + "P->V[41440:41472]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1282: Hash(0x009faac43eae609bd0cb854463d96e2465fb135066d2f1825742e1d8318ac791)", + "P->V[41472:41504]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1732: Hash(0x004b78d11f22b81f07b9d761189fd009a9ab2e95dd3183c2e69a42f25c85646b)", + "P->V[41504:41536]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 640: Hash(0xbe6a7df94bba56e6d9071db7c9ea2bbf92bb13589f38e7d939f0eedaa6fd74)", + "P->V[41536:41568]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 867: Hash(0x27cbbd6183e595689638adbf7c10ea7d1d3618876daa67a400fbafa59a7f37)", + "P->V[41568:41600]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 321: Hash(0xfb31b8f4b61aa9cba02f0c83f94da6fede3aa07864efddaeaa7919ecf1e5d6)", + "P->V[41600:41632]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 432: Hash(0x2262d35a38e994adf8c9c3e6a4b5d4d113c08dd1029187c0aeebb01e9502c63)", + "P->V[41632:41664]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 161: Hash(0x35d6c0281bca348a76505ddd1c3cc30956dcdb5c5139fb1a154ddf62906bfd8)", + "P->V[41664:41696]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 217: Hash(0x57e072bc62b28600f5f39b492cdcabce9745b77f7d37cbed74b33197d30710f)", + "P->V[41696:41728]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 81: Hash(0x24a4039c021ad42ec93d828ef9f2fea0b44012bdf62f2150122226bf2c464a7)", + "P->V[41728:41760]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 109: Hash(0x2f640e53ada376e73c7e0f9bb1ea86b855cd35da55b6975e9656a2e0b34bbd2)", + "P->V[41760:41792]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 41: Hash(0x5c92c891f350cc8f2455b29c8cdc4a6220c4f86e9f00beec577c3152024d9f7)", + "P->V[41792:41824]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 55: Hash(0x1c4c2e153c6486559a5beea0283c04e4faa0400de2261b4f75097c9b15c201)", + "P->V[41824:41856]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 21: Hash(0x24f318f4553a5440bb0405a0add27221f5e06ae941c67921d6f232be9217346)", + "P->V[41856:41888]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 26: Hash(0x3db0a7c89b9f59198c5aab7c21e5c0a78f605f70fc53f6e6a19cdb88eab2356)", + "P->V[41888:41920]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 11: Hash(0x54051c69b7e6b1de67d682d57f032d3434d50175c944212edef1e731ca2161e)", + "P->V[41920:41952]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 12: Hash(0x668acb3248907e22f582a386ee96b393a3f079cecab78a05a790a6782e50ba7)", + "P->V[41952:41984]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 4: Hash(0xb216586fc0570413711871770345440415305788e476b69689cb4567a05dfd)", + "P->V[41984:42016]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 7: Hash(0x5caab061e9aa3aeedc2eb4ac8e0ca4ea600fd9f00958c4988eff01fca7835cf)", "", "Proof Statistics:", "", - "Byte count: 36064", + "Byte count: 42016", "Hash count: 229", "Commitment count: 7", - "Field element count: 897", + "Field element count: 1083", "Data count: 1" ], - "proof_hex": "0x0381616c366cf760d4574dcbef86b7614b8154be974adc6f0c60992b030ff84d077f42dc791f94a825a3acee9a4c1091a02d3e206947fcc5fc8a9f89b9c588ec03086d3e12deccef3cc624f11f58c2153e7038e4f9b73e5f3f1f21940904314705f3714ee77d06ab0310dd70409adf70bf7f619770221c2a7d2493dbf8b792ad02d5dc06ddd9cff9d774b02d0cd9565a369e09eeafdc36853ac707e8d5c3af5202832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f01d5c2c373e7317fe8f6e36fe10df87905f5fc11b2528a8653e5b0cdee90121105edf8d8cc190796eb248558dcd9d9824f757f4992cb29f0aae354af98631e7e020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b00f2382c14f5079036401e1f22d8174e6a3df39718220ee0f4eddb98c703c0ca04bc6aee20fe837b9c6893713d44fe4398dc34e311d2be79c4d1857381be357e05564b59dac44f3a7e0c43ae95d090b9bba30f44162f441febe955cede7b365704510830a22076caf59c6fa5c65a5de7e608a8d8b5e6e9c9bb73cf5bd412f47304bc6aee20fe837b9c6893713d44fe4398dc34e311d2be79c4d1857381be357e05564b59dac44f3a7e0c43ae95d090b9bba30f44162f441febe955cede7b365704510830a22076caf59c6fa5c65a5de7e608a8d8b5e6e9c9bb73cf5bd412f47306426debeafa13c7d7d94af28152fd6ac4dc55fd8f7959fb1834a374ff6ce6c206426debeafa13c7d7d94af28152fd6ac4dc55fd8f7959fb1834a374ff6ce6c2077cba3600682fe74e1993047b66f596d10c3e45ed310cc77c23ffad8ab9a57806cf43212184a6ce924f7a2efb34520241f80fdfed24e39484880d28b61b3ec001afb1f50c7c3bff94e1b84fd09c3d5b1f3a8fed92ee0df53d9462bb6f5208a3077cba3600682fe74e1993047b66f596d10c3e45ed310cc77c23ffad8ab9a578026417525878f0314aa2032bda46f3b555f3e51d2899e666bc639239eb3a2f48026417525878f0314aa2032bda46f3b555f3e51d2899e666bc639239eb3a2f4806cf43212184a6ce924f7a2efb34520241f80fdfed24e39484880d28b61b3ec00489607ebb0f82d9ae18ee141083c464202bb430945214713dcf8cae04add5e9055b5f7d81559357b15020b3c57a74ad3baf0a381b789d8d3c40712fa2dfaba9055b5f7d81559357b15020b3c57a74ad3baf0a381b789d8d3c40712fa2dfaba9015fdec9df495ccaef4203bdd177cd280e9376f4158b42181fc422cdc729b4c707604a142186fb01ed964fa17c918327d0791094fe3e9fd12d236fdcbb33e1510265fc7830c9aa5a05214f3ab7c81d20c354a89f29c5770fd7a4b7fdd6c8712b074913d5ec4cc3a2c108bbd9d74b49dc0998fda277089f8fec5b129f03e6ee6504ecb4a9e8ee02e943e8b81f1469d014a9c5baeac8e40bc78ab8114f251d433700f2382c14f5079036401e1f22d8174e6a3df39718220ee0f4eddb98c703c0ca0323ac2c9df83b57ae43a33dfc74c55055633127bcb36f5069138c160a8cea6f005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd89705898259e3014da1adcb49fb1be2339aec3bf24e04323585670a3f96c6917b71055d5a23a828430785a0cdebf49903ae4486d52475414713960ca6410a25e4fb05dc632619bb73dee103aadaca7c9c5091f12c188aca470a5ae046a4ec3e9942050aa8a58bc746418a6f6ac3966a8028a5b78e0175b0caf264c979e8159e1a72039c29c650c4780f185764fe967bd67f0a9cf0a5af7dd549e5197b21b36e82e103991857f42b1f0eba0b3f73aac84da0e7e1ebea5ff00aeeea20fb71c2b16b2006881cccc29ff6c83486ed6a9952328f096e016a1945c63837cc786d4333fdca008ffc38e6c16bfa2348a1605c9393b3a159f4d63c46496ca1d9d30722ab47ff06d74ec59e3c09f3d3fa48320076191539efb3f348e2a8f8d73a1d7fc9b7dac301afb1f50c7c3bff94e1b84fd09c3d5b1f3a8fed92ee0df53d9462bb6f5208a3033369bd783424356fb576591d0be518d300ef03b41a15a8424c753319071b7d033369bd783424356fb576591d0be518d300ef03b41a15a8424c753319071b7d0489607ebb0f82d9ae18ee141083c464202bb430945214713dcf8cae04add5e901593ec661b5c032ce9be2ce5876119dda1c220cc7a76ed7b6a2ea405353facd015fdec9df495ccaef4203bdd177cd280e9376f4158b42181fc422cdc729b4c7078bbca345ea6024f57586c6af400f50f68a31337d49cbf071d6b884261e5f820574ee118a75059b97ccdb84ca73ff132218365a6a4c924a2020a2d3013c7cd4017a9f6e5fdbe3e61d743cbf3dafb9f8cbadd7ae877beb1d3fa64cdf63b3b2e2005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd89702832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f052862e089c018df1e7625cd6299aa86c6ed2ff92239366d573bc5d2151d0053070512b4450df595f8b24e7e958603166503e8a05d6cdc048aae05e51542dac900cec82f5a2c0d63f56fe5a37d061deb2fd9b10667a4c3390f770e9518048a2b0501004577c67b4c4fb95a0954c034ed461e6a56182215ae975fd7ff821108eb00cec82f5a2c0d63f56fe5a37d061deb2fd9b10667a4c3390f770e9518048a2b0501004577c67b4c4fb95a0954c034ed461e6a56182215ae975fd7ff821108eb077347139bb14607ba386e76d8caac960454c86a13e837ce0b42743a6522b772020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b062ed08c03b9c8fa1809179b4dbc6f29399293eb80c90d254e819eefd555b417006ed58adb12e64d30324df62b283f516ef2acbf2c422c313ecf928d83e5bfcd01d73b460b086387927f22e6d3594945624d97dfa40a5d4f38ad1edd71c0852601a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae015de2a7139762d7fe7367430ca73b9ac0f64bf4283ffd40bae1a8f6eacf35ef01cfbf3d9dc3c6f9af0dcd5bd7b02e3ab7fac2a899c756e4c0ecb4b06c079db5010b7f3c01f6173539a1cc6a9bd5d6682caddbc93238a8a473e04e31f8adc5520783f2a47b6130718d351b7e7de25bcc272daccfb604df23b482945e400da5ac0597884c58b5fdd21097aca245260af03a366c356c58534f65110fa98b95ba07017e87932ef6d1a8252c7933576eca8afda5bf9e024c8256840c54b1c1aa3652074872cd9af308db3bd8a834f34f6056c243ac12557767cd046b103efea897f40623461443fa1a6b4e9ef8f4814111b8608d599546c673f3e9b48ee437da18e20373110f1d14a4876ba86480cdfea5529935b133ae0b7920be4d5922ba937e5a049eaf1f2a9aafff9075d0083a8680b3913e7b4f4abfc49909ac35001d32efa10460c5eb682794c18f895d85efd8ba7d3aebda51eec6b552eaf288c775d6607f03e3d895f75b07ff82b90838c99e7cb4578e94bdaac5caf6a2222bc3c864afd001e145204c7cb7b7e3919966994bc3dee5ee90b4cebc47b03fe4f77554ac9f2904a18ba654190e9420f052c0e58880fcd2f80798e3a439d1400a9e2b7fcd33df02376eddb3c5edd39bd94ab99d4f5490a2b6430e24b4eeb832cd446c9021cf250346bfd404f064deb2847bdcdc4373e26fc399ea371b131e5a2dbab69d41bd79071b02899d99cac3a1b0a0d1fdc0e29740034681c9ebe40f62e6c9a1c590649a06f2f17ccac8a8e7b02a03bd44cc46434f1575f99b23b0ba331ce81f7090e63105f3811574beeca97944cb7c481143693e50f092fe4321f734f497e7ad247923065cf5eb94a6588df72fa54e28d8ab390843dcb6cd187f86e7092ba9f99e1115072b71601ea2e9b187ff31692f7890fa7d015ffb5d7d18009e1fdf1be4d8cccb066a6b416b30652501fb3b2159154f525639a56e6a0749de5334b46b5ce3c976026326d5b1bc364aa00faed7a18ea3acb6f3de18d46438dd8def16e9cb7f91a402d1b63cf6408b48aeb6a371131cb4401d3d020662a938c4340f5167267e49bc01919cfa07e951f212e7578dc2ccc0aa83e11a5ef761e36d0d93cbbefb20fb20005104d55a5e657c2f6d5062c2ccb75414b770c3810750bb22f7e2d36eb2a1c1058f3aa068b1182400c4ac403c8bd1531c9f39f4505a1acc8d78acf874dfba39054d439b31d02756033efa1bba8bd5eb8c65bf3132ce04e668e37ef0d02d6eb101a8f09af6671055126595ca3af0bf56db3033901dc031f48a70dd4b1b3f84a807c1b2263a3d00cfb4dad8e26b9108ae43bb5d6948a9e3b63debaaf842d52243033714901c7d4906dc263214732bbeeed57ff09d39112f401cbe167776c2f62c0134ba413e4f5a78c91f9c1362e6bc3831c978eb2d56307a5183ebe1e977db20077c29ab55ae06fcecfa12cff4925a22f55dd0cb662b03787186dcf407d0cab0020bf3b795d1ced32341f85f689e6b2f0723ef3f49d15926f7ffae348516cedc0530ff336fa88dce2c188cb36a92b0d4a9d8b345fc3b5dd8c1ac237e64f20e8d06dbf1a2f121ff3eed873d3df0c955f05ca528811cde4e536e64e0e65f232d1a079400c566f39456f2d7ed8e5745a49ed06c93d4368eb56362955706cf19ea0406402e80773813cdd0f0c8771e01bd18e046c101b683931b3fa308198865e7b1053c2fc7f702c383584fa4731a128ca0c132db6a7856c538788fb9df33a43cf3018916a9bd6bc339b63f6779f72675859b27d6a5730779e00fefb549a70ec30c0752eaa68b09f2c986db80bca76077d714852f1badc8dea6a3bca1bd77e3edc8016a4ff5a1f6df7f8f035dbdcf12faa2cd2bf31b0fff6d6af0a54a7e580317a8010f2baf9f0c3aa470e1f95eefd901cb9297c1f4fc4a5dde9a9d8b5e73d3d09c0454a5c31b05a6f72e836a3638a3e913d9b36fe5bdd7dcd77be40f3f283d465b008ae09082dc0e09fe995ae87e0a796d258e33bd2de683aeaf4f8364ac20e6c60390d96ac800168909c331f8f481df499d530d8aaa1ee9716b8a931d865f3157069ce4715d10a569ddf441a2f60f9c2e586ae3282a837d4dd767d7bc66970e1002492651ccf17c2c2e4e61c7110a07eb504a61403b5e9119f1468805121a694c048471a4f60f8d3db4b1e0a91259a7c3c63ce3637a01eec2c0d6302505a4419c0347def9811fbb49060c6f3dfa775e3957cd4dc83b9af10f7bcf98fc34a1ec94055d93b1371353f133f01ab3f7ad471305e469d59785a5fc1474d2781be04d65065d114b564d804e5a01f280f3da8458d8c89a837d678c07c80bf536128160a1042f32ceadb67d08a2e0f3beb77e4b5d122994db3ee5ddf21c39e96785eaca8504d871a28f56b37dfebfe82a37eef15b190d2ef494e4c403b9c0b594b0b8020602286ae794727927d85809ed2da553a56891a9c3cc1008c154bbd30ea243471007e6b2e42ec981b5b73e1e9ae91ea5e10c756a0dfc86c3afcfbe33426b4ec1e704f460e75831f9ef37374f3bddc46c9f438041b80f12c35e0841235cf32afbad061ee5ac67ed3a546f3f1f5839782625ebece69426d6c56c34d7176d44f0829004fecedf9470ed0f9fdbfe9c15cc84daaa7080a94b0564e42d3b2bdeae12186507102e757e2501627621005fbd886e992257f08a62f4a2e92dc3f546bf3ae51904dc56ed1cffe71073ccf3f2205c04bf7b81b371aef2859be100e55d0ae77424054112382b533997efce50cd3b50de29e23a46dbd4cafce9dba138bd66ea80120233dc0eb97a27a272b3e702b5d0b660334f5f40913d6b2350d5c1fd6f663c2201533924824eb0feba546d3faba01492fa941304e0dc5e1f94b039a43bd3f76900c7abd528ee9d94f654e7e9da85111efb250d0be8f933e5c1f38500469f2ad701b2f17249a7670c8ff121fda886db71e353689e2c782f23c2d1abf8fb5e08a1040256033f938590262ba0d751107b8df453e095c551bc06cdac1e7948c9cdba061483d061b77488b154684ea61e3244e847508e5947f3a1b9f8ba5c2aa23c75033009a38ff498017ccd778ea7e34dc4266d43940a9c2e508cbfee1481d42bb305d7bca3bdbff51d3fba87a5df47707b9f2a3ff4a3fbb29afd713cb1f23cf7fd0798cf77e5a25c41e0a6031396de29ae841bb8f87bc660daa6c69bd90f64874d0706454c5be9fe792443aa0bd9ded950cd0ffbe49c9f1b82e0dfb1940e13e9e7014a0bc19c1d8c8616f259d574abbb2d5e38d55208d476a68a839afe756d9c850486ede9a03b6654f96b00797bf430b3b36e31f7946b1c72d7052b35d445245202a6b1035d6dc3a5980e048073844eaaddff9c78d889f0e903ff3899155e8bea0378a889ac4aba18ee1b2f48340a1fab908bc9801958afb30f6062a3c8e2fb2905f38e7e112948862190152b98d808765e8768ced687a8913feb79e98aec147001d96a38cf77aacc6c4da791340407812b4c431220005754212cf5cc006ae1a905ecbdbec25d81c9fca0d6d8ffefa00937408d868c2ab09afe351af320dad2de01d96a38cf77aacc6c4da791340407812b4c431220005754212cf5cc006ae1a902e5d52bbe194bcfbd44dffbf5ef3fce7496aa00ddad77cfa6e0b22e624b059d06d635c30f27e5f78a6ad04008452bd4f6ded487610722616be536fb8b389c200280f9ade544c58f1dba839969b909b5ec7b017e663fcd03bd101f7d33354e8205ddfd14db4516e79007778861c82eed33f65fc3c9eb4e8a42ec3b8a352116d3022c2edb3ef140336a9a076e2666a5bc377b579de2d67ef1f27e5840782d24c40050a5642e1a4347380cab823c7062af390af6e63ef6ee73fa2ee8c097c162c6048062f7ff4d224109104c390e91c87b0c4e8fd1a9a77a7307b51008b590823e0248a6ed3816369bf19ef0c952026f6912b18de674f3848a86b8dab0c02fc73901a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae0108b044a9b2f0ef93717758509b9f2b2e80bc20f5e64439ee1d8bb865bb74c0048e98d89f301400beefcd1010d546edddbc1cba9b7b757eebff255bbf1bbdc1009a8e6e2ac47927f0fa85b9a2c948caf8b18804f758bdb015258b00797d58c901d8f523b60430d731a76640d08924b117e9aba92dcee01b607129ec897a8004033adf89a8c532942196a10946e6d250365b8265d36bcec79f7264f62244c2d301b3d5d32b6fe7ccb9300b3c1adcdc1a792f5eadd9366cfee448d9d6717df16004b0ed66087f5abde13ea2b4b157674cf39818e35a1b814f5eadbd164cf5849f014578675a4be03e4ac975bfea2668594a195df3e66e06c077673090f41684820386b76681b8c4f812f530e8fbea18c1790ab9cc062dbaa016bd8c0b40e114b9054422eda3878847971edb70f3431bfc6ef2365a3fd1d9b5dc82099615447f3c0080b1a9da499de54cf06d60b28f66866391510f670d1d734c17dec69c64ddef02fd2d2d729aac7c10e066f595941a23db39706bc41b43363feeb88336d6aac90568a5048a7081847f1901371ce9cb9a2e7e8908e4d9641730f53692292c8c6503b6ab048e228b7421ea1b5d7b13749bfe1223571adafae07c024b88cf9bf3d50111e9c812916b688ce047e18889f54b32cb136c1d2221123500e75d4c66692201d002d5bcebe58a8f52dc2376268e394fc98bb128977676328ce3e035ef7900056b22dd3576fdecaa6f1cb7f25051afdcf8175f689ec61e639ec00f4da4078c0622097480871513859cdc3b5c2f6556e0d9415d65b7513339b913828f35f70502256dbc46ddacb071aba73c930bae64722124fcfd20f72febd9129e6902169002ea3b2f56891ab766567e5a23c44d857a23ada74cdd61ecdaafa0967f1075f1001246e3d3175f352bb13f4681823223985064bb4f0dccbbb5d4cbecb4c43f6803c1e4cf80bc8b4a38dfa75c3925d177e83fb0ac8191c68634be45df6da3757801f399109e0208afbacf3170d1a3d09e4071ca39317f951273d785058552b0c701574bfbfda31445d7cd695964662a4351622844f3c5eedd3e02a2b91981b600065818bc775aedce7ec51065cf031b13c89cc3cb5f3308f22401c866a3fc299b05e5b5e197c7a50da77c89c589d0e0d3314f408f53e8657fcb12e6b48b4e2287072eef34516e9a08b13db2c940638da180c6e43aa07e3c3cc2865e8bb0455f3407f7c8ac31d30dd494beef045a72857500a25e58949676aee26f9e415a07474402a59103de3959f891260bf39104cb1dbd63cff52da8c5628e1418aece13758807e8853fbb9d16419fabba0872fc4770e6f5a74078b5b6e6dea829cea374443f000ef736152b1b13524e921da08688bf5501f96782a3de6e4a01d1ce697905e7038693bbd35056a5d27191c41c0cde290938280580a9723ff347d5b682b02f7a02166a45d4cedbe90203f93f01230b2003512a3864a657253074567481f94e510711b0ba12190e15de0ec4d49454987b6a66041eb5b65b844a271069b6b3f5f20711b0ba12190e15de0ec4d49454987b6a66041eb5b65b844a271069b6b3f5f2078a0cf447d9e2a0c38bdcc99c824bc43da28f015a2050b792bf14d60eb7b5c70576bb3f3f27ac0aaa7a8503f1e8f1902eda5c07543460b09dc830290824645d04f5e83a4c9d349abc364f0b57b98b45ad752a6ee1a3e9be22c84a533a23778e074f33aad947e6f12e290d97a96201024dc9151d0a694d8d425d706fce55d5f70065ab548666e01fb90451ceb2e0d4c0018eed1e9d55f405c58a2b42b1b873c203f2ca9627c6d669307ba5e1310e2ba337ed14b901b512de2ece1bd6eaf6f7f10098cb0cd84eb9911fb9b33594777141da4c263adbc5a79a994c1b5bb5a2903b04bf97677aedaa70144025459fd20835efd1f0bd13da1f5cea0a80144e2c8bb107d4319314a5b5c4bb3c6e317cf3c32eb3b7966cfbeb4dccbba94eac5d40a11c0269f829e0665726bbf505a6a8559cd3f5eb25bf9c977f03527980703339b16104f2bd6ff19dd26749e862d43fb849928daf0f194e7a426e30e96265e4c88f5700f0a499b8c656452d7bd8d4c11a2f6b380e70a5746b11b1e8ad58037acd9b0e02b821ab5487ffb349d9fef93fd342467dbf99c85625f2ed7173b973b063c7b206e416e73eb247a47fbd682a605b0cd4f2ff9a62d32ea54921bd65353a8e19a8060a46f5ddfb46dd2472dd45942027aec477cae82a976d09450e4dda6d4a154705fa9b034cb44c00441d78e728542d93b689ee2cd91f0b93e6d987d4d18d56b701fa597b87a42688f75002d0b70353fad7162e7eb9d6683768b4b6c62b1eaef1072d9bbe50f431c281b0fded9f337c4febae1a7354b17489c3b63683265748da007268f548aac1c638284fe1f1c29b8739335bdf0213154862c635644950547803f566f21f1ec83d4757cf09fd8650a18b2ff3415700332bcf02a0db9f2a4fba04df7bc19ece589c95db3a2b7e2b857af1bea703c1b344ed916ad9f8142289eb04b65f8ad9474177e98e61b7925d38bff716f10c809079fc747b0f8f10c5d9cd04943fac4b74083a30df302f217f66d43b7bf7b9d49af0d2995f53fb467d40680363d2b28b0cf8ca2ac2751b8a1b9db330e1d8f77504605fc8a6138f08ce5d87034e8bc4a2a2469bd119f38e21b3f5bfa415a60f469b5e1839aded41eaac974206cc1552cbec09d4717409aa561681ce3cf2552c96fd562c3cd9ab3e031beebb079dd1682c7aff46dba1821db74592dcc1c72569a52bb0441ac1117f58046bd3076c9982732e631f647e0a6a91eb4674f86b33da4d504fc93df96e49e45ca275075ba83cab7347c1d8c70a911e8c10650db850aeabba499bc9842e9d7be9af94016bb4155a1bcf3724f7ecd968a2447fdf9df7da277f5d66587384b3dc8bdf78070f1bdad6cfc80191d2404d9d0c586e2d526bbfd9ac1b9ab11079b9a7821aba016062ab351712b674bfceff957fd70f308e0ccef5c2340a4d742541cf39f603027c4f2af02dfe2efb148411227280d168bafb53109305c3a93aabd16628dd8b068e162b96a3a4c900534dd37f870d02dac639cd35c70ab96bce382820a56c6805920cf064a62db8c7cfe155148a3203daa2cf36810222e662cb43a1f832dd0c05f5ae3e5af1184b2c9333701b76d476ea5a612f9857ca2b37daee44426db0cb005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae01a9f2b0ae0216bcfabb3da344872fba862420eb530e8357588c096f77e466ae005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897005d693c90aa3523cc2218083b832222c7e5c9f60582e4c88b98b468492fd897020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f02832d0f6dfc0bdcebc4bf9d0585751bc3f1716c7bb22e2e448fd6967c42181f020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b020bc84d952749ac72bfc09ea01b06ac23eea4bab90becb3bf84404024c8b34b066d5cb03db92d03fbbfb6e29bdd2733de49bb9fcd32e2140b8213bb317a3e5e0467d6e50646c1664f443e26418c00c11943a8f6c778fbcccae343ecb02aa3c8016c419f0a0d18f4d9f4c57bb0f50b18733ee12e568f88e96f851e8280a81dce018ff566cc8fc01d79a2dc44498097a9afb7c8f174b6d878f197de287c009fed00ef784a5df3d7bf1552e03c9f95349aacefb37ae4614bcee0f776abb1ccbe9102454e6d292f7077599204e49556d9b7b974bd197e62284a69f5c17e92f1d96706237653110d1250a5bfd623436b0e19f26262c75547ea0f2ffdf2afd17f366e04d30b5976870da7c0ed9d72cddb06bcf1e60fb490aabe0f9921e9b07ed19b2c01eb68eb929a931566720bc64ec37fbafbd7b3e5e7cb57fc3528e8746e7ea5010094b9f1ee0d1e2ca7dad2d2bef85d829ce9e1f85bea5dbc9ebd9baa93436afb02ae16d916da4070b2b1553f4278ad33a36a7ccc166547ef23a3bedb5d4b1c98019f451cdb4d718afb5b2f87e513fd451b5c942758c4b958f9d230f9c18dcf1e015f7469bbf1ca8cf2e8d69098f041582fd1d520dd021900d367fa09c29ffbc7042febe0b20aeee6539ecad38b6fc21427a46b81e76c8da6356caeb5f05812c606e17143addce12acb3b7243701a04d8a8427784b5403d5fea40c93975adf063016c23924e0b8aedcd6619dda21f8a49c987f19d6808b024b8578eeda1e29bc7072b2f384b747247dc0bdf3fc6e177dda02341213eb8f27b888623e3e438f697041af5c2214272a8e656d758d9a8d93d0e92c17959630b38af4d406e5f478df4079b7027fff75be46a3e0814ea345409ec2bcabf5fbc1459cf3e819169aa2731031056277729f6cf92b9ac811f18607020cd380d0ff21bafaac8a9a46ee9749a02f4a6ac7df05a4edf3e050aa1a4431512786bf9edf7fdfdc0527164b8c7c747053a59a598e4febc80be91241836c1b39305b1de4a739fe78b0facd2fc8d857f042daf598044a7752818ecf8c575b903b1cb883441843e0c8b9be021daadcb4400bac8fb853394c6a902eca8399f65e702d9870bd8dcf1a2bc0dd2f44482305d0185ba55f94dd3e77160f600b1beeab4ee7f5707c245b01bc978e11ff0cfb5cb07a9c855bb6ba96708c7c1ed31d8bc024f664f85a7f3ab4067fdef2763651c6e00847bbd097c23f8c5c7e2204d9e31962e691b40195b5792563ad7eba00ca30d05b1171e8bdbb51d10f7bf55aa6443a57db04b6d9de57c04987d0330516057dc039ba3cd52840994791f13976682b9cd5aa5f755ad2ced109593036217ad4c53017477020656503a51b5f59300d7e99afb585419231e941406ac136bd01f1821046f52fcf0690c84d10958d22d58c894d5f8f8947fd15336e729af02eac54a9901b1bbe533ec8e1b848b3a6bd77618d67cf1226ac7faa9e77fb0060b37e26e3a0444a9a206a210ea0b591864fb60ff42bedaccaaeef4c71641b4df5a186ff540061bd47926c8afb6356d8863a536fffe90c5cc56d530329db510df7289a4916307fa01761a5e4c5525b3e46db99f54ba4a029989015348a3d146a504241c011407ece11385590c1432e7bed8716fcdcc533f911536001baea28d4b0ebd06aa9700bb3bf755c9d5ef69d5ab00557a812a675a0ee5bc9d0bf3609d5237d1a84c0600b903eb3e8312d77e087fdba8791fab83fa2bf8c5b8d02a9fe4d1959838fb5c02b74efc66ab2e403eb5d448ce754fe1cbc334ccdefbc22f1a7c9295e14c625507ebaa83ad5e0a49e149ee90c9c90b2077ec1bbcc4687c5b0fbb8f50b6bdbb5206577eab80a64b003e33b73b657cadb09eaaf5e94235509a2058f850133dd9f9046de25da6ed931c53b421e31f41b76f63bfd32ade1555775fbd881fba2314970487860ffe5df946c9fb9c77979c20dd6272f25b5174bb7e9eaf9a84a1796555024d86fe4189603919ca5543a140fb0815215985ee1570eec800447cac12513a05f64b83cb9115da6fc4dab0a72c852f05e1d5ba2c48bfd7a64979eb6b2fc68300c840a6396db24a66e1ef60aa2b782cc87431ef4d0c4bbf266a240decd2e5ae06fabc000c6c114f39fc35404b1499411982742aefbd9c626717423a01f476a3024e79aa6671c3f8a9b6aaf283258da19ba2f0d05be5b32c06953baf97d497ee061e0d32c83ad59047a39a70d70aaa8a45724275809b9ad36545756efd867827049715a3c5ec31422ec02b1ef36f8063d136f0b82a95a0f598e53f19e4eb465e02fdd22d24f7d456a977f0c62da376f69d31f9e62d6d079c6594f19fbfabeea70307de993079abcf54f6b8d9bd11620da11425a021e0afea968dc8b6ffc3c436066f3b8126496af9945890381a8c6a150154e010de8a2eb8ffcdf97430612cb9039322b35d2cd742f765e5432f76eeac090df8a7e9528c3f3559469f27c91ad304cb76bafda2110da64cd247bae883efbf49d09d5e81fd4524061dc58a2fcdd104a5776892893b9d75e5b7888968f1170272171a0841017422f5f7980ca060540037c62b8adbd3a0eca8c73da2487a205c1b61cc881f02aa37aa153fba8ff2a607d0680d05de136838756f66c60d3d74af3d31257574fbd5a96d45f8d2fd73eb0539c174f205d559fa23f588b9aac8113c417cfecb072613c6d5400af5269bbd054088c93914617d446a2968a7c229ceddb12c475f273864a23000119048e8220452a35ccd6bde9291000e86c09c904f93da2613888036dc7866222defc7aaf60740e397d6ab602b89bc8f73743febf09fd0d17982c3d39ae970cc12ef956d69053ce6d2d1ec66b6726aa8c40ca72719bb4aceef31981f38e572f6e7570ef91a0072ef7361e733766a364aa143fc8d300be9a1dbe060a653db65ad558956d96d008a973959494776dc38b3ff7259370b1d82e174a996e33e667ffff9d647b978027c5f55f319d3f9bda929346f24af98a4437d89e07ae83270bffc734e341b3806301dc31f5ea218019ca9cc82cd680c1b8155f0b97494cf61a8cf98f4864cbb0076132f4b26768457f15b4b72bcac5cb5fc35f6969bcb8f3ccdff90ac3f3d0a022b823f09255df70dea7e3ee57811b5cf8abbfba0d363151ee136a7534270f605d239e2d25ade54cd08b8bc6235404e7e951e2eba99c822b5233389394145db0318b6eee1f3eea71adc62ad33eb948f20abbf54ca7bc6e6aca2f99db2e2bf1b069d77f4de06ec16b18de7710e2609874d492c3b7d132448d8d86526ea7b24710022331f5bebe0924a6c597cb85f3ffe64bd9a280e134201124a1ce4ba0abac103931bb7d40414314bd1312c42544a27280e887c07794661155027d88c28f3ea0635d886de37962aeafcccc46950579694b18bacddaeb29e0ae94b57bdd2d751007c0ea75921a1d5161224a94b0cde22c65bb7588fea63cfabd9f9cb523916b3047b68d625bdca79d8ae0d714dbfcbdbff7ebc5fa69ff2824ef332e1ee20924b012cd173528795abb597fa446a2ff694ef3d8276512987a0ddf2a99321467978000000000000000000000000000000000000000000000000000000004791c135054d4ba5ff16986cf17237a576f216345e417351d19716d1d9a47bcdd37e28c702e66775d9a36e29aef4b60a8dca865e48ab380438c482822b1bca0297437c110047038abe2ea4bee34a3ba83602f9776d60a0e4134dc2bcb2cf3c4e3ebd179704a2ec173f539c79276dab8868106304d87a62d7da3f547022733eb44f4452190612f5aa8a0a7009dc1cad6f1d45b1f390eb2055f75552921497b431bd9b8f000258304113f6779173c3f7eb191dcc0deb57cdfd43f5332840bcf8c4d2519edc015fc405326ed40e844d62ce666fd0b16502514f8025c7e1ecdbc98e1930be6d00f4da547af6889aee07adab769bc9eb344f007bbb124bdad522bee9c8e2b9c501268d68f475736068cf30b0be6904dffcf78ca615d21499b525eef810f0ae4b020ba594fd96bd1d693d202be22bc18f8f3aff6954d5b661a177a96440b3ea4d0319bebed4393b1896f7b8ed06c40365bbda305bf4cd66334d0a13f258ec6677037b3e2700ea3d113b9daaf220fc6275dc8e5b97d769b9848b565ef094cc6e8506fd944252f82651fcdd545a3f1af1ec8a2b634adc99759112a8f18f01e94c3405b8e091c8945e747b395a9d600c093e967ffd8b951bf095fd6daeaac4898593007a6380c0a4c0ac504413f0d7c46d33076dc89e9d8cf35226904b523ea23e650527b501c461dfc722436e18d4feb21e3f6f1581fad760429612ad294db9d88c00000000000000000000000095bb8275fe5b8a9bca662f410ae46a8a6869ae810000000000000000000000004584706fbd8f2e44f3d1b29819288a553bd7c9a500000000000000000000000070af2ac23b55621e9ae830b6b2e2554b4cf1c5a0000000000000000000000000fa41816966169b22381738bee6a28e433c59b04c0000000000000000000000002421bc5350e9fcca34f5d6a5fa2af275319ee3ca00000000000000000000000041d39466c1518c4595d555ffa02eefb0b81c3db3000000000000000000000000e1312b4e7e4305c380debc34725cd3175e2b9562000000000000000000000000a1942f0f245700a76afdb1cbd800c424f4d8d52e000000000000000000000000c4b2ced9898d4ec0ef8e0bec636757d4600c2b84000000000000000000000000c4257f30069e8eab16b8ccf405bb2d7da5039b460000000000000000000000006bbbb0cad04076eb51aaaf42ef130ecd47447c48000000000000000000000000b6d6ae759d8a85fd227a8b6e54422fd1ce2c127c000000000000000000000000ff64b00e075067f8a29605ad5fe2005856de4f7b000000000000000000000000623d807a76c99ec524b182ef696872c22d0e9e1e000000000000000000000000b688e19f91c1390887b232fd8400542b33bcc2670000000000000000000000004383ccbbc75b80e6bc1d6738c2eaf42738a489e90000000000000000000000003119d47b2836309af194b8c1bea8feb0b5333fc8000000000000000000000000cb52cf039508473ce66ef226ece0c69f675e52a00000000000000000000000004eba73700b30f78eebaffb33b8a6e0cdf5b4defd0000000000000000000000002caba1929688d107ca51be96d8ddee5f08b37b82000000000000000000000000e56fe09b1f2f723a0d12835d0c35b040777580f100000000000000000000000069c8c069df7a3fb13c43c82d053c41f707f3f857000000000000000000000000a655dd7608d89e1806017c7ac7f5df0399eb8eba000000000000000000000000fd3f7483f081882b190ba183f990e4915e04660100000000000000000000000049f1c962ad2b0386fced8f02201dc95fce786be0000000000000000000000000ad39a818b65441e2a8650fb02615e6084b2ca51806b69971eb68f9d8041881f5c5ab3037beec8b3f85ba5df471f816eb6314bba905584defe09beb22bf89ed5c2881404da183797977fca417b042342e10ac855a07cbabd560ade2dcda6caeb2129cc572013ae267d17de0771a7244560734f084052b33a8138bb6ab0f4d5aa6f48c0261b3e1381083d08e64f9a4190883125e450276c251a887d0de8c3553cce5ceb659253ca1b8c21e568c237d70e009f18f0206c7d7dd6b62aa4674b2233968be588ab919a49dd3d3b8e412fe9388aa28946603388a91ba1bfa49f6434a1aa1fb509bc717ffa14bd0e22500a6d9b92cee879a07d1ca88b8cf517a7bbb623ba61fefcbbebd7bd9648fbafc331d7d4e8cd4776b0009e2c17ef91194bdfec19cb030546915ec5e86c67a5c13178feb67fc9c761a0240b19b69fbab14049acbe6472fa23304ce194392d6018b3595482737faad8a03adf7e6df7772b73e2863cf869810ce58bb19474246b6c6d87f6e23909cbc2d001443b5c3e6565475e01d0240afdfa37651b0388caeb73d434cf8deab88f78e0347c33bf1572210ae7fda2c0479889852e4cbe092d3d5086b945b2d6303be5a07798ff102e4431087ae9f6cd9bbd4030b9047d7154325a3b7e7b08469cd7e8c04ef95c6be72881e52c89a73003bdb621dd193dce3d70f077bdbb7383d04e3c9026edf171ca0fd5aa621d921a6f969492d71de464de90d7b262ade4d29bc71a50751197da677691820f00306553b8014a1c21d67a2e487ed0fdf37d788d7968e04e1a2461267e2cb216ea9dbc5d66223f45c5011978875ee3a543f96f6f39de2020ca145bb64f2f06d11a9bace9367f95a9ab3eefadbeea5df80e95274a5b547021a5386b291ddac813b9bdec2a9eae0dc48cb578dd391ebcc69c7f3586acc2301d67773f24878a58fcec6bb5715a8f1a1da76acb6a498641c02272f5330cd18049251098f4e475a8c677dbed39321a18a2ddc771ddefd73dda725c079681926000000000000000000000000a1d2d57d84dbc3fde1b95c71b02657f9769e8df600000000000000000000000074711f2b7ac28c085854e0ec5baff0d018e776a300000000000000000000000050bdaa8e2840f198eeb99bd1f3264bcb21f99551000000000000000000000000c316dcec981a25556d168d95324269929fe95e6f0000000000000000000000003e225c8d21b6635ea5d3bfb9c595f70c6573f438000000000000000000000000ef0a35a7c3cafcaa7b412a4140739634aae9c8b000000000000000000000000066349c6711c7295a46cc25d2a1b01a9f6cc5cb95000000000000000000000000371165d5174790287923ffde856790610ac3ad490000000000000000000000003acdf3b5197870d7ecfbbfe64f440a03b3807f6900000000000000000000000053734411b9f3ad4e47414b60d987aaa47705b1a5000000000000000000000000b15b9a526c015b627c56d4933b53c37b85eb709b000000000000000000000000d924747dfaaa07edb0478ffa772a1700d9471d1c000000000000000000000000fbd6348b7ebc57ce0c612552b3cbcc3fddf3948e000000000000000000000000817b54135128a756635025ab5e8709f57d7681950000000000000000000000005721eda1de3b6064356dd2547da080c888370bd50000000000000000000000001f85fc8583def62d844d7517fe92de49196947d10000000000000000000000002bc6dd4abad3e395a58922ec85841ba749944fae000000000000000000000000072ac9446655e020a5b38478f54c1747f8de4c25000000000000000000000000689869de7377361952dec98f912e158e2b7163c200000000000000000000000030621a23fc27ecb75f48fc69671f23773f9a89cc00000000000000000000000026a840a14e11cab8dbbb988e79a16e58cfbacc5d000000000000000000000000393d0457ba6c1a5deb38acdce981e1c3f4a3810700000000000000000000000036d5beef71f768a6b64a1877f8c985f733e06f470000000000000000000000008510a5b2f015248b0c0d41b0237b4192c8b2ddc30000000000000000000000001ed26a8f472ea50d17d9e65da690828cc7fa68c00000000000000000000000004d4464e356cbc8c1034c866f158235d139b944fb008d15107398ed24538ee072d407574d39b33e7a680692254493165b20a804040650774008b975843f10c0af0e2d6b83eaafd6e7cb95a1915cd3a4a490e038be00bc53951418ac19cb1abaaa9fa1c2ff3b19c967e246422c6193ffd47b07600601eb61ca1701b760ad000fcb53a7bf0c41fbd4d48dad992d7dd210286ab4f444038a5cebdafe69d9123cdf0dd4b2acef39f9f936ad3ac6c30f098fba1a36e72501225454c850bdcc74a639bc319fdad99a88b1691c8062fb57ee9e871eaa375600f6141c3f9cb78df555d220a4be6928c895911c3162a340ad22b9473e637c28063a41929463cfab396d8b1183fb8f7cc3a25974d07fe70eaeb96da33cd39e46046f3ace02b2e1098efb25b794dd830a0b9222e847bc8168dc3ddc2236b4a04f078385b8968f521434efd8b4c5b6c6b97fb97706903421e87e4a3f3ac3e358e80208d4788e40f3f7d04d01d2eb268790b9fc04a8b6919b44304cdf48df799262078b29ac1a4e46f5afc5c698571641c52a5a92cd6ababb7fb2c3d1371c19a77d05069ece34c6ad0247fc7554eba695d785ae0e26e459c6f668c24a634333955304550850957ec189db221c612e4e98d312589b0456d3f3546e351ca0f9c5ccee00d6545c421c93a6cef5565c21226816fdab2f5a7e34afebac20253655fde514030b4bd1f318a52f91157aee7247d74b1a34b4c87534a51ddae04c3a178fe6c300f07d1907bfcaa0d7d7231d4bb28ef7e541d3f4418c2eb9d7b45dd492d3ffec00e5fae013ff108d71a7452b52c384c3a2f458cb1350d9d758f32782cd4535dc000000000000000000000000da36b26a7cf5024879f11ae2ea058978649f184c00000000000000000000000066631aea1e1951651ca8fb32e620f912382206f8000000000000000000000000b1cdc223572a170f01b7c380f853d978a80cff60000000000000000000000000c0ce57b6dd0ee63e9b7b54c9f07a8b6a5e2d6cc600000000000000000000000068497b0ebf8866f28560bbfad229a115f9fbafbc0000000000000000000000001b423cdf21936a7ad756fa25bd5636f74df54f14000000000000000000000000cf2055d71d7d00b3a295d919b7b9329c3b515139000000000000000000000000b27a1d7146d1a02ed2935a86484587caa335894d0000000000000000000000002def1efe7a8541055423a088ee9055a3c756d29c0000000000000000000000007741250a6d8aa9d7fa10ab697c066156a00dca60000000000000000000000000b83a3cc08ed341743b9593e88a58dd5de3f66f980000000000000000000000008d30acf69a970fe5b046b90cc07e18085f14485d000000000000000000000000e3275cbcb00ba6f302ca28457e9cf5c7928b21c90000000000000000000000004ec72c75f7485734f10a08733526568cf1ac26d80000000000000000000000006cb3a9b8f9b59e240244182380c3db3164ee7138000000000000000000000000fc533907c0d6bc1277e8fc0e8da7dedc98b4f002000000000000000000000000a57499cd17159f992b1679f9cbb8dcc83a843f31000000000000000000000000dac21b9f6850db4ce72410fa43628d2d2d0f87d60000000000000000000000001ea4c22b9302bc92f1fba9157992ae7ddbfd20b40000000000000000000000007f86dbe8828ae4671ec5fa8fc9099e08fd27c2430000000000000000000000009c2da7ea113861d992e853ae0e2e8b50ebeba1200000000000000000000000004e7638fac36b53816c66b05033900ee9944a650c0000000000000000000000007fa22ee326c250f44b70757580bd345a2a93a6750000000000000000000000007174cbca5841cd189395c19965a746ea0546bd4d000000000000000000000000f1cef85802268a9a648ae677a59fde807332622c000000000000000000000000ca692f7b98591666b129d7d87a7ccd9a06c0d5ae02e7c8b76569f69a2da66fbbc4d5de3e4e565387a0dd203f52b6f07efb583d500748a664487d58f4f24fc0cba0a7fc8786e96ea626c9c0cf5bd615799d155a7a071a542ae9c5c86289d7da82ee904902453b28685ef92808ebc2e90e53c1b98b03770c17e2e1fbf95d010d5bc64cc102e431fc826df4cf83806dc93bd9db5a8c052f67c4e6c4fa27137ba9e81c95d136d24d1e1117b31bf3442aca69969ef4c907dfb32d481c476a94f582374ace16f8e5d3f58281962b2bad4c697be45d67570743b0c41c55758f3013924d65061882efa8b05ca69cbf3a4b5129214affbd5806c0e726ebd2f934f7e3d7f10eb20b054671215eb56cc341f89c5cb70d9bf94906d6c64fd68c414178fcb2406fb6e828debeff448125cff10f74107286fd9e02027194e579d225815fd76171fb78778b1d585237f0a46fbe071dc736bb59a1b30103b8bf58b270da268b1ac1b699e4188a9125de8f3484c78a4ddb01a74c880705cde8a1aa2f1b047fac1a0d17840c59f1f714ac23e8ec744d3afcb39fe49dce024435c1369ae9b2a34cedb7b466a015d2216ebe7d515eb1936dd82f2b22f78f05346e93611795a255feff8ce12a230495a52ca30306824eed6d006d075a6d2905eb22e405ad7ffec7522a92078b4bcb7a95a39c4c5b8a1be84422c51903c9b00289b930072a97e32e89c5edcdabf95e6cd97141b207999ee458697808c4858e03565356ba1401f2d9ac9588bf0bf4846f7b32ccb416150d684b54f92207b1b903ef3cebed9dd7cb1d857ab06fad9cf1ff9122a9741951e475cff7c0cbb0346b00ff2a42a305758683345fc24a46df20ddac89c61fe041f98585f87f65bd531505d4d0318289919a56a04702aa1ea32e8a800880091f9b5ec87507710c746056039f766ea34551286cab4c72fba2e2a6c5933060eb3b5d12d96253b2f3e2036b0033e7940ce6cb9e3d101a9797dd1b05d5779422f154e65bc38f36e6397ff1c70451e4ea6fa3a7bf67cc33b8f5b38026cbdbb925235c284fde849c9f76733adc07bcf8d1974426f473d4243f52b08be715850850248ec7f7857c873c64f2f83401a1219fc026c4a4c0d0e68b28bcf94588cce4b12bbe76b9a61269ae1940f6b90659101d4e34794327f423b838635f1210b2dd2ef2303321cdf63ad294c9519f01b19447e85f0e2379c9458284ce431fa83253339b8d7461b71b01221f1d931801f91c047eaada529a6c9cb2710820531cf2111736ded673f1d8b76220011223000000000000000000000000ac4672bc4ccb0982c8f01251660911778e54a7f1000000000000000000000000b634e6e41d847041a448514df9bb1f55317125e300000000000000000000000067c11cf21bd56e0d6fe7646d6dc6f10e58c5a28a00000000000000000000000012bf22a2324521bdbca958c9dbdd26091e3d9941000000000000000000000000e9ad4cd08adcfa781ac3877e730e394b1c1fcf3400000000000000000000000025f64d61b34bb8a1241a9a9aaeb46dd4012d845700000000000000000000000051afa1f04c1810622cb155afc55e0a94111c2c1e000000000000000000000000edc1e9232a6a138eb9b91d2f1f48debe1eff179700000000000000000000000047642d27d37573ed48ccc4c8932b022f09468f8b00000000000000000000000074ab7bfbc24e52ec7a541f1815938c10293bd8df000000000000000000000000e8fb7119a091c68e9d8fe82614a97edfde1126ef000000000000000000000000d673c720d8f76f940076ab8e228771a9afb413d3000000000000000000000000ae23edcaa87657952519b71c791f89f48a47e2bb0000000000000000000000007c8f5697376b9dab5aa8917d48e6d7169c9ecbef00000000000000000000000099659eacb3c7142a409d5ad2f7cabe0a28dab085000000000000000000000000654b827cbed6306a56814fa6941ab1a04bf425b200000000000000000000000031e14f1f0844f5fd5ad4ad7a8d740898e47072f00000000000000000000000006bd1e1829336e5454250af567af0e133415210d4000000000000000000000000b80d08f3927b6074258cc5bcfe6e47b63c8a6cb20000000000000000000000004feae4d0816988f47ee54f2d2053539f170d664a07fef81550085bc4135b02e3bfad4ed42f687d00e46c5693c09aee630ecaec69006b6f6ca59072c21ac4c4b167986f9d371ee38f9d5b07f40f2b82ce79b3346a05d2c05b9dadbaaa2bf3242b45fb30bd0270ac55bc2d6730af432cc4789c8aa5055b7705d08a2f0ec39724d15d8913b29061c3a4e7663ba60ca366bdd80ef9110374c4c194e4cd129b36baae50ab00b758f469753c7a5cb85ef6783ee8e18bde06ba1a34f77b2c8aa1bac3cd98a80363cb0f910f430ee8885da83c819d1bbb23057860c69a39485546365d92aee79a8f49a03a60ec7b5cefcd81280f4c231ac4041ddd36cb6e60e0a0009e9be291b2ed544ca7ab9232fd6768c844c0433d482005ac8adb0bcccad4afda283e2a9d4d9a935a6e7cf48114b2990064cad553175c0671b395043a71d3d5cae84712af6af3d22a961ad28c30247a7da61f3bf2cef807353af04177478c236fb6b49a00668c16c8c099a204ce45a85e55e6b2a653f401a6c8c65674bc7721f0cf20a8c6af191ec9f4b6b41b0b135dc83d545d72e3b6073cb00cc3829cdd173655864752da187cdf0139e685f64ef996304e92087b29031c41dd95a027b74563249b80c211d6d96c4488137fbb8b5ba2a555d62904e000df05c43faac25ced4539037dfac38c32fbdba5fed1b532c53859f0a34e992a0734e84174ed2c7009e02d94f07db669331784df88e4cd3903b787199f0a625804913e846446ffd19513f180fadb2cd8e1835899abb3aee02e6251694c0c5e2301a089ea3d572b7557832e09c728c4cf31c6a560f3af8bec25c95319177e7e0706e3ee7be1c674919c0f17c311647cbf168e209d4495e533d255615139ac0f7b021a16842b850ac051566d3b87bce093417232727d613d2a5ca84cf0282bbad206bdca24db17e41bb28ebdb05dcfef14f5ab21b9562ab1b3139082e47906259c01c2de6cd43f040aa71eda0dbdc81d408ebc349e8802a05a4c9b04e94e7ae034015a5bc1dc17cec6c04db22a33e3d751d489c1e183ae5b662946b52e10e7ab750572912fd541444831e10fdc95f0b9fdd07fbf54b96a2b6d89b5c8e8d230654f06adf1cfb0c538266030872b07f1ecf1c5985eb137cdaeda59f0a993716bec1f03ddd433c3fcb4c2e0c2b35b55f7c9bb3555df0448f6798765014766748aac0f041241a9fee9253e6001af5e7636ffc72bb03e12e9308b9fdccfd43009ba38ee04ee412db1de4ceb0497a8e9be0cbcfa139191edd0b8aa65a9afcc1f8b83ec82000000000000000000000000fe9c22349e57c30ec37d70362c2f3418ad6e6944000000000000000000000000cc791cfbdabd21bec3c71fc2cdac5f305636bd030000000000000000000000006c7a2ff668e908568723df191e59bc983d1a6b920000000000000000000000003f638e3967db5b5b97809e48a3b28805d99c4159000000000000000000000000f4a96570089518605b440bd5fec02b85ac3af550000000000000000000000000e07f4b740afcd4ded0def92d91e52e80ecf6357900000000000000000000000001cfb290c2b4b211ef2552c0fc59cfbb7093739b0000000000000000000000009c7c1bcc8d7cd866c990b33e6b7af9c5abff8020000000000000000000000000291030cb456dc798b4565a15755ed90242011f82000000000000000000000000af1dd288b9913fb7c968326c3c90ef5ae191faa70000000000000000000000003e531dde76dab3bc6c6f6dedc368a4c4d7663d6a0000000000000000000000001c0ee7b478c813b02654033a4712ea7f3d1f8ba70000000000000000000000005712d06b56a3829d48034fd59152af147b6b9aa5000000000000000000000000906b8d793c034265f3da070e8dc7404b610a3803061acbe160af01638fd3027f7fc18503b72b69bbee4d6a61c7efb09fa0663f480530a9faadcc6770777951f95a7acab67322c40cb63336d32c15333ef048e37907fd80328e78e14fd7767bcf14d79b33ae5975a011ddb14867af5312334631d5020d0e7d51a149a19492ea5474fcb01cb6c136842bd09e4c2e151c1645fd172e04936f56cfbcc45dfde590c1a84c6ff43c73231eeb529e5f41814d9a41c020d90650bf04996e7cd08db741d5501538aa8b86e3262b43b270bbbfa5111a8cf31c011012c269c4455a49edc959ea6718442994125e7a141ad9055aa1aef431bd6805ac6606ef4acfa2509be7cf6f5d6033e29012c0c050a9a58a688c5ac647d58e02529cc60aa63ca033a556e4bbbd10584927313565321b2a4748e9221fa4afc0012972c5551bbb27bc1a801e355bf800833c63a22d4a328c2cd2b20d3f0b7b030424e9d8ceeeb0651f6ff6456df2586f80c8cfacd9090d3b2922f9486bf12c66053eb0b4cf72c51e228df0b1f3cb756a3ec642e973dd496a436a7bbe75ea84250528daf988989f897b5d2d807a9ca3f702c6dd26201ad869a24e31be110e0c5504182aa10d80f185948b827552171496f4233afb1cb2dad3704455f516d3099400601eed7e4c5c8097a814e5db76ad23f2c63d6f7292b469fd36fb3ba9cf3a6b02bc496e2c749e75c678190cb249d7c3d4fa772c12b738a666bcaecb9ae3eede02d9d658924ff7de095913eac321e4cd4e65e4196cb107d6053f98fff05116a9026ea74636f78d0d54ac7a7a0daa78ffa43a645cdfac2fc69153157909df5eb20330522b011771b0d6e65f912e9e65ca059b29711f4c2df456c188a6696d81f000e9d4e203834636a14f0479aa57cda6ba315f6c15e0237cb578060e0259d5b40521121c9dd9e746c9d37fa3dc66c90c56fd47249956fd084062aabbb892dd15075a5007f0f92123b988ebb7a22e14b3355ea687ed98c7b4bd1d1909109954fa0267895290193db64ed53e7e34fc379f6aedf3a9f8255ed7ea809945d568c115076e8fdf1a787bbe63a96cfefafdf20ee2f75a094fe073921051a033502da9380346d738b224b9beb68b9b63560e4dbe0f91018ce0249909583297ed0da5443002ed677570e79bad3326e93bfc3d809ef09c660bd6c14abd7b756f079f1801200790d349b3069b96ca31274812d5cc0613f2bec86289ba45ab7c6ccba9f35c96055c0d620055d0aa6d2adbe45c37f2a45f25ac60277e26a38dd11c8f3d190c72000000000000000000000000adb626ebed3ff30bf05cb56acc4dc1273d44c9e3000000000000000000000000098b0757bb962adb5810ef96763b42bdc977a8190000000000000000000000007db5aa505fd993e346549a840e57aa133f29d96300000000000000000000000017277e58d4f9f802d0c7fe51d3d2feb855037bbc000000000000000000000000013e41177bdaf69fd2a803fb8af21c07120124e0000000000000000000000000843ca2ec57c3aada9c471595e7bc919df714fbe7000000000000000000000000be210ad4d8c6d2012b09788905d1af52b76155010000000000000000000000004ac838b34aa761825b0f2649f90edf3231db3f8802cc75bcd673b335492ea8a6fe69eea7fd59f43f5aaa872aac7da08fe252e2f505d1b8cfe06fbe98dd9bac4495277b9bc74d18e0dc63225b4ee4d8e056f09aef05dd073d52386c092408f55173be07703d17cee5115854557556537ef449b13d07167efaa0e2f1096f04d050325fda5e4101d1aa4cf90bbf9ec8ffd8f60dd98d04453adae8e2b3ebdd3489d266d4a7e69a3976ef6c07ef8b2666cf15192f597005100dfde48a3a0e25098bf00899734d24b43660cfbd3038762c6089321a9ade0189686937396bc9ec422e681944b96e6ce6a4c5f3e00d99a63d3ae06b6a94e00275aa89e68e8907936896935a1687657b5d825d8bfa5a33d9dca17762495520002e7ddf02a61d4c8e2e378a78794f8eb0b704b6a9bf90cc92aee4c118d56737068df7ab60fa100c4b161d84b07cdb27c4840fe90d774d5ca961308ffd6293ec04e40c69b73264b7e3b7f4d6529d01f5a4bcb693674cfeb27987ea9034db145806b19f305aaf9905e9c58410626e2849cb720f0e2b4839f5c6772a96358bee4e05bcd94662f08eefa22896bfe0e823ce558100baa65390232e5d992b01b16e7f015bb85022f212b00a0416087a96053b666abcab6a1a60bb2bc7a425e2364dd001f963e0a3d3cd29d04d152c2212969a55e5f341d37bc73e5efb390d24b73b3106eb4a607207ddb5d667944faa801bcae8484ae0ffccd8708e57c575ff4b52bb00f1dc827775e89ef6bca789b416119ca7e3200f9e316b7249e97a64eea80efb00d0feefd95cc25357c8975e85669f7e4d9dd8f753547fb49dc273426b3327ba0229c2017bcba66ddc5b9ae324581eaa2b1e9c73bd174d8b70038fa27e151a68056bd97e705ee738803d48f678a3e6ebb4bf497e7623eef9b0c94322c449d4ea0000000000000000000000004538d992a07181f0d631598d6988357101f9a337000000000000000000000000bf4ea552ad48df8a107811adbed52cf090329524000000000000000000000000a81e1f22338be9d019fa9bf0245b2947b8541ccb0000000000000000000000008fd5c066a71427ffb1464c8f30a2d7de1722ca5c0137b993fd72e4552412cf1483660425352702378a996de63066f339ba846c3b05b9d02db29682c4a330155e0cb13bf65b9a5a832a61b41490156fbb145b434a048028624e6fd33d085d300f559b5b092345ce0c0a3c0984b97137afd7d59e9a07bd5b9fb495ed6f163842918cd4f7d9c965ac64fdcd6dd4dc72af389da25fe40591e130e5470d3a8a6fd5f519c4a0e0f94b9a6f0cd9cba0eec366e4d05f3c2a0129662ee7bcbf3f458a213757acc706b40bcaeab05a446b68913013ecb2f2fa01bea28d2cc18b50812e90e68fd3afc26e16aa6d40f321f2be892d6be813f234050ae327b58987a41468b3f5020861f408879b86201714917666f0086cf5a56000081308b1db7c5792e72754627d06360331aa67ff213c8590a249520c58024e06b07556e7856d02450dcfbed2cf4898f6c832324c69a8ce71649525f2ccf97b03576d0ba59aeaf54ef4245f317a58a08759a7a72df87a38347bffe189b964b20297467f2ee828fcba5e90d0d219c2a3032beb256f7f6d040fdc9e5a99f6117a007d6aca6d5e6a92c272188760754ff09c5c0328d71bbda35c8839e440dc5a1405de7ca6b92bdeed4602c812614e09fb80673ab829556c15a1939a13ad09111c", + "proof_hex": "0x066d858b2f128218b3b76b6412daf2ca7440bdcb0ee919f5a658234a626b6e380515b84c8f58b7b4758192460fb9652889c3f11c7c8a0a22f86117762206c9cd065509426639802e7a21a3060a9ec0b0010da6fcf795a7d64f2d7aa2259ef6e003d370f38ccff13afeb74836d9f8175d579c349e2a68a993886f41058cfc4113060d1d7bb7c9f23bbd3954f6d8ec988d677c6f7dd00e4ed9e267a23a4827767601dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2013108d366279469ce787f5f881791e074d61a859b30e300abb89d9985ef1a3f06bcf9099d7627fcee7f5f020b386b0122eb51b09ca0ab098e428aefb96ab1d40798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f053792ee4d2d52cb642577575e676bed695342d26ba632ebd8334ca2d7494b6200d752771347480c5aad2c686ecc8f0c4781a951abe2f9656a5ed73300d019ef039560272ffa94d5126ac755e7ae5527ccb630a0bb19f7ee96533e035582b0ec06f4702ba7e8fe8cbe846b051c8e49e7e104f8440de09fb11d31b63c7572328700d752771347480c5aad2c686ecc8f0c4781a951abe2f9656a5ed73300d019ef039560272ffa94d5126ac755e7ae5527ccb630a0bb19f7ee96533e035582b0ec06f4702ba7e8fe8cbe846b051c8e49e7e104f8440de09fb11d31b63c75723287027af1b21adebeb2aeec25e80f16550937b99be7d2b49f8bca5d0e0a24614a1c027af1b21adebeb2aeec25e80f16550937b99be7d2b49f8bca5d0e0a24614a1c06b277dfc7d89f305eeb5c3b9368ee92d12356a9e4844c403da137ea5c80e562077c5ab4d5cd0e5938fbbbea9167a2fb53e85a5b408fde58ae8e506ec43f5be0073bbeac57a20046a5495d77efedbd29830edd3e68ecb7e69116e41de5ba8c9e06b277dfc7d89f305eeb5c3b9368ee92d12356a9e4844c403da137ea5c80e5620156a960118c5e93926281714fecf8cc30c9f5828c83dd83999383393f8b3e340156a960118c5e93926281714fecf8cc30c9f5828c83dd83999383393f8b3e34077c5ab4d5cd0e5938fbbbea9167a2fb53e85a5b408fde58ae8e506ec43f5be002581b31f5afe79a274b2d2e68f7a54e0a458067ac574aab89813bef840909a203e44eb0e796575b9183f32a5822abca195a612822bed68bed0183f516d7fc6e03e44eb0e796575b9183f32a5822abca195a612822bed68bed0183f516d7fc6e04097eb1715de2ede2c87534bb41592304969e31c0024f39b7fd6e237aba33f304c85505196180161c7dc4895f0ad9a71a8d182c934d03521b9625b232c5c659009709b4deb383546c1e45d51f0b13a32af20638a9cbff5f88347804c28b8bb00616b8afe92d6fb4b723db43d0a96d3dc00b12ad70941cc9599b267a3eb698a5056cb5491acd0e5abff9c55822045b8ef1fca998cd001c385d5d251ea735819c053792ee4d2d52cb642577575e676bed695342d26ba632ebd8334ca2d7494b6200254210b064b81817da80f3deedfa2f3690764d03d4a94dfcfd641d7a7ab145065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3014a454dcd51dac38e2cf7effa98403c67717ae8a8b10bddc3d9d4a1850ce7de029f562a1a7fb1063517be8028ba35ac05fa64bacd684d8a362b45daafdb5aeb018612cd4f8cca082f68b1d82ddaaa4fd3b813258b45482dfbe3434e04f574760248972d66683a634e125bbaa09c1e673481e82d8a1f51d75f1abfc1f7329d1c06e3b576f223841398bd03a316c39fde344b190f278f8a00496e063d0e25cfd903620e66447f933a254f54f4a2952adf8a75fca1ae9c8bbb981db7d5896587a7002968948348d597d3912b97a460e9cb9f3e161cea1b51b459c46df346b791e60334c3634979b9b59c994bcb40367f329a09acad058c907ccdfa888af3e0665d00c41f19d7f0e629214450de7c6ddbc17fb1118c55b2e49cdddc43773a579c6e073bbeac57a20046a5495d77efedbd29830edd3e68ecb7e69116e41de5ba8c9e0764e652d6e5d79219f4675fe48b5895619dccc077f136468b674d39c91060600764e652d6e5d79219f4675fe48b5895619dccc077f136468b674d39c910606002581b31f5afe79a274b2d2e68f7a54e0a458067ac574aab89813bef840909a205803a32b50235e2f2ade8b370db206ef3654829c04dc59ec934c805ce197e9b04097eb1715de2ede2c87534bb41592304969e31c0024f39b7fd6e237aba33f300c160ef4aea2243b264cb494ce9a570a1b33f154054022fe1180e5d90fab4a7000902e6326a16bbeda9cd79960828c80d5768243b5d84c3f1196b7679fa5e9500bf0cc171de19da05f2e030654340e471ee95ed60a1d6346568fd8be2f08eab065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20442e8113659b13da31d2c0c96e466bad18e65971c06e575224858a417fc1f80050df1c2c318e26643e43c9d0e60656224718d609af05c1affd30ce3da409bdc078776aa3de966ad243565b5e31cc86069d58f735bbd92c2727c051dbacf48f403b92b8231a4b2cbeed0d5c9d62f156ab767fd64c1470d331b440a2039ba7d44078776aa3de966ad243565b5e31cc86069d58f735bbd92c2727c051dbacf48f403b92b8231a4b2cbeed0d5c9d62f156ab767fd64c1470d331b440a2039ba7d4400103f47a9db93f6e950205b83f66f9e299677ab0a6f3c8ad2417d268122c1370798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f02910fa0192fa0580517666f73e5da8a431d09551709b350c04825a63b66e5a002a21650dc2757bf11f83be3d79a7ddc6095c9db53761d663d682600e321e4f3028cc29ef8ec1c2215dbe34de829e7bb80306b87a0b90c0d3a49d39e09eef2b3019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f003675864bc0edd3c4c240e09e0ce9207fbc7c5e7dd322eca097e01b0cb15ee5d06fed2ff14bb31d86aa34129dd6e69f144abce8e49647cdfad8400eee3697ac003e9711154290858587af2ab1c49727cb740132daa11614726a85822cb53fe0c0104a6a735dd737764b9576bc27c17e2177c265aaf0300dea0314987ae1a616906da798e14e419027dd80910dcaa8e5bf781e847f5f25f33f6480f3685f47eb606c389141b7bc4e26f2897f683c5120749898a2b4ced459a8fff30b3bbd5c5380068346ac34a90aec4a6c1d9e1ac9fe44849cbf8efdf68c8a2dc2855d9c6abd8015a1d886a858231cc378aa8a9ee83e36dbe8816da1800137ef95e29bef3b58704c64fa0103c65cfa86554d8230e2b948a29709ecbfe85559c302b5f2805ab58059c19c379da6aea3dba9092e19f999e4912faa0ef60a3bfdf68ce55dab5ef3801bb62d4e7a6fbfc91ebcef97e9fc2c82f0e385b89bb21ef51266b66ee71b85603659c748f44b4b9eb785962a70793dfa47724214edb644fae11bcb2469ca71e0434725c050c9d9a6bf4bac86cfc4ae3923604584e39b67fe254002b75cebc1b077546b8715d1419ace24bc0029bbd4db031a212993c9fa5d170a089ec02e6f40161a398faf1726a2edf364a5b0790a2dc5a636f06ad6d08eadf60a537ac861c03a779e81db0033f84388dd605c180d75e067c20b15eafd9781b0dc4604fd851060bd604f9d414e819a51112e0994f51a3e55f0a8523ea7379d1deb6683a7f8404679ada3160aa046840511136acb7b823ae45f46f9ca7f3543311ef938717fd05a6c08288aec44aefaf0930449ad4fd2a8829544b23360776cf790cb8a6ec5b05f55e537361a74c3f6fe90be7d170af8c3536650f5a080b23c37fea6a4cf48804fdf5aff56735408751c5ba0c8d8c82c5d2e0b70d65541e60e3f0253097668c0245ace546e56574df821d54e5243f25a7434bb49a7d4f5984930e6516e20130018e708cf61cc36c55d78a3c4b967befecb4651ea4b05a5729d99efbe6e6477a064cbe46cc4e4e2456716f9158861c072c6ae684cafe5a4f735cf378329c1e4d02c6954f37bbdb9b318277d832a507ef7c5b5b9bfdd6d9a934b68852a7ecd39c00ce295061272e8aa48d3ad578a8389c76b9d5ae64fad98bd8584d12196491d601f5e098407d4302ea9d5a7aa94e22ff460fe39b4b156a1d9cf11613b2ea085a03c0f327844dcc4325b1906caeaba50009da9c21e994821dcd789e4f4c2789e801a502f703f62043b3bcb9de02e9350f7274b8bb87779b251f04e0a01cd0d4d702406b4177c1c45ac0217bfc93c0eb48a837e9d081eefde8c81e81555e4c1146057047daac137531f329314538d7e4ae17517e603081f655e80c5a5bd1b22e8a03666bccda6a27576f928119e6b51eb877671587aecae9d7dd483a7e30a67b4400ed47e221235caea5a7f84e1fa927389ad04f3cc2d158a65d3508ed982aaa40014a1a154e93806ebdabe57d7b7e2c18f6b72bbe8db9b5cbe0aa94503abc8919013622faecb6393c5e0152edaf253024ef9f8fd5eb0b12e7b856e77cdaa6cd8602979e358983db32d21117a77d2aa248b18a90b03148cb319ff2f1158dc549fe016b3e7f6af7516f1bd14ad4398121cc09eda2a8c79efbc40c08a76cf4cdebee04a5c5e3336c7a066cd604bb2c14ed09e6200ea02cc07d44e13da24b741e324d07a6d9780e91033e4148347bcfae172309bc6e4a4cecc4f4b8cde2978b75c4aa020b516bf9dd02ac848be27e54024a7663fed95638383479f142a06566d40b28064e3a0d64fabd97ced470b995e1ebfabd5f6e3d198defd6e169b1d9f57cf4e8043c2737f06dade5288138e75a240b7ef7ee95f203909fee61343a5e7a1522fa03ce00463a43dd6c1497769220f609405e04de54ee426c54905fff83b8a1a4f7006f9c151fb1655e24ea061ff52e2860e74125629e8c794f7042648b90edf2c6076c568ce5ce3dca57cf2ff047990da8ae0a2225cb0a9a4c7720b2c31711dbfd06cf48dc82a65e18d67c33b8a3dc8eb9d260f6e17404415893510efc65789dac033af9004f4403fb4da0c1d4907e0beb85d9aab1cf5dc4d8538f9e8de2e6ee58035a8b8c55725f0c5ba2502c7ec3404bced2bb09b42ab3d96e44a0c87671110f034c1f31bdf4b434ed77c7bc386bef60a46dc49964c8b6ca9907e1334d939234057e2b7c9c081566a77f7b664ccab33424bcd44dd90fea649259807eb61b08e7048f1b2feb7d4bb604ff3950081361647715c92627620db33f5a9c8bf3e27f2d0409125d41b0a775509ce9104f3d2548b6e63b5860199485013b7af95769430e036c6233ffba3c4f1efcee4050b85f44e3a870fb882480b9d5cd7e5170459bb606072516ff46ad3eacec3783df0dea62af08fda4994133b7990133b4dc78b50d036586d6cb12dc0d6898fda84c7f3216478d6a94125defb36d273c6798fb041904da726aeba80c7e0944b7c2eefe6257183974cd18e671bd0f1410e175c6577e019c8d2b87e3247c47ca29d8744759e24c79e8449f7cc68d549f2f72cf8d9a4c034d671e03eb9695d2fc8be220647c7ad04be67c75322fcd34a021919913c72f0094425609c31ded60c7bc88268f93d135a32cc0d54453952adc447bcb90c468053ead30e5738403f2ccfa5b15e244bef1705c3893c09a7f4bdb9539fb12f7e004956862d740f9603774cb9b63b86d15f64e582c7c63afa4c7a1a77157b4e6c306799e406f85f872292bb2d5c8d69572ed79fe71ef57b39aa075279a4e404781009b314eb591797f1ce2382a82b734f91685f13241b6dc85b4c0f7973fd05ffa073cfb1926073195faaf9b70265a3c88d550e27148132afb206a528cc88c04b40783fced36bfcfce4de22d23b375dd308d7e1fd334446fd946e0f637f356745c046989197c06800a3f23c7500d56c3d488db7747d6c2104cc8a2fde188f147580482f7546b30881854679259831b450dca32c0ef2f98fa8124b7a3e9bc7ef2c303d479d5ef38e797758fdfa3254a01b682769a3d73a0504acf5c631b94e2937a06fc5bdb7cbe1a558c11c3d4cc9314696988de3af05cbcd3a0a05505f09b67c803a981f6016f527d2558f4eac2043471e246eade64cc2b33bcaf487e261bfae0043ba2faf0f0dad3acea22404492ea9f8a2d30a822419becbf7861eabf0fee73040589995c9f40a217f001f593d9c073e0ebca6de3a5aeca3da8c0636a5fa9e2066898b28a3a925ecadd5150394ffceb08d26f4e80497f9122d2448969968b4702e72eba48f836633fb744577323de327d36ab4ddefaa01ace9516e5cd75f7f700debca9bd9bc4bfd588ad7617ec6d6a082f311b4df152c83a18725a41cd47dc03602a510e2449a34282a0dd804750e693205d32dbd9e1b7e3e9d3615f8f54e800d839fbc05538c06d595c17e6c76186cbbd1a64ec19f49ae793647ea14394ae0765e080ed6c6c586558332d0ded9afb2efec1c49e93a25eeb4dc597e0ac22a7047316e0e938177d2599aaf3e3206fea7f6cd003470d77cddb8cdbc146fda2b70765e080ed6c6c586558332d0ded9afb2efec1c49e93a25eeb4dc597e0ac22a7038790ffebc5cfae0a1982e21986a929afb380141d27092ce97642eb7d5f4ef8018ec4e9aa3fc32c0e95fb78b231ae822795372e0715a28e0db1c127e6834e8c031a2950037c17e58b1d5c6ee44aa2ea8056a1c7c1a27ff6b518e4e55c04e4020179240b84286af1e6f7ceb05def42119ace418c00e1950f1fa636bac81dc25104ae085732e472159361548bb16ba84d2054ceb64f5a807dfa19dcb971e08d2602d688e33e88b50327f25919b669cc38d44dbc6d19afe24a8ee07bb2a8a91f9e02704fdf17211bbaced6032bba15ffbce9785b7b0858a8b8fda9d238669205ef02452d8568839114b1b09fdf95ab1430a462bacdd4ec2efd3e3fbbd4066d9846019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00512d1f0fce32de2f5f207ac195f5a6c60052edcf69ed146acc4510d39be9a1701a0363884b18c95cef57f971e2b33510fba549f54c82541b41b4330ed26fff805ec99811e770fdbb844c7835c5f9f5063c922bf31acefbbf0fa8738efcf266e03f89e9b804b7cc5d4548470b4c2cb36274f0ad6d4ce4572b73fa4b8248181a5005e4acb859529ada77c0e6c67706637fb3cfa62366a2e1cd069c20d96dfff09030a354a112efd36dbfb24d96df48fe1c419918a3fc43e075d8d2e72a66ce2ed003505a544aefa77c86384db619064765885bc964aa1afd70f7f83f01ca709320430244f9c86ebc9f3ac03d9501fcd95d8be4103c7e4f5311ce94ca1f742aca90321178a6707af91a9212513700f4ea89823e01c4ec3ac4507875754b0932e9906d1fa802d17eab134c6b7b498c4862edc3a562c5b3e94fb3692128fb4c32e4b0617c454b768e193ebe31c78f11321bf60d5e0f036af36640133051407ab83ed04d0851582f87d20f8a4ce80a187d89751bdc17d42fdb893f03605cc83a43ab60537cc8e6e48a100e5c0842f8e2f73ede969244de660cd36a2c44fb701e3ee3906139ed93f23669633fee1ab941f5c958812555c7ba557960950796c01d40f2f003edbcde2ab1385b5d30a3493e211556a65815e5311ad5ddcd8a9b918f1f95405e15c3cb6597f6b03dd12ce89228c64493ad6c689d8fb1cdaded9ace163b1fb0458660c6b857f83910bcbcd5dac3ed643703442f91d4620407fbd07d122358f03d7c25d1b7f21fb45f2e4d4107a565e99381898b2c6e91ef1a1f8a2e66d139902d37c7d2872bb7e164f99ae23c5ac88c89b43480cc811500f9fba90fcd5fccf0132d250defc8d347e6b8072a19060b5918d243cea986984c87712f09f168425050e63b18efec44af7525430067f114789fdd6aece49ca237258d145bcda973206a9084b1ffdb2b46530afa0e49646d90821ffb176713319cba6260fef61a32604c789a360299beb9ad808bc4e4cf0d4ae4e8caa69970f50277bc1d057ec88bd05c1e1cc038934e6a54666d130ff5fa76bdf38f778151249e2413eba3079939a072afaf211efbbd51b60a44490b7a3965e2dcc7bc3bdff0553d8d5cb05cd1251071a329b94bda18895212253fbceefdcf8bb426cb6f87c17f53dc4f7f85447d201594076b771832258da4488b88e50068d21ea4f3c2d321ef9610e51d265443b024ab55d31bcb18e62e0dd62ee03a8ddeeae319d18b7a6f06314960314529d9205671d529787df199e13aa47c47009cd7cd2572032671dc48fd6eec1fa000e79014123dcf2306d19b4dc6d7ff22ad3eec14e73991ddd63370aa77c0b1aab30270318f9ed99d52631782bcb45cae370377f15233465831753796c8d3f22770f23058626fc95672e421866480591c488d8b14dd10af0d7eef486a0445e91d1e2f501ceee2629b105f65b3c2a3aa4677c368621f80d5baf47cf252d193b4a8fa839059fb5a38eb94ab1e9376de1f1f1a4e11ad0300a00e1541dd57ff12cfbada93d059fb5a38eb94ab1e9376de1f1f1a4e11ad0300a00e1541dd57ff12cfbada93d02ffe1fa0cd0877020c045b4f001468a4d61992e2a9427cdf646b0a0487ad7c102ccd9d68f9a7a7882d34e632ec50df2122a09f13379e6d43833eaf96a04dc04032df033d5367ddadbdca488133d0dc1fb24420929c6524bbc8cca062a490a7402c41673ea0592a83ad1fc7ce47dc0f59331dbb4ded5531e321059ecbb626e2b03e5b6eb88e0fa5bf9ddb9803e2d186f960d2ca7c0a7f2f9e5b0289cda6f1133020a14fd4daaf05ccf23012c42d4f2b8bfb156196be864f645879fd8c1dabb9e07646fb270877823a2154ddbade31fb68003f229aae28df6f2391d8c1d9cf28200471b083f68a1d1d59485f2c4584fe9489c388170bce325c8647a1c4b06c37106da4da5b1ad6c9ed5525a0ad3d6ea1877d1845e900c23cde9e34c02f41a4eb7000b36bcb94579ceecfdc398f28e2dcf9ca8a85658d366b5ecebff7f93e30fee01f78edce94ec2b1d2c927142b7180944acd821205b2047fbfba386fe8633669044e910bda96bc3c8ce5398a708d19bbd08b2c6d868c34a53a5ed1a4b5d0146507a18de6639e00be0fa31fed364e791a7e2370cbaf16374fa92d0c8832408306073d55fc217f65013aef0c7196c96bfc231256a7f1f272bf966bdecf06c398840181e964fe3afa457d11d08c221fc850c8f683886a6286899bd387072e0cdf370447ce76805e9401c18c14caace00d180f39cd57ccd714cca6cce5e4e69a51f8034d9bd43fe0d6b3d90feaa2b0bbdc7936e591e3c2d1df9118ee263a6dfb0c3504f1b27ba49f47a84f02e0872f9e689de9f7ff6bf9562164b6c0b44cf09ad41d06bfc05ae57c75d8998658109eee6f39ecad786eaf462f0314133c9e269604d207405660852fb7261bd8d7ddfe28cde8def3376ed6f21154f3be6561ded918e602301bf1acc14e8fbb14f5b09c8cb9ea36f3dd6bfb295a0972447c3c0f07408a044223c0153b84da959f92fa83e751ee2f46782584d7cb572eb6bbe55673e745059273a2c1e3b8181fb528dd2463e4cf4327c0f2f0f61bfa8ff2d30983c643fc01012e8a8754a4477f8c848bba5ba001251fe92075a82c09adbb6cefbdb0a20902135b36bb05781338e9ffd88f66b4823cb20d2745ad7537d07f474d6bc51ee5064117eb4b37b8bebf89080591f816747de1b8b5f1d870c26a33456db044dd0306f2b65ec49115fb3b5a6fdb08f418f96b30b5971b1bdb15bce157430a36a00e000aae7f482477148aefc4ec49aeec91f49bde304c47a6c2beb9457fd8215fd50332cd9ac4fa506e75af19bc682dbf6d2c40ab0573e0f874b1e16edc70543b7600c65df749775f89f793131ff693e65eb11dfe03e93719de58ffde25a298a48d040bd5d966f8ffe50a7ca279c90e7657501f3cbe08179aa993ea2bb7fe690cdb04743c68ce91310d36f2fcd8584d9a7a72783cd03f4342362c230100283b255705ca6fa0b51f0f7fbf86e7f9155513ac8e87b8926562d3199ffb364e79c5b96600087e01817d8cdb1aff55031aa5ff1e5b55bfeab80873e1fb4c328ff2cf6e0401499553bc72e584ad22de7c93e0427e4a31eeedfb02d5a02171c7ba11dfc12c002b6d89f3fe83fd614417ce81b0349b3b6641bbd13bf3acdb4a21e4bb908756065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e30798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f00798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0019b110000a883d14724b7b9b39ebd05b77352fe11b3ba19722a3cd54e9908f0065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e30798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e30798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f01dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c2065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e3065d54e2e428884cd4b6a2973e49cd8f9c1d05d4f65d422ec1fc3a58ed8805e301dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c201dc3794bb2f22f13db5ecd2ba6440aaf91166abaf77aa6c46b16448df6e29c20798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f0798dc7bf1837f96ae34405d69b215ca5e15f46ce612f8ce1aca8b53e8488a1f036e97bc274d84f7d61d303ff22dd8ee43bd992e6819a02f9f9631eb769509ac06cccab7a3562f4bbafe589b0fd35cb2fc8453fdced910a5303930383008624e03e74bc7d6a77ae74e493bb70a77f73910ca4a793ee8b4fa222a5cabc25d357301b23e3f348a77af8c7546549e1c5f526ac59014b5f2b791181915ffd3caac68038cf23cc0372a3ab7af24fae5a3814ccb4916f6ad1a21e8982ff768d454232e05443cb5b154c8cf3d95259740443a01175be3c071ae561887de50adcad7ce6306b6270cb21cdd72572670c623744e74b52f71431e5c8aebcd8bd7697b24036d03b2c65ce0a710bd83b2a87c3585ca1c54f40baa0f3c151619d4a166d0325a8501a42c7928e9b2a30a5b7bb00e46f0a9271df2cef4377315ce48421efa410c3a0292a6074f822f7e162e22d532d181bb26a7b7fe9ba7b2c4522f57f05e7271d006d254ee84146afc096ce4a972496ce230e5043d67fcd942e433704ab5fccd240683d576e7da731babf21200a61c2fd90dd8572f134b33a9a9ce2af7bfb99827075eeb8b29f816e92efdc80b81beaed7c23ac2ac33a3dadf872924ce2c77f49b02815ecaee14de5fbc4a6c659fa19bd6ae3ffb4d453d4d5812612d525e7edef904085cfc9c9a28214f3fb6159dee66c2c261a63a2030a273a74d19fc5b4a30a1027a50a423b069bc95aebf6a31c902e3382407c2cd6f7dd05dae32f93b047c9502a91a070b9ac854c9ec83a7dfb2e008632fa3a77c69598eeb71db1328dd9b3d03353c0f35ffac3dedc32c07f9f4debcfae6cbd237932206d74917e8a4db934f0686e8362c15aba4d8679909f4f93c2799097fcd9dd12c9f77453d059be3f8b402fe7129fc1b4f311b14dc641a065f93b2945c05e2ab41fa7e0eb419177d5c8304663f84700a396793178b4fea12a052a72552fa9a7a68f5e7efd48100aef12205a6b8995530abce616f2ad8e74020c1230ee1149bc132cafcef60ece7698cda04ab72e4dc9b829b8db1395f3c7ec3d2216433d92f7fddb5330c17a0c08a13da033a6329f05f73b917580f313a10ac956035801b080b4c6775412410939b1ee40004bcc94e1a7bf3476f922a48767d8e848cba3dc3a038abcb311d67bc59c56b0567d757d94939e436625b29fb1b5dfd45178de28a3ff3dd1dd765dadc351520042dbdc341a73aabcca95d47cd6a6d9cd52a6ff89ae4c7410ff7f363a3db96d704160a55f6e5c0ccef6d6f4a559421d58cfbe6ad49001eb63f7003da03e452bd041de742d6e87b50ea75914182f4c783c9aa899100f9310fd59117e79f1cb7c105f1e7aae395ad471ed3b20e9393e2c530dcc29cb84452aa4ea8a5cc860d6b59000451eec92d593b9e5c622525fbb70d6b371d6de9f5aaa0681f0eda146d23b807454fc30163c3b252935c9f9eeb6a71c25fbc5eb42b81704815f0b9d18f6c9703627e6a00fad9fe0f37a98ffefa1c64c08f9c14dcc15697d1e8d2db0269ec5f00d5138a6486386065eb78baf53d781ecbc7e933880ffa9f6e229b731437ddd4044217e5206eb6c41509447d962568324b5b953966b00b1a894d3c0b00d701330731a10024084946e9e21dedb151ab3e9b0efb05c4d12d0ab6c8893b75cc928a03d09ca6338f98b204617c86b6e5ceb4f156fe9f80d9a6977e047255c025a2c504858a8b54383fa117cb973595024b6e4d7e1f0d3123056c691e48d27a9fd87505f80c14b34e7dd08fdc6889be3e83847d9e3e76fe91897f30f54f4fa0567658045005ce3d5f625221c342d05e58fe5d7488a69bce013726634121c26b1d784d059f3cfd19896ea954af4f4cf27c1ac0225b62db0fd70ed91993cf31c4d794bb0715068c162336925789529c7a31fde648a45f33931680ff6b6d8b88c93bcda00166a53b1757351bcc76182ae4d3eb41f3763ab3d8f2bddc89cb7ae92761c60600633afc4c608e18a7e7ab51b060b84ab8070320bb6a98cc8282ea62bc0d274804d6af58f9c800656f0d742336cb87805665309c5cc9e7173c71d85d5e1e361f0458285ec90cc102d4dd70bd14fd14c00b20f595c6e399adc8c440a5156e4ab30140ef6b2f705dba5120e49e592765cfc3174fe970f801315da8300bd9f2fd6000f93925bbc872dea83df7bb2ffd6d9feac60a580034ef7fca6b4f7596c029b601442eb74cd92ef1d85cb478f08c92ce34741debbf93e054b3077f833d65ae8100a1e0fe48c99337046bc606cb3ffb1c346a525039ba76ab71756a508cd7d2f00582f13285ece019bf00c363023706903c9e0ac5d61c96999be7941cd892e01b00a540f0edcaa81b652e77bb2ac3013bad5057e4bf942dcd415351cdffbc1bda0125eb9cdf5f49a30640fc9d61fc33335aed3552b10f2a55f145cf172db6558100cc278c6bb636b1f80408895d1859155d209dacc42bc098c242c71eddb455c8030fc0b20aad6081af118094b94fa0ad0d2aa76fd8c6da477ccb27988df6f955013270198269f15ec47b3c2d20aa8f89fbd7e0f81daa10da62e88c8d07b3ca0f0155f2088830be1bf68e0cd6cfe902075593a21c0c5d0426c567910865388559026676c9ae0dc7fe9499899e0e8ed8da08eb0a9059bfae0bcfb018fbf190834b078d3c40f84623d40f42f48d57db36596a8a9486a0d7f210928ca769fe23858f04c482a8f0e5b0d7d59954b07d7b7491501f568c3a3a590e844135c98b170ca50417e0a685deb6ae7614370be30e7171d07c56f381d59250a03f94378620917d04894f88ebf520c7dea58111eaee0978dbe73b49ee026c9f72efc77e419688bc002fb8429141e1257331c184828a0d645ea860405d1bd3b0162bbc06de89ed0705da05439ed2c8ae567dd888f09c0083b9626f0ddbd24ac71f837c181c50c59e02b268452ad01d55cecd7c14e942a4a71893120140e8aa5c7abc2f8ac1a4d6d3007cbe4005741242d8a982e640692a1dc7845f7e10baa43159b94e77c2c8daef03f3b92fe21134703e93af08cf64247b066bfc36d5f9bb49c89cc06ab0e58822035f7c07119bc2f00e834bd2ffdb6b46dcf22cfa7178aaa49f5177b008e018910210d20758582084897c0ea5fc9a4aa35594b23b8b2f9f93afa9df0bb9518c2a05bb0ff183f4473f4f532f19d934e6071e8128b44977fdd0651a40234210859d03c97157046af24d17f42bfc1dca1f8393380ec120c049bb8ec09febaef971e805678331302f3c53e3179432a9228c946fca441e6ec8346bb891b018629ba0660120f12225db2fcdcd4965529864efd803ec3f327c390cea4ee2ac1e586b0883073cdeeca1c2df10e7cac959f890770f08a71f978bbdf0373883fe74d8e2efeb01d0d508dc6436fc566d7c64bf4564e3c1981d34264cc978ad18e925b6ae343f001ab2bf11b7877f17dcc0bff41538bf50ae1fa151592c218a55fe0352bbf49803c1b108d52c5b44b9a9c23bce0e0c4e209a05decb5bb54f4072a0eb03b3156b0243a68a7d00380235d28f269ec75b1b0f51499de91807dde8a05bec4e58497400000000000000000000000000000000000000000000000000000000179293770621aab0f64bed06811505744f8b950af9827734151950bd10e2ca41c1c3cb6f00fd5cb6de4f1548630a037bcd9a749ae741309b4e90f4080ede4ca446bb4d3305fd3062a141b0753c98e837729ae406e101d3840de98f14bd9aa7dc1936232d06d32f9d2e86d29535e70cd88b38ca4acb875601b701e0f362bdc7ea9dc23d8c024d7b1d148dc18d76ad6c47518b101bba0a91cdfc60398e904371a5890f8d9f029195fb2b679392b092165b25134295d2541c572dc739981fc79ff5944882c600fe866c5d9e22e2fbd1b92bc4c8a199a19e1f482c707fcf6076cb25b335d09c02f5f36a6b6f2dfd041cb33caff13e049ae573608f41a5d06670e3030828207c00c7c25575b4c578e6e5e20dd40d9cd2a564cfe0785c5b02262e97d9170c179c04e91970b452bbad1edf554a4547109be358f247022c39d6f931b9f3797db1a00536eb6becfad005dcb4c8088cd29ba504b39fcc908bbc05de26adfbffb5601304a624ecdd4d76f54d1fc27dbed2014829d1f871ef43a7e9d27cc521580f604d07e36651c0322ef8436e14258e37de292d72fb7fbc02a8fea0212d9e0dd920b506517edda88b2072ab7cc74f6d84d5a5551dc23137924edfbd1468f64a18ce1f05433d10ce00cc770819fd2ac03c8bd7fd6dc97d3819f9f62675d5a407e7864c051d543e987dc2fc9aef079c55143c6d669663beaa2693b72fbef6729d5211410094ff152635103e21a90f228f5467ba0cf45b931633645e519a445976973155003d0f14e24bdae8dbbbc17766cec5afe36cf311d3be7214b149c96ca2bbf164005a57ac9bbc42a42f477279670ddc272dec961efc7546b67390c67479a4b16400bc9d927415f57a7ccf0d13d211645acdae2b33974be72ab615dde8511492c6005dbbf688c838df0571a18e48de8a5823375d060e4e5314c6e2a76fa844b962004b5bf62b0d0eae03e4a1a5c94ee879a24b540f3313af3fec3cfdd0d55de3d500a3a776b03b81772187e60f3775f1c6c0b00166014e130dcc0bcafbd3028f4d00aa32bea234a20f4cd57b8cb8093c8cac6e214eac6eb456146ca801a8f25d7900ec0c5ffcb7fe55e978a813b5b0fbf7e3f22a11edd13673d7d3a3f8dfead3fd006f76d907d207468c1a87f4e31f4aa6059132dad0f8c57babea5139355c360b007667b2f8109e02ef8836c4ea93386704390d8619fde8a1b8c385b72964871400e7c2c10773bfa642df26827fb790450d7e1baddbde50eca5f7e989b5ddc48900821439d6e3959dd1a208fdf076e6e68c7ce54d48c21a665555db37af4b8b340048dc541b13a002840f44e862a4f14b3bf1a1ea63c6bce025697cd5e643d93b0035efe59bfce7a431847ee7d123e460dffc21d7e07f6be5d0397a4ff110ae2500bc81082e83e607853eba82942f5a5367af8e79be0a2bbc311197f25683b7ee0062d327e5f57e733e9986efff671b3e0a31e1b01b6ebc8adfda9d7a1772867200093c834d355c4e66d47d3c7ec90d5e735b7c2c45febf6b31e1688a42057f8900810d231f4f517dead5005b75fe5a90a4d9fda7d9d20b7e0bd8b0693bfad15500d0067cefba997056640309ad0bfcb33a7f2a89ee2c54ee5ac771cfff32e090003a39228f590d83c1b990274ff47315776d1adf57167119265cfc4a6c25bf5300bb46f9867f80788641b5956c56380ca450388b5feb69d3d1c7e8678b22eeff005f063f5eeef705832f082094d2fb584b0e11a85b199c21fb7fe8c4a79c6bf7008fe6350399e4360e173ded7c1d926968030d28219c26f3c971f86534fd8df700a5cf318dcd0dfd8c27175f13bd2f7249347be1a679ae690def87d0228dcdcf0060ff7409f71f2a31dfdb1367b6e923e910f863c4999a96bfc242edaf82963b007d4178683d072026a35728761834c418e3c746255a19c3a73cdd0af41b4b0c02898a5bd1a12757392d0930f5aeed3a4107f9621d8de49a94d952523393c121065362cacc8cc3b70af47d0e92eb7034b0c5bc7f41018dc66ecd06e1042e4b20000e9b64bd087e6d6b72f209b9cfcaf0b72f932467cab264dc03ef86a067e5e904ea4161e516b2607e3089fa14e1d10c0d49c7f148f0c12765c8ef6295b3485f016a6eefdf45321015efd7a14b9b92845b1410104be0b18e6e8b61bce361a1d300029b52335722caea125b07064093afc81e03ced6c953858bcfefe5e97edce001eaaa5bf7d14673cb4cdfb6385487a2e4ef6012ad040dad23bd2d88253083e907ee7f74d54f45c701661840d9d37142ac3d7027c2119069ce37168714f85e52025b9770545f0f67cfb4475ad72ba1759f71b9fca3367c0587ce611e695e7bfa00ed4c5fb50197b52f21fa2a3fbe067d62a3877b9909a8f6e1d7e5f86909f253009808328602b0e78f2839fc90a0891bc7f15f63b4edd0710a8e6dbdfaa8e31b03f8976a5989dc89f9c1df3518b43f807896082d2b991089deeca10810722b32024ca8182757f5836265dc01bef029d6504a5928a8964213da3e7b7b5ea113ab0373acaad1f7019f3a108121207a0c319e413dfb5b2c01187984ab77088214dd074b21718ed401137672bfe6d4e0f1ed4db8ee3f646f7bf97ba6c36e01d932fc0424097487d1ca2796d34cce04d6edde84dba6c421df814e81850796faa78b5d04472d5e1aa4f7a87bdaf2f4d861b85f1395f62969a11dee1fdcdfcac21773cb03d60de60e4a26d6f93dcda7bef0e9b7a8d5af0e1f72ad67cb7c31f1a53f2a320185d6770f9c87f8bc4d279aecede1ddf52abb80281b77061d4771a2c82959a805480a8e5efb9de8a5c55cf92fcd32a8211d7754411141bd4dace0f08ddfe47a06bba53124ab8e0dadcba9d1980504d5538a629efedc46e7ed765de554ff096e00cb7c2f14517fbd320d53d6e139f34d9ddcec872b19dd4f1e2bd4c877a34a0600f81f5027084b77d1352fe26a8006d259e630e55a12a27a648b583013e1fced00b3d7aedc42f7b7651322dcaa7ce5d6cd24be33db715636ef0d344ed5cf1c9400d490ec45bd2b718142e51f423d2a8ab4c9e9ceab37ed33159a1701833b10650079f1998bd4cb9c5274710d39f9f47e2d21b680a7e3d8fc66f6302af46f3a59005fbe0248345be4e1fa2738676e301be2fc90c6406acc5a28bae6acf5624fbb00727eb1c2ad9533d7f2bb677f9acb5a4d1e2d0fabd813a6cc47a193c3c2a4a900c8048e152c04213ec83b9596fd707ba3a4f73cabd84dec75cd8720d7bdfd6800cb325915e62180aae7a71314594013cd3071ea78eb8cd29534d19208f6289400fa784c4705e5d74e781af7a21fd4f495fa103ceb825fa8b5de59d3bf15af160065e881c27b99c82e0bc0c41bc2d0cb02414da70630c1ddd2e2205d690278f2008357a5bd918c9402e820380bf63cd57b721a47477aed81f7566f02e40e9af800d300d4c3850f1835c257d2cf9070e76d51f6c20f7b7480012c934cb9f44ba9005930b6ff9dd6693d1cd9f8b7e02b01c0faccc64ff27afedad1e4c7116bc0fe007755633d2d6b8af645b460650ab213490a8b7d33b7618c06049aae410236420076ae261efc0ae853e31b65c021c20718c8982f501ace1de3b018aaaf69ed9d00aae01ea5082459b8021280aa2f6221094c875473efc9e2b7f995af0f73c71c00c802a2d1838b4f4f08d51b19d7d4c61fcfab9fb3197557130c0f5b07a3a5a5005405acc2d3a76ee6a7ef38e9097c352678c329ae54f33afe98c469bd52050e00091c2dbd3e69a402cc62adfcbd283aa00e7ff066d7f4edc93b15418b13ed5300cdf97e8e4f97c0857f7d367980b62cd989b02e5b099d1e576cd57456739ef800508aa16fd9f457c087d87e65669a9b9e07130f8bd2df7af66c67b0ccf69116006b24e2891ccddfd3dba031cc2ce6dc33546cd0af3b34518f6ffaddf418bde2007f7575dc0c7a2cb38c42659fe6032904c1f67b4785b4d84211e96da86a96c400530ac92fb003badf40d72ce44c8a19e86a98b78cd5ebcce0811a7afdbb08a900ba091d1a3afdad2d54b04d63cdd91c02190aa55bdba2d227b1d547e825425201c770e3a0b956c64d241e195dc556dcc68a1055cace293195ce10203d6ba685025c2380cfb05dbe5841675332e97813baed0d838224c47b96144fece7bf2a30027a70776504fcbc15888863cd212fe73e1be97bf06d8477fd2685921eb3c44404465978a2349dab8060ab1979acea6bcc0e89da891d5f6217fa59f3dd5c624901061733630f25485a1a415b77ab8161157926ea19047aa4597a2f4a278dbc5803f533941605fcd42fa46673e0d9e64ae2625a01fdaddc4d657094000dee682200f73e4b06faf34f787b98bbc405f3cca930df5d1205e823734627b717fe9dc4024b17d0d925e492c58a33e641ffa07c23e377c42a2919cd03ea30a6d4f7b60e03262f602bf6418a30bd4b24cc7e6dbc5dbb22080337b40e556b1dccb296b78e021b86c0c0b5c89834e57424d0585929b59e82ec820b4857f01e8b0ffabeee1202b2001825ce6dd28d5f9715696976ca62a4b0c266d1b55e1717ce7b6f57d4c602d4c136ae2d7c59bf7232f2a05dc18eb8678eff2f7296966c5afa4f302103b206d6f540a48b841f2ec1391b80c6cafc361f47707f4b9b81ac517ffaa0bcf2cf03d2f272ad19ee3cd71ff8858dcb0699bc925efcec13df3bdaaa2fb1b8ef59bb0598d7bcbadcf766fe9e4a5215e14ea47f56e9ff418b10022213a27027e923a906f24e2e236bb4201602bf6a444e43a2a0903a947c1bde8c392f359e7436b194045d4511b650ce88508c5b5d743f11ce0ae07b31f32535eb931c6481bfe6ea5401160fe671e25145b18f9ecd4ae82ece8cd4f1542f3955478889cefc6c84c27d00586c28b22aca1ea5ed4fbda5e14381cf459a886e9e26564696bc1c28b7e4b300d23f2da9f006cc09efb46f5c256d9552cb56d9e87e704641ab227954fbdeef007989e168fe32578f6bfe33d23620d6c81f5e03827a97d19904b3b2cb1e3599008bf6eec57af3dd15ecc7402ac832af6b2789ef3dcc52afb02be8ce97fdb00900169dbbbe896ada62367a17ac9e72c63de5469d2f53c7e3bb03aaf38e86def700b1401685f1d4f671fdea198092a9442170f9e8637666df4329a0a1738a71d00054b52211b8134bba2ebc4ca2ef25925b79d1bb1d64f802a24993fc246c68d1009be898ea36aba652aa47ba7b0a28ed9827f1e0ed6545d881b053e289ffa64800efca503cd79e7146fbd2ca15bfba5c15745d3dcf88970b28f9778258bad79e00d69bce2e55e5d44a12c71931dc4de703584e0f3f98da45277c1ef564718014007c47c010c4331bed40cdda13085a8c97bc780a73703b5091822a78d6958f9200ae473d5b7f1dd654acd11d3379da0999d3f5371857775ec7506fd2043a7765008ff5fba38387cd15558e71c32a8bc03883823a1933c1cca8c5cd0f17914c640042cd76405a031665c148d745031d729c8733c7fd9cbbeb22942eda387f343d00d0e7e57fa745d2c3d7dbe07c5039cabf1000498fd2e624a26acd5dcb9b83bf005f12f652298ba0fbe7455404946c60323e4aa3582162f869ee56950e89d52400b6253bae2e94346f0ad56e1d64119320796dc99e450efb31b0da76a98f5b0600766a7b7d273253aec5f3b92b5951f735d4df485d353c97881cf29f2aa7fd0d00e057295338f0b0b675d8fa3c3e8a96609ce15804e8b5f1cb6a19c1183c82f0005ac968dd0a86a9b4ab19d12ff42768bab2a59293ac532533363dc2955b801400e3503ddaa8307f3c9775fad13a52f1ec4eaf6bb3874820b5b2fcedc6cef99100de1370d3fef1cd96149df42d6411c66309d3dc95388f82e6b945a6ebf2ae1a002e0a69f75c990eb2ae71210f5ccf20490c09da8b6abe905eabea5e088171680097a5012a1d6d2b82ef01b66878ce4095735548ebb88f90903c492116443d6700d2c3afd4a8e097bf7ed18e6d6f20ed2cdd12c6c83cb612a631599328370c570002b5c977bfd26df8d3aeeed4fade6db1dd7386d966057cb9ebd9d859b82059065efa0233fef39127c76a1bd149417118fda5855658cccf6bfa3585180032be052b950fda2344a2469479f4a5fd80cc183d1bc218422a659358897de3bdb01902857434e22e93ee21eb09488ca0ddc3265717b021fb150d698ab50656e8722d07dfa80e5408b06a728bea926999968808a32b2578053473ec085b87fefacd7f004f53f12f7e8c935cce05434e83655bc2911c98e779e19e2d2257eb7e023b1800a8919461ccebb76e3866503ebbeb39d2a80279ee52b10f59b21b64e570660606901a002b2452e4a97a05a5b3718ae9c3d439c61c1bd46cc180c150c766833105d55888f1ef2728f1e7d16beefde1c5d187fda7026fcb363e9b712be608ef5801ca181513fa24f178313c10814777705d8e632815947b52931f0a7f4b3d6c4806da2135ae6c29116dc7ca3c24297ca78f5f504b7e9f73e349f2e7df38adb8b805692a870158a04c571393775c289a396b26cfa236e533600f3185c2143ecce103007a691b0dc8b392f20e5b856e402580cea431bfefb22cb8ebdd5a498f4544017d0ad7b64215efea238f0c60dcc14f23daae85fb4243163fa528d192bb1f5e0109bfe4cee53905dd19d756d49b3a8bfb06308eae703efc28c5f3a5b76fbb2b01269a63c3a1351e4b507d1c690f33efeee458b8e5e6b541e6900c3037cbc3680073b247806ed64cae8d01c8e923849e202b54c6e2228e8bb42ce2fb554eb01b04612730059ccf49beffb71bb306a3622b799712dc47f69a51ab3992e1b8c5a901e7d5cd50852cea17611d57c861749295c0d31294a4080eacc7b5b3ba6f600304e1ad8b31115002bb48d6a79c3516443b6dbe533214c956c9f08e3e0813db4e01830eb12661bf6546ad79a4166a7848893794d2e54ae13728313b90205b60c2045902f0d66e20ee4dba79ba34fca0a12a51b9aafc40db1caa7eac059df73efa00245a2b2e4df88c7509c147d0c77665c9287dc11c34cccbc6f28d2976ca61ad07de44312cb193bd213af25c0dc0dfda9fe6e9d836017d5c5d47de23b39824c2063e63003708778dd6bf703fdf22b4d2981c4b69d326a056dae15aaf943a359906b8d0fd1ba08a58650ac647aae2ff579c070edb3b963a427231d78594ebd69906f06ff14756515c5b0af1843d48ab0225935a2a340aa2b1531dbe0cffaa351801c1443ef81e94e33f64a4a6697bbc92893d4ceb0e347a6ece1ec5aa3383586505c705f2bb919d423e2b0be1d7e6befebd04ee4513d1f3cb943697c4d7e0c63000eb5875f25780a50d192d271a9857281305b252d85d1e55a2393a355fe6c5cc0007c65b9bbb68bf6eedbe5616518174cfbac9ef2e69ad96d97c6005d57c874400044df4f0e74abb52be79bebaa33f1b36872c98403363e0759991fe2866534700de137132a60ceda49666a9eb6153736c85ae9c8f5399667e132ed040eadeb900f54eda576f5dfcc4aedc068ebd37064700638a3af272ba6773b6fb98235993004927ba3d533a019beeba225b2bcb8e8b397f2185e077b6ae883d1e024499d60013a0de62a5c8ba2e51f648d153ece0755b725b7b39956ee561a945b2ec0e5d00b0959371ba8ae46cd1e62d1afa2c36d1d856277c8b4fe8b18fb3e4ba8ac5ae0076fd275e2a21badfbd2362222809e150cbf2babe49b99b78b2c8d1fc72a78500afb575c98fb0e02236f876e2277230cc2a96782292be11e4749ed6d1149a810092c9358441607be6b71b56aedf0e74471766e2fa3f370815ed205fa2e9bdac001e086b7a2fcd8ed513d2ef6c0e2b0cf754e717fdb36de55db69b2f5b65ed9800fffe0d57536e100d796b56be639532b407482558bd2fde1987c88c73adc826001bae3f514aa292f2ef8d29216da8e7358ee94c7906beaa26d6e120068bbc3400c955a01714f7689988d0482232cf064113c094f8441d48a18b185c473e5588007868d8bb18914b97544b0e21ba93d1ec63e71d5a4c81d62e69eb05763d08af0009127c8954d5d66ea8fee544bc34d1dc775a07ce8983bcf827d76dc8fe454900fac7f8eff03d62e373e540a2e951408ffd278880e5e6b4b0d7db554b0cae7f00458da6680cf655cc3cca159cf440aa20ffcf218a0891a944cacc7db95caf60005896d978dfda023873c7f72b2d7545f0ff233b3c39de5507305437acb8b26b03a911ecd19aa8ea4ef4e92fdd2891ad485df2d921fdabfcbef303263c9ec8c60128ab152edf57ee4220d3ddc387a3a2d3b1db74ab557aa06d347b5cab6ca887040b6c1365f0bdbe6b23ead76d764423d40f0d8446c278d6c0bb5539764c29bb0764b24dab576690ab913ae4ca84fd0bb9bce59516d1f1da62ad1e1a8ff162490409f3b378710d9cb71224cbb38300c79e7a74fbd71530dfa98d9e701b3b361f000940ddff7812b7be23521376f1d38f4eff79c7526783adc6219cd483394fb80583570d877dd71affa6e255131fc9a45694bf72659d2179c5848e210745b8a8041feceb3899aebd5d03bc96d92682730fe16e8c795d94cfe9b842f43b8026a0026908d32470deead75e773a1d0827105be5e7dde8a7d14e6880ab0fa9209a5a062172f0f92e0c37d7668341bf6f42c8bb2ec0ab1b2e3767e9ddd5034afc694d0494e5f377696629d06d514980d5f5e70664239f539408c5e2417e12cda7bbcf01c9aa85dcd178feb7a45a5a0204c506b986d0d64b66b67230d6a874931c248d07508565ba5ee530140717ae2cbd07d1c668c8235bfc15da181634539e76cebc043df05ff48281c8560c01ccea5a2c5c99afb7685f7df5259ba292248f0fef8805ba448b9e2fe9bbc9a17bf31e68d685fe1487dd55d8fb48fac2f13c91176dad008a4b5d7ba1beeca7d00074bdd2e98893854c67c6593cc69aa78f0ca5ba2c8401bddb55d366c8ac72481c0b87d93872113d76eb26dfe2e1d2f3211eb415b13a044011c1abbd4158dcd174546d16956616403b38b79c951ef63306ba0e990263064883666864b31e27857300333b2efd31703c9361892f6fd297eb99ad5c54e00601eb043b6607c9c025cf40beb142fba34de0bd7591e92cf917eb23a177af350375e668886aa9bd65871a6ec23ed803d72f4a42a9f0dc35df0cf7ed1b10ec350061faa9a24c74d56c8c9ed3eecd3a512a8ccd3a7e7edff45db709d29d34991b01fca38ef47502632ba0638d737511d4024b1c613884dddc7026f49f7c8ef0a702ee111d125fafdd377880fde9dbe960159feee62eab2afe3b34af788b01b12d02c2d60c2676f82a2fa1c041c7cea0590d35fd42252f86ba3930344dcb94c37602482f4e1b945ab89359a62901fb6fb58efdb0d4f575cda800767e96f60c495d0727b796bb712cfa316b2e56537e2f3158b1c14444eab062165c0591407ebb8b024718f34dab748b0f5bc1b5f1723535022170abecee65cd8b075bbde24ea01500d42dc29e1ca7204144824f9321c8a7b62336fbf3c5a98d2b82ff239fec31db0058307ace6183b250c7eb18458ec325077cf8181a02bf053a8d90f21f5dcb7f00715f3cdcfd027193547af21a2b199318e5d1448752f5aa16ad5d329f205394004a179283e4b4759b19aa3a9a4744e36acde111ee3dcd058f03f979582b38de009da99a6a037893162e826da24fcfcf94435945441f2b6daf0f7c6382670875004a350ba095d2dd6e63eeb8344cdf72c6b3550a248af8496eb5aaeaa2da26700003a38dde32bcd1346055d6b23cd6e75bdf9eb1cceb7ac303e94047da5c6c7a00deda4a5d94773dbc061437a58d1296e667e8af81a02fe8b41f7e29255b8f3700527cf19d37efe41c156dd5ec0527d9db8a741eb1ff8c14474561ad18f2e731003e712083c8bfad1cdfd1d557d3c8b43e20ffd07d6fb38de3c987fb6a951eea0090c6e17409339ddfd30f2ef7b1cdc70344dd2476a05fc713d6b6869f6f76af00340faeec7ec9e3940bc3e1a0f3386410740161e800733996befa5fd4eba9c600d9dfcac8fe60b930501de50babaf1c5c80828b69f2b9d9f8cd5b10e790b03c000dbbae83e1e5138efcc6e0b1538337e6f67d1a812a8b636193c2e1585618c502f3618e0c7594100157d61a22f8071250e2617d82d436fb012a0ac1d3809cad06e4dc12eb57fe79133b3a5d6572a79f22e98eeadfd6ac0bd76c6e285be9b271039707d1ca40aee672c62fc3599354a15334a21dd2c990db2a14d2b580a965a907b45ca6669be9fa68d7c4712845fd4edfc3dd6bd39f08fb1971d6d3398adfcf01832fc6c13880a928e3364e06486278f4146dae6a15c4e8639beb151984870804ef973425196b10e70a671f6e678bb2422b201d67ed87e9b9ba25348d656a3906d4ebb3439118109c1c1c6013a5fd7a8a99eb9b2fba9c097e25c5464b276d17038739a121fee984834a264b88b4bcb529d1567ea0a6525c8ffc22d3b76b1aee076c275579cbdcf734dc08c75c25d7aaded9c1ded682f02652130d1e2ca3ceba0324ce3ec0fab7de21ccc9fa4448b442c419ec75a15653ff61ec34418fec37770295d4ad5540a51b0d2f3ac7b858a5b7a0292d841dae349e25907a0d55fcb94502b80d571e1714dd2cc0e7f40af261841f62311fe02d6eca257b688f1da6502405ecfdafb5c70811abdc5db4bc2ba392ecf179a50def962f2a10da73bd36c9c100f533284778805ef5320e4027ff74aa0c9b2585d52e6b568976ee3ca7be75ee0471226a0a31f92d13e56ae39ca882be04f8f7c7eb4191489294e3d329c6c1be07d8a39b3ae206f8943ccfc1063777ba0b5b47933940b9ff5c4cb5e6a705858f0431517222fc3b487453fbf04b4ad385ff869a721e25f4aa3b766a83eaf552b204f03bdb90c74fa63b35745bd29b40f922805cb6fe089e7cd2ea6225ac67488400b95bc8ca75b61d6af5fa7ea5ecdc1d2773bf7edb07cfd30d0e032e162fc8bd004da96068c0dd0f0eba64990b93872b6ff780f068e094ecaf696a3bafbd2559066187ab73b0729cd0f0c1bd8ee65680e3930ab6bf6eb8225cee2ebc73146c5604014bbe7fcc800fe600a034714f0e374db306125cfd2dbf20af8ac5395d0680035aeecd0a45b3d568cfc5f9ce7c7411ee5021dda7731b4d1945e37dba3b297805218ffb89bbfe833d3f7fe7feeb33d9330865ec43988e37d48ee56474384bbb02193d942002eacdbb16e90d59248ef4b00c366a1cbdda3ceade062ded2cf38002448ff47c31887cec5d8fb6698b71ab87856a24cc0eb21d1637b73605336d89053632cffe41b57c402cabb4948c70cc9cc204c967a89f2505758361a6066b72051a3a1555bb7abd9f55e1cb7ff45b071b8e5a24c3c9383e3bc29f261106e55e0033c732e9afc7cb81b1d92f1db66d82224d6f0d669077ef7f061238184d4efe002a07d9c0b1e5efb4d5065137a81d4e72dbab5a00cde2ac680d1da0396e5425006a8a4fd88cbc63765e3666dc0ab5cb732a64bb8699c753a2bef521bd265a57009757785b7bf92f21229aae685b453813a6d4b12a97e92a7c50d5855c22613300a7a7f328d3d444e6a7fce8088d75300c12bba3e53aa5a69069e2a9c0a0ec8e00070bddf7d44011418e26134c3f4693bbf35fc866c32c4d7e1c569c718ed8ce00721db21ebefcbc150fb1f90e5e56de75a85148df0600082de2304650a83e8a004fefe707431345e3a0d3f2ea369b5f01e65caa68ab860ac1012286b22e25b205bc3c60d34f33bf809581701d061a95820adc6345d35ea25d655a07f0ea8b6e00e55d09ea71cc0bda23dd7518f72a39156a43d1690a47d83131e9e7b31780e70669431ed2084ee231f63824d86f3dfa9e36fef02961c6e1fc2bff1f7a3587890603d25589ba3d2a66378c6666e0b2df3310a640b9b07f30877154421cb4de660323bd3e986642288e6709a64d3585812c5c27cc1ba824b53a64100af2df33d7058e0ac5094503abe907018bd82ead63f759375260d3cd6211f9d5bf2f1214bd06d81990606859f5b2c93337bf4296465edaf378c139825cf47c412abbf31992020e8603e4f6da758b0662b32f0a28af8b9c66e7d722c3e4b2becbfc4f383c6101c5e3e482c4f9c4048ddd905a09985c581c05258578130257bd613d80e6c00906f73d2bd00e25fd45b46dcc80867a5b1506edf8aec59d815513cbeca6c5149a01cec8da0d10d82a65e47001ef28336656a28fb0a64447e74c66ec4c6cd60b6305b27386f35810f389f8b493e617e0f987f9b77251523d4cb8db91ef4b365d53026bb422ee88683117506ca58cd3ea2f4e0653d53c828015b6739630ff02e81d001681606672778b897b9688bcd001f8ce2f3e97a78c62b54af46601476fc08f05d01c4d832966b1ae8fe0e95de9ea3a8625fb098fff369019dc8fd5cbb326b606eb458bd2cd516b54dde56dc6b6fdcb483b8b7efebc1b1aa1305a9b73951dff03996aa9ce1f151a09c4e25040dbd5bd2fb4330cce6e4a6df5899ad5ee5dd908009ed19f8df98cc7613ec674b46d5fb56447eddbb03a2e2207410627122ed91907f88dada6a72dd689b791c6764bfb77ace2616e0858b2a8a065f863e3e723fb05a98793bce0740c0aa8bcca03060825f81db72fcb6533c986628305bcf16336009faac43eae609bd0cb854463d96e2465fb135066d2f1825742e1d8318ac791004b78d11f22b81f07b9d761189fd009a9ab2e95dd3183c2e69a42f25c85646b00be6a7df94bba56e6d9071db7c9ea2bbf92bb13589f38e7d939f0eedaa6fd740027cbbd6183e595689638adbf7c10ea7d1d3618876daa67a400fbafa59a7f3700fb31b8f4b61aa9cba02f0c83f94da6fede3aa07864efddaeaa7919ecf1e5d602262d35a38e994adf8c9c3e6a4b5d4d113c08dd1029187c0aeebb01e9502c63035d6c0281bca348a76505ddd1c3cc30956dcdb5c5139fb1a154ddf62906bfd8057e072bc62b28600f5f39b492cdcabce9745b77f7d37cbed74b33197d30710f024a4039c021ad42ec93d828ef9f2fea0b44012bdf62f2150122226bf2c464a702f640e53ada376e73c7e0f9bb1ea86b855cd35da55b6975e9656a2e0b34bbd205c92c891f350cc8f2455b29c8cdc4a6220c4f86e9f00beec577c3152024d9f7001c4c2e153c6486559a5beea0283c04e4faa0400de2261b4f75097c9b15c201024f318f4553a5440bb0405a0add27221f5e06ae941c67921d6f232be921734603db0a7c89b9f59198c5aab7c21e5c0a78f605f70fc53f6e6a19cdb88eab2356054051c69b7e6b1de67d682d57f032d3434d50175c944212edef1e731ca2161e0668acb3248907e22f582a386ee96b393a3f079cecab78a05a790a6782e50ba700b216586fc0570413711871770345440415305788e476b69689cb4567a05dfd05caab061e9aa3aeedc2eb4ac8e0ca4ea600fd9f00958c4988eff01fca7835cf", "proof_parameters": { "channel_hash": "poseidon3", - "commitment_hash": "blake256_masked160_lsb", + "commitment_hash": "blake256_masked248_lsb", "field": "PrimeField0", "n_verifier_friendly_commitment_layers": 9, "pow_hash": "blake256", @@ -374,6 +376,43 @@ }, "public_input": { "dynamic_params": { + "add_mod__a0_suboffset": 0, + "add_mod__a1_suboffset": 0, + "add_mod__a2_suboffset": 0, + "add_mod__a3_suboffset": 0, + "add_mod__a_offset_suboffset": 0, + "add_mod__b0_suboffset": 0, + "add_mod__b1_suboffset": 0, + "add_mod__b2_suboffset": 0, + "add_mod__b3_suboffset": 0, + "add_mod__b_offset_suboffset": 0, + "add_mod__c0_suboffset": 0, + "add_mod__c1_suboffset": 0, + "add_mod__c2_suboffset": 0, + "add_mod__c3_suboffset": 0, + "add_mod__c_offset_suboffset": 0, + "add_mod__carry1_bit_column": 0, + "add_mod__carry1_bit_offset": 0, + "add_mod__carry1_sign_column": 0, + "add_mod__carry1_sign_offset": 0, + "add_mod__carry2_bit_column": 0, + "add_mod__carry2_bit_offset": 0, + "add_mod__carry2_sign_column": 0, + "add_mod__carry2_sign_offset": 0, + "add_mod__carry3_bit_column": 0, + "add_mod__carry3_bit_offset": 0, + "add_mod__carry3_sign_column": 0, + "add_mod__carry3_sign_offset": 0, + "add_mod__n_suboffset": 0, + "add_mod__offsets_ptr_suboffset": 0, + "add_mod__p0_suboffset": 0, + "add_mod__p1_suboffset": 0, + "add_mod__p2_suboffset": 0, + "add_mod__p3_suboffset": 0, + "add_mod__row_ratio": 0, + "add_mod__sub_p_bit_column": 0, + "add_mod__sub_p_bit_offset": 0, + "add_mod__values_ptr_suboffset": 0, "bitwise__diluted_var_pool_suboffset": 0, "bitwise__row_ratio": 65536, "bitwise__trim_unpacking192_suboffset": 512, @@ -517,6 +556,95 @@ "memory__sorted__value_column": 7, "memory__sorted__value_offset": 2, "memory_units_row_ratio": 4, + "mul_mod__a0_suboffset": 0, + "mul_mod__a1_suboffset": 0, + "mul_mod__a2_suboffset": 0, + "mul_mod__a3_suboffset": 0, + "mul_mod__a_offset_suboffset": 0, + "mul_mod__b0_suboffset": 0, + "mul_mod__b1_suboffset": 0, + "mul_mod__b2_suboffset": 0, + "mul_mod__b3_suboffset": 0, + "mul_mod__b_offset_suboffset": 0, + "mul_mod__c0_suboffset": 0, + "mul_mod__c1_suboffset": 0, + "mul_mod__c2_suboffset": 0, + "mul_mod__c3_suboffset": 0, + "mul_mod__c_offset_suboffset": 0, + "mul_mod__carry0__part0_suboffset": 0, + "mul_mod__carry0__part1_suboffset": 0, + "mul_mod__carry0__part2_suboffset": 0, + "mul_mod__carry0__part3_suboffset": 0, + "mul_mod__carry0__part4_suboffset": 0, + "mul_mod__carry0__part5_suboffset": 0, + "mul_mod__carry0__part6_suboffset": 0, + "mul_mod__carry1__part0_suboffset": 0, + "mul_mod__carry1__part1_suboffset": 0, + "mul_mod__carry1__part2_suboffset": 0, + "mul_mod__carry1__part3_suboffset": 0, + "mul_mod__carry1__part4_suboffset": 0, + "mul_mod__carry1__part5_suboffset": 0, + "mul_mod__carry1__part6_suboffset": 0, + "mul_mod__carry2__part0_suboffset": 0, + "mul_mod__carry2__part1_suboffset": 0, + "mul_mod__carry2__part2_suboffset": 0, + "mul_mod__carry2__part3_suboffset": 0, + "mul_mod__carry2__part4_suboffset": 0, + "mul_mod__carry2__part5_suboffset": 0, + "mul_mod__carry2__part6_suboffset": 0, + "mul_mod__carry3__part0_suboffset": 0, + "mul_mod__carry3__part1_suboffset": 0, + "mul_mod__carry3__part2_suboffset": 0, + "mul_mod__carry3__part3_suboffset": 0, + "mul_mod__carry3__part4_suboffset": 0, + "mul_mod__carry3__part5_suboffset": 0, + "mul_mod__carry3__part6_suboffset": 0, + "mul_mod__carry4__part0_suboffset": 0, + "mul_mod__carry4__part1_suboffset": 0, + "mul_mod__carry4__part2_suboffset": 0, + "mul_mod__carry4__part3_suboffset": 0, + "mul_mod__carry4__part4_suboffset": 0, + "mul_mod__carry4__part5_suboffset": 0, + "mul_mod__carry4__part6_suboffset": 0, + "mul_mod__carry5__part0_suboffset": 0, + "mul_mod__carry5__part1_suboffset": 0, + "mul_mod__carry5__part2_suboffset": 0, + "mul_mod__carry5__part3_suboffset": 0, + "mul_mod__carry5__part4_suboffset": 0, + "mul_mod__carry5__part5_suboffset": 0, + "mul_mod__carry5__part6_suboffset": 0, + "mul_mod__n_suboffset": 0, + "mul_mod__offsets_ptr_suboffset": 0, + "mul_mod__p0_suboffset": 0, + "mul_mod__p1_suboffset": 0, + "mul_mod__p2_suboffset": 0, + "mul_mod__p3_suboffset": 0, + "mul_mod__p_multiplier0__part0_suboffset": 0, + "mul_mod__p_multiplier0__part1_suboffset": 0, + "mul_mod__p_multiplier0__part2_suboffset": 0, + "mul_mod__p_multiplier0__part3_suboffset": 0, + "mul_mod__p_multiplier0__part4_suboffset": 0, + "mul_mod__p_multiplier0__part5_suboffset": 0, + "mul_mod__p_multiplier1__part0_suboffset": 0, + "mul_mod__p_multiplier1__part1_suboffset": 0, + "mul_mod__p_multiplier1__part2_suboffset": 0, + "mul_mod__p_multiplier1__part3_suboffset": 0, + "mul_mod__p_multiplier1__part4_suboffset": 0, + "mul_mod__p_multiplier1__part5_suboffset": 0, + "mul_mod__p_multiplier2__part0_suboffset": 0, + "mul_mod__p_multiplier2__part1_suboffset": 0, + "mul_mod__p_multiplier2__part2_suboffset": 0, + "mul_mod__p_multiplier2__part3_suboffset": 0, + "mul_mod__p_multiplier2__part4_suboffset": 0, + "mul_mod__p_multiplier2__part5_suboffset": 0, + "mul_mod__p_multiplier3__part0_suboffset": 0, + "mul_mod__p_multiplier3__part1_suboffset": 0, + "mul_mod__p_multiplier3__part2_suboffset": 0, + "mul_mod__p_multiplier3__part3_suboffset": 0, + "mul_mod__p_multiplier3__part4_suboffset": 0, + "mul_mod__p_multiplier3__part5_suboffset": 0, + "mul_mod__row_ratio": 0, + "mul_mod__values_ptr_suboffset": 0, "num_columns_first": 8, "num_columns_second": 4, "orig__public_memory_suboffset": 1, @@ -566,59 +694,82 @@ "range_check16__sorted_offset": 0, "range_check16_pool_column": 0, "range_check16_pool_offset": 0, + "range_check96_builtin__inner_range_check0_suboffset": 0, + "range_check96_builtin__inner_range_check1_suboffset": 0, + "range_check96_builtin__inner_range_check2_suboffset": 0, + "range_check96_builtin__inner_range_check3_suboffset": 0, + "range_check96_builtin__inner_range_check4_suboffset": 0, + "range_check96_builtin__inner_range_check5_suboffset": 0, + "range_check96_builtin__mem_suboffset": 0, + "range_check96_builtin_row_ratio": 0, "range_check_builtin__inner_range_check_suboffset": 24, "range_check_builtin__mem_suboffset": 197, "range_check_builtin_row_ratio": 8192, "range_check_units_row_ratio": 1, + "uses_add_mod_builtin": 0, "uses_bitwise_builtin": 1, "uses_ec_op_builtin": 1, "uses_ecdsa_builtin": 1, "uses_keccak_builtin": 0, + "uses_mul_mod_builtin": 0, "uses_pedersen_builtin": 1, "uses_poseidon_builtin": 0, + "uses_range_check96_builtin": 0, "uses_range_check_builtin": 1 }, "layout": "dynamic", "memory_segments": { + "add_mod": { + "begin_addr": 2536, + "stop_ptr": 2536 + }, "bitwise": { - "begin_addr": 2417, - "stop_ptr": 2427 + "begin_addr": 2519, + "stop_ptr": 2529 }, "ec_op": { - "begin_addr": 2427, - "stop_ptr": 2434 + "begin_addr": 2529, + "stop_ptr": 2536 }, "ecdsa": { - "begin_addr": 2415, - "stop_ptr": 2417 + "begin_addr": 2517, + "stop_ptr": 2519 }, "execution": { - "begin_addr": 438, - "stop_ptr": 2007 + "begin_addr": 454, + "stop_ptr": 2109 }, "keccak": { - "begin_addr": 2434, - "stop_ptr": 2434 + "begin_addr": 2536, + "stop_ptr": 2536 + }, + "mul_mod": { + "begin_addr": 2536, + "stop_ptr": 2536 }, "output": { - "begin_addr": 2007, - "stop_ptr": 2015 + "begin_addr": 2109, + "stop_ptr": 2117 }, "pedersen": { - "begin_addr": 2015, - "stop_ptr": 2363 + "begin_addr": 2117, + "stop_ptr": 2465 }, "poseidon": { - "begin_addr": 2434, - "stop_ptr": 2434 + "begin_addr": 2536, + "stop_ptr": 2536 }, "program": { "begin_addr": 1, "stop_ptr": 5 }, "range_check": { - "begin_addr": 2399, - "stop_ptr": 2409 + "begin_addr": 2501, + "stop_ptr": 2513 + }, + "range_check96": { + "begin_addr": 2536, + "stop_ptr": 2536 } }, "n_steps": 4096, @@ -631,7 +782,7 @@ { "address": 2, "page": 0, - "value": "0x9" + "value": "0xb" }, { "address": 3, @@ -641,7 +792,7 @@ { "address": 4, "page": 0, - "value": "0x1a5" + "value": "0x1b3" }, { "address": 5, @@ -1816,7 +1967,7 @@ { "address": 239, "page": 0, - "value": "0x1a" + "value": "0x1e" }, { "address": 240, @@ -1971,132 +2122,132 @@ { "address": 270, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x400380097ff9800f" }, { "address": 271, "page": 0, - "value": "0x4826800180008000" + "value": "0x4003800a7ff98010" }, { "address": 272, "page": 0, - "value": "0x6" + "value": "0x480a7ffb7fff8000" }, { "address": 273, "page": 0, - "value": "0x480680017fff8000" + "value": "0x4826800180008000" }, { "address": 274, "page": 0, - "value": "0x9" + "value": "0x6" }, { "address": 275, "page": 0, - "value": "0x480a80037fff8000" + "value": "0x480680017fff8000" }, { "address": 276, "page": 0, - "value": "0x480a80047fff8000" + "value": "0xb" }, { "address": 277, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a80037fff8000" }, { "address": 278, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff13" + "value": "0x480a80047fff8000" }, { "address": 279, "page": 0, - "value": "0x1088800580018000" + "value": "0x1104800180018000" }, { "address": 280, "page": 0, - "value": "0x1104800180018000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff11" }, { "address": 281, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffef1" + "value": "0x1088800580018000" }, { "address": 282, "page": 0, - "value": "0x402a8004800f7fff" + "value": "0x1104800180018000" }, { "address": 283, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeef" }, { "address": 284, "page": 0, - "value": "0x4826800180008000" + "value": "0x402a800480117fff" }, { "address": 285, "page": 0, - "value": "0x10" + "value": "0x480a7ffb7fff8000" }, { "address": 286, "page": 0, - "value": "0x480a80037fff8000" + "value": "0x4826800180008000" }, { "address": 287, "page": 0, - "value": "0x480a800f7fff8000" + "value": "0x12" }, { "address": 288, "page": 0, - "value": "0x480680017fff8000" + "value": "0x480a80037fff8000" }, { "address": 289, "page": 0, - "value": "0x9" + "value": "0x480a80117fff8000" }, { "address": 290, "page": 0, - "value": "0x1104800180018000" + "value": "0x480680017fff8000" }, { "address": 291, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeec" + "value": "0xb" }, { "address": 292, "page": 0, - "value": "0x402a800380047fff" + "value": "0x1104800180018000" }, { "address": 293, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeea" }, { "address": 294, "page": 0, - "value": "0x4826800180008000" + "value": "0x402a800380047fff" }, { "address": 295, "page": 0, - "value": "0x6" + "value": "0x480a7ffa7fff8000" }, { "address": 296, @@ -2106,142 +2257,142 @@ { "address": 297, "page": 0, - "value": "0x10" + "value": "0x6" }, { "address": 298, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x4826800180008000" }, { "address": 299, "page": 0, - "value": "0x480680017fff8000" + "value": "0x12" }, { "address": 300, "page": 0, - "value": "0x9" + "value": "0x480a7ffc7fff8000" }, { "address": 301, "page": 0, - "value": "0x1104800180018000" + "value": "0x480680017fff8000" }, { "address": 302, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff11" + "value": "0xb" }, { "address": 303, "page": 0, - "value": "0x402b800280198010" + "value": "0x1104800180018000" }, { "address": 304, "page": 0, - "value": "0x4003800080028019" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff0f" }, { "address": 305, "page": 0, - "value": "0x4826800180008000" + "value": "0x402b8002801d8012" }, { "address": 306, "page": 0, - "value": "0x10" + "value": "0x400380008002801d" }, { "address": 307, "page": 0, - "value": "0x48127ffe7fff8000" + "value": "0x4826800180008000" }, { "address": 308, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x12" }, { "address": 309, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x48127ffe7fff8000" }, { "address": 310, "page": 0, - "value": "0x1d" + "value": "0x208b7fff7fff7ffe" }, { "address": 311, "page": 0, - "value": "0x402780017ff58001" + "value": "0x40780017fff7fff" }, { "address": 312, "page": 0, - "value": "0x1" + "value": "0x23" }, { "address": 313, "page": 0, - "value": "0x400b7ff67fff8002" + "value": "0x402780017ff38001" }, { "address": 314, "page": 0, - "value": "0x400b80007fff8003" + "value": "0x1" }, { "address": 315, "page": 0, - "value": "0x400b7ff87fff8004" + "value": "0x400b7ff47fff8002" }, { "address": 316, "page": 0, - "value": "0x400b7ff97fff8005" + "value": "0x400b80007fff8003" }, { "address": 317, "page": 0, - "value": "0x400b7ffa7fff8006" + "value": "0x400b7ff67fff8004" }, { "address": 318, "page": 0, - "value": "0x400b7ffb7fff8007" + "value": "0x400b7ff77fff8005" }, { "address": 319, "page": 0, - "value": "0x400b7ffc7fff8008" + "value": "0x400b7ff87fff8006" }, { "address": 320, "page": 0, - "value": "0x400b7ffd7fff8009" + "value": "0x400b7ff97fff8007" }, { "address": 321, "page": 0, - "value": "0x400780017fff800a" + "value": "0x400b7ffa7fff8008" }, { "address": 322, "page": 0, - "value": "0x6f7574707574" + "value": "0x400b7ffb7fff8009" }, { "address": 323, "page": 0, - "value": "0x400780017fff800b" + "value": "0x400b7ffc7fff800a" }, { "address": 324, "page": 0, - "value": "0x706564657273656e" + "value": "0x400b7ffd7fff800b" }, { "address": 325, @@ -2251,7 +2402,7 @@ { "address": 326, "page": 0, - "value": "0x72616e67655f636865636b" + "value": "0x6f7574707574" }, { "address": 327, @@ -2261,7 +2412,7 @@ { "address": 328, "page": 0, - "value": "0x6563647361" + "value": "0x706564657273656e" }, { "address": 329, @@ -2271,7 +2422,7 @@ { "address": 330, "page": 0, - "value": "0x62697477697365" + "value": "0x72616e67655f636865636b" }, { "address": 331, @@ -2281,7 +2432,7 @@ { "address": 332, "page": 0, - "value": "0x65635f6f70" + "value": "0x6563647361" }, { "address": 333, @@ -2291,7 +2442,7 @@ { "address": 334, "page": 0, - "value": "0x6b656363616b" + "value": "0x62697477697365" }, { "address": 335, @@ -2301,7 +2452,7 @@ { "address": 336, "page": 0, - "value": "0x706f736569646f6e" + "value": "0x65635f6f70" }, { "address": 337, @@ -2311,7 +2462,7 @@ { "address": 338, "page": 0, - "value": "0x72616e67655f636865636b3936" + "value": "0x6b656363616b" }, { "address": 339, @@ -2321,7 +2472,7 @@ { "address": 340, "page": 0, - "value": "0x1" + "value": "0x706f736569646f6e" }, { "address": 341, @@ -2331,7 +2482,7 @@ { "address": 342, "page": 0, - "value": "0x3" + "value": "0x72616e67655f636865636b3936" }, { "address": 343, @@ -2341,7 +2492,7 @@ { "address": 344, "page": 0, - "value": "0x1" + "value": "0x6164645f6d6f64" }, { "address": 345, @@ -2351,7 +2502,7 @@ { "address": 346, "page": 0, - "value": "0x2" + "value": "0x6d756c5f6d6f64" }, { "address": 347, @@ -2361,7 +2512,7 @@ { "address": 348, "page": 0, - "value": "0x5" + "value": "0x1" }, { "address": 349, @@ -2371,7 +2522,7 @@ { "address": 350, "page": 0, - "value": "0x7" + "value": "0x3" }, { "address": 351, @@ -2381,7 +2532,7 @@ { "address": 352, "page": 0, - "value": "0x10" + "value": "0x1" }, { "address": 353, @@ -2391,7 +2542,7 @@ { "address": 354, "page": 0, - "value": "0x6" + "value": "0x2" }, { "address": 355, @@ -2401,545 +2552,645 @@ { "address": 356, "page": 0, - "value": "0x1" + "value": "0x5" }, { "address": 357, "page": 0, - "value": "0x1104800180018000" + "value": "0x400780017fff801c" }, { "address": 358, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea3" + "value": "0x7" }, { "address": 359, "page": 0, - "value": "0x482480017ffe8000" + "value": "0x400780017fff801d" }, { "address": 360, "page": 0, - "value": "0x1" + "value": "0x10" }, { "address": 361, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x400780017fff801e" }, { "address": 362, "page": 0, - "value": "0x482480017ffc8000" + "value": "0x6" }, { "address": 363, "page": 0, - "value": "0xa" + "value": "0x400780017fff801f" }, { "address": 364, "page": 0, - "value": "0x482480017ffb8000" + "value": "0x1" }, { "address": 365, "page": 0, - "value": "0x13" + "value": "0x400780017fff8020" }, { "address": 366, "page": 0, - "value": "0x480280007ff58000" + "value": "0x7" }, { "address": 367, "page": 0, - "value": "0x1104800180018000" + "value": "0x400780017fff8021" }, { "address": 368, "page": 0, - "value": "0x24" + "value": "0x7" }, { "address": 369, "page": 0, - "value": "0x400a80007fff7fff" + "value": "0x1104800180018000" }, { "address": 370, "page": 0, - "value": "0x40137ffe7fff801c" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe97" }, { "address": 371, "page": 0, - "value": "0x48028002801c8000" + "value": "0x482480017ffe8000" }, { "address": 372, "page": 0, - "value": "0x48307ffe80007fff" + "value": "0x1" }, { "address": 373, "page": 0, - "value": "0x480680017fff8000" + "value": "0x480a7ff57fff8000" }, { "address": 374, "page": 0, - "value": "0x40" + "value": "0x482480017ffc8000" }, { "address": 375, "page": 0, - "value": "0x1104800180018000" + "value": "0xc" }, { "address": 376, "page": 0, - "value": "0xc" + "value": "0x482480017ffb8000" }, { "address": 377, "page": 0, - "value": "0x48028000801c8000" + "value": "0x17" }, { "address": 378, "page": 0, - "value": "0x48028001801c8000" + "value": "0x480280007ff38000" }, { "address": 379, "page": 0, - "value": "0x48028002801c8000" + "value": "0x1104800180018000" }, { "address": 380, "page": 0, - "value": "0x48028003801c8000" + "value": "0x26" }, { "address": 381, "page": 0, - "value": "0x48028004801c8000" + "value": "0x400a80007fff7fff" }, { "address": 382, "page": 0, - "value": "0x48028005801c8000" + "value": "0x40137ffe7fff8022" }, { "address": 383, "page": 0, - "value": "0x48028006801c8000" + "value": "0x4802800280228000" }, { "address": 384, "page": 0, - "value": "0x48028007801c8000" + "value": "0x48307ffe80007fff" }, { "address": 385, "page": 0, - "value": "0x48028008801c8000" + "value": "0x480680017fff8000" }, { "address": 386, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x40" }, { "address": 387, "page": 0, - "value": "0x20780017fff7ffd" + "value": "0x1104800180018000" }, { "address": 388, "page": 0, - "value": "0x5" + "value": "0xe" }, { "address": 389, "page": 0, - "value": "0x400780017fff7ffc" + "value": "0x4802800080228000" }, { "address": 390, "page": 0, - "value": "0x0" + "value": "0x4802800180228000" }, { "address": 391, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x4802800280228000" }, { "address": 392, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x4802800380228000" }, { "address": 393, "page": 0, - "value": "0x1" + "value": "0x4802800480228000" }, { "address": 394, "page": 0, - "value": "0x48307fff7fff8000" + "value": "0x4802800580228000" }, { "address": 395, "page": 0, - "value": "0x48317fff80007ffc" + "value": "0x4802800680228000" }, { "address": 396, "page": 0, - "value": "0x40507fff7fff7fff" + "value": "0x4802800780228000" }, { "address": 397, "page": 0, - "value": "0x48127ffd7fff8000" + "value": "0x4802800880228000" }, { "address": 398, "page": 0, - "value": "0x482680017ffd8000" + "value": "0x4802800980228000" }, { "address": 399, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x4802800a80228000" }, { "address": 400, "page": 0, - "value": "0x1104800180018000" + "value": "0x208b7fff7fff7ffe" }, { "address": 401, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff4" + "value": "0x20780017fff7ffd" }, { "address": 402, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x5" }, { "address": 403, "page": 0, - "value": "0x20780017fff7ffd" + "value": "0x400780017fff7ffc" }, { "address": 404, "page": 0, - "value": "0x5" + "value": "0x0" }, { "address": 405, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 406, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x40780017fff7fff" }, { "address": 407, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x1" }, { "address": 408, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x48307fff7fff8000" }, { "address": 409, "page": 0, - "value": "0x1" + "value": "0x48317fff80007ffc" }, { "address": 410, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x40507fff7fff7fff" }, { "address": 411, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x48127ffd7fff8000" }, { "address": 412, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x482680017ffd8000" }, { "address": 413, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 414, "page": 0, - "value": "0x48127ffb7fff8000" + "value": "0x1104800180018000" }, { "address": 415, "page": 0, - "value": "0x1104800180018000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff4" }, { "address": 416, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff50" + "value": "0x208b7fff7fff7ffe" }, { "address": 417, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x20780017fff7ffd" }, { "address": 418, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x5" }, { "address": 419, "page": 0, - "value": "0x482680017ffd8000" + "value": "0x480a7ff97fff8000" }, { "address": 420, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x480a7ffa7fff8000" }, { "address": 421, "page": 0, - "value": "0x1104800180018000" + "value": "0x208b7fff7fff7ffe" }, { "address": 422, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef" + "value": "0x40780017fff7fff" }, { "address": 423, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x1" }, { "address": 424, "page": 0, - "value": "0x480a7ff57fff8000" + "value": "0x480a7ff97fff8000" }, { "address": 425, "page": 0, - "value": "0x480a7ff67fff8000" + "value": "0x480a7ffa7fff8000" }, { "address": 426, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 427, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x480a7ffc7fff8000" }, { "address": 428, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x48127ffb7fff8000" }, { "address": 429, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x1104800180018000" }, { "address": 430, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff42" }, { "address": 431, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 432, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x480a7ffc7fff8000" }, { "address": 433, "page": 0, - "value": "0x1104800180018000" + "value": "0x482680017ffd8000" }, { "address": 434, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 435, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x1104800180018000" }, { "address": 436, "page": 0, - "value": "0x1b6" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef" }, { "address": 437, "page": 0, - "value": "0x0" + "value": "0x208b7fff7fff7ffe" }, { "address": 438, "page": 0, - "value": "0x7d7" + "value": "0x480a7ff37fff8000" }, { "address": 439, "page": 0, - "value": "0x7df" + "value": "0x480a7ff47fff8000" }, { "address": 440, "page": 0, - "value": "0x95f" + "value": "0x480a7ff57fff8000" }, { "address": 441, "page": 0, - "value": "0x96f" + "value": "0x480a7ff67fff8000" }, { "address": 442, "page": 0, - "value": "0x971" + "value": "0x480a7ff77fff8000" }, { "address": 443, "page": 0, - "value": "0x97b" + "value": "0x480a7ff87fff8000" }, { "address": 444, "page": 0, - "value": "0x982" + "value": "0x480a7ff97fff8000" }, { "address": 445, "page": 0, - "value": "0x982" + "value": "0x480a7ffa7fff8000" }, { "address": 446, "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 447, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 448, + "page": 0, + "value": "0x480a7ffd7fff8000" + }, + { + "address": 449, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 450, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff77" + }, + { + "address": 451, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 452, + "page": 0, + "value": "0x1c6" + }, + { + "address": 453, + "page": 0, "value": "0x0" }, { - "address": 1998, + "address": 454, "page": 0, - "value": "0x7df" + "value": "0x83d" }, { - "address": 1999, + "address": 455, "page": 0, - "value": "0x93b" + "value": "0x845" }, { - "address": 2000, + "address": 456, "page": 0, - "value": "0x969" + "value": "0x9c5" }, { - "address": 2001, + "address": 457, "page": 0, - "value": "0x971" + "value": "0x9d5" }, { - "address": 2002, + "address": 458, "page": 0, - "value": "0x97b" + "value": "0x9d7" }, { - "address": 2003, + "address": 459, "page": 0, - "value": "0x982" + "value": "0x9e1" }, { - "address": 2004, + "address": 460, "page": 0, - "value": "0x982" + "value": "0x9e8" }, { - "address": 2005, + "address": 461, "page": 0, - "value": "0x982" + "value": "0x9e8" }, { - "address": 2006, + "address": 462, "page": 0, - "value": "0x0" + "value": "0x9e8" + }, + { + "address": 463, + "page": 0, + "value": "0x9e8" + }, + { + "address": 464, + "page": 0, + "value": "0x9e8" + }, + { + "address": 2098, + "page": 0, + "value": "0x845" + }, + { + "address": 2099, + "page": 0, + "value": "0x9a1" + }, + { + "address": 2100, + "page": 0, + "value": "0x9d1" + }, + { + "address": 2101, + "page": 0, + "value": "0x9d7" + }, + { + "address": 2102, + "page": 0, + "value": "0x9e1" + }, + { + "address": 2103, + "page": 0, + "value": "0x9e8" + }, + { + "address": 2104, + "page": 0, + "value": "0x9e8" + }, + { + "address": 2105, + "page": 0, + "value": "0x9e8" + }, + { + "address": 2106, + "page": 0, + "value": "0x9e8" + }, + { + "address": 2107, + "page": 0, + "value": "0x9e8" + }, + { + "address": 2108, + "page": 0, + "value": "0x9e8" }, { - "address": 2007, + "address": 2109, "page": 0, "value": "0x1" }, { - "address": 2008, + "address": 2110, "page": 0, "value": "0x7" }, { - "address": 2009, + "address": 2111, "page": 0, "value": "0xeee90e36ac1c9ef2f7860d775e92114ede713759d948df425f966e4feea3d2" }, { - "address": 2010, + "address": 2112, "page": 0, "value": "0x5c9d88a1de4e8a88f3a14ee67d10cc244cf6eb630751faf26a6c83a86205e0" }, { - "address": 2011, + "address": 2113, "page": 0, "value": "0x4d2" }, { - "address": 2012, + "address": 2114, "page": 0, "value": "0x10e1" }, { - "address": 2013, + "address": 2115, "page": 0, "value": "0x3e8" }, { - "address": 2014, + "address": 2116, "page": 0, "value": "0x7d0" } ], - "rc_max": 32796, + "rc_max": 32802, "rc_min": 0 }, "version": { @@ -2947,39 +3198,39 @@ "statement_name": "INVALID_NAME" }, "extra_annotations": [ - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2922368: Hash(0x000000000000000000000000ec785d3f074c0dd3aaf7a368a7d8e06de6cc9c51)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3871563: Hash(0x000000000000000000000000d90aaea440ac8413310ba7db880270a3ad704a37)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2922368: Hash(0x000000000000000000000000700036e5f75651ca92ce7da26e1f5caccb880c3d)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3871563: Hash(0x000000000000000000000000ba6b912920e5f1265fd65d8df9b23a39a1f5a43c)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2922368: Hash(0x0000000000000000000000007692e3c254ca5d70a3556c6127078fbaefdf4992)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3871563: Hash(0x00000000000000000000000038f0c96e4e68a913ca72b1015e944b3a4dbc318a)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 103152, Column 0: Field Element(0x7b907ed43761dd0d090956940b22caf2c2847c1f80e051658682c81d7de9964)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 825216: Field Element(0x74283f259ad97b2cdbf0981d3595175f2fb70ac9c1ddda2721233442e256156)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 221801, Column 3: Field Element(0x738576b682c5953bbdc4be9e274f29f3cd24374c478116a55135f420ba827c4)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 1774411: Field Element(0x15ef2760984b90d3802530b57716be9af9c342dd749345338d6a4ce630cc655)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 365296: Hash(0x000000000000000000000000d7a2d8ed6635e108b502799a53b084f0704fac64)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 483945: Hash(0x00000000000000000000000089ce3859c88d6300175341d3188a94c991402d46)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 12894, Column 0: Field Element(0x51939c7309e5a21aa97fec8aa4bd5bac59b1df298d7e4666cbe2149c282b3c2)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 103152: Field Element(0x4a2d48fcdf9b3243dc4480d71193451972dd4041abb3c6ba66ca2004517321a)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 27725, Column 1: Field Element(0x6164aa6fc2f2e7902e0ad5b1522a0946303a8095da18c584b052786e9a5cc93)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 221801: Field Element(0x4dd6b3dbc130405363384bfcca8a2bb3b1e0d8301f2b2f3b93ce71755d282e6)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 45662: Hash(0x0000000000000000000000007b18e7ca474dd509b46c4a33b86554e1d8ecd966)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 60493: Hash(0x000000000000000000000000f5531b1e146f6a5560c0ed52afecd7a6aae41f1e)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 1611, Column 6: Field Element(0x62fcdee46a1878770fd4dd1df5b131ca5dc33f4fd2984f93ad8be09dc3a3eba)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 12894: Field Element(0x683065eff9fae5553ab388649fd19de9215196ac1b1c2dc2bc3d52168452ceb)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 3465, Column 5: Field Element(0x2259e57294ebee65e5cbb55d89b9b326e6072f2f6b50af6dcd57f893c4f8c94)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 27725: Field Element(0x5d1307c6336ac5c2c97536df88f47dd641fe7cc2df3916f70ed7ee877ceee5f)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 5707: Hash(0x000000000000000000000000fa53ee573b00a38f0be56c21150c1da8acb51052)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 7561: Hash(0x00000000000000000000000009e558d1ba920b231b765640794eff159ab93351)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 402, Column 3: Field Element(0x78d5aee7ceed298ef5eff459f71b60875f6bdcb52955976c88864f13c2fb3)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 1611: Field Element(0x40f02001432b7fb2531ea727b1069083d748f883f8fb6030fea52dcb540103b)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 866, Column 1: Field Element(0x4b737ab722df62b4da52339f5362fb3a72cc3cf1a2d29141649bf82ad9a4772)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 3465: Field Element(0x1f692818f4697ec42b134162530cbb59f3949eaa466f114eb55c38bccc9fbc2)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 1426: Hash(0x000000000000000000000000865744ef6a92a39cc902eef6ef0242cfa99eedf7)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 1890: Hash(0x0000000000000000000000004c4b1d1e004ce488046e1912546866d3e6390ed7)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 402, Column 0: Field Element(0x68c752fbaa88336dd855b452d006baf33195e8d8eab1be2608b46aeed3676c5)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 402: Field Element(0x3a49502e633a835d08ef53721671f77e2f90855d5fcf32d0b8842f8b48d295)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 866, Column 0: Field Element(0x5cf743dc68fed03d04a3982d98cab005936bfd25f7edc26796f04e37b2466a1)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 866: Field Element(0x7dcd4eea8fe36df7975e97b05e93aad2808dfac55f4bd24c13f89d0afb6c60e)" + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2629457: Hash(0x00c2d85cdbcb4555ddbe5c8ed335a39f58ab3b99d9216def71941b9eebb8a936)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3550867: Hash(0x0013d08b4b724d490ab5131317256fde43fa87eb4c34491c09a0614d73ad5a01)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2629457: Hash(0x00ff965478b4ede741b9abc60de4d54f7c127cbd1b97771276da81d04f5b7aff)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3550867: Hash(0x00e1f80bcfe5c45eafb7e54253acd4ffdceff09820ef2897a9af298efa47b5b3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2629457: Hash(0x003f44124ad2f011b3ab89040060c4436757b4c888c63def28b0354f721604df)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3550867: Hash(0x00e3508fab98da4a01c6f54646fac454f75a2518b7846fc6aca39736c55d8633)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 66538, Column 1: Field Element(0x3ed791e7a0fea3113428301f604d0d1b5421d57625ea14723105862d13775a0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 532305: Field Element(0x2f1cef0b706683d96beb2023fa14bc52c981933cbebe00f654c6e5c610d459f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 181714, Column 3: Field Element(0x60571b337a1c2661c76ae6536943e2c7e183a048cfd778aab5a28f4b4dfd11b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 1453715: Field Element(0x98acf5ca5539ea24f416c08f1d22df443b6cf538fda0e9b6863fbf8559739c)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 328682: Hash(0x001a03bcdad8e36678f8456cf4a851ad69a0f21251460b7f39fc7818e8b45b3c)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 443858: Hash(0x0039614c10600854096be631f7308a76f26112adf6025b4b46f4e1856382c91e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 8317, Column 2: Field Element(0xcb79b76a053f8036e752fe3b2227d8b25899e8e01d5b94727f4fafbb18745c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 66538: Field Element(0xcc265d34e26bdfea436018ef4f0209c80f4933abe8cb974d2613e828b40982)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 22714, Column 2: Field Element(0x64658d7ee02db399e87e30a77007ae661fc5cbaa881baced3fe1d083ba3edcc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 181714: Field Element(0x6e4a60cdf937fcc43f2e3d4d1f904baf9a97983791ad691f52c186efc951c4)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 41085: Hash(0x00daa61876917f845ea2a227093ef7f354fa22e80b784ab4cb37af68a4ab229c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 55482: Hash(0x00eba40819dd8e9f360f78ed6bff921597f2cba9bf91ad04e7343f154112f1c0)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 1039, Column 5: Field Element(0x7c99744e5d5d537cf3c180214dd5bb525e055dcdca2440642feb9190a062c89)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 8317: Field Element(0xcccfe21561be4be57d0d45e4293e92145510e17bc225c4b88f7961f895a999)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 2839, Column 2: Field Element(0x59885ee693d7198f817d27eb601170cf243591cdd092bc7d9c6e7ffd891813c)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 22714: Field Element(0x55fe1920bc09aa70fec2377706f6ba02e845ea39278e0f6ea71a6cefb2e8050)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 5135: Hash(0x00deae9254a151ecb19602378028d1d9582a355bc7fe1a2e0c778e6857ef17a3)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 6935: Hash(0x000ae414a049efd2dfa0405444ab7b37e3d2265bfb50d4488bde92110d2585e8)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 259, Column 3: Field Element(0x2f540991c053a12f7a5f3983e5a07ae2c569e1def9a77fccd753ecb17d61f74)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 1039: Field Element(0xc11818d228fd0d0cb6e6b63dd9473a4d07091063390a0934097c73dbc4c5e1)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 709, Column 3: Field Element(0x741a99b89630fef08b92cc8ecf8e3fe5210b9e603c470d1144a56a64fd7648a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 2839: Field Element(0x54b1acd5036eadd6e8babe87c082936253ff2c1f323e658afefa8e4c4e99a6f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 1283: Hash(0x0040294b9da4f797c2132d5bebc46b119233d3bebdc9b38e6c3f2d9d4c7de6e3)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 1733: Hash(0x0058ae03333cacfaebd6a805970a0f0129bff613c57ae2c3266b39dd4c861e20)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 259, Column 0: Field Element(0x7021bf257efad573fb815c201afd38c69c262672b33e95f5a12e27fd7aedecd)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 259: Field Element(0x40734f57542b317bcf072155afd8fc7deb59528d830e7ce3e6fcefe46f5d423)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 709, Column 0: Field Element(0x603d8046e03595747026c0cabf16b5c7480fe2e2fac104d3508f13413630b06)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 709: Field Element(0xce4f09c81c20b4a470d0ea6302072f676c386638a87dd503c1c3886ec0573d)" ] } diff --git a/src/starkware/cairo/stark_verifier/air/example_expected.json b/src/starkware/cairo/stark_verifier/air/example_expected.json index eac456ae..56429431 100644 --- a/src/starkware/cairo/stark_verifier/air/example_expected.json +++ b/src/starkware/cairo/stark_verifier/air/example_expected.json @@ -1,9 +1,9 @@ { "public_input_test": { - "initial_hash_chain_seed": "0x02aad846ecc75d17563de31718138ea5e019166bb8a81b8494b061dc5ac3eca4" + "initial_hash_chain_seed": "0x03b5456803e21d8cb8a531ffd767e1ccc8dc775423e111c425881f46103da928" }, "dynamic_layout_public_input_test": { - "initial_hash_chain_seed": "0x01490306a65f798b9ac1a4601e09cb14f5a3ea16998ccb6a8c64f1455c2796a8" + "initial_hash_chain_seed": "0x004d22ee097dd04b1228b765883e011e715c227d5a63aa16e32942bd303a5185" }, "diluted_test": { "spacing": 4, diff --git a/src/starkware/cairo/stark_verifier/air/example_proof.json b/src/starkware/cairo/stark_verifier/air/example_proof.json index 79e72ad6..1e0d0cd4 100644 --- a/src/starkware/cairo/stark_verifier/air/example_proof.json +++ b/src/starkware/cairo/stark_verifier/air/example_proof.json @@ -2,2678 +2,2692 @@ "annotations": [ "title cpu air Proof Protocol", "", - "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x66547ce9773eee6efb6d3f47ad4a3e5f95976bf3824243c1d17a248621a666d)", - "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x3d34416b0c46bbd79b365eb5f9747f3c8193802a0d0209294c8e7ed897b255a)", - "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x5aa94b7173fc78e10f8bd6294eeeb6fd488040edeebad3e3387f3db83dd6324)", - "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x63908eb614a71ab578eefab7f9ed5827c1eaec0575d5050eae9c189303831fa)", - "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0xf1c479f641b4b16c50694aafba35739c2970cc8e740edae9d4cb45b5b7a307)", - "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x463a62ef406393dc020179e3151e6ced2346f34548aab77ca8000049a06ed80)", - "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x30c146268ec7eb9abd5e4a6a56dff7479d6cc027478a67621b47e1036c7feca)", - "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x75b10b3318a9ca3eafccc5add9395a38a128062b3b626b8004e7b68357fa5d2)", - "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x258073882e6ff7c9e3382f6bceac7675e087316d632afc41c93a46d3a0c12ed)", - "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x77b3bb251327133283b4da2c542034abb1c5f2c545dd835f540889f39ab6ec7)", - "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x38a0969404536d26a7fb3f0956043f6f866685e632b918905fb31c64b2044dc)", - "P->V[96:23648]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0x30172f3a1efe9042aa06847ae6d416c0f4b1e72236835b2d0a4eada0ca135a8, 0x30624debff25da9d46456360706f4023fb1ca50044fdfdb556fdacfb0b6c5c2, 0x4f011fb800dfd7e3bc42ffb660212d5179bdcafb70a0decf2a9982c41566eda, 0x5b99bce6ee0a11f2e411e9c86d25a3cb4085e9634c1d95560dc6aad873d2ece, 0x7cf922c16655f5cd3e88de5bb4ba804a514c5f8f71b869dab9fa47fc21ca0fb, 0x40ad55e9bede5e5773f6b792e6afed4e92e585a6e735e42d093a5d5833fb54, 0x5bc3f7de4681558e6732b47a7c2495fa256cd3c9f507ec2f2a461c63f595e95, 0xafa67842dd4b2de8d4533807cf17a4b4c02de0f17f36ca0042f4d69bd593e8, 0x3518204d0962bdc48db8e340068aa9a6776dc85ed8d1e18c59f3e0a9f38768d, 0x282678db5971bdf9325a824e828474cdd01dfbaff14794acf72198f2e379955, 0x3e9afc351f16095635121c6e4e2f8835184e73e14b99fb4d6c139c1ff34db12, 0x5de72234e11922103c6f316e0f60fe43b9c8a6f06378640cf5777efff71b4f4, 0x6aaf81d809f657dae61b9cb153f1dcde9342ea028b71beeaf0eb7e2fb16d402, 0x625f1da07e0585f04fcc7ecf550f68d6c43c590a9cf270a603653f650186858, 0x79a9405be5d2f7b4b92aa73f6ca49f26ab7b5a7d50820d7aa04964a2aec006d, 0x10116d91550c6612eeceec1540e1a6e3198b3675e246023d33335432eb89cf8, 0x2b4ee4bcfeea221615f48a70030d82209fdc3010c82a546145bbdc1b07eacd5, 0x3a6560c6a4252313c480da67fd19e180bbe66e1178f7c447b2b6e2c788a0715, 0x2b6d531b0c19c1588a5d30da90b7b5bee8b2204917de0f404308e6a5afdf7f8, 0x77875f73882eb9d961edbc641dfce1718465f86578519b94b2761f6c9d4f890, 0x60d4b620ff9c74a22e4cac57d173f167f867044d5cb410dd842d30b9df80ace, 0x2a517499eda9a0502c66529c95b8d86e4e0d26da31bcb7e1c247299129c38b, 0x53b5cc80dbb3ee75773b573c51d50a62737778504bc1bb092ae21a2940f3dcf, 0x5ff8c4a6595e23f0705d7ddb9f1e7747ddc0a57261f3feb92276cce415ebd9f, 0x73b5da4f4c3ac784cce6192a80f0c1d4cc2785eed0b25a5d01bb13d77a8ab40, 0x3547286229907bd04929c1d81f41077eb68e1619a53eb7bbdf803e7d732635b, 0xa9039144c4f5c95e7e1b95eac0e3812bdd985730e1969fbea1deb29c018815, 0x454c144595108c8d08ad5dbc6fafa204ae0e9cc537406a822cafcc5e4a9270, 0x31b14e8467cd0e053bf81e6ce2ab5e86e2f68ff98b3c8d71a136fe991fa44cd, 0xe1269ea1eeb8ace9200e82618a2f71fbd5a233184e4d70b7f7590c6e3036ba, 0xdba42c112dcdabc0eacb5a221d5a0087bc3c7a033f9bebb1073bceba59d6af, 0x3bd5a5623a1e54d8f012d99bfa9467989cd9af6e94692eca40cf63abfaa1ec9, 0x38a28cc813c95aa6897439b8b4e6dfd154c617b3521be9dfdbd58cb472b8673, 0x450d9c907242e91abb31ae83a280a9701229a16765571099a9f362c964cdb73, 0x49266080fea5560ac5d5c2de3b0115c5f55230f72667aeb3c7832d25e622442, 0x3b3272973fe320654bca581853529c5b5972657c98f7abb9ef90a47bb36785d, 0x116d8405c6a322280514afb4120e1ddf52f7c6b4128c327669f371c5d75639a, 0x7ba912a06a9b02ce1e4069fa0e72f91ac1299608c1ddba43a15a94beb610674, 0x65c3d3314f94b35c0332f7941c3743dbf9edd75becfd3c9cb945963628fbd20, 0x37155735a26c181a0320455ca3ff5078fa9c0be03a46a79b8d8abb2791c2a19, 0x56d4ac6195d5ab570f4dea4918037645fd5b8cff5a6107740bd1e119fb4bee, 0x20b21372a7624f1332b0266252b7f5b78d9581da71655e4f512083ba93b1509, 0x46da99bbd5c85f48fd3cbc3622b6c1055bf62cd0d98320d5330b8dabf4112fd, 0x5583998f8bbf7389a4856ba3d8e79912f2a2177051a707698d7e96e5bdb6ab4, 0x513c1da22c65f472dda7be467f1366f84761991eafb66e2a187d7954c5118d3, 0x6f52aa43f5af8dd2fc4a2888f5e92ebcba052b09d937abbc679a4153d15275a, 0x1ffaf6153da600e70c1e1e8af30b24710894335ba9f54e8425a5c7ace7bf980, 0x4378567099dd18482d8834f7bf90ac7322739a3251c77135098dc1ba5cc898a, 0x2d597f01e4c27fa309fbb2900d6f84c7086b68a0b10e24d84faf9f9f12dd8f9, 0x4ebf1b880754d6aa43c026246413d61bae6f398121da5879abac68d16c76e3c, 0x4ff14db3c87c3f93fe9703ba470359ee98eb5605087fe3906464bef5ce702d2, 0x3a6b541b4f3d132684ec0d4816508f0290b2fd1770e6a99768438148f08fcb6, 0x2e5181242d97ac1d5287dd981d4cdf513c821d6b66df584b557607982016c2e, 0x1cb85a15e69a4636893f9cf12b80f026adf8b4336ffdf41fa80b874da39bb08, 0xa8d70e3024c5f387d4aa720048edd1542852a6c1505ad62c13af403c8ef02b, 0x2d8d77248ddc23d0939921b9fdf734a68acba63ec1772d92b82ab1ba44afb8c, 0xa413ac6a76c1c75a87791661c163fffa05986f92f5411c7175228c7c7a9ba6, 0x2d841797de90b6b358f0c649e14010facdf7e68e162c253a84d488d34f2c34b, 0x1aa1fd0a15e6727559fd79a003550fbfe6ae8d0b2dd6d9fc7a9c84a3c7cfb75, 0x34576050c85d94094eedad33485b593f0b6a456e6582eec3acc8d653fdb97a, 0x3db3884c15a01254371987ee20ecd06389f23e45d27d7329685d58866ebd33c, 0x56c62af3298a3dc085d9487867676dd63fb9c422a3e07f46dbc21c0f479894, 0x5f2716679449e74b3839b55e1fb91c810efd0fd710e0486dbf531fb1a9fa0fc, 0x6d5f25c948b5f7f11d0d52617f50993227d01f6315482f10bcbd8d4013f23b0, 0x695e2ca744056925dc3c7c08fe6c295e15a7d4f1f9fd49b0235253fb3fedc54, 0x49fafdd9c52f2741efea04320279c2144a6c0a925ffa98eb837241a9bb7c1a9, 0x5ed600658df161880f7bc2b3a7a15e22e77ff4eedaae438f93a57ff63b197d6, 0xb7efddcbc335821b43f109fba4b1337482b9211f764c780b076f1016df0d11, 0x267a83e5e603726ac34d0579e1962bad0a951724118d74a00027f42262b2, 0x2235b4c376e039b82342d32229bcf3202761a10b614d2ce4418ab446dfba3c, 0x7cc2b4a54c84e076cb8c897dd5fc9571fe57bd0faa06d43e9e5928228fa4d0, 0xd6a3d61546f0203126945ee7cc3a3c79e05d59fbc201c95d9c091b1636956, 0x59f0045eb8ee6b1dfdeb826d4e04922a9998b64400f62cbf526b6c20aa8ad3b, 0x7d4ef71c1c8efd0ad9aa2b4da81903b1ce3ad14b280c5648b2654e60e5ca28, 0x6118d9319e2eed8cd0a490f0c9af0fe6f07d1e29938b29057160e01f613f5c5, 0x65535c29d24f884de99911504663eeff49451db389a6b6256e10c408b77d677, 0x3ed39fd9ab5f4001d71e06533cc03b4de848076d902e3b74d3a5f0672082367, 0x6f8d95b909d0fa19e836722fdadbc861e8067234b77a7ae65350dc34e5cc426, 0x3a7f7913867db01be5c86a575e9fa7238603922b5df1d12b438c445798fc1ec, 0x729bdd79ad3c96a620e2206be37ee08e174b778a834862882b8751bd7963b3f, 0x3f1c4ab1bb08da5c93b1b4d82837cda738ea6e7b154a288f395fc0d8a3a9488, 0x343de479f58a87c517441d083389c02e169047b2db908d6ff738a5e5626ee02, 0x5381fa19cad27f3e6f4f23802a14bfc737b98e88c2b2de80234e30d8ca40abb, 0x5bb890e2f916dd6abc1c65f2654c79b7ee4d7f73b5b86ef87e57f83be8cad08, 0x65b8d45f5d5c1b1fe95d3fee3902106b333f5fc110a91c705f403de9b66c690, 0xfc786c54cbe671b6afdf2d61bc324d0ea182dc77fda0d4ad435dc10c378437, 0x423beecb747c8fc2950cf71cb04bfc7334fb0559cb1010a7ef8a85b828c5198, 0x403247ee267d13e5a28a3eb80db994208680a570bd88d8239376e35cfd5787c, 0x322179733def603fb401d04e9d870822237d9e210ac3ef30e9a82bf64014a21, 0x17f47fe503c2c25593b920c20fde93093584bdd526002b8f929f865f2cd6412, 0x173288acedb7d34409b37f56d69fbd8e63aabd9a24bee9189dde46a75b47a2a, 0x6555d9cb6e7a6dd840e36524382b6fc312ae3588632379c625aabb210f325b4, 0x23b4dc4b7d40f5ee832a24522644360c76b0bd18d2500e1c05987c5f800806d, 0x30e76e57581424d0afc8b24656a3220c3a04e580f8eeda9370c4feccbd5ac7b, 0x6760b817fb0a4d74c23c1219563c9b6252ec9c969184d4704b601f8c83a52d4, 0x47cc06eeefe1fda9d25aada065168f147f0775988296033deb215676f4b8803, 0x726c2eac6eb40d1dd26b7a15f0dcda11b737219b14e345646467aba24ea9ac8, 0x6b4bcd918d1ab266d98b3fa2a739d7ba47bb1dc53c6da4a38446cf17deeeaff, 0x4c2d257368a3379bdf01c4999304c9ccdcd485d4c84da300fa3d37998b573d8, 0x2abd9a3d1d0bcdd33e4b4673fe1d544101158efb96bd7d17e67acbe6d09dd8, 0x5761dfbf603d8adce3e11916a3d03869e68fe1b25506514a14880b71ed13b49, 0x435c157ad04fd57d6d5cf0c5645801663afee371554d46501fc2a19333c99d0, 0x1f5e27edb5eeaf74ea5ec5d0581ed182b425f4ca16fa9973f81d7e057f75445, 0x390bf7fd95544e943f08cda5398a04f5bbb3e0c2f030e5fb47b89d61d878233, 0x505107242bd5639d6ebdba4a05f2908c5ca1142911f31898d876e1504164a55, 0x5c71e14a6f29f765639e3a357fb66710fa1f90a33f08df88c4e06ff54dcd8d6, 0x7d190002e7e6a45c0292cb48d4af6005bc25a302a55e4fb464e7ddb9c4dedb9, 0x5335ae4551d1a2130591c9162008ba91cdc7d8ec1e85cc619b4fb14cfa2a373, 0x471631af7dfe495b6ad8c01c833cfebacee66c295f3311dea338ee83bce1714, 0x4ed40cf2c7d4652f4466226cad55a1f07ca0ad53d753d3b956ee730a070098e, 0x36a669b41ba56fb697790dc6dd506ed11c265999ccfd240e81f7b20fddbc712, 0x2c4dcd4a7c641177b8b516682da87d24364b6e96b1173c564bfb418d5a33094, 0x59533a1181c437538d2ae72a7279b1f4a676d23fb197340b564fddd4c7c7903, 0x1afb649d7d141f1fa31b7f657c10fc145943bfbb898206711b44c42c2f64c64, 0x614c5d5bd25e039d07ada3066dd5bd944193aee7a01666a45aad11998a0c713, 0x75e307dce09b673c412d23da2ef3dad3ef56559a5398feb58c3057f5c3d64dc, 0x5d56a5381c9f196eaf76253fc8ffbbb1d2ae2478735195db9a558a48ec9117a, 0x7714ca7dee6bdaa6ff93fbe58d7e449f39df6cecab9255adb5632b840fc2bab, 0x4bf979626464b0f8ef1bc4ddf32492773d1972a73bfd7d13bd5b67082e97fe1, 0x64ccc153a7dc414a188cde28c5bc0d22b1ed80f47723b8f70b5c097c43fe3b6, 0x615ce2672ff40e5266cbc3a27a6e94a573602df71a75ee5547bd3e6cb5640a9, 0x40d782c3c861072cbb6479aeb2220781f43beefd3aac955aca41bd9eb0bcf8e, 0x10f28c14e958c17479b9b02a5c53e0ccea4953e6bc3d97d262a2f89c874bc6d, 0x7a6c4fb63a5c779c4ed3033f2b1c6196b679f12a4a2e4ae4349226146be85a8, 0x6a30e81c93d8adc15a72d64b295c9f5fae0b1fef4af60bc66023381ad8f4cd4, 0x7a388082dcb542cf3c446121f29a0b5cbbcf378c5f6c49b1385dfc852fc5ec3, 0x4a0aa8f403a71c4f17b71bee54e5bc9a73c95e9ebafaaf3c9aa3422a95936b0, 0x39eb2d5335fe2f76c0c8f8859888d433ccf11a867bf40db5286204ac39b58d8, 0x6d837449be8fefee2abb0de414a2fbfac406d977b7f659d75f43bb68afa466a, 0x5444a4312367d9dd739248d627cb15baff908817e559bded73b101b04e99ddf, 0x1c3bba43e4f3c676ef43a883e259dffd5981531e5a9c21d9dc3b4c6095c7b15, 0x7792c4b70b79b0ec0fad1b9fae26f0a3ce1fb96c88cceb9391fa2bbe66fa91f, 0x47be80ce76ce2b6d3fe763f13a20a5a9aa4599cdebb20f8f681a2945ae23135, 0x60d30101e89332db49b8149b0c97beeef85df04179fdaf778291cf29668c093, 0xf3de4a2d18666c60863113212ed3af9a8dc23bae8acb38bac8cc807103e794, 0xec0890ece1e0e24c35af928f0de2abacd65a8bb12c837e8289dec39410b7bd, 0x5a9808938be0c3d420f368ecfd78067b095fd75c179fb1708a7dc909ec1930d, 0x390c9e18add51c6171b5540c85acacdcdd1abde044fb04a351df6dc3076ace7, 0x30ecde7624f2e5cd6d1a46929d0dc087ae57bdca72ec20bc0f2b6a2a41ee892, 0x44c2e5faa944a71b1c4a9ce11a4f74ac2626d6497c420c27d16a88284e972fe, 0x49f1669c8e6aee10cb288a0ccb9c7b93a32f80c25f465130bfc1b444b93831f, 0x141163e327f3062ab2bb1809d7c474a9b1d1b997c25966f9c26995853ed4d6e, 0x6896dc043f88fc89f9a01767e0c214898dc9743b74eb355a3f5efcd7917b5ba, 0x68e7df9e1fe376207133a0eabb2c5ebc720ab1c61acc96c0dd9d9420a3322d8, 0x622b6662abf5f614a176d90402a8931abbc7cc5252c1bc68330970ab4407c36, 0xb83571cc9d04b49370bf25427f0edf3767f85d847f6ae215589dd6c760bbc, 0x450b42e6f248879fd262c70f273b9b5c9db6c9bbf0e7d43d9de9d7b6ffd7bfe, 0x1903061c561bf2e1d49f088aa110a0948480ab636970640cda437aee045c346, 0x4560fe54ccf1b2cf794490c5fb87c442b7766b75872ad647ede59c02a3f862e, 0x407f321d3defc2e875f29abdbdd3470d750f26b10481a8dbc982d2c3b88c802, 0x2d2dd3776bb2224cef314be21e73bb383f7cfbe848e2f42d99c10e064bb281b, 0x1479f1346b27c42b383535cdc92d1637a5dfdb1594eb472e6c03fa51309cc80, 0x14ed4529696707eb21ce521875b0406681bf6f6a98bd6d68744943d166f13d3, 0x6d6f8f43c597e88cf92e353385ed766f325418396809c2358904ce093a5e3e1, 0x74973781c09f45f2fbf37c3bb7687475155411dbfb9471179335a2bfa7035e8, 0x1dac33e0ed066de0b2a41b2f4783392e1afaaec2b77906c5c9e2d0f753e1a3b, 0x6767280c550be06bc1586d6d40b152b0c41295d406739dfb3e87efccaccfb17, 0x4fecb55bbd2bee92b5f80cb615a284d27813b3a6d99d70e1fd35f2222d653be, 0x2eabfe796c9c65c494efae2862373fc414a30d6318be7c54df8c9cb35b30a62, 0x56bae3c1e48157f3360bd64a8dc274741c37d050571c1feafd7fdebbd937313, 0x268898acffb74a0a1ed22834057eb7a110106f526fec08a0e7aaf52a53098e6, 0x609895558d1722c94cd86714a15fd8a7def5a645265645932e290a6a215b685, 0x7038b1f68e77e1e66fb561e46f9e60df15598d35387881f30f1f6a76f9cdd2e, 0x2b0ddca69f4f80c95c72c4ad0d5576a3a2d2a96274da5b9512936424ff66550, 0x52dbc300c4e1c69d565bf1b9d761c7213be2f64fa8b19fa4b25c00dc0a31c5f, 0x480d9e13a8b672d90fe65a7c10dc5e42b4ae5890129e289a3e4b3c28063bd0e, 0x23acd1a0dc12402af2127e5520e570796065280a2ed96ade9678ef06e644c41, 0x1c76d19cdc1005af5d3fe1e4a8f5b26bf9cc61bc1a948571ec99ad3f7e994b, 0x5447d5ce22b2eb812f5c426c0251ef28b1b91a291ef7e9beba0b8edc93db8d7, 0x2f0e5f2f3c0504d74adc97a36d34dfefaed1c198267b061f789f20d51c3c68b, 0x3ff485efd5de4200614cd78700627bb23aaf2a365facdb9049ebc22af5d5dc4, 0x7b65d0e66e1a78a8e3356d8b509456301ae1c0f4a6e8bbcf631a13d37bea59b, 0x603688946d29d4f59e9e0f559408723eb610dd740033938b10ee5a45ddc928f, 0x1291b98df5d59b7654a3abeaea56a68bf30e99ebfe30ba74f71f646d73ebf93, 0x76574bc3b1d25fb16b21682d53d6ca9eca758ed01db467eb1be799e0969e421, 0x481934ab198827310aa873fac1bf3b47119d4c0c5d24f356fd7cf6033c618fe, 0x6b4ebe1e686a871aaa55040d6cc7339d41f17e898bda283dbf58cada9353e3c, 0x6efe19eb77cc042f4d7b7acb4d7b4968b184ee115328454397e772cff4aa888, 0xc7691e176e294e06c679bbcd18108765fbbea53c0572f34c9d3dcd13878ba6, 0x68f285f9b6fff872e80a932baefddbf48d42fce7db64489d2b99c8387eb0022, 0x5d5d6f6a551f7aa08cd9a84534e369282fb632e68e84cd25bee19e84261df49, 0x51f725953cf9877bf8919bca03dd401e565b7b3df0672ade66d47dd58f5dfe, 0x73b362fe76f1b77cbe9e4701e19a97452ec713c48ffe452c510b2b9977edaf6, 0x2c4128fd623b6ed5e71210d7773c8b59033380cd9d843f8f662ee24d405202, 0x694734badc20b0b31e7128265c4549a00aae28508a60f769b7c815785c0f9ab, 0x22dfa8121874be15f8b67ff650ce7fad406def58c6a04b6d766151ac5278a4c, 0x7ed36f459425cddb420e14e1991ca45ccdbedc1b8ec7e6fff16f4ed8349244f, 0x32327fe73f1c3f586d61eaeccffd6f883c9923a903a91d8c00bb90d474947a7, 0x46400e281f2455df91faa047eef937dc1b0c5350d9894bd117cf2a3324a46bc, 0x259f54c292da410234848432a5ab02cdc0ccb3f6fbcd055706a5ddfcab46fae, 0x3ab0cbd36c3aaea6a14ed773c415b740c653a79648b6e795ff506708b57e913, 0x31f26aee50bb73cbaac31e45facfd6308a2f90495b24510c94bd9706e6fc31, 0x5ab816ef22777d39493eb1a8f02153fc7ff1925015de4326aba966a72e031e5, 0x3eca1edab5dacca0466d6948084c8689be463ae95cbffd906ee0b610991e8bd, 0x2f5d79eb14184028c9940e9123d31611b176c42784e2c35fd331b731270171b, 0x58622a205dd674c2a6b22a0a8aaf2145c457d688d2366870eae4ea6adb69524, 0x482be1b589b46536bc4f85f8b9099f6108263b763526b2df4fe4335786ebdaa, 0x5742f7543426877e224429c20a960f13d892970a94b99982710282efc6cd057, 0x7bd18332bcd8606dc37c0b9d226aa328e9d9cff739d7125d4c1cc9198f2cd5b, 0x5b2f9eeeeda9605083f37e2d554d5204e9f261f15104c143a55f75770ebc6ea, 0x1f35b989c56698aedd27783f6688eabf8feb4dfd667b9e63afbbd0a4bff11bf, 0x396e2bc1a6bda29e25ecc0845c5cfe75ecd78167322c6a175110119d18d402f, 0x3b447b43c69ea2a75efdade8a9010e2cee14be2d195e24e791517822d1cf4d4, 0x4744a9ba65c20c5830e5215a4cab7c0e3e714d564160eb3a0e79e72cd094b2d, 0x152ee06b15f7a840dd232f8fba80a7d72bc411727baafcf4c3778a146543420, 0x400070ab1cd679e9af0ee3f57083a608833cdaf8dd6b9e436809e71fa82b01a, 0x7f315205efd9e7cab1b6918598bff62510d67a2f31630e81d59a5b3a33a56f0, 0x3ad622d2fee42da8ada863aea3e20697ab1dc27d8c58b0ad745af9119825f00, 0x48282d01aba96d029d8c131c34e6f249155aa575b96e7c2dd8e4802119fa6a2, 0xc7b20d80c3d9a02d3142953d7faeb756667dbc980f046eff616982ffc117db, 0x767a21b198ae6bb8bcb09b4afb9821a4db79ece95fb09e9b7c9ba569fdf525a, 0xf0160f0c4e87013dcbc3325bd58140894a5bafed2f7e23d0cb7565183bdf15, 0x413f5e508c8d576c0680fbd450f575b5d5c92f9d1998ed9da0783fc4da6ef0e, 0x447f5b28bf180aee45621145b4be4e9fa0fdb223ecaa6544658e6933304bd04, 0x2242afd011295ecd3803edf1ca6d5d67e839de4a1076521181dc2cbd273d831, 0x5e5d8a78bfd3ab64168301473c006b9cfafa46269afc95164f2cbf85984d42f, 0x49cae3decb66eeaafcd04019dd3c1dba2f2e62f4039848c3aa239bbb0a61bc3, 0x140d4d91be692b38b6f4626dfc936baf9ee26552cdca0481c4b138bdaee3367, 0x3dd6d22507a9ecfd175932527b42ff2b4fdb0433fe92bf2f1e8b6e0aa14bc04, 0x2df248083fb4d6fbf862290f88bcafc2541897d79b019782933df1f9d65835b, 0x68483a043ae286e8b3b97059990ace918340a3c49f3edf36b0c32396b0fd7f2, 0x7fcb36f3774f13a0264c4ea0e98cea8dbcfb267a18f50f1c643f2708c2a7a3c, 0x120a2282d79aa03a8a7bfed8d9553b08e0a8efbeec2269ef798a29cc362aa3a, 0x4e936f4d6691f6fc9393bbf972cde917fc0503ec94e53c1e78c98c7bb398173, 0x1f84442eae0741fecd99c0b3f728b0f82419076a83a727db46842d6e05bac7e, 0x754835ad19581adcc2897742e94df0083108446db8ab37e7e6661e8ee2210f8, 0x3dea853bcb3b7843c1ae9c97a696998552f07f89dfeb84075d7a3f30f5b446e, 0x60a8459ae2f2f08c0927e85b188a2b54e5eb9f2876db0670f5fd0fd26898cdd, 0x2d0d8b6365f383090aa2c2be4a25113daf8019a814483620cb46958d07fe362, 0x1baf7b1d2824359c0e7de9a9a84eca31eec6f5321014df7e68a80a226ac49fb, 0x6cbb4e06b169d85bab08632135fec65f14d9f7754c29114035f9ad2e0c95c6f, 0x1db9946fda2455443832fdf3ef7fa781aa9153c0085ed39ba500e86dab8a9d7, 0x17321a0dfebb7af366ed1eeb08668d4bc1f9fa9e9f5ccab84bc14ffd49afa71, 0x508670f9a962a8df0d43a579d1152d97fa710cedbed774520e4dc5c648cc077, 0x6de5ada5162b861d4be2dc35b73faf23b8a114640ea57131662a0a6e36b0589, 0x47eaa3a3c2bbd6439bb5faf0ee5eb143daf5b476b2a20d25a39a94e33b06798, 0x20f8f1584b3826efb9d92c684eea759a7ec70a2453cce16f15e8f5e45ae7253, 0x68c22c0487befe8a81dc2fb1d340d85e279e3849c6b57a2c52e6b0cf5f2064c, 0x36983a6e498dc6a9fbaee1a2b06ad8dd23bd521c3e3a463df913868c051d788, 0x26bf5bf4bddcb359b755363b11850021a0e26ffe40455ecbc7ca856ac2b27b7, 0x6f20e70a1ed2225f5f82a4e029a4a38096e1da4434ba5f411030d999c637067, 0x3ffdb810d07e701af9d04cde95556ce82862b4927198bd387871ecd3c6c0d7d, 0x1c7d13f26cf05895c9fa388d7e50357f4a739438582ead0b1639b9b387909b9, 0x6879a498daad257e11066bdf92466e57c0e8860db67433d22ea2e08e031d2fe, 0x27362dad21cc1d75ded7a1931ce8074127c4f196c903061f41b8f5041d7cf66, 0x650f3e26a485a649e5a4f2d54e5a961b3101887f953f1fb6fc6335dd0c0fae7, 0x63a945222fd8da08296859ad5adb71d6fdeb74b72c9274a069e2dd80ecffcb1, 0x6c94f13645800ce71d3194d641e6552c0059f4d3743fe9178d08833efbd7573, 0x3b9b1d5ebdca7b53e8008e146476b1d79ea7de18863357058e921cb72d3138b, 0xdd2658a7e61407e8e872a26771065315fa7aced945343075b8fce0d360557c, 0x3f60e15a5adc5ed274b0c1dc693464aec377667ddc3f580ed50e09e6b4ae692, 0x5c169ba8fe33697a7324564dd11cb50079cfdf1a7894558f94a86a2bba02573, 0x26cee4c51efdcbc600f6d010ec1fb44c9df6a7447443ed1704f006daeed0a0a, 0x1bdcb77c9fec8f1184e340dcba5abf23da1a462c6f8ea46c338aea2e214802d, 0x69ad59c4a846a670c4414e9d8b2d775fc30eeada5a5202b03b303c6cc044240, 0xbfbfd92bf07fb49c8f6d8f3d32423e252cef6cbfc3d8f5e8389e69f7f1d501, 0x4e0a4b42d15fa97d71c444c173910879f7053bdf8f621e8097c3bb29533de17, 0x3e88871bd27b9690a6180dcf8aadf7a2e2f2312873366836e32166c0683ea12, 0x4e425eafce8b95f7990c33c856099416fb0adaa40e0f46ecd4afa0126c640e0, 0x309c0ca65626387c9289ce9b75f7b3255bb4fee19669ac946a3ef281550174, 0x3713c51c17182ae0cb3769bd09a849c85c0c862150fe537a3d2b6e9d656f90c, 0x3a1a91584f61f2dc68d33b960b21247d6165a086ab451c9529e9bd3a96d758c, 0x5afba54f924971098ef29c938979cda11ec0bebdb361f87d3329028a10ac7d, 0x1067271c9f42d00acb12dc947f265806c953ba4b5f89a2e322d1c50fd9484c, 0x157470d316ef066fa85f76740204256397cd90d64493cdfec970afa46f62d23, 0x2f4052cee1653fffa866a58ddb299c1eaeb15f45e3be177da9ed95d7f0d5eea, 0x50f2ebcb1aeae91c7f0c7c453cf79ac804ca46235cfa417d0bb6ed86d586964, 0x392704361c8aff6eef41c148c15bec467f3db60963074cc8f94cdb58d82c9f7, 0x470f313b45d61d8195f187a1cf80182071ac91876c50de51e64db91e0f16754, 0x75ed0e177e3f95a86c8131d17f4dda7ae7bed12ea8c12d767bbf32da54dabfa, 0x6dc88a2f73640c7bde156751230bdb209c0a1ee21da664ede044a79f57ad984, 0x10f31b95fa47f507ffc6da893b4b88ce5b16ff679186fd6e71770cddbcf414f, 0x4a7fecbdc9980a5f84e245aabaca6bf39523b1e2b253ee4eca214c7621f964d, 0xb132be2e17bc05b25dd1ed5c256d6933efa0074953b820446fdb48c90d8f18, 0xb7bdbbb7c52d50814818fec3269b73cbd01638db07ad4a250721c533653b15, 0x71c8fdbea64afcfea4530f16d71283ab35b7f3b18bcfa33173e050ef56be7a5, 0x4107450187c0f764c082929c806dad7e8f50795d51cf8ac2b1e36c8c377b, 0x724a9879726e420d6405c5885d92e192165e4d8697f7bab1f46b2d404f9d4c8, 0x428147582a817137c97be2bbb578b6b3dba79c01419107121641180f13d46c2, 0x2973f737a9d56c2a3ba571c4fb90b1cadaa2d5efb4903e3f62c79f68147055, 0x505bb45a037c6d4470149b79c1e3177bd1d862908b4c3f35c737042d88c0aed, 0x390959ded4d0300a92c691ced47366258bfb5983264dcbefe25be42f7f37bb1, 0x16f374c8bf39a4e1146cf36eb030a13f8cc1d9604fbc08c6f71ec5dd1384243, 0x18e771a2a417485d732e4f05b1bb4f907a2c338b8dc59e18ac252dd66c0a90, 0x7b7efbbca68cf4db91ef48354dbc6f1c7f0b5ea78aa26be155bc3e500590b2b, 0x241a18631cf5d655a8c8013a5f6d5026fdb4f25296e68e07799a8fdd1c1bba6, 0x2d4bcf495e36346a1c4ed666cc62bf75e0155bf715ed6bd355a372504f54368, 0x1b2e4ba3c1e22c0b6cfd112bcff33e8aa9adf7688495b167e7eb756bf932fda, 0x13a1272fb90062eaa84cb3a95450847c96bc5dad5dc9e622ae4fd912a2b60ad, 0x3bdda4dce9e2449ce4c60fd13819cb51623ef034c65e868f4212c8a5b65bf6f, 0x75d939cfcac2c4e56387ff2b1f0811d0c8602af6cb71400bb6826ed7c66a616, 0x7a6ae1ad15e923315137fe6d8ed837938d61c3e26c2680db34289710a2c19ef, 0x2acda10818c8cc253a4b331337894e7c21d8709e48fa36184e1836a308d4f54, 0x3d4af5cd6ec56986765ade7823e433d6a2bfbffddc4c6aba228cdb6a4c54b33, 0x5ffeb0d8ff2adedf9960d714d3c2993fcb368d157164afa5ee1443f52bbc4df, 0xa4fc9f2f33db04b1f97aff0d01ea1b70dacc839a481a08202b0c62cf733762, 0x138846f72b4b586d5f11d1f667b3e0c8fa0ee80975bf534f654790ebdb95bfb, 0x535a4894b90eb6226a096563d770a2168b6a3e482e1934500488611edcde6af, 0x481f6be46397648d62f23af4d3bf336103d6a9ae614597f98d664df665648cf, 0x20445f134c210170bbb7ca7772d41fdd07c962f3b28e36701d9c838b819c767, 0x1ade6b44999368d9099b11c685975a38f13486b87ba08ec0b11e85d42290afe, 0x29cc8078e35c5a4794bb9566dd1cb2abf4ae7e735acc25e54af40416f6f6f98, 0x70d955b9a28abdb1fb77dd95b68d91d539de938b2d8c43b8f0302a120515c16, 0xe222e8fd5361d183321b8af98647195f14e842df3f74c7314c615342dc26e9, 0x7be464d69ec603ff0b6c72a5a9836fdf2184d4e775340896169f0244ce542a2, 0x77ab15fc41e30ef7a2480509f545f102f6d163e29966b8239b46bb6d2b46bcf, 0x2ffb23622eb7053252953e94cfd8cf51ea8b5b935c753c112e2f378badd0509, 0x126be728fff0b7d2ef2ff70c2c6e73da657f9cd37b2d4b88c253c1aa85b7ae7, 0x31de1beec59b2384e419ff18e617c3239ad9cc74ec5bc0ce680964c5fd1c224, 0x5a06db9cf91110741d698f4d0f0a2c34817c1264be63fef01525877939ad6c6, 0x68f11f7a76e45e99cdfd3fad6dc5332f75899150d0879951f9ce9a9455e5b08, 0x20f660f3cb789e76a38caa8c9cb9c4cf7b0a909c3998c152d5f1388410ca297, 0x495dcc9e384b53c84a306e46e6ae8b97d94b100fe0196801bda5a3ec015362e, 0x415a725cb0d1d35460aea7cbdc9204c6951ebb8998db963127a94acf2d91b9b, 0x14592ae1ac43286e09f6dcb80716083c51d09f2a127fe64dbdc4258b41075df, 0x3f5b23745bd70f99a4b09f5ded83a30599b6c5016a22a7372946f92acc26e2a, 0x401156eb4e82d782c1f7b751993649064c1453f2a5004e414234dfe8d72fe66, 0x6f3336f42f72177d01eb593c217e11414d7550722d93073844840a263f9149a, 0x54b3c223f9dd2702f9ee1465cea873d125ee8d472d7927f2acea1dc5c8b1aeb, 0x79b7594c901513f4427be77de50dc2f9076b9c4f32f22c414495a1d88492d81, 0x4f2469455f585cbe669791396ac3452943cf696b702409e060e4e57f5386afe, 0x14846acf6507580478695195c2b9f849623e0ea3e5e3b079fd84a949220dd1f, 0x2b74016280b186b4d477eec72d007b66fbebe69973fbbafa3da1d2f11bfa58, 0x490086a7e34b66c4e325faf2afb1a0b4b21db8a151c477b0d6a52671c5bf6b, 0x65df4eaaafb13bd401ec7c72eb62c05ef5cc3669cfcac0b3a8e6f7644a51a11, 0x622e4b58039600a559bf12f018b28f0d919cba43ef2e17dd60728c59dc93208, 0x75539df43863258fd161dcf67404fbd28dabf2a5ff481d5f4cd7fa79ac2a8d5, 0x51d377cdfa6c387fed5bc44350f8103586a41d4b3ba742650dc20d34c04a79d, 0x2a60ecd216d449be907839800ac9ea1371c153cc1df3d4bd7886b04082af8eb, 0x7578307a63bba0b54bfcd3656ca8e969f7c752364019faec7af5a12d4aa54ad, 0x9f9772834db66be257500cc803c31747b3619e1348fba2c5414176b8a8d7c, 0x15f86b09c96bafdf6ee0348cacd2d18da8875d31ff95d1e6e50cbda0aaf324f, 0x325afc698face3a2707b930b68e7d2522db97f2b2d4d992848d80028a2c7f96, 0x514f24470f93fcd0750a11775c4d80bddc944623203608bbfd1ef3d67e9551b, 0x7adcc6f4f4ade3075e339660f02d91c4b2fff905f36aa57a433e13bef3cb224, 0x46cd083f56495ac7568105d489380ff0596219cf973b7be14eab4420e8641c3, 0x291f4184cd413395a9f2ec0ff9583b3e981652654456cdc03d59f42738371fe, 0x1677ecfc19379cc1d8357314c37a2f6af502b81e9c87f5186392e87700d93c4, 0x3d465f368a6de99bf6710d9580d83439fef8c0f2d551ad17f89678762a94c53, 0x5b3e23d5be2d703ebe1399c9aec92eccd3f6e6aa741823de4f84b53c78fb9b0, 0x58e3181061a2ab8f9ba6726d78592ec800c3ef173d3864724af40373859e8ff, 0x554676467317f1efeb23ffae3380e5492f80ff925f60875953b07235424ba69, 0x51b3a1b668e61fecc2dbf2919a355ace19bb99fa5d042f616c76e221b7fe8c7, 0x3e5e0bd03536e388b4638e33c23e38a8790aec223aa42f5d39b215f2e74cfaf, 0x7d5a319e1e1d79b0cb755e3f102f8390cf0c4f64fbfe90a685c62bf4a7b8675, 0x185d3426c06fdb9dc0117e9455d778ef9d528ef54d05afdc401197ae2544829, 0x606b953a0b0836117a48ea8e8db4da15b38d17515ff0fb500011c26e8bc75df, 0x5254893713cb2c484d1287c812502995ed2ee8b762a1000e0de746f29b0fa16, 0x67a8cbe2cb539e385a5bcdbdba4ef44aa3332049147c9a87387dec51c33b7bc, 0x70c55d5aaff116903fc18a3e4c9979f715d00a35214901335fad6f6bde8b2ae, 0x12165f8576f436ac9ededc66cebb0982e4a0ec8703c934bdd2ace2a0c4aca76, 0x70659c620a7e5e2f78a0805440f5cdca2613b84b7dc2dc583990b7db5931be, 0x55a483681e5c4d144dcbf2c28b63232c0388875c265df098259cc1ca1f9018e, 0x65dc01633e92d66571f05f071864c6e77cfe2d8622cf37f5e8e3942c4b51149, 0x6e06fd6a9bfb8b73abec8af9ab979c13f03f1bb163f47333717b7586db6b55a, 0x5a15967bade5caef673b1380e3aed251259c1a3ac1e325d12545d55aaa96893, 0xb6b1d745b41c726314a445865fcbbd0f4785c5389c6ea5f068d8d40789677e, 0x45735387f01c22309cd760b5484245467528a589da1337c7d1beddb172d7a34, 0x17e1fbd30a2e5f09086d3049fece441b92d080f25c84c9660107837880abb28, 0x235ebf8e8dee4239bbc890517e8343d2bedd1f2e96b52e16c0ede825879239, 0x423ce18c318dc93fe20dac3b5e47b7ee167a0614ac4ea3a2ec2a1a22745a4b9, 0x3b427630f20d315e9a3e6d99719c5e8013f5cd64dfa1032db10cbec91b2b8f1, 0x19fb85b60acda026cd94bb51f7af5640dfc1cc3581869627b28a07a207ac4fd, 0x1cdc1ba831c0540ff75b1df070da879f68551c01acb051441a3c57e46e16dd8, 0x787b24a3c27311e86f72dbd4d92b133f30a74607487d898a337fa8a7728de92, 0x485bd62a0cc36ff60af5bf65f929593c5df048ade479ee55a05756dfe34ce38, 0x4466a24ba19e8bc132db0bca0bb22563fa4efae4ded51c60647ff595aa3bf26, 0x61defdf0c2aedf109621b68f0862188177be0cd4ae5c23d8e4cab4475fb58a, 0x3bce2ed8beed936d847791b9358ad8536dd6947c30d14855ed1ab0a2a0657bb, 0x284663a5b7f382fa3502d9371b6586760d40875c01004d0bacbd2a35cde8b6f, 0x7e3d48e95e68593116ef665b14479206f77c9f2b2b9fa629b425496fdbb0068, 0x8ae18c1192fc2592adbad7dc75f3901965435d8c30b57d1462561790ac49c9, 0x228a5ad4cc5bffbb69bf1bf745c05816966cb8b2eccdb20817e54a1e325d904, 0x7c9b075605f902d5000b28f08757fe8fd7d42dca2e56af4d9c8025a05bd3267, 0x14c8be82fe1cdad14033991f444751fbdc678212ab2010abe933c9a4296de4e, 0x7c76c4adbfea2f8f34d4204cb88b58adf2ce5ee1f55ba75cc4f53c1c7741366, 0x23e86a3adf75cf6f2c20fa24f429723d008cd0b0da22480c2e81f1121129404, 0x756d274ac2fba5790fd8b097438ee70a3ad1f4d48b8e5a13de9a18a8e9edd88, 0x710f25b9896d5bba10a1fe6c1c0e47f8dddb00c569da6b8c26ef9ff2fc90256, 0x4465a9531b2f43f8a0e93d73e5fff1f58f856ed90b0cab9e59b0887ac3f98ea, 0x3ff55f76f3ceeb661bd96e49426e33f11837222f50412cccb13be3feb1ede0e, 0x6a1874f15d098ece4c5b5b1ac1570c55425c2f9d467d7625861e4bfb71b4158, 0x74a8e0522adda3d608905a68443d02b0f0a2d8330465902292130ec63f8d152, 0x4277ffcee62e22f0d80b0e90a71f35f12d68b930df5f360af91f361f12718b7, 0x732fc3e6b6a63e1eb162a459f8fce9fd086905b44b905f99b1345e173c88f6e, 0x3c2d5db13e6eae8ecb2c9afb333a3b47f633592dfe3cd6bd3552f18a5ea7da, 0x23b42311eacdea110749d0c47e8e8c8d1a07f24ec54591ea8d11acc95741222, 0x5451357a8d8b8e1cf597b8779f91bc1f04b98238b45f4c6b8748beea6fac077, 0x612fe4866f96be460cedb44a7303a35a8db6e5bba7483763875ef3aa9bf2fb3, 0x370bfb92ae5259c78faf2b84b992baa5b7704f2ac47187407b91d864183054e, 0x7ba58ae6e74293b49a72097a4b8ec9d192dbeafcf86038824201403ed60dd74, 0x1912c295a463cbcc6ecb4f508dc3c3a178a77d3b6fa2fdac08621997ee6960, 0x6f92b1eb9a082871764bc4bdd123cc3179ee06c65e4e01edb8de71521559f15, 0x6eb8cedc7ae3e296158639026224908b0e1c701c81e751f4cc178c503bc7a23, 0x2390e7821673181e29c9ec2f6cc3460c5d9698a5f787d13ee522b7858a874f3, 0x408defd137ca9b430662a84bb16ed9cbb345fa9de774b3bbc70762dd8c70ca9, 0x1e1bd8b576eb4586267ffdd1fb2d2fcfe024b25bcaeb8d755ebc9f53431b18, 0x4dec65e3d6cb81c671d134bea9a7df202eee4b0c32618e003c7e43391da0751, 0x4401fabdf08241eb08fc18c737a0ed8a393f1aab9911a6260198b88d8668bb1, 0x6dd6d2829886d7aeeeab1eeb6e6b96ee3c9263757135a76e79e593baaf8e483, 0x3635d3fb833084a6c1d09381a916bdfc783502177997d3506b0fec6024d89b2, 0x7e293fe37b451d1c5a20a4111685dd8a89b8325a559c25e228f38acdcc2b4a, 0x23ac96ea6811234c74dc1d9415268b414c970a0137af72e10cd74bed568ed9, 0x2d8500bb11312dcd1ee145bbe8687b3438632a076bd31e3f00cf5f1a3abec25, 0x1f5e673177bb3a1de6442dc16ae241fe08b43d4cfcf300cfe87038fd214513a, 0x5580868a3775573061d34d45ef8877e88758a0a91238385ebcf969d090aa736, 0x4a343f5275db72c9948326aa8ae0638a784cb93df69ac36d63673209c6f223e, 0x2a48c52e6933279e81050ba3bc165b803a5e64cd80bcd9fd2e15ad72c540076, 0x2b3339ac3aa7cbda10e3a3bb433330224ed263b15434f1cce2926a38c668937, 0x558013db872bb2cd1d9d00b4606d7c72567d7973272a3576410f10abef72ff4, 0x5a78b25256b1def90bdedaebb27c1b58398a393cdb871c46d33bdcc48e128de, 0x288d33460018443e3cea35687496bf6a8b8ca47344e6c1dfc9a5a0c5352bd74, 0x4f00741d64cec95488ea894cecc6414bb1fe2a6eeac37a7206262ae4b5fcf87, 0x1ace83c44cec1c3a5ca19d3029afee7123e0ff19d869d68c5d91f04ee927ade, 0x629844f27800d5cea67f18e5b3317e1cd66cbd9c17e4fb28117fe3adf2aa3e3, 0x357f3d0f78958588f63354b1193007814a73f5768b7808d72fc0854515d9841, 0x791aaeacd4ba84539978f8ac15d982ff15e7344fd0da496f0084f392f20dcc4, 0x1e9b1ff49c3fc11d0077b0647b61c19e5f4e225edc83f3fcd796efdc43e0edd, 0x18d7daace059e681eef4cf32da3689dabc2f64009c392d81bb60c9a5a4a37c, 0x79f331dc3c00e1d49e33ba0bb42eb768d3f37ec77f03c5e469e9c2da861f971, 0x2d12f37b369fa655ce6bd9f487d5896e81cd75461b2951a5c9e2ab912eb38d2, 0x4f6c119c3b2ccb52548784f0b5272116b9bd7c66b619391109a4f4fafd32ff0, 0x1dd2d4f6694d7e3e9bdd8f657344e3e0555c11a74c36b3ff609cbb8075d983f, 0x1724c7c595d63450b179c9852669adc2dcf8d1c4337df64575855e24cd50093, 0x449a402b73014ed69ae09c084c827821a88ed3aa7251744f0f111f735fad5f6, 0x77f000729476f6ecc862976a687ab8874279145a29805d4b6d3bc3f869f9742, 0x5e6dc13c4b9d8ae55edb40cc7b2117cb791eda1871724f4d1954d7cf57c2ad6, 0x11c2fc543f2848b09888b689a4c0c64860a9ae0dbae74e0d9a966e17427342e, 0x1b2fb57cb81b652ab123a2ee60a33e4ad73c997214d0989b8b70cafd76f00c0, 0x62f03ecafd8ac1fdcc5e85f773ec56aef207eb3ded186412532c5b331f36444, 0x1bc0d49bacccd110996f1c26b453b98a698c116d29691ba388f86809731cfdd, 0x3d985261e46d329e894f34804729a1ec5e06e231ed9aa46167c961e6dc7e08f, 0x355880c17950743a769d383f5e83d1847605dc7f99a8a68786f971b63bf493e, 0xfd602dd1c0c73d48a1997285d1fe1bfadbcf0815620a5634ea1fa33ad5d31c, 0x599eb7837e627e555fba67c8c7e0912baa8d02718d9349e51856007fc3d353e, 0x2c16fe28b18cb40cd15316af86e778cee482d763161a4c547e6bde923d3ee6a, 0x27e15c5ffcb5a864e9006e723031328992d7be05ca0e7370a038f846b165f1b, 0x68b26c77a221f59296284dcdc35dd7c66bff4d9bdb6f529eef1450de0689423, 0x55903db1aae29c995d9bbe861061dde7cef79ce56fbaeb0bf961c2ce3f9383a, 0x32ba39d3c461e09dbbf6ed9c577737828b4ef3080d7a716d2c27628e427d112, 0x1bcf6b29b0ca04bd523ea5d433828833df3f7b41c8409a53998df31abe36691, 0x3905f1d3fe46e97534dddde1b35a98b26e52d49561917aedc51c1835cdc3f85, 0x12a10c77dabd7bc0d6909295270c08ee6c77e37b114a6591c8121e9008926de, 0x2275a935c75a3a4054f3280a43f528ea22a9fd9561628188787ced0fe792ddd, 0x707c4907ac55ede7f01788f70f4a546b80ede6980b72200a141023833708472, 0x5c7f9e4e9a3a1c21347b6453b3a32f3f778c1ac0343a19986898e211f7ab8c6, 0x1a7736be1db9fd906a4689d0f6de9a84417353ef5a67c6906de7dd94af1ea14, 0x70fdc7872492862650b7125ed8fde1126e0a7e95848dce5d2d0989db57c612b, 0x68dc8b2cdbc188d2709b5ab388442e74e4cbcf8af3a6ba5b7c4aae030ded89a, 0x767a44f23c646f2456763e5ac8da080a86744d269a4a1b71dfbfb9860ca1761, 0x3b29ae72eae86247407acdace12f78407a088933787dc9be89b8bcedc6fc4b5, 0x417d4ba870e3f582f8f2b57915707a835cf2b6a36d6ea9adc9ff048a1de90b1, 0x602ec80832f85f5661b7da22e5b36e84d04e095d0f0aafa624aa3134473672d, 0x5add28768f1b905ce0e8dc7557079f7cdc545dfe6bd902ddbf24b8938cb9e5e, 0x563ce62204e649dcd5173f209633fc03ae80e50424088225daed972645c730c, 0x1525359e2cabad5d0b84633baa7a492fd6d6fe632e6866e7adf4eb79e3d538, 0x6268522b257e5e9dd6778c2e036b6f791accd304ab423253634692646457b81, 0x2a6a41dfe6b6e5e0bf349f42ecdaf74ecd875d90bebc9cf57161725c274d454, 0xd38896482b6905f9605b2b749212e098266fbabb2f893526861c168362cf73, 0x7635289ec96cba0f1c312b33eb601b42506cb3e3653a53ac7bdb00606625e4c, 0x3cbc8198d98a8874cf8a653914fb07ee65331d5b764fd2b8f5f23b633955e97, 0x48dacd3341bd03339c9a42d0fedf08bcdf5dbcb66c35a8b5365f38734f52e75, 0x2c4cd7afa3618453956e71f9a69815736f23c7b50b550644f2e3292fce0d331, 0x29d6ec3251f53e09c3f8e6aa9861ca3bade6180b40d2023c64dc2d4bb77199e, 0x6cd3dd93e35455d514bab2c53bd707b2880a30f0dccd5873aae79ba8c23fc64, 0x71e9dda0b6dfe9317c777ceaef5d95b5e151d0bbb606079fecb22e80d54ea33, 0x246142c6eea0df97e01ed9002fc2a93fcd204b4ae6fab3dc358bf3995d3b2b8, 0x27611c0c0dcc71740c5f00821f0546a6ee87f253d65deb88affda3c86c9da3, 0x558e97ca0c790cf4f89b4e54b38875d541a482aa1681b2b438eae47d21e0b7f, 0x6c6c15f8f440b3b57b11304f497387d74d6ce8bd620f12db8fa559567248e40, 0x55dbf8433c459f36999c9f181943bb67057c692b5dedac163f3eb625f45e11a, 0x40676a97599adba557133325bcee62f256a1c8b121aad2adf5d090a65ad579a, 0x3e846c56db52545241011e4ad855faca2d5d4fac71a3600814005094867e9a3, 0x5d875940172c637a04e636dead5398d7148f913be226c379abe8a2f64e3b8ec, 0x292b7c7cbfe2e86f8e11ab20810b7ed55cd32ac492b68e9c1b3f46b1ba5b00b, 0x53beb7c027c8a4faadb4a3bb65b1716607088f77e694aa27c6dfbc232405214, 0x54e367c308bb6eb5f6582badd6da91e982c7c8acc7cffc0613ab759603b1975, 0x1f83851598b45e1084265ed47c98e0f9541777b3a8ee910ecf3f655debfd8f7, 0x47775f59e50c9910ef8bdd253292fbfcceb92a3815a099f56509e5125d400a9, 0x1d819b814d7edb47785e03201768eb09b5c9550a576bbd1c94947f9b327ddd9, 0x530cb9153f90479583d5ca74bfe90711dcb1ac5b417fbff58f13f9ab13d185a, 0x57760ef847dedcbf7b1cc7d686a51197144b05b125b5ee7a08f0cad52416bb1, 0x25505080489772f2bad4c90ed0e9fa8bbe601861d6c69011a12287fad5f18d8, 0x7bef46aa97f4420fa7304dbd635649d3049b3c684d49c97eefb2d5e841a1172, 0x4690c4e681f2f7fc28b862081cf8f3478af6f323794d56e7c8a1099a3aca6c3, 0x48adfdfae587ba1b7b3755e77aa984096e870548fc8bc4442eb68388c72e2bc, 0x4639890ab2309e15c2491ae1bb759fc5de98b3c07d0942b4cc23bf0e7a2dbc4, 0x3a2243145b8cdc592977a9549615fcf5c01cb749016dee2e60ddea3baa0f6de, 0x7bf7efd198033903c7818002a17ce13694e5bead354b9433001031c7ce56f4d, 0x560b63d890b3426b01b097f568b2153ef5b4806f8d284083e06930e5e415b4b, 0x6a01fdcb66fecaba91cb581d2bc24bd871055b3a73e414ce3e08f623e6779e6, 0x2ad5cbfd8edaefd12fac43530582cb1626c22f2ba7aeec2d737853fd51feff4, 0x3943e2e6a5d8b6bb2ca912b2a62ae40bc9e3d7789b6c28013c947fe44e48dee, 0x6eb7a273f6a95a2c85ffad16d28ef0b72714fefa6fd3de5767c4ef3eec38feb, 0x16239ea4731510a79fd12efdeb978da34d2db617fbe77344f915f6dc528c59b, 0xa5f277883b61da7ad0f510c9c04e48d2eb9363e4de0a0a72e49deefee08fc0, 0x6d8086c46afb441e492840d64bdd9142c2317b144a93a38fd495cc091695e59, 0x7b56412375696d96e4945a2851aecd1aa315c2d01670f6dcb5f278c91f5c8f7, 0x5112dc610a5d322934e438a94573d5812de78976868a3e2459ed6d3b2f183ca, 0xfb46c968f2f0cdb94f3008d4612b73eeba6bb785b6ec5ca22f615aed886003, 0x5b7f3854651b488fbfbab33c9263de339528e07a223a975dcc79319955d55c6, 0x253cc9193db3536ef004c54e244da6e1aaf0ab67ec9721641316b6fe59c6f5d, 0x705b9ec9313b1f626bee0ba671dd8ed1fd73552f526384401d2f65dac7eca20, 0x621776e926dc5f153b2638ee253bc056f9658f90c578e7eedfdd44d492fc234, 0x7939d6175cc015a9f24ae79d74f108e4957cedfd0b71627ca2c969e60128b8a, 0x678646fba26d1f3cbacf1e6c0ba1190120f4960b5ae959337d2700cdc4a7aad, 0x3a1c49e04e187349848ed764de173093deebceaf138bdf89d2d1f15db61b310, 0x6c94621eb111b2a14b4e96b3fe6aaf78f9a0b13357a4d168721dd27f177ec39, 0x4e7f6574cb25bd209944c2d79737ac5fc50426ac5ca5253056772e25c71fcc3, 0x688265b470acd697cdbd8c2e89ce3116d4d89c4d6d4555c4b0c83598628b6ee, 0x1746187ad60ba115e58f1fee41823d687038844202c95ac4e2bc89ab73e1ff6, 0x344bb79895ce09729bfacc9948902a09b148e8e33270d064d19b934497c8652, 0x13ef8329d975181a0ce3291708ffcd49bbb16e04de2748f505422bdaa9c5ab9, 0x28efc555b48fecd4d9c4af8f79f74510349d0a612ebcdcdc9034df304b95c11, 0x324a5b92b2e6a3829a099197651957916cb32eea629fb4206e3a1e2d6d4faf2, 0x3d5a702fcb7cf2af54bbafbc2ef0b85dba763fd1dbb3ae30b4942041fdc8013, 0xd63fde4dbe8dfc68011025fd40669c796bca22c91d32a3f4ef036427c448c2, 0x1f4c080a1f01ad8a4d831e3c0a2e89ef0e8885a40eaa525137efc496a9e8e38, 0x5ee8caee347eb6d8cb07712ea7ce534fbdcf4301b39859b66a3078d75476681, 0x7b55fdcd3f3352c1552a2e6fa750076313a87b9171eaeb8ed21177241c329a1, 0x7e6d3a1fc64552dfc8c62502005a63c3fa69b4a7a180326f140c9d29a3b7ce7, 0x3e14bc69ed2c47d6c6a17c95679d2eba953f3d496148b06e6b22c0291459cb4, 0x6f47640dba1e2a4188b0e18925d8af34ded50fe56bca27f20df807bd20688cc, 0x11a9da2a75bcc1afb704303f6ebf263a588fb372e85212e854e813c18b57674, 0x2074c5e76f81e2e4dd52d81c6cf5fc34e86a0c331ac2e2e8ee3bc060bc947ba, 0x5ffa33bad59f4e3e4b1226abfb52e536872c29277bbb56eaed8d6b95b4f0cbb, 0x4bb097a9730fd47d86b84dbe3a28f96fbd61de5a17927a0c9e5d0eb43fb17ff, 0x670d4e43a7ed042f21c4f9e705058f9ac7260081272853f10f17255c83d4f4d, 0x73c27a6aab32cc92516b73f8a9762c661645aec5e4c75dbd97d13a079c09ae2, 0x75c390d3530deaa883141798ec778c4035683998936541e5f2619d5690794bd, 0x6ec047654e7fb23309d7786aee8171299efd5a818f9da27fe442932bc31108, 0x3b85d306fdcea3e93d95af08f52a4fde89a03d713145f3c2794dc49f00bbb3a, 0x738f860dbd651d3ba6c61365c8fa13a623f9452adac5b81b78c10d5ad02cf1d, 0x5c737d7e34b6133bccafa332df7d636afd88f13d552272c06481d83a613444d, 0x2598970809082d7ab774c1d8e43724ad4595d7398ab5fc9cd2c4e774c77609d, 0xd7bac0ddf6ec33da8d02b7d4a95c491093396f7f737aa8c4b869c8e5c0b9f, 0x33dfe2ee270f91331dbcb8829bacb90af15b9cae6cef0e9c0e8768ba6e3ab53, 0x7e3e24f45f1e308c6deddcb9cfd84b69ff9089407cd58ae75a19419f2270d1, 0x23de6539e99ec5538bbccbaaead78566d800af6eecf0cbba95698f1abc79657, 0x3cf93efa5c412153a85dc26021e7aba56458b46ce70533bed103c22a4912957, 0x3b4a8c326de72502f3912cb1a127b0f5444179c9df9d42ff2ccc9daade5c05c, 0x6d2261ac202c26b47da52197625f148fd1d4d6c12bbbea6e0820bbb482151c6, 0x586e9502fc442472f0aa1836c2a4c021dfaa2f3d20dd15a41635c781d736979, 0x1feda038787da476a266d13018acc36947b4a816aee72deb4236fa0c9e9e981, 0x1063e2d9e0628848d7fdfd38768146d5b7de2688b2aac17c13687e6295f1ab5, 0x3586c453af5205141eebb022a8ac50b558c97f290d8fbe9ba4e21011b572fd9, 0x3793f1d8223a08a7c291a66a35136d5ca6fd07259a688ec0ceba6c1f596433b, 0xb1d9b65e16adeaf5035387fc4ea949a5657a3773dc3c2d3d7d42783eea9be3, 0x35c5720265f9743e7273860b8abe3bdf512e7db250585df0f880530e4dbffbb, 0x648a023658726fe2de27842a9cdbeff62a0689b49130a56d580cde711e6c8e1, 0xcbccaf9eeed1533a67951d8899d49915b7c90a4ee214a19058974f5b4736c8, 0x2a181783e26a2f55a54336a90af4675bc771817a6d8d14f405daa8cb7683ed, 0x8fec2dc10af806bac8dae0fbcbae521695a7fb14c4e515ccc896775853e161, 0x10b8bb64a7aeb887ba2ea8aab7a57d9cc5fc9f5d4f969a1b33ce3206df54eab, 0x12651920bae5cd8270fa139f88fcb252f5249dcdbe1d8d5d1e926b3c006226f, 0x6bd6099046d947c9a6af2a84ea318eeef9034593e611844e1c72713f6146503, 0x2c0b218754aee9bba9f0f54820f0fc9f8eb4bc0273dcebb3fa7b576407122b5, 0x706d1c06c2d868f14cb143c868e0f33ca9d3b7de00d0100c42870c959ed3a43, 0x72a073ac2e3f6fd9331f8cef7979ec693d273a4302bbf4230346ec26a568524, 0x3af6eb8afcbab06b7b0973fb2da05f234a8f71c678c4f1fc8cd98f25556b02e, 0x39c1dbcb76838b53de8b876bd4756faa04180397b05eb161f22224da4a05b20, 0x614a8c3d481b7ff6b6897562009120a329a23ec7d8405c2c7a8c6c49db034ed, 0x38fbab87f494d98bcec7a3d8345fdb9254cc30c1f4bfdf58d67698105a35d80, 0x7eb9ad7d1b70766a6c9192e89bed5d6a638d88133c49bad5b7fcb3d132b1b45, 0x7938efc5c83d2f212e309c4e9e0ee97517e64527c96c8e7dba95833a25542dd, 0x4c5c368c14eb3701f6264bc7352f6b6c077b76eedbc8d9296c0c708338fc5f2, 0x564c9232ca2be9aad37388bb357d72280336db89e0a364175bba11b16f58185, 0x650574758b667444a60a8b19266ca81b4cfe0022f3bc40883f220aae807ac79, 0x104cacff83f6e7ae5017a6f75ce99c22a4fedd57a2a70956d35c20ea4fd343e, 0x16b44c8bc287f67405c54b51e79c93369be43a1c6115f768e7db4572ecabc67, 0x89088ad8259b1eab3b473bb396808979ccf46fbd09ca2f9397f57df7fbddf1, 0x5828d75e78a2171f3302d1c6a887d157d38788080fb4b07f144ba880210b3ac, 0x145a17ad810ce1ad3a97196619eaa49516288e31abce0cb7d89a078a9f00092, 0x1a87d0cf8187ad3cf26c089c69eba697771abe93b0003d01103b84609c11544, 0x5ed3a5bbac6f34f4997d135edb909a889975551246a2fb380eacb78a8aed5f6, 0x59cd1c1d8fa1c04c77dc1f9f3e1ccbedce54ef05d193f859168b1b88cae4621, 0x33bb09010e42192934a28081ee84c72ba8ea7f104f77f1f944ad4888798a7f1, 0xe85faa7ab673ab54b0146ff5fbadce567dba864616a3322c41dd5790579b5b, 0x1ffa85972140f9c950119ad9acd1e687e480d1a6f29b033a1c0da15588d844d, 0x78139ab216c6483c8d6086eabf475ee811ddbf95d2b6707556afc5411a095bc, 0x4cf240de67626982be9a0f156f32c992c160b1d7bd70c064da83aae8b5304ea, 0x1cd3113d91508d1dd9c9b626ee2437ded91908e991a5f9cd82365ec42df9b2, 0x5f542c2012c33d323e12b153b8c86fe11b74348f8b8a0def312b7ac3f3bba13, 0x7eab888dd501dabdd0ec8ad842cfc47cad8cbcd3eff79c3d47743416b1fcd6c, 0x442c43c1a8ee57e5bf4283e977bf614af12aefd49bab3e0c4ece71c439ed78, 0x4aabdaa80d3c577fe0c8e5e2e3943440e0054d08b7d045044315abe7f14abc5, 0x660223f8fb0500d5ee3e32308f230c2cdfc2efb8b84df860f0ebc9c1c8cbc58, 0x455cd41f1cbda323f46030cd1037a3d6df7be09ad7a2a1efd165ef5232e7082, 0x1375deb04156b449154812b3e7e82262e4df3402b4d9e58d175cc79f40b83e2, 0x3e6e04fd85b7e14322a37b5255b884cb596b22ac1c0c09b678262767f239009, 0x53b728fd84518a2107ae356f01398a2bcecbb9fc563db16357f7698159540ad, 0x589830147db793e459c8fac8384fccf141ef43c1e73bc58d3aebe99f7a583ac, 0x6c5d1293554249d5f6430010bb84b1d1953c06fdfed7d365972e752b6096f3c, 0x10bff3799eb36e715a02ccd309e27a1849eb8d7c7c4fde0579c0bb96d6c1d1e, 0x448e3242a1f685fa2f820f9195796ba97bcc659c7c23562d8bd38e2f9c55703, 0x1ddac0b15ea6ac155623824a16fc43579aba2b3951027c92cfc009134058d51, 0x4cd75d61d7f358a5ffde5fac0b9af064ec642cff70edf81f138a4d6a3fcd153, 0x542538624c64616fe129361393ff76d415929a93f382f02f7f3d62748d03557, 0x39d86f4c3d0b1d44228f3d5706e82cce70b8ddf6787de5eb794e626fb4483d6, 0x2ad25f43185140e9628a29cb123777594a61823a89d4be4eedf9d22b5fde3c9, 0x76249ff743a78c5696b88259e9927042a1e35cc40d616bde8981b15ce4687cc, 0x22f9fba11d3be98215543f3a98c4c449f31f30919882ed429620b07b8e2fe2, 0x53857af7413314464d9051f35d3f3e8eb1ba326e5d4ccfa7cd1bc1138eb4a7e, 0x187c8521eab38eae77d778661b94d7a98363187b22cb9a2383553ca65d215ee, 0x35379d46573f20008275c27a56179c089e35a9804f94c4f723cec7e2b7d37ee, 0x7a4e58f8f245088a9f8265ac9d70dd909e064be6795263cc53eaac4c108121b, 0x299e57a343101dfc9c65c2c05abcb722403104d877120c921b50e85f46e52da, 0x6e7e3573c36adb63c62a51e31a7f344a57aea565e343e71b183688294240559, 0x63fd87d8213e614a5c35f0dab6900e3ad06e119206f7d2508af6f41b0f8bd0f, 0x310be858470cab581e9a8b1895926a38245f3c0f5aacb6f7bb9e7fd393b31f7, 0x39ddb1c21d423de60c23ea317644128c5f40f4a3c3740664b359c129bcda256, 0x2cd983e642449c7417e6e5a5639c72c42fba3c9e09627f5a919afe509acd278, 0x4a427ff7fdbe511154797cd6f32c1907ab703ee1658905d2b87eb3658b99fcd, 0x4e15508db4ea4fb501b53878da06c11f0e317083be34d20f8cf9bce4940abcf, 0x33d5e0de780947e050bf93a5e18cd6fdb66b01da6fc577c4927b711bffba902, 0x2432d96cd4c7a9cf6439f9b0f910162cd0b2f6454b7cc538c99d207e2caf056, 0x63acd5c566e867e647dac5cee47254a65d81609ec0b32f9ab58d832e9506f61, 0x6d8048102ec843075e3d63d4a8bc8c9ea9d0b3e45a0bfc6cda8267a25c9af7b, 0x68b9f132d4b974276daf3fb7a402d07ca3ab47a545804c281fe8209ec44c659, 0x71fb0c7a4a8bde2405b024a15888b253280434016cc09c4aea3bab3ef26b0e4, 0x27f1005a62b05420cbaaba8f73acd1073746a1855114c4f1c2a16ab382d47eb, 0x755f86795f5be3d3b7965f8e39a468a3108f0b7613710c07ab672e2248c0b3, 0x7b272d342542e871cddea52849359a127ac676768b496447a2dd10977d9e0fd, 0xcbcac8d724a40511dee1fd2071f2f7f4b0ed1c4ddbc662048660a24c269ea0, 0x5d80dcc5b6c5c4c603b6006ae59f565364eb843e10dc37a8769b67d951743b, 0x29fabbed6359097bf369e4f32552d0d971069f4ffa3a36de6a1a1a8214a7f2a, 0x587740be8bc0ef0911d4a906b48b2f8c9fe084c0b04d1c87ef4c964ecb39c2e, 0x3370893f6f9e6d39fdbbda8d4f48e99d6ac5794d43b69c2336ca9c41c579462, 0x22063c24cf4217112180c146a2ef0f213aa06df89afa58e47a5af7388ea2ae4, 0x37b11f2db7b2e278f3584b0ba9f117ff9b297439227a62083c1f562e655169c, 0xb328ce661bc60fbaf5210f434a1abf8cb3f1b38bd3f5b5e02aff5a50d2c126, 0x3ff13865de96bf3c5d3392c88ff438f2370bb83bd102918e514adac5ea95608, 0x1914339d1751e4d42f7673888604384065825abd201b3bb8c1d9900b6d728bd, 0x4e0794464b35a9da70f78fed0f0b8724bfdef70a5224c89b004573a1cccfc67, 0x727e3862225eb782525342a0e417723dcee290d66ef2f4c69b6c3402b44520d, 0x3f3e8d98548fa55ccb57c4b80b3434c3a79277ff24edf285fcadbebcade96cc, 0x56764031f48605219759b2184ecf59d144776dd95b86dc8de2e5d262ed74037, 0x12bef8d76c8b98f46df8c2c4eb5e23466c274d6de39fd8046a5dd02e91b53e9, 0x2bee1ce02cbafac08d448c1e82b41a74032ce07a70cd639422f1674070ccc03, 0x1e26faad3da931ea8c85eb733197c8e0cd62d3e94d1c10353d87c48948d80c0, 0x2a1b80d7d133816147f6ff2a1a84bb02bfda80482618444dca667395f5cf0b4, 0x433e7287a861d0bf9e3db0044a3833acc8fde07699fff56b9e07b1c2e67c0e9, 0x28827e9aaf4206a5a59904ac35adfed3f084f57fb78d1b26b01da3d205d1fe0, 0x5cbffcf3dd3c8de2c8766c652efeed527f9835fcadba6fb8c880de501541b0, 0x611c325a35a611bafbf37c919abdb5c0f90eb52b98f3da7b0272b49e85f6f22, 0x13f7f61f58a9a74f5d5fd983b293a25ea58b14ccd0e997fc2f884878fa6deed, 0x419781294916c2e422e839b3e1f49c61b1b327c81f7ce0e25fbd377f6617fb6, 0x3a85d6431c86b1e8b7eb2a0cebe0e92b6a11ca60561270cb82bfda9ecd95cff, 0x713b665e48c9d8b1d68a822ec19701cd54400e069cb62801eac59f1ffd7e35, 0x6979a539da7743aa60b8b86493ad559537bb69121a09d01f843b456e096b794, 0x6c283f8f1884b01dac416664612a21e20ae085961bd39263db7b060254d534b, 0xfd0d53d06fdff4a4a75963f69ac878b32ef7eeb21d0807736cc3282f7d6cd5, 0xe049eee0fbe191f9eb9afd33f19c62ded1faf9d1d0c696bcdd8803d4ea686a, 0x770312a57172b0b5f62a89a1d175dee35d9c4080ad3c0549cd880fe755d6d4e, 0xaa9416e22bb3d575d26b1e0d59ab0b1ce89bd13b479cb5fe6d377c93b39262, 0x434592edd096d07713233ac3b9343fb6a6c19f3ee7d3f7593140ddb6f3b3c0b, 0x43910b52180967d3d27e57634bfa0c4de1d2e6f66ca4ec4ba5e0508528aab09, 0x1cd6e20ad4fafcff341b33514e4e7140f7841590dedc09dbc6616da313fa364, 0x15bf505ac6dbd55bff73c034179fb07d0181721c728c2b0e02bbfc439b6109e, 0x1b9b05ca5c89cfb491b371b77f377be905f12f5d80d7f142232c26935354876, 0x647ea18773e4997ea423636f30de4d6e2f6d01ccc41279c44235af54aef2e82, 0x5fe6eb0fd007799df097494dc9c17040ac8bc63bd0be0a16ca03264466ff952, 0x793025b783e26bcc842ba80003989b3277553c2843799904ccd68cdd002caa2, 0x634fd1e2c85b04cbc48ad0fe13346eeebf73aef69197f6c9b00f992df88b2fb, 0x330297d52317008a810c3f95ea6f76de8ea428c4236e3dcd3f6740f98ee47aa, 0x6db744459ba97b46fa941b3778899d9a4d1d00f9068c74e42837f3fde2a21a7, 0x16690c70a7e5faf4259d146090df75d6c972f7c19fa31b1a5af7f59af16196, 0x3c1747d7cb68dad178773c4f7b194c1bbb46e9927112b5f870baaf58ee2082a, 0x7a4820b38f1a936443de848ccc5a74afaf682841f33426fc8ad89f90081c049, 0x643a4981e9fb9773556db34c48254321a2143aa9135490c8372b79197f1b7b8, 0x612dad37f7605c27de1961592359ae3ec5a99adb74009817452c8c10eff324a, 0x6af45793b3e5a7056944f52e940555e6aa69e0afa142ad301c718370e2a6ec0, 0x1a1c9c442b832d2c59b35e3c06bedc8ca20cd6783f81f749cb84d97937cca11, 0x7cecb9f8b06ddd1b53cffeea95c9ab241c720deb4b69e404c35986c4d41f7b0, 0x3dd75735426ad8ba44120acb0d55a24f58f99e03a6e10d2647150ceeaa7bff, 0x4384ae15879853666d90c865f383e59ab4c0309429ca6a6ead30a0d51054756, 0x75ec5082b86d17798a46b149a36e5c7a5cd4ee5be8033aa8f205f18d7f708bc, 0x4bb96a3062f1f5d8d8365b514f17c1e979e683d267103067d1e2953c4b04e5a, 0x68c668e2791e4cd646bb0624ecab733b503e29ad81697b35e2ecf221eb71730, 0x2da1c2e549ab770b6b9ad4dab453bf9be5b993a4f71398623ed5cecd0f3fc83, 0x40939693800fbbff84722ba55be4be19fd4146ced97ec175ce5fed18a4afc4, 0x270e0b7c7f8cb5c4725e3442974b0937e9d68c9c9aaba21d6c0b40af367ca1f, 0x63aeaffe7daad8c2cbb0ad51fa6b03bcbb8e75dfa5db44c59837b9c1b5b7f49, 0x721013a9b22947361b7b2af7e73a1834fc25e409777703cea069f6c587388d, 0x48f67d42db046812ec2d2050c63d9a043f4c5c7d5f19fdbdc32d78cefda5c1c, 0x9ad202f0c1cfc5017281386029105f33463a7aaf9737bb8d5d24ac0c7a501c, 0xfffc9a1f64658d590588ea5414715d1c35d8ff953e425bf34233721b4d794e, 0xe4f9dd2128624a761a9fa5f7c9f0f3dd2610d70c1e38cef7657a9b2bd97194, 0x6e121e4aa3a427c38123713b870689fd1f370b30da55085cecdec65621089bc, 0x1d810346b0efab2c09a99cb943199d5fbc0724dcdd428bf14adee6b0034aa7d, 0xa5b8af24837ea844ee48b3fcd5ff0a7eead1705752fd2aac15820f8e19a821, 0x41804410f6a7cce01e090638b68500a9ac4250427ab28d9bfb9f18d1850f2f1, 0x23525f92469ef077e509b2af662a94457d080b03afa8c3409061600521446c0, 0x48b27d8f681aaa073df74acd9012088456c57902e15efee5c974484e506c87f, 0x2ae65189e5e81c297a16c28e3e5bed79649df32f01a2325aac14e5d0486aad2, 0x6f0c51a03cdf9662477be4cf697e44cd4d8dc3e319f61453e69363daed70244, 0x6137d8c765d172e69f68d42de94d4e248a8af14a15ab713a57f620d5091159f, 0x5a3b6fcdbcc80de888e08b3c7a0d4adb0b5283fda79ba00623f404d2a0c1be3, 0x5ea34f3cfb629742e4aa62f7767deb6445842e1078377a16c32c23d4210f510, 0x7052d8f3eff8713eacab0818853b4860c9449d465e253a09e73c70a2234636b, 0x43ce31f76e20150d80e5444b719ced252d2056340ac30e2f4c86e09ea5ede6b, 0x5101916c456f6d5542a8596bbc5e400f47b5e99c1a426d04259d823091a9a6c, 0x33eb6194d01fdc0a7b244590146cafc8b2d361001e4b525157aea8e791b9070, 0x5c484fa3af005f0857ac0ce5b637dd5e5ceb5d103a2a9a7d9690e75d664f589, 0x2f2c186b150e1302b9a79292cd89887a56d88eb944bc6100ad07dca0b39bd4a, 0x50e9f683ebd2cfa0a320e9e303f16765c0e50211a22bdd8b4b7d5c1b7d4625a, 0x51855b66f304456b2a786bb95681f1de3fe269091893bb2160be84ceaaefb96, 0x4083efa938754015dfeaa4d7be57b3a7b2feb86bfbf3b2f1513c86164df7a99, 0x57b8e5346c68ff2eb3f995c6afe69eb595bfc86365b4b3c80f7a41f84237210, 0x28c9590563ffa74a6d7efde8ccc5275995971b5def667ae18e9a977b2bffc6b, 0x15687c160418e1f79776d2e5f0bb9b1b028e1c393d321405e93fd2057693431, 0x263a57833ef20f4e55faa03e1e53235c31353c4183495bd1d2ac03619471e8d, 0x7b88cbe189d763028ce643cfd66a4197a217de1849e67bc3f7c9fec649f7f26, 0x7716dcc073073b0e20981cca8a1df79fc507b65a0cdc0f5cc51fefc50d34fbc, 0x6b351c2600175801daa396ba75b7dbcb4065aab32f238cdc4159fba57a9f95c, 0x3a6777ec2cfa98cb253d4008a69a27df87d943689570fa2dc9fe125d26f779f, 0x5aafff18870ca68f011079146242329e177e1852e37f3616165fc0fae0c32a9, 0x1fc99af2640a39744cbc56b7ff3a31d435376d9e094d00d79be0cfe268d013, 0x16a865b9a45535bc708b6e1f2b2848ec84b087cee7cd378f4bf658acd9d5360, 0x598497384951620b3f3390a046273b210cde9f78123ee6bf8dd192a0ac0711b, 0x1cc4bea48d0fbadf897bf160c16374b16794c25700cd3d98cba7d5e418522ea, 0x4fa1a264f85eb21a830282aaeeb99ca537bcdd5ea2dd84b338cde6c4788de3a, 0x58147515b656305f120b479c7b7f72be974c1b6c8bb74dfc798e77beba098be, 0x67d50e74cc621f81b6f7f449cdfac33bf548e7adbddf432cb397a3b4234800a, 0x64692e40ac72c30d528feff50d18bfc25b71ce34efa8bfae6c1460665d738de, 0x5500d03bccc101045e69a9bfa34494675095f53be81da544c02ae994205df86, 0x32fbafd118aa3dd84be91967ee7e06dbb908ace11a23067d73ab0d6a05fc29, 0x6b750c2e2f67f8db8d7827675e781a96abad7c323fd3bbaaa8288614d6feeb8, 0x49d6db84d52b4dc469e7d570edb78006ba4d3ad3162dbe75b0f9644cc5d4f8a, 0x53d2703a1da3402f1607fed4522725390bc9ad767dd103f91cc331f8816233c, 0x3064d45a0532d22132e02b6e685f8c112866200a38366413f14bba02d5cf57c, 0x5174f2824654773f78699a7ef7dc1c971ea76fad024bfcab1ba58ef64e311bd, 0x7670cf0fc23ead1f18c9b4e84a81c90637e7fffc219c838295dc32e7e612379, 0x68179c3cd7b9486cae3a3d747fbf2b6b0d0cce599a678196cc799867c26bb89, 0x58a2be0f0c791dcf7fc8411318433868504bc16ca368e5d8ba49bf38d28794b, 0x69b7135f946359548f09d15d87e90dd1184c0807d99bcf8701c49877ef06be3)", - "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0xae7fdeba2666bacee4f422d2ef310122f68b475f8ea51639fc3dea55a9ec49)", - "P->V[23648:23680]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x20e67b8def7a5fb38ad7257ab3b7329981edc56329853f64a02122d92446a56)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x4ecc8cb64d7cfc9da01012202ae3f0fe8677d745baa89284d6b877a84b5eeb4)", - "P->V[23680:23712]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x1d36901546c43245724233a5a16d0a876a56865a6d977862282cc52216566f8)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x202df265964716a6af8789d8295f2c82f83596cceb79303e2761a6ec5f7d3eb)", - "P->V[23712:23744]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x5288f2e82688686730dd446be79e1f8dc435931f58e9b61935b4591a8080d32)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x1f29a7347af2283f37d8b61be5459d74e30f054f82cc40b1472c5cc0948e50e)", - "P->V[23744:23776]: /cpu air/STARK/FRI/Commitment/Layer 4: Commitment: Hash(0x6b9d8a88de265de7b38f442e61da3f9f00b2ad8d8ad5f77e4ebc9be8eb7df7c)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 5: Evaluation point: Field Element(0x265c8818abd08c813db0e8c75d416c3c43ed3850309d1bad1d7193cc7033f07)", - "P->V[23776:27872]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x21d638fe794d5646e3ca6d7eef6b54365d01ca161d18bcd39ac01dac8e57aea, 0x1130ab1cd3ea3b18c374ab2cf3aff0770805b87983ef16b913ecc6896aed8d7, 0x39a4b8cf1df6fb2f68f6b5951f819ffd1f1b7c17cf88e96a3582ce4698dda92, 0x7a10ec4f4584df1dabb860326aabdcbcc7a5072ab12b36e17e238c0cafbc276, 0x4f21ee17d97fb7137e9de239603aaac4f35542166094132d255c52279b9faa0, 0x26906d44727205938c467b5d9ff8393a3b52470578fc3033bc7a9733c871cbd, 0xba3f4164558b5faeb95f73c5afd92b5aaebb66effb64b5d22d6154b71a5b69, 0x2773c66126348bd017fd8862b2ce07b2b9a4a02ddd926389904785a6fa25da0, 0x24daef64ef3013b8f71373142d02072e143e334da201500dbceaed66e02d7af, 0xc4ed6e1b5d5f6ea6eac3fef88d4915ec869f72198d0ea528ea3f6741e3746a, 0x68f2231842a2101c6b47b5f5e19660723e105dd44b918b677516a65726962d, 0x2682d56eb02128da5ec9fb547c4306d7639abcf7f7005f051f5609fac303db8, 0x2ce1a66d4e224476bac69a66b78ea0c1c4aa1061ae26257361dc87373d2bee5, 0x60790f8955dcf2e39b0264c38dcb091b8085d140fbb03c6ef91b42967d33ab7, 0x5549fccc7eebf28f909ebf113187ea7776b2c5dedfe063dc3edee99c877223b, 0x4e269cc617f3ab99e6c38d54d72c887c10baa2baed2f136142eb00ca6b27fad, 0x765f9668f07498afb30ba14cb3836f6d4af7380a9f15ef795125da70e6fbee1, 0x9a11c9c641cbd26e6189bf8084c586327929d09e14a26dc28704779300944, 0xaaaa96f782ff29866f30507e211d2c6819eb88015f42d2f34fb21718a3679, 0x80f18493dfb7f8cb674d7a34145edab05009742ccb76eed418deb59067ab12, 0xe3065e2c167525dbbf5b6e241c1ff0e83af7b5e8e13ade079a863d63838ac6, 0x2e4640a89b317c9244b6e9ff81a4c9956dda45eca750835903ae1a717d590da, 0x1db676f7d293fef177fcbc794da7af0a9556ef39c4a337a45e139151af2e5d6, 0x416564d20daf2b2f7d3189b8c57500295d2ebd71319c2edeb8d7b8f1077f153, 0x23c0d003983c6c6432afc04bfbcf68e81023e067faab5ed69cf8bb71cc0ef92, 0x6436e737e82ac0b1f850a2909ff0f2bb6aecc3e3ec279e7d02d56b8a1cdeebc, 0x2f76172dcf2646e763657094f335efcb1e64464324e50b732b02301e088b288, 0x560e3f363aede6ca959d22a13f5c5e27af543d7e2404d7f1678bcf481d5e9e9, 0x5a1504e14bd57c79da85eb542469d08e0238c2b4e2bf9ae7e3fa1fbd932701c, 0xcf23cb38c0e8c6154638e539e46be087b621f23a50ba610380ac456f9fe245, 0x5e7540ce6affb64c33e67ca5baf11f38b248c40ffc6938e1e4b4b29c0ecb28c, 0x69124ba3317d95f8f5de5c3e1f8c5fc64ae8dd4d8b81386626e23d3ea4a7e94, 0x7b3f5d2531153827b65be3cb2183c8c4d9c1ef00571f910224c9df30f18930d, 0x1c13e851517c48ade3d7977a57a6403b178b1f6c62b7ef08d18b7768e140c8, 0x1b8fae3dc1eddf6234f9d6bb5cab956caa0f368bc715a60f659e58a1993df70, 0x706294f1a0866481b55b05175fa64302e35f8ac5a9cce019cafab6e3b99ac15, 0x1c123fe788e7403904274d8adeb641ab088cec7236e4c35416a3055409e637b, 0x28531feb17bcb8622cd564482cee5a622a4c68c66d10c5d5d4220192399bd8a, 0x5b6df952cbc7f1a84f878db890a32d511431d3a70f05784a2128f845bae9227, 0x3ea43ebdbf0225963cb61a9dd3c60efe52b82f38be0b591c498ac3e92d8f24d, 0x102fa10af0d37760e355ebe4084b8c46bce35032f050ed45577ef70948ec0ac, 0x740eef6dad91b542b3e296ce2572e93c160965a01cdcba6da1cd14a80d274cc, 0x13eb2c8f7867162aec21a4b766261ff4d0e57d654017702d6177bf07e1aec71, 0x1d3050d0e4a8d0f62bb726c00aad65c1aa97c7a7266821a64dcbbaad69f62b7, 0x387f72d22d8c3af98132bae5c155bb8e4d9a0e77e24f95c8d412fb426efcf7b, 0x5f392a789522146f7f60cc4b644977183cb747a739d1d87c6aaa7ccf3633748, 0x40140ce33b25b900eeaaa9e94f7d83917f27f1e43f5f7acecd70aa607be10f0, 0x1fcc8866809479f6309618e66101c74ffe393ea35de4b7537fdbe7d4a24df29, 0x9d5a87bc68a145f08f5216c05a78f21e04f82f79dc389e476ed09d02e4e44a, 0x7768b7f3cf42e250b33583c0ad0e222458bbbe882f96f5f4638adc6c02cc72e, 0x10e21076359596a32a02ba8df6b171128895f53321e59acdc6f0b250d42526e, 0x1cdf06c0a120ec5331d7e944c64d5b51f0624a73822614459e3a011a0365368, 0x6a9c8a8022944bb19aa91f18b45097f4cf09e15783fd0b4bcc00b13638e01b1, 0x2cf8c7608f5da737adb547142d27c97300779daac8d3887df76a0743d592ec, 0x735e34f0ade63be31f881b1e379ce31294861ec322511342dc35d958e13c743, 0x3de8c4bf9920e29a57f3416971e93ce178d55e8fb455020fca7f022e0ad7aa3, 0x5f3284aa1309a2539f14ea0cea11a7f8a4f2b5c34f717fbcccbed4f29bba50d, 0x77c185c2f828839d28201c380d4854f28e67f3b1465c514c67508a3abad3e3b, 0x21de8341f23d96836aba2e4f2c6aa78a959c6a900ed43d8e980804c3fd5dd0b, 0x719bb4db64fb3674457348b43fd6fe4a9a62085c77d984d3b5ee01b728ccdcd, 0x2c8ea597bb01e3ca75f66bf3c67138ee1544f13d6886be25615766e0fc22eaa, 0x7e052b1b3829a2606e8ca0f90f6fa47295d7c454af892c1bc38d8a4d4e7ae19, 0x75bc9a173a315477939cfd432b536b2fab087ea3620315e1a57e82c45d56bc0, 0xba9f77bc59437831f93c4fada1b247d0f98c20c2de27c78d0d93381af70932, 0x7f2ce738fe4b0039f19981ae843a98009b9092aa76e5a9ffe5a2a3f16f7c0ec, 0x30744d1eba4721b67f9507b79a1f739362981a2d3a2ef69d85d0fa207dd26e4, 0x558e77727a423b9827425b61022b51ac081144b90222a5f57d42f3265720d9a, 0x50e1ee6a70982e4554f6f6a61c20ec0745dd09b3524d907ab2d897b1a775eb6, 0x1b2811e0c54c495d47c6c430ffa3798af706ec0ae12e1f30ffee073ef3f1d1, 0x1e759481add7e9d8c9a498893f6f24fc5ee70fbe46061423cefe72c65dcf060, 0x4fea92ffde69ddadd18de94adc6cdc02b9a826ae6b3eb68af110570580daa87, 0x752bcd5585bc38e1238a0080685c09a0eb962669f978add4ed747d2642b7f80, 0x63af7424dbfe7debbf41041a5ec0d52554bbd0df0eafa38bb6150358e31ee9c, 0x1eb6482e61bfcac8c61d9ddeeedb9a3c62ef5d96aaa5ab78419ae6924688b53, 0xc4fa861a890e761bf919f2d1072ad21a478bc3ff1cc9d99e6a4c43b79a76f2, 0x5a671ef245303b4939ed1017a5eb3508573041af2050f9985d3e5ed7dc4b1e1, 0x2d5ab06888e19398de24ee9fe27b19912375e915e3e7a181bd825420ef62526, 0x5eba48485eaec0e0ac361347552c3efc8f94aff5140001868559ff0048e615a, 0x367874a2e7bddeae568b1ecffdce457387ffa7ebc2bd158bca440e019d678fa, 0x3ce83d43b94cdcc89e90ca48d5fa38749bddd01799b75087898181fb303865e, 0x3f77c273dfb193bd9b697dbcf732051c752e38eae5312f0581399c8d87f1024, 0x2a19c7a47d335965ddd091c6d971094057c77ea87d05d106d744da225c93362, 0x1beb2a5949f72e544109655c4a2fff79aa89136cb1f2c07ac6dacd2d00bff53, 0x16c4c3b05c816f27be8c814709408314e0aef365b1829e77befa8c560dafdb4, 0x7988461ecf5805a387086bcd4e520b59a957a24dfca457479444db23df4bbd2, 0x60dd807d2de67540ae7ad7b70618be564fc0cfd4330bbab7d30f682baecb3ea, 0x493afc1da0b86e8d604ae071437142f09d2f7fd5106828836061f9ddd1c5754, 0x1e486d9ab5a70f3e69fb5cf3d6c6b830997d6ddb80c2ba1d0d5e74a07cd5ef1, 0x7592215f59df703ca4e0a265e888245d887ebed5967a542c177d31bb3697f1c, 0xd292a09c7c7542c990b8d0de09d92eeb8b83484c519d99f968f80cb38db5fc, 0x1d6882d0786cbf7a6c7e1576d5034909c1b8e60a8507247ae0adced475a5d85, 0x5dadbde15742f8bf1b0a0b7e3ecefe59120ff86127a0490ce7a835f7e6876bb, 0x26ac48fde95c4d56384c7196eecbc19dbaf613cb5352a821474a2fe08aa434, 0x265c2f0b08191356d0d1019df33862dad73eed9282a10b5f5c2f59a6dde3dd, 0x7994beb9c53c4be1e7cb59b2f9c70fa75ee1354bab40d910b19f5cff5babfc8, 0x4bc3f1ebfdb91346d367d24e82f83d8131592990221329cc5e09eff05bfc4ec, 0x608d9483352912dd65d6d3b498d39aa5fe63bc7f19107da8fd7e1b68d7822ec, 0x7d8626a905f65dea4fe5b8460d3ef491514b504886bbd46701a7f44edd487e4, 0x64c591bd4e9b13de2c545c4769b82d9897b1619ff2c849cccf058612f82309, 0x5fff5591add16c4c7e461378a50dc312b926792daf5ad4d8b039b5f2fc1e1be, 0x7b9677b93e2fdae1af091dbddad704d7d68110264a96c2b183179d96e701744, 0x7e1cb90f3f52ea64785c6de930f98f2db4b286f38e342fecc487edda211b0a2, 0x6303ad4f1804d53f9a135e7112f876bb7281ee21ac0c24c917da6389c925df2, 0x41751d9cda317b2f8c35f2fdbb10a6d9ccab43389931e5552e303a46de1daf5, 0x3c54155f617a8c75ca442f015703edbb2e2d56ad597ea86d88369bc6c709904, 0x52a1841335abc9fffcd8774cf8930d50f173d966e00a8ddf9339c22c9867452, 0x50012b0ab16d744d60aab00be57755b6cf9a61ffa213b48847c658134225682, 0x76070a5065ccf5720230243c8fea1c90d343f86fa038f86776911ad7643be33, 0x1a7d2dca75d9556fafd3293170a84a2d4f2055123ec7a76d5953ad4c98f3165, 0x753c70e696af64ff457ae5fb6eae229bb911334fda6b41ac171683041ac6cc7, 0x43b437078d6a27effdb2f73fe9b3c5e29a15361084eee5bd184ff7e6658eb5b, 0x2f8abf90663db196cfecac21458f7582d0cd98cc2f6dff94b202e3acfb6e42e, 0x6d018a9a64699f034303c18eb9de1055b40d7b372f3fcf3ce44780f8e5bb7ea, 0x29a41ece0ed7c3057d2bb7a50378ca09f706e0647bb3e8f9490d422c7806576, 0x2fc15df0799a383f892b94cbb038c7c892ea8da6602b41bb6b0964cef736a31, 0x1c27830fbe88935591744bc78bea107542a2edcece75deebf1197f7358ac97c, 0xa5e3f12b7cc63b7956f2bb449a9a66b082c009ad5ccc1d5720209ff47384bd, 0x4abea3bc7dc88bac0228bb992023aaae6e9662de2e874297e6e8ac526e3d9a3, 0x51036fa8af57fec7e4f5e580624f976b6cc687c2660963e65af6ad31db193be, 0x2282dd7e02b57d94d3fdaac8f593c9338d7c479b6c0836c9d17a27c3bd957c4, 0xf1da2450507732409446c138878ccd92e255c1623946c041163c3ad8074426, 0x77469654308be5bf8e8eda05bf6809d78e8658dfc711c1c3727f7d974f3d016, 0x8f14bd7d80ba37592a9f2c0014ae6ada5c1ddd08f9b93a28f6f5b4ef034ae5, 0x5ce3400853eb00e19994c70a0423d507501f198816ad874f4020c058463d963, 0x706abf1ea1a2d38f25aa0d40fe17f919e87c5cc3c63e15937391782f27b42e5, 0x60e30f9ec8762113a4cf88a01b3b0cc10c58b821f5ea98c311821a58836d323, 0x5367e8854ee893e31550ad86929ea19d6be1fff6f92defa5ab933dacd003abc, 0x6cb1751cf1665f0957db9b9d6c32b1c7b2d5962f4d02e3c0c6b537557a27c9d)", - "P->V[27872:27904]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x5014c66b)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(156174)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(6093790)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 2: Number(2236203)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 3: Number(6626439)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 4: Number(1357)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 5: Number(10212545)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 6: Number(327432)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 7: Number(13746199)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 8: Number(13596798)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 9: Number(7351021)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 10: Number(13995388)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 11: Number(6322211)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 12: Number(11067383)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 13: Number(11713076)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 14: Number(9579215)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 15: Number(14748098)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 16: Number(12075111)", - "P->V[27904:27936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 0: Field Element(0x7b8bab92792b7b88d2fb8a5d7824f9f202a5126250fefbc8ed8d31352a30f74)", - "P->V[27936:27968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 1: Field Element(0x41675965b5625e622442b536dde1f01a6375019bf295bf44a3cee6d3716f762)", - "P->V[27968:28000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 2: Field Element(0x494d5352789de001f845d867da84ac080ac96c89b9362b708b8cf941b540a56)", - "P->V[28000:28032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 3: Field Element(0x6d6d98be3b7f1ce095978e1fa49840142b182c52758cdc663fc80c05e5fa33f)", - "P->V[28032:28064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 4: Field Element(0x2244af3166d330d0d003625c22b6f83daa3925cb8a7ca4281b789b8df338ed2)", - "P->V[28064:28096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 5: Field Element(0x6d1f9f28e244b68438edadba7c3fb76d1b84eeedfacc2935af825afa1d61229)", - "P->V[28096:28128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 6: Field Element(0x3a2688da771f64173d88538c0a6cb175057dbc3c6d47e0bbbdb4e8d264ecfe0)", - "P->V[28128:28160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 7: Field Element(0x2dc8fa9ffa12bae10d4d92eda9af1f22382ecf415df7d6d20fcd3c7811bd60b)", - "P->V[28160:28192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 8: Field Element(0x1dc7facc2f6f22a4c71750b7d9a9be834135a98219372bb5be2a9248f538dd7)", - "P->V[28192:28224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 9: Field Element(0x318f233b808a745355acf31a98a93a3ee1edd490877b039516df4173b192a3e)", - "P->V[28224:28256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 10: Field Element(0x44c5779acd4e08f5f10e76385d24e3d1ae1e579ca861f463742e2f9558f551e)", - "P->V[28256:28288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1357, Column 11: Field Element(0x710a24a7ee0f09c82c953415e41dd8a395501715269d570b33a784068d3dc8e)", - "P->V[28288:28320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 0: Field Element(0x4f4620a9c8d30528cd015e88d085d3682c82f75284af648a18711a4cf640eab)", - "P->V[28320:28352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 1: Field Element(0x1fc1321453288d7367f629a0d52fe2e2e79cb44080bcef8d662ef99de6eea0d)", - "P->V[28352:28384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 2: Field Element(0x55dc485625490be73b54398ed8f68dd639f5cb16ffd8bcccb6258d4c2a0e5c5)", - "P->V[28384:28416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 3: Field Element(0x685afb553b9bb86c238b4f240e130f5aad2639ff0e45aea6d2f244a655f3c2d)", - "P->V[28416:28448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 4: Field Element(0x32c8be1014e9ed5ccc5785036fe8828d04c09bf427b838ec35ea42e8e1ff45a)", - "P->V[28448:28480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 5: Field Element(0x46420e64d2af8d77baf19b1149b8d3ebb237912c145b5a3f03807ed67363b90)", - "P->V[28480:28512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 6: Field Element(0x309d9a1ed0ad345113acf5d549db59ce65755964b44963986536539d664db82)", - "P->V[28512:28544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 7: Field Element(0x75a00f30a209e73fd2f96c356a121e9cfc820e16c8cbd667b225e0d28df7af9)", - "P->V[28544:28576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 8: Field Element(0x688676a3c6e9a82797e9dbab683e143c5b6275e15204dc92f0e9f40c3a3a2e0)", - "P->V[28576:28608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 9: Field Element(0x16e9bf523862984e45a9c678bf4adde97afacb55af2c1edf8e7a5bc0640dd5)", - "P->V[28608:28640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 10: Field Element(0x5cc3aacfa694ffe02a18f27ad2cbe4be9fe2691e244d3cca425dab56157d4ef)", - "P->V[28640:28672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 156174, Column 11: Field Element(0x414344c3c185e7c52e3a8d4c74ef5db74a7e719c967c72cb227fcf726ffd9)", - "P->V[28672:28704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 0: Field Element(0x7d176ebd37865017c3b6ee08265737bbdcb4866a6ddd2bbd85ea4166481ca8a)", - "P->V[28704:28736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 1: Field Element(0x4ff083e5e6d14df405d040cb7c5c6e928731045b96c3c805744de1594b93687)", - "P->V[28736:28768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 2: Field Element(0x9cc9a7678286f84e9927d11138a7fc68b9c4e1047ece3fcd872bc954018d4a)", - "P->V[28768:28800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 3: Field Element(0x3465c86c9d4d897c569075b352ad769d005c7a12b28c2de0a696cf5b40ed22e)", - "P->V[28800:28832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 4: Field Element(0x7201fe5e689dfa3bd1ecc4f7a935463a41dfd1ff2373337e71f70255d420a4b)", - "P->V[28832:28864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 5: Field Element(0x7abb35b9ad7e0047a2bb2f8569fdffe0f9b4d5784a50ae336fb3e3ceeea7f46)", - "P->V[28864:28896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 6: Field Element(0xae3cbc35e6039514fdda8eec1b3b63ad2133bc899f9abc4ce10cbfd81df2c0)", - "P->V[28896:28928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 7: Field Element(0x58ae025e8f38e531a784c2c334bf31c4616120917f252a7389690a56bff6ae1)", - "P->V[28928:28960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 8: Field Element(0x5acaf4ba229ccb51665c749fb4bd09f584dadacb79d64bc78adda2c001f117d)", - "P->V[28960:28992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 9: Field Element(0xebfb864d45e8088f2e6a3729a90c5ec38bd14b56dca1700c0c3594783567b5)", - "P->V[28992:29024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 10: Field Element(0x4c1a6708696ebd6081209fda14973894ece8a64652feea2ed7aed60a9cd7f7)", - "P->V[29024:29056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327432, Column 11: Field Element(0x25b59ac80faab3ec6ef813281eb5bcb53ad0ce41518b8e2d2fcab5dd1080358)", - "P->V[29056:29088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 0: Field Element(0x4df7b029e7d3320ff26be47c03bb11ccb15c6b12a54dd7fb70ff25143318ad0)", - "P->V[29088:29120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 1: Field Element(0x711c897305032cbe1ead7468129f05c4d4fde182b857919a7a3e4c312e6d989)", - "P->V[29120:29152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 2: Field Element(0x5e8913cc583b4e28e4ce29185f5477425b63b7f3d5f39554d53057bbf9f8d75)", - "P->V[29152:29184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 3: Field Element(0x7ba2257c2c663adad9d8f341a8e2da8f7a82ed6af0f261808580ba8e98061ed)", - "P->V[29184:29216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 4: Field Element(0x156de0d9bff21e6380f08fa2990c34a0beb1fe5e5ea031f362164baff367712)", - "P->V[29216:29248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 5: Field Element(0x54fd7ca992e2c06b2054b65245c0e53a5c951f3e06cedb7bf8b0be81f960744)", - "P->V[29248:29280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 6: Field Element(0x745ba26edea34444d933441ca872dff7e80b81b720eef86f55f77108f27afe5)", - "P->V[29280:29312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 7: Field Element(0x7ddc6c08c41136fe82adb5e243a7581faf7f03e7f6793285bf74cdc204902ac)", - "P->V[29312:29344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 8: Field Element(0x32cf5d83fed6d47a00539ec59b3fa33191b4cf1feadd6689dd9d1a01938fc3)", - "P->V[29344:29376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 9: Field Element(0x42b1563ac6e0e8a986bcc8705dfcfe88555195fe254d076378fedabf32634)", - "P->V[29376:29408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 10: Field Element(0x56f4e2b20fc9611856e8f160526e32b31246fc7061420a69f135069b512d629)", - "P->V[29408:29440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2236203, Column 11: Field Element(0x26e321ea2ea412e485e865e0b9ddb6c355888c02343a815f8b30e1df6505ba7)", - "P->V[29440:29472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 0: Field Element(0x66bb5bd9d83db7ab73c251c328439ccedb3e82559f1f21ad3cea675e1fb3390)", - "P->V[29472:29504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 1: Field Element(0x3d9b481dc7d2bfcd2568dd344337e2e51efd88d1e6ff35e200fa7c7a7003e06)", - "P->V[29504:29536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 2: Field Element(0x39634649547cc919b93e78739ab3318d92837ce1224c0ec0535f9b7bdb2ba97)", - "P->V[29536:29568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 3: Field Element(0x7b98d76eb9a3582c802c20c4525d4c3a678823fca462ba4909fe3a260a3eec2)", - "P->V[29568:29600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 4: Field Element(0x54493929c16a1a0f0a16d12d222aeafb923cf05a9aacd4ed5263e794160c46a)", - "P->V[29600:29632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 5: Field Element(0x60649872db80fad568911f9805869f10bd0237ba5a90fbe40a374ccbac8bcca)", - "P->V[29632:29664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 6: Field Element(0x6d0ffaf97ed3d2ec83adb2a45b421f0776351f91f31425ebcfbef4e39db2192)", - "P->V[29664:29696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 7: Field Element(0x5c663273af9c71b7e0bbf8bc71d3d971d620b4324d9e77db0de4a91122d2a76)", - "P->V[29696:29728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 8: Field Element(0x4e3c374e1a5f546f6504b1478dbb780a9b04d5ae073d753be8d4cdfa0a05ca2)", - "P->V[29728:29760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 9: Field Element(0x3665767a0184cda0ffedd7ee3ef31db39923b67782d8c9344cb3db5462a41c)", - "P->V[29760:29792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 10: Field Element(0x6b4511749627f3bac7a84b8bbdd8d4741d70cb28828f80901ab960c56c1abe1)", - "P->V[29792:29824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6093790, Column 11: Field Element(0x15747160c61805d131659fdb0523c21377ff6e8221c0562bceea93e3ffb7469)", - "P->V[29824:29856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 0: Field Element(0x4b4b2fb4525ab9704d14b6eed665676af126d7c09c83f8b5ad391f397b05c83)", - "P->V[29856:29888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 1: Field Element(0x2e358e1eebb3b50948ebcde8bbef941636b831d8893f6cf6b704d1d9608e279)", - "P->V[29888:29920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 2: Field Element(0x3d866b7b5abf50924cb8cd75548f94feaaf8f051c0af6b571609aafb97a3d8b)", - "P->V[29920:29952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 3: Field Element(0x71962e20eef7b7d0d6507481ec5829d8e1cb255cca33fb2df2af1d1e6f9a957)", - "P->V[29952:29984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 4: Field Element(0x7b30d5d82306e8e785bf96a9644b443db69e7e312a19bddaba87ecc6c9f1a66)", - "P->V[29984:30016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 5: Field Element(0x32a7064433aff4cbe3c4b027e5095bbe42f9773e397725af6ef12736c3eaba)", - "P->V[30016:30048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 6: Field Element(0x15a9bd7eb16459fbf936f9a46568a0dfe4ab2bdb93c49cebaed7ac813944ffa)", - "P->V[30048:30080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 7: Field Element(0x2fce37d67fd164184d4343e2d08afb86c1bfaee6421cc9bdae18abdfb957038)", - "P->V[30080:30112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 8: Field Element(0x4396ad390ea65ebdd02444227040154687ca9e15b0bc19a61566c3850b1825)", - "P->V[30112:30144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 9: Field Element(0x4ab568aac9a92491481876443aad7e76f7dd3c7b32d17ab8f29bb9c434c6d9e)", - "P->V[30144:30176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 10: Field Element(0x44065ff9cba16749d8ea9683773b8d89574fffd953925207a745ffa0a8a7c56)", - "P->V[30176:30208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6322211, Column 11: Field Element(0x7dac2c0885ddb3e5ef51ac0802ce2f46f962c00b7a95a23941dc87ef1e813c2)", - "P->V[30208:30240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 0: Field Element(0x7822e041190396d449ab01eb2d481ed9b0f071b28487a3482c0e224caf84e07)", - "P->V[30240:30272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 1: Field Element(0x1f0108028279aa541000714d8a20053754fbbc74d226f01f3175f49359fcfaa)", - "P->V[30272:30304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 2: Field Element(0x19859a076ee2b50562d4f1d510c5021a28aa985a71eaa7e65fe1ca9fb43a8ee)", - "P->V[30304:30336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 3: Field Element(0x7aec28f3242a902c55524a7e152a9088775b9825130902d077dd19fea2ab18c)", - "P->V[30336:30368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 4: Field Element(0x3f2b1c795e2bae9d5ebec5c5aebe4a1ec56251f34fb732271c4cdf8add0f67d)", - "P->V[30368:30400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 5: Field Element(0x5052cb605fcdf8264dad5c994f49744ba524ebc5b1cefa5f26e17014f4da8f2)", - "P->V[30400:30432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 6: Field Element(0x649aab1b2c1f112cb43ef8f6fd9c1ec75a8340852107fc7a29df288b28326c)", - "P->V[30432:30464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 7: Field Element(0x4596f7ef219944357d63691bf1e389ed613b08494b9a82ff6e710d7db1cbc0d)", - "P->V[30464:30496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 8: Field Element(0x25c9270f2c987481f643391ac48614b9851e55f318903174850cf08b471958a)", - "P->V[30496:30528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 9: Field Element(0x265e448d1d3af4dff42c58264d6461b9f81d60846608507f22c5e9348276f0f)", - "P->V[30528:30560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 10: Field Element(0x2969b2227c247c527f7e47984c06408763979ff4326b88667008bff41e271c4)", - "P->V[30560:30592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6626439, Column 11: Field Element(0x488aa32eff5cc7ca35472f15252d562aab6fd45c294605850c57da853776d73)", - "P->V[30592:30624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 0: Field Element(0x2f94fb692d4ee33969179119ada2310bf4b9ed13f2567cdc30065f6f89485de)", - "P->V[30624:30656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 1: Field Element(0x8899603e8a69357748461ab07a190427b1c47712520c344a376eb7b8a9fab9)", - "P->V[30656:30688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 2: Field Element(0x4d1153749d2eba9c143def173acb902d885e6d7d1ba4053438072b2ec1b6df)", - "P->V[30688:30720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 3: Field Element(0x7d67eea785194d2b01e168af1491c888efd6536e608bd1573212c2de9191f6)", - "P->V[30720:30752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 4: Field Element(0x7ad8078050da43f706b4e2bad62a5e9af4d605c13d9c7435afc8ab7e0dab693)", - "P->V[30752:30784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 5: Field Element(0x1369c68a44e834c84ac900b021d637968f80b7635adf145a682c977722fd369)", - "P->V[30784:30816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 6: Field Element(0x6291a6c5b3c2d8e68894eb281a58c4a6608bd44be34a486d8129bdee60434aa)", - "P->V[30816:30848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 7: Field Element(0x1785a905bdc9baf3fc7e1d1c159bfa17faf509eb8b8cb427b82418b3f1e1da2)", - "P->V[30848:30880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 8: Field Element(0x9ff10854aa88069d75f7c4092b55ab58d0c19e3c69535da09ddf9926bde5a2)", - "P->V[30880:30912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 9: Field Element(0x1515d8dd2fc36af96189004c4b646fa1817812cb028fdd86cbf477537a444c0)", - "P->V[30912:30944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 10: Field Element(0x2da6fbcaee2b2d4059fad8568d81ef1f83d94f6a1a0e4925165a1a56fc85b89)", - "P->V[30944:30976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7351021, Column 11: Field Element(0x4ea27309b5d5b3270cb647f1898475d3bb237c8565e9a3479ca07a0f98e1582)", - "P->V[30976:31008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 0: Field Element(0x7c8ced3933d123941581076d49bd0eed545b89c21f32f59ab83bf806ac8c120)", - "P->V[31008:31040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 1: Field Element(0x40ecafde98b0c93e55310a92af5c035aa125dea737176c1c733ff7dd07fd744)", - "P->V[31040:31072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 2: Field Element(0x1a5422442a11675e36a5e82b85bcca32d317c6a586ccd686fb478afe316d7e9)", - "P->V[31072:31104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 3: Field Element(0x3b0e91a5e214b5d8c9d4180492d89537d80ef4416e57e44d382a0e5a0f495ce)", - "P->V[31104:31136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 4: Field Element(0x50cf96fca1fdde873f32ba14e5a7306cb13cd4acfaaab8a3727e1d7375c5dae)", - "P->V[31136:31168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 5: Field Element(0xae846c642a8dd58da10a7f30ca2bb3880563483c2af80d551895e0e3438229)", - "P->V[31168:31200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 6: Field Element(0x3ebddb51b48d27a933effe40351e94ad245084e950d07ce13f13304526c6166)", - "P->V[31200:31232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 7: Field Element(0x25c670dd473b5a750f54eac6fbbb38f508836e113203f0a0ae7eb0d2950fbd4)", - "P->V[31232:31264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 8: Field Element(0x14dae9a780765ead362c93446e5a4fb22f25f1aaa020ac231b21707e03f55b5)", - "P->V[31264:31296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 9: Field Element(0x60a82eb75c674698cf7256822e08ce496850060cf288e5cf7f91c4a641c566)", - "P->V[31296:31328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 10: Field Element(0x1f9c9f2421565f9e89e424cc34b8b39737b35b3400dc0955588e3ceba9fb637)", - "P->V[31328:31360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9579215, Column 11: Field Element(0x775bb23df601aee4c97e6bd2e8c4761d83c13b9858fb8e3c916a7f8a1b7c3be)", - "P->V[31360:31392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 0: Field Element(0x6c3b4d619ef0de0c217b50b72ad7704c8d5cf22f26d565386cfadc430aa6f37)", - "P->V[31392:31424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 1: Field Element(0x37b1ad3733c85ce927bb0ae5b42c9087a068e66878acac1b81ed885685503a9)", - "P->V[31424:31456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 2: Field Element(0x7e67ec249203f3c50bf10c74255c3f1794708fa91bb0bc1d99ef2bd8144c5c)", - "P->V[31456:31488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 3: Field Element(0x3b6bbca581b4bd0b40e0be02052e7b8237af10b564bace0f632e7980b591d25)", - "P->V[31488:31520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 4: Field Element(0x4faebb7e47b1cc57d06df375155a16aac088ad7b7df753e43086f72809ad543)", - "P->V[31520:31552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 5: Field Element(0xabe7a346ba06bf16c5f337fb7ab62788f17122360e45586b74fcc816cbc522)", - "P->V[31552:31584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 6: Field Element(0x6c5afba0b4a5a611ab926d37dce3123b048650fef2d450fe4aca984e0dcbf82)", - "P->V[31584:31616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 7: Field Element(0x45abba59fb800d3bb26f39080bec757ef48190fa97cec775dfd8f153fb672da)", - "P->V[31616:31648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 8: Field Element(0x43fba3d479b96027309afb5d6734183381578bdf30b27606fabf3ca51cd745d)", - "P->V[31648:31680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 9: Field Element(0x4b3184ac1989cd6b110acecb18801536e8d1fcdd2dcce7fed48d615cf2eef1b)", - "P->V[31680:31712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 10: Field Element(0x51ab6448aeaefa63ef44a3110c146238eef85638823fd31666708787ab5a2cd)", - "P->V[31712:31744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10212545, Column 11: Field Element(0x1c380f1ebf2df2d138b6d1d851826606a82966fbfa292008301c83bb9529817)", - "P->V[31744:31776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 0: Field Element(0x24eae474559f3ba7f5ca2de4a06353f48f64ccb8775fb56351525317ab686f5)", - "P->V[31776:31808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 1: Field Element(0xe395e36a5b7493e147afbad6cae8e5cef693727f12e243c92e25a02612eef3)", - "P->V[31808:31840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 2: Field Element(0x727e34a7c621c74a2aec225eea89c299f75fce0473b8922b7f0019cd8ca7a0d)", - "P->V[31840:31872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 3: Field Element(0x19f4391c487eb3591cd7e4da0fd4aba125e42bbdbaef317e43bb8b4bdba4d6b)", - "P->V[31872:31904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 4: Field Element(0x6175a45f6c2ff223b20fd557585232c0bbf4a408f9084376cd8b0fe8d123f47)", - "P->V[31904:31936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 5: Field Element(0x6006b1d9f5111423fea69338bf2f4c3c59e8ec3c7aded725f1f582c76a07cb7)", - "P->V[31936:31968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 6: Field Element(0x18c2e16c8e7a8af94a8529df022e1efbc6ffa25046d157af34e67127b5db30a)", - "P->V[31968:32000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 7: Field Element(0x6d1ec3e935e3967f8c028141a7838f0ddf261f1d6631b9c72a6f87cb7becb59)", - "P->V[32000:32032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 8: Field Element(0x12062bfdd5fef86ea867c75f1783aac4c4f15e8cd8d1529185d685e39cf52c4)", - "P->V[32032:32064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 9: Field Element(0xcfdc22e8dad7201b0c218fcf8bd6cbfd494214a31fd4151a4cdfb1a3f5e980)", - "P->V[32064:32096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 10: Field Element(0x7935bb07e38a3f2580b0279a10f1f6805dfac51e91efa1bd68e335d0abb28bb)", - "P->V[32096:32128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11067383, Column 11: Field Element(0x7125f026c82d119fcdda44674e7a6c52f6d14e3b704d97c5a1cf5ba4aa0d0d6)", - "P->V[32128:32160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 0: Field Element(0x504ccd061e1ddedfc8c4512d5f2e9d833ca565362983ee3144b554a32810618)", - "P->V[32160:32192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 1: Field Element(0x67d225e0c1fab14f8dad29780878eab146d16216ef990877d2b858a95363993)", - "P->V[32192:32224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 2: Field Element(0x67c7198796c69bc720bc859baecb5492cc7caeefbee0ce93769ecde6d2c9955)", - "P->V[32224:32256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 3: Field Element(0x5d7c11454de31c9ce27be1b69309ec3f789301518f573cf1d915d95c9b9b253)", - "P->V[32256:32288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 4: Field Element(0x1f848bdded4ad1d73182a1116044e31dd62270b993a8d1c84861d9f21323ba3)", - "P->V[32288:32320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 5: Field Element(0x2458b95195ac34c4d8f8cb9dc5e86459504264b32c03770e628669f4dfb0a06)", - "P->V[32320:32352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 6: Field Element(0x257a0b8c3fe94b5fdd29d64d5d92026b1cd9ea89b0e9b90e1676575821af1c6)", - "P->V[32352:32384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 7: Field Element(0x6276a90a08098f98ee0cf766c7c2553bc9a2a2f66dc711b2074c82cc9c89dbc)", - "P->V[32384:32416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 8: Field Element(0xe0fb1731bef4a5b7161c9329895dadda35228f54897c4b8bf7225a9894914e)", - "P->V[32416:32448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 9: Field Element(0x1c7228a0bc8df0322092e1533ad65e10a6b0495c2a6968eb949510034c2aa66)", - "P->V[32448:32480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 10: Field Element(0x1212ed0de9cad2166c4d5b0d7fc7db4a07fb60c363ad07c1a2044a74a3b015c)", - "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 11713076, Column 11: Field Element(0x282766ac43249323582a89a428faebb3b920c5db4606e2a669e1724b47b51ff)", - "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 0: Field Element(0x365355d2a01d686a98a8a0e893569a352b024d80ae3c8f06f383280b508c120)", - "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 1: Field Element(0x2e970101f8d05778b5569efbbb440998dac914947e90eca4eb63962916f94f1)", - "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 2: Field Element(0x1d206285519085f2fd0935220806b8db3d803865a09fe43b0b7f97d0b24b709)", - "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 3: Field Element(0x76dd17f4fb3c7cd5fd429bbd2cd6a971900e05ef45fd7e2eb0ec2e39936edd1)", - "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 4: Field Element(0x509c10989493b0e171656fef2ad16f403649fc7eff7d451ca9a5580edf33ae4)", - "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 5: Field Element(0x13a1f6db4b215019e4c86039d018a01792433f76e8fce0ef61cf71919342a03)", - "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 6: Field Element(0x3902fa076a63ca0e5e1c6c7557670043973b6500d9a838fdcda11fdb3c442e1)", - "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 7: Field Element(0x625f37b9ef6ddd6baa49aa4aae0914fe3eb267c2fbe24c2da269d900989d59a)", - "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 8: Field Element(0x158477d8ff4a83da7224c6ebf74b1a851abbd2b0145c4e0948bb1fdb1db618f)", - "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 9: Field Element(0x6a6b5c9260c3119c920fb934919bfb66c7403da3ce92bf2cc7b9e33374bc766)", - "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 10: Field Element(0x548ce2bccb788c984c417c4ce345f3855c55f2aea0ba97b2474dcd07b901d70)", - "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12075111, Column 11: Field Element(0x28e58e381675a9a9bc9a723df3c54c92b5781d94b8d139cf525d3fc0fbf3ca3)", - "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 0: Field Element(0x557b046d1fc9baf90fe81686313f04c4abcec8bdd6a51ffefce9ea71ad5cde5)", - "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 1: Field Element(0x7a36a8e46fc5e87780629e47e48b82325b38082a38fce51edbfa0daf841c8bc)", - "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 2: Field Element(0x41a9d55880e857d2f2ba38c6c2f52c05a674be09ac757330b68ab4cf27e377c)", - "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 3: Field Element(0x2d95bd52a290813269a2417e64c67b3051f1b82a629a51b05e8a6a9e1cf4f4b)", - "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 4: Field Element(0x72ffa13e8f98f680eb9309770667ce616298448400840af61b80c0abd58ee77)", - "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 5: Field Element(0x7440429f978a6ceaaa4a0d1b30190132ca24b0b6a3f21a16364b9073478d80e)", - "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 6: Field Element(0x1af0226f57a98e50b7171fcbf1b658ce7c4eba33bd8e8de49245ecb83178d97)", - "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 7: Field Element(0x32b9a01a03675d5e1e40f0ee36b5e9c0fda788012731ddbf75d8b00c6e65ede)", - "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 8: Field Element(0x2d748cc8740944f642f4a13eb1fd53d43cb0bfb9fedf6e2be115dd88519f7ec)", - "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 9: Field Element(0x20cdb3f9d5ab71dcded89881202db96c887a04533cb1cfe0464e714b224fbc1)", - "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 10: Field Element(0x39c10d657e9b8e12c94fde967427e71c937c0b306cf722a25b3f4c058e340d6)", - "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13596798, Column 11: Field Element(0x17eaef23b64a7ca95f298230f0e384073d29c1564c35b629679427b45e10813)", - "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 0: Field Element(0x56862c55f14b5294e1889453f5a1285179f60fb2244aa83012cf68303e04e77)", - "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 1: Field Element(0x4b950d99a27e0b0cc4030d26707bbb84c24eb9aafe264042500ee8bfc9f2bce)", - "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 2: Field Element(0x62e273269a9e1da2042c8d1e848a69b5c91c23c176c5726ed248b54bea5c7d0)", - "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 3: Field Element(0x5ecdf6e43c414a853d52f89fcae91ea05a66fda44f21c385d22e6fbcb0aac3)", - "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 4: Field Element(0x364af708c5ec0da3e7fe59f1be8c3c1c4d10b5f2a970a93fdca622731d7c8d)", - "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 5: Field Element(0x40f9a8caf79f49e6a7cc92400742e1d5fe669ca4bffc4e54d598bd7926b5db6)", - "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 6: Field Element(0x3fdbac83c5dec12397a75886371bedefef5d41ec402fb5929753b46864c867)", - "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 7: Field Element(0x53ecb13bd66788f69e4fe25b49e44680f0d00a01fef3f1a81b2719122cda9db)", - "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 8: Field Element(0x49df1a96d9b6210bca92b46764f51e737ed1b5d0c417fd962250e373168194b)", - "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 9: Field Element(0x49a9c0fd9f6f2cd47767c448646ee1c9c05c490065f59e2a7e7912812c3e50e)", - "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 10: Field Element(0x349dff086fb47c9750274d520104d6dcc1c466c2d840ecb6340d65a1458285d)", - "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13746199, Column 11: Field Element(0x34a88f68855a0828163cf185754cf652add40f9ab6d86ad479ef4fc3fe9ebbf)", - "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 0: Field Element(0x75b5573f01ef71aac351a7d38832aa5d1aea1bd25a1ee9a1586d06022f1483e)", - "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 1: Field Element(0x75f8a46229ae43f9ae031711a73387feadce2ec93d49d19c3928036019163d8)", - "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 2: Field Element(0x450062e613658239dd964d24f573c9d860ae0704ec76d768d2732277a0785d0)", - "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 3: Field Element(0x6344c3f36b62bf7cca7f2a701a806f5c5dd28d9248e3e1c22f0e261e131feef)", - "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 4: Field Element(0x28705cb5ed382f5533c94ff1bdd93a9e4b444d6b4ea988f759e9fd713e02953)", - "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 5: Field Element(0x42153a5e9a500b962a39651a898b57eb8f3dd5790f83a5dfc1402a04c9cec04)", - "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 6: Field Element(0x36c05dcf6a8da6e80a0c88f7b6ef4e25a972f0d18e4a9269d21eb6d0650636a)", - "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 7: Field Element(0x4def3ba4dda7819941779f6ddf1ef1a42e66562a44278d9b33a2b068432eec5)", - "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 8: Field Element(0x345c8ac04b76db0ff51a224441ded3f348118da4bdc52f14330c84fd400070)", - "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 9: Field Element(0x34106e397af0dd44f56e5a309931824f5ab2a7f8590aa3503dad5d6c6ccd2e)", - "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 10: Field Element(0xa80ae17580037f63b2eb4e2806e109e3dd74fad46d8a9a6faaa7fc2bf4f0e9)", - "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13995388, Column 11: Field Element(0x3c627dc9a0c96fdbdaca3bd1dd2a0feadd2399ab2b7d2a23fec2cef912b7647)", - "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 0: Field Element(0x1eecddbda3d87c120f9401aa8d092ee8d86c4822ce50177bc4bf15caad993e7)", - "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 1: Field Element(0x6bbc6eb48bf72910b39db95e5842eadd0aa57260df5042cc58f4ca5e49e1663)", - "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 2: Field Element(0x6d20dab2eea3c6071d70bcb9481d71c9f61900626aa426c69489e334ac7191c)", - "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 3: Field Element(0x65efe7f0afbc5229efb3b7975e4d2a7d3a17111925785e7bc8bba9e0a29af98)", - "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 4: Field Element(0x7316a0c7b8363b88fd426b3c9e0354b875d131609aacfd24afdb7a18704aa54)", - "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 5: Field Element(0x2487a5843bdcb8c7678af921fa45f072ca8ca0e7b2fe26bbc3a87efe6a0f6d2)", - "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 6: Field Element(0x7739a67ab53fcc76dd0310ced5268acd18e55407af94e6cd97088992587949b)", - "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 7: Field Element(0x41aacf2bee8d7eb9b8fa5e45c951e78ac00a92148891910203f53874a1ec6d9)", - "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 8: Field Element(0x27e7549c1731b4044d5c043c3b2eb5cef1de19b1a31fb9ed5e12611122462f2)", - "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 9: Field Element(0x4f3d24090854a8a4996168b687bd1a47e87bb4e9db4c3aa454ce4b12de9fd7e)", - "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 10: Field Element(0x49522ff60e0ec1b6909a63d8e51c7285fc22c5dad6e95148d91c455574cbec)", - "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14748098, Column 11: Field Element(0x7a77876d3b63f808d760b410859280de7675d14babadbac6775f0478ba3db45)", - "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16778572: Hash(0x000000000000000000000000686cf0502fc860240e48474fc809a839f384d4a2)", - "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16933391: Hash(0x000000000000000000000000908ed86a116959f486fd94bc2b657cb28bbf6c5c)", - "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17104649: Hash(0x000000000000000000000000592f258efa1953149e92416e2c998ae4d1c36898)", - "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19013418: Hash(0x0000000000000000000000008f26742353ec80acf6275995d9590d8a569f593b)", - "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22871007: Hash(0x0000000000000000000000005f9a17e4007b4fda447effd13b9c7fdc623b65b0)", - "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23099426: Hash(0x0000000000000000000000006d50c254df90c54908cd62c4054f1bade328edad)", - "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23403654: Hash(0x0000000000000000000000004c215e17fd00169a52e4607076766f574081cb3f)", - "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24128236: Hash(0x0000000000000000000000002e6a88168eb4767734a222bec25aaba1ec0f1db5)", - "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26356430: Hash(0x0000000000000000000000005f6475e1e4cb5b15475156f941ffda1a23b10398)", - "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26989760: Hash(0x000000000000000000000000eaac0553c7a4d3c9b875f5df6e1cacc072b5fb8b)", - "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27844598: Hash(0x0000000000000000000000008bc40ffb07503ec08c3dea1669c9dfaf283787fe)", - "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28490293: Hash(0x000000000000000000000000f486f1ab6e561ffffc42374473a70578e4dcc8b8)", - "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28852326: Hash(0x000000000000000000000000e45711bb966c3241c0dfebf35d39e2807b8a23f0)", - "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30374015: Hash(0x000000000000000000000000266e00a81b69769427a725c407baa4520d2c65e1)", - "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30523414: Hash(0x000000000000000000000000131407a01f7ecc477d48f539dbd14fd4f7232f5a)", - "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30772605: Hash(0x00000000000000000000000052ca3fb3e78e3e50bbcc13bbaf80639406f8d8d5)", - "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31525315: Hash(0x0000000000000000000000002816b2d5d8dbc416cd853de9fd2194c9607b6c3f)", - "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8389287: Hash(0x0000000000000000000000003dd76b6bf8dea309b0c849832193bf61e89d6c73)", - "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8466694: Hash(0x000000000000000000000000d53e43201ff8d4f310ce1df2c5235467b2509ba0)", - "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8552325: Hash(0x000000000000000000000000e6c93b3c997a2e6478ebef6a094a1ee7c3ad5a11)", - "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9506708: Hash(0x000000000000000000000000c6873c2007d27d1c6296872daeafd22acf5bc9af)", - "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11435502: Hash(0x00000000000000000000000048e6027ee42b95895042a13e55210486a66564d7)", - "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11549712: Hash(0x0000000000000000000000008aec6112ba21cf32a9c9ec5f213458bf3e119a54)", - "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11701826: Hash(0x0000000000000000000000001e1b9f33c47887e52cf99ee051d2824f5aab6f57)", - "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12064119: Hash(0x0000000000000000000000003c29ff532e01de232d3b95e1f1e19e6074e29a97)", - "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13178214: Hash(0x0000000000000000000000003a2662469af325ecd22f1fd48bc8c08a7979097b)", - "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13494881: Hash(0x000000000000000000000000cd95209e46f30c56ac5f683704fbe90ac8045388)", - "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13922298: Hash(0x000000000000000000000000b2f41e663ace02a85c1ee1e544d51716cb947da4)", - "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14245147: Hash(0x0000000000000000000000001f997029a4d06cce90b1b3526605a679d5700f01)", - "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14426162: Hash(0x00000000000000000000000065505358feb2446d5dcb2e1887df1478fcc909d1)", - "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15187006: Hash(0x0000000000000000000000009062f5a1087a7fee7cf67db2fb26b3eb227c665e)", - "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15261706: Hash(0x0000000000000000000000004c203d57eb1b6b7a1d239011ee9bb2e948be2c47)", - "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15386303: Hash(0x0000000000000000000000005dff7c9809accbbb468fa863f816e95d25a6cd49)", - "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15762656: Hash(0x0000000000000000000000004df05c9d636ca82feb9a563ba884fdd32ca39766)", - "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4194642: Hash(0x0000000000000000000000007fea5a80e017d396c5e8917c3133aaa54db3b690)", - "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4233346: Hash(0x00000000000000000000000031a7ae366ce07a70ad1f619b456533682333d76b)", - "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4276163: Hash(0x0000000000000000000000000522b36c2bc1db70b96b7d310961adb653e51730)", - "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4753355: Hash(0x000000000000000000000000c70ad8643303002cd3ddbfd20360ac4b3022a71e)", - "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5717750: Hash(0x0000000000000000000000005bf46ae8f4ac5fd7eba359804415c88da2792ebe)", - "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5774857: Hash(0x0000000000000000000000009cbd9452154688a84bec971fa8478085b8c7f182)", - "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5850912: Hash(0x000000000000000000000000c4290c12a6fe5091b6d464ece9dc78eb58c67c91)", - "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6032058: Hash(0x00000000000000000000000044d9bb5e97a2fd309a84248cc5f5fdeca45d612c)", - "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6589106: Hash(0x00000000000000000000000083927f79d95b4ada498197198395a841063b5809)", - "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6747441: Hash(0x000000000000000000000000f62af635cbbf67f8d36655a046265e94c303a8ba)", - "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6961148: Hash(0x0000000000000000000000005b4f69904f8152244f491f5847670b83d056ba97)", - "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7122572: Hash(0x000000000000000000000000db66885ff9e10f68e039894888d9c231e3b93f76)", - "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7213080: Hash(0x0000000000000000000000008e7929fe7a364695662143d3cf6675c5a565816c)", - "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7593502: Hash(0x000000000000000000000000945533b955ebe0279f369e9d47fe1fa7f5b2db75)", - "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7630852: Hash(0x0000000000000000000000006df9d9e2226d8c0a29eb8e10c03fcde02dee2974)", - "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7693150: Hash(0x000000000000000000000000078aa195e0158449b05b8895bfbd16dc2332a3c0)", - "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7881329: Hash(0x000000000000000000000000316503f41d0a4662b3d437708a1b081782ee44c3)", - "P->V[36064:36096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2097320: Hash(0x000000000000000000000000422f850b2ff44c5c46faca020e6fbea41baa0d60)", - "P->V[36096:36128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2116672: Hash(0x00000000000000000000000044d44cf701cd1801109ab013a0aebf3395da123e)", - "P->V[36128:36160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2138080: Hash(0x000000000000000000000000bee62883de6b8c1782c13a6c52ec74f678b1d631)", - "P->V[36160:36192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2376676: Hash(0x0000000000000000000000005d13050fdc00574eac46f4218d1ae57029ce8cca)", - "P->V[36192:36224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2858874: Hash(0x0000000000000000000000002f83e3cdace8d293c39e62188d6ed08571c409cf)", - "P->V[36224:36256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2887429: Hash(0x000000000000000000000000a6af81c57b74846bd6c4c18006f4f1c22108da69)", - "P->V[36256:36288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2925457: Hash(0x0000000000000000000000007ec0ad5d38eae49ce67a9da99b73f5567453ccbd)", - "P->V[36288:36320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3016028: Hash(0x0000000000000000000000002d1a674a7960938d18fef13724b743ad7fd4cd1c)", - "P->V[36320:36352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3294552: Hash(0x0000000000000000000000006029c2fc2f56765294458ae15f6032ab2b49a6b7)", - "P->V[36352:36384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3373721: Hash(0x000000000000000000000000e41dead8b86990b796cf5014e7818331f6ef0d74)", - "P->V[36384:36416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3480575: Hash(0x0000000000000000000000002e4b19f6a5fadd5b171965b43418b627533f8d6c)", - "P->V[36416:36448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3561287: Hash(0x00000000000000000000000001e848da33238f249868f64163bd33f6d88c7c84)", - "P->V[36448:36480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3606541: Hash(0x00000000000000000000000058fd3325a3045bebc8dfe8e27563af3c26cf501a)", - "P->V[36480:36512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3796750: Hash(0x000000000000000000000000f91f8ebe55ace8a33b0094cd9f3cdb4ef1494447)", - "P->V[36512:36544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3815427: Hash(0x000000000000000000000000c20f3088456b9d0349ae8dd97aff95702cb39882)", - "P->V[36544:36576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3846574: Hash(0x0000000000000000000000002902010ee3030783d7c3b516c2e50f957d4c35a5)", - "P->V[36576:36608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3940665: Hash(0x0000000000000000000000000742fee142b6913df35738a6dcff1afc44acba0f)", - "P->V[36608:36640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1048661: Hash(0x0000000000000000000000009a6435d5c240951749e91c62200c77796a2ecb56)", - "P->V[36640:36672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1058337: Hash(0x0000000000000000000000000c729d7d0e83f77d1fefcf4cdd162380870622d2)", - "P->V[36672:36704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1069041: Hash(0x0000000000000000000000005f17ae412229c6214a492cc27cfbcde6ed1100f2)", - "P->V[36704:36736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1188339: Hash(0x000000000000000000000000bfed201caa08f7deb308ca94c0f08d436f714ac9)", - "P->V[36736:36768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1429436: Hash(0x0000000000000000000000002a670c67f6cd90e8ca4a49bc49273ee9d628a627)", - "P->V[36768:36800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1443715: Hash(0x0000000000000000000000004ad7da4e787d7568fa8b17f31c58a479900fac8b)", - "P->V[36800:36832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1462729: Hash(0x000000000000000000000000005500c3b438fc9c4ae5b4558b43e926eb3a0f5d)", - "P->V[36832:36864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1508015: Hash(0x000000000000000000000000367daadf4b3a80f85c34ff9cbb1120151fe94c17)", - "P->V[36864:36896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1647277: Hash(0x000000000000000000000000fd2490447025fe67aaaac1617d299e7bcedddef4)", - "P->V[36896:36928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1686861: Hash(0x0000000000000000000000006cb8d56520e12e7ab8b0533df8271ce59eab8d46)", - "P->V[36928:36960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1740286: Hash(0x0000000000000000000000002fa876e872adaf9a95b3ab5869837e563b328936)", - "P->V[36960:36992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1780642: Hash(0x000000000000000000000000903fbc7c7b2fc01d70dd21ec008873b62a6e7c75)", - "P->V[36992:37024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1803271: Hash(0x000000000000000000000000332f335ecc575e3816fdd3c1194bb13ad3f05a40)", - "P->V[37024:37056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1898374: Hash(0x0000000000000000000000005f5a9fb5be98083eaa4b512e1daeca887f8a3662)", - "P->V[37056:37088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1907712: Hash(0x0000000000000000000000002147f394c7bb4da96899b5c8f4cd679e10bd6a11)", - "P->V[37088:37120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1923286: Hash(0x000000000000000000000000cd125258892dcf7d2bd5e282f570c7cebe12eb9a)", - "P->V[37120:37152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1970333: Hash(0x000000000000000000000000ff385d27d871291ed9c023a1120507da3e20d537)", - "P->V[37152:37184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 524331: Hash(0x000000000000000000000000fd60a204dcb241a734aaf506088c56cced41b8d9)", - "P->V[37184:37216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 529169: Hash(0x0000000000000000000000005c54c8ed3d42c830ce2d295d702ece82db222a38)", - "P->V[37216:37248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 534521: Hash(0x00000000000000000000000024e8875018e868ab4a39b74c99d4cedd70118f73)", - "P->V[37248:37280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 594168: Hash(0x000000000000000000000000fc5b3fa9d9dd60c2e0b66c5dd626fd254e0433f4)", - "P->V[37280:37312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 714719: Hash(0x000000000000000000000000ed651ca4daa849450376c4ba1abdb02ce4ca80dd)", - "P->V[37312:37344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 721856: Hash(0x00000000000000000000000014be5271c07204b0ed9725f477a79b941eec7111)", - "P->V[37344:37376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 731365: Hash(0x000000000000000000000000b5dedf0c8560738cfa96cc64bb3db2551de6027c)", - "P->V[37376:37408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 754006: Hash(0x0000000000000000000000001ed6671ac7f747e60da1fc4130ef4d5cabba672a)", - "P->V[37408:37440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 823639: Hash(0x000000000000000000000000c959ee8f295647412b6fc7db0aeca921eeca2241)", - "P->V[37440:37472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 843431: Hash(0x000000000000000000000000bdf46e6752d2ed8fc2b128d55a36accd39e1b5e9)", - "P->V[37472:37504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 870142: Hash(0x0000000000000000000000008bdcb3e603526e3eb9fee8c443aff1619d71d903)", - "P->V[37504:37536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 890320: Hash(0x000000000000000000000000b37727bbed8d62e79958d4435bb928a91e1c8ba8)", - "P->V[37536:37568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 901634: Hash(0x0000000000000000000000007841fe96f8245cbca60004962e5f64a1723e9c0a)", - "P->V[37568:37600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 949186: Hash(0x000000000000000000000000de2d2d0d257bf65635cd97c623e6e6993b60f063)", - "P->V[37600:37632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 953857: Hash(0x000000000000000000000000bc048bc41b0de5146b73d354135a4344e5ab604a)", - "P->V[37632:37664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 961642: Hash(0x00000000000000000000000028c315fc3f68eb546e35ede3e9c0238411188298)", - "P->V[37664:37696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 985167: Hash(0x00000000000000000000000069b330bb7d125926f118ff589693c02a90657a97)", - "P->V[37696:37728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 262164: Hash(0x000000000000000000000000efaae0e81d8a63ca817aad842687da0bf7fb83b7)", - "P->V[37728:37760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 264585: Hash(0x000000000000000000000000ac759a4158b2bcd792caab0224190d2f2438ac91)", - "P->V[37760:37792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 267261: Hash(0x00000000000000000000000039517b93e0369181d63ce529ff24a3494cd924c4)", - "P->V[37792:37824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 297085: Hash(0x000000000000000000000000fe1680b4331ee1f6fdeb1f11a9fc4cb13eabd5a4)", - "P->V[37824:37856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 357358: Hash(0x0000000000000000000000000a0ab933716a29e919075f4f1d1ed8ebfc82fd0a)", - "P->V[37856:37888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 360929: Hash(0x000000000000000000000000294f7599c4925b17ce660d6facad012b374b0d7b)", - "P->V[37888:37920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 365683: Hash(0x0000000000000000000000001d68f5a9b534da1992ef8dc978f9864a59fba6f2)", - "P->V[37920:37952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 377002: Hash(0x000000000000000000000000791761855d4108d7efc0fc71044174dc1eee1b89)", - "P->V[37952:37984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 411818: Hash(0x00000000000000000000000004d5229c29643f3917f580d198c717b671f6d89f)", - "P->V[37984:38016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 421714: Hash(0x0000000000000000000000006d712236fa2441e58149b20f1105fcd074333f2c)", - "P->V[38016:38048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 435070: Hash(0x0000000000000000000000006000e89be52d25c99f82d669ed8f20609a0fa309)", - "P->V[38048:38080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 445161: Hash(0x000000000000000000000000d1b7b9eaffe5e39b4ad648bda5ffa375d06464d8)", - "P->V[38080:38112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 450816: Hash(0x000000000000000000000000df3e133eac6a44e2b7eb47df2ff769f151eabb03)", - "P->V[38112:38144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 474592: Hash(0x00000000000000000000000055ff593e4b74e61e6d81fdce494f0f4b443b436c)", - "P->V[38144:38176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 476929: Hash(0x0000000000000000000000002132c23dc7f6b8f86bc9d6b0781c1b27fa29661d)", - "P->V[38176:38208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 480820: Hash(0x000000000000000000000000cc94be28d533c25a1994603e6c638ebbaddd4ba9)", - "P->V[38208:38240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 492582: Hash(0x0000000000000000000000005c24ce84ec05a4f856b762da4d199e466a89eb73)", - "P->V[38240:38272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 131083: Hash(0x0000000000000000000000004b2a0ce2095e6bf39f1ce4d1e4b269ec7bc04350)", - "P->V[38272:38304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 132293: Hash(0x00000000000000000000000053073277897d7de30eafe9c69bc94572f7feaf51)", - "P->V[38304:38336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 133631: Hash(0x000000000000000000000000e986a233e4e7ec7030b12c26b66bc5cda1d5c767)", - "P->V[38336:38368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 148543: Hash(0x000000000000000000000000f4e5e55ec4b671c11d7ecdf9f24ea6ddd1f5203e)", - "P->V[38368:38400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 178678: Hash(0x000000000000000000000000fc69430e28007d408dc6cff8904db1efdc4783f9)", - "P->V[38400:38432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 180465: Hash(0x00000000000000000000000013cf5197472b9a125480d41d35dc40c52c8e3f1f)", - "P->V[38432:38464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 182840: Hash(0x0000000000000000000000007193b320bb1f96bcc5661c989126673729884b53)", - "P->V[38464:38496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 188500: Hash(0x000000000000000000000000993462af739fee85b5b639a7577381ce775e4d2b)", - "P->V[38496:38528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 205908: Hash(0x0000000000000000000000004d9633af1523139282799039eeb9e9250b1af1c2)", - "P->V[38528:38560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 210856: Hash(0x00000000000000000000000050002556468bedf8ef621d6f263b0cc211cac74c)", - "P->V[38560:38592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 217534: Hash(0x000000000000000000000000d032af0afd38f9daef3706d16345cf7dd5d872f0)", - "P->V[38592:38624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 222581: Hash(0x0000000000000000000000005c73bc32b8ee40d384e7c147fbd76fabe17e21d3)", - "P->V[38624:38656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 225409: Hash(0x000000000000000000000000cddcb5a490848c51cf87145d1bc29f48b3d57743)", - "P->V[38656:38688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 237297: Hash(0x0000000000000000000000004308114a8b4b22d0056c160cf3e8655c542e3029)", - "P->V[38688:38720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 238465: Hash(0x000000000000000000000000dec7e18b91683a0731800d1d91d5c5b83e480e99)", - "P->V[38720:38752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 240411: Hash(0x000000000000000000000000bf0e67a472362246e1ce5b4b17a7e9e95b1aaee9)", - "P->V[38752:38784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 246290: Hash(0x0000000000000000000000004864046441fefbf45831582500437c8f3ec66556)", - "P->V[38784:38816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 65540: Hash(0x000000000000000000000000eccf16bc9907b99b427139a571bd810e55f41399)", - "P->V[38816:38848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 66147: Hash(0x0000000000000000000000002978a15b3485e67357eb930fe6d51341b1ef6624)", - "P->V[38848:38880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 66814: Hash(0x000000000000000000000000d63460795f7a81ba5938aef8f738873dfa21fb81)", - "P->V[38880:38912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 74270: Hash(0x000000000000000000000000e201d41eec9f1c4eb28a683adb307065408eec2a)", - "P->V[38912:38944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 89338: Hash(0x000000000000000000000000fa0abef39f4a32c0b295fde95cc0aca9013f56ae)", - "P->V[38944:38976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 90233: Hash(0x000000000000000000000000acc428eaa04e4e36880a790d1f7b463b3e5c86ba)", - "P->V[38976:39008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 91421: Hash(0x000000000000000000000000694f8273722c7e5c198245a4ea5d1474440a02f4)", - "P->V[39008:39040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 94251: Hash(0x00000000000000000000000004e60bb2cb39b4639f55cf7660aa85dd9bf533c4)", - "P->V[39040:39072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 102955: Hash(0x00000000000000000000000061f4062180a310d3739ec86589e7b26e2e3dc6d2)", - "P->V[39072:39104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 105429: Hash(0x00000000000000000000000052128c9b996aa330e8497f29b69b56d696936fa0)", - "P->V[39104:39136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 108766: Hash(0x000000000000000000000000d0aa6db472fc8ea54dbc89e42c5cb02d29a11aec)", - "P->V[39136:39168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 111291: Hash(0x000000000000000000000000a49909a496037d789e4f4cee14d6e8fc3adc5351)", - "P->V[39168:39200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 112705: Hash(0x0000000000000000000000009979fcde360b95646db973e2e1f37c56b81a1106)", - "P->V[39200:39232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 118649: Hash(0x00000000000000000000000090a80e09d5c2f2e48adb5866cdfc0ac1aafde939)", - "P->V[39232:39264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 119233: Hash(0x00000000000000000000000035bcc3efb59a8df73a89543d420b70b7f4286976)", - "P->V[39264:39296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 120204: Hash(0x000000000000000000000000c4a9bfaa5754626d42ab02b5d41b6f6495869b62)", - "P->V[39296:39328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 123144: Hash(0x0000000000000000000000009f3ea1e1382269f7e6d0cb1c6a577d865aa611c3)", - "P->V[39328:39360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32771: Hash(0x000000000000000000000000829825e78a45b299326ea26f7491fc8585704ca3)", - "P->V[39360:39392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33072: Hash(0x00000000000000000000000010cca32bfc3de5cd8411c667f8657fb61482968f)", - "P->V[39392:39424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33406: Hash(0x0000000000000000000000000fc4a146e22dcedc500e3cfbd5fb32c5420fa13e)", - "P->V[39424:39456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 37134: Hash(0x000000000000000000000000b8b860be5c42230387065a9f7a575e4e85d43760)", - "P->V[39456:39488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 44668: Hash(0x0000000000000000000000005f4b1a2a58e796aaaf6be951a4d6c348de2af927)", - "P->V[39488:39520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45117: Hash(0x000000000000000000000000389659f924c7125136fac18e8584cb15f48ae7db)", - "P->V[39520:39552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45711: Hash(0x000000000000000000000000b9b2de8cc5eec58e38a8147af43ab05dd8d4ea49)", - "P->V[39552:39584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 47124: Hash(0x0000000000000000000000005cf7aefa7db8f7bc02c9a9af1849ab3622bb0d42)", - "P->V[39584:39616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 51476: Hash(0x000000000000000000000000ce7eb874cb7327fb5e9b97ab9d90af4a014ce43e)", - "P->V[39616:39648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 52715: Hash(0x000000000000000000000000ad6a5ff44559cd21aa87bf7ef673664b0cd5d143)", - "P->V[39648:39680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 54382: Hash(0x00000000000000000000000082f9538d2ae666603183ef6533fbe6cd6d4074fc)", - "P->V[39680:39712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55644: Hash(0x000000000000000000000000fda14958f27b3f16226c1b4198198647696a551f)", - "P->V[39712:39744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56353: Hash(0x000000000000000000000000a4d5b3095f0a8c6d4548d7337c28b1732e2d05a7)", - "P->V[39744:39776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 59325: Hash(0x00000000000000000000000068b3bf7548c4b30083702d8fe0aef7a648769aa1)", - "P->V[39776:39808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 59617: Hash(0x0000000000000000000000005b0ddb959589b1dcfe0b9af1e7bbc672d7e6b396)", - "P->V[39808:39840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60103: Hash(0x0000000000000000000000000125850dd0b8f8d9729e8a1c6733d46e777598b0)", - "P->V[39840:39872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 61573: Hash(0x000000000000000000000000d361b9cb88e0c7bcea131d38a1590e5625b6f0db)", - "P->V[39872:39904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16384: Hash(0x0000000000000000000000007be6cdee8c72709fc9dca5706fed91a0b30938e1)", - "P->V[39904:39936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16537: Hash(0x0000000000000000000000009e4de43cf54377f513b9f6bbe5fa6c03aee1bd5e)", - "P->V[39936:39968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16702: Hash(0x0000000000000000000000003a19672a76b805d7f2578b26cbb62f36e22fa637)", - "P->V[39968:40000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 18566: Hash(0x00000000000000000000000087ede2d274911cac5406e7925b652e35fce4efff)", - "P->V[40000:40032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22335: Hash(0x000000000000000000000000f7228a23d1b1421e926667be1f4c48f075f5db0b)", - "P->V[40032:40064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22559: Hash(0x000000000000000000000000ebe91b31c819c1109fa133a852022e83175414bd)", - "P->V[40064:40096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22854: Hash(0x000000000000000000000000ff65249f5c9b79267dc27327234d70236aa3502d)", - "P->V[40096:40128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23563: Hash(0x000000000000000000000000f731782e9709807bbb2ee73748a633becb66779e)", - "P->V[40128:40160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25739: Hash(0x00000000000000000000000063aebd12765c88317b6f7f7a2138c49a925844b8)", - "P->V[40160:40192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26356: Hash(0x000000000000000000000000d64b36eb6cfe5c0cfa8a72bbdaff6b19ad154907)", - "P->V[40192:40224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27190: Hash(0x000000000000000000000000e64c256c6c6a007759707372e509475bb7bea3ce)", - "P->V[40224:40256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27823: Hash(0x00000000000000000000000078ac24968216aa73ed0c547822ccaa191871fc74)", - "P->V[40256:40288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28177: Hash(0x0000000000000000000000005ee39646eebed309ba47057bfcc6284513cdfe03)", - "P->V[40288:40320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29663: Hash(0x000000000000000000000000e63bd3d86784212a010b65b24828030c616c9505)", - "P->V[40320:40352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29809: Hash(0x00000000000000000000000033930e4fecdea472158fb7eb72ef85cb944bc064)", - "P->V[40352:40384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30050: Hash(0x000000000000000000000000b191321092498dfd3aeb590c106937b36dd75967)", - "P->V[40384:40416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30787: Hash(0x0000000000000000000000003fe0bec6a99e6cead27592860427403ebb04de52)", - "P->V[40416:40448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8193: Hash(0x0000000000000000000000009c09076ceaea8d109abe3453ab45769928827f67)", - "P->V[40448:40480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8269: Hash(0x000000000000000000000000b535f5328f3658665f0d7dc1406104729210e3b1)", - "P->V[40480:40512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8350: Hash(0x00000000000000000000000020f309d69ed89ac7d0dfde4cbbd1065d85b4fa42)", - "P->V[40512:40544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9282: Hash(0x0000000000000000000000000adefe8743419ce2307ff76b8f4cd153001c52e3)", - "P->V[40544:40576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11166: Hash(0x000000000000000000000000abfe4bee59623d000d2773eca0afbf0a48e1810a)", - "P->V[40576:40608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11278: Hash(0x000000000000000000000000161e6ec3c78cab1842a33997cc74d0612dc763a3)", - "P->V[40608:40640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11426: Hash(0x00000000000000000000000041cff18c9cf9d255d4935b8256d223472b1ebab0)", - "P->V[40640:40672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11780: Hash(0x000000000000000000000000917d912baa7c1024d79c4239f025abf31e39116d)", - "P->V[40672:40704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12868: Hash(0x000000000000000000000000c93c7be52e46ac0b77018c4874813bbe31300d26)", - "P->V[40704:40736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13179: Hash(0x000000000000000000000000c6090e69b2b6bbda4114d40a2fb95ac54a351480)", - "P->V[40736:40768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13594: Hash(0x000000000000000000000000a1280288904ff1d2c4d0131a439658bc726e387f)", - "P->V[40768:40800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13910: Hash(0x000000000000000000000000ef1be37fe44ad50f56d93b3621879e078a839968)", - "P->V[40800:40832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14089: Hash(0x000000000000000000000000b2163ad1c355ab55d9911819d89212063bc7ac3a)", - "P->V[40832:40864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14830: Hash(0x000000000000000000000000cbead7029fb2e2ccc5f0c42c456fc6987b55232c)", - "P->V[40864:40896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14905: Hash(0x000000000000000000000000895d442ccece34eb557aa146feab1c77e591b7f3)", - "P->V[40896:40928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15024: Hash(0x000000000000000000000000a906762047fdca0973b8de92c80ab5fd99f89fdc)", - "P->V[40928:40960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15392: Hash(0x0000000000000000000000004e3c8e44b8b8152e974b45acf94c13462692a6eb)", - "P->V[40960:40992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4097: Hash(0x000000000000000000000000d39ee58e7d11671d46027e0ebaeb8167c740546b)", - "P->V[40992:41024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4135: Hash(0x000000000000000000000000f9095b6a8e0f3d368b89cfcc79e024d75fdedb6c)", - "P->V[41024:41056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4174: Hash(0x0000000000000000000000007e24d5569fe372628076fff96cad64ff378fd699)", - "P->V[41056:41088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4640: Hash(0x000000000000000000000000396f6bd2372c70c831809f497e56212a49055f0e)", - "P->V[41088:41120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5582: Hash(0x0000000000000000000000001788bb1d7bf6c5bc2b3b2c2f14a52e6671353e5f)", - "P->V[41120:41152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5638: Hash(0x000000000000000000000000ddff44272f4ce0ea683646c34584dd55e281a909)", - "P->V[41152:41184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5712: Hash(0x00000000000000000000000046e90b2bdaa6ca548ce0eb76d4b5988ebb24f291)", - "P->V[41184:41216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5891: Hash(0x000000000000000000000000951747868ceb916816853990504a866df4cd0476)", - "P->V[41216:41248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6435: Hash(0x000000000000000000000000c585234a5982d1ed573e72fd4aa929e06bea0361)", - "P->V[41248:41280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6588: Hash(0x0000000000000000000000002b1e3d6015102dcd1a2130d72c77adfa9271a95f)", - "P->V[41280:41312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6796: Hash(0x0000000000000000000000008c4e5885b06afcfcf3c0da5af0879ca2d66ddfc8)", - "P->V[41312:41344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6954: Hash(0x0000000000000000000000002fc3533febc9a44eeecb19d3f27f077818b2fcd9)", - "P->V[41344:41376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7045: Hash(0x0000000000000000000000002df6cce98634d3cdac96a2e2f9347fceaa3a58a8)", - "P->V[41376:41408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7414: Hash(0x00000000000000000000000097df672c0c85d164cef9e013f1ada426f18c3c12)", - "P->V[41408:41440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7453: Hash(0x00000000000000000000000017999a12f39e0e6563b8bab9a83cdfc7c9eae0a8)", - "P->V[41440:41472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7513: Hash(0x000000000000000000000000794751cedee4b88cdb391af73e48119b818bf58a)", - "P->V[41472:41504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7697: Hash(0x000000000000000000000000fd69f265eafaf361d9ac9197727d0c0dc3f1ed86)", - "P->V[41504:41536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2049: Hash(0x0000000000000000000000007c3fecf723d88341cd86188a864f5fb91974a5e8)", - "P->V[41536:41568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2066: Hash(0x0000000000000000000000009c1e4b854c16ebb032ec366b1fa82a42a3b5ba9a)", - "P->V[41568:41600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2086: Hash(0x000000000000000000000000b2267b1729c9d82858dbe2b49b397f88d3e6a35c)", - "P->V[41600:41632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2321: Hash(0x000000000000000000000000c061891fe5776e96680c1b1b4f72a0737e90ddb5)", - "P->V[41632:41664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2790: Hash(0x000000000000000000000000054be84feef69b3d35a385aa059a87547560f50f)", - "P->V[41664:41696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2818: Hash(0x00000000000000000000000027c02bb2792107ef47847c50d66c401e10a08902)", - "P->V[41696:41728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2857: Hash(0x000000000000000000000000fde8b1be372b6deface04424c1590d07252d9994)", - "P->V[41728:41760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2944: Hash(0x0000000000000000000000004f05c1f8d815d2c8dbadfee32219214127c6c643)", - "P->V[41760:41792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3216: Hash(0x000000000000000000000000ebcbd809801cb87890c88f1700b8ad62429743e7)", - "P->V[41792:41824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3295: Hash(0x000000000000000000000000411f63acfd8ea6b0c7c7ec1ada11efffeef99497)", - "P->V[41824:41856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3399: Hash(0x00000000000000000000000089bc3436f43e19a1423b03e5b809d832c10e4326)", - "P->V[41856:41888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3476: Hash(0x00000000000000000000000093eb316aa13db126f670fd1286c8b7b6bc87d73e)", - "P->V[41888:41920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3523: Hash(0x0000000000000000000000003ea91146ba34e9f5176969f348fe2b50c0c397d8)", - "P->V[41920:41952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3706: Hash(0x000000000000000000000000ffcffaa05cde8cebe759c9287c2279e119002916)", - "P->V[41952:41984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3727: Hash(0x0000000000000000000000007bab3049710af156b7df2b60ffd0fa0fdecd0894)", - "P->V[41984:42016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3757: Hash(0x00000000000000000000000048cc928a67dd75937cbe20c6a79edf2fc54f2ee8)", - "P->V[42016:42048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3849: Hash(0x000000000000000000000000540e497fe09369318557043ced11802c41ab829b)", - "P->V[42048:42080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1025: Hash(0x00000000000000000000000042bd819128f83e738fe0091d97bdcc7f6cfabae5)", - "P->V[42080:42112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1032: Hash(0x00000000000000000000000084973f55a388b9631f0f90fee6f463ae282ceb84)", - "P->V[42112:42144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1042: Hash(0x0000000000000000000000005aa3a33db7ec1bd6a93bd3f49c38b7802b095eb6)", - "P->V[42144:42176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1161: Hash(0x000000000000000000000000016c52d3f03d2d19897b481e9680e69f635c998a)", - "P->V[42176:42208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1394: Hash(0x000000000000000000000000b85bae004b52e3075f84e215e5f1fd9e41534048)", - "P->V[42208:42240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1408: Hash(0x000000000000000000000000e1506b658d6dcf580649a44affe3d7011e386e9a)", - "P->V[42240:42272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1429: Hash(0x000000000000000000000000c13ddcc2ebcf3b354535b9594ee62f1de449c727)", - "P->V[42272:42304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1473: Hash(0x0000000000000000000000007b0fb07ea3bf61d8ac8341e2b77c6a9bfe9d28a3)", - "P->V[42304:42336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1609: Hash(0x0000000000000000000000003614bfda5cf6e540cf15e86a616c7eb761220c39)", - "P->V[42336:42368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1646: Hash(0x00000000000000000000000024b8d6cf3ce1c1bcaf920fe43be6d20d923b9128)", - "P->V[42368:42400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1698: Hash(0x0000000000000000000000003557abc8e6040eed714a59e453c6496d9b615399)", - "P->V[42400:42432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1739: Hash(0x000000000000000000000000e03fa2b03ef0e5c1bc17f47aa7bf518656a675cd)", - "P->V[42432:42464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1760: Hash(0x000000000000000000000000ce6daf87fe847a2e36c781e2d3544e0890a8a455)", - "P->V[42464:42496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1852: Hash(0x0000000000000000000000002afc74bfd416ff7214e6a1c069fa5c1ac6c45d1a)", - "P->V[42496:42528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1862: Hash(0x00000000000000000000000064a42c3cba19d31ba8879c8846d45849e52ae442)", - "P->V[42528:42560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1879: Hash(0x000000000000000000000000afd6d5102eac291b660fd50e45b28eb2129fd5ce)", - "P->V[42560:42592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1925: Hash(0x00000000000000000000000098d6905440fb95e022396e88708113d9eaa8202b)", - "P->V[42592:42624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 513: Hash(0x1608df33e410f2bc251e22f035a9e97e230d81ae)", - "P->V[42624:42656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 517: Hash(0x157ba5d0eb50f45f3e0c3c1ef91fc7351bb89fd8)", - "P->V[42656:42688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 520: Hash(0x21e52dc9e7881b1c23b37b337037d4808ba0cbbc)", - "P->V[42688:42720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 581: Hash(0x7948602df75c77897c6c4a8ca6db430e8b676389)", - "P->V[42720:42752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 696: Hash(0xadefa2e8730589d7b22bf43c7fc70317c14147a7)", - "P->V[42752:42784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 705: Hash(0xb34a88212d53d85076cd56c32640a7bef1fdef62)", - "P->V[42784:42816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 715: Hash(0x318a5c3d450df9432226c445efe969d5c8c2d06d)", - "P->V[42816:42848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 737: Hash(0x961c457006df307d28b7a81be8cb1c0fb17f5c40)", - "P->V[42848:42880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 805: Hash(0x2ad915e201fd4626c4f1067294d05d9fc5a519a6)", - "P->V[42880:42912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 822: Hash(0x9cfb67e47f33b7cdf8e107c7adc2b0db531d572e)", - "P->V[42912:42944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 848: Hash(0x1998b48fd0c4b5ab4db9754140de6812561da56e)", - "P->V[42944:42976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 868: Hash(0x75dfbd4e5505de9e0a7caef489981ab2b3d13b4b)", - "P->V[42976:43008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 881: Hash(0xf9ec3768a7648ddc7f5c1b65c7db38303d9ef94c)", - "P->V[43008:43040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 927: Hash(0xa377692ff469f334e30438e0d11c0cbc86934aa1)", - "P->V[43040:43072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 930: Hash(0xb0c79234837779e69d37d0cbea12df06bbfc5e)", - "P->V[43072:43104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 938: Hash(0x7c2dfc2ce1e19f56723edecb504e2f9dd447d86a)", - "P->V[43104:43136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 963: Hash(0x6c187a63aaf8d4296bfa5a7add740df0f20150b7)", - "P->V[43136:43168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 257: Hash(0x2cbc6fb6670dda22bc280c91b6234715ecf2e45280324dbbc7953a02db8c8c8)", - "P->V[43168:43200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 259: Hash(0x7148c1605802245aa809030508256e05575b07fc8b0163818df84d76bedbff)", - "P->V[43200:43232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 261: Hash(0x4a387ef5b63ecbdaafc3dc0e7f3402c9c2ae6917099ae9a37f7b0a44df4b7c1)", - "P->V[43232:43264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 291: Hash(0x5e134ba1e08f4220acc72b85a1f069677ba5d2e5f7f55bd9bbf23c41d2639b0)", - "P->V[43264:43296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 349: Hash(0x20ef128d2669d482a68d61c8a50dc96accb34ea699a4cd290ea781559dc9030)", - "P->V[43296:43328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 353: Hash(0x751c0fd194771ea880f9a1b38afad1629a1e840b80ab39fb0a523cefec1a184)", - "P->V[43328:43360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 356: Hash(0x63380c1558d9e32256f8ba792c24a7a84173def05221f1b4e66ac5533b72f47)", - "P->V[43360:43392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 369: Hash(0x486fc67c16e215c8a8ca5012ad66a8389fd7aa107a20cbe1c78beb751f6e8b9)", - "P->V[43392:43424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 403: Hash(0x13b2ebd3e22d29464c798abf5a152f80331dcc8296fbc925357e2ddeb0394f1)", - "P->V[43424:43456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 410: Hash(0x411977c64fd8864959a8d9225b05a4bca804a09f2a057a5575f0ee886616c23)", - "P->V[43456:43488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 425: Hash(0x7c5891738db968ac183dbc52c9b5ab229950302393c89f73d3bab931b236416)", - "P->V[43488:43520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 435: Hash(0x5fce41fe0cc77fdbfd1cf53e646ea7e4cdf8d5e9d7ea67d0133c9f9246f6127)", - "P->V[43520:43552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 441: Hash(0xb89165946078bd3f6d64e7ecc80d48498cc5ec3f88a3c5452a610600b455d)", - "P->V[43552:43584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 462: Hash(0x38a76c8e55559d1d647641f6a1b22b980b0b91d2e216fad43975f8ca4c6434c)", - "P->V[43584:43616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 464: Hash(0x48d203be17126233cce66088b1cb8013c9cdbe9f982093bdfd42d7549ba314a)", - "P->V[43616:43648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 468: Hash(0x4905e99a53fd48ef5837523a0310d30c6260d8a66d253d0c3a5faea3e152bcc)", - "P->V[43648:43680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 480: Hash(0x2d316460e5e5c9b6d92025bd52dc7d382dc910afdfd49a3a2adcbec4a0205fe)", - "P->V[43680:43712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 131: Hash(0x452d7a1785df6f6fd26844e53834a71d28a4658544575a4146c8b55aa8a8f32)", - "P->V[43712:43744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 144: Hash(0x3d9290e6f8b9dfe459ab023a74bc805d4d75b0b9014f875760927b10c1e9969)", - "P->V[43744:43776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 175: Hash(0x1db2642c5962ee347c40d401272c483ae0a83600e79885eac09e2b3e23b1cc0)", - "P->V[43776:43808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 177: Hash(0x7289971e5986a47132dc05dcbe2ffe1988e0980b7798d3b2384bbe0a21cf629)", - "P->V[43808:43840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 179: Hash(0x485cf4af18f8f2ab10e1b46a42f7954860fea499319ea79f0d9f3b21938f5a2)", - "P->V[43840:43872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 185: Hash(0x2e8c712554738ec69940386f739c6043cf75acc4d2da9b24ebc60f17c021fb8)", - "P->V[43872:43904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 200: Hash(0x65a68891c2482afa4d0029d6fce57ece33428ecd950a923fb7d674c026ed7da)", - "P->V[43904:43936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 204: Hash(0x689a0c8a9d4fec040695705a1ab17700e4d7d78eb743db1a8601c0b3a0bd9df)", - "P->V[43936:43968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 213: Hash(0x113cc4d87491aa870c489cec8155ac74ef071790f7999c93cc85ca1ab41b0ba)", - "P->V[43968:44000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 216: Hash(0x52af7ffb53476b194920b6788217186f63edf15ce79e474a97d2472aa1e6170)", - "P->V[44000:44032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 221: Hash(0x1328f4d570b625e1c805b5fb7331897933d129b568ccd2515c23fcd1c99df5c)", - "P->V[44032:44064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 230: Hash(0x5d0a113a42ea43280d7dae2750d0e2e9cd75a93ccd914b64fe224ea7afa3953)", - "P->V[44064:44096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 233: Hash(0x627ba37b15c62d2dba668b1034b26623de7f996dd9533fa73c1586a4c688df2)", - "P->V[44096:44128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 235: Hash(0x6b79b758b80b81978af364c80947ba556f4fc94093466de9c4497c0482a8088)", - "P->V[44128:44160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 241: Hash(0x42b4da4fae5d31d1e3258d04a135acab1e8b4db8164c2d90be2aaf0ccf4dbf3)", - "P->V[44160:44192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 73: Hash(0x14ca18940cfd7e39d3e281a4fc0af0accd6be173b24b37fd36e4ff96f76bf2)", - "P->V[44192:44224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 86: Hash(0x139efc01c086cc7451ce691d4749452697c18efaed17b4a0c63091bb94c6200)", - "P->V[44224:44256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 93: Hash(0x45003c33494524fa5da82a728d5c4b77ea8e8aa566b64eb60b621e002ebfaa)", - "P->V[44256:44288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 101: Hash(0x325def0e0de85449ec1d3d3b83c007b70d9bd0fdf11c71da682625fead350b2)", - "P->V[44288:44320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 103: Hash(0x15b415e3b9c2dff100255c1dcaa8c7d0d9194b36a14c865089473e6ccd573ea)", - "P->V[44320:44352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 107: Hash(0x744d26f320561919ba980db8d2a966371cd8d6175fb3473deb2f2da5a76db21)", - "P->V[44352:44384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 109: Hash(0x5a23ea653ebb783105f4444783977e4a530090b615ff7df8c8e96394f61b731)", - "P->V[44384:44416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 111: Hash(0x7f92a4b0c55ec21660aebb5dccc304547bacfabc6af5f60f6500e7c91865528)", - "P->V[44416:44448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 114: Hash(0x636784ab03e494aa3c7f25834b18c0fba6cbd8e86b282821de150a3b342b2dc)", - "P->V[44448:44480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 121: Hash(0x120f00509a1c9e99e84daa8974584808dc6c4dee423502828d18e1ef3f2b8e9)", - "P->V[44480:44512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33: Hash(0x2a180535708773ebea0bab3d8d1e2fb0cf393eaececcdc3613a78fabaa09079)", - "P->V[44512:44544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 37: Hash(0x32e7be0c91e6c968183dc8bd5006f19d4d6d5c7090f9089e06c6aacdfe9ed45)", - "P->V[44544:44576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 42: Hash(0x3b4d64a612824715a3c49ed495ee63dbdd9241d04f853a1dc6228b38b73fb8a)", - "P->V[44576:44608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45: Hash(0x73e41cb428d745745a0abc836b694d9ac0dd79f770d62ea52cb976c0b086a5e)", - "P->V[44608:44640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 47: Hash(0x21a743a069f7f7e4f45080ed7a011664ffb6ed6fd113e3dcc3c417dd0fb089e)", - "P->V[44640:44672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 52: Hash(0x19311cdd07ece36f0e716f5aa7a34ff7f062eb930da6188070002d8b0a5c30c)", - "P->V[44672:44704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56: Hash(0x1c868dd515462fbce29a17482b2b1ae5af5213e2ed8d86963b67c56e6599a79)", - "P->V[44704:44736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 59: Hash(0x3cea92c42c37554d51fdb948726529d130fe8c117550f72c885435fae5eb56e)", - "P->V[44736:44768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 61: Hash(0x65d26e67908fa2ffff4487bb1efe151aa41369e7eafbfa564486e836d3bd1ba)", - "P->V[44768:44800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17: Hash(0x6402d97e30e80e664ac42b9088a49a001b4552135535039c85a043bb05f4a44)", - "P->V[44800:44832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19: Hash(0x269899123d318c4f240d911ca6c2b68073f5a81bb98a97520e871bcce97b12f)", - "P->V[44832:44864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 20: Hash(0x45a317bc960fb52bf95537927e4f9a4480c7d11d226241d11a8d963bea99322)", - "P->V[44864:44896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24: Hash(0x27996e5b6ee2d57746079532a8b97b2aa89dd51aa21507cf499f8e4a2f8adbb)", - "P->V[44896:44928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31: Hash(0x59e5539b72111a54904b6b34162a5f841b26d33fcb6dc35b735580ee2f410b3)", - "P->V[44928:44960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1357, Column 0: Field Element(0x4f5d034d7a2b337116a327aff85c009d11dbf7159f1d7099b6979f781532932)", - "P->V[44960:44992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1357, Column 1: Field Element(0x6b4f2e5ec943a92276aaddf0b7b0610563cd0ee37762e60d6c9a74d4aecc026)", - "P->V[44992:45024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1357, Column 2: Field Element(0x26017c58d264a393c020f6da1e110559a7c10db20b1ca88bd910be1c0956768)", - "P->V[45024:45056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 156174, Column 0: Field Element(0x6107c87b8fceea083ed54fcbf85effeecd02b9760145ceb9d8c30e179e1537e)", - "P->V[45056:45088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 156174, Column 1: Field Element(0x772e14f8eca2d2e9a602b52f43d459c6b2304dcf6eaf0ade139ac778e866647)", - "P->V[45088:45120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 156174, Column 2: Field Element(0x3c1158cd061277940cd151a812ad91ed5ffa90ad8ef4953092e85cb3cd7651d)", - "P->V[45120:45152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 327432, Column 0: Field Element(0x5947138d9ac248f6478515164370f66525d995df62896cc91b809a34dabc5aa)", - "P->V[45152:45184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 327432, Column 1: Field Element(0x2ddd63cfafadbea5762c2af096210dca5afd5ea3198bc596b7ad98ac038deaf)", - "P->V[45184:45216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 327432, Column 2: Field Element(0x13fce97ca19ee0ecf809048b2fcfc58648546d99316bf4e5177453b1fd70ef7)", - "P->V[45216:45248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2236203, Column 0: Field Element(0x369c7b8d8fa387f9651f440f6129f1f16d51393f454f1b41163adf2bb38654)", - "P->V[45248:45280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2236203, Column 1: Field Element(0x43a94f4d5fd34a469ca91030e8ecf5fc8ec866aff25812caa6c7e1d588b1de5)", - "P->V[45280:45312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2236203, Column 2: Field Element(0x11ac8b0213b09c740f3acf7b22f82bb4701317d1d7a7fdeabcad01c13c50a36)", - "P->V[45312:45344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6093790, Column 0: Field Element(0x4a69ffcc5d64986d03fab2fb2317584d94623996ed3e88d1dca28faab714f94)", - "P->V[45344:45376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6093790, Column 1: Field Element(0x1d860fdbf333c2e4630dbe65e86c260cfdb80db5ca2f60d7c3b982b973dbe9d)", - "P->V[45376:45408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6093790, Column 2: Field Element(0x4581edbe700f945ee61e592f1b787abbe569babf3fe86073d1af13bec9f7913)", - "P->V[45408:45440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6322211, Column 0: Field Element(0x299d34fe258ef5cd3240c501dda0e67105b8a32966ca4d5c5b41d682caa7293)", - "P->V[45440:45472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6322211, Column 1: Field Element(0x263eb32e1bb3d172302556d1f235e35879a341eaac79d621c3e9fb569852248)", - "P->V[45472:45504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6322211, Column 2: Field Element(0x565312f71aee4c5953fce8fc0f75850258cea43766d7061d0f5799f6b7c9e24)", - "P->V[45504:45536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6626439, Column 0: Field Element(0x48001bd00e494dffc5fc59103366be7ff5a281bf988a1a698c0f3d5988fa24c)", - "P->V[45536:45568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6626439, Column 1: Field Element(0x788c2ebcce50cd2c959959add93f3c67f35e231eb29811f1850b721d7f0ad3e)", - "P->V[45568:45600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6626439, Column 2: Field Element(0x1f0b3bf110b3a6c5255404aeb35f7a7270dbc9bd91c131f6fad4dc895dd547b)", - "P->V[45600:45632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7351021, Column 0: Field Element(0x6820fec6eac0cf2199bbacf71c0e800d21dc6f404b5767754546bcb6a49e252)", - "P->V[45632:45664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7351021, Column 1: Field Element(0x58d3d29097d82ce6329a690de8446f06f18acbe0b8b7c082382bad4d7e8b601)", - "P->V[45664:45696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7351021, Column 2: Field Element(0x544a58c82790932df2eeccb8098e7286a1d9e3938ae536ca975cd5e1c8c26b5)", - "P->V[45696:45728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9579215, Column 0: Field Element(0x233d82eb43ba876e806eee3a130eff5c6ae18391475ddfc6f408e98246c760a)", - "P->V[45728:45760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9579215, Column 1: Field Element(0x755aab77dc4603e0a9e53a1a52fda31ea032aa67c4a3767e59a46508ef0558a)", - "P->V[45760:45792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9579215, Column 2: Field Element(0x128d6068e3610961189ede124fa9a6dce529050a004d6e462b1f4b4b08f26c7)", - "P->V[45792:45824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10212545, Column 0: Field Element(0x25098280168feec083dd0c0eaace7aa1a69a44253db15cf84ad6e4800d05896)", - "P->V[45824:45856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10212545, Column 1: Field Element(0x5e85037ed52802c31aac708784e184da84c2514dc3e9293e5b368b59af3fd7e)", - "P->V[45856:45888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10212545, Column 2: Field Element(0x665101df25e8f8df9528f1b422fadf052210bdb58090d6d928d9cf07250fe13)", - "P->V[45888:45920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 11067383, Column 0: Field Element(0x41702d46073f80b16efa7580f64989f009df13730e61cda08996ff04b76c3a9)", - "P->V[45920:45952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 11067383, Column 1: Field Element(0x3dd65408ac3645ebdc9e688a84c76bb8a839741e65dd173c385204098282e2a)", - "P->V[45952:45984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 11067383, Column 2: Field Element(0x7f4ddbd40710fb812a18c3a3ec7118ef76840b6a429e7e00b9083fe9f6862f9)", - "P->V[45984:46016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 11713076, Column 0: Field Element(0x7059b4e9bed90e8adf48329ce3b4b52e35a8ca2cfcb3534e76aebcd61597b51)", - "P->V[46016:46048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 11713076, Column 1: Field Element(0x25f2fe7945baf3b829ed2f196d4b7de030da3b81a5c651f532fd0f42e40e8b)", - "P->V[46048:46080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 11713076, Column 2: Field Element(0x3aeff6a8831828f2f9352245365dd183ad3d273b3513e301e84fba57f88b5ca)", - "P->V[46080:46112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 12075111, Column 0: Field Element(0x48dfdbcdde469ada239d1c76dad2bea5bedacb034d9d7688f7a401750e755db)", - "P->V[46112:46144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 12075111, Column 1: Field Element(0x5ae9f2a7cb9b4132b2ac1f61f006b7d06b42c12a1c36cd231c7acd3ff82cdb4)", - "P->V[46144:46176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 12075111, Column 2: Field Element(0x7c08fa71dfe95b2163299f4d5b0ee3ab71a4b5d6e7e21d3bce1a2d22288be62)", - "P->V[46176:46208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13596798, Column 0: Field Element(0x40f1feb2c795c720d072d6e72b87fbe1892f6b2de3d670867277497c8f06d14)", - "P->V[46208:46240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13596798, Column 1: Field Element(0x1149c9fa71747e4c4f45e7caca6383a05c1da5b6dbae12bc57e93057022450f)", - "P->V[46240:46272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13596798, Column 2: Field Element(0x2edaecfe5101e960a0c60a0db0d789bf01ab84871f21ceb6219e8d7f86c4fa5)", - "P->V[46272:46304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13746199, Column 0: Field Element(0x651f873597cb4a8ccc67b083c9749ee39ecc1152d9b5b5a668bdf29d6f256ef)", - "P->V[46304:46336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13746199, Column 1: Field Element(0x7afabb111977e23fdfe22dbba8d7d2e41cc431a97de4b5bae4d1feabc324414)", - "P->V[46336:46368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13746199, Column 2: Field Element(0x4dcfe8d734b3e8196f2287e7c3d71c004f60ae5316395cc6032948e50f3660b)", - "P->V[46368:46400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13995388, Column 0: Field Element(0x31ad3411658ceaf8311a992163df3c6abca7ce85a974061d6321c8d3b41cfa3)", - "P->V[46400:46432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13995388, Column 1: Field Element(0x1387a339b991c82f2a5cd0f98a9b2ec26f4a1af2116e408f0035f90dbe69987)", - "P->V[46432:46464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13995388, Column 2: Field Element(0x5d6350f6a8c69d8f730b1dfd6f5760d39f65565135ec18fa2c5418cd7216540)", - "P->V[46464:46496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 14748098, Column 0: Field Element(0x36369bcacc392b2b35a621536a501219ffc8b0d58c43d1227fe7d8291e9529c)", - "P->V[46496:46528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 14748098, Column 1: Field Element(0x2c818d0d32b686fb52cf854d940a61800b5847617c35f42086ea6ac4b243f3)", - "P->V[46528:46560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 14748098, Column 2: Field Element(0x14b321b335ba30d577f791ac6127cf39b9cbeada5e545dc1eea2855ab22648c)", - "P->V[46560:46592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16778572: Hash(0x0000000000000000000000003befb0c9d9b11c902ee122212fbcaecfdaf939e4)", - "P->V[46592:46624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16933391: Hash(0x000000000000000000000000b2ee608ee0a15bf18b776a5c53f1dfaf520a4b8b)", - "P->V[46624:46656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17104649: Hash(0x00000000000000000000000062fde18afc241252bed4ddff3770853bc875fde5)", - "P->V[46656:46688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19013418: Hash(0x000000000000000000000000c7e28ca08be573d5121558312c72509092da6ad0)", - "P->V[46688:46720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22871007: Hash(0x000000000000000000000000f99244cbae6476d2848ba1f18b513d6bad749c61)", - "P->V[46720:46752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23099426: Hash(0x000000000000000000000000c144312c64b33d84891f271656c1a80a34e67439)", - "P->V[46752:46784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23403654: Hash(0x0000000000000000000000000264959aa318e44611012db33657d596ab362d8a)", - "P->V[46784:46816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24128236: Hash(0x000000000000000000000000c98124c9ea1b23a2545663006f1968f6b4d8caaa)", - "P->V[46816:46848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26356430: Hash(0x0000000000000000000000007a1276d37ba3defe3977be3eb8b160ce5b4fc838)", - "P->V[46848:46880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26989760: Hash(0x000000000000000000000000b0fa7620b760532fc37cc3f86bfe5b131565b88f)", - "P->V[46880:46912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27844598: Hash(0x000000000000000000000000da5a28cb593c90f59ca2de2baa4f1839d6e9184f)", - "P->V[46912:46944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28490293: Hash(0x000000000000000000000000194d79a96e8ca1d04fcfe1dbf30f221385fd4a44)", - "P->V[46944:46976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28852326: Hash(0x000000000000000000000000c924662987250ecc4eadeb0e201108afaedb6674)", - "P->V[46976:47008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30374015: Hash(0x000000000000000000000000d5b3f790327a493d488701168477f48e727e2a59)", - "P->V[47008:47040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30523414: Hash(0x000000000000000000000000ff27c60212c6d9681c0cac02f327175746933d40)", - "P->V[47040:47072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30772605: Hash(0x0000000000000000000000000ef82c21f4c7ec3bab29e9d43c777a2c04afe3b6)", - "P->V[47072:47104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31525315: Hash(0x00000000000000000000000001e806d378c56a1ba48601beec7e07b67e26a0fc)", - "P->V[47104:47136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8389287: Hash(0x000000000000000000000000c9c8f7673fe484f87f1f7130a0d3c85ef4a553c4)", - "P->V[47136:47168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8466694: Hash(0x000000000000000000000000e3acfe39f8411e93359044f8ab04e638e3b71382)", - "P->V[47168:47200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8552325: Hash(0x0000000000000000000000005bd83d32b1cee2764dab539c677e88a92fd9939a)", - "P->V[47200:47232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9506708: Hash(0x0000000000000000000000009c26d8c22a783bf15bf6d2f2efb0ac3e3855a752)", - "P->V[47232:47264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11435502: Hash(0x000000000000000000000000bf96297495bb7b1f585ae109489138e6c1173135)", - "P->V[47264:47296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11549712: Hash(0x000000000000000000000000ef110ff185637f4c700b2857617a2d12945f1e0b)", - "P->V[47296:47328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11701826: Hash(0x000000000000000000000000be9f9be1ef31e4f47183204d97e46bbf68e2bce9)", - "P->V[47328:47360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12064119: Hash(0x000000000000000000000000dcaa50eaba8aa9be6f52901b206c8b4926820baa)", - "P->V[47360:47392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13178214: Hash(0x00000000000000000000000024a9be357ddc419d41dfc6feb4527b4ca90afc01)", - "P->V[47392:47424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13494881: Hash(0x000000000000000000000000486b15478a363a31a91d813adb6b59ed95dcebbc)", - "P->V[47424:47456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13922298: Hash(0x000000000000000000000000394e30ba4ac16c6bf4e923aaef927ac883413735)", - "P->V[47456:47488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14245147: Hash(0x000000000000000000000000b267a4e04daf3fc4c22e112ce7cacf71514ea6a1)", - "P->V[47488:47520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14426162: Hash(0x0000000000000000000000006cdd877bab030c0dbeeb379c6bd7a834aa95c211)", - "P->V[47520:47552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15187006: Hash(0x000000000000000000000000bef06738505d8c57c3d57f43b185aff0695c87ae)", - "P->V[47552:47584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15261706: Hash(0x00000000000000000000000087d2de863c906e8ccd215a01d8204f89269f93fd)", - "P->V[47584:47616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15386303: Hash(0x00000000000000000000000049b6fd60650025b84c3591cbb2b0845a9f0cb46f)", - "P->V[47616:47648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15762656: Hash(0x0000000000000000000000007aa9e9a847cda36a96345389bef5932055037a44)", - "P->V[47648:47680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4194642: Hash(0x00000000000000000000000033c5d8bc43e3247ec8693730c145b760999e0f6a)", - "P->V[47680:47712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4233346: Hash(0x000000000000000000000000418d34f534378f5c2adf80c9071b24658cad56fc)", - "P->V[47712:47744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4276163: Hash(0x000000000000000000000000eb523d72b87518d1aead3012658e3aadaa639cd6)", - "P->V[47744:47776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4753355: Hash(0x0000000000000000000000004b36bb379cb3ef4d2276d9b46ea91ddf7c542fb5)", - "P->V[47776:47808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5717750: Hash(0x0000000000000000000000002e4a391283fecc6401bdd91c0588632d0c2d8ad7)", - "P->V[47808:47840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5774857: Hash(0x0000000000000000000000005b31e9e6d15807c68f5f0805000d85a951d1f042)", - "P->V[47840:47872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5850912: Hash(0x000000000000000000000000b14735e27d5229f7277fbc2c84022b0ac2b321a2)", - "P->V[47872:47904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6032058: Hash(0x0000000000000000000000001d4cc7d97d6636e13aa783ce7ed822666e207ce9)", - "P->V[47904:47936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6589106: Hash(0x0000000000000000000000007f03b515b9128387f8fffa268c99a5ddee28848f)", - "P->V[47936:47968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6747441: Hash(0x00000000000000000000000064f6f4efed28655bd95d2d664abdf3cc559e4eda)", - "P->V[47968:48000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6961148: Hash(0x0000000000000000000000005dec342890d059c78c2e4b15f2dfa0f36ceaa6b6)", - "P->V[48000:48032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7122572: Hash(0x00000000000000000000000034a187235e47d20bf6350d3a0a09aa9a3c270d4b)", - "P->V[48032:48064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7213080: Hash(0x0000000000000000000000006ba77a60f61cfbf2fc9100d2d7201c77dcf86d19)", - "P->V[48064:48096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7593502: Hash(0x00000000000000000000000089c4ae310fd4f536cdfbbea3835d27d3cf44ed82)", - "P->V[48096:48128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7630852: Hash(0x000000000000000000000000eaca0b5b8e90bd69ec42fef8bcddbe10d90b21d7)", - "P->V[48128:48160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7693150: Hash(0x00000000000000000000000095304fb94fd75c752e631cc1d3eaade75edc098d)", - "P->V[48160:48192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7881329: Hash(0x000000000000000000000000f24a5925e124e5397474f344ed4941b6d55c8dae)", - "P->V[48192:48224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2097320: Hash(0x0000000000000000000000008e32963d97273d04ef5dd2ecbc3bea8e37c91d89)", - "P->V[48224:48256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2116672: Hash(0x000000000000000000000000fa8d73c77743f94e7a0679cfd9c84d84ad5a77c4)", - "P->V[48256:48288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2138080: Hash(0x0000000000000000000000009a193b4ee0161dbb503cc61b5ce92155f4cdc208)", - "P->V[48288:48320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2376676: Hash(0x0000000000000000000000005f452ff491cb090c3b77ad0bb8098d62d7d55a7d)", - "P->V[48320:48352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2858874: Hash(0x00000000000000000000000059461b7643d89f02fd5f1ac70834e6e62da10ee1)", - "P->V[48352:48384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2887429: Hash(0x000000000000000000000000d218fdace7b2c373ffef0372c33e24627609e723)", - "P->V[48384:48416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2925457: Hash(0x000000000000000000000000071765d0b6f5b9c9f50d982668a6b359d22bbc4b)", - "P->V[48416:48448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3016028: Hash(0x0000000000000000000000004a4450a70f63ab7a53bd00e1542d281b0ec314dc)", - "P->V[48448:48480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3294552: Hash(0x0000000000000000000000007ffa22cb8d56656a1f08060f0e36bca52b55c6ba)", - "P->V[48480:48512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3373721: Hash(0x00000000000000000000000080a666fac88fe975bf9d82c7a66dc96f26e4c7ee)", - "P->V[48512:48544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3480575: Hash(0x00000000000000000000000048e6edde08dee919c40bd016fe13ee181fa63d1c)", - "P->V[48544:48576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3561287: Hash(0x0000000000000000000000001fe9e9b0ba82b18ace493d4cca7d5d4f6be5f87d)", - "P->V[48576:48608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3606541: Hash(0x000000000000000000000000c554acb6728f8271a3e002b301424422e733f981)", - "P->V[48608:48640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3796750: Hash(0x0000000000000000000000002351dee945da5eaeb1d50e700fef89e59dd7a9dc)", - "P->V[48640:48672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3815427: Hash(0x000000000000000000000000fca883b6b6b576da0e48af9b8759fcf0fc33ad8d)", - "P->V[48672:48704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3846574: Hash(0x00000000000000000000000014034d3e1bba6cfe98ecd993962304920d2cb711)", - "P->V[48704:48736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3940665: Hash(0x000000000000000000000000d3bc065add0f26901f2a52380f797716d781aa39)", - "P->V[48736:48768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1048661: Hash(0x000000000000000000000000a6242930198665453904cd9ca3b022db9d2d9e8f)", - "P->V[48768:48800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1058337: Hash(0x0000000000000000000000003796ccc7d30a82bbc13c6be212296cf222ce2cd3)", - "P->V[48800:48832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1069041: Hash(0x0000000000000000000000001fe4056780a722a40dce23db12c49abafb83467a)", - "P->V[48832:48864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1188339: Hash(0x000000000000000000000000893a4fe83bb814f6a65201dd70018f6be3fdc221)", - "P->V[48864:48896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1429436: Hash(0x0000000000000000000000000eeda626e2bdd9d3826f2386fd9cd9e7d3eb85d3)", - "P->V[48896:48928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1443715: Hash(0x0000000000000000000000005344e80c403b45d57d6136f7730ed598c45e0678)", - "P->V[48928:48960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1462729: Hash(0x0000000000000000000000002da2d9864d1c9171c0f1eccd152f0758e73389b2)", - "P->V[48960:48992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1508015: Hash(0x000000000000000000000000938756fb1716dd4821ef02966c458819b5de02a5)", - "P->V[48992:49024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1647277: Hash(0x000000000000000000000000cfa9989e795bb335bdc37281f4b6f957af67439f)", - "P->V[49024:49056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1686861: Hash(0x000000000000000000000000449474ba6959cadb3086c16ed2ddc1a2d7835583)", - "P->V[49056:49088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1740286: Hash(0x000000000000000000000000502e5df2b5239cf3873de0fdfe2b268d55aac68f)", - "P->V[49088:49120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1780642: Hash(0x00000000000000000000000069b1599e4ae268d35bc64b0e1cb23c21be37a40f)", - "P->V[49120:49152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1803271: Hash(0x0000000000000000000000003c811b4196dbf472138c332cec2184607ff0892f)", - "P->V[49152:49184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1898374: Hash(0x000000000000000000000000261bdcb6da12c32c1304e85d25c861663986703f)", - "P->V[49184:49216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1907712: Hash(0x000000000000000000000000e446bc410079043420736270b7037c1ff26da1e8)", - "P->V[49216:49248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1923286: Hash(0x000000000000000000000000c77a4c46278fdbd2f3c9c3602ce38cd3c011c906)", - "P->V[49248:49280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1970333: Hash(0x000000000000000000000000668f1170c97f3ab5cefccd74ac6756950a1a025f)", - "P->V[49280:49312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 524331: Hash(0x0000000000000000000000002693f81270ac09a55acb0fdbe47522aa0ec76321)", - "P->V[49312:49344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 529169: Hash(0x0000000000000000000000001ac1d68c160db9349f845e0a50970c1f42df7957)", - "P->V[49344:49376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 534521: Hash(0x000000000000000000000000ffa409f063b55f4f96f8cc53ada72633bf32a172)", - "P->V[49376:49408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 594168: Hash(0x0000000000000000000000002e54c1f611cede4248c6998f2262059888d23ecf)", - "P->V[49408:49440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 714719: Hash(0x000000000000000000000000ba4db97cb1da192502d0b4bf282c9b85a993c4c7)", - "P->V[49440:49472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 721856: Hash(0x000000000000000000000000c4d6e2e7648e264f86bd37bcdffdd21d97ae7e0f)", - "P->V[49472:49504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 731365: Hash(0x000000000000000000000000198a21d60909aa41c623ec953791fc00946db582)", - "P->V[49504:49536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 754006: Hash(0x00000000000000000000000081b37eb91f3c3d60a223f7d4ee7c7fb7ff9ebbb1)", - "P->V[49536:49568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 823639: Hash(0x000000000000000000000000e8c5baaec02eea0879d4caf597576898dc6ce043)", - "P->V[49568:49600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 843431: Hash(0x000000000000000000000000254807fe50081544a5aca9d39f2ab7607165693b)", - "P->V[49600:49632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 870142: Hash(0x000000000000000000000000079abc1df88aea57438118fff523eb7828199499)", - "P->V[49632:49664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 890320: Hash(0x0000000000000000000000004feb5cdb307d6e5ce36229e72015a0f03cab002e)", - "P->V[49664:49696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 901634: Hash(0x000000000000000000000000f97f6ca824860622679489ce9a44f908d65daf98)", - "P->V[49696:49728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 949186: Hash(0x000000000000000000000000d37f497404701cc748cb360787c6fba25f4e8506)", - "P->V[49728:49760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 953857: Hash(0x0000000000000000000000007df724224e550035534439a10dc011bee38dfeef)", - "P->V[49760:49792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 961642: Hash(0x0000000000000000000000000d7503fa3302e0ded889be8a7b1b366d2c5a1b97)", - "P->V[49792:49824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 985167: Hash(0x000000000000000000000000d3aa4472a9684d1286605d7ddd9bf7ef22014da2)", - "P->V[49824:49856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 262164: Hash(0x0000000000000000000000009a4415c78d9eb4d39b781b78708e688c36722121)", - "P->V[49856:49888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 264585: Hash(0x0000000000000000000000009ca911528aa7a504368d8cd8590db6db598d06f5)", - "P->V[49888:49920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 267261: Hash(0x000000000000000000000000953a34a1e1b3d69fe66cf83b59759290c809af9e)", - "P->V[49920:49952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 297085: Hash(0x000000000000000000000000461ad9273b884ce5a871530dc8729a99a7b9adbb)", - "P->V[49952:49984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 357358: Hash(0x0000000000000000000000004d2771e2971c975ac59fe46120df95d9dd444545)", - "P->V[49984:50016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 360929: Hash(0x000000000000000000000000ae0378f96844d4e82c8ca77a15e9f923362f9e87)", - "P->V[50016:50048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 365683: Hash(0x000000000000000000000000490d49d65218b3ad32a624f246f872a02cc071ed)", - "P->V[50048:50080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 377002: Hash(0x000000000000000000000000bb0b6764cc8aac85c27f7dec2c9215b001aaf9fc)", - "P->V[50080:50112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 411818: Hash(0x000000000000000000000000ad99a09dd889b7494656ba268cf0cc02a4f0371a)", - "P->V[50112:50144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 421714: Hash(0x00000000000000000000000071a2d6db7b3b6c8809af32671403d2c4687c875d)", - "P->V[50144:50176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 435070: Hash(0x00000000000000000000000056a467ed10f7a2b756658eb137934f157f417f37)", - "P->V[50176:50208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 445161: Hash(0x00000000000000000000000051e63fbfcf88fcb15f82ed41bba567bd27326a02)", - "P->V[50208:50240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 450816: Hash(0x000000000000000000000000691f6dd46b000cd51f327e83e3f7aa1f26cfd334)", - "P->V[50240:50272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 474592: Hash(0x000000000000000000000000f56dcb65215e2ddb2440ae887b2e985f9924fd6f)", - "P->V[50272:50304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 476929: Hash(0x000000000000000000000000330017730f4d69823252af4bac137c50a0faf8ae)", - "P->V[50304:50336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 480820: Hash(0x0000000000000000000000005283bd3f01ded79be02576196d02a8e829020fe3)", - "P->V[50336:50368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 492582: Hash(0x0000000000000000000000000be3820699933600445f32fd613b5cd4b2ec32ee)", - "P->V[50368:50400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 131083: Hash(0x000000000000000000000000492b8feb21e013c081eafd6ef667fc73c12dac4a)", - "P->V[50400:50432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 132293: Hash(0x000000000000000000000000abfe1c7c56ed213139afa16aa96fdf06ddd19b31)", - "P->V[50432:50464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 133631: Hash(0x000000000000000000000000192391f907acab697b73f046d1b7dd9fc5429f81)", - "P->V[50464:50496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 148543: Hash(0x000000000000000000000000b741a21b5d409dfed44c2fc1d2e7d7be72b1d1f1)", - "P->V[50496:50528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 178678: Hash(0x00000000000000000000000052df336b3cbe01151347270690f14cd3d6739883)", - "P->V[50528:50560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 180465: Hash(0x000000000000000000000000b95123ddd7e2cf4880d5fbec119cad6a7b065612)", - "P->V[50560:50592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 182840: Hash(0x000000000000000000000000bb21d733b9d89cbab2f8440e1787aa564fa994e5)", - "P->V[50592:50624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 188500: Hash(0x00000000000000000000000061d281a0f59ecfe0add88cc22e4c51f22a8765dd)", - "P->V[50624:50656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 205908: Hash(0x000000000000000000000000318ca96a08a51dbb3474cb9d9b4022b57af98ad9)", - "P->V[50656:50688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 210856: Hash(0x000000000000000000000000bcf7b5b26d97660a8f9183e0afe92a9ad4f52617)", - "P->V[50688:50720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 217534: Hash(0x0000000000000000000000004dfeeb9a7b52e711fcf8fdc6d201b360deda69f3)", - "P->V[50720:50752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 222581: Hash(0x0000000000000000000000005345980837546ebbb28f55a4fca6ee60a7dc5b0d)", - "P->V[50752:50784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 225409: Hash(0x00000000000000000000000003257e99c72c4f1dadf68a18f4496d3d76d6b3de)", - "P->V[50784:50816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 237297: Hash(0x0000000000000000000000009460ed43729dd3b6014ca612aafa2431513406a9)", - "P->V[50816:50848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 238465: Hash(0x0000000000000000000000002039cf06cf6651a7b57db226a6db74debfbc3c81)", - "P->V[50848:50880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 240411: Hash(0x000000000000000000000000750e8c2acd4efbfd0d0204549a5cd0cb7ee88bbb)", - "P->V[50880:50912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 246290: Hash(0x0000000000000000000000001bc8398c5daa705cdca1b60679c6997a77b7da54)", - "P->V[50912:50944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 65540: Hash(0x000000000000000000000000552c3e258166012d07f3d2452fcffc79bff018ac)", - "P->V[50944:50976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 66147: Hash(0x000000000000000000000000ba1de4ba2be958998c3fa6c826bf098202575e80)", - "P->V[50976:51008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 66814: Hash(0x000000000000000000000000e3f484884e5efd779fbb9ebdaa3f9b02917d7c20)", - "P->V[51008:51040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 74270: Hash(0x000000000000000000000000937afd76c95069487b70f9523f0cc0d8ea9620f7)", - "P->V[51040:51072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 89338: Hash(0x000000000000000000000000787a5a4d1d4bd448249353f83ede94844fe262c4)", - "P->V[51072:51104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 90233: Hash(0x0000000000000000000000001337a07835018e8ba1349a08a3d3db5727028037)", - "P->V[51104:51136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 91421: Hash(0x000000000000000000000000f1bdda093e50c8bd200e42d5b01ced18065ad92e)", - "P->V[51136:51168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 94251: Hash(0x0000000000000000000000008095d1bd35039c513bc8a876578abb51c52ee18c)", - "P->V[51168:51200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 102955: Hash(0x0000000000000000000000009651ee6da8977b198abdbdcddbd456b0bfa86a60)", - "P->V[51200:51232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 105429: Hash(0x000000000000000000000000a0acf8acc23ade30db34241c3f99e3677b1cc7fc)", - "P->V[51232:51264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 108766: Hash(0x0000000000000000000000007a7f5eee5407c17f6674bf3db66dc7b7e78f0b7c)", - "P->V[51264:51296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 111291: Hash(0x0000000000000000000000004dadfb0686ec8ed373bf5dbffdeef29d2b3d6a75)", - "P->V[51296:51328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 112705: Hash(0x000000000000000000000000e760420a9aa8c01b8f261b20e02c312773c64297)", - "P->V[51328:51360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 118649: Hash(0x0000000000000000000000003fa30636d407cf74dd0249c3346af3456f067ed3)", - "P->V[51360:51392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 119233: Hash(0x000000000000000000000000d35c9f5cb8cf6d64fe5e8a513dd8343ca91e98fc)", - "P->V[51392:51424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 120204: Hash(0x00000000000000000000000029ab3b9eb33efb62109514e9498bf0ce8f3bb05a)", - "P->V[51424:51456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 123144: Hash(0x00000000000000000000000062727a6d7e2f744bf23058262dc2eb93e27016e5)", - "P->V[51456:51488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32771: Hash(0x000000000000000000000000b187155b87365edcd0abbc930ad32e131cb265bc)", - "P->V[51488:51520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33072: Hash(0x00000000000000000000000091f829b95a612fd71190023b2d805b5304f3a1fd)", - "P->V[51520:51552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33406: Hash(0x000000000000000000000000f5473b8e56672b4a190664d0aab4a1645f7c45f2)", - "P->V[51552:51584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 37134: Hash(0x0000000000000000000000007ad875dd560289db73f57b3c4156ac05cc3594d4)", - "P->V[51584:51616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 44668: Hash(0x000000000000000000000000334247b9efe465ebe6d5ea05f03dd3ecd5b401b2)", - "P->V[51616:51648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45117: Hash(0x00000000000000000000000029d07e2461c9a6b145d38f69cfc1f8da996ba180)", - "P->V[51648:51680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45711: Hash(0x000000000000000000000000e93958397ba465d1d45952e0b62edfc825068ba7)", - "P->V[51680:51712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 47124: Hash(0x00000000000000000000000089ce46c915a9993d0321677d17150503e308b019)", - "P->V[51712:51744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 51476: Hash(0x0000000000000000000000000b63edfca37ef4effdda9ca181e274d9f0c4c268)", - "P->V[51744:51776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 52715: Hash(0x000000000000000000000000a3fff7dc4e925b74d56b1ea2ad051a903fcb889c)", - "P->V[51776:51808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 54382: Hash(0x00000000000000000000000073678fcd9cf29fb2b15dbef32b52b7d86cf487a9)", - "P->V[51808:51840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55644: Hash(0x0000000000000000000000007fd107bf48c0d04725afe24f3a51386f007913e0)", - "P->V[51840:51872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56353: Hash(0x0000000000000000000000003926d3bc941839f1a56517a78a011b32495c367b)", - "P->V[51872:51904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 59325: Hash(0x0000000000000000000000008417a31648504607a67f6b928d9fc4a5a48dc685)", - "P->V[51904:51936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 59617: Hash(0x00000000000000000000000008e38713d7c9c8d05d9d285bed647bb2d902d0c8)", - "P->V[51936:51968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60103: Hash(0x00000000000000000000000084da70bdaddb3c2ab84639183d8165248626e373)", - "P->V[51968:52000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 61573: Hash(0x000000000000000000000000df05adc850e767278f52553d11c579896a83676e)", - "P->V[52000:52032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16384: Hash(0x0000000000000000000000008086d4091fa84053d2914a05320e0182bd7f953b)", - "P->V[52032:52064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16537: Hash(0x0000000000000000000000002123cd45ce9cf64a1ffad7f929c72c635b631fec)", - "P->V[52064:52096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16702: Hash(0x000000000000000000000000391e0cdb48b4d258314d99a39007d2fef876b545)", - "P->V[52096:52128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 18566: Hash(0x000000000000000000000000e29ea1421fd9305cba956d72cd2d10f1add3e409)", - "P->V[52128:52160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22335: Hash(0x00000000000000000000000022c776bcd497b29da16e1cf76dcee5fb612ae926)", - "P->V[52160:52192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22559: Hash(0x00000000000000000000000051549dceb63e042bffdc1c4b57ca45e6c81d5479)", - "P->V[52192:52224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22854: Hash(0x000000000000000000000000a278a890e60b4ee5dee9e8b98504faf8e804d3ae)", - "P->V[52224:52256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23563: Hash(0x0000000000000000000000007a325a7612fb51d6b86ddcb0c33ec2de57553e8d)", - "P->V[52256:52288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25739: Hash(0x00000000000000000000000069f49f4deaa41650e4acfa3feeea46f8aa724265)", - "P->V[52288:52320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26356: Hash(0x000000000000000000000000e057405f3902122a34c0b598ca47b69d5e6913e8)", - "P->V[52320:52352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27190: Hash(0x000000000000000000000000d03c8fb71bca5b28ec6d4c3e22de31cd89e96623)", - "P->V[52352:52384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27823: Hash(0x000000000000000000000000651a63fc0ac45359dc3979711039d97b4fea2b1a)", - "P->V[52384:52416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28177: Hash(0x00000000000000000000000059e6847ef3e698c35dfe17dfb9df0b04bb6aa63b)", - "P->V[52416:52448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29663: Hash(0x00000000000000000000000083dd8188acba9be2bf2539ceda0126e495d022e6)", - "P->V[52448:52480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29809: Hash(0x000000000000000000000000e8973a2a13e53c84dfdf89b4bdb4c0253722e3f2)", - "P->V[52480:52512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30050: Hash(0x000000000000000000000000bcbb93e255bc20b26e7a6b2de6eb33f2c2de9520)", - "P->V[52512:52544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30787: Hash(0x000000000000000000000000148af848b695bf011e0c9442edb9c190094d5f34)", - "P->V[52544:52576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8193: Hash(0x000000000000000000000000cd516f732e4563e65b061e417f7ee28659d155f4)", - "P->V[52576:52608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8269: Hash(0x0000000000000000000000000076cb3377ce5f547276f258f93bb88e6a3fa7b0)", - "P->V[52608:52640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8350: Hash(0x000000000000000000000000dad5576dc007006d8e71c8a124633366fa1bf182)", - "P->V[52640:52672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9282: Hash(0x00000000000000000000000067cf5a33d2e26d83f38e2a223c8b59971ff96190)", - "P->V[52672:52704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11166: Hash(0x000000000000000000000000f08e1dc60257832023fc83fc92a634d180de2656)", - "P->V[52704:52736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11278: Hash(0x000000000000000000000000140a2d733cc6fd14cf43ac47732a9e8cef35bffa)", - "P->V[52736:52768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11426: Hash(0x0000000000000000000000006a6776f9e4ea14fc72760f66ceb1d31c4c38f6b2)", - "P->V[52768:52800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11780: Hash(0x000000000000000000000000e5008b30dc052f4b2d6d9567d73c8a1afb6c5c19)", - "P->V[52800:52832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12868: Hash(0x0000000000000000000000000e075e80a4a6c824e0ba341bd649a08700692078)", - "P->V[52832:52864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13179: Hash(0x0000000000000000000000001700558bc1c71a4ba96a5a67f44d8faa620c6f19)", - "P->V[52864:52896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13594: Hash(0x0000000000000000000000004cc7340fad3ba313130b82e6133dd9946456c8e9)", - "P->V[52896:52928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13910: Hash(0x0000000000000000000000008a510b4e11034eb87895c3b20246660003738c21)", - "P->V[52928:52960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14089: Hash(0x000000000000000000000000c8fcf7a0412d6e4c17bee47096b7ca565b276c4a)", - "P->V[52960:52992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14830: Hash(0x00000000000000000000000014cad1f42dcc6257d0dfd6f0d6e9f57a5b996c05)", - "P->V[52992:53024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14905: Hash(0x0000000000000000000000009ee20f4ca1c401f4213cb7f6fb4d90bdda78e6a0)", - "P->V[53024:53056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15024: Hash(0x000000000000000000000000a69a85cc1a212caeaf312d542ce98d9872f64854)", - "P->V[53056:53088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15392: Hash(0x000000000000000000000000b7deae216917a15e88cf09eecea501286c73d44e)", - "P->V[53088:53120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4097: Hash(0x0000000000000000000000000e50947d2b46ce3cb36e2d9333d3c0d4b151f0c0)", - "P->V[53120:53152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4135: Hash(0x0000000000000000000000002bc1b26d5f9ac99219b39de5be9d1ae57d6ab952)", - "P->V[53152:53184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4174: Hash(0x000000000000000000000000df79c8724ad91aeaf2ff4fb3d58cff904ef904fd)", - "P->V[53184:53216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4640: Hash(0x0000000000000000000000006e89b9aca00f09e0bdcc12a4c85819971c31c970)", - "P->V[53216:53248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5582: Hash(0x00000000000000000000000062922cab154260165f2c863d76c4537c6e6a6fef)", - "P->V[53248:53280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5638: Hash(0x0000000000000000000000003d9ed369e7dcc364314ec472b732d33a4d5b7dc4)", - "P->V[53280:53312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5712: Hash(0x00000000000000000000000009c66480968a968df2161a61ec285dee4724a2aa)", - "P->V[53312:53344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5891: Hash(0x0000000000000000000000001584ab664ad8f22030a9c9231cfa0e9cdd56fe30)", - "P->V[53344:53376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6435: Hash(0x000000000000000000000000011d679ec512149f6e454d466366e7d129698470)", - "P->V[53376:53408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6588: Hash(0x00000000000000000000000000581de07be5b8b82b5695324effcb727a676de4)", - "P->V[53408:53440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6796: Hash(0x0000000000000000000000002de4b875d4b7222a2c2e787abfac5392d444df48)", - "P->V[53440:53472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6954: Hash(0x0000000000000000000000007e5681edf3aaea77818da0f9498fcd46c97458a5)", - "P->V[53472:53504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7045: Hash(0x0000000000000000000000002ed9d72736a262043c00ec4b0eabbf44f7c83f66)", - "P->V[53504:53536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7414: Hash(0x0000000000000000000000002c89b3da533ca5b727e4e523a547041a26368927)", - "P->V[53536:53568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7453: Hash(0x00000000000000000000000049b4efb67e35912e6f743d5d4c3241e481badbe8)", - "P->V[53568:53600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7513: Hash(0x00000000000000000000000026f5594839cc17ce69333904e4e3b42d4004b4d2)", - "P->V[53600:53632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7697: Hash(0x000000000000000000000000d24ecfc6cb60dbc65eabf422cd4748ba540aef65)", - "P->V[53632:53664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2049: Hash(0x0000000000000000000000002bfb5989ef6817bc456eea3aa2e6a4834457f6fb)", - "P->V[53664:53696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2066: Hash(0x000000000000000000000000685e925df1428b88d4cd1d8f4a2d2540a57a18d1)", - "P->V[53696:53728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2086: Hash(0x0000000000000000000000008c28e19b605fe9388e33c4d995a90e46b6a0b3a9)", - "P->V[53728:53760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2321: Hash(0x00000000000000000000000051c923f4f3bd5a11f079693f37f3fcfef5be3965)", - "P->V[53760:53792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2790: Hash(0x0000000000000000000000009d995e0cab9598e0972998f203cb7a343d755bd7)", - "P->V[53792:53824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2818: Hash(0x000000000000000000000000637028dbaa8766399a8bcbad1d27747d7f553d30)", - "P->V[53824:53856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2857: Hash(0x0000000000000000000000004fcc25ebeff1c1ced2042aad850d09e32ff161be)", - "P->V[53856:53888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2944: Hash(0x0000000000000000000000008b26eaf415163d382773f840edaf337a4c3fc2cf)", - "P->V[53888:53920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3216: Hash(0x000000000000000000000000bed2d7a416bd93134aa02c21da2d5c632519b768)", - "P->V[53920:53952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3295: Hash(0x0000000000000000000000003ddabdcdd56d74c1b3aa98a106fd74f888f738dc)", - "P->V[53952:53984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3399: Hash(0x000000000000000000000000a360bb978f924f19b35859a0789a9c0172197361)", - "P->V[53984:54016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3476: Hash(0x00000000000000000000000042dc9f6bc10cdc59b721e6bd6b4960f6c0077fd7)", - "P->V[54016:54048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3523: Hash(0x000000000000000000000000fdbb3dd8f2918a26c58d89fa74f2384401c49416)", - "P->V[54048:54080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3706: Hash(0x000000000000000000000000bac7fdffbb42ed55dbf3e794fdc76c2262eada03)", - "P->V[54080:54112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3727: Hash(0x0000000000000000000000001b77811d7f74e99c31c2c6ebe6a2c49d247dcd9b)", - "P->V[54112:54144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3757: Hash(0x0000000000000000000000006b373797371af60fce6cefccdca2bba49cfa1cd5)", - "P->V[54144:54176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3849: Hash(0x000000000000000000000000c6d8018de4557984d286ea401c67fbd5ab56ffde)", - "P->V[54176:54208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1025: Hash(0x0000000000000000000000007532d4743a0c7c9ef349a71b330000fafe173264)", - "P->V[54208:54240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1032: Hash(0x0000000000000000000000001d50a75307ddbb368adab1c8760ddb3b855ed739)", - "P->V[54240:54272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1042: Hash(0x000000000000000000000000eadfbacbb2f0af904a2eb2e7417d8c4138d861ad)", - "P->V[54272:54304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1161: Hash(0x0000000000000000000000005136a23af32bafb9205b1f83c6a9b03ff1ce30ae)", - "P->V[54304:54336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1394: Hash(0x0000000000000000000000004912c04b194aa6b248ea2833a02cc82cd7804413)", - "P->V[54336:54368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1408: Hash(0x0000000000000000000000002e45d434f3685d62360bf6674bb10f161412a829)", - "P->V[54368:54400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1429: Hash(0x000000000000000000000000374933bc52e03585a6cf261d47bf6bc4dcd4773e)", - "P->V[54400:54432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1473: Hash(0x0000000000000000000000009dbf4668b76f0d602e0a91271db42f0c9c80418b)", - "P->V[54432:54464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1609: Hash(0x0000000000000000000000003034b9b14ff0ce8d5925e823dd444633aff66a61)", - "P->V[54464:54496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1646: Hash(0x0000000000000000000000006da1be3968839bd81f295b23282fae573af952e8)", - "P->V[54496:54528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1698: Hash(0x0000000000000000000000007a911d831f4423fc346b0ed37b40f92b10a68596)", - "P->V[54528:54560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1739: Hash(0x0000000000000000000000007cbf937fc3d18af3907e0124eb2c841b63dd5382)", - "P->V[54560:54592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1760: Hash(0x0000000000000000000000007384811b9742fa90b48dd41fb89b9defb44d3f44)", - "P->V[54592:54624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1852: Hash(0x000000000000000000000000023eb2250b05ac360185f6252c256481f46ce781)", - "P->V[54624:54656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1862: Hash(0x000000000000000000000000f21ec69b89465aa5adc0b8ff75911c42bc5d90f3)", - "P->V[54656:54688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1879: Hash(0x0000000000000000000000002c8c1f9ccbd00c1f46a9dc8dc7fcd5b88aa18ae5)", - "P->V[54688:54720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1925: Hash(0x000000000000000000000000d467d9edf755232a3569b83397cc942c755a3b60)", - "P->V[54720:54752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 513: Hash(0x265443f6e7839a667232b5508105eea81df9a1de)", - "P->V[54752:54784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 517: Hash(0x1079fb6844f1a079ca886625a856cd18cb18be99)", - "P->V[54784:54816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 520: Hash(0xf66f6d4060a8c5081938c15a5337b5d37a61bb6b)", - "P->V[54816:54848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 581: Hash(0x724407a6e198684f3076dcae7c9dec9ac0f13532)", - "P->V[54848:54880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 696: Hash(0xb649034e5efe408786e2fad481dffeb1eaaa73f8)", - "P->V[54880:54912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 705: Hash(0x945e3efb39035682839475930cbfec69c529827c)", - "P->V[54912:54944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 715: Hash(0xa31621334174e61633084b6b8a6791bf6d81ac0f)", - "P->V[54944:54976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 737: Hash(0x816828f2c37c6ba4e3c310ed9a988c95ff2754ad)", - "P->V[54976:55008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 805: Hash(0x1b8bf14722e0a1e1f5ba5ded2b9694aa77f83921)", - "P->V[55008:55040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 822: Hash(0xa6b3cf3cdcbccaf9834351709e56ee6a56949035)", - "P->V[55040:55072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 848: Hash(0x7d32122b57c244b2ab2c775df201d30e33172863)", - "P->V[55072:55104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 868: Hash(0x52c17acd08a513cf6be44652538194d87f8d1cb7)", - "P->V[55104:55136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 881: Hash(0x394d7f483893abf3b38ab3b1b004e8a0c2c29f46)", - "P->V[55136:55168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 927: Hash(0x5e3e372657e5da3bd0f9c7edbee201b305eb147d)", - "P->V[55168:55200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 930: Hash(0x9723da1e5b0d2e48ca2c6ad0392ad932c7c6eaf)", - "P->V[55200:55232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 938: Hash(0x724289332f1655d388a7db081d70ab21fe25085d)", - "P->V[55232:55264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 963: Hash(0xaf347423166b13bbe13d5128e00ebb242d563e7e)", - "P->V[55264:55296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 257: Hash(0x123c4d5099059830b68bdcb303ccb81102a6df0e750327d2bc860efb625761f)", - "P->V[55296:55328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 259: Hash(0x55422d5da57d8996533804487823c2940f264b95706283ab8cda0bd1356cabe)", - "P->V[55328:55360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 261: Hash(0x8d680535bb6fca931beb5bf1d2a7c2ace3ecdc4a57e9a26560d69962ee21f9)", - "P->V[55360:55392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 291: Hash(0x472e8bf68a69e83e4d9d780412b24531dd5e9309ae48c909d385511f69c319b)", - "P->V[55392:55424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 349: Hash(0x18c3429b2d2e38ad765b391a9a25e1324ae4f64fcb27df865e3131263690f4e)", - "P->V[55424:55456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 353: Hash(0x49cd585a34b9e7c155976c5c4261a7c8dbaf73338f171095dc90da44762c305)", - "P->V[55456:55488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 356: Hash(0x2c92dd0d2142e8d71832c73b288ba65dfa5544ad1a4eee2e1e8d18297a671ed)", - "P->V[55488:55520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 369: Hash(0x697121612382b464ffa894e3f4213e61f3d2105bf4816a5e389ccfd48425ba)", - "P->V[55520:55552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 403: Hash(0x7b6697f1f4552bab78064de58f62270393c76c8b3dec47d9ba72cf3ee7df0ad)", - "P->V[55552:55584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 410: Hash(0x47a78062007e2c54534b196f959753f1f9d1198f68b16a6917914601beb64e2)", - "P->V[55584:55616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 425: Hash(0x6992cab432a8df128b28a1486a57d48e33d36df76e8e853eb7774d136787caa)", - "P->V[55616:55648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 435: Hash(0x29c95ad71f7c8392d26b9805f394d195f028bbd5f71985749eab2436a167a2)", - "P->V[55648:55680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 441: Hash(0x7b10ea60923a082600b45a37188bc25c150323116dc4488adf6f10e180867f9)", - "P->V[55680:55712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 462: Hash(0x64410f01061b7276ceb39634a357ad86800215d41af751d042a89681e5157ad)", - "P->V[55712:55744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 464: Hash(0x50825e3b0f06212e3f07f9ec15dc738e8a8a48c877732ec01cb63b10288fc0e)", - "P->V[55744:55776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 468: Hash(0x36343f466eb89c4ce74c261aecca1a2afdb5dce5b7f8ac97f1cc6ac9dc3e97)", - "P->V[55776:55808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 480: Hash(0x4204da9cb9556a256954c3d6a58aa21abb91c75b8c50b3fd55fc12f90f6cc8a)", - "P->V[55808:55840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 131: Hash(0x1b45d4d98768236caff98cf5572d9e83bd9a747e17c1d15521e76971ac09f2d)", - "P->V[55840:55872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 144: Hash(0x3f6a7239421e85ce403f684b19e47de94336049a00c147f0be11dc964b8721)", - "P->V[55872:55904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 175: Hash(0x31e1189922721662c01014f2cc3b799322f43623301606aa9108d9f96e772a3)", - "P->V[55904:55936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 177: Hash(0x1adb9b6ff72e455c3bdeb39226f26537493c448814087c8da04b802a0f1107a)", - "P->V[55936:55968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 179: Hash(0xfbaab6c9dd8142f20d502827ba330522e95a5eb867e4baee067b5d681a2253)", - "P->V[55968:56000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 185: Hash(0x6b57b6b6fb535f9c80a063c11d266f1900b2ea5e4527231578c5cf67d0b131c)", - "P->V[56000:56032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 200: Hash(0x7e15a09cea81bb0a9de72de75e3a6096aee630e504590ecc1defd06c6f6c3ce)", - "P->V[56032:56064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 204: Hash(0x65ed0010d2a1a89849dec86a0257a488b794443b570fb5a94117db1bfc1b6a0)", - "P->V[56064:56096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 213: Hash(0x52dcb9af3b994ad10b5cd5393f8222334c0da8801a301c806be139e5c3c49bd)", - "P->V[56096:56128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 216: Hash(0x2d1808e48d45818f6c75fa4047b184ed905ba8f780903c8da454ef8bf88ced0)", - "P->V[56128:56160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 221: Hash(0x3dc5764318919280b6558ef793ad35a7cde8b02211140b42bca95a21e3a645f)", - "P->V[56160:56192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 230: Hash(0x24328b4e63018991d88525f1ab3be08c12de084e2b22d3550c042c8ab73c765)", - "P->V[56192:56224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 233: Hash(0x7f776129e5bf5c915df7f163fa0eaf3d565cacb46cb3475c0fda5ad9f17217b)", - "P->V[56224:56256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 235: Hash(0x1b53867f5c6c2d55e0799c281ac4696ebb221c7dbb0412e5d70c973267ea130)", - "P->V[56256:56288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 241: Hash(0x4664a982d6fdce2701ea2312acd516faf7c865b99a8c954c39c1a79810b66a)", - "P->V[56288:56320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 73: Hash(0x70e648fd7e2372efeece253432741eabf05121164e7df909d2ef6b364ef42cb)", - "P->V[56320:56352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 86: Hash(0x2ccb4d40ef50380527bca54696db7cb3e55e7339858c3323ab724a1e33df8fd)", - "P->V[56352:56384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 93: Hash(0x17b591b08fdafff5da02e889826df09c28ce833bf5d0675db36de917cf11719)", - "P->V[56384:56416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 101: Hash(0x3cb864b32dc68559ff399a1ba282f260ca25f8f6c88875e30b896e01fca6ebd)", - "P->V[56416:56448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 103: Hash(0x7c012666cef12f4a2ddfd9f973514256a44d7a6027edf1bfd9f906aa5f5cc1)", - "P->V[56448:56480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 107: Hash(0x51561a5350565353424f015ab59aff8aaa639a202d793d72ae7c4c782f14b21)", - "P->V[56480:56512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 109: Hash(0x316b934e3d7f11f1fcddbac6c5f761ad7a78b518db8a851491f5932eac4e58)", - "P->V[56512:56544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 111: Hash(0x7160cbfe83e88ef09423567234fc78e50f829280f9aadebd84791f41d1fdbd5)", - "P->V[56544:56576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 114: Hash(0x24bc81704f59a520671b02836df7e6e4a4f89bf7af4f6c9e86c07814827634e)", - "P->V[56576:56608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 121: Hash(0x6872defda56ed0c1a434f30c3918f8e10f442cf71bfae6b834d829ca0e2512)", - "P->V[56608:56640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33: Hash(0x4544463e04e7994df9d77f924ee45d94bdd431f6186afe8b881c76add5bdcc1)", - "P->V[56640:56672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 37: Hash(0x6fb1e5607e7b64ea4ff7a892909ef4c704e2dbc8730eae0bce86c09fa2cad29)", - "P->V[56672:56704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 42: Hash(0xb4408e08ea7bca46d9a8021a486e5f6ff946c355ecae4e394a016bd4603f25)", - "P->V[56704:56736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45: Hash(0x2de3d0a037c23ee22981c51c26d7aefeda2125f783773030c9a6c49d5a1fab7)", - "P->V[56736:56768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 47: Hash(0x495ab5c94702cb39186cf670ebf17f676cd19784824d65f5160d6a5b01adf75)", - "P->V[56768:56800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 52: Hash(0x5c27d5b363173ebbd534b5b21227c0867ff8eb21c65e2119dcd93dd888dd1aa)", - "P->V[56800:56832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56: Hash(0x387126c74f79b91e7afd7a3819ec542ec3df3c493f0a5deebaae6b584382789)", - "P->V[56832:56864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 59: Hash(0x6ae3ab3be0c4f8c12d8490e2eb0359f8a380d18479f88789af01993707c14f8)", - "P->V[56864:56896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 61: Hash(0x6fe2e5ceae6c5d6ec4563aea8ef1b77284c54d433e68e3c82cb4853ba8c2d27)", - "P->V[56896:56928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17: Hash(0x709e9db02b4bbbbf5f27d745cb2861f93bcb58fc989041ce4b92403be6dd30d)", - "P->V[56928:56960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19: Hash(0x53248ef7fd6a78ef4435e3a1c5f3aaf89a4ee686f2acc1bd5be034e791dd87a)", - "P->V[56960:56992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 20: Hash(0x268e6cbc046ea6a022930b32bb834492c1b047e0e66351a2c694c2fe3172e42)", - "P->V[56992:57024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24: Hash(0x395f7c0db71ee6b66556858803267e996745634f5ea1250ae12187a61c02bdc)", - "P->V[57024:57056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31: Hash(0x6819ab0074f14220dc2a106528e581dceba438afbcffbdef2eefabe44901442)", - "P->V[57056:57088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1357, Column 0: Field Element(0x79c155e73e2ea6ebbfd5011bb38b87fe77e6414decfae024f7530b0b6d33056)", - "P->V[57088:57120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1357, Column 1: Field Element(0x7be78c5dbabbf9865c3fa118c70620f0297712b1ee0efe55aad444ba78fab48)", - "P->V[57120:57152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 156174, Column 0: Field Element(0x11ee055ba0d28099a4224f76be5611830c457cc8b759404813bd23285044b25)", - "P->V[57152:57184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 156174, Column 1: Field Element(0x4ca374b1e20f46b10392c564477cfc11d480655ba396b1aaf52d63bbf515480)", - "P->V[57184:57216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 327432, Column 0: Field Element(0x2e78f27d657bbe3d8267e9d19d81ee2b5477c2391e57e20059b624e561e8c8b)", - "P->V[57216:57248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 327432, Column 1: Field Element(0x1a188e273f376cc2594eac18817f439eeb4665cde1e4175dcb1b019ff19991e)", - "P->V[57248:57280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2236203, Column 0: Field Element(0x4ddbb8723ea48f88e39e68798e47aa87d599a061222fa1adddc816c155f20f7)", - "P->V[57280:57312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2236203, Column 1: Field Element(0xc7b97622bace795005e6699b37103cd176836526fd01321d67467241298be7)", - "P->V[57312:57344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6093790, Column 0: Field Element(0x24387acdd8306348e802f5d30ced94a35aa810b403fb37a3366ca3f54641dc5)", - "P->V[57344:57376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6093790, Column 1: Field Element(0x1451a4a873c6abc6da59ae7d75ac139bd54e3ce4e0f6a95a691c68b792766d4)", - "P->V[57376:57408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6322211, Column 0: Field Element(0x7939fe3e3a59cf25f6925f67fc01ed7f6d4124efad7ff30c2f3633f8b0cc19)", - "P->V[57408:57440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6322211, Column 1: Field Element(0x3e6ae854a6643176898d6ec92ae2fb5f4c72f511610742de257ea2e47ce7950)", - "P->V[57440:57472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6626439, Column 0: Field Element(0x2c1c54041cd09c04d71484950338a8274db2b406960661693704c46cf85dba9)", - "P->V[57472:57504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6626439, Column 1: Field Element(0x4e22fdf93defbb81d21e99c52f7c39ecd8b1d3ac49e760948828a4bfdf2137e)", - "P->V[57504:57536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 7351021, Column 0: Field Element(0x466773f8a7f05e66d86ce128bebbfe495ec3a203490462e19e540a788402e99)", - "P->V[57536:57568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 7351021, Column 1: Field Element(0x988290394ca9e30e20796ab64f9195e8c96e852ae283a99592bb82329b2079)", - "P->V[57568:57600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9579215, Column 0: Field Element(0x7291e9ea549a7a2db6f97d766f1c8cf624906f8347e43336671eb4fff61d19a)", - "P->V[57600:57632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9579215, Column 1: Field Element(0x6b9806f5402409f4f7996899d195d13c8b6d35de8c2eb2da3decce44736d620)", - "P->V[57632:57664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 10212545, Column 0: Field Element(0x7bc13b3b9ef3fa16eda9da15a2a13a659f39cf05a87789336f8fa857b775eaf)", - "P->V[57664:57696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 10212545, Column 1: Field Element(0x6c1ba35ae808b27db962a0a0dfca67abd25e70681b6a4e613db7fe697dd2fb8)", - "P->V[57696:57728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 11067383, Column 0: Field Element(0x7594595b2cd5384a3aecf185cbf44e34bbd89dfc775320de568a6ca614a4af5)", - "P->V[57728:57760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 11067383, Column 1: Field Element(0x31f8f4c9a33bd28721637548095750991fe4bbbfce2c159de7f8ea28f094bcb)", - "P->V[57760:57792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 11713076, Column 0: Field Element(0x3881940e45c39d03719c2fc64910cd7fdbce5877bea3f6131c6e62705895b9e)", - "P->V[57792:57824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 11713076, Column 1: Field Element(0x404f29b3911408ac347c38b32e210c3384fd0d07fa382b9d0b6a90669d5bba)", - "P->V[57824:57856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 12075111, Column 0: Field Element(0x3321674e5f438cfc5e7c54e6464a93da9f992cf646cb0b37cf740042fabba01)", - "P->V[57856:57888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 12075111, Column 1: Field Element(0x3e26bf53f0dae7dc921a69e5cf29b8328a42210bc8419062ea30be42361a2a9)", - "P->V[57888:57920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13596798, Column 0: Field Element(0x9c7aa08728c2c9e27e946935a8fcb38ffd952edc4def3ab264ed01d29006e7)", - "P->V[57920:57952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13596798, Column 1: Field Element(0x66de6e542cc124dd80313808b07c07dcfe8215fae2d098726008e4555d5f70a)", - "P->V[57952:57984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13746199, Column 0: Field Element(0x43833f247ecf78db04f6a90b7cef9bc0cf2ab0203974171959a9339056779ef)", - "P->V[57984:58016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13746199, Column 1: Field Element(0x23b6f3711c3c2ffb050a4825f9425a10b2cb9fa1b541a43f95400b911e49e69)", - "P->V[58016:58048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13995388, Column 0: Field Element(0x51a0cc7ecce79160887e8e58d15448e43c2506e136ae8fc10f9ebbcd94cd124)", - "P->V[58048:58080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13995388, Column 1: Field Element(0x566a160202bd04e18f9af427ce2f132fb3645ba491effabd00a064d45504dd4)", - "P->V[58080:58112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 14748098, Column 0: Field Element(0x5cec1021824ca438949223dd71bdccc509209f6d2e023ba91cbaf803a3b5d)", - "P->V[58112:58144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 14748098, Column 1: Field Element(0x5e5e08b51736ad7bbbb435bcbb8992a0b0773c8ffd0bbe839ad77e8d8f2dcd6)", - "P->V[58144:58176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16778572: Hash(0x000000000000000000000000a91ed531ffa589d4be581c1ba2347da71b0d2fcb)", - "P->V[58176:58208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16933391: Hash(0x000000000000000000000000f3ed32f37569a22e3d5d813663477e6c9fa526c9)", - "P->V[58208:58240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17104649: Hash(0x000000000000000000000000a791068a7da54fb95357294e4eaba17c7511fbc2)", - "P->V[58240:58272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19013418: Hash(0x00000000000000000000000026b3ce979e8c8231a081744a95707ca5577dca55)", - "P->V[58272:58304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22871007: Hash(0x00000000000000000000000073f3480a09ad907b03af953439047f8169a1be6d)", - "P->V[58304:58336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23099426: Hash(0x000000000000000000000000326aa1e060534cfffb3417dd6659dfa18feb7262)", - "P->V[58336:58368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23403654: Hash(0x000000000000000000000000d93fe2d3de51ae93655a32a6b9b258751a98fd74)", - "P->V[58368:58400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24128236: Hash(0x000000000000000000000000815fe8c6369f0cf98d3e11d422f65a87162958b5)", - "P->V[58400:58432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26356430: Hash(0x0000000000000000000000003fe47ee7d2350682ae0a18080f0789cc5f30402a)", - "P->V[58432:58464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26989760: Hash(0x000000000000000000000000d58725ab53bc8324eb88136c8e4200cee1ceef3c)", - "P->V[58464:58496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27844598: Hash(0x000000000000000000000000092ec4a713f15161fde6f44b302fe920c47d67c8)", - "P->V[58496:58528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28490293: Hash(0x0000000000000000000000001bb66f490d98ee3d1a02c3a269380a08a53f2d05)", - "P->V[58528:58560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28852326: Hash(0x000000000000000000000000e5a2a5960fc57380d0f0a53422137ba370315c36)", - "P->V[58560:58592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30374015: Hash(0x000000000000000000000000764f82348e39d8cd88ba6ab016133529976ddae0)", - "P->V[58592:58624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30523414: Hash(0x000000000000000000000000544c9c42c2e6bce2ee765b1f1b3da37faedf3837)", - "P->V[58624:58656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30772605: Hash(0x0000000000000000000000009bf9a04c610db42ee767e62de74e669bbfae5a03)", - "P->V[58656:58688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31525315: Hash(0x0000000000000000000000005b6a88c15fdbe1623e25c2f2f2752ad0ffda0ba4)", - "P->V[58688:58720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8389287: Hash(0x0000000000000000000000008f5f8c1e19333ec0fbc3d170be0b34b324a3fd63)", - "P->V[58720:58752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8466694: Hash(0x0000000000000000000000001c13238c5c63791d62fbb22b222ed6ae2d49f357)", - "P->V[58752:58784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8552325: Hash(0x000000000000000000000000cb9650762cab87315e9fef897de13c822c681f37)", - "P->V[58784:58816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9506708: Hash(0x0000000000000000000000004f537776470c8e311f48d3b30998716cf0683770)", - "P->V[58816:58848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11435502: Hash(0x00000000000000000000000026264650c0e8bfc70d3646ef63459cba23dcbc1c)", - "P->V[58848:58880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11549712: Hash(0x0000000000000000000000001f92d90bad7e51d6c1c6d985984d841a34e4fb28)", - "P->V[58880:58912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11701826: Hash(0x00000000000000000000000087f5a6c7b1d96951378803c27f22adf8f7c7f193)", - "P->V[58912:58944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12064119: Hash(0x000000000000000000000000700eb554a9b0c007a26d656fd1ca8a7a165ff230)", - "P->V[58944:58976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13178214: Hash(0x0000000000000000000000002270cb3893026aa25dc66845acf3d3328fe1a2d8)", - "P->V[58976:59008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13494881: Hash(0x0000000000000000000000003b136662439a29b16f0c09e43001bd19190afb5e)", - "P->V[59008:59040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13922298: Hash(0x000000000000000000000000df090f5ae471eabcf0882ebb194747b3ee75467a)", - "P->V[59040:59072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14245147: Hash(0x0000000000000000000000004bdd99609a3e3e7e39d6139f2d585c6c1dd375e0)", - "P->V[59072:59104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14426162: Hash(0x000000000000000000000000a40376ff7c7bc532b0716ce6d11dd30a36d48036)", - "P->V[59104:59136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15187006: Hash(0x000000000000000000000000567e682329dd8e3686549ae410a811b6dd3c1df8)", - "P->V[59136:59168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15261706: Hash(0x0000000000000000000000008ad8a70ab28df24fe2d404cabf0f7a4894d10f2e)", - "P->V[59168:59200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15386303: Hash(0x00000000000000000000000011d8846262730102506dac682a9ef7cf4f309f1a)", - "P->V[59200:59232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15762656: Hash(0x0000000000000000000000009a2fb8bbbd2fc00b7f662677ab98a78ca44e5957)", - "P->V[59232:59264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4194642: Hash(0x000000000000000000000000d1dcc6e5e0981185fb49b36ab65c01a3d7cc7b09)", - "P->V[59264:59296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4233346: Hash(0x0000000000000000000000005a4743739dfcf2b006dcb3f8b209adbba9f9bb63)", - "P->V[59296:59328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4276163: Hash(0x0000000000000000000000007c0a14605eff5e0b076b6f24e2526f3168562c03)", - "P->V[59328:59360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4753355: Hash(0x000000000000000000000000274bc12125076996c758776a707cb89bdfbfa40b)", - "P->V[59360:59392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5717750: Hash(0x000000000000000000000000310d162899a7a5be7c436c3704b8f54dd1b9bd4d)", - "P->V[59392:59424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5774857: Hash(0x000000000000000000000000fc857578706dbea9a8a498551a0ceaecb27e15aa)", - "P->V[59424:59456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5850912: Hash(0x0000000000000000000000003cab40231c59fa7314bcc543c104de0cacd5e71f)", - "P->V[59456:59488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6032058: Hash(0x0000000000000000000000003c7b8da73f98b92521214fb3ec5f9f7c3599084b)", - "P->V[59488:59520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6589106: Hash(0x00000000000000000000000019324b0a391396bf84a68551688f21002f0bb0f6)", - "P->V[59520:59552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6747441: Hash(0x000000000000000000000000c6510b22a27c642658c87672612d38e2f898e894)", - "P->V[59552:59584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6961148: Hash(0x000000000000000000000000338effec03fc27ab2d7ae9c88a350ce4ca7d422a)", - "P->V[59584:59616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7122572: Hash(0x00000000000000000000000046ff3a3f69559a605802f6f4eaaab368d094cf8f)", - "P->V[59616:59648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7213080: Hash(0x00000000000000000000000071fd90780cfe9207b5ec370672ab19e7663324e0)", - "P->V[59648:59680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7593502: Hash(0x000000000000000000000000bda5e88a5fa38592c486bbb3055c36230388ad75)", - "P->V[59680:59712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7630852: Hash(0x0000000000000000000000004ce41bfc076174f89513ef3b44dd8311ec014a42)", - "P->V[59712:59744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7693150: Hash(0x000000000000000000000000e07d4331ae9dc0472c9dd61884162ab9bf1e0096)", - "P->V[59744:59776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7881329: Hash(0x00000000000000000000000011b13c4927102e5738ff3f7ff940f2686d2088b0)", - "P->V[59776:59808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2097320: Hash(0x000000000000000000000000bddb38550dc3c8295d169424b05b52bb11f905b6)", - "P->V[59808:59840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2116672: Hash(0x0000000000000000000000003d0d098907e56b460ac890547241812b5a02269e)", - "P->V[59840:59872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2138080: Hash(0x000000000000000000000000258ff706bfd1f3cc55160f674298a5492f80c806)", - "P->V[59872:59904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2376676: Hash(0x000000000000000000000000d6542beaca55ba5b48f7ced1a90c8c8b688ec193)", - "P->V[59904:59936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2858874: Hash(0x000000000000000000000000c861bc8adcf0f8e2f41ff6dc21d76e51e61fbfe7)", - "P->V[59936:59968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2887429: Hash(0x0000000000000000000000008dc0b9cd2a48b7d2bd8bf745bac8dd588d8aff32)", - "P->V[59968:60000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2925457: Hash(0x00000000000000000000000059818fe3cfedb6bac78199b5c7b00f08441671e6)", - "P->V[60000:60032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3016028: Hash(0x0000000000000000000000009e5bfe1fa6b5f278936d3eaece7f819d60dabb8c)", - "P->V[60032:60064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3294552: Hash(0x0000000000000000000000007785d3cae5eb0a14d802ea2b31468d61f0ba7c7d)", - "P->V[60064:60096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3373721: Hash(0x000000000000000000000000342de0cae2b92237b669906bc47ed7dcde2b2cec)", - "P->V[60096:60128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3480575: Hash(0x000000000000000000000000c9f730128e023e83e695a247be4f85dac7e15f55)", - "P->V[60128:60160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3561287: Hash(0x000000000000000000000000a5812df96005c70b0514956fe91005876205d20d)", - "P->V[60160:60192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3606541: Hash(0x000000000000000000000000a80d2eb54980d86de92e7cb7c03979e61ce1c9e2)", - "P->V[60192:60224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3796750: Hash(0x000000000000000000000000b7e6d1b64dbb216e87acb5a2ab8b170dd99d3173)", - "P->V[60224:60256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3815427: Hash(0x000000000000000000000000948fbf321e51c46f353d9e869c2f81311d360666)", - "P->V[60256:60288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3846574: Hash(0x000000000000000000000000520893976f9489b7efab2acabbadf4cb2eaceb73)", - "P->V[60288:60320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3940665: Hash(0x000000000000000000000000fa70d9787a43f432fd97ae96da53f7e29fbe4714)", - "P->V[60320:60352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1048661: Hash(0x0000000000000000000000000d1785cae6b772cdcb4520170b2a9a5afa9b9f75)", - "P->V[60352:60384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1058337: Hash(0x000000000000000000000000f68f3bc9d1352dad1c5721c3d99be5a5dd02ac86)", - "P->V[60384:60416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1069041: Hash(0x000000000000000000000000831b1a16fb81b02da2d646951d04cb1d71073c3b)", - "P->V[60416:60448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1188339: Hash(0x0000000000000000000000004f0611fba75a1fbb69d3130bdffa2c1f3bf82876)", - "P->V[60448:60480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1429436: Hash(0x000000000000000000000000650b698a2704f60a941bd4bb634384957a65b884)", - "P->V[60480:60512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1443715: Hash(0x000000000000000000000000d34ac8dfd44e7dd964effaa309d2f77d57d13c1f)", - "P->V[60512:60544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1462729: Hash(0x0000000000000000000000003cfe0de85fc3532397c9afd13d2ae1d1ef3302c3)", - "P->V[60544:60576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1508015: Hash(0x0000000000000000000000005482e21d0943031403b7a003f3103cfa36a84a4e)", - "P->V[60576:60608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1647277: Hash(0x000000000000000000000000d170477a7d00d1b3dbd6a6d0a7313d2ca09714f6)", - "P->V[60608:60640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1686861: Hash(0x000000000000000000000000b4bb8fee540e609b35478649c5c32bda2802f4d5)", - "P->V[60640:60672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1740286: Hash(0x000000000000000000000000dd653f10075f673ffc4aded7447babea322898cd)", - "P->V[60672:60704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1780642: Hash(0x00000000000000000000000002dfd5b94ed36658b96dfcf28383381e25b819d7)", - "P->V[60704:60736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1803271: Hash(0x000000000000000000000000ca5a4c5646d38c347f5a131763b9ee543b5e0e12)", - "P->V[60736:60768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1898374: Hash(0x00000000000000000000000002615623e662d3df691dc42bca465f33a050716e)", - "P->V[60768:60800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1907712: Hash(0x00000000000000000000000045f37f3cf21960ca38c9ec60533dca1febf8a629)", - "P->V[60800:60832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1923286: Hash(0x00000000000000000000000015b7db12261ac7ed3195ab718f813039c1c18c02)", - "P->V[60832:60864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1970333: Hash(0x0000000000000000000000006feb591e37fb88b750591cd0d6f420ee1c856d99)", - "P->V[60864:60896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 524331: Hash(0x00000000000000000000000017a4b5cae6af24bb1909af873053656b8662ff44)", - "P->V[60896:60928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 529169: Hash(0x0000000000000000000000004ea7f24503a9f624fcd5b9cf46c682a2a7f9849b)", - "P->V[60928:60960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 534521: Hash(0x00000000000000000000000059b03f16c189dc33487836f40e43182082a798f9)", - "P->V[60960:60992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 594168: Hash(0x000000000000000000000000ea9357a83c31bfa96e619d5eff80ce60b73f541d)", - "P->V[60992:61024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 714719: Hash(0x000000000000000000000000065b8417c6ba0667a703f92bfda6616e0d3523cf)", - "P->V[61024:61056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 721856: Hash(0x000000000000000000000000b7f148338c7f3f3fb3ea91b50742e3557e2dcb57)", - "P->V[61056:61088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 731365: Hash(0x000000000000000000000000c8b8e563fe885f754483c73d3922ea7cc0106c5e)", - "P->V[61088:61120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 754006: Hash(0x0000000000000000000000000de0f524f291ee393003724edd68c52561f3b122)", - "P->V[61120:61152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 823639: Hash(0x0000000000000000000000000caaaab86036c476081508156931dac953362ffb)", - "P->V[61152:61184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 843431: Hash(0x0000000000000000000000004c7b2020e05d512abd8be53c4dbc0dd480541999)", - "P->V[61184:61216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 870142: Hash(0x000000000000000000000000472e7478e0f230bf662b7176618ec04259cff44e)", - "P->V[61216:61248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 890320: Hash(0x0000000000000000000000006d5a7b00d0f198276b8b2eb65199f526cd29c286)", - "P->V[61248:61280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 901634: Hash(0x00000000000000000000000000e98c0c7e58e7ca2b06efa72c4e332e1e0a34ac)", - "P->V[61280:61312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 949186: Hash(0x0000000000000000000000001a8186941aeb812c59c39d497e718d93eebced80)", - "P->V[61312:61344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 953857: Hash(0x0000000000000000000000005b69980b43370646567b4e8fa15b56e798b7d9ca)", - "P->V[61344:61376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 961642: Hash(0x000000000000000000000000de111159a7badd53ea4e0cbe99dd5a5430bb060a)", - "P->V[61376:61408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 985167: Hash(0x000000000000000000000000e467d633ceb1f6910c9a64b3c5c178fe0e2fe1ee)", - "P->V[61408:61440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 262164: Hash(0x000000000000000000000000cd97325268ee2d3bc1a362491811419c30a3c071)", - "P->V[61440:61472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 264585: Hash(0x0000000000000000000000007afeea822616b96238d9b878b2caa2f6d27a66e2)", - "P->V[61472:61504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 267261: Hash(0x000000000000000000000000e57c7e0f35c6fd94104904d3ebac5554a2a53d92)", - "P->V[61504:61536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 297085: Hash(0x000000000000000000000000c7545dd878f7408c371ecc8ac27bb4856d3050b9)", - "P->V[61536:61568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 357358: Hash(0x0000000000000000000000001cbc25b19106ab2b846876f0fdaefd31a45c2346)", - "P->V[61568:61600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 360929: Hash(0x0000000000000000000000005247b06d194488b3376d482641d703aa5f11c6d6)", - "P->V[61600:61632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 365683: Hash(0x0000000000000000000000002ed1d012aefdad42cf2ba8ed62a68dafe5c66fe5)", - "P->V[61632:61664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 377002: Hash(0x000000000000000000000000181f1298c41b7c46408f77a2b45b5e3d4ae7f49f)", - "P->V[61664:61696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 411818: Hash(0x0000000000000000000000001c7ebd970dc10ceba02062421bc972d9ab970b76)", - "P->V[61696:61728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 421714: Hash(0x000000000000000000000000a1224801f90436f5fb5cabab35ba871b95811eb6)", - "P->V[61728:61760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 435070: Hash(0x000000000000000000000000e859e3956a8882ddfaff44cdf00ab8e3e10af876)", - "P->V[61760:61792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 445161: Hash(0x000000000000000000000000aa20c645eb3211b91170b885efcb8ec8976f0e21)", - "P->V[61792:61824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 450816: Hash(0x0000000000000000000000007c4d00ede06c5e621e1509d1a9201641f9c233e4)", - "P->V[61824:61856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 474592: Hash(0x0000000000000000000000008d1e724774aacff1c6530cece437814480e8f78d)", - "P->V[61856:61888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 476929: Hash(0x000000000000000000000000ea9ceade83240d280819e8c20a62c25855270635)", - "P->V[61888:61920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 480820: Hash(0x00000000000000000000000076aabf2a3cbe8937de3829791d691588b25a95bd)", - "P->V[61920:61952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 492582: Hash(0x0000000000000000000000009bb1d28b03d875d823a2eea5a9baa875cba52bb0)", - "P->V[61952:61984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 131083: Hash(0x000000000000000000000000e3a2019129140f5047f675e9014b49effabcb4ae)", - "P->V[61984:62016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 132293: Hash(0x000000000000000000000000455db1c1c7783088e2534c969b36f44e01f0bc27)", - "P->V[62016:62048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 133631: Hash(0x000000000000000000000000762af41752dfd13226fd6cac43f0adea8d8d7cd8)", - "P->V[62048:62080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 148543: Hash(0x000000000000000000000000cb11f67a31e166ee703c1d0abddc603c28faa877)", - "P->V[62080:62112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 178678: Hash(0x0000000000000000000000008a3ff0fc05d26216d5518970623c9be3c90b5fc3)", - "P->V[62112:62144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 180465: Hash(0x000000000000000000000000e8e3d7ade24db57793dbc8c6f12cfd21d9b882fc)", - "P->V[62144:62176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 182840: Hash(0x00000000000000000000000016ec7db5501231fd81b0f97f7df1ba51dd6ca9a1)", - "P->V[62176:62208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 188500: Hash(0x0000000000000000000000009ed4b852ed3dce24a999c6c76b41da04afaf7edd)", - "P->V[62208:62240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 205908: Hash(0x0000000000000000000000007e461962115c3ecb3334d6013a22c4ec77bd8e99)", - "P->V[62240:62272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 210856: Hash(0x00000000000000000000000076a6d16c4c64d07f9a0231011d9fa2b85cb410fe)", - "P->V[62272:62304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 217534: Hash(0x000000000000000000000000c978f97944adac651f1e879c8ee3a0f857329f4c)", - "P->V[62304:62336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 222581: Hash(0x0000000000000000000000008656a0d1c58b597e4561cce6f4842694e2eb28ee)", - "P->V[62336:62368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 225409: Hash(0x000000000000000000000000393dc5181680304c6be7dcc4bd1c4580c8cb67b3)", - "P->V[62368:62400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 237297: Hash(0x000000000000000000000000b8f079fc00913a5f81f406ff92adbf2b970d6743)", - "P->V[62400:62432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 238465: Hash(0x000000000000000000000000c9ec559829674a65b55bc0a3143a72a334f69a85)", - "P->V[62432:62464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 240411: Hash(0x000000000000000000000000fb99f0f998c4f90d3d8fb2a59a265a0abbafb8d6)", - "P->V[62464:62496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 246290: Hash(0x0000000000000000000000003b3cb9de32a9662944dcd3df7c6fcc3bb208e702)", - "P->V[62496:62528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 65540: Hash(0x000000000000000000000000fb91b1f13b0037d76498dbc6c3dad1c999ce8502)", - "P->V[62528:62560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 66147: Hash(0x00000000000000000000000077f2fc5720a7276ed84a12f8f458a68738e2b06c)", - "P->V[62560:62592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 66814: Hash(0x000000000000000000000000ef95d395439c02b1e1c7fc74aaafa4dc35c925dd)", - "P->V[62592:62624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 74270: Hash(0x00000000000000000000000088fd6bbb01010086e090a91b7789d37353a40d0d)", - "P->V[62624:62656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 89338: Hash(0x000000000000000000000000fb93f39be9db49d87acefbcb0133ba64417c29c5)", - "P->V[62656:62688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 90233: Hash(0x00000000000000000000000029f8838de81b0aa3640d4089b7a0cb13f1ed3dbf)", - "P->V[62688:62720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 91421: Hash(0x000000000000000000000000324a92de7ab011dde18fd37a9d693edae3e20713)", - "P->V[62720:62752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 94251: Hash(0x000000000000000000000000223845410cdac73f5cf885a245925720536e75aa)", - "P->V[62752:62784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 102955: Hash(0x000000000000000000000000c57672cbf5afbc5fac7c27243da3dcd7a9aaae40)", - "P->V[62784:62816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 105429: Hash(0x000000000000000000000000ec384801e4cf5a38416d55fd73f0ed6e9d8895f6)", - "P->V[62816:62848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 108766: Hash(0x000000000000000000000000f5985301968c4d705cb1e0f7272d4a7e36e16e93)", - "P->V[62848:62880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 111291: Hash(0x000000000000000000000000bad595cc8628dca20b84a76d392882728063e638)", - "P->V[62880:62912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 112705: Hash(0x0000000000000000000000003d34f985c39c7f291a74108ad29193115c1a00bb)", - "P->V[62912:62944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 118649: Hash(0x000000000000000000000000a5ba304f3a0ec66df53116de08e92c31c5c810c9)", - "P->V[62944:62976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 119233: Hash(0x000000000000000000000000181f4e6fd6af0baebf8ee33c52555c21f35e51b9)", - "P->V[62976:63008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 120204: Hash(0x000000000000000000000000a951ee72408fed76ba1e4f7fdd914bc29d2064a9)", - "P->V[63008:63040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 123144: Hash(0x0000000000000000000000009128c87801469024c13199ad991c3780ad4633e7)", - "P->V[63040:63072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32771: Hash(0x000000000000000000000000b1c74fa01036a6abcdcd5c23c69abba383be51b3)", - "P->V[63072:63104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33072: Hash(0x0000000000000000000000008ebe8e8ecdc3942b60d220b96543fb3f2a2bbae9)", - "P->V[63104:63136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33406: Hash(0x000000000000000000000000c92b8b68881aa6758715590a36dc07e4a285afc3)", - "P->V[63136:63168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 37134: Hash(0x000000000000000000000000a0b918495b6cb3395306c9283cb8126a50c966ef)", - "P->V[63168:63200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 44668: Hash(0x0000000000000000000000002eaecb4a6f63e8b954fb19cda4faf260469ee748)", - "P->V[63200:63232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45117: Hash(0x000000000000000000000000297fb0b040c737c6e65b3b56c51fe3a873c05683)", - "P->V[63232:63264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45711: Hash(0x000000000000000000000000ee8db37b23530729d34960c284e6ebc3854bf630)", - "P->V[63264:63296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 47124: Hash(0x000000000000000000000000452ba2ad2bfa07bc7997a33a565f52affa1402a6)", - "P->V[63296:63328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 51476: Hash(0x00000000000000000000000040c51c4a8cd066655e9c88d8532e1d52e6643a6c)", - "P->V[63328:63360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 52715: Hash(0x0000000000000000000000003be47ef91601f6e3b4b4fb9fb7a6bb0efaffa569)", - "P->V[63360:63392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 54382: Hash(0x000000000000000000000000665a95647ff7ac13d3c7e2f8f29d390e15b249b7)", - "P->V[63392:63424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55644: Hash(0x00000000000000000000000004ca7967f109616bfa707de51deeb1880b097857)", - "P->V[63424:63456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56353: Hash(0x000000000000000000000000f237367ecc968a36307b625017c8ee41f2dc6224)", - "P->V[63456:63488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 59325: Hash(0x00000000000000000000000061a7558199b9227bed140b5c9168d0ce7be18061)", - "P->V[63488:63520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 59617: Hash(0x000000000000000000000000bee9f2caeadaa8b1427c99f9e16cc6f14ea57e9e)", - "P->V[63520:63552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60103: Hash(0x000000000000000000000000537df43ef351dc465507589a88df368fff841516)", - "P->V[63552:63584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 61573: Hash(0x00000000000000000000000077c6a48a0040deab708791b1c128fa1a0828a994)", - "P->V[63584:63616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16384: Hash(0x00000000000000000000000063de5e98ccc285c17179b9d06d658c276b466572)", - "P->V[63616:63648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16537: Hash(0x000000000000000000000000e447efb6314c69870c67b667008e7cbbbb98a68c)", - "P->V[63648:63680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16702: Hash(0x0000000000000000000000001690af577e4438ece191e0614ba116df46534951)", - "P->V[63680:63712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 18566: Hash(0x0000000000000000000000001f0c865b899568fd13a0be9a98b17c131122eaf4)", - "P->V[63712:63744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22335: Hash(0x0000000000000000000000007229640e3a1c4a4116d72862e51b12d3fc525cd2)", - "P->V[63744:63776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22559: Hash(0x0000000000000000000000000499cbee3883c04b2ed55252e953a6e1e3203046)", - "P->V[63776:63808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22854: Hash(0x000000000000000000000000dc7e582f4471143d29ed37136b4a1f85cd3c9272)", - "P->V[63808:63840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23563: Hash(0x000000000000000000000000df5426218384becf3c2f2be4c6a63d2b76c07ac0)", - "P->V[63840:63872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25739: Hash(0x0000000000000000000000002b1a898961ed97a985619430be279d0b96de3e29)", - "P->V[63872:63904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26356: Hash(0x00000000000000000000000089eea194b93c8990e831db840d81023c10017382)", - "P->V[63904:63936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27190: Hash(0x000000000000000000000000142179a859bce85ed5034115ddf945b679058537)", - "P->V[63936:63968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27823: Hash(0x000000000000000000000000b5ac689fbdd68d57c867aad12d1033373a30f672)", - "P->V[63968:64000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28177: Hash(0x000000000000000000000000be8305bbaf353e678d2a163826af710be0d0a7dc)", - "P->V[64000:64032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29663: Hash(0x0000000000000000000000002a828931bbff5fdb9080bf373d9f95e21dc33ab6)", - "P->V[64032:64064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29809: Hash(0x00000000000000000000000050ded9299142389741d0926ee2fde59891421d5d)", - "P->V[64064:64096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30050: Hash(0x000000000000000000000000ae7180609539bffe3f9e92f8e611c65300fb181e)", - "P->V[64096:64128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30787: Hash(0x0000000000000000000000002cd5724ea0ba47819e15ac381262d91fbd8e2561)", - "P->V[64128:64160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8193: Hash(0x000000000000000000000000c3372ba6244d59b0a26fc70315ac00ad0cc36532)", - "P->V[64160:64192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8269: Hash(0x00000000000000000000000036b12f67f4926722ad91ea7522b320a190888d54)", - "P->V[64192:64224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8350: Hash(0x000000000000000000000000375de624ba3749f0ba44acd8f55afad35b229d4c)", - "P->V[64224:64256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9282: Hash(0x0000000000000000000000005d983c69dbb249b589d8ea990af8249bce78e916)", - "P->V[64256:64288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11166: Hash(0x0000000000000000000000004c2c6a2ba1bbb9a174157e96ea92f2eacbd003de)", - "P->V[64288:64320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11278: Hash(0x000000000000000000000000c7b4cd3dcc5612c0e597287e193e2e961e835ce3)", - "P->V[64320:64352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11426: Hash(0x00000000000000000000000003d63cd78283057b9215caa66d69dcc167c79d63)", - "P->V[64352:64384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11780: Hash(0x000000000000000000000000d92ff98928cb22565a3ff7186f16a4869c8195d2)", - "P->V[64384:64416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12868: Hash(0x000000000000000000000000af84f9f2271ce813c7c36ec21be97b8572e8793f)", - "P->V[64416:64448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13179: Hash(0x0000000000000000000000006d6d01fc1e88acfde194be3617531c1115991812)", - "P->V[64448:64480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13594: Hash(0x00000000000000000000000032cb78a52a81e113fd0b28a18285dc6e002e45a4)", - "P->V[64480:64512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13910: Hash(0x000000000000000000000000b04ac023d44cf194fe173c9700682ab1aea70e0d)", - "P->V[64512:64544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14089: Hash(0x000000000000000000000000b2fbfa11f8de2e997260c723dc6dade39ceafe7e)", - "P->V[64544:64576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14830: Hash(0x00000000000000000000000054541a1f8e1a2c0ab394fbb798f3d136c9f03c3a)", - "P->V[64576:64608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14905: Hash(0x000000000000000000000000c354d226d372dda5298b3f7a03649b738164420c)", - "P->V[64608:64640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15024: Hash(0x000000000000000000000000185287c4ed6603a5f1bf86b71b6fee216f19c917)", - "P->V[64640:64672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15392: Hash(0x0000000000000000000000000257601e450a8cb79c7463c93b4d4103183969c1)", - "P->V[64672:64704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4097: Hash(0x000000000000000000000000098d831ff44649937787fea9983b446574fa05b5)", - "P->V[64704:64736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4135: Hash(0x0000000000000000000000001fb25667311cc25a936c50ba66b0ddecbe1a7b4c)", - "P->V[64736:64768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4174: Hash(0x0000000000000000000000002f5926383ef836a8e0c72a4e0b94d57547b347ac)", - "P->V[64768:64800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4640: Hash(0x000000000000000000000000b1924691ea35b5b8b9d6761fd7793aa740d244de)", - "P->V[64800:64832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5582: Hash(0x000000000000000000000000092e710f11f1d3a9f6d8b6441ecefe97c7f1723f)", - "P->V[64832:64864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5638: Hash(0x000000000000000000000000f2037afdfa9248bfe49165511cdb3ba282157917)", - "P->V[64864:64896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5712: Hash(0x000000000000000000000000ff40c0a7b693c0f9180dc8ce4e4f2567a73d83a7)", - "P->V[64896:64928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5891: Hash(0x00000000000000000000000066aa9c35651812540ceb4376dc4b3c16c16cd3f3)", - "P->V[64928:64960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6435: Hash(0x000000000000000000000000e0741446a310c094d39569ea8d590ba89d14a47f)", - "P->V[64960:64992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6588: Hash(0x000000000000000000000000e6fbdc5eb4edfd9636ecd597454e0dbaefd91c37)", - "P->V[64992:65024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6796: Hash(0x000000000000000000000000851a636bc10fd675e19dc65a0d349397bae972aa)", - "P->V[65024:65056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6954: Hash(0x000000000000000000000000ddaf1e2762506751001a7efefb8e8b31690ed862)", - "P->V[65056:65088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7045: Hash(0x000000000000000000000000f7360bbc4b25fb23c86bc167c09af0bb912a9dd8)", - "P->V[65088:65120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7414: Hash(0x0000000000000000000000006cf484c4df31d068901c27b0cb2e2c88a343223a)", - "P->V[65120:65152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7453: Hash(0x000000000000000000000000bd4e36737e54037febde50a55587cf9fef73d9d3)", - "P->V[65152:65184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7513: Hash(0x000000000000000000000000126c7b2872311c9229258e5c2174704b0d644020)", - "P->V[65184:65216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7697: Hash(0x000000000000000000000000ef5cf9c451f5bf284567341612acb095a3582714)", - "P->V[65216:65248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2049: Hash(0x000000000000000000000000b6c7dc7c9be3c625273e6f9f49ecdadf6b85fa0d)", - "P->V[65248:65280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2066: Hash(0x0000000000000000000000004d7b6a08888be2d59b9c17554e5a880c6f01f69a)", - "P->V[65280:65312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2086: Hash(0x00000000000000000000000098cd556aaf5cae409c00170a375644064e4946a3)", - "P->V[65312:65344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2321: Hash(0x000000000000000000000000758ef738c3f08569c5c5cbc7423d7c49c9c4f694)", - "P->V[65344:65376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2790: Hash(0x000000000000000000000000a1b059f7dbe74b51978761ffb6bda7c6e3b83d16)", - "P->V[65376:65408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2818: Hash(0x00000000000000000000000092b08d4eed329f2876e51dd38c39062f8eda6791)", - "P->V[65408:65440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2857: Hash(0x000000000000000000000000d1c1c4bf2b48742e19864990e3c48a314ac27d4f)", - "P->V[65440:65472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2944: Hash(0x000000000000000000000000532af4cb20e046ee2e05d9ef5f331ff59ab19f7a)", - "P->V[65472:65504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3216: Hash(0x000000000000000000000000c001716dbed0d7f9405c063262c77f1334235246)", - "P->V[65504:65536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3295: Hash(0x000000000000000000000000c1212b6c16ce3bedb34a299e01151a9ed853160e)", - "P->V[65536:65568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3399: Hash(0x0000000000000000000000006aab769362baefcbece3dd7730866c9f53c132b0)", - "P->V[65568:65600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3476: Hash(0x00000000000000000000000047380dbf3d96edb485c6d6c53aadae90df3d8d79)", - "P->V[65600:65632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3523: Hash(0x000000000000000000000000ece89039283c34fbfad11f167d5001ea585bd06a)", - "P->V[65632:65664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3706: Hash(0x000000000000000000000000471cbfe422da4a07f85c53da923d680a905ac504)", - "P->V[65664:65696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3727: Hash(0x000000000000000000000000ae9788ba02ea1f53d3d2c32fd7c17b83bdc2f762)", - "P->V[65696:65728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3757: Hash(0x000000000000000000000000f0356a75ff6ff02d9584ad5350a0bf29b0d8bdf8)", - "P->V[65728:65760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3849: Hash(0x000000000000000000000000b1246cd85d6f2fefd75633fb024c3a339be667bc)", - "P->V[65760:65792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1025: Hash(0x0000000000000000000000006e8105f51ceff7ee4c1b865331e0ed911752eb20)", - "P->V[65792:65824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1032: Hash(0x000000000000000000000000990958eaafa990020e26abb3875d1bb7af6fde4f)", - "P->V[65824:65856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1042: Hash(0x000000000000000000000000314cd7d5d85827d1d30c4ca4aebb640128355c1f)", - "P->V[65856:65888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1161: Hash(0x00000000000000000000000088985c56c2b43f5716e0a85fd8aaa98e0442eade)", - "P->V[65888:65920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1394: Hash(0x000000000000000000000000b126d51195bdb70b8fb57105eee091d3fab7db7f)", - "P->V[65920:65952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1408: Hash(0x000000000000000000000000544eddcf5f1714009cdaa064821ddac43f6edb5e)", - "P->V[65952:65984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1429: Hash(0x0000000000000000000000006f91029b1dc28ea88135f4535db29f34efce1dbd)", - "P->V[65984:66016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1473: Hash(0x00000000000000000000000052613d9a7d24be6d662ee05f3d4b849fe31df67e)", - "P->V[66016:66048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1609: Hash(0x00000000000000000000000061a4e4d1c242159f2b8443a7a3e6e0e29b5efdc7)", - "P->V[66048:66080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1646: Hash(0x000000000000000000000000ca2fc9996e2ccab423eab228654ea17532f1ced0)", - "P->V[66080:66112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1698: Hash(0x0000000000000000000000003048fd41efce66c8d7bd8a398cd98aa9354148e0)", - "P->V[66112:66144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1739: Hash(0x00000000000000000000000068cff813ed875a33fde2f22b9453cf689e9f9d31)", - "P->V[66144:66176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1760: Hash(0x000000000000000000000000190d7e265359c78b8e272390ea875e58256858dd)", - "P->V[66176:66208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1852: Hash(0x0000000000000000000000003048d72ee4c368eb5792e32b3c0f6622e1955eea)", - "P->V[66208:66240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1862: Hash(0x000000000000000000000000ad7dbd96c4601e557e55d878b87534ce5c442efd)", - "P->V[66240:66272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1879: Hash(0x000000000000000000000000a440d0e0c365e60f3022a3156b9e8eadd8390706)", - "P->V[66272:66304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1925: Hash(0x000000000000000000000000bc8d93f39346a52af7c0454efd96c3739b7aa95b)", - "P->V[66304:66336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 513: Hash(0xef28f58aa099a6c7e2a0839bfbaa24673328297)", - "P->V[66336:66368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 517: Hash(0x17f4fde66839849b14459a72b019c7f4880899d0)", - "P->V[66368:66400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 520: Hash(0xb34d352383c4e70eb8b9b7e83b50177ee8b5984a)", - "P->V[66400:66432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 581: Hash(0x4b685cabf929ed33c0b41b80122bf64848e45a44)", - "P->V[66432:66464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 696: Hash(0xcabb361be8102d646c66ed1001aeaeee6b75fe15)", - "P->V[66464:66496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 705: Hash(0xd61a9eda96496f9129f472f2deee78fec2263db1)", - "P->V[66496:66528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 715: Hash(0xf5c6a7ac49f80dd9ad9f71a297ff00bb0092f5d7)", - "P->V[66528:66560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 737: Hash(0x8c7df3395cd4c5c7c385245c34429dd2e2b83013)", - "P->V[66560:66592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 805: Hash(0x498f031800b930dc99869248d26ca7b4363938b0)", - "P->V[66592:66624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 822: Hash(0xc43e50e50d5b2d6ce2194ef250ff59171efb15fc)", - "P->V[66624:66656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 848: Hash(0xb8333d0f9558ae3638be130be0fd0fd61908c125)", - "P->V[66656:66688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 868: Hash(0x66374d19f0e5aa7cce82dcfc39b1cd7532b68a22)", - "P->V[66688:66720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 881: Hash(0x5ef34c82f19477e18e21bca553a57806d7f31c26)", - "P->V[66720:66752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 927: Hash(0x8b7c61f55cf7608e86cddc533e97d78d5d5f5c85)", - "P->V[66752:66784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 930: Hash(0xaf90bd4f58d96e678175bd989c6da9f730e954f5)", - "P->V[66784:66816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 938: Hash(0x994f51d4a0c36faae2f023e0c72eb525988c7407)", - "P->V[66816:66848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 963: Hash(0xd615457baf76f54e0e54903efbf3aac8aa1b7a59)", - "P->V[66848:66880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 257: Hash(0x6f142e33add7c0476775c3f7971509e7a20a25245e970a93ef875fff42de828)", - "P->V[66880:66912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 259: Hash(0x5632f99667cc7fa7738979880233629a04496c1435c130e7893c9d47a6c89b1)", - "P->V[66912:66944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 261: Hash(0x57afdc06bff4a9a0cac4e82874e1b9cabdc4e68ea0636830dc26e9f85c43ad9)", - "P->V[66944:66976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 291: Hash(0x56a7af867d3389f1c8898a6d1bd04683fbf88fc1c7decb19a71a9fe724f954e)", - "P->V[66976:67008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 349: Hash(0x437a5946e7a4d5f1f1f6522e89ed7ca62144b1e81fb04068aa35885ad95bd6f)", - "P->V[67008:67040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 353: Hash(0x8ab386d47296d7db6564c4d541a94910401a3fa99d5b6990fa0b7ef385939c)", - "P->V[67040:67072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 356: Hash(0x3c21657bf3707883920477d67d92fe83f805717e60bd37ebc76666181cb12a6)", - "P->V[67072:67104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 369: Hash(0x4077fde55503320d750ee39c81f04d3cfac8bcd2c247597babd5cb2ee71efb)", - "P->V[67104:67136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 403: Hash(0x63522be998c93a676782d5f6272a127a903f7c666146e39e45b91bea5060709)", - "P->V[67136:67168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 410: Hash(0x11748fec047fc172c9f30c1233d291553e852596ed36d63dc7633e0605a314a)", - "P->V[67168:67200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 425: Hash(0x507637c60f76a4ffcd03cfca285c16ea670a650c5f96ff4f59d7196cebc3814)", - "P->V[67200:67232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 435: Hash(0x295edffc67c8e03ea7c10336b56d35c07fd0d126e553e5c51e65504c7d6e606)", - "P->V[67232:67264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 441: Hash(0x9cff9ee3d399c51f8f1c874f95d9e9e8198839fb6384c5538655118ad9642f)", - "P->V[67264:67296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 462: Hash(0x4aba6234838a1a45d5ca2b7b71b02a42957eb005e75f16b9d5719c5ac4684ad)", - "P->V[67296:67328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 464: Hash(0x35f2b832be723c522ad2086b5cff0f43cf1fe1afc1b6c92a37157423f94ab2d)", - "P->V[67328:67360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 468: Hash(0x6dcd40b3acbff549a5ee61540b28124a5313d961697eaf315616f270f31fc)", - "P->V[67360:67392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 480: Hash(0x4a545f7409c3b4578369de5db6e62fce191f03e3865368d910a852478f8bc6)", - "P->V[67392:67424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 131: Hash(0x4bcd35e7a86294e0dd34ae4ded3f071423c694acdb9408a25222f8d46234561)", - "P->V[67424:67456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 144: Hash(0x6a7c017f9a5879b5125e14aaebe1500ff9425dbd8aff2f5ef45c8a8c5e4e608)", - "P->V[67456:67488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 175: Hash(0x74f3a9bf986c1b521c959d8519b4c2f9afb3e6fd7ba6e4683ba9247634e4449)", - "P->V[67488:67520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 177: Hash(0x640441d0ec987da6435df694cee4909dd1c52dfaf37a8603feefe907301e63b)", - "P->V[67520:67552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 179: Hash(0x37bfd694132d720ef70fec22afa28ebf5f99d64b2fd898fc6ed642a8689b794)", - "P->V[67552:67584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 185: Hash(0x1d467f38a9e734f91b8be41a7175eb95a4c145f9f3368d60282bd37b2db1306)", - "P->V[67584:67616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 200: Hash(0x89500f615e80dde73aa7fb6b57f12f48c67e82b7c9bbed7ff7e2b7c97b259c)", - "P->V[67616:67648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 204: Hash(0x1846066e889f92d758f0134fe2c9f5ecca5a4b0f3a6fa961f52f6a38ffc360c)", - "P->V[67648:67680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 213: Hash(0x329adb470edd00f8069d9579419c0eaec4f8c03091647d005b5cf9a34c67fd)", - "P->V[67680:67712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 216: Hash(0x576533a1355cc7210df601a222cc17da954920434929cd4f09fcdfb3b2cf7e4)", - "P->V[67712:67744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 221: Hash(0x75335c0fe60596835813f3de0ca706249cde67e8f359e33ad83dd46623be72f)", - "P->V[67744:67776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 230: Hash(0x6288b094682fa032edd2bb684075bcea6766f9582e322aca1d7d2c886f478fc)", - "P->V[67776:67808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 233: Hash(0x60a6055da736f53dea778ca41addc19f33e9eea1266514eebbc51b6cb16aa39)", - "P->V[67808:67840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 235: Hash(0x734d082ea6d956a3635dd34a088b7ec149484d578f63a71ae2c26fffeb3e6ab)", - "P->V[67840:67872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 241: Hash(0x29559c5767994b480f9f2809b724a9468098ec099c3b476cd45b2366e1ed07)", - "P->V[67872:67904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 73: Hash(0x4df15e351c18695e7891a2ac65b5af66bc044d53aeacdd2c94bf628d3356ea5)", - "P->V[67904:67936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 86: Hash(0x59052fc2cfbf45cd24a0872815e887afe58f01a97ec60113109464e61e37f9b)", - "P->V[67936:67968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 93: Hash(0x3a976afc475e2f540575fd88395d54e8f4db30601bb323b8f73b9a07a2a71ec)", - "P->V[67968:68000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 101: Hash(0x16b15f54e98b54091b7263ce9d95227b674b0fa61fc66c15c9d3783a1944bd1)", - "P->V[68000:68032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 103: Hash(0x73c77e59dd3e5c6a380b9143e7f999482f55c70979ce724c6342479a448286f)", - "P->V[68032:68064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 107: Hash(0x7683d6f7fc86627a6eb64db139a3ad836443a425bf318a63741c1bf84cfc16d)", - "P->V[68064:68096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 109: Hash(0x55a2604d6e2787b8353babdb05d2715553076ba4f14c910fb3e0577ccb0e583)", - "P->V[68096:68128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 111: Hash(0x72baa739aa6be1d9b53edaecf24b7afa56671f665cb2eb212fd2511cd196ceb)", - "P->V[68128:68160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 114: Hash(0x27bace33b0ef657afccdebcdb27f9db070fff3d3773fced1efda1b2c2d125cc)", - "P->V[68160:68192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 121: Hash(0x3e522b51802a70570180fb30561c3435bec8a5a5c81e383af38d94cb45731e3)", - "P->V[68192:68224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33: Hash(0x5cdd47d956c345cf854697abec382e5d3e3e31f5132773bafb0bdf178c246b6)", - "P->V[68224:68256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 37: Hash(0x7a20723f9eeade69391a7e99c3aac14fc6d06bddc84cf11d6f9b69ef5b0f620)", - "P->V[68256:68288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 42: Hash(0x75cc56045202e11da29247a2d4fb655452566e1168d1225bbc0ddf215f1c639)", - "P->V[68288:68320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45: Hash(0x751adff8cb66bc39d235f5babddaf3c81285a210a0f7bcf8b7b0a88a62264b8)", - "P->V[68320:68352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 47: Hash(0x484ae970b131880501a3d317dfa2cb8eba3df7c73da33d0c217eee0ccbcac33)", - "P->V[68352:68384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 52: Hash(0x78ed0b4248f41f56bac1c39142d7b3c02baf20cfc05474bdf063420eb8e34d)", - "P->V[68384:68416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56: Hash(0xb7fbbdfb0be66f04d3ea6cf059bde5a62b5f915d16a503af2b82557fb0549f)", - "P->V[68416:68448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 59: Hash(0x3e79a5678b1082e385b7432529f6759086eee045ca496d80422de455db3277a)", - "P->V[68448:68480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 61: Hash(0x78abac60b86037e171004305b31600588d2ec1a15a452c16ca70a01eaf0da2a)", - "P->V[68480:68512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17: Hash(0x6ddd4e03b4bc2725159003267aad46385171e5b1dd4cb7c5ad1caa7f507cbcc)", - "P->V[68512:68544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19: Hash(0x7aeb0ae98bc5405de3918ea8f3f25276f98a45df79e1f66135c6807e1a313cf)", - "P->V[68544:68576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 20: Hash(0x3cad6f28af41390fd5824ec1d9956f97cbbb562e02a16fc02afc41e55ac7a23)", - "P->V[68576:68608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24: Hash(0x7a353fa32abdf1062e307bcc98e55bb2598a5fd6d516aa85cc36a3c047f0eb5)", - "P->V[68608:68640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31: Hash(0x2dde0e4e47338ceac4e3f8cd8f860633449f1bbaca3e042cfa309957291a4d)", - "P->V[68640:68672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 0: Field Element(0x5ddba8abdbfe74acac48a37fc39a4973212c2def1673615a02d024e8650726d)", - "P->V[68672:68704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 1: Field Element(0xa434b9f5a59013491be716e47a80f6ad50e5aaa03bb5412c60958089175e60)", - "P->V[68704:68736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 2: Field Element(0x1b3b26f01e091165f2ca93889d773eab6f41bedbef12ca95322ef4d1f50c24d)", - "P->V[68736:68768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 3: Field Element(0x5feff9cb2f911837b436be28154cb401e1512f1cecd9054ca3c01c0c6fb8dc6)", - "P->V[68768:68800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 4: Field Element(0x60c7ade3a0774671d161459e5ee46087c88056a27bbbb47c715de116951f44e)", - "P->V[68800:68832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 5: Field Element(0x72badcf9d142566638d19f7506e4066a8563cabc464c031666277c51dc3ad2)", - "P->V[68832:68864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 6: Field Element(0x7cd1d39cd40c699c2f9a9c7fd5983ecb2061622918c09f622c0919346fd010d)", - "P->V[68864:68896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 7: Field Element(0x3b4e404713c278cf724472fa4f63495998c98f64005c696de4bb5e20974c224)", - "P->V[68896:68928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 8: Field Element(0x752c6ed1121ecc1b55cd47147ac7c53b4e65fef487f0c4d04a6089936c1e25b)", - "P->V[68928:68960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 9: Field Element(0x36244323b543a7d712208565c6b7517eb12c0b34521c2f0b0bec935fab94c48)", - "P->V[68960:68992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 10: Field Element(0x904d1495707437ec9cf0b09f30e686c2ae999bb5161e37e28782c12c7ac137)", - "P->V[68992:69024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 11: Field Element(0x6282367d1ce8b529d9fafc30ae293629fea457e7f840cc0ca68c77369f6cf99)", - "P->V[69024:69056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 12: Field Element(0x3f3d7fb457877cf75b7f81b30f512aed339fa4d6b52fc38584672fb6a9dcd78)", - "P->V[69056:69088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 14: Field Element(0x7a5f71caee24599f46ef8df6b6f1ecb60ec0d326ad412aa87dd07f45e295f96)", - "P->V[69088:69120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 15: Field Element(0x73647f006cef9f57e4858332e8639e95b79372b99412fa6280c989cde50115f)", - "P->V[69120:69152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 0: Field Element(0x6adfc5f33b74140930a635f67e69c62353157918cc70d618d33474a5c3ef36a)", - "P->V[69152:69184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 1: Field Element(0x24796005bee1f8b214ebcdaf7b2fb54f7b9b9f1dfef4453f836432abad4a906)", - "P->V[69184:69216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 2: Field Element(0x137d8b507f245e6408c6ce4cce07f302453adc160df2d65ad2c82a3307a7b0d)", - "P->V[69216:69248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 3: Field Element(0x4125449fd766c8f3e7e0eb1a1c8cc53a928a0bcec5ac2ef0414d4295c784045)", - "P->V[69248:69280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 4: Field Element(0x65d6de60562d6b124030295a003f16ec768e818ad07356041c85900fcc9edac)", - "P->V[69280:69312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 5: Field Element(0x13c040a654df0ffe948f3344a6f3f4fc6e9c37476a93ab3c0f892e65278947e)", - "P->V[69312:69344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 6: Field Element(0x169842b654655706f4a5e1aca18ab2dffee83cf23179c88798ac6674835260f)", - "P->V[69344:69376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 7: Field Element(0x79d1bfd31f8ff0ae5b3f6e4ed835165ab20e452dcb948424fd5e10160008c01)", - "P->V[69376:69408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 8: Field Element(0x58cba124129a0bf1bb96f19fdd43a1db8e0997e3a6246076fd848c523471646)", - "P->V[69408:69440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 9: Field Element(0x56f5b7d01fcf7445214cece525636633049f3249253a8e6ca6465a16d2b43aa)", - "P->V[69440:69472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 10: Field Element(0x6c70426ffc6664f5390b7336555da7970fe11e3a6549106ad6f46859c192a25)", - "P->V[69472:69504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 11: Field Element(0x1929999624dc83bae5a9fc80905dc4a462ac1bc474ed549ec2e509af80ce096)", - "P->V[69504:69536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 12: Field Element(0x32e53adcdc31d524d5f136c50960c01fb8534dd2d9ebabc26570b88c3a5ff35)", - "P->V[69536:69568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 13: Field Element(0x3a02fdf84449a24d98aa35f59805058f1c84d0b2f6c0b8f5724898f96095292)", - "P->V[69568:69600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 15: Field Element(0x6c3131f54316b8b463a9111ed9eb5991b1e6e8b8bd8b5814f20bcb666eebff)", - "P->V[69600:69632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 0: Field Element(0x67c98be20072e45b15670fc9d2ba322273ded1714f3bdb2ba05aa18ab32e4ab)", - "P->V[69632:69664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 1: Field Element(0x6633c82adcaa94d64a092285421a325130b087e65836b0bc1f447fed17f9ad8)", - "P->V[69664:69696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 2: Field Element(0x7e5271323b781e83ce22dd3acc38c6084227f71a59b110351acdff2712349d0)", - "P->V[69696:69728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 3: Field Element(0x336c3d43d77b953a2e9f6b39d65c03501945fe9842e739521c207796f356961)", - "P->V[69728:69760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 4: Field Element(0x57ef776fac630b93517ab5e724468dcd53ae80a2a3ca586f852e4578e9eb225)", - "P->V[69760:69792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 5: Field Element(0x751fcdb32a7a77db3a2102af517eb8525f8d36c38c9a045ab30a27a2d0aa35d)", - "P->V[69792:69824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 6: Field Element(0x42c08fd4b2847fb0e4c9a16598a2dca4096a601370115bd33d0571c59051e9f)", - "P->V[69824:69856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 7: Field Element(0x5ee6157fbf55e3b67a836d474bb24067844167928e500f9bb7ab425f235bdfd)", - "P->V[69856:69888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 9: Field Element(0x1d310aee0f5085e4803d8c875f3a8b0a5dbb7f7f150a4904d566c6ba97635b9)", - "P->V[69888:69920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 10: Field Element(0x7e301ff502af62704a4755cef6063da264a621f8e92350ed74917df0b44735a)", - "P->V[69920:69952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 11: Field Element(0x2660a5cf4ffa563513680acb4120f50c9aa4673cecb80740c8eca705b000a32)", - "P->V[69952:69984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 12: Field Element(0x2b0220ee3360f5b77f46acb32c3f1eb12980ffd4055a1485dd8e32fcb8af814)", - "P->V[69984:70016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 13: Field Element(0x7ddffbf6f68c3b637a83e923c271ea1616040e9bf7cccc12471026ba95caad1)", - "P->V[70016:70048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 14: Field Element(0x7d0cc6abcc738e29abb5498ef3528e66da43f2ac4fa666696606a1d0588f848)", - "P->V[70048:70080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 15: Field Element(0x7a0400f5e34929d92325032e85183584c4a20b59b1a2bacae182e2f70f33dff)", - "P->V[70080:70112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 0: Field Element(0x4a27bb9f4f690fde17ea26050967d09948976c80447d9bd018f96421f7cef30)", - "P->V[70112:70144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 1: Field Element(0x6c6d8cf7a5c54f553ae7b2c4950479d504134692ac11dfe72a53afc316b3f20)", - "P->V[70144:70176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 2: Field Element(0x502fa99b48652486923c93b228850bde6b685db9d5cdd87d435027674c99bea)", - "P->V[70176:70208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 3: Field Element(0x75ba53bc021d2bbd03116bbfedf021b5bbb0723d259f58151e1cbc4ad68019a)", - "P->V[70208:70240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 4: Field Element(0x3d61cffb82d0bb5fc49d171c0d6788f3b879b3d6dc731b5f0c462be9d9309cb)", - "P->V[70240:70272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 5: Field Element(0x1eb763427c94aba2ac9a6c1d4999575c9b0908a7a8b6c68e4b7cd8b209ecddd)", - "P->V[70272:70304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 6: Field Element(0x1d81a44ccc885256167be617d874ce77b467e0154276b6876a052cfe935c26e)", - "P->V[70304:70336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 7: Field Element(0x6027e71f7dbe496b3a5c8652425b1db436c38b49eb80808ff8da0f1de2f67d)", - "P->V[70336:70368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 8: Field Element(0x1cf6536e85b0640240aa0c0e37b1e28a79a24d0dc5905c0821ba9f1b41731ca)", - "P->V[70368:70400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 9: Field Element(0x65a57f075070cac40600359ebe1bb4e9ce250bce419ea6d27b848fdfa2ba6d5)", - "P->V[70400:70432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 10: Field Element(0x7cad28c87a7bd187e466838c27e953f1091a389fe3dae9296000248cfb7c69a)", - "P->V[70432:70464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 12: Field Element(0x460dc5cb237c65ebba3ec32edf4cd3a9112bcb70e97a6b5fe7f53cbc5fe56ca)", - "P->V[70464:70496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 13: Field Element(0x1af59e9866d3d4ce2df4dd47179bc7317f6d7d39425fe6433677ddd6e91a505)", - "P->V[70496:70528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 14: Field Element(0x7e397d396c700362e5ba1a1bf192f2a543fce7efec76632cc27ad035ef81913)", - "P->V[70528:70560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 15: Field Element(0x40652bae36cce09bfeb6ed8375c6d06fd3ea628315505d53ddf12e47a5b1fb)", - "P->V[70560:70592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 0: Field Element(0x1ee8183858f0ff2fd0d66a72b5f23020e2967d0da18f70f9639129686b3c85d)", - "P->V[70592:70624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 1: Field Element(0x1b18b35fbcc9591fdc6caa6525302251853b853a53060f314c7634259af869e)", - "P->V[70624:70656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 2: Field Element(0x79e403e32ae18a789b043f0c5d8c5ff3d5ff926fbe03d9d967b331f68088e32)", - "P->V[70656:70688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 3: Field Element(0x6c8055c4066aae3df894404f9a272f9f154a7a36cfdace160e31cb6b63b06ca)", - "P->V[70688:70720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 4: Field Element(0x1e02b25580b34c1cd439f8e6fa885d881c3137075fb02ef8faaead236055034)", - "P->V[70720:70752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 5: Field Element(0x56a9ce8c1f1ea3727826165a17746704c5a043874667691a2c06169cd03d5de)", - "P->V[70752:70784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 6: Field Element(0x61f5cee36942a10c831428a7dd524c21d1c019e1693e978044e9cd13b00b22c)", - "P->V[70784:70816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 7: Field Element(0x2bfb6908ac6f1c4d7f21f427a597eacab204f1804851730f0a9933fb5f2547e)", - "P->V[70816:70848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 8: Field Element(0x3bdbc6981699895b5e5073a252ed3cef73c3c9c5927b9eb9fe9be1922e4549c)", - "P->V[70848:70880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 9: Field Element(0x7f89f68e1e2e2467dbd307374569a217a144def5a0330c31760b3f317b6bea1)", - "P->V[70880:70912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 10: Field Element(0x62b0c58003a310a940cb0ecfb6f79d2f82f42a63e4146abc96a9cb146a0406d)", - "P->V[70912:70944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 11: Field Element(0x27efab34d15eb0dd8540a3906d52195f9cbc62e3b0d4c810d5a9415a4a830db)", - "P->V[70944:70976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 12: Field Element(0x73344f066164d5f5ca4ebceacf244863b991394748adf3cf85caab23ab40992)", - "P->V[70976:71008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 13: Field Element(0x79abc9257abdd275e08e4322c54843a25684b2a44daae4186798c78d0e8e3a8)", - "P->V[71008:71040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 15: Field Element(0x659aab2412a52bc1f772c07e4131c273a7677254fb04cb62e92dd7842659e1c)", - "P->V[71040:71072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 0: Field Element(0x6bdb3a52f70841289c7225f3685aeb8a1780fa9bbf8018afbbca6554cab9ee1)", - "P->V[71072:71104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 1: Field Element(0x53598db4bb0d5d7f1281154ee1a4986ff63360b88be35a8feb26415ab309785)", - "P->V[71104:71136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 2: Field Element(0x2b59e840b4ab548922e0a24f50315246611dacf3b9867de58bafaeb18e39462)", - "P->V[71136:71168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 4: Field Element(0x6ccb03fdd51ef9119825be95058527795762f460ace5f937dd09f014e6bda1c)", - "P->V[71168:71200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 5: Field Element(0x3df5ef8ec0c21c10603806b5a07b00a6e53563debb48abdbd741052efc63e1d)", - "P->V[71200:71232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 6: Field Element(0x2368d39c25540bd8b1fee24ece12079678647c48d2e900c33f8291a8b0d66bd)", - "P->V[71232:71264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 7: Field Element(0x1e7c496773beb08a690e3b44905e2133e03ff7b0877f372aec8ea8f8727a1dc)", - "P->V[71264:71296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 8: Field Element(0xa8cdca29e97c67013c2ba5e287a378e768e4625d87756b305a180d88b2e85f)", - "P->V[71296:71328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 9: Field Element(0x27a55fd947964e2e041ffd0823795873f6ace8e842cce720d384b034d007ebe)", - "P->V[71328:71360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 10: Field Element(0x764889fba108c4efa22a24d607f7ad31f32bf802c2ccf43f766e01d07ff5d80)", - "P->V[71360:71392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 11: Field Element(0x1d69c71d110129ae8a915a6c2e0c8084b43562217f3f85149e3195d7e945527)", - "P->V[71392:71424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 12: Field Element(0x78e4cfbc9714f144abbc03b3b4a50cc8110f32e2eab8588dfe24eb078821551)", - "P->V[71424:71456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 13: Field Element(0x32c33dbc423ed1ff144849cc4ae7f71f5aaccb5e4cb6a8fce539c3b04ce274e)", - "P->V[71456:71488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 14: Field Element(0x5d4a9b4a272bb074367e3e3c2e675deddece6183eaab6585152c4af0b412568)", - "P->V[71488:71520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 15: Field Element(0x3b802ca69ba085c1991c5ede2570f0048a71f75a7f42381032c83620fd2f500)", - "P->V[71520:71552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 0: Field Element(0x23d9e5b5669d45639e647f94d1ca4f757ac9b265f332038516ac76950415f62)", - "P->V[71552:71584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 1: Field Element(0x1083ae7f1e413c06a56b50a7b1bef777fad53ba49d2b7898c48622dbda3ebe5)", - "P->V[71584:71616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 2: Field Element(0x2f9b8f437d1f5b0e23a8eb848dc6373b4906ae8b9577a610e5c97e6a9ca23c9)", - "P->V[71616:71648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 3: Field Element(0x5ecf85330a8361a1099fdc6d84aad666f4f7e58804de590c4cfbd337d309bd1)", - "P->V[71648:71680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 4: Field Element(0x2c09712079e25c37ef02bfc4a375a22546551e625a9712716adf03d51726357)", - "P->V[71680:71712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 5: Field Element(0x56d9bdfbe0eebec08fac0e846860120323a05d42a6f7f4cb25ff612aad767c5)", - "P->V[71712:71744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 6: Field Element(0x692d35b9ecb5f97d0d4bc7bac654b2cc2395b2d6fbace5ae246ef32312a37c1)", - "P->V[71744:71776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 8: Field Element(0x3067aadf4b62b4abf5bab8c157a6f79415023b2defea61d6c92af020539c70d)", - "P->V[71776:71808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 9: Field Element(0x54cc90b96b49cad36eb9fe12f9a8cfec3866bcac59c8eb45e684b9ef3b18b91)", - "P->V[71808:71840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 10: Field Element(0x46d111d2453ea7e38b812294d6b3eb3df9f864f32f5c0cfab970d7f3edc030a)", - "P->V[71840:71872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 11: Field Element(0x1110cfed15991ac13ad27336f56c08f7e5d43f3042f8d9fa952eb1801e71a83)", - "P->V[71872:71904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 12: Field Element(0x427fcab008d312ba8a707484d91cb511035bb704077297c4926d8e2508727ba)", - "P->V[71904:71936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 13: Field Element(0x80ff1bb5543e94cd5d1a29ea74fd5f819653116913dde054c0359491dabd25)", - "P->V[71936:71968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 14: Field Element(0x3547fb7c70beeee6fab9f2edcc7a18b2c2a1fd04623887e0ec963ed090bd12b)", - "P->V[71968:72000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 15: Field Element(0x72fd8f33782e2df51052c4979be04a4c3cbb09a8a5458296069407cfb73a7ff)", - "P->V[72000:72032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 0: Field Element(0x7f7b74ec94e1c26db6388bc38e1dcf85014e379bf07f29ead602126dadf8f60)", - "P->V[72032:72064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 1: Field Element(0x5788a9f1b64c18067a2169728ab1bd22be85f2f141fa9c63308486f089b73f)", - "P->V[72064:72096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 2: Field Element(0x2f31443c0b38e707b0db3b496d671d0a4fe63e7ee4d1872b05cc81906ee5760)", - "P->V[72096:72128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 3: Field Element(0x670d0c24e65573831f840bff8ca132054452ea4b8cddb76a899362d2bb57844)", - "P->V[72128:72160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 4: Field Element(0x76462e235ddb1f3010ebbbe6718c4a2fabfc5962679d7a9ddc7533868f1c241)", - "P->V[72160:72192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 5: Field Element(0x6812bd0d94548df989dbcd88c91c89bb16270948f631d6b2f3be00f7bd41c54)", - "P->V[72192:72224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 6: Field Element(0x14c8ef38f08ee24c21bb4b8ad96d2567cac44f1dd97182af8169958ec6231b7)", - "P->V[72224:72256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 7: Field Element(0x3492cfdb02836b7eca5e5196b94d4f43520a54f0be1ac8c163566327fe3d0f6)", - "P->V[72256:72288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 8: Field Element(0x1a07e0fdfd1e0b42e18d6d508ab6961fb75a123fd87d916ddbd840bac9f61aa)", - "P->V[72288:72320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 9: Field Element(0x47c29a5842ab4cc06706fa9c42f12002f1f78e5c8dfe2e7dba719ce1b69143a)", - "P->V[72320:72352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 10: Field Element(0x4a4a516b424e12d0896b700ffd559bf6a9240eec38f8b07c5021c1ae7a23a62)", - "P->V[72352:72384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 11: Field Element(0x44407d81908316766fe5fc52ed2bb302397efea0cce5ab84b7477a85146cc99)", - "P->V[72384:72416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 12: Field Element(0x589165b2759c211b5aca30aff2b4c8e5fce52a88e0316dde89a608e0b5272de)", - "P->V[72416:72448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 14: Field Element(0x441e6f5fd5639b8ac2dad5354973fbd64b27dedd9fa54c71546585fc07393c1)", - "P->V[72448:72480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 15: Field Element(0x59e32d364e200183125ecc25fa3d0d5b945b39ad0445b17516362ef20bc1897)", - "P->V[72480:72512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 0: Field Element(0x36de80821102c3048a87167ec910c476e1eb12a3f7047bd16b2911280be55c0)", - "P->V[72512:72544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 1: Field Element(0x65c7e975ea9a8cdabebea01d0979367c51379a71567e752e442b72ae648cf6)", - "P->V[72544:72576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 2: Field Element(0x20aecbbee4c8e2e8baef20f7d9f85f130a81317ed79e13e6ce9d6144d99ad96)", - "P->V[72576:72608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 3: Field Element(0x2c9fe2808d4cbc1ba818a533d4841270a7bb462dcdba129b5434a98b105feab)", - "P->V[72608:72640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 4: Field Element(0x7272965d391b1efeb992b9f3640f3f81a4a17bc6460ae8997558a36ea29c0bf)", - "P->V[72640:72672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 5: Field Element(0x6a62fd2d7ae1833639fe25430c425f8671be5070dd175a30616a97c052f007c)", - "P->V[72672:72704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 6: Field Element(0x7ddbf6c39067396bc959ae1d3dadece8841a3014fb58d2a525a45fe515b2efa)", - "P->V[72704:72736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 7: Field Element(0x7a083a7874c308f9ee8b9485eef72807c249c2b0357bd97b1f8c11a2aeda8f3)", - "P->V[72736:72768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 8: Field Element(0x1466bea4dc9ede1d3661b8b85f0031aae3458f00bf63e421b050e204e052a73)", - "P->V[72768:72800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 9: Field Element(0x561b664a217887e325941fbac4a7bfbe60e67068667179433717f3761c4eedf)", - "P->V[72800:72832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 10: Field Element(0x3469d2bd6a7523df7a27a8d5a6fcf8e8ae76f3561b61b28952956e6fe561760)", - "P->V[72832:72864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 11: Field Element(0x542579f7455f93c1be87e4c7678cbc529590f58d72cb7ac4ee77491d2901cca)", - "P->V[72864:72896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 12: Field Element(0x1f4239bc69aa58a99dc332dba9918ff4e91113219092b4e1bc0252c294905ce)", - "P->V[72896:72928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 13: Field Element(0x49f506e09706962eb47eb7919f385130e2bdd8d9dbed4f70023ba2ee16d373c)", - "P->V[72928:72960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 14: Field Element(0x5c342820fd4e4699f7371d80b044b3028c3b357aa9f14412ef0449c548ac362)", - "P->V[72960:72992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 0: Field Element(0x3e61dfd824da71050baa10d1b4b82257f0ae0c38ee362be9bba75ea48861b4)", - "P->V[72992:73024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 2: Field Element(0x14f6520178d2cbbd0893fc6afb367a40a1615c9e588914695ffb1ba3db092f0)", - "P->V[73024:73056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 3: Field Element(0x29b799451f4f70bc8fdf68af994f45178d6627019303c6d24c2d8a81c1eb8a7)", - "P->V[73056:73088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 4: Field Element(0x4970eddea9876d1891f27c2e6155114950a4371ea45375d3efc9a4d91186cb)", - "P->V[73088:73120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 5: Field Element(0x18fb52420caa49f6e5ad592297651a7dd1c918b822036eb0db67832b8bdedb1)", - "P->V[73120:73152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 6: Field Element(0x1fa55f040b4ff404e9f1e11bfbb39d88eb28dd5feb8c2b4e5ea77281f4abd4e)", - "P->V[73152:73184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 7: Field Element(0x7336b320696e23dd144af9d78df37c967c407004f214657faed556bf54a08b4)", - "P->V[73184:73216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 8: Field Element(0x8d68ff2b64c68d1c3e230b086527e6fe95d5e102d84f22a14304884c081ff)", - "P->V[73216:73248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 9: Field Element(0x1cf0d10484b144b684e629c0fac168c05800a0dd32d29a8caaf6e08e69a8204)", - "P->V[73248:73280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 10: Field Element(0x3bc80457735ce527e86ce3378f2a2dd6c8e7c389c7c8e6912d27a9c768ae51)", - "P->V[73280:73312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 11: Field Element(0x561854c05aad0ba79f9956c4974e63b82727b1aa540562292a3c03244eaa03f)", - "P->V[73312:73344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 12: Field Element(0x6077214d45c06b968528629320c90ab61e5403207666b74bbe26bc353f3dc)", - "P->V[73344:73376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 13: Field Element(0x7e138bc2281a6469abfd957e9904cc2c11544364cd371a37b476be8bb3c42b2)", - "P->V[73376:73408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 14: Field Element(0x6ba460557e148750825e26beff462b165bcf96a9a1d7e3679436841cb15f88f)", - "P->V[73408:73440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 15: Field Element(0x11e38c2792c410a6e220a558d70e02b6f33890075d2ad0e2968058fb67d5621)", - "P->V[73440:73472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 0: Field Element(0x70c873e7b6efd1f1b2e16b88e16da948e8ec5a96f472b06e214abb391231732)", - "P->V[73472:73504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 1: Field Element(0x1249101b02d6498aa420133fde1ac0ec31168853108f0e4baba34217d4ebf2a)", - "P->V[73504:73536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 2: Field Element(0x3ad287411ccfa2916c84bb603b43a9aff5b0fa5ebf2fe662b36b440eae57286)", - "P->V[73536:73568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 3: Field Element(0x2e993975cedc6589c6ff44b49cf4b21086d37ce7fd8feddf1dd6d6d6a062e8c)", - "P->V[73568:73600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 4: Field Element(0x20fa537af2536fad5c4bd49ecf23e06ca15700c6324c8d9d6458ce63ca1af6c)", - "P->V[73600:73632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 5: Field Element(0x56757ef2b1321c5ba043186d5ad970a2976fa3bce70b00d0c1dde599b56cd5c)", - "P->V[73632:73664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 6: Field Element(0x6d9b25977fb44b362d2914b467f925050d90524ad591013bcb3fbe66b5ac32e)", - "P->V[73664:73696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 8: Field Element(0x8e4955437a058d2ca65059103fe696be0d737544358b5038a338631ec6d162)", - "P->V[73696:73728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 9: Field Element(0x3716375b101abd19ab893b48d5693c06c893df76bcde1957ee9ae1e28f6ddf3)", - "P->V[73728:73760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 10: Field Element(0x101817ba35f528f309f5109dcca6842cf81c6e333ad12faad6c87c707abb27e)", - "P->V[73760:73792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 11: Field Element(0x773cf23f8c478b92dc2f7925605a9a06df53782d724fb62db04d03ee79cf81d)", - "P->V[73792:73824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 12: Field Element(0x59ab1f16bc2d6be8b04593d4dada44057bdb01164a21a0a3165daf79461710d)", - "P->V[73824:73856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 13: Field Element(0x43bbf58d18451472c333fcc1a92c6452a3b72ae8016a899d8169971c11b2bfe)", - "P->V[73856:73888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 14: Field Element(0x54ebc2dc61b4a8de61cb66751bf4d2a682cd83a88b54bd6b4fb88f4693eabdb)", - "P->V[73888:73920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 15: Field Element(0x6d90c2f951901fd84a067b87551c6f764ea4fa1e8a9f1f38697a531c1908e79)", - "P->V[73920:73952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 0: Field Element(0x373e31e976a65ee22c6ff021de0d05e905a4c0120c969a527a6331c6be5bbed)", - "P->V[73952:73984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 1: Field Element(0x9c15410cb5dbdba275e9813fef2959f7911cb51b20b648ca2f2af33ec474f4)", - "P->V[73984:74016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 2: Field Element(0x3dc359ab62f6b224a95a310551a00ea09bfe14a19bc8fd0b256c3783f299dfb)", - "P->V[74016:74048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 3: Field Element(0x3d73ee58a6131186836bcf6a9964fba80d509ab1758d7516c6942ccd9b5c140)", - "P->V[74048:74080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 5: Field Element(0x2e6c8f51b855113be1fe24ee33abeae8b557100d538e45bade404f19a98995f)", - "P->V[74080:74112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 6: Field Element(0x5993f14a392d57e7f5410716fbaa010ad8119226b57150fddac787e8bcdc339)", - "P->V[74112:74144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 7: Field Element(0x57e3eedafcde8c66b11a9219a3ec80cd896da38c58a8a5034fc0932266fe5fc)", - "P->V[74144:74176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 8: Field Element(0x4784502b5b7ee341ce86503e7b30d67a6e2c4cad7edc6e3a73f4f739ba41052)", - "P->V[74176:74208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 9: Field Element(0x240b74e2751558afd7afd3109d51d434c18c525c3a1865041414d35b16f54fa)", - "P->V[74208:74240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 10: Field Element(0x31f09a80047674aa5025c527117e2607b9b3eaa5f5f1aa717d3684ee67b0276)", - "P->V[74240:74272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 11: Field Element(0x26568cf76765406389679393956de882444f0513028571a087cc2feed017288)", - "P->V[74272:74304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 12: Field Element(0x70dfa3142760734d6941347e3d1db0cfb8dd4a7f4f02a8a2e28561ec4401533)", - "P->V[74304:74336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 13: Field Element(0x1d01a8861bcc40b6f4b629a02aaf953f7da20c7aa7d3b672320d7164db92152)", - "P->V[74336:74368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 14: Field Element(0xc6916967836327509ee9e4bb49f09452271e1d57a007ee612f2c9ccc161653)", - "P->V[74368:74400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 15: Field Element(0x73a6719d58ca538f14ddb96aa10d9f3e421d6cdd95a248d564799335a9dbf58)", - "P->V[74400:74432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 0: Field Element(0x24e53f7595348e01ed50d3d7f22fd547df9e41f990d4e18480b4bfe8c5deb3c)", - "P->V[74432:74464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 1: Field Element(0x484b23fdda98c51b474ece81831d47d77913844f57683be43115dc3d350bafa)", - "P->V[74464:74496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 2: Field Element(0x57c50f72f8187359a9f2e42cd24eecac4d081c23e54e307d1b75c7051c6aa38)", - "P->V[74496:74528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 3: Field Element(0x61dbbb240bf56f45d045d8c3403db56ed71bf42d439692ca324b09a4b651f99)", - "P->V[74528:74560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 4: Field Element(0x24f5aca5d04c9d547390fdd08bed32af1f1a75d6b4f4026ed7aed0d4b096cbe)", - "P->V[74560:74592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 5: Field Element(0x646a145e2c9a03b9346aeee10fc3f2b972dbef5271b73fb10c5ee811c2d9e36)", - "P->V[74592:74624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 6: Field Element(0x2e371396207368f14dd66b7638a961c82453919e5493f69a6c365388c1c7632)", - "P->V[74624:74656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 8: Field Element(0x706ea86ee77b1d752d20cbb2290f986a9846dd7f566c1a8cde13db774d9e44b)", - "P->V[74656:74688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 9: Field Element(0x7900f90daffae4bee9b3274539f179271cbdef5d504e18a2a99155ae4928ec4)", - "P->V[74688:74720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 10: Field Element(0x226b3d02e781e3cffbb6c111355744e188ad7b7585981da09ced0d2394ace8a)", - "P->V[74720:74752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 11: Field Element(0x684e50899bec1fbc349516ec1878fee4182be3acec2e540155ce16cd69ea55c)", - "P->V[74752:74784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 12: Field Element(0x72c007f699bef12cdb0762dd8c6c5cf5168c33bc058a408952001c6f46b2525)", - "P->V[74784:74816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 13: Field Element(0x77e4acfe1a6b82f4377621a97df69e428aa6fd89d9db6729d86ac69470845dc)", - "P->V[74816:74848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 14: Field Element(0x1cecf7b03bc71bab302e99b2505fce3e022a4e176f08f4c9418b2906a12f868)", - "P->V[74848:74880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 15: Field Element(0x76761d71d14ec40a5a1e8fb35b629624a40c877bac79f602f391e5ee707a472)", - "P->V[74880:74912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 0: Field Element(0x4357e24e44b7deecc5d677853841f706f524df10433cf3c35b73112b9bdad9f)", - "P->V[74912:74944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 1: Field Element(0x4ee1618e8486b2608eea0564da207400cc69d414bfb6760e3392464262ac2fe)", - "P->V[74944:74976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 2: Field Element(0x1874003127b98434e6c7b5bc24cbc518b73483100206d4579bd07802fc9dc96)", - "P->V[74976:75008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 3: Field Element(0x2025e6ae93449b0973dce7454cb03addfa53ba70c25a32afaac47bb4522cec0)", - "P->V[75008:75040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 4: Field Element(0x1c1d42c9fb71bb572070b542cb87516acb96deed08c5e1d343f07e27e78174b)", - "P->V[75040:75072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 5: Field Element(0x3fce7c9aa54c96e7d653e4202317365c8a373aef2b1a5bf951f461400b35544)", - "P->V[75072:75104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 6: Field Element(0x13a84790cf00401ddf3dc17cc0183cac0cd56df8a479a3229549b33fcafb845)", - "P->V[75104:75136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 7: Field Element(0x6b28bdb75656fbbb951c7d2ccceaf5879ac4c29e386d9e705fc135df3ed4ed4)", - "P->V[75136:75168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 8: Field Element(0x3d9106328d1eddbf75a5af3f2577af18dc1f5156f2984a23ba6741a86b44100)", - "P->V[75168:75200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 9: Field Element(0x43dbc85ded49e7048c00a902672f5418409fed7eb3c67903705d6dd095c57c2)", - "P->V[75200:75232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 10: Field Element(0x7074fb4613e8177fd3f94d3768d2e0ec6d81e3a9f4e3daec17dae836c79edfb)", - "P->V[75232:75264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 11: Field Element(0x29e84e2be3fac92056842cbf2402b4b642368f9884a5233e890f0bd65b2034b)", - "P->V[75264:75296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 12: Field Element(0x7cb16fac6ec971c408c3f49e29a5bd50797f962c251de0fdf4ea9b4dab55f1e)", - "P->V[75296:75328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 13: Field Element(0x6f7506a904a4ce78198030a028a941dcdd6bba90798157cb7505968af32624e)", - "P->V[75328:75360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 15: Field Element(0x69fce1740e04c49430e722df460b7b4a435b32f91ceed2f5d8bfc089597ea2f)", - "P->V[75360:75392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 0: Field Element(0x4357bbd1a48fa286cc725e0b0ba49da94055bbe3e7b3540d53873b40b74f5cc)", - "P->V[75392:75424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 1: Field Element(0x5f87a8fae68c16ce6a0811e5d6cb8b2941c4bc154b25542fe4880d6f1d60511)", - "P->V[75424:75456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 2: Field Element(0x3d6b50fd16080d6a102c318bf30679dc4ce96bef7f0802aca64e6de86e44ccd)", - "P->V[75456:75488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 3: Field Element(0x76a8be624618015c397f357c8ec4dfd8757954461e4e49b06ccee747629a175)", - "P->V[75488:75520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 4: Field Element(0x18888f21e7ccf79e66a8b0a7419c56e95b8ea35e997d113deb096ca0694991e)", - "P->V[75520:75552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 5: Field Element(0x4311e5b67c39b0ef8bea118fc5d833d3dcf1674d83b6d0e61afdef8662ea94d)", - "P->V[75552:75584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 6: Field Element(0x1ce8d921a042b0b020d5dd68466a8abf2fea41427a3b95d2d2880a513ec34b9)", - "P->V[75584:75616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 8: Field Element(0x6ce408ef6b4086cf0ff3950c2b9130d983d76a6d05043107a648a4db5b15b8f)", - "P->V[75616:75648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 9: Field Element(0x112fedf889aa481039b6a30799089d35e939609b5a4056f37cc95758d2b488d)", - "P->V[75648:75680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 10: Field Element(0x7215c3fcd25fd590efffc7fdf1bab1a8340ac1321ff17d92cc67985aca1e8e0)", - "P->V[75680:75712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 11: Field Element(0x4a0a01a333af23b2bd826e2ec2a87b235a1186adf11f1be85120bb5d163486d)", - "P->V[75712:75744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 12: Field Element(0x1b339abf062890936341a050c5bd31e64c607af5d3f0d165d412ad3a66c91d1)", - "P->V[75744:75776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 13: Field Element(0x38ff46e6b98d350c6e2e69db412f83173cc93ac2414e6a536f7b11f89b66930)", - "P->V[75776:75808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 14: Field Element(0x18b65bd968f8e356aff154dd20ff41c5c4db5fdb32c9fa4712aae9be8763fc0)", - "P->V[75808:75840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 15: Field Element(0x742724c9c9f00040200303a00bccaa151184d1efe662fc4ef4d4abe18abff32)", - "P->V[75840:75872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 0: Field Element(0x1610e9726351b735335f16f19590083b411a4b626d0f78af7bee899b63c223d)", - "P->V[75872:75904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 1: Field Element(0x2a2566da522837659a743eb77ef14da0c8e5e3273a0b00722c5a2a74ba9fb69)", - "P->V[75904:75936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 2: Field Element(0x30b84eddf5492dc4282e6f9a8df569defb78972a070aaa0fd654278050fd1b7)", - "P->V[75936:75968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 3: Field Element(0x153dd6b1debf60b03d7d1b84f7f1d368ef745b07fe2f37af0cb8af2b9563dab)", - "P->V[75968:76000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 4: Field Element(0x458b0f89e66bf91e54aa577630749b446ebef4c6861c1ccff92a8b7e834fc16)", - "P->V[76000:76032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 5: Field Element(0x321fa1734b592190c4cd681ba75ec7ffee1928d95f20a9f4af8f4d87a7a5efa)", - "P->V[76032:76064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 6: Field Element(0x2415a9a1ce0c1370e06121e547180827d5a56570032cc6e1fd74e46a20f95b2)", - "P->V[76064:76096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 7: Field Element(0x6f1c9b69b2d273005f00decc325abbd7b2640c9b1a701d0e752296be604b150)", - "P->V[76096:76128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 8: Field Element(0x53917c370c3d518820ad607f5d8f63b9ab8fde93b9dff482d6ad9e1150e87e1)", - "P->V[76128:76160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 9: Field Element(0x58b0470891a5f49baff4dcb74bab6b5815227b401ea6de4a9c94c2842ade1c6)", - "P->V[76160:76192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 10: Field Element(0x6809c64770fba5a116c30fb1c4cf994360cdbb34878fb027758b23150624a60)", - "P->V[76192:76224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 11: Field Element(0x245fb56fb89cb5b0b414ba15ae926406e75fbc328ffa45b603127e54558b98d)", - "P->V[76224:76256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 13: Field Element(0x34e2355ccc8a886cd5460b34912727a3bb96e03e67157e96a470031056ee598)", - "P->V[76256:76288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 14: Field Element(0x2b01d9d594afd67331fea9c3a55b87c61c3174b3c1aabb795f66a7905cc94dd)", - "P->V[76288:76320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 15: Field Element(0x15ee7953668c1213d775478df8c8e0775eb74bc4b2d9bdfec7dce2081abc9f9)", - "P->V[76320:76352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 0: Field Element(0x245480f6b4cbc955fc2eac9dabd584240e1e6a9374900d1a91e450ca3e1c069)", - "P->V[76352:76384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 1: Field Element(0x420fdd8dba79ee6f43c8832bdf9cd2e8faf17bea598e83f1dd71fc9b767dc98)", - "P->V[76384:76416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 3: Field Element(0x1ebb5caaea5c4038e568861fec59e2ead91dc66c41dc31fae0c8e535101615d)", - "P->V[76416:76448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 4: Field Element(0x3dad02b6894a369e53cb294c592a87fc13307b599cba7f2223a49a88bb84d90)", - "P->V[76448:76480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 5: Field Element(0x12def0926672ff94ed09649873ac68d9a09749fef6e4081c1c3e5741eb74ef4)", - "P->V[76480:76512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 6: Field Element(0x195bb2ff8004d7c37b9122cd880806a4d81def79fdb591b4fa7eed2b591bcd0)", - "P->V[76512:76544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 7: Field Element(0x228178b5e973215edf114e7bfac1cf744c47da4a3c4b2a775b76003697c938a)", - "P->V[76544:76576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 8: Field Element(0x55dbd7e915a23e3d1eda0ce619aef5eff1b1db060b4fddb6a469b396262d72f)", - "P->V[76576:76608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 9: Field Element(0x16c6cd735c8789dee16a9ed96a124ee87ce9d6ff0f5d1e3eba3cdba277d2c6e)", - "P->V[76608:76640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 10: Field Element(0x1d57bcb5556d059a1409543a134da81768af71b0e9eb6ca77092e1a5b3f52e9)", - "P->V[76640:76672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 11: Field Element(0x6569366cb91e3f509cdf49c60f16257594a08b5a46b2e1a1c74e134009cec7c)", - "P->V[76672:76704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 12: Field Element(0x18ea72c0fa081a310f00aca2354bbf3653bfce4421b50540b80470b6d5dc70)", - "P->V[76704:76736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 13: Field Element(0x496807c7c16df12f02bef44f1b8feb1ec949398e0dcddb049baba62bdc0d6cc)", - "P->V[76736:76768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 14: Field Element(0x6c375e8ea288e7226d5b580d8deee69baeda1cc3f69fa7595e7f036faa21e31)", - "P->V[76768:76800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 15: Field Element(0x5ed282856165dccfe757f2060628438817a2e9601480d6c1d28cd5f215acd4c)", - "P->V[76800:76832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1048661: Hash(0x0000000000000000000000004f923b38b86f12e0521a6ab47e834093ed134b2d)", - "P->V[76832:76864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1058337: Hash(0x00000000000000000000000013bf130a7da41dd457fd5f0003c36ca57763a7e4)", - "P->V[76864:76896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1069041: Hash(0x0000000000000000000000004510d044fd72cdaf56dded4809c08e04ac4aad8b)", - "P->V[76896:76928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1188339: Hash(0x000000000000000000000000299b0fe9600842cc8014914651488d77f26f1a7b)", - "P->V[76928:76960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1429436: Hash(0x000000000000000000000000aaf0c9e73ef5eeef4c3019387efaf8a425736c10)", - "P->V[76960:76992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1443715: Hash(0x000000000000000000000000711cb29faae745505da40ea754695e4b3aeb78c9)", - "P->V[76992:77024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1462729: Hash(0x0000000000000000000000004219bf980dac6e16d020bd63d1786ee195653888)", - "P->V[77024:77056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1508015: Hash(0x00000000000000000000000096e8c28fd1ae8ea5a1e0fad5bd1250400c350e0d)", - "P->V[77056:77088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1647277: Hash(0x0000000000000000000000001d40cd67028a45c91b4fc6a324feb1bd0598cae6)", - "P->V[77088:77120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1686861: Hash(0x0000000000000000000000004069a95f5f30ccbf8a828f8b4234e4d4132ccafe)", - "P->V[77120:77152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1740286: Hash(0x00000000000000000000000019cc58782ff552adf11aca0a8b197d89c50aebb1)", - "P->V[77152:77184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1780642: Hash(0x00000000000000000000000097dcab27499679aff1a802066c840594d22030a4)", - "P->V[77184:77216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1803271: Hash(0x0000000000000000000000008305cfcb97730818598b5a4bbba46208ca6ea649)", - "P->V[77216:77248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1898374: Hash(0x000000000000000000000000c541abc75305f0ee2202c45f6eb8bec8d6551d1c)", - "P->V[77248:77280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1907712: Hash(0x000000000000000000000000d880e1833f7562d9b6f4d58b1bb2cab611226b0d)", - "P->V[77280:77312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1923286: Hash(0x0000000000000000000000008ae4e0f3c1faf6bcc844a77afc736882c030b834)", - "P->V[77312:77344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1970333: Hash(0x0000000000000000000000009df95a66b991fdfb2a130ebddcf81fb7a9730781)", - "P->V[77344:77376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 524331: Hash(0x000000000000000000000000244d5a29769c31295a253ca2b74492929ee71739)", - "P->V[77376:77408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 529169: Hash(0x0000000000000000000000004973cb0eec46e8a5f1606f21168a0646fee01068)", - "P->V[77408:77440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 534521: Hash(0x0000000000000000000000005684789c0e804d14ba223ea70a22daaf9386a152)", - "P->V[77440:77472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 594168: Hash(0x00000000000000000000000024676b95a3b060e217bcd44add893480e98deef3)", - "P->V[77472:77504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 714719: Hash(0x000000000000000000000000b20aa46391c2561f630fd1599398648e56c77f85)", - "P->V[77504:77536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 721856: Hash(0x000000000000000000000000ef941f0b92e698afc0f0adfbbcd0656fd64fd825)", - "P->V[77536:77568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 731365: Hash(0x000000000000000000000000c854cd3a811064966a1454ca61e2e81b941ed04f)", - "P->V[77568:77600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 754006: Hash(0x000000000000000000000000dd4e676a384b9aab4315352f599f5e3f7996b760)", - "P->V[77600:77632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 823639: Hash(0x00000000000000000000000005ff0ed3cf5e537ceb72a5d3da3d3062053c23dd)", - "P->V[77632:77664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 843431: Hash(0x000000000000000000000000683b13ab929bb848202a7fd515930ad86d5383d4)", - "P->V[77664:77696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 870142: Hash(0x00000000000000000000000076bd3bafc1dafedb1b23004edc99ffbea611d26a)", - "P->V[77696:77728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 890320: Hash(0x00000000000000000000000094cd17ed6d5ce0f371facf6e37cb896a8afe22c7)", - "P->V[77728:77760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 901634: Hash(0x000000000000000000000000bcb37d08de8946a5b3a76e82287263c92e508193)", - "P->V[77760:77792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 949186: Hash(0x000000000000000000000000a3b8da884170ee77df57ff07b9e10f6976d8d432)", - "P->V[77792:77824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 953857: Hash(0x0000000000000000000000006896ff4ded3729f1126dd333db30286507485a54)", - "P->V[77824:77856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 961642: Hash(0x000000000000000000000000259119d3132868c3c72d4737a3ef0b09addda46c)", - "P->V[77856:77888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 985167: Hash(0x0000000000000000000000007e8e4e6b57540487087a1e97e712d778528e1037)", - "P->V[77888:77920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 262164: Hash(0x0000000000000000000000001dba11236fd39819f1a4da1d0f1c59e5961d6797)", - "P->V[77920:77952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 264585: Hash(0x000000000000000000000000cf4963386703267ea237d4a76aa0c1c075f2b633)", - "P->V[77952:77984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 267261: Hash(0x000000000000000000000000d500c4c4b9dc7a07184eeb4ebc6d67f5fe20bc55)", - "P->V[77984:78016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 297085: Hash(0x0000000000000000000000002dee0a25c826c8ffad606d157b9855fdd9b8a195)", - "P->V[78016:78048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 357358: Hash(0x00000000000000000000000097dc8e939cb94a41b8149075b509608b098ea2c9)", - "P->V[78048:78080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 360929: Hash(0x000000000000000000000000bdde01951d4e1ad01aa84f1e25fc1b8c796506b3)", - "P->V[78080:78112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 365683: Hash(0x00000000000000000000000076d3fa76e0ab5b59da977be53a628230d0131b4b)", - "P->V[78112:78144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 377002: Hash(0x00000000000000000000000046ef7493e34fdda1c10b4a9d58c2b8974bbfc286)", - "P->V[78144:78176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 411818: Hash(0x000000000000000000000000d2bd83bbd67135afffcd3f2f6a0a2c8aa5c81c63)", - "P->V[78176:78208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 421714: Hash(0x000000000000000000000000fb9d95b3043609f7b64b04ac4b00e28c93dc7371)", - "P->V[78208:78240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 435070: Hash(0x0000000000000000000000005a1aeab7ac78a37dbf6e755e421ed6c3b6765646)", - "P->V[78240:78272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 445161: Hash(0x000000000000000000000000c7f1a5f81a5fcb91658d971169239bf0601b0bab)", - "P->V[78272:78304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 450816: Hash(0x0000000000000000000000005db4d645dc1e870c7731fb62fd6996ccd365489a)", - "P->V[78304:78336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 474592: Hash(0x000000000000000000000000ddb452209e5db6698e477bc973a5a108ce3f5372)", - "P->V[78336:78368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 476929: Hash(0x000000000000000000000000a25a7e6e258f81a443336983cb1cf76d38bb26e4)", - "P->V[78368:78400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 480820: Hash(0x000000000000000000000000672de5021975dbad47cb57b60e7d5de623a73791)", - "P->V[78400:78432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 492582: Hash(0x0000000000000000000000001229396d24e14dd299b13bcf72bfa0ed0ae51e30)", - "P->V[78432:78464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 131083: Hash(0x000000000000000000000000129ab8fdc878858005eee052bc5bd76ed9a44078)", - "P->V[78464:78496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 132293: Hash(0x0000000000000000000000007f01a5a682041e691522af6b70ec461c18974be3)", - "P->V[78496:78528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 133631: Hash(0x00000000000000000000000015f98ada20877b2bebbdd05e36b3139db5fde718)", - "P->V[78528:78560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 148543: Hash(0x000000000000000000000000ce96f6208883ae4d90a68f16cef3f2c7fea3f0e6)", - "P->V[78560:78592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 178678: Hash(0x0000000000000000000000005af580240ce22826e8f3bb0fe0eaa80d610304d7)", - "P->V[78592:78624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 180465: Hash(0x000000000000000000000000c6203b5e2184ef446d232aa0ad29fe3b39d5a81a)", - "P->V[78624:78656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 182840: Hash(0x00000000000000000000000058939bea5f56e523531b7af58b10f3fcc6de63b6)", - "P->V[78656:78688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 188500: Hash(0x000000000000000000000000e943c1b741a1ae20b73afa2ca348e982f20c2e82)", - "P->V[78688:78720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 205908: Hash(0x00000000000000000000000095a66f28482c200bae0288585f8f1afc34a34203)", - "P->V[78720:78752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 210856: Hash(0x000000000000000000000000cbf9d1dc351130773967fe1ded7bb73761b63369)", - "P->V[78752:78784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 217534: Hash(0x000000000000000000000000e8b440fc9c3ec3d93c90d64ffd18a43e3be048fa)", - "P->V[78784:78816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 222581: Hash(0x0000000000000000000000007929a23714a2d49d293447e25344f8c064c0e1df)", - "P->V[78816:78848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 225409: Hash(0x000000000000000000000000f0019ac9e0d2c27017791d260292fece47aef8ab)", - "P->V[78848:78880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 237297: Hash(0x000000000000000000000000088b23f47ff374a80389980ecb3e1bae55467cca)", - "P->V[78880:78912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 238465: Hash(0x0000000000000000000000004556744fa3695e0a11d15f7580bf5bd3c9bec664)", - "P->V[78912:78944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 240411: Hash(0x000000000000000000000000d064d62b42378f5fb9edae2cb5eb643c3a346c1c)", - "P->V[78944:78976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 246290: Hash(0x000000000000000000000000e9790858cc36daaee39665e55d38432df5e7645f)", - "P->V[78976:79008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 65540: Hash(0x0000000000000000000000006e02c5eea5c135770e188c0f00deca78ddfff2af)", - "P->V[79008:79040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 66147: Hash(0x0000000000000000000000007fe9db638e8613904bde4fcce9af24129496c0ca)", - "P->V[79040:79072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 66814: Hash(0x000000000000000000000000ced4fb39f26c0f13ccf3ec95d6a4b5bbac3f453f)", - "P->V[79072:79104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 74270: Hash(0x0000000000000000000000002142685d8731c5c061b657c1e4401827b99a0ea2)", - "P->V[79104:79136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 89338: Hash(0x000000000000000000000000289e4191fa698c2b1d044f8203454f716dd6818a)", - "P->V[79136:79168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 90233: Hash(0x00000000000000000000000000c13bf84db80de84a0cfc4ab555c3a303da375f)", - "P->V[79168:79200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 91421: Hash(0x00000000000000000000000005994e2f3eb31bf5b6f4570bab7b134bfcaaa29a)", - "P->V[79200:79232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 94251: Hash(0x0000000000000000000000003738cece5059dea34b4b3a20018a9d1de30ef8ba)", - "P->V[79232:79264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 102955: Hash(0x000000000000000000000000a44f8f9ae24f01a9508f765c35ab24e4d04461df)", - "P->V[79264:79296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 105429: Hash(0x000000000000000000000000a3c78714c63ce0b5d4464fd9675f58cec867bb73)", - "P->V[79296:79328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 108766: Hash(0x000000000000000000000000eb2887fc273cef488d7fbe62f036228d1a4a6547)", - "P->V[79328:79360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 111291: Hash(0x0000000000000000000000003dc08320d8ac28df4ae749d0df079623d62aa075)", - "P->V[79360:79392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 112705: Hash(0x0000000000000000000000002f9804821a169c37ae86edec15d1897d342faac7)", - "P->V[79392:79424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 118649: Hash(0x0000000000000000000000009c73a9e849e0ab30a10608b7f2b5d3bbf2749dc7)", - "P->V[79424:79456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 119233: Hash(0x000000000000000000000000e62b34cb08b626622dd564faea13a2ca2a3573c7)", - "P->V[79456:79488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 120204: Hash(0x00000000000000000000000015021366ac0440e63fb207dc0d4ccfc95f85b6ff)", - "P->V[79488:79520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 123144: Hash(0x000000000000000000000000f0475f40d0c6c828632db7131c938b77c18f74fc)", - "P->V[79520:79552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 32771: Hash(0x000000000000000000000000607147a88bdfa46ca84b10f521bd9160be3a28b2)", - "P->V[79552:79584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33072: Hash(0x00000000000000000000000016e532d1abeeaf041079f38f5835ddb98b3b885b)", - "P->V[79584:79616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33406: Hash(0x000000000000000000000000ffd27857d17e0f770be1c058e772405d6db24f44)", - "P->V[79616:79648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 37134: Hash(0x00000000000000000000000022f2dc05a4208d0d7b7b706c9a11508bfa7ba488)", - "P->V[79648:79680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 44668: Hash(0x00000000000000000000000009cfc1a2794111f281bc2c73ed5f35c9895246e6)", - "P->V[79680:79712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45117: Hash(0x000000000000000000000000e148085f2f03ed5400decba1e86bcbd8c53f7dc5)", - "P->V[79712:79744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45711: Hash(0x0000000000000000000000006a75e97417081d822ddcaa4870f123b11c0fcd2e)", - "P->V[79744:79776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 47124: Hash(0x0000000000000000000000002c8721a2cecaebdeec12a54d395f98c1fdb5df46)", - "P->V[79776:79808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 51476: Hash(0x000000000000000000000000148d478f78b3323c6f05613243b664dec2cfd7a9)", - "P->V[79808:79840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 52715: Hash(0x000000000000000000000000a42316dcda30be3ff4862cad33c3014c1c3dae7c)", - "P->V[79840:79872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 54382: Hash(0x00000000000000000000000016fba099d9a88f7a2757100a348088a111d9263e)", - "P->V[79872:79904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55644: Hash(0x000000000000000000000000249e8e1620de12539808a5dbf47e159526e1bb2f)", - "P->V[79904:79936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56353: Hash(0x000000000000000000000000a1aa15835b93caeb710832fa2f5752063da01271)", - "P->V[79936:79968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 59325: Hash(0x000000000000000000000000173af81d5f7a56236b65c4dfcf9c2e8a837a6501)", - "P->V[79968:80000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 59617: Hash(0x000000000000000000000000a58f6850f60c6d7ff19897598de48c9f995ca733)", - "P->V[80000:80032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60103: Hash(0x000000000000000000000000fd77a7e560da8ee5637cb48b5847d81b3fcd9a66)", - "P->V[80032:80064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 61573: Hash(0x0000000000000000000000007c5b037f588527206c1b194b571b7c32488c16cf)", - "P->V[80064:80096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16384: Hash(0x0000000000000000000000003d86fccc2be0bc9e0565d6b7fcd677c4159bbfb8)", - "P->V[80096:80128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16537: Hash(0x000000000000000000000000ee3b75f2910f44903d85abee4152528fcb0bc904)", - "P->V[80128:80160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16702: Hash(0x0000000000000000000000001305f1192467ef6c13355be8d4b80c251eb22d87)", - "P->V[80160:80192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 18566: Hash(0x0000000000000000000000005b73f825e320e418057f3b8472367e3a60dca2c9)", - "P->V[80192:80224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22335: Hash(0x0000000000000000000000009e41ec80d5dfb26919083ff16cf69e2ee73e2b16)", - "P->V[80224:80256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22559: Hash(0x000000000000000000000000aa9b8fb1edcf967018901c1050069f6cd592ac49)", - "P->V[80256:80288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22854: Hash(0x0000000000000000000000006acaac579886fe12b016ee8f25fe6dd8c44777c6)", - "P->V[80288:80320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 23563: Hash(0x000000000000000000000000263c5ec2829f5f7cc9953f3da6ab9008ca217312)", - "P->V[80320:80352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25739: Hash(0x000000000000000000000000a1b0df62dd745f7138a8eb60ccc3df2675882b4e)", - "P->V[80352:80384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26356: Hash(0x000000000000000000000000597c8ec88541baa746e9e958792776d871748811)", - "P->V[80384:80416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27190: Hash(0x000000000000000000000000abb960d5c1e2c464bcb40a93cdbb36288ab0ff47)", - "P->V[80416:80448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27823: Hash(0x000000000000000000000000ab00c56015d30da3acba9421cab39e6a04797827)", - "P->V[80448:80480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 28177: Hash(0x000000000000000000000000c07a4bf117f26434705a2aa20552326495248676)", - "P->V[80480:80512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29663: Hash(0x0000000000000000000000004e8b3ab93f5478a5d88a3b115e93878f3be35024)", - "P->V[80512:80544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29809: Hash(0x0000000000000000000000007c9431eef622f13b1342fd75126edafe2fed3ebc)", - "P->V[80544:80576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30050: Hash(0x000000000000000000000000c75f0fdfa8a6e4817827b175fbfba26f17349035)", - "P->V[80576:80608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30787: Hash(0x000000000000000000000000049311c4ef412873c89ef9c2f681f2bb08785649)", - "P->V[80608:80640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8193: Hash(0x000000000000000000000000662746669c041e8d2e92aff44af6d3d0f156bac1)", - "P->V[80640:80672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8269: Hash(0x000000000000000000000000f057c0f555f88e0cbc8d97e85e89cd68277a5bb6)", - "P->V[80672:80704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8350: Hash(0x000000000000000000000000741888db6f47554526c55bb9cfb333d13813efee)", - "P->V[80704:80736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9282: Hash(0x000000000000000000000000af79831083447e0415c2a0e3abddddad611b92a8)", - "P->V[80736:80768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11166: Hash(0x000000000000000000000000c61b167e747b88fbc80d7df579fc7e1f3acf9747)", - "P->V[80768:80800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11278: Hash(0x00000000000000000000000093260a2a2e083a459be32757a15e721e50a8c9b7)", - "P->V[80800:80832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11426: Hash(0x00000000000000000000000010dfe5ca112cc57429a06680d2f80262a8c5cdcc)", - "P->V[80832:80864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11780: Hash(0x0000000000000000000000002f56298e1e7721b520457272bf80dcbd54e47fd8)", - "P->V[80864:80896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12868: Hash(0x000000000000000000000000cf661e9e8aaae1a82117aaabbbda22c8132d4ce7)", - "P->V[80896:80928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13179: Hash(0x000000000000000000000000d5029232159ad30764ff3b3edfdf7751677658e9)", - "P->V[80928:80960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13594: Hash(0x00000000000000000000000022ec63cdac68b85e9c1afdb42096dacb22f4af7b)", - "P->V[80960:80992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13910: Hash(0x000000000000000000000000dbe2f4dad978be99200d76c1fa12e20c39001fba)", - "P->V[80992:81024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14089: Hash(0x0000000000000000000000005cba0e6c1771fe3b801db9ce8d8d5d86c7a4d18f)", - "P->V[81024:81056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14830: Hash(0x00000000000000000000000059e5241d567f5c3cb8544edfd9d5ecefa46a98c4)", - "P->V[81056:81088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14905: Hash(0x000000000000000000000000a942b2f8abbaab039e2b831a3b351a8e28211a3d)", - "P->V[81088:81120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15024: Hash(0x000000000000000000000000137b93bd9111c40b912102e4421dadcbcc1dc9c8)", - "P->V[81120:81152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15392: Hash(0x000000000000000000000000529208d6367e46cb494564421e72850ce0085c2d)", - "P->V[81152:81184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4097: Hash(0x0000000000000000000000000697a53d05094c36f2893cf5c630b11f13b11cc7)", - "P->V[81184:81216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4135: Hash(0x0000000000000000000000001cc2f6d560a00a25523bc254520cf56a0e0f1908)", - "P->V[81216:81248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4174: Hash(0x0000000000000000000000007ccbef163ab895c8ba8b801814845bc958cff7aa)", - "P->V[81248:81280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4640: Hash(0x000000000000000000000000de9a8c2417114583e3d9a34ff1601b2763257053)", - "P->V[81280:81312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5582: Hash(0x00000000000000000000000053475279f07af06b236941dca32dbf66a9663077)", - "P->V[81312:81344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5638: Hash(0x00000000000000000000000076816265d1f691d9c805fbc1f53b3107dd5861c6)", - "P->V[81344:81376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5712: Hash(0x000000000000000000000000a09573e54f138727bf8209a21363ec87b917ea6f)", - "P->V[81376:81408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5891: Hash(0x000000000000000000000000ea086a02d10a3837164ede954ee28a8f110c5edd)", - "P->V[81408:81440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6435: Hash(0x000000000000000000000000d54e08bd4c8acc4a09ecb41d60be1780bce6c596)", - "P->V[81440:81472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6588: Hash(0x000000000000000000000000179fa6fdc5d0b102160f6dc0e6b92a31e509880f)", - "P->V[81472:81504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6796: Hash(0x00000000000000000000000050be99e13a8d184f1dfcea3ad2d5e7c6f5ef330c)", - "P->V[81504:81536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6954: Hash(0x00000000000000000000000004c118c399ae7870a55e15c0724764a0b4cdd03d)", - "P->V[81536:81568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7045: Hash(0x0000000000000000000000004cd86e77b84a8127ae6cb136f6dc47c1aa4035e2)", - "P->V[81568:81600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7414: Hash(0x0000000000000000000000001f499b89c70c6407bbe81995b9a4a7449c8acdbf)", - "P->V[81600:81632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7453: Hash(0x0000000000000000000000004aa11b71098744eb4ac53c73c0e37a95e9b2b6c3)", - "P->V[81632:81664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7513: Hash(0x000000000000000000000000f824420d6001bf5329e9cf1cf342e94688538e00)", - "P->V[81664:81696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7697: Hash(0x000000000000000000000000c6d6fbf36d7c1d430b8e3f95ecb84689002282a2)", - "P->V[81696:81728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2049: Hash(0x000000000000000000000000d25534f6063c10dba8511bf32d33a18ab2a11451)", - "P->V[81728:81760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2066: Hash(0x000000000000000000000000a0e598e68db55ac5aa89f0a5cf8be622f46d6216)", - "P->V[81760:81792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2086: Hash(0x0000000000000000000000003b50a24d6a1e5f5bbbf197602be5489203866288)", - "P->V[81792:81824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2321: Hash(0x0000000000000000000000002c3518f6daafaec636bc69d2802cb6c3b793da94)", - "P->V[81824:81856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2790: Hash(0x000000000000000000000000412af0c346d97a4cb7515c64c943888b51f24f26)", - "P->V[81856:81888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2818: Hash(0x00000000000000000000000004bc72e1c98b2021fbad1ac21f0b83645a39510a)", - "P->V[81888:81920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2857: Hash(0x0000000000000000000000007eea70c2bec22a9fcbcfd10f3d032f7cb1471c07)", - "P->V[81920:81952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2944: Hash(0x00000000000000000000000011907562601c24ab590b86662765834fcb2ca355)", - "P->V[81952:81984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3216: Hash(0x00000000000000000000000070cf1276c25e743f0fc0773f3ec3fe230552a1f7)", - "P->V[81984:82016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3295: Hash(0x00000000000000000000000070ab92bafc9bbdb9d6c0f57f19f561395de25fa0)", - "P->V[82016:82048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3399: Hash(0x000000000000000000000000a838a535b3db485de7c546f5832d68f35504862a)", - "P->V[82048:82080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3476: Hash(0x000000000000000000000000c544f1baa819bac83eac2bf05666c0fde5a3e3e1)", - "P->V[82080:82112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3523: Hash(0x000000000000000000000000a06f4833a1373b913e9985381ff3e91450fd80bd)", - "P->V[82112:82144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3706: Hash(0x000000000000000000000000a7fdfae3ab8003d5693b1a102aad5cc1f7f10f5b)", - "P->V[82144:82176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3727: Hash(0x000000000000000000000000d79d36f7ba96ae63abea165cef5e9418efa5ccbd)", - "P->V[82176:82208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3757: Hash(0x000000000000000000000000cf9eb0654280448fde75e02478ae5230113c86c5)", - "P->V[82208:82240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3849: Hash(0x00000000000000000000000066ef2cfd5f871b8c1e8d9e2cac7b06d8f6b29189)", - "P->V[82240:82272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1025: Hash(0x0000000000000000000000001f1e6e27f579248f920d0fc52fe34d1f2f05c52f)", - "P->V[82272:82304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1032: Hash(0x000000000000000000000000738d9f1837e8ea145b639a2b4682cdf4ece6601d)", - "P->V[82304:82336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1042: Hash(0x0000000000000000000000008b76b092fe3d726c1ffb040944e3aa95d64aa03a)", - "P->V[82336:82368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1161: Hash(0x000000000000000000000000af9c8787d0f7a068b88d92d351f890ee9e563015)", - "P->V[82368:82400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1394: Hash(0x000000000000000000000000384d57e5601166bc1584e638feeba767bd46aed9)", - "P->V[82400:82432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1408: Hash(0x00000000000000000000000044d428212ded7d1686a5918c9803792ad6663e1e)", - "P->V[82432:82464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1429: Hash(0x00000000000000000000000060a27444b86bf86126cec5158d94c06bfc8e65ed)", - "P->V[82464:82496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1473: Hash(0x0000000000000000000000001ca2c0d81fe5513239f245c2f8511ff9a922948b)", - "P->V[82496:82528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1609: Hash(0x000000000000000000000000f2b2050a6c816d9f39c7ea652c008083d2ed2148)", - "P->V[82528:82560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1646: Hash(0x000000000000000000000000a452ea1a3e9c0e60a6547f472db1663173d12daf)", - "P->V[82560:82592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1698: Hash(0x000000000000000000000000a13baf4711abd6ce8183f8c24f8362a778324663)", - "P->V[82592:82624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1739: Hash(0x0000000000000000000000008b1e43f69b0d996b506aaa34efeacb0f242c54ff)", - "P->V[82624:82656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1760: Hash(0x000000000000000000000000d29d4642632933d17c7e5837bd10e0a5b2271cf7)", - "P->V[82656:82688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1852: Hash(0x000000000000000000000000b9580c8676333be556b5882b6fe8ac9572d9d36c)", - "P->V[82688:82720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1862: Hash(0x000000000000000000000000a1a057b12a750b68869b8397464f075d19d17434)", - "P->V[82720:82752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1879: Hash(0x000000000000000000000000b941159a091b4afc9cdb6b2e1f49226a507640a7)", - "P->V[82752:82784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1925: Hash(0x00000000000000000000000000326f951d82794d728d55ba3adb60b8cd91a936)", - "P->V[82784:82816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 513: Hash(0xf7a0a950c03f9bc39465a4e4baf68a01bf8775da)", - "P->V[82816:82848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 517: Hash(0xd907429909d1e0b15e30bb0aa7a33dd5d77d7184)", - "P->V[82848:82880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 520: Hash(0xc9f2167093ad8fd88a76693e138447c60ab4ea35)", - "P->V[82880:82912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 581: Hash(0xce677925a5a8dd9e0675a343affaf30e3af88423)", - "P->V[82912:82944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 696: Hash(0x6db0f00aa9f39098e7c457e4a551d02808e13c0b)", - "P->V[82944:82976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 705: Hash(0xa7b0ac49be7deb4e2f7431d13864a79a4e708600)", - "P->V[82976:83008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 715: Hash(0x2896946b63a0dddff04e82d5cb6ef369d9e2430)", - "P->V[83008:83040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 737: Hash(0x34f4f5ea33d3c301dffaec62b5a70931179caeda)", - "P->V[83040:83072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 805: Hash(0x4b9dafe5883ca6b7fbdc1c11bdb10b4f9d03ec4f)", - "P->V[83072:83104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 822: Hash(0xf1b867dadfc6f6b842bca97bf9022467197ae3cc)", - "P->V[83104:83136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 848: Hash(0x2c4d815168747445ad466fa59f01c1fd8f01d373)", - "P->V[83136:83168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 868: Hash(0x50eaeb2cfe0a34c09ddfa8135dcf0e6d60d20d39)", - "P->V[83168:83200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 881: Hash(0x9260662d94c473fdb32c5bfeef8eb7dc4a21b4a5)", - "P->V[83200:83232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 927: Hash(0x5b1e1b54f8279386c0290342111ae5de6a64b8e7)", - "P->V[83232:83264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 930: Hash(0xc206fa5b8d9edb3dad59efbdef0ed3f341445c72)", - "P->V[83264:83296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 938: Hash(0x9e8003d23cba5cb5ec39d081cbb33fbb19d23512)", - "P->V[83296:83328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 963: Hash(0x53c9625cff4162c1f8c34dfd63b5d725cc6fcfa2)", - "P->V[83328:83360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 257: Hash(0x4818bf4caea93cfa3e4331ce99197c7818e8286fb6af6928afedfae7e0ea41b)", - "P->V[83360:83392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 259: Hash(0x375034341670aa7dd90e14f93c1318353a242a7ae0364a9e0c5a59c6f919062)", - "P->V[83392:83424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 261: Hash(0x4ffefb4031fd17985deafb9b5cd7f275aed4f57e3db2e7f06d3611663b0e7fa)", - "P->V[83424:83456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 291: Hash(0x400b375474e1a29386537cda5911e24d787aa3b99fdee5457d0c5fe445c286f)", - "P->V[83456:83488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 349: Hash(0x26b34f2d3c7b8e25c126e9a66ad75102adb818ddd320bdc3fd7f1cfdef5de3b)", - "P->V[83488:83520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 353: Hash(0x67d1fdca457b575d001369b61da1d760cd9122b6297ba0211b6c2d9a4a54119)", - "P->V[83520:83552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 356: Hash(0x4126c98a237d035a35757a8ca5f8f561f7a153d2cc053c8f2baa183b4f85366)", - "P->V[83552:83584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 369: Hash(0x445eb736ff52187bf857cb999fa7fc19897a1302860285d0d72caee7ee64fb4)", - "P->V[83584:83616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 403: Hash(0x1dcebc8902e87106f3b203f83f1eae3a33d34e41567dd080e36724b71b77a46)", - "P->V[83616:83648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 410: Hash(0x2480f26871e2a4c2e8a42fde0fe092d899205c5cfefe64fa7c02d94ccdb18e5)", - "P->V[83648:83680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 425: Hash(0x2a585e18426629510723dab08ec3ee7573060d22cb19aee8aa323e46da6c197)", - "P->V[83680:83712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 435: Hash(0x409d0fd17113bd6dc1c80b4e7f2f0b2ca83d46fdda03ee2c14130c5f908ca1c)", - "P->V[83712:83744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 441: Hash(0x1b027d8b0bf40483a8843acf0278d785e4de0fcb47da68589dd48181d7e5d19)", - "P->V[83744:83776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 462: Hash(0x2687b8a468a6551d1ab7a17efdf7e99543e974e969f1308c62ee32ce3c9a16b)", - "P->V[83776:83808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 464: Hash(0x7c8c990e3d6df024e1e9dfaf26d9710250346c47dfeb5c4d311d363ef6ad70)", - "P->V[83808:83840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 468: Hash(0x3c8b55013d4cfe9bc18f43989e20a6c28e72fe67f0fc9193203bf61509c48fa)", - "P->V[83840:83872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 480: Hash(0x59803d1212e92b31dff9027807546e22bbf3db17990fe453d67234c0be90587)", - "P->V[83872:83904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 131: Hash(0x30296909971d9000422d122cdd3ec4baa891e06ca4a2c1d7fae7061ca7d40e3)", - "P->V[83904:83936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 144: Hash(0x6d7992b3ad7b0b5947ed76f944c0a92c7ab4870cb49e09ecb66810b5ad1cbe6)", - "P->V[83936:83968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 175: Hash(0x20e6a5fecdc3e076d105498ccb32271ca5b50cce1076f9a6d08c9401456c2f4)", - "P->V[83968:84000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 177: Hash(0x1647a3ea2c3da862b9c8aa7b86ee8dae1b5f50eb2080783b907e3853e6cfc0a)", - "P->V[84000:84032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 179: Hash(0x50698443a97b51c18e072582bb3e8ed88ad80c88d7663ba8c99033c133b6ea6)", - "P->V[84032:84064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 185: Hash(0x54bf4e7b473f0c045d07538ddfdf5fa907d30419e36528270de5c2f72d484fb)", - "P->V[84064:84096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 200: Hash(0x7213459201a3f44d3e9cb67224e2f869dc742086dbfff1199e44a51a91bd138)", - "P->V[84096:84128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 204: Hash(0x83b652fea4eed52cddd23485a1ace376f5ed204eb850cf77bbbcd53996a6aa)", - "P->V[84128:84160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 213: Hash(0x74e490773e0c106fbb04c6b315d2a7d63e3cb8573df09abb9f0696065d2b3f0)", - "P->V[84160:84192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 216: Hash(0x395f1f295d6b1ce62453e3bcd4c7963abe9f8f16e8d387e9e29f7e896902a40)", - "P->V[84192:84224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 221: Hash(0x2d296bb3ce2e2fb91eee9c2dbb90430e52c04db1b86509a138046ed71ece221)", - "P->V[84224:84256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 230: Hash(0xcc68b70cad64c80e36449f5ec5f4d66da2074ab46f5075a6ce92f2983961c6)", - "P->V[84256:84288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 233: Hash(0x7d2d88c3dd8ebd6bd5b3cf0af2347ce53655eec66e41bbafc6e1cb218029b58)", - "P->V[84288:84320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 235: Hash(0x52ae535066dbdfb1dc51c934f535b4d71cd6ecb454cd5e3d98c630eebb8d163)", - "P->V[84320:84352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 241: Hash(0x59ac34ee70af718c2d0a03f05d8be9ec596262e63555db45cac7b6fbd17e745)", - "P->V[84352:84384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 73: Hash(0x7ee911e74d9ef72b84c5772805476fec83b7ff2db0e2eacb7294ebd5e0d64f3)", - "P->V[84384:84416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 86: Hash(0x446685f9c5636f6404fb8e906363d0f5881a770ab9204c84ebf3a5c3b758075)", - "P->V[84416:84448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 93: Hash(0x47ca66f3315a3cafcc569df1caa60f731d6d701abeed72dbfc782d0e7389f1c)", - "P->V[84448:84480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 101: Hash(0x659bd4f982fe2623f415d78ad1239e669c7fcb0f1c15dd3cf8475877b4accf)", - "P->V[84480:84512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 103: Hash(0x26d8868dab2e4afe77bf71793ab313a1654dee999bff415301bdac6a9f7476a)", - "P->V[84512:84544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 107: Hash(0x2a4a79cd7d2acb8d498b2ea4dc224d3740674455102c863b52e8d6814ac88f2)", - "P->V[84544:84576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 109: Hash(0x146d48a2d59ba7391e4e25ebf26e14b6266d4382142510305824a758ea11f69)", - "P->V[84576:84608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 111: Hash(0x6904bd9590feaad86005747f737dbb97c4c70b4953b9fa776e60832f53a4b)", - "P->V[84608:84640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 114: Hash(0x456fff42502b6f738bf0b2316a5e927c3568676cea467d40d79a70838d206ad)", - "P->V[84640:84672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 121: Hash(0x25bb1d17845b49db2d9d4ffe17ba83fd98fee45e498b3c666db177d467af54)", - "P->V[84672:84704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33: Hash(0x4d2a7e65b57d8d2557a3b88fcfc01b5fa4e8bd811a8aea643e70006feb15c1a)", - "P->V[84704:84736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 37: Hash(0x2a40c04adf95f425c9cadbd41346d21c7a4098cc9604923870b4b0dd97f94b0)", - "P->V[84736:84768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 42: Hash(0x3d9a17ed6fe1c424a29045e8fceac1937f6f79e42fab397689b9cfb38c63b63)", - "P->V[84768:84800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45: Hash(0x67ae31ffbc1ddf4a0e5303651adf2c85371b28e842110280f811e8c8375a25d)", - "P->V[84800:84832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 47: Hash(0x78539a4d63606f6fa5ce9e5b3f60c39faab8fffcf56eba35ae602ef0e7fa820)", - "P->V[84832:84864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 52: Hash(0x5ae3390ca5e3c5f6131b7f14e4cd157465080c9d03d5a0b686517fb4e0ff4b7)", - "P->V[84864:84896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56: Hash(0x10d30166b1a21c00df7ce130616117ac23b1155b660706e97867d15cf74e74b)", - "P->V[84896:84928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 59: Hash(0x51e06a0d143eab6bd7b1f75409849edb1e731271d60ade7d427613f3ef0c5c0)", - "P->V[84928:84960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 61: Hash(0x6e88d98459bdac00d99317baba73498404c6c9abd69ab9fcd2a30d358dbeb0c)", - "P->V[84960:84992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 17: Hash(0x60051fe62f0427fce96c238a70e0cc51571ca2ea975fcdf9b4639d8b70865b3)", - "P->V[84992:85024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19: Hash(0x4f233193dfafd2a088861f7f261ccb467978a4392530f28b865f9588ae131e5)", - "P->V[85024:85056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 20: Hash(0x6bc032a49879a4f7ddc1e8724dd160b2a84b5cbb56858a0bc4516ab11a40a17)", - "P->V[85056:85088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 24: Hash(0x510e3e7d2ae77e071d15dc1f130efc383ac7509616cc058f238f83d9d625808)", - "P->V[85088:85120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31: Hash(0x1d4ce6c06e5bf35c41195d9f0739e91be48ea9aed4713f6d2825aac1dde0a4a)", - "P->V[85120:85152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 0: Field Element(0x50f9d6af2f61931b7846bc090bf704c0fb4716c17926fb0e0cf8aa2913afde8)", - "P->V[85152:85184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 1: Field Element(0x60537118a36e407a1cb4ed8baeea659a7dc8ec6e7329268c33cd1e87277cd7f)", - "P->V[85184:85216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 2: Field Element(0x2ca30d06d45b13ec74c750be80de37c1de137c30e7b54005a5497915fe6992c)", - "P->V[85216:85248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 3: Field Element(0x4d1d4e1dc45f09a4dcb7839fb66e88575473afcf3a38c5187a96c513fb69a03)", - "P->V[85248:85280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 5: Field Element(0x3c1800d656155b2943bc81fd90c9c77dc3649355825608ddfb599ba5e0d4fb5)", - "P->V[85280:85312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 6: Field Element(0x1d6beeb4a0edc11052b12edec398e6c451d59584a1ff1e6b00995acf482ff2f)", - "P->V[85312:85344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 7: Field Element(0x2e46bf03ce9bdf7bcec042cb36ce35f229cea1a888dde64b4d4cf6b8f5c6107)", - "P->V[85344:85376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 1: Field Element(0x45689a32d54284687fdc3ea0fe0237584362b1ae17c2356d91570741cba461)", - "P->V[85376:85408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 2: Field Element(0x5bad323d3b045ca42d98bbd711f3523b0f9a0225f85ee2e8ad85b0d4ff7295f)", - "P->V[85408:85440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 3: Field Element(0x2ba3ff7e2fe6978fdf320f80091774019d6aa01bd3890fe587441b1371111ea)", - "P->V[85440:85472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 4: Field Element(0x5b41fdb1337c5eb5dba97c27de5bb0530dc815623a2a1f718c923b5251c2368)", - "P->V[85472:85504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 5: Field Element(0x7f7544b04eb1f0cf89f7dacd28d0d242e90cc52ba18152bc78b54dc77417222)", - "P->V[85504:85536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 6: Field Element(0x247bfc478be8216136bfc2800179b7d0c9c95ea2dfb184d8cfc08fe4d872686)", - "P->V[85536:85568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 7: Field Element(0x58745f46dbe00f66f4f7818366e72041e5cc7895b403f2ed430063010fd8c9e)", - "P->V[85568:85600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 1: Field Element(0x5248bff2f063a337de32dbed4ecaff738fa0e9d154eb13d2343ea6168758ea1)", - "P->V[85600:85632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 2: Field Element(0x4b1122f896cf9b8d03a7fb28bca154da3aca27ee2e07e9b4647ff64028a9fdd)", - "P->V[85632:85664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 3: Field Element(0x5d88e96a03bc3f2c21baa0dabd19bde98d7dc945b9e7313c5982454a8202d29)", - "P->V[85664:85696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 4: Field Element(0x11b04553e6d9694d24339288f87b239944e1352d4383e1dffbde420c2907473)", - "P->V[85696:85728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 5: Field Element(0x3421f00d2b90e364da9b3a718b3e44793df7ca30224aa0bf4ad96e573fd8e69)", - "P->V[85728:85760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 6: Field Element(0x380172a5109d395f3cba75f52b532a97473c263b489c74fecb3cecd194ee188)", - "P->V[85760:85792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 7: Field Element(0x509f7efe196b5fc07ae4f23d815b96d3d32b5a87f48c752ffadaa75afc85a9)", - "P->V[85792:85824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 0: Field Element(0x4cb519c31d82132c7394925f5b30a5f705301a63abd81cf5e2c4d22af1430f8)", - "P->V[85824:85856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 1: Field Element(0x24b628e413b1424909a9a6cde73f4d21b6534ba584e7140633653eca3853ce7)", - "P->V[85856:85888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 3: Field Element(0xd5218434156e9e862b355766b5571d063078c96c2ae058276ca3e537eba0fb)", - "P->V[85888:85920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 4: Field Element(0x6e2eaae30b7b5ea1de1773dd558b918092c895968ab1623ac163654e91b4ac9)", - "P->V[85920:85952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 5: Field Element(0x76d5c680fedc292723f20a45400c7f8eac67fdc257fae88da06a3385c5de38c)", - "P->V[85952:85984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 6: Field Element(0x7e5928ef31b028e866a1457550f76c96e439c41a178d0995d96f2c3da3d2086)", - "P->V[85984:86016]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 7: Field Element(0x5ed0479a346011a87a4081d3bf9d0f2743036551a4a09364dc8cef2daf19672)", - "P->V[86016:86048]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 0: Field Element(0x4a4fee394271906e1f36c029c53b4e077b3aaa3e5dbf9704f782af6e77fe386)", - "P->V[86048:86080]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 1: Field Element(0x5f6c264e95a5decefc38d224bc22b660342ec80e77be96fac9f2df042ad44e7)", - "P->V[86080:86112]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 2: Field Element(0x12cd3fdcde1ea44b3a1424bd680c5d278f3cbb50fa07b26640d72c725f679d1)", - "P->V[86112:86144]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 3: Field Element(0x47bcd30484011a30b4f4a0b20997a3926b53015d5a1befd66ce0550e4746525)", - "P->V[86144:86176]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 4: Field Element(0x54ae14847fc57028fbe63aa688dd3168428c2b5c07eb8bdf6c746beceb00153)", - "P->V[86176:86208]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 6: Field Element(0x357f3f00fc19bc8d17bfb98db27aa505c6142837b4283fc1ce23e20fef36975)", - "P->V[86208:86240]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 7: Field Element(0x59e4b551cc411f4a85edfe1ceec86b1835ed2ae64ee946dc4869bc25bbfff1e)", - "P->V[86240:86272]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 0: Field Element(0x167fe5cf6cf010cfefe7dfdac937ada5e349a936cdc4356bc3fd5ab4aa1f7e3)", - "P->V[86272:86304]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 1: Field Element(0x3247ad1ef03e78c2545bc2671f10828c28eabe4df00b7e454094c643f1be965)", - "P->V[86304:86336]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 3: Field Element(0x49411c42b2b27aaa10087bafc43f2d5fd7881710e40db27c3d91dd4f8941358)", - "P->V[86336:86368]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 4: Field Element(0x6a50b3b4e65a2f5e17e5c32edd0c4e26b0f4a13c341b3a5dca4319a70f59726)", - "P->V[86368:86400]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 5: Field Element(0x4babb7a762a3bae3d14849c08e3ae4a0175d8ab97f3e615bf8e38fc0d5b2def)", - "P->V[86400:86432]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 6: Field Element(0x7db12b913f5d2f9303110dbd24d149309fb386c586aaa16493f5ff70eff53a2)", - "P->V[86432:86464]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 7: Field Element(0x4de7a40f62e6fbaebfce95135ee6a5461c2e1c2dee0629a69836b4393137624)", - "P->V[86464:86496]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 1: Field Element(0x69ebebe5d872e61097943daf8937568bf6493c4f6cc9189ae374f1c90111549)", - "P->V[86496:86528]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 2: Field Element(0x1c7cf3f8727320e12eea13ea3e67f8471d66ec561371c353859524dc6dc5c59)", - "P->V[86528:86560]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 3: Field Element(0x1f6983c7930609c72a6e2f34fefabf72b606732635da92a698a5bdb90592170)", - "P->V[86560:86592]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 4: Field Element(0x656659257d76096357de69505b009ebd9257304ff6fdffa90691b65ef020a7f)", - "P->V[86592:86624]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 5: Field Element(0x5ccd1a0e2643e6d8aa48cfc37b98741590ddf01bbfc886a8480f780bf0ced3f)", - "P->V[86624:86656]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 6: Field Element(0x1c39c312b43e769754bfa7740f78cbc5cbb0468d44eda943de493f1c26e0e54)", - "P->V[86656:86688]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 7: Field Element(0x31e1e112aff391dd5ccbb038fd143ef8b822526fa29bfa137fc3ef2b04ccf18)", - "P->V[86688:86720]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 0: Field Element(0x10f3f58b5092171a1027bedeb3aca901049c0bed687b0c620b64226f5886611)", - "P->V[86720:86752]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 1: Field Element(0xec41072ae17b531a8e384171fbf247035c8808448c55c38fab9ec82870764e)", - "P->V[86752:86784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 2: Field Element(0x7096aa1fc8bcdcc92dfdb4c1dba0cde7ee4198595491785bd7bbad07fc4230f)", - "P->V[86784:86816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 3: Field Element(0x12959527fb659c9fe99c74c9c8ec53dd5ca0e235b605cb628f1b896b1c4de56)", - "P->V[86816:86848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 4: Field Element(0x70e781c8c948b66295da273c6b26dffe6867633308f989d4f89365ee4b116e6)", - "P->V[86848:86880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 5: Field Element(0x29c12e67c5edbeae5080fbe470629b8bb79219d39c1d90a7f55ec74b44237a4)", - "P->V[86880:86912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 7: Field Element(0x212c3be2922e18546cffcc18083976c15798defdfb189c42302225b1fc5d59f)", - "P->V[86912:86944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 0: Field Element(0x62e402ad9dfafc02e83dc0ec7676f986939a5f6f4ef2ae3bb3a1043d9a53246)", - "P->V[86944:86976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 1: Field Element(0x1902c0511e58d0b8f3e29806fb04ed3bb13403c34920432dd49fe8f274a90a8)", - "P->V[86976:87008]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 2: Field Element(0x23890ee355c9e3fabf124dca453edefc5d6df70420b6b9c8942c8ee6b52284)", - "P->V[87008:87040]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 3: Field Element(0x5ce0231afb50391ed4971f187c1d229a52a2bdd0c95053bab9c138ec7e68e46)", - "P->V[87040:87072]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 5: Field Element(0x1c82478fe278498c7a771650043976c0bc8a91fa31ce5e4bffebf40a21cfd76)", - "P->V[87072:87104]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 6: Field Element(0x35e04c56937b810451e5727c332975400e19b413eb618802ae1b612254c64cd)", - "P->V[87104:87136]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 7: Field Element(0xae0ded391f1dabcde300ea4a7afe0d0886aa2fb6925d193527fb86451cca7c)", - "P->V[87136:87168]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 0: Field Element(0x647ce54241122a4f6f8930e8a8a35ebf99eb1b507f39669c2c1fc1b33fcb6b8)", - "P->V[87168:87200]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 1: Field Element(0x5d01a2342c9fd42a921ebdd593f39dddd571ae3554cfb22bd69d9f8e2727afb)", - "P->V[87200:87232]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 2: Field Element(0x3d05c2aa2b80fe2beb5d031c9d8ec576398698d52195e3a3d4d17a34d51fd58)", - "P->V[87232:87264]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 3: Field Element(0x7aa3ee7801cb9719444f936a1d4f2eca59f8851d0a3457627ca4bf7d4ac44ca)", - "P->V[87264:87296]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 5: Field Element(0xaf1fe17aa174efaf15e347b064bfe440b6a865bc5dea408982af55b4877a01)", - "P->V[87296:87328]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 6: Field Element(0x6038046c9991e479f5f4762e1804cafd08abb5c39fc3d2b65d1a68c6843501b)", - "P->V[87328:87360]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 7: Field Element(0x5de3dce8d26f5dff645251e96a6d271d1b5243bfa5a853ff60e3b3c5bbffa95)", - "P->V[87360:87392]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 0: Field Element(0x19eb15fd224d06eb8a091177a91bdb90d17618de2d781b829dc5b86933387d5)", - "P->V[87392:87424]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 1: Field Element(0x2cc5c204b1dd13fe1d2bd252f15949e2191985b6da485d4d26897bf3a23e770)", - "P->V[87424:87456]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 2: Field Element(0x33e0f4e6363ac0a72706bd679da437fabb59a76e34e834c8f8cf29eeb6bbb71)", - "P->V[87456:87488]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 3: Field Element(0x4eab618c778a9ca775ae0f4a002a64c7b42e6a1a9da9c1702d17ce40c399e57)", - "P->V[87488:87520]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 4: Field Element(0xd177aa1ef1c022d521381c12812cc015b6ab52826ad06a80593652a658c449)", - "P->V[87520:87552]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 5: Field Element(0x16b661c2266730d5562b2ade9c6b6bd6f270c677645d4585338bc77a0a2d132)", - "P->V[87552:87584]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 6: Field Element(0x554ccfbbd7a46cceb93be47bc748d7d865cf4707176b871e831b07f451f3784)", - "P->V[87584:87616]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 0: Field Element(0x7d5f72927fc6b73f751edb51a1162bea6e6d1ee82426ac4c85c8d8203db77ea)", - "P->V[87616:87648]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 1: Field Element(0x139aa592e93cd45d733a9981189f5e0e103148bafab06d1eb00a08918b5252)", - "P->V[87648:87680]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 2: Field Element(0x72070ae6cc8eee3561be447b015d33f3695c80ef9d96edf5d84858f006c56bc)", - "P->V[87680:87712]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 4: Field Element(0x5bffc22ef5e276446397e2870cd7d2275308bdd3d11f12543f76370d3d30a44)", - "P->V[87712:87744]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 5: Field Element(0x14fc910f0ee0016ff05da9a2c96f5867e3546b13080fe1ad46c196a5e552f5c)", - "P->V[87744:87776]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 6: Field Element(0x13fcb091346f05285de7d351c14ac73907ea1e38516ee7f02311dda45776a08)", - "P->V[87776:87808]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 7: Field Element(0x653631a2ff3164a8ad63956dd88a4424e741f06ac5fe98acc41b678cb4cadac)", - "P->V[87808:87840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 0: Field Element(0x70a181a3e0e485096662f600409641eaa1d5fc7de9ba9d6a4f4052500953c10)", - "P->V[87840:87872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 1: Field Element(0x3eb22ed41dbc7ff11522d845f0c30b3fc0f0c8d75ad9bada573a2b26695d88e)", - "P->V[87872:87904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 2: Field Element(0x511e6478a80fc274fc461800904d567c9f200c266a21d2aacdffbd5094161b6)", - "P->V[87904:87936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 3: Field Element(0x135d8eae5599aed8691332f7098c45c988944694ef14514f3f3838e6e493c78)", - "P->V[87936:87968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 4: Field Element(0x15ce7c8f080d798b88916354ede233339e125879221567534617dbb55716b22)", - "P->V[87968:88000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 5: Field Element(0x6d6b59f0943458fa8d5da77897ef3bea071149aba303b6b3960a081b1b47d04)", - "P->V[88000:88032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 7: Field Element(0x480a9bf6e7ab602a2707669c9da9c1e3085caf8c7eab5c6a00f706607f7f5fe)", - "P->V[88032:88064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 0: Field Element(0x52aeccc0f38335bf2d6a5883aaea2def7e3c87e8f8288501486f1047176db4c)", - "P->V[88064:88096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 1: Field Element(0x1f568905da9f817ca24a99751c9d4b4ee9026ce8146487184365f090bed4625)", - "P->V[88096:88128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 2: Field Element(0x715115909731c27d6ddb77f074b00dae8e058115079790e40f0137d65e428e4)", - "P->V[88128:88160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 3: Field Element(0x740dd8e1b917f1a99f66727ca241acd50b8cc5f76e3ee9c820965cf0d32a698)", - "P->V[88160:88192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 4: Field Element(0x23bc10e12e87528fd39138af295ebfb53ccd207ac6e46499484eaaa345af412)", - "P->V[88192:88224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 5: Field Element(0x7d6e4b739deacaedb2ad25ed6a5171cdcba7579b6689313814789cbbec4929a)", - "P->V[88224:88256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 6: Field Element(0x6da0f6754ff2aac57967a7e30671b3ce5d04a0a6ba0b1c362d3764db4f48a58)", - "P->V[88256:88288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 0: Field Element(0x3e75fa3c903476337150918fc271bfbcd44f19be1a976e1aff247d3e55d7b2e)", - "P->V[88288:88320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 2: Field Element(0x7e0a9ce49ce235cccbee87c6475d74a1a2b2c4ae0e2cab95eeb14f2fc271ef8)", - "P->V[88320:88352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 3: Field Element(0x278af27406e139ac8691b4e6adca1b960130669aa1d5b47869335b92f666a21)", - "P->V[88352:88384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 4: Field Element(0x3f096bb2bb88e9fdf06cf1e3a27e59bbb1bede665b8ac24e8f0ff78dbca470e)", - "P->V[88384:88416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 5: Field Element(0x7acd7882d8091bfcdb6749d6db939aed12b748872ff2f48d2741d1b28d53dd1)", - "P->V[88416:88448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 6: Field Element(0x1b6af5aa41e195c73682b2fb0aa6371595b9bd041521aeb408b8d16cabd5f0b)", - "P->V[88448:88480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 7: Field Element(0x33f475b87892fc4e804bbc32d205499731a64018cac912703d8337aa2d94661)", - "P->V[88480:88512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 0: Field Element(0x312925f0fc727896d9f98d518ef6d536ff6f014d7f5c847489e85cb8f8dd27e)", - "P->V[88512:88544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 1: Field Element(0x70f6cca9436c015faa8e95fd0a77d5de3983556b3b9ead87fdb9f7beb7c5ee9)", - "P->V[88544:88576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 2: Field Element(0x6d4cab4cd12f092e392fd827250a38645a01f4253b511a69022c361a84d8764)", - "P->V[88576:88608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 3: Field Element(0x597b4dafe1637fdd5f9774bc1f479aaa6d6a85942668fb671ecd8a5c297d353)", - "P->V[88608:88640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 4: Field Element(0x2b1fd34cb10bc164899f7b1f4e0ed5def2957151dbcc3eb4410e94ab9c5ffe0)", - "P->V[88640:88672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 5: Field Element(0x3c06384d098b9725949be3e9887575b1dbb9f6b1cbac16d12655c239212ff8d)", - "P->V[88672:88704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 6: Field Element(0x22e6dbfefb83e73f6e30de9a3210c817993389289e5a322e199358742b5d12b)", - "P->V[88704:88736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 0: Field Element(0x797ce06e27f91522225be8638c1cd16b501c4bd16c43a2e48361ed28da6b0ac)", - "P->V[88736:88768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 1: Field Element(0x5fef1e30f0872d3e42c3ab99710dc4855bd0a637f32a37522e9bf56d0654f2e)", - "P->V[88768:88800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 2: Field Element(0x390e6f0a4fcfeee6bde3cacd8ca0c4a6bdab5bf7e10dca80a32e6a79df5f6bf)", - "P->V[88800:88832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 3: Field Element(0x5cd438d93d7b7aaa0afe10e1fd5a9a32fa48d0f9e659f4ac9de8d98192bd6fc)", - "P->V[88832:88864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 5: Field Element(0x7678885f7ad3c689081c2a2194700a1ffd4dbc8b2ec3540ccd5b53519a8de37)", - "P->V[88864:88896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 6: Field Element(0x7ee643dc68d57894116e75a9b738ecf362f5ca4734ef5381e4f347a375b62fe)", - "P->V[88896:88928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 7: Field Element(0x11fbc569400e60f3683eaf731f978b30e4755d814e5077ce8f93431530aceae)", - "P->V[88928:88960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 131083: Hash(0x0000000000000000000000004b322840442a724c76ee5ffd371e5700020943fc)", - "P->V[88960:88992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 132293: Hash(0x000000000000000000000000a94378dbf3748511182de5d6cbcd66e3a0d12670)", - "P->V[88992:89024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 133631: Hash(0x000000000000000000000000ed4cc43299d28fc3c79c7aa42730eecc38f94805)", - "P->V[89024:89056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 148543: Hash(0x000000000000000000000000c91bed203d79b9d575cb7b9a0a2a82eaa8a1ed50)", - "P->V[89056:89088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 178678: Hash(0x00000000000000000000000062536934159c069a00a002139bd65190a1f63460)", - "P->V[89088:89120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 180465: Hash(0x000000000000000000000000795ed98df2baac60d4b231b2382fec5ca8480fbb)", - "P->V[89120:89152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 182840: Hash(0x000000000000000000000000180213350411e74757c9f0386a30f90dd5412e7a)", - "P->V[89152:89184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 188500: Hash(0x00000000000000000000000083c75d7f421bf8cad41fab81e07904e09dad1c36)", - "P->V[89184:89216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 205908: Hash(0x0000000000000000000000005ab2dc9f3b928563e6684595959ad552d24c11d7)", - "P->V[89216:89248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 210856: Hash(0x0000000000000000000000000a8ad0a4498abad80cb24103024ae99fdd721bb0)", - "P->V[89248:89280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 217534: Hash(0x0000000000000000000000001b03fada5a52649a56cbe055859c4c0e04df22f6)", - "P->V[89280:89312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 222581: Hash(0x000000000000000000000000a7babaffebb501e1e23d5bd626e70c99cb9ab7d2)", - "P->V[89312:89344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 225409: Hash(0x000000000000000000000000cc064f1bfca2ca31af15234b27f5705f2f2c5b61)", - "P->V[89344:89376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 237297: Hash(0x000000000000000000000000d4f6462baabba3a6d17708ea081e88b02bbb2c48)", - "P->V[89376:89408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 238465: Hash(0x00000000000000000000000084c9303689458372be8f06bc8bb3f8996b09dc15)", - "P->V[89408:89440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 240411: Hash(0x000000000000000000000000560d1b146371fc7e7422114ff834b8692f3c3a81)", - "P->V[89440:89472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 246290: Hash(0x00000000000000000000000019d4f143b5bab27b7fc0745769de97d8cf9a906c)", - "P->V[89472:89504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 65540: Hash(0x000000000000000000000000f328fe1777710bf14f4baea445ee3f86eef88192)", - "P->V[89504:89536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 66147: Hash(0x0000000000000000000000005b48ce264296b92e773179a42b849dbcc9911db0)", - "P->V[89536:89568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 66814: Hash(0x00000000000000000000000075fa491967a0bdf7a92cdd24f7cbcfcbf205ece0)", - "P->V[89568:89600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 74270: Hash(0x000000000000000000000000c0bb0b47dc43569c0fc31b08ab37586080621b97)", - "P->V[89600:89632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 89338: Hash(0x0000000000000000000000004ca1b4bd1acd696e77f1ef233926b9494b390333)", - "P->V[89632:89664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 90233: Hash(0x0000000000000000000000003882b6d425f0b7e1172442339bfc4e7d2576b179)", - "P->V[89664:89696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 91421: Hash(0x0000000000000000000000007a049f1c9d4f20820e54dd365d867f63771c0ae9)", - "P->V[89696:89728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 94251: Hash(0x0000000000000000000000007870e50d8a79bf07e569e323e033754c0501080d)", - "P->V[89728:89760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 102955: Hash(0x0000000000000000000000007c3ff5661aee06625f4946e2db4bb8ec317418a7)", - "P->V[89760:89792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 105429: Hash(0x0000000000000000000000005b7c165d10dc1a547f4a34421a89064e05bb7043)", - "P->V[89792:89824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 108766: Hash(0x000000000000000000000000500cca45929d463de39a738a1327ff0410bcc3de)", - "P->V[89824:89856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 111291: Hash(0x0000000000000000000000007ccdad53e82a55a1331959509ddfa01b77440324)", - "P->V[89856:89888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 112705: Hash(0x000000000000000000000000f34281f0a7fb92c3d0109a4d5894bc3c34b041bb)", - "P->V[89888:89920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 118649: Hash(0x0000000000000000000000002995f0c2021f62748edbaf270b1d1800297e4464)", - "P->V[89920:89952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 119233: Hash(0x00000000000000000000000018df975a3e5a2ec36f7a000a9434a21af934954e)", - "P->V[89952:89984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 120204: Hash(0x000000000000000000000000395693ee81d976fef53f9cd74053bbe4aa231999)", - "P->V[89984:90016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 123144: Hash(0x0000000000000000000000008b5579d4799199dbd36fa1deb713fd5f87016966)", - "P->V[90016:90048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 32771: Hash(0x00000000000000000000000014ebd05083f3b25de878a644ca39240443ddbad5)", - "P->V[90048:90080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33072: Hash(0x000000000000000000000000fc3f9feb6c4f057649e1b6972a6fec4b38a73b38)", - "P->V[90080:90112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33406: Hash(0x0000000000000000000000006cfb9723db0411fec5bcb536edf5b9daf1cf0f03)", - "P->V[90112:90144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 37134: Hash(0x000000000000000000000000055f5e3cf985ef2f7cd73272beff5e88f9fc150d)", - "P->V[90144:90176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 44668: Hash(0x000000000000000000000000879757e40a7d2567ed3ba5ea3fe7d54365002273)", - "P->V[90176:90208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 45117: Hash(0x0000000000000000000000009f834964e3b75b43cdcf5f814ba24b4d686f9c94)", - "P->V[90208:90240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 45711: Hash(0x0000000000000000000000003f5c4ea2455f1bc5b84c0ff2adced8690401d592)", - "P->V[90240:90272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 47124: Hash(0x0000000000000000000000008d22e7dc6bc48c8793b9006d1da481222f22a432)", - "P->V[90272:90304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 51476: Hash(0x000000000000000000000000ff28f9b9efd568ef03ea44ae16567afbdcc98828)", - "P->V[90304:90336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 52715: Hash(0x0000000000000000000000000d5a830f31955e3f242d78f254d28b1798f44ba9)", - "P->V[90336:90368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 54382: Hash(0x000000000000000000000000c1808901ae5cae8ce510a0a10698d320c1bd06f8)", - "P->V[90368:90400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 55644: Hash(0x00000000000000000000000085ec859c412453709f8d8a7467ad57452db3250f)", - "P->V[90400:90432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56353: Hash(0x0000000000000000000000001a05a662fae10fa6a3593695329c5462acf7f1f3)", - "P->V[90432:90464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 59325: Hash(0x0000000000000000000000002af4670cd5b18e84fbb61200f8638a1f9430e544)", - "P->V[90464:90496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 59617: Hash(0x000000000000000000000000bc5db1c29c09530fdcbd61c3c60987e92626e853)", - "P->V[90496:90528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 60103: Hash(0x000000000000000000000000d0e9ba218d4346df6d3ae5c3a7295df458f7ace8)", - "P->V[90528:90560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 61573: Hash(0x0000000000000000000000004af8d36c66c4adb0f8e9052b35336b8c19c25dba)", - "P->V[90560:90592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16384: Hash(0x000000000000000000000000d026ea18d31b88fa8942175e59b443f610e6cec9)", - "P->V[90592:90624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16537: Hash(0x0000000000000000000000009c2b4dab7d2c324f6c5cd17089749ac4ff5a59d0)", - "P->V[90624:90656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16702: Hash(0x00000000000000000000000051796d043fb329c8ae5f9cfe8819c7f4e11a1cbb)", - "P->V[90656:90688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 18566: Hash(0x0000000000000000000000001cb139711216c50f1b778ca4beaad6aff9ebb58a)", - "P->V[90688:90720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22335: Hash(0x0000000000000000000000004fb31b97f3a84be4dc1bb63dc4476bf59d1e3644)", - "P->V[90720:90752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22559: Hash(0x0000000000000000000000009587228be059053d1c8801d19ddcfe5795a9651a)", - "P->V[90752:90784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22854: Hash(0x000000000000000000000000eaecdb105ab745b98754f068da4eecc472d3e5eb)", - "P->V[90784:90816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 23563: Hash(0x0000000000000000000000008c6f532fc44d824a87011ca09f72781df40f14c9)", - "P->V[90816:90848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 25739: Hash(0x0000000000000000000000001ce4d3e03674deda181e1b58f9721d1d1179adfe)", - "P->V[90848:90880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26356: Hash(0x00000000000000000000000024a8844345be74b9af6a95fba34aeee421e7ae21)", - "P->V[90880:90912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 27190: Hash(0x0000000000000000000000004a420631fa0c2c9299aacb8cfab9b99a33572716)", - "P->V[90912:90944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 27823: Hash(0x00000000000000000000000049929c8ed4dc74e2a4f955fb8ff0b037448abc5b)", - "P->V[90944:90976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 28177: Hash(0x000000000000000000000000661580985e98c2d48bc36eb6f142e103af9de0f1)", - "P->V[90976:91008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 29663: Hash(0x000000000000000000000000ac69a4d458dfcaf6234a4beda2ba89173db9e19f)", - "P->V[91008:91040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 29809: Hash(0x000000000000000000000000456d632fd6f6413f9aa59a485cbcbb2264b65ce9)", - "P->V[91040:91072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 30050: Hash(0x0000000000000000000000005f1e69d56a3ca25d1afeff661437e8b86c872d74)", - "P->V[91072:91104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 30787: Hash(0x0000000000000000000000005b76931dcbf091bf49e79030fdabea7c4c7caa00)", - "P->V[91104:91136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8193: Hash(0x000000000000000000000000427a257d7f3fc12322894571cf0baece946cac2b)", - "P->V[91136:91168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8269: Hash(0x0000000000000000000000006ef038ad906db584fdc6973410c117470422d96a)", - "P->V[91168:91200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8350: Hash(0x0000000000000000000000000f840fb8ec38ec8c916e98702cb46b1d8e28b7ce)", - "P->V[91200:91232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 9282: Hash(0x0000000000000000000000007514f51a90ab40581489fc175d1c4e898ae3e61d)", - "P->V[91232:91264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11166: Hash(0x0000000000000000000000003aff80290e483c27bf6fa3c7e0c10bbd51b024d8)", - "P->V[91264:91296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11278: Hash(0x0000000000000000000000001d0c309a1d28a90fd8f5eee1981d9088d004560a)", - "P->V[91296:91328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11426: Hash(0x000000000000000000000000f1ea65da3030725712afb59a296793f8df9601af)", - "P->V[91328:91360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11780: Hash(0x000000000000000000000000a899453d847f6a02bf250900c914263186982bfd)", - "P->V[91360:91392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12868: Hash(0x0000000000000000000000000586ba7eb572206418904ba72f2770628d254aa4)", - "P->V[91392:91424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13179: Hash(0x0000000000000000000000008157d04c4c41648056057a9a604f045b9a6b2550)", - "P->V[91424:91456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13594: Hash(0x00000000000000000000000087516f16d69ed03c4efdcb1f1bbb5bcfd9e3f84d)", - "P->V[91456:91488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13910: Hash(0x00000000000000000000000053aae11ef34f5ecedbf640cfaa9a63b8d47ba8b1)", - "P->V[91488:91520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14089: Hash(0x000000000000000000000000bae4afdc4717ebd68946c14e11fa32c13d4e1c76)", - "P->V[91520:91552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14830: Hash(0x0000000000000000000000004cea0f18a35b610ad80ff9cf55cf900c7ddde52b)", - "P->V[91552:91584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14905: Hash(0x00000000000000000000000076affd7d2b5d8357af29b16e00d261fde973ae17)", - "P->V[91584:91616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15024: Hash(0x0000000000000000000000007b1d7984530fff0c83e9738d44fa09075485a19c)", - "P->V[91616:91648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15392: Hash(0x0000000000000000000000002e1ec655ebd7adce7f3ad46b24e6ae25b126fd8e)", - "P->V[91648:91680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4097: Hash(0x000000000000000000000000649ff68c642e71b0dd9b01d4e03448bc9e07e749)", - "P->V[91680:91712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4135: Hash(0x00000000000000000000000095e19d0821128550d80c1c698a9fe62ca286fe1e)", - "P->V[91712:91744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4174: Hash(0x0000000000000000000000002970f7492bd97c1243c01d500b4e2fabdcc2fa59)", - "P->V[91744:91776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4640: Hash(0x000000000000000000000000a60c70a1b9a48fc26e8ed020614af146519c5d0a)", - "P->V[91776:91808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5582: Hash(0x00000000000000000000000070e7285a5a30f71f9d3b9a784d5f6e512f636f18)", - "P->V[91808:91840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5638: Hash(0x000000000000000000000000404d848ac9623fc2a6ef4bf9a4460a49678992d0)", - "P->V[91840:91872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5712: Hash(0x00000000000000000000000027cdbb669f9dba570958468bfd502d796771e56d)", - "P->V[91872:91904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5891: Hash(0x000000000000000000000000cb635280469e447196bf6fa33eaa0db163ac50c2)", - "P->V[91904:91936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6435: Hash(0x000000000000000000000000e880eb64a9463a46fd7bbc86c16b6463631e0626)", - "P->V[91936:91968]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6588: Hash(0x000000000000000000000000030b02f211bb9d580a2f4ee75b3b6e56a4a4c2ee)", - "P->V[91968:92000]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6796: Hash(0x000000000000000000000000df60d42c2c72dd1b83fb37afd4d65f887b9d3fee)", - "P->V[92000:92032]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6954: Hash(0x0000000000000000000000009d10b5702632ef60460c98ce35ab41e2c1d7d9e3)", - "P->V[92032:92064]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7045: Hash(0x00000000000000000000000034181f9beb6748c2eaf051689d54557e8e6efa9f)", - "P->V[92064:92096]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7414: Hash(0x000000000000000000000000c9a6a82fdd8a172ae642ae7b85b07d7157792db5)", - "P->V[92096:92128]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7453: Hash(0x000000000000000000000000c256a9c81d1bd6ec76635e3a023641309131f6a6)", - "P->V[92128:92160]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7513: Hash(0x0000000000000000000000009f03ee2db82b341a771aa3c636a10ad9a6a10da1)", - "P->V[92160:92192]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7697: Hash(0x000000000000000000000000f2499cae460d466bc67b32321f1efcf9bf0facf3)", - "P->V[92192:92224]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2049: Hash(0x000000000000000000000000d499dfdd2a24c751416abf9690fb56215be7a49c)", - "P->V[92224:92256]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2066: Hash(0x00000000000000000000000039b817aa8b1e48366faebf7a866a5ccd623fb6f4)", - "P->V[92256:92288]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2086: Hash(0x00000000000000000000000008c414fa4171d3653ecbf091626cd303ccf47949)", - "P->V[92288:92320]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2321: Hash(0x000000000000000000000000847eefbe8c8cea3566bf3d51b68149ca0b8385f4)", - "P->V[92320:92352]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2790: Hash(0x000000000000000000000000dceb213b26904a5b3804a0f5dedc699523c5a9f4)", - "P->V[92352:92384]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2818: Hash(0x000000000000000000000000c65a17c7bb3b0558717a86ba88cc31f8ae89b415)", - "P->V[92384:92416]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2857: Hash(0x0000000000000000000000005016a65be8b3167e51ca1b1416b63142c715c0ce)", - "P->V[92416:92448]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2944: Hash(0x000000000000000000000000f5958d2c10c023cdb284d095bad5a6841573bf33)", - "P->V[92448:92480]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3216: Hash(0x000000000000000000000000d33482e2e7d41a643813cd9fda5c4152ece58ece)", - "P->V[92480:92512]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3295: Hash(0x000000000000000000000000eb54a89145d6aeab1164cbc68d9e532b2b8552b9)", - "P->V[92512:92544]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3399: Hash(0x00000000000000000000000042d6d40b964008f611920693edfc44f3b969847c)", - "P->V[92544:92576]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3476: Hash(0x0000000000000000000000001931c6ca4ef504ad80461cdb8af3c17dccb13fd6)", - "P->V[92576:92608]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3523: Hash(0x000000000000000000000000dd16f290f0904db9958336d55acb40dcaae32771)", - "P->V[92608:92640]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3706: Hash(0x000000000000000000000000f28a4f849f76a5c1d2cccf5d6388b91e0c3976cf)", - "P->V[92640:92672]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3727: Hash(0x000000000000000000000000c3458e1486ec8f1b5f8a0ec7b0ac1bd2926f84b3)", - "P->V[92672:92704]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3757: Hash(0x00000000000000000000000072962b8d49234d64a2ad48647c8492258ec3bc18)", - "P->V[92704:92736]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3849: Hash(0x000000000000000000000000bce9a8208005bf0df3d3e6ecf356eea00d4e0b45)", - "P->V[92736:92768]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1025: Hash(0x0000000000000000000000001dc33308ff2da69181065c5ff407e9098947b252)", - "P->V[92768:92800]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1032: Hash(0x0000000000000000000000001620d32d86d88a914ac531dfb1cccba7683700ee)", - "P->V[92800:92832]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1042: Hash(0x000000000000000000000000e7f4b6894c8db1c7b4cca83fc96f8302b9e43c9f)", - "P->V[92832:92864]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1161: Hash(0x000000000000000000000000186d5c635d7686a6f8bb99815ef99a71871756e5)", - "P->V[92864:92896]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1394: Hash(0x000000000000000000000000bfce68326dd255edcd61aaa017224b68d1422557)", - "P->V[92896:92928]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1408: Hash(0x00000000000000000000000054da0ec8102eb4b38033b1e8f05a1fd00bc4f8a2)", - "P->V[92928:92960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1429: Hash(0x000000000000000000000000ff5ad4d38d32023c94c900dad9327a6581d6c84c)", - "P->V[92960:92992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1473: Hash(0x00000000000000000000000096e4bf7cf62a063cca7db5ad0d82346fdbb2cf20)", - "P->V[92992:93024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1609: Hash(0x000000000000000000000000380ea3739c6f36c5213ac84767cba97509a2f3e0)", - "P->V[93024:93056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1646: Hash(0x000000000000000000000000c0726c7da12907243c0c44d56a24ca4ffd59b862)", - "P->V[93056:93088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1698: Hash(0x0000000000000000000000000328cba572aad0ac065326a92258fc5749cc20f9)", - "P->V[93088:93120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1739: Hash(0x000000000000000000000000f6bdbc2ddd6a622a2143304e9f4fd1989addf7ae)", - "P->V[93120:93152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1760: Hash(0x000000000000000000000000e9b8c810b6e872d587ef4faaf53eab97069172cb)", - "P->V[93152:93184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1852: Hash(0x000000000000000000000000ce888c8c04d5f29991fa1f70ac77141003b25b42)", - "P->V[93184:93216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1862: Hash(0x0000000000000000000000005b37509928745a0bf8e0af0ed6d942b5a0f31d34)", - "P->V[93216:93248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1879: Hash(0x0000000000000000000000009cea75e48e0959a0519ca3b4dbf8140565cd66bc)", - "P->V[93248:93280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1925: Hash(0x000000000000000000000000adbb081d592ae914c75759aae4dd2e7211c052fc)", - "P->V[93280:93312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 513: Hash(0xe1e98c521d5e22a7434da75eaaa703519757f554)", - "P->V[93312:93344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 517: Hash(0xa9086823971c397b0cb8d4ee75db702b6b43978c)", - "P->V[93344:93376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 520: Hash(0x86178cef136efc26ca9f104fc4d55a86a0de1e5c)", - "P->V[93376:93408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 581: Hash(0xea968be38d560dac4f308cd1f5cfe891f160f5cc)", - "P->V[93408:93440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 696: Hash(0xd69248b0ee059db85f878bb232f52f351c63133a)", - "P->V[93440:93472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 705: Hash(0x39ed4abfecbbd6800354c25b431c9d00be593e8c)", - "P->V[93472:93504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 715: Hash(0x38542942f894b3e8978f9386cae0b1e56556d8b8)", - "P->V[93504:93536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 737: Hash(0x324d059b5b399babe0437cd09e7853ea141ed800)", - "P->V[93536:93568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 805: Hash(0x65c9606cb380b2ceb8c55e185e77854ae25fd727)", - "P->V[93568:93600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 822: Hash(0x418c6e9e3b040a675fdb89340c23f5fa19fb8385)", - "P->V[93600:93632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 848: Hash(0xde7703c167af064a6c000ca6229572c4e5516c48)", - "P->V[93632:93664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 868: Hash(0x79d9aed12592df3c13fafa58b1afbc008b2a383d)", - "P->V[93664:93696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 881: Hash(0xd1a3f33cd314ef86f108ab2519f7dd8b3b06d2c4)", - "P->V[93696:93728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 927: Hash(0x94ad512e2468d1d0f97b6db8254644af2076b131)", - "P->V[93728:93760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 930: Hash(0x938ab05bf3be62b86939029c70e81bebe5daa7a3)", - "P->V[93760:93792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 938: Hash(0x105ad815ebfbb6a82bf5113fd82e9435e7ae6024)", - "P->V[93792:93824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 963: Hash(0x9d0c0306a4f50eb96a0697224254213c1cf8587e)", - "P->V[93824:93856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 257: Hash(0x5e119984daad1c9d07c49f91b5b071a5e54b848d3cf193d1f7d64aaa63a9aee)", - "P->V[93856:93888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 259: Hash(0x513d6f275d48890111db2c678a69574536d0900c228584c4cc1bde0606684c4)", - "P->V[93888:93920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 261: Hash(0x44f0462db1a3b92c208c71bef2bb5fcf4d527c4e06b97cd52d482679822dc)", - "P->V[93920:93952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 291: Hash(0x62445acb9d89812a16320eec42c43277d470690e87c5bf5979897361a52cae2)", - "P->V[93952:93984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 349: Hash(0x5f51cd5f01dbf20082d0e06abd5813491381172191db3c2d28b352857ce854e)", - "P->V[93984:94016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 353: Hash(0x3b2ae6095de2ec8ff134dcffd89bd5c5e8934b57a9f6209eda74a247e95e056)", - "P->V[94016:94048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 356: Hash(0x46cbff9e8b634543f92ae01abb87a731477e919600d94954b1eb9c09db4dc4b)", - "P->V[94048:94080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 369: Hash(0x2f2c8cb4f29892d2ad173c5f7edd05d868bb9e4dc72b907591617f51217198a)", - "P->V[94080:94112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 403: Hash(0x456a670dc8cd6dcd16fbdbc2e54715462b982a56bb2012f77a883ec6cbeb6bd)", - "P->V[94112:94144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 410: Hash(0x699c3273e675bfeb07bced0a451e3008e54c075ef9d46dc0f3a6bbfda816239)", - "P->V[94144:94176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 425: Hash(0xd0965dcd096eeebfba898768c8b4ecd8cd3b7bbb1bdc50991c7b994a9255bc)", - "P->V[94176:94208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 435: Hash(0x4eb5e00d5fe987fa7461935e21b418024e4651f06df7d516e78a19528dfd6e8)", - "P->V[94208:94240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 441: Hash(0x63b5e9293519d4c9a055c8a5c5b89f21b5bae9751f2d628d2b325c73e13af99)", - "P->V[94240:94272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 462: Hash(0x34991b2a597784c940eac296e0e3f894ed5fcba20914b0f0567ece6d7eccda7)", - "P->V[94272:94304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 464: Hash(0x7917629d4922421a61f1bccec2247b95d5d721be9836ee07e11cc2923158afc)", - "P->V[94304:94336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 468: Hash(0x5b849025f7b51fd7e09a065e44baee1c3b9aa19aae52a0f83bb5b3ea21e9db)", - "P->V[94336:94368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 480: Hash(0x92e21504874e7808dd97ba1dc9e17b1a8a3236734c147f894974a49e9a4ab1)", - "P->V[94368:94400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 131: Hash(0x5c677d3de2f659396d38a64a1d8af82485d1361caee3b0c68161b0dc5377792)", - "P->V[94400:94432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 144: Hash(0x202d5eb37ac79e6191fae35ad2791fadfbbdd0813fb330d612d45f615ce613d)", - "P->V[94432:94464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 175: Hash(0x17698a276469ce3b1db27791773e38286996e849b5096ac15f14f5388ff9da)", - "P->V[94464:94496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 177: Hash(0x89c6f3f6ae1d8558354d45fd4fc96d881d7ece81f24b788b45f88c235a3825)", - "P->V[94496:94528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 179: Hash(0x61d368a6e9316afe78a15da5d6e96bc2e2875333383f20a0afeed2cd5269ab)", - "P->V[94528:94560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 185: Hash(0x1a6bf2016f851c743854d0a8a645e2a699452119d9c0aeb95b16eb333a770e0)", - "P->V[94560:94592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 200: Hash(0x6c08ed7577e4f68a4dd5ff768d64653fa723355b7184741260eae98abd2038)", - "P->V[94592:94624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 204: Hash(0x18b1f7401f06bfab2e296ca7dbd7b8af2f6c90c0cc6bba0da814cbcc824c182)", - "P->V[94624:94656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 213: Hash(0x4549a0e0d331abdb20ce9458e69a3e74b6a330c897c8675ac4bc68c296dca60)", - "P->V[94656:94688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 216: Hash(0x8292a6e83d6d0812bfca47792f4d9a0919653bf6beb126644b4b4dd57aed3d)", - "P->V[94688:94720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 221: Hash(0x4b657d332821e641aa89599d4e2c5c8c675a813db7744fdf3ea8f4fcca5dd06)", - "P->V[94720:94752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 230: Hash(0x36a47926de152528863625f62222861e2a61038027080d9c34396c275be5d0b)", - "P->V[94752:94784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 233: Hash(0x3a409d924931eccd83623a564b96551761a78f4b24c849841b7b96b07034526)", - "P->V[94784:94816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 235: Hash(0x2e62f2cc8245bec421a9631e4cef1ca8977401067c0731ad7674392feb85094)", - "P->V[94816:94848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 241: Hash(0x2ac815a5e3a177b9ba24e81aaa33f7510a7cda9391ab4a7d2510056dc5f7cfd)", - "P->V[94848:94880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 73: Hash(0x73ad396c05359e31fb0aa54e0bb015499d5298d9f8bc3a116a8dbc0793efd86)", - "P->V[94880:94912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 86: Hash(0x27aecf732636685a125164d78eb5b1b3e97ce66cbca613ea5b537904299ff37)", - "P->V[94912:94944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 93: Hash(0x5c6a5717face43e44d75e233178a8042eb596673fd6b9e2d817425263f4ebd9)", - "P->V[94944:94976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 101: Hash(0x6825203a6df3319b9e3e1476636d55f30eaf4d7644e4e49bdc0ac09857a6e23)", - "P->V[94976:95008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 103: Hash(0x69b29141186c336f0b38f65a5d68d60bf5e9c1c8089176a1fbdeabbc816d13c)", - "P->V[95008:95040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 107: Hash(0x235ce6655473a9314b46c6c4eb18e4ed72a5f237c0fbd94b36bdc15894cacdc)", - "P->V[95040:95072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 109: Hash(0x19060a5caefb2a727a7f41720cfc529f1fcd4706c468f5e97e61df77900ebb1)", - "P->V[95072:95104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 111: Hash(0x952d50f3edeafe65b9a49a7bb060aaf2a2a8e608272a134853227d87b9df70)", - "P->V[95104:95136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 114: Hash(0x49692896701991d0c2f40f1cd7f4201035663e1a06a827aa0791aded95f4a12)", - "P->V[95136:95168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 121: Hash(0x1f911f1265ef1f1cb884da7960fb57ed1c2cfa7b7b07e84ec7c95616c2ea6b2)", - "P->V[95168:95200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33: Hash(0x138da3358b3ea214b6bb4cfda4dc690ddbe7d31f5042031913c85978862c36f)", - "P->V[95200:95232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 37: Hash(0x69668c015907960008d63d0496e3121d400602d535eec009f713c162627628)", - "P->V[95232:95264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 42: Hash(0xf0834cb2f130ec5178279a643aa0af251219d7f5f47ce561bf04f88c29caf4)", - "P->V[95264:95296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 45: Hash(0x23d6cb08dd14e62b4bf0a61332f150f3b350687b161798104a7893fa230090)", - "P->V[95296:95328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 47: Hash(0x5fa59f72f00f4502518ba29adedb04cb4a6bdc1312f847027262c7ff81a9f6)", - "P->V[95328:95360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 52: Hash(0x332ba4a06266c084764780779531479bcc822304fd3e0276d3c4dd117e9a507)", - "P->V[95360:95392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56: Hash(0x79ace7556a724f163bf080fab57a896d56c1ef873616bbf383e89ea04988c07)", - "P->V[95392:95424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 59: Hash(0x583639c8fc0ea2db74b5dc5da10403479cdcca234b482bd647f0a8205493691)", - "P->V[95424:95456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 61: Hash(0x4e0c7b1e47a84c9236e77ec0ba6d02cd003f14a1ecf37062ff99c53fe0341d5)", - "P->V[95456:95488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 17: Hash(0x3f1648b11cd98620d38f26b3ac0e678c43811d95a771a23f9a67e2feadea1b)", - "P->V[95488:95520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 19: Hash(0x6d8df4d1492d04a8b4fba7a169677147655d9b9e215d1e59ac82fbaa6c30611)", - "P->V[95520:95552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 20: Hash(0x27f77124524b2cbba7b00e3465cf9263ccb661102128c11da6c761eaa6705e4)", - "P->V[95552:95584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 24: Hash(0x66359418126bc55fbd443d0a2e07a084d02b3fc4de3aea669e9cdbe3b4b01d6)", - "P->V[95584:95616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 31: Hash(0x680dad0862bc3e87cff0ea805a874a4b21aed4f4bc7e7006181bf8a179d81c2)", - "P->V[95616:95648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 0: Field Element(0x3054ccaebe977020687b7fc500b2e276186f7bf04bfac190c97c4380b6713d2)", - "P->V[95648:95680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 1: Field Element(0x67d52f2f8287bd8b87418284378489e8625c44685a442980cae6823a791aa7a)", - "P->V[95680:95712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 3: Field Element(0x2df6864bfc7d22c757ea15ecd0df3979b62633ba7fa64b930be53dc48b9a10)", - "P->V[95712:95744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 4: Field Element(0x2a84225d9933d62dab27e110989ce69565e3302062157abdce9e78b02f05400)", - "P->V[95744:95776]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 5: Field Element(0x37d1d7f7b45b1b4c14da06d3cc843b8c3722d250ef10b71863b5c7b0d4737ea)", - "P->V[95776:95808]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 6: Field Element(0x52883f0369088eb450796682a1acd46cabe155f814965dcb910262cf94a9c77)", - "P->V[95808:95840]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 7: Field Element(0x5990fcf5293b30ea4ebfdb0d10ec61f23549e9d66f7fb278be6800268a75e03)", - "P->V[95840:95872]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 0: Field Element(0x5f46c74c5fe9e5983a65bebfe4a3ff96076545d384e940db04ee73caae9705a)", - "P->V[95872:95904]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 1: Field Element(0x32d5626576ff1453b11d5465d1210aa43af2a22dd9cfde9a4ae4267055a1fb4)", - "P->V[95904:95936]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 2: Field Element(0x37e9757077fab589e00f24f2e340fa4bdf00f0e5f5b1e35f94c6b2d67dd5027)", - "P->V[95936:95968]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 3: Field Element(0x1160d6cdc1afe2597253bd68b9d6e7a44b7505c8a73e77f812575de51323a69)", - "P->V[95968:96000]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 5: Field Element(0x3f540155ec3ece229e266193ae71fc62f7d322c8e17f08a3214bdfa71e7631a)", - "P->V[96000:96032]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 6: Field Element(0x6d4781bd2153c9d171b619084550379e11934d47e5fd85f4c853aea035b58ff)", - "P->V[96032:96064]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 7: Field Element(0x7fd821ad53a5140b83b6876f3a9594e2e5217961687b79400e12f064d4d0db0)", - "P->V[96064:96096]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 0: Field Element(0x682d5aafd94464a01c71d2c94f8624e3cc5fc3ce4218e58b9ffc95990c7b379)", - "P->V[96096:96128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 1: Field Element(0x3bc626a6e14286d2c711fc4cdcc75c73f0c3304ac75e2e1503be2dedcca1004)", - "P->V[96128:96160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 2: Field Element(0x281843059ae7ea1e74ccd3c7ca2c8c9f42d3cf40e8e2407c45cb905b2d74b5e)", - "P->V[96160:96192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 3: Field Element(0x37d26164fdd3f6dfdc33724380497e3becbe6e03920c6ceab5ea8cc3d94a01)", - "P->V[96192:96224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 4: Field Element(0x6753dfc267948ab401bef8a8a6c44e95e9eb54452ea353d1f8bfab66d0a2414)", - "P->V[96224:96256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 5: Field Element(0xbe59ef5e272833ac66bdacf77941cd132113d38ac677890a71b3d0e8a36d2d)", - "P->V[96256:96288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 7: Field Element(0x1e8e7fb5d4f816e56614955bd29ba12919f09f62f51b4ce6dfc5a2540c9069e)", - "P->V[96288:96320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 0: Field Element(0x7742348ba3bd746ab63a8534cbff64768218d446cd13723e5b0788a26c12a91)", - "P->V[96320:96352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 1: Field Element(0x1f93a4b8a4f93e6f4780ac01915152fe47ae0b7e3ed6ccfee525bdc71f84f15)", - "P->V[96352:96384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 2: Field Element(0x6d864886f9207febd4a5e6556af4987e098532a251281c883e0783849bcfeb)", - "P->V[96384:96416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 3: Field Element(0x62f0237ae91f6e41bcf198d898b5fbc81f6222024b2f26998f94541c095d7b4)", - "P->V[96416:96448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 4: Field Element(0x25d603483eaade6677a54600a2d32ba8462a20d426619a0b634689955916fd9)", - "P->V[96448:96480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 5: Field Element(0x6f091b965690b9c4afcfd23c3adf292a668fb6ecb72e34172bf0cbb9d2b5210)", - "P->V[96480:96512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 7: Field Element(0x35e89df411737b7069699cda35aad75ff788571c1806c4a03ee0d2132604802)", - "P->V[96512:96544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 0: Field Element(0x6b96e4dd528032104a2a14403d8ed80993f2c93cb97064fb177d9ad8f44120a)", - "P->V[96544:96576]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 1: Field Element(0x4c60e2d2b7b6fef374d8669c880768a14a77345d5722b0fc95530abef2cd640)", - "P->V[96576:96608]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 2: Field Element(0x693fc5e0eb2d39ac9b90c78bc502d22941862e1309adf3e7a603a8be1e2873f)", - "P->V[96608:96640]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 3: Field Element(0x456f6402307cb010bbadeff61277aab3d174af0e49929c1153762288148660f)", - "P->V[96640:96672]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 4: Field Element(0x71b4451fe56bcaeae15e3dded72c679a180cd259a569268293c3e0514054d8a)", - "P->V[96672:96704]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 5: Field Element(0x5400e70e00728d59c255fbd3f43b56943e6efb029ec46cda5bd0e9379c8dab2)", - "P->V[96704:96736]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 6: Field Element(0x30259faf210527537f5840ae41396e1a86b9d0b2a004ed4870ba1f5f7eeea7d)", - "P->V[96736:96768]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 1: Field Element(0x26796927cc3ccc8305579264b46179ab0732651f4f6d35a63d8713b4b00442e)", - "P->V[96768:96800]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 2: Field Element(0x7f920012edeb2d53b81ff8e147b0534a71efc7adf967f32e0f160d027ea2277)", - "P->V[96800:96832]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 3: Field Element(0x51cf5c52977c347e440eeb7264a2e642d342e106894fe5dec618adf1e01b0b2)", - "P->V[96832:96864]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 4: Field Element(0xbae2cf61e5d8b59363c11abf7c75c37b4dff4938a1d6608ac8b4a87c11a1fb)", - "P->V[96864:96896]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 5: Field Element(0x1c6ecd384410f5abb57add8fdfd470b3087db7407b5aeab7420cfac5862ecf8)", - "P->V[96896:96928]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 6: Field Element(0x4420a8e5d5e96aafe9b77f70003d385fa1b2225a745986db7d4c481e5929dd3)", - "P->V[96928:96960]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 7: Field Element(0x764aa40963fdd73f837985a05cd44c4328814949fe9b0726892c35336e15e48)", - "P->V[96960:96992]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 0: Field Element(0x75b430849276132de19f5c1cd8c840a48a749e6945a92b169d0254894bb4714)", - "P->V[96992:97024]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 2: Field Element(0x70aa379a4e5b1157a92dd0fcc7acb2c072964b6d03b450f49bd46ae3bae6016)", - "P->V[97024:97056]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 3: Field Element(0x464d5f44e85e6d44e992c7819f7dd615475ed1b6bea02ef7a8e4f7ccd195128)", - "P->V[97056:97088]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 4: Field Element(0x1f19ccc65bb6d78b3317512cb2a3a24f225ba8c5fbd9c9f075adfff6fd70ef3)", - "P->V[97088:97120]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 5: Field Element(0x1b50d8a65d8e9631101966eb17941311ca37c64b1089555139aa01a67385151)", - "P->V[97120:97152]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 6: Field Element(0x691b3fc167826aa11b9d1a422ad178be0273fa3b1920dda593c35b0b604ce3d)", - "P->V[97152:97184]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 7: Field Element(0x315a7def90e6af16cd274c4cd5e642349af683b114837d7b54b188b8bab54b5)", - "P->V[97184:97216]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 0: Field Element(0x18eb33b6a670dd99be7d10b1c40179dfaa9ed28874a519f3c6ef9a474c855a1)", - "P->V[97216:97248]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 1: Field Element(0x2960f8aca8ac02c89e02b927a18251c7cc2779e168517b8ea0f5be90aa448ce)", - "P->V[97248:97280]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 2: Field Element(0x36b8ec63c0fef3b687eae43094985b76ad054781d3e43a9b322f1c738cd613c)", - "P->V[97280:97312]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 3: Field Element(0x431e867d98d4ceba4049c0fd4e97bd260e67923021c03c162be2ac764e3c7f6)", - "P->V[97312:97344]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 4: Field Element(0x49680d94a9839638e720eac91265438e7426c214514cdbd23b4a2190c869bd2)", - "P->V[97344:97376]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 6: Field Element(0x6709a48c564802d33c4260a0dee311e61f1b8dd091dc532d4ddaa25ebbe0a37)", - "P->V[97376:97408]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 7: Field Element(0x396329dfbb0291f638d3169a90558f0b281e78fe0921aaced0c6da6b8646381)", - "P->V[97408:97440]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 0: Field Element(0x1ad100600c457801530d7e27060df4306ba799a1344cac7e695f5c4e373abb0)", - "P->V[97440:97472]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 1: Field Element(0x4ccb6f7ffa657714bc2a74ffcd3929061986d89a28e934974dd996eb02dd816)", - "P->V[97472:97504]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 2: Field Element(0x5a9bf3986ce307f904415b5be1d776b474088481e8a6e16fc8af18afab8c4b0)", - "P->V[97504:97536]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 3: Field Element(0x402faae97c70fca9b9242cf44be058130059d5dfd598143c2a3b1a37abbafb7)", - "P->V[97536:97568]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 4: Field Element(0x337161f0614e9d606031472d927a2cf5245f404c89a7363657d7a65941c2430)", - "P->V[97568:97600]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 6: Field Element(0x6092de7fefd4c941468c95d5d2d2c9a77b37cb51d345c8f5fc1eb3d60802e27)", - "P->V[97600:97632]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 7: Field Element(0x11c12c5b77079efd79d1dce3fae5a63e90cc81fcdc5f62e0f098a9f50337350)", - "P->V[97632:97664]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 0: Field Element(0x6c3dce998ce11de3965cfeebe5671749e0b4560e2c8e63eede50b39e6eba3ee)", - "P->V[97664:97696]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 2: Field Element(0x1af4c4432f7a0c5254000948bc4eea7414b1b836601a394655cc72bf82f0968)", - "P->V[97696:97728]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 3: Field Element(0x117bf28a82dcb78c84def3c56d70c1cce9ccc193bfacba47d218d0989bc06f5)", - "P->V[97728:97760]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 4: Field Element(0x5287ba4d65ed1c97d0ade1a687fc9fa50f98d33c71daa2b8cc457ae7b3970e4)", - "P->V[97760:97792]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 5: Field Element(0x3759f80b6a784ca41cf66983d5642d1d4fc5cf49c356ac7454cee6ba7ab0e93)", - "P->V[97792:97824]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 6: Field Element(0x7433b37718ca06c7fdc0db79b31e073b183d3220d8b6489c749ff157e2efe7a)", - "P->V[97824:97856]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 7: Field Element(0x3d1a5145c40e29665fa150ae4657dbb944e7607909cf9bb3c6e80c30988e27c)", - "P->V[97856:97888]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 0: Field Element(0x4d14c01dcd96a8d2313d463b60ce14e4849d54bc463289342c60d1f8f60ba9f)", - "P->V[97888:97920]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 1: Field Element(0x760cda189291845316187256032599483ef668a88cfa5d904921a857cc2ddff)", - "P->V[97920:97952]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 2: Field Element(0x54abca983c95256e5a3838f89dc58e14836ab982d8c77fabf4f9c070e326e0e)", - "P->V[97952:97984]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 3: Field Element(0x164b8cc8c04e02abc1433f721b4e89b09d38602b37250045440a73520996aea)", - "P->V[97984:98016]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 4: Field Element(0x6060b133a0b327226bbc386bb759c6b49ff7174354c34773e59536574a4ef74)", - "P->V[98016:98048]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 5: Field Element(0x3fb5313217ed213b130a5d6a01146346b0b0981b85f22c02b282a273047f7fd)", - "P->V[98048:98080]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 6: Field Element(0x27803af0f5597f988aec199e3ce0ae76acfa7fa151e10ccae30861ce64615cf)", - "P->V[98080:98112]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 0: Field Element(0x3cc2d3fbcc124a883d01608d982ac9128ad22498b796f2312106417a63a7e9e)", - "P->V[98112:98144]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 1: Field Element(0x29bdd2276c2d80a146107c136cb103499c4e67c4cfc849fbc9eb9f05415f261)", - "P->V[98144:98176]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 2: Field Element(0x1a719bb259c4dd2d7a9208344548fc6e67e5a4713aa325a12d6ea3dd1bf38b5)", - "P->V[98176:98208]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 3: Field Element(0x672a1ddffc190ee55463f57e961789c54faa3f30f80b30636a9c3d7a9420e04)", - "P->V[98208:98240]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 5: Field Element(0x1c5d8220d717aa1e090c9430835fb1c89a123bc2c501929be245a45b28b1620)", - "P->V[98240:98272]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 6: Field Element(0x5e54905bdf84e7fcc58b1475d9742fd5560971a99d0fb9d4e2b9af09b12b4f0)", - "P->V[98272:98304]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 7: Field Element(0x1385f38c2a960130e2752bdde2519f68d330d54862e15bfd0717af1814170e5)", - "P->V[98304:98336]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 1: Field Element(0x52e20d8fb0b42589fada650fdb67eeb20782527ffe8761110fadaa6163cb5e5)", - "P->V[98336:98368]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 2: Field Element(0x2cb7e27ce0cb785e0909499be836d22e1d77e6a8e9036266f5bc4d3e6339620)", - "P->V[98368:98400]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 3: Field Element(0x71dbd24c5d9e2a0c775f59b31ff97566c7797b19015ad81a8d8f10f6e6ea43f)", - "P->V[98400:98432]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 4: Field Element(0x74bbbff182b9249588f6da5b16a256c6bddfd36ccecccd79a6b6575761e3cff)", - "P->V[98432:98464]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 5: Field Element(0x3d8884205f231f2319c1ec843ce6ef2fbab7bd7f1d4647af8947f077d0a9ff7)", - "P->V[98464:98496]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 6: Field Element(0x5654587d3ffbf9a278efa0ee7868f539e587ebe6f9b575a199fc1851130b06f)", - "P->V[98496:98528]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 7: Field Element(0x63bc41c45f9403331ffc3a0aad45541fe435ed6927e21cd174ee02e86865612)", - "P->V[98528:98560]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 1: Field Element(0x33e58913c70c7f3fe41dab8a6580487b9309428cbb9353c043b6a40a42891e3)", - "P->V[98560:98592]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 2: Field Element(0x116699c6577e673ef3a13a01f303c3e6a4620dcd173f2461c86a68875664ecc)", - "P->V[98592:98624]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 3: Field Element(0x7b0e64ee8b44bf1f8f5743ea537219d19737c40640d16f979e270ff9e9f8684)", - "P->V[98624:98656]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 4: Field Element(0x1d581757104a79c2adcf685853a100ffd550d4bc113d1a6c0bf7ed8100fe691)", - "P->V[98656:98688]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 5: Field Element(0xf3437faecfec5171e947f012850bcb0038c7f5fe55b402a7ea96fac85e5c10)", - "P->V[98688:98720]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 6: Field Element(0x5e9e16663e58677f1bcc47bf21bcfb58f3401fb8ae3ed588945841e04c2675b)", - "P->V[98720:98752]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 7: Field Element(0x61063305f63901683308c73e2ead04ca72a6e1e8fa1a325c6c7b79a579bf4c4)", - "P->V[98752:98784]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 1: Field Element(0x51a89c575168074f9cf316823861afa29910f9a387f129d8b12d7a366a4fde2)", - "P->V[98784:98816]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 2: Field Element(0x9c332621230e53c22478645a7c09279524919b8c4f9cd0ea7412cc4bdef7b6)", - "P->V[98816:98848]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 3: Field Element(0x33b049fd2667c5be955afafd72304b623b98d9ac215bc80d31a852c5f6cbebb)", - "P->V[98848:98880]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 4: Field Element(0xdf67e6ecb4867dfb7ec5aabab63e4a6ecc71101857c7314f32ee66c99960ef)", - "P->V[98880:98912]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 5: Field Element(0x5c4626034cad9f65f0bcdae078f51702501dbe69e3b809b3f1168566eba9ac)", - "P->V[98912:98944]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 6: Field Element(0x36c7e0543a3337f24bafcee659b68d523b6435b5f64e8518e88deb0f96c5a1f)", - "P->V[98944:98976]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 7: Field Element(0x6e7b100a6d1f026ee11c9438ef0f482b1713c896cd74ed50019a78450012dd4)", - "P->V[98976:99008]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 0: Field Element(0x6e9961c137253c11f549630296a0eb42c776271da8dfc0bee1b50d207000d56)", - "P->V[99008:99040]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 1: Field Element(0x9db3e01ab1c5541715b93ae9e3063b48c10b7e2d5b341b798253256a7a1562)", - "P->V[99040:99072]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 3: Field Element(0x2de7cf0a98487ff6f14e6e3920c53be3892072c8b7bf455f6004489fe744fc0)", - "P->V[99072:99104]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 4: Field Element(0x5c6cd604d6bbfbdbe9355a520f98e7f2bd301984288f659b4a146baaf364671)", - "P->V[99104:99136]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 5: Field Element(0x1a04c4e2c04f92dfeea6d429efabd14ad4de125f0e96545e47bf6b5b810e543)", - "P->V[99136:99168]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 6: Field Element(0x11bac7de3245904be9c8ee23734059d26e3ca86a24ce08e7b2a9ae7e67812e3)", - "P->V[99168:99200]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 7: Field Element(0x23592918d67a29f648b2be528be376985927e97d713f20bc89d5448981bb5c0)", - "P->V[99200:99232]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 0: Field Element(0x5137e59875724a1e6a3463ba22eaaf70e202b2f610f2bd6d6aafb77b285a294)", - "P->V[99232:99264]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 1: Field Element(0x3554646ec76936884b08987771a9fd95f88725bba9ffbe76f7efa14be0a9165)", - "P->V[99264:99296]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 2: Field Element(0xe803bb7c854841412fc8565902199f1cf5e1465b87749d823c584ebbb77e4d)", - "P->V[99296:99328]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 4: Field Element(0x23d0880181dcb725ef0ce7784224a012a81a3549b52e320fe7e7195ce62fcad)", - "P->V[99328:99360]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 5: Field Element(0x60fb0cf1696f6f08fe2ecd27bc39428799719227649bc6c4f02c36db90bfede)", - "P->V[99360:99392]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 6: Field Element(0x1e7d10469024c946a8a27dbbb8c3cc1e8d4ceba810f27bf6c85f0aa9fdbd06d)", - "P->V[99392:99424]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 7: Field Element(0x15fd0c9f50f0b944dcb6ce7b569f4d475ededd010de8aa3d94fb2a553682159)", - "P->V[99424:99456]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 16384: Hash(0x000000000000000000000000d7cdf13564bb99064428213dc520f0ddc6fe6a51)", - "P->V[99456:99488]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 16537: Hash(0x0000000000000000000000007df7082437d7946131d74a75d5e983b12863d0c8)", - "P->V[99488:99520]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 16702: Hash(0x00000000000000000000000028f93c999e620a714adff60bbe14c31a7fa4cde7)", - "P->V[99520:99552]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 18566: Hash(0x00000000000000000000000090cd6c79eb848e0e1d3ba1bbbde96177fb7d2783)", - "P->V[99552:99584]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 22335: Hash(0x000000000000000000000000efe16e8d8a6a296e706b2938634f095c5f614822)", - "P->V[99584:99616]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 22559: Hash(0x000000000000000000000000ed67067192f275e79f35c98f0c3ab3208b0528d2)", - "P->V[99616:99648]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 22854: Hash(0x0000000000000000000000005157735d63d4d64a4debeb5be421db598103240b)", - "P->V[99648:99680]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 23563: Hash(0x000000000000000000000000c168a72475f79eabf5ad67361778a32cdb3f06a4)", - "P->V[99680:99712]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 25739: Hash(0x000000000000000000000000f8680f7b5578bcf8d84f03f2bf3c48a9b9d41808)", - "P->V[99712:99744]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 26356: Hash(0x0000000000000000000000008ff264384b278e9a61201dbff09714f78234f05e)", - "P->V[99744:99776]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 27190: Hash(0x000000000000000000000000ad95f08746f2fdf0e6e8b6c05c9465502992ebd2)", - "P->V[99776:99808]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 27823: Hash(0x0000000000000000000000004ae43e4336fbfe29fc539fc9f01de6d39ebf7c82)", - "P->V[99808:99840]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 28177: Hash(0x000000000000000000000000d44176498abbbeba0d4517cb31f25cd9ddc7abcc)", - "P->V[99840:99872]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 29663: Hash(0x0000000000000000000000007c9687d8a5c625036d4b7c534901bb105751ac28)", - "P->V[99872:99904]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 29809: Hash(0x000000000000000000000000bb0262b402c4744935245871a8519011c1b72308)", - "P->V[99904:99936]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 30050: Hash(0x000000000000000000000000bd5fe92667b4d2bec813265ea8a9db8663b4ce35)", - "P->V[99936:99968]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 30787: Hash(0x00000000000000000000000076cb3ef9c0e382821ab5d114561c2d167ad5c88e)", - "P->V[99968:100000]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8193: Hash(0x0000000000000000000000009d43644e1d2e6ef1b112ebc1c3309ea6cd2bca46)", - "P->V[100000:100032]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8269: Hash(0x00000000000000000000000046304d6067bae677f638e3a258d3e4945d38bab0)", - "P->V[100032:100064]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8350: Hash(0x000000000000000000000000ecd3c44ce646f41ece2e49a56d1a6ad22a4449c2)", - "P->V[100064:100096]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 9282: Hash(0x0000000000000000000000009c5ac930a2d7c177ade12cb9919247e6d92fb143)", - "P->V[100096:100128]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11166: Hash(0x000000000000000000000000eb48cd309ee4441bed8ddbaa358b1a38c92fe59f)", - "P->V[100128:100160]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11278: Hash(0x000000000000000000000000b345a22d1e0a7942f4d4bce374a4574e5b002134)", - "P->V[100160:100192]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11426: Hash(0x000000000000000000000000f831f5da14061118bee4dab2578e0312c5a2ce89)", - "P->V[100192:100224]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11780: Hash(0x000000000000000000000000882f38c30b20f7c992e5957edd54d1462e0aa6b9)", - "P->V[100224:100256]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 12868: Hash(0x00000000000000000000000073fcf5d06ed9ee057a2b9f41eec8f72e82f36332)", - "P->V[100256:100288]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 13179: Hash(0x000000000000000000000000f6f8423a246f3ddbf573b77ea5cd6d3c52b51a64)", - "P->V[100288:100320]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 13594: Hash(0x000000000000000000000000c47758092dad42f2f1ec7ea1b85cc020fbd6637a)", - "P->V[100320:100352]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 13910: Hash(0x000000000000000000000000678e4e4b0c9d91cb05a0d30953fdf436de10c894)", - "P->V[100352:100384]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 14089: Hash(0x00000000000000000000000034c968ee9c490ec2ba47c7cbb0eac1c7da486f17)", - "P->V[100384:100416]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 14830: Hash(0x00000000000000000000000031c5238560ff1e1fc6cdc6c18581b2ebedd0d49a)", - "P->V[100416:100448]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 14905: Hash(0x000000000000000000000000b25ba1cc389aee2536856d9f7661bb8251eee46c)", - "P->V[100448:100480]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 15024: Hash(0x000000000000000000000000a4c43f2aa57eea1b9cb3b2d21d72ebfa3c0b4211)", - "P->V[100480:100512]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 15392: Hash(0x0000000000000000000000004fe6aa3b1fb379995a110604bd3acb83eec49bd6)", - "P->V[100512:100544]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4097: Hash(0x0000000000000000000000001b21e4cd1a2b81c6215161d234495b50f8e7fa70)", - "P->V[100544:100576]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4135: Hash(0x00000000000000000000000006c3d181671821a161ccbfd6b2e4cd787b65b441)", - "P->V[100576:100608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4174: Hash(0x000000000000000000000000756b1cabc281c33f0171cd04e8dfeb14eee7bf7c)", - "P->V[100608:100640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4640: Hash(0x00000000000000000000000048a18a290154efcf717a69ed4486e1a02a391f8a)", - "P->V[100640:100672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5582: Hash(0x000000000000000000000000b26a6e5086062583b4dab087161e3837ea5b256b)", - "P->V[100672:100704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5638: Hash(0x0000000000000000000000005bcd95c3db9c0f774923df5fe44b71899be9baf8)", - "P->V[100704:100736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5712: Hash(0x000000000000000000000000f7e1914ba14a5d69366db245e8f2a1541e88e7ae)", - "P->V[100736:100768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5891: Hash(0x0000000000000000000000005132c473543eb54a7bd09229f57e9c55dc640ba8)", - "P->V[100768:100800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6435: Hash(0x000000000000000000000000257496586c3a52fcd6e174b9d98259e1bf0cbae9)", - "P->V[100800:100832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6588: Hash(0x0000000000000000000000002e0c7faa09b4cf6c0e358f4ca247a570c87216de)", - "P->V[100832:100864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6796: Hash(0x000000000000000000000000878d86127b03fd85643f3452fd7249cf3ba8f9a0)", - "P->V[100864:100896]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6954: Hash(0x000000000000000000000000428e386c1410df200bd8df74580a5dd0ade190b8)", - "P->V[100896:100928]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7045: Hash(0x000000000000000000000000a1c91e2bf35ae051ab76b0ea3dd38c84e128ee01)", - "P->V[100928:100960]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7414: Hash(0x000000000000000000000000f89ba62a45eeb5f8902adc32a08e664b02e51d9f)", - "P->V[100960:100992]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7453: Hash(0x00000000000000000000000034abaf3c9cd7e06f2d08036efb6d2fe98dead9dc)", - "P->V[100992:101024]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7513: Hash(0x000000000000000000000000b61d0a98a191476dbc66b6832a9948610e917951)", - "P->V[101024:101056]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7697: Hash(0x000000000000000000000000eef60c64261f3ec174693c6d8bf738bbabcd1729)", - "P->V[101056:101088]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2049: Hash(0x0000000000000000000000005444d7610b739656570d34f3c225a87f8b43de51)", - "P->V[101088:101120]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2066: Hash(0x00000000000000000000000041612f4a28ccc9073cabc9c3c916389300ab33c8)", - "P->V[101120:101152]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2086: Hash(0x000000000000000000000000252a83a9295abecc43efea0d68d88939551effb1)", - "P->V[101152:101184]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2321: Hash(0x0000000000000000000000002724dcb854fe41ee0def08e30e1f89de535748e4)", - "P->V[101184:101216]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2790: Hash(0x000000000000000000000000279a8a9c397ec8d0701c5b0c2d48817862a7170b)", - "P->V[101216:101248]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2818: Hash(0x000000000000000000000000e864660180f8c0a4bd1e80160e61f072acee51a3)", - "P->V[101248:101280]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2857: Hash(0x000000000000000000000000101afe0b89781aa7df41e84ea48789bfc59d0342)", - "P->V[101280:101312]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2944: Hash(0x0000000000000000000000002a4ff5e4745876f937dd832cf2942b2b2557291b)", - "P->V[101312:101344]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3216: Hash(0x0000000000000000000000006509aeac08841f2144b8f3165f72805d0bfc1f4b)", - "P->V[101344:101376]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3295: Hash(0x00000000000000000000000040bec24601292abe733a703b508748bd9d76c400)", - "P->V[101376:101408]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3399: Hash(0x000000000000000000000000ac5dc1778779bafb300f5c8f4241a4180d1d93cd)", - "P->V[101408:101440]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3476: Hash(0x000000000000000000000000878be6b9352c56587fbb80820f8ac64c2ba841e0)", - "P->V[101440:101472]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3523: Hash(0x000000000000000000000000df3c2c9b7f970ef1968a5bba8c66caeaa40ae409)", - "P->V[101472:101504]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3706: Hash(0x00000000000000000000000072a1b86915dd6aed348a319161ff3ad1d5949a97)", - "P->V[101504:101536]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3727: Hash(0x000000000000000000000000711b0245f8e8024fc8826ad2f04ad4835cf4aad0)", - "P->V[101536:101568]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3757: Hash(0x000000000000000000000000dbe3fdf7f99807a48fc165e77ba92d4752331d7d)", - "P->V[101568:101600]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3849: Hash(0x000000000000000000000000294372231fbb94dc703ac2cbc871770248014715)", - "P->V[101600:101632]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1025: Hash(0x0000000000000000000000004757fcf005c4907279eed219c97f413cb26d5580)", - "P->V[101632:101664]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1032: Hash(0x0000000000000000000000005941f510d02d02e4977857ec4ffe58764156a064)", - "P->V[101664:101696]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1042: Hash(0x000000000000000000000000e4576d8a3482d6d6f7fcc30b2a1fafc137e8a601)", - "P->V[101696:101728]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1161: Hash(0x0000000000000000000000005245e1c9f6068537b2ff8f0053b9aa4a1d5873d1)", - "P->V[101728:101760]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1394: Hash(0x00000000000000000000000088411245b3261a288a3d4b824e1138f8e1edcedb)", - "P->V[101760:101792]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1408: Hash(0x000000000000000000000000074541a905b9f2e48265399edda7b873ce7e19b2)", - "P->V[101792:101824]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1429: Hash(0x000000000000000000000000fa56c29fd40a8de81b8b2d52548e42bcc3fb7983)", - "P->V[101824:101856]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1473: Hash(0x000000000000000000000000f611df083ed6f31f8d892735bc530b0decb1fff2)", - "P->V[101856:101888]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1609: Hash(0x000000000000000000000000f4abcd6583d78b2912613983846648351ddad135)", - "P->V[101888:101920]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1646: Hash(0x00000000000000000000000045d19805884bb5148c7a12cd30523e623bdb5fef)", - "P->V[101920:101952]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1698: Hash(0x000000000000000000000000886f92be180cde661c137db3bb687267aece20b8)", - "P->V[101952:101984]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1739: Hash(0x000000000000000000000000b747856fd0861f8b288e66977b74e2fdb0947a28)", - "P->V[101984:102016]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1760: Hash(0x000000000000000000000000f169a9817a44e80402b53e59387af9739ddc1462)", - "P->V[102016:102048]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1852: Hash(0x0000000000000000000000001fff4c96780effa45b60b63992f94d69a0981d66)", - "P->V[102048:102080]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1862: Hash(0x000000000000000000000000a81b82c547ee8579200687f303b0ce7cd23a006e)", - "P->V[102080:102112]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1879: Hash(0x0000000000000000000000003fb76052238370e9468441120f0c4f15acc13063)", - "P->V[102112:102144]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1925: Hash(0x00000000000000000000000053b3ce2c2c4f695474cff7dc9f0d5fc34f0eab15)", - "P->V[102144:102176]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 513: Hash(0x84d607a7912c0f4eac40db836ab7dab8c6e571e0)", - "P->V[102176:102208]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 517: Hash(0x636b1c6431a91a0b273ce13f3d919300084a0cbf)", - "P->V[102208:102240]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 520: Hash(0x259e1e7488218be5b8b3109118b77a8da61d7f33)", - "P->V[102240:102272]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 581: Hash(0xd3d2649328f6f6441c3b68aa85711fee815b4798)", - "P->V[102272:102304]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 696: Hash(0xf0f73e37983afba21eb2270d24b2fb512f5a5006)", - "P->V[102304:102336]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 705: Hash(0x2eacfd8fa1b89afed517eb8c61ce22b474421e12)", - "P->V[102336:102368]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 715: Hash(0xf69f7d3df1bf67c722eaeddd660e73a5ee7f511c)", - "P->V[102368:102400]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 737: Hash(0x6b031b76d9bf7853671fa57392153cec4f95b6e)", - "P->V[102400:102432]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 805: Hash(0x3f280d652e39ce806b21c19e833e4d9f526f07ae)", - "P->V[102432:102464]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 822: Hash(0xaf3fb1d49394fdabbcd5d25b7b31b4009ae5ce4)", - "P->V[102464:102496]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 848: Hash(0x8a39affdd0cdc41e2474a2d17eb4074877abdab)", - "P->V[102496:102528]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 868: Hash(0xadf01103d6931c885d0a68bd206065f5d3e95110)", - "P->V[102528:102560]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 881: Hash(0x73d8f098ff1ead9a2fca1b0d2ee3f52350741e49)", - "P->V[102560:102592]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 927: Hash(0xa68cadf36d57c02cfbc9a6fb3e7d444c25e72db6)", - "P->V[102592:102624]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 930: Hash(0x4f63fcf2979b97b475a4bb24bc187ed831f97dbb)", - "P->V[102624:102656]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 938: Hash(0x472f3a536ebef658bc85036afb7506a2c218299f)", - "P->V[102656:102688]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 963: Hash(0xeff5770ce67ddb18bc67a1ef7483af92d703c150)", - "P->V[102688:102720]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 257: Hash(0x26f3bc3e51c4832efa8381f88ae0a7159919a8dcddb6f58484dcbe40f1b7135)", - "P->V[102720:102752]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 259: Hash(0x320e93e2bfcb56879c4f68cd58bbd45e05578c63c11c760b4d698704872e8b7)", - "P->V[102752:102784]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 261: Hash(0x628e3495384401d1496ba56ac3f0a8110a5fd7b5c7f797b1f677470459e1df1)", - "P->V[102784:102816]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 291: Hash(0x1c991985769c17676a1c5e8a36f82ba8473f8db85be1a9d124dc257f5bf8049)", - "P->V[102816:102848]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 349: Hash(0x71a49d5f50e268412e78d7fb89dceb79bdd6e6416848eef4fa0db0484170621)", - "P->V[102848:102880]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 353: Hash(0x221da826f006a1d46cf4096d8a14e1f6e97470c791d4031874a63f9dbede8bb)", - "P->V[102880:102912]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 356: Hash(0x6317582649101bb57831800c721e1940d528977885c4c7ebe025f5c8c44b059)", - "P->V[102912:102944]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 369: Hash(0x246760699e9fb587821717e5e2ab30c7f0a4bf720087bf1575f1451f578ecb2)", - "P->V[102944:102976]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 403: Hash(0x25c885b09a04910f494749f5d76146893682b58c32c824f7f5b9efcb2182e89)", - "P->V[102976:103008]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 410: Hash(0x16624379d4cd300ab964438578cfbbf464173666aa85897b50dce337e763e85)", - "P->V[103008:103040]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 425: Hash(0x23e06c1a7c4d1d8c8d9f12964fd1ee7dc6bd52818ce0b4dff1840d10769e355)", - "P->V[103040:103072]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 435: Hash(0x483d077599103abb007a271a47e9e2122b9687ff3bf37fd35ea878ac27a26a7)", - "P->V[103072:103104]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 441: Hash(0x4850d3db47410a7cb56372f6d21deb108313d32436b61babc93763c0e04cb18)", - "P->V[103104:103136]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 462: Hash(0x5ca05b91dd47fd2c64f971db75d27740a726eed903e133f81694203f0793b7a)", - "P->V[103136:103168]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 464: Hash(0x2c08e131fa0fe234ad811c3378f6a887aa85009eead509049241c63877da55c)", - "P->V[103168:103200]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 468: Hash(0x6efbe147e3fbae966c7672de8e4916321f3cf85a74fbced5fcb1362605e8c60)", - "P->V[103200:103232]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 480: Hash(0x59c927b066c13b86734aee142893e2a1ce5ff3859e5a0aebd8db00a4ee96728)", - "P->V[103232:103264]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 131: Hash(0x3181cc29461e68c98daa98702d0cfbef40a41dc0d4f41d750d86ca2c3b78aa)", - "P->V[103264:103296]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 144: Hash(0x1498a1f2262318f0b4b8b5fba5170d067cd3f0a0db7783a40a58d86d1402e11)", - "P->V[103296:103328]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 175: Hash(0x1884ca158855809c60a25e4fefe910b1c06754ff5d79db26587bd1e49cc2bdd)", - "P->V[103328:103360]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 177: Hash(0x3aab14ff89d53f9951515a003bfa6dec7b082a2babb9c9dbe161f6ecdecd93b)", - "P->V[103360:103392]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 179: Hash(0x3c9c202112b85c70adf738466fb2b5a355955941fca34c79ef68643866aec6e)", - "P->V[103392:103424]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 185: Hash(0x60bab7b5151b3285c6d5c8c60450161cef252a73e98ce32d22b8bc67e09fc97)", - "P->V[103424:103456]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 200: Hash(0x38d1b623c3b37f803776005424f680d415b84d85555e6c1bc8b03d53b0f20e0)", - "P->V[103456:103488]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 204: Hash(0x4f817a87f93eeb889f8eb0be4d05c305c51a28abf624cc650d15a0f4ebafb5e)", - "P->V[103488:103520]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 213: Hash(0x3e527f1b4b3c712a171b97b2742f85196e502c09de4c03c990713726b60e19)", - "P->V[103520:103552]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 216: Hash(0x3c171149597a016868da832421e0e7cfd92201e64f948c8e0b181ac835c664a)", - "P->V[103552:103584]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 221: Hash(0x3870da97bdb7cad0caf7e645deef623dbd12e7921b00b435860c7039b4561b5)", - "P->V[103584:103616]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 230: Hash(0x49e51c1fa439cb99373b27e03d83b572aae9226ba67534aa0712d5a2ae69ba1)", - "P->V[103616:103648]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 233: Hash(0x145c5e3358cc1a37a0bc81796d7968eb2c9879f85e08306789b270852798088)", - "P->V[103648:103680]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 235: Hash(0x2fc458c248447a28e7494bc77944b0386142e3152f2881686173b018eb5fb90)", - "P->V[103680:103712]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 241: Hash(0x253c1ee895ef92d68923c758ae144f95b236cdcab556c69a4b20a48eaea7984)", - "P->V[103712:103744]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 73: Hash(0x1ec48a68d5e20463b6d0b2b4468c7c849b0fef5304bd81408240bbc56970a82)", - "P->V[103744:103776]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 86: Hash(0x20b2770ff60df5bfe0ffb6c0d8fbfc82f0ce47d973477a8dc7593c83f326ddc)", - "P->V[103776:103808]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 93: Hash(0x35c402a72221c5ef4214aa5f3d33fad77437f7d389e5bc9134a105e6cb39720)", - "P->V[103808:103840]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 101: Hash(0x31052dac9c7749dbc142c97468c4782b4d33c019b3afbb10b12f8c2af5664ce)", - "P->V[103840:103872]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 103: Hash(0x4f420f083127b813b596190c38988ce35809d27a7f6cb46f647dc9009d05a31)", - "P->V[103872:103904]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 107: Hash(0x63355d446abbb372a03736aa2a347ff535e3aa6adb01e28cef56969dc401d37)", - "P->V[103904:103936]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 109: Hash(0xd305d0f6aca2428967c7e7667550bb5c37cf780973cd9c343c1323d8dcad9a)", - "P->V[103936:103968]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 111: Hash(0x4f944633e380a8f47c54c70bbc98e2afb73f8fbe1feb849fe00e2793409f78f)", - "P->V[103968:104000]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 114: Hash(0x143cce905cb9110224520b7dd04e76c95e392106a258b85d876746f10827696)", - "P->V[104000:104032]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 121: Hash(0x44eded16f94b88f8b99a230844f611fbf09ea67800ef2df9dd32c5ed8f5ec5f)", - "P->V[104032:104064]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 33: Hash(0x2fbdd30f0e2dbcf71ef8103af654fe5b224881c4f502f79e12d108bd3f72c46)", - "P->V[104064:104096]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 37: Hash(0x353eedd0558f5a6ab62e4f78e1890a114b6bf1aee48a528b9a0c234ad2f2345)", - "P->V[104096:104128]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 42: Hash(0x404ab8e846a9ff7493b9fb0ba082d1b9812e1e9126c451b80127307cb748d19)", - "P->V[104128:104160]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 45: Hash(0x2285cf17d02d7d5337723296aa0f354abb17886964e9644b1cf26b49f34d4c1)", - "P->V[104160:104192]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 47: Hash(0x79fa1956a62be02a7a7f90bdfe03f458bc53eb67cda5b89f177afe83ede8b37)", - "P->V[104192:104224]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 52: Hash(0x19ed2e12ee3b12e136bc10155f26bc21d60a6738d3614d376b6631a6ce133ea)", - "P->V[104224:104256]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 56: Hash(0x19c416c3ded537a06578298c6ab952bfaa26cf2c130884f8dfe46b3704a7708)", - "P->V[104256:104288]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 59: Hash(0x4538b5506beddd326cd457833adf3e71a57970be8d1c65fbbd34182c6bb0ca6)", - "P->V[104288:104320]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 61: Hash(0x51949339a3f7f2045f8535f5f25f1a692a3d2fc7f1f8e0bd2ff2bead4a26f23)", - "P->V[104320:104352]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 17: Hash(0x4bd9e8f1e7e676d17aade7c6f1a6178f3812a9b26740bdb7f0905241eeb0cac)", - "P->V[104352:104384]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 19: Hash(0xb629ce2bae7bf2cd2c5ade757b55052a147982c60c7582c1cc2da7584bb8a1)", - "P->V[104384:104416]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 20: Hash(0x75f37e66eb411af0b192bcb2538ddccce6f61da0eab7d478470d37c8536a5a0)", - "P->V[104416:104448]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 24: Hash(0x39d2f1a9a4a2bf4e6fa1f79a23408595a6f13f47954faed4940530fd9d3b5e3)", - "P->V[104448:104480]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 31: Hash(0x679fa3b9397a727360706b0445696a9746af67b48862b6efb97db5a68e0954e)", - "P->V[104480:104512]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 0: Field Element(0x59d3ff98d9e6bc2563000359cba9cf2133b1b5e8bfe973fc375533a3d2a7a25)", - "P->V[104512:104544]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 2: Field Element(0x1f00b75b9fddd4e05cb9bbade248fef0a1b1b36ebe24096ad13ab5910c6cac5)", - "P->V[104544:104576]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 3: Field Element(0x4ddbb73186c25f2762fd58fe92ccebb77b9aff710ba41f01e01df27b2fae038)", - "P->V[104576:104608]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 4: Field Element(0x7c59627cfe6f220b21b8796c99addcf2360b08a84d97ea37a2652d13da67f16)", - "P->V[104608:104640]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 5: Field Element(0x6a6595b37f59c99942ed837e8327e38d9ec59a8ceda19f0873a6b9b5ee9a4f3)", - "P->V[104640:104672]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 6: Field Element(0x646fe003ad47e13eea41fe26513c766231486f9293761cab2192fd5738417ca)", - "P->V[104672:104704]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 7: Field Element(0x57cb5329a0480d18482846f4303d4be08d7ec5aafa0e12e0f46310e13ededa1)", - "P->V[104704:104736]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 1: Field Element(0x316bcc2083075782cb540e160bcc607e98c4b19b9907b9fe4294e4279f2dff4)", - "P->V[104736:104768]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 2: Field Element(0x221757fb29940259d74673de740f7f38a4ebaad3df121a3afb2021d1c4d03fa)", - "P->V[104768:104800]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 3: Field Element(0x77db20509fe6ad3e1a1ba4de40e74b14b1b1bdd16dc4e715da72499356dc226)", - "P->V[104800:104832]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 4: Field Element(0x534f48518ae1b34b28f44feefa63a84c81b47be987624ecb00dee096f8ad370)", - "P->V[104832:104864]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 5: Field Element(0x747674d4a124e786f975775fc78c1885bd3c9a77c4e65896b2d13455ffabbb3)", - "P->V[104864:104896]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 6: Field Element(0x7cc0eeb069e006769e21a92d2aa8d938170225ed70d8c4b9003154cc4042370)", - "P->V[104896:104928]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 7: Field Element(0x2416651f007cccef9ec96764f96357d8d7a1fc51cfda32de6b28b21d0cd0ddd)", - "P->V[104928:104960]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 0: Field Element(0x56aefe688b374e08e69a43c1d8de7fe4ea21ef09acb6fa2b37b5b865f39035a)", - "P->V[104960:104992]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 1: Field Element(0xc347f8f247f784593b47ca9fe13fbea9720804ccde58b47d0bc43bc9da4a86)", - "P->V[104992:105024]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 2: Field Element(0x5225327b79c990aa0a33b4e06d8eeccbde0cfe935e576a1764074ac4443bb1)", - "P->V[105024:105056]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 3: Field Element(0x304bb072919fbdd3686dfb735a0e96dba947774f58443b8b3766a45080022b)", - "P->V[105056:105088]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 4: Field Element(0xf5ef0a12325b3479d029349ac22487fcd6a33933ef0eed8bfd93f307dfd0a0)", - "P->V[105088:105120]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 5: Field Element(0x4bce12264a3977fb9ef1966a3acd3a68076cb6275b3466f3a35c01faacebc13)", - "P->V[105120:105152]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 6: Field Element(0x660214b9029a96e59607b510cb427bb3c2a23df750555340d6242b4ba2b8eae)", - "P->V[105152:105184]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 0: Field Element(0x3495214d2511ad66d97120268f23dce1a7cbab0f31314415242d6b6641acf7c)", - "P->V[105184:105216]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 1: Field Element(0x139d947c1e5e1812cb6222f328583cb328f0f1aa4b03b49f2d0e5164cafd317)", - "P->V[105216:105248]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 2: Field Element(0x50fb9808a8872877c20d04113a1852c28bc89856f8ad86c556fcce8f160f956)", - "P->V[105248:105280]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 3: Field Element(0x237f08c31f4e50515e381ce583a7456703338c5b29544d6805e4e6d5df7afe0)", - "P->V[105280:105312]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 4: Field Element(0x22b1824dedcf5cf3389fa7dfbeacd95b61d365c5ffaf21f6a4b1563f48da937)", - "P->V[105312:105344]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 5: Field Element(0xf79eeb0e538674a981d321abf9bc00f1901b6e4099d466a52627056e523a29)", - "P->V[105344:105376]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 6: Field Element(0x5e0945393d5f5e03a76f5ddd996424051b4d5d90568df716c0978281e42fe74)", - "P->V[105376:105408]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 0: Field Element(0x3d698f63e29b68365819b54bd9d5078a600f97f9cee49786186100424cd28ce)", - "P->V[105408:105440]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 1: Field Element(0x184b2f161279eb32fa0ce5249da39dc7f150f59a5be3e219dc9b5f9b29114d5)", - "P->V[105440:105472]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 2: Field Element(0x770edd0991a90b6a231efa042107e067521c7eb86528488e50924da528d1317)", - "P->V[105472:105504]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 3: Field Element(0x66a2fc587df807153b69203bf2cb71137f53f98d07335e8f8016ecbd339c6d7)", - "P->V[105504:105536]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 4: Field Element(0x45e6117b0090752fec6afc6bd06d518dada917230a3fb035edf9aa77f3f94ff)", - "P->V[105536:105568]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 5: Field Element(0x2503019d9588a5063ccfa01eefd09e22a39e05b37134dc28178d309349fc80b)", - "P->V[105568:105600]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 7: Field Element(0x6c60fab5ac45b8110385a9338ad7c211815f4f2af3b7e01654d7f299b66c434)", - "P->V[105600:105632]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 0: Field Element(0x3ffc564ce08434bd8b1dac3d2b859f9ef6c371c5896431817e1bf152eebe22c)", - "P->V[105632:105664]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 1: Field Element(0x7e114807df192a491b3533e992849b3af1ec469883fca875964df6e6d41b7aa)", - "P->V[105664:105696]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 2: Field Element(0x36e1bea193b1e933def5a8a61e1ee0d50911d8f440ed41d5b9e84572d0039d0)", - "P->V[105696:105728]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 3: Field Element(0x1c5e78a887576e1a5af35fbc07a70b0fda35a1785d4b4f0bbaeef4b0421aaf)", - "P->V[105728:105760]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 4: Field Element(0x7daea5ba333fa077bbc788bc2c996f96bc2bee210fa7dc842979a2df1311834)", - "P->V[105760:105792]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 5: Field Element(0x7a338710de1eda4bd82d510859edd54b5f3434f561a775b893c782f1cf55608)", - "P->V[105792:105824]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 7: Field Element(0x71bbe9dcb8baa5ac481f2548b25008aed8e545879bc6ca0002c679437f486f0)", - "P->V[105824:105856]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 0: Field Element(0x164c6eb18a52db2f8a13ec927fe4afeeb149119efb6940e48d2100c7753f056)", - "P->V[105856:105888]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 1: Field Element(0x21502be86879142623f3659ec76eb0dd5343b973abd65a6ca58088f4b8c27db)", - "P->V[105888:105920]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 2: Field Element(0x32b3fec785472b4a3e12d5f7a02157a2fa935421a91289e660a9271b819c742)", - "P->V[105920:105952]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 3: Field Element(0x36d05977902ca8a04fddd23b8087d15efbed10d458dbad2d44540ef5faea7ac)", - "P->V[105952:105984]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 4: Field Element(0x3f1bdf22e79494be67d355e43cfa904d585e9541aa0455b415bb812af556641)", - "P->V[105984:106016]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 5: Field Element(0xca4f6ca327c48db2fbfd0182865c398a759378d47fd3327df842b60f984de8)", - "P->V[106016:106048]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 6: Field Element(0x6be8927f496afc8c06d9fc376a0d6a9fc46ac064e9bdc2fb56734b53cddb586)", - "P->V[106048:106080]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 0: Field Element(0x59d8223acc514c707a4c593cabb2052d2e9dc4a980d874b3df97db08821528b)", - "P->V[106080:106112]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 1: Field Element(0x5e104cd741f699d0775dbbe8a3af9c93ae2cd37ae6df98e8b5370a8c323c427)", - "P->V[106112:106144]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 3: Field Element(0x58bd6be698faaa70bfbd955c5eabe824cf38b2b91499d630610b58a4a349060)", - "P->V[106144:106176]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 4: Field Element(0x71e2198557ad055099e502f9f590a2c57699a7988d5b28041e942ceb5b2d9bb)", - "P->V[106176:106208]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 5: Field Element(0x71392454cdae12f74cf951108f2f3dd7377d57b0d5b554580042f233c32c479)", - "P->V[106208:106240]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 6: Field Element(0x757dd4dd7f831802eac5bf7504419b92552fdd4b406e957787e520c228cad4a)", - "P->V[106240:106272]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 7: Field Element(0x129b4032b575884051195145d9531d398c98466e4d734a96891d87521d168a9)", - "P->V[106272:106304]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 0: Field Element(0x219eed53f8eefa81d463e832138b002faab903c2a9c2e50fa2ab8771665d77f)", - "P->V[106304:106336]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 1: Field Element(0x2e7ed23cbdbf308834a612bf9b30bb71ef8f557cb2b3afc052189ec969f60de)", - "P->V[106336:106368]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 3: Field Element(0x233761df2647aa58059d4b18d6a6cca769e9c346992ab7d51b96e252d187355)", - "P->V[106368:106400]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 4: Field Element(0x1e3bf0b3fa8a793094061a309fdb075d532a50e7599872fc2a3855b82b5fdd4)", - "P->V[106400:106432]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 5: Field Element(0x201ef515218627dc9e1a25bbfcb95da156876d6e03e04b7fff3a9374d7c4bfa)", - "P->V[106432:106464]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 6: Field Element(0x1e5926261bf8ecb511bb455a369c198c61d46e910e478f5483eb8bf8b21a220)", - "P->V[106464:106496]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 7: Field Element(0x38c38448f6d1815472be1258e7187cd775a16997485c95274c9d6febf55a741)", - "P->V[106496:106528]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 0: Field Element(0x4f53061fccf4ab6bf9d0adb6d42e1554f63907bdc9a781e5a38c0ea34aee01c)", - "P->V[106528:106560]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 1: Field Element(0x2aef792b7c51b5d9c287061d8e92e5cfe12e0a53e7b9eb29f31e2279728492c)", - "P->V[106560:106592]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 2: Field Element(0x6d30d75ffce8673a7b0c3a19c169bf1619b6507a13ae327d8bed20c8f867c10)", - "P->V[106592:106624]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 3: Field Element(0x53d5ff002060811b2179ad3103f58a7384aacd0481a24c65497571989b2b23)", - "P->V[106624:106656]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 4: Field Element(0x1fbef1fc2188f8ce43998f5b6be69738af1082f0645898947731a52445e7a17)", - "P->V[106656:106688]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 6: Field Element(0x2932d65b8aa6a1405d7a478f8436a1ea48871a64e54e8a4bbea55018b79e24e)", - "P->V[106688:106720]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 7: Field Element(0x3b4a1a4bc17ef6e21b96db2fff570e1041b0065f5a6789abf23490a86639c81)", - "P->V[106720:106752]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 0: Field Element(0x6037d5b0680f1b83d42eeae12b645e7ba529344ffc386009562e09fc9e94326)", - "P->V[106752:106784]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 1: Field Element(0x5de25029649881651d2349404691ea4d68e4b112a23999684f5bed3e7840f54)", - "P->V[106784:106816]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 2: Field Element(0x1fa55d1bf03c96da7b1ad61e98c43792fa5af81620a3407b77190b5c92d21e5)", - "P->V[106816:106848]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 3: Field Element(0x5f6bda1adfbbb83ad16cf1574b9a6b1544c623005d60e965aaaa2a9d335b43b)", - "P->V[106848:106880]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 4: Field Element(0x3ef07bfaef9621a9a6a6c59b8e8a18951798267ec6c1286ec56ca62eeb62e33)", - "P->V[106880:106912]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 5: Field Element(0x1e063bfe1005c7b7ad3f353aea3058b587370495b757bf764422183bea59c9c)", - "P->V[106912:106944]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 6: Field Element(0x12a427e98d4a1b1fea748d50c94c4b83b09d472e2e6eacc4135f3a1468857d9)", - "P->V[106944:106976]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 0: Field Element(0x79b69cc161b1506d2b80fdffca8d78e368757bcecf117abcd0ab1820f35408b)", - "P->V[106976:107008]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 1: Field Element(0x211df44a33527c31d870549b1696b166935fc4cec1d50815e5fea35777120d5)", - "P->V[107008:107040]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 2: Field Element(0x6780d080bb21c7a9d1da534def314da127ff9f5a9bafc465bc7c559d01cd607)", - "P->V[107040:107072]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 3: Field Element(0x59db0dd5d49247fa03a98ebf6c2740d36f79754107e2899b7cf1167d64f2af9)", - "P->V[107072:107104]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 4: Field Element(0x78366be5ab1955d87557a00b62e42e87bb6155a13259bdfedddfbb6c1aabef2)", - "P->V[107104:107136]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 5: Field Element(0x407189c3ca5f804d945024fa0ba5d4fd8c08092b972f01159aa829d51aac4a8)", - "P->V[107136:107168]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 7: Field Element(0x12b2e987d7d0a1f781b2c57e1b2647e9de2ae2a5bcf8bba559eb1eb43a6e3df)", - "P->V[107168:107200]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 1: Field Element(0x797d0e185be879ca15b19c8d95d6a03c898ed87c810a7bc2b88039594324b18)", - "P->V[107200:107232]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 2: Field Element(0x23c9170f22021702f1c20ce4c03b91d2c83ad93e6af8f113ff8a4e5be1d873d)", - "P->V[107232:107264]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 3: Field Element(0x84459b0b63f61ffb6fa5750d95f9cac23aef3da02a34a307e257e3d5326fcd)", - "P->V[107264:107296]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 4: Field Element(0x6787cc05e14902ea5c3419b4e09638eee854a5831f42c62891a7596eeb794e5)", - "P->V[107296:107328]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 5: Field Element(0x4b65f21d4a8e67bc11d0c2f9981e7d7ad524a5097a7ab4c679185d5d9618632)", - "P->V[107328:107360]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 6: Field Element(0x774338e980b6d521eb4268ccd9ad0553f6f51eb96b08a577efb0d980ae4cf9d)", - "P->V[107360:107392]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 7: Field Element(0x762f5671a8532a050ba5fc8934bd6a51b88d215ffab3e36c570fb4bacf60668)", - "P->V[107392:107424]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 0: Field Element(0x56f90f1ee568016bebf3c86d4de24767e8136deb3d1095ec15151d168a924c9)", - "P->V[107424:107456]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 1: Field Element(0x12723fe7d4d6a8d7ced2166d9342db9a847f67e48bc0e036d08fd9dd8c9302c)", - "P->V[107456:107488]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 2: Field Element(0x1a9392c8df2b1378104313b78b222bde47097f3e6bc96e31ae1bc6cb8268751)", - "P->V[107488:107520]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 3: Field Element(0x11af7ac9a10e1757262c70b6c5c4589629bb2ca055bc76d4c8e64cdccfa8235)", - "P->V[107520:107552]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 4: Field Element(0x4f6fa2521378b4cec778c9af66cfeed40479dc5c58d96a1be0ec1d7ef671266)", - "P->V[107552:107584]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 5: Field Element(0x63675670a6cec0775498be9f52670f0a8f69ebbecf0b8f78ae1b1a5ca707584)", - "P->V[107584:107616]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 7: Field Element(0x117103fe25b3987e777ecba07bd6d587d7f5f55063d59d739fe408326d6f9b1)", - "P->V[107616:107648]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 1: Field Element(0x5838c8c38993773e15d4f9856a6515f55542ee1f77ae4e37b94ccf52d0c9790)", - "P->V[107648:107680]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 2: Field Element(0x2e734bad2005d2bdab4e18ff9e6625b3a8fe48ef395af850a1995dd94d63e1a)", - "P->V[107680:107712]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 3: Field Element(0x5d57403ca5a91798ac6df4f505c27d804e47a194952efa557f0582f2842181f)", - "P->V[107712:107744]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 4: Field Element(0x534da7144d845e203b583db3de6d514a6cd47da35bcacf8fb70c4b27fc324dd)", - "P->V[107744:107776]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 5: Field Element(0x551353fdcfd59924401a8781ff53fe3cd31b1294ffac870ce73cb1a3bfa6325)", - "P->V[107776:107808]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 6: Field Element(0x797f31790b37a9ac53df1fc80cd6816f0f141737c7c5b693cfbff6229652e9e)", - "P->V[107808:107840]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 7: Field Element(0x1f7b44f2bcc96d3e10b13eb44f4f11a7f5812766e1a2f0b4e57cab4390fb3a3)", - "P->V[107840:107872]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 0: Field Element(0x3ab07695fedc07a4afcc051b4ed374af4a9f5d4859844830c727f5d79104e3a)", - "P->V[107872:107904]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 1: Field Element(0x2739c4d2cab331dec6cb61c116981c0e0f821580be9bc990f589d3dbea40d36)", - "P->V[107904:107936]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 2: Field Element(0x24ec7d5b59621cde8331b40cbd9e18bf2837bbf8e06ba7a1c8d3c222afcbfae)", - "P->V[107936:107968]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 4: Field Element(0x574878dda9739657db0893bc896c52a0e503bdc1ecaf745027f9301f19f3bce)", - "P->V[107968:108000]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 5: Field Element(0x34ebb4dbeab92263da82c8c6ff109d9f9f640c2da29f1ad1e97a62caf59a59)", - "P->V[108000:108032]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 6: Field Element(0x3f8fa406adf1374df0d97dbe15c0ee354cbd23b897a7ad75fc252761de39566)", - "P->V[108032:108064]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 7: Field Element(0x1cba2093cf899469098e67839aaa43cc44cd6b5c2b16ff3f1e78d6108f78782)", - "P->V[108064:108096]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 0: Field Element(0x74c81ec853517fdd4da348f9d4c413bf81591aad8dfca1dee9a2377fdb543f8)", - "P->V[108096:108128]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 1: Field Element(0x7e1bf1673f5d5866fd8ea6428e72d6e391e619e376f8763c6377a75cc339337)", - "P->V[108128:108160]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 3: Field Element(0x4521465a487ad1232637ba6ef2a2383a6cf3cad8af58651b90768b26ba57e99)", - "P->V[108160:108192]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 4: Field Element(0x45c62893dcc985aa34f8aebd4073dcee33b6b7c3fbcad65da341ab25ddb50e8)", - "P->V[108192:108224]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 5: Field Element(0x38a8548a18873efc9019c4f19e5ade1298cb6d890b24befb7e907f42c89e49c)", - "P->V[108224:108256]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 6: Field Element(0x40f465448089d2672f68a36952e3ef9dc1261c00c568a44f468e9b8e0aac5e4)", - "P->V[108256:108288]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 7: Field Element(0x17c7193eae225a16cb494ad30492ee5dd15cc27516b003a4e0a80a7d5575c4)", - "P->V[108288:108320]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2049: Hash(0x000000000000000000000000cba48a60cae274ec1f5579675f570a323dafb325)", - "P->V[108320:108352]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2066: Hash(0x0000000000000000000000007d2fd4f7c9d7e2c21b943d3f490a30a8e18d737d)", - "P->V[108352:108384]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2086: Hash(0x000000000000000000000000954c11be59133fe3e136888efeeed02e477a9f76)", - "P->V[108384:108416]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2321: Hash(0x0000000000000000000000004aef9f64730009d20ed29733f18650af499699b4)", - "P->V[108416:108448]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2790: Hash(0x00000000000000000000000098c2673b433788f4db7e7a8e43ab4833c0c6e693)", - "P->V[108448:108480]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2818: Hash(0x000000000000000000000000e034467a0a8d5e907b88e1bb8d0623f044c76288)", - "P->V[108480:108512]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2857: Hash(0x000000000000000000000000091be10665c53f687156401adb478279b2447e25)", - "P->V[108512:108544]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2944: Hash(0x0000000000000000000000007c9a228983bfbe8f88f5ae343beb1014d75fa426)", - "P->V[108544:108576]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3216: Hash(0x000000000000000000000000fb810ffefffc6d8bc6aeebcfd6ac6a64e1573b11)", - "P->V[108576:108608]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3295: Hash(0x000000000000000000000000cdddf0ae4cf63211f8505300272121297dff299b)", - "P->V[108608:108640]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3399: Hash(0x00000000000000000000000073be1b24873b5307c35540deb8638e80fabe8633)", - "P->V[108640:108672]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3476: Hash(0x000000000000000000000000f6537947aea375588e9f0bac070d0df25bee9421)", - "P->V[108672:108704]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3523: Hash(0x000000000000000000000000267d830f3792abd6a1b93f1125a98451a5e1ccd0)", - "P->V[108704:108736]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3706: Hash(0x000000000000000000000000f73c30e174e1655a144005e9f9374f450096d760)", - "P->V[108736:108768]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3727: Hash(0x0000000000000000000000006d4dc913275f51f4d923b766f34cdc2e9f7b3842)", - "P->V[108768:108800]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3757: Hash(0x0000000000000000000000005b6578244d023844ae4827784fcbf90a7554ce9c)", - "P->V[108800:108832]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3849: Hash(0x0000000000000000000000003104394e2d84ed8e0c03f46a1d988e8dc2e57693)", - "P->V[108832:108864]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1025: Hash(0x0000000000000000000000003e29bd4dd9ad699dd6eac128be5cd6f6c8e8701e)", - "P->V[108864:108896]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1032: Hash(0x000000000000000000000000ef374190981db9987cc71e17918ed16c294a5108)", - "P->V[108896:108928]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1042: Hash(0x000000000000000000000000bb64d94eb0c07abc1b9396ed446b4378cb4b7ffa)", - "P->V[108928:108960]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1161: Hash(0x00000000000000000000000097549db63ee06d9a03e34bf46d0ec25d4db93eff)", - "P->V[108960:108992]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1394: Hash(0x00000000000000000000000004a242c455c49da1f189d52250d5dcc6da4dbce0)", - "P->V[108992:109024]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1408: Hash(0x00000000000000000000000058cf95d5241f51191ad831ca45da3e7e0b1a4d49)", - "P->V[109024:109056]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1429: Hash(0x000000000000000000000000bf3cb501a81b372166aa26f3cd784f8ad8baa57c)", - "P->V[109056:109088]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1473: Hash(0x0000000000000000000000009d2d37aabe836cffc0b450f640a3ad2c4b83b7fa)", - "P->V[109088:109120]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1609: Hash(0x00000000000000000000000028a266050a18e8d2992af69ad001adfec8932439)", - "P->V[109120:109152]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1646: Hash(0x0000000000000000000000000653b02ebf1c6051540e4af54170175f8fda8b9d)", - "P->V[109152:109184]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1698: Hash(0x000000000000000000000000840057353556a20eed13c3b9eccd7ae5ff7977c5)", - "P->V[109184:109216]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1739: Hash(0x000000000000000000000000eb82f06d70a4e8d7c5a7176699e4a53adbc45a26)", - "P->V[109216:109248]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1760: Hash(0x000000000000000000000000844730e3b9c596e594f64dbd70579a28e5d9945a)", - "P->V[109248:109280]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1852: Hash(0x00000000000000000000000099f214064112b9231b18b35e0c41041ab050bbdc)", - "P->V[109280:109312]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1862: Hash(0x0000000000000000000000005bc02e0ae637b1d29c01a0be4c5b9f72cf2a1d72)", - "P->V[109312:109344]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1879: Hash(0x000000000000000000000000bb98d61bc487b62b6215eadeb1a7ce097684103b)", - "P->V[109344:109376]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1925: Hash(0x0000000000000000000000009f92dc730ea085972ce3aae7c127fb50d989a2ee)", - "P->V[109376:109408]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 513: Hash(0xaedeb35c754fd7383b9c705db7a9726e294a283a)", - "P->V[109408:109440]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 517: Hash(0xdafe863e9032beb243062d6d14e640646074fcb3)", - "P->V[109440:109472]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 520: Hash(0x823dd43826f3c28a5a03545fe63d455d4e05a74d)", - "P->V[109472:109504]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 581: Hash(0x7ec20b089ffb0569d6cf32b4760e8c299a829e3d)", - "P->V[109504:109536]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 696: Hash(0x629178efa038929a7696378cc2c327f280accc3d)", - "P->V[109536:109568]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 705: Hash(0x1b0f6f1c195037abcc24e78838215390116ea624)", - "P->V[109568:109600]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 715: Hash(0xc5da5b6eab552cc01dc560676b91598f4cd86ab2)", - "P->V[109600:109632]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 737: Hash(0xea250ba13ec8836bb2fb808bdee181ad1b0f1d27)", - "P->V[109632:109664]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 805: Hash(0x740867ebe4d6af6941673565fbe332c38170947)", - "P->V[109664:109696]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 822: Hash(0x5a5db9eb2ae303224e050bd9a40df807e16992e2)", - "P->V[109696:109728]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 848: Hash(0xc04407a90e65a61b74587d7df7e0b3c93c794680)", - "P->V[109728:109760]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 868: Hash(0x19779ed4f60f5b5fe6703beef8cf0fde8fa4aff1)", - "P->V[109760:109792]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 881: Hash(0xb4826b0b39406296a722f62d4b50e104814d937d)", - "P->V[109792:109824]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 927: Hash(0x522c33cfb33dab16b99fdc72f776012ab7040ea)", - "P->V[109824:109856]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 930: Hash(0x72b181ffa87b0a76408c6f9bc9235b40df448097)", - "P->V[109856:109888]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 938: Hash(0x47bb19960be19af2088f6a5dea36440f549f51c2)", - "P->V[109888:109920]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 963: Hash(0xbc0a36fd38bfe8a1de7fdb15b892d734245eabb0)", - "P->V[109920:109952]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 257: Hash(0x6bacfda28a1e8519c70fdca560a5706c0d9abb1c6e59a4cc3689b340f1c526b)", - "P->V[109952:109984]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 259: Hash(0x56b533fc1375152d71279d68b8e7cc3165428614b49a4527fb2a4c35ef722c1)", - "P->V[109984:110016]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 261: Hash(0x4e8dd524d8b9729d5e36dbadfbc5d461d738eabe82074453a798b9188ee4478)", - "P->V[110016:110048]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 291: Hash(0x6b980f0f271d433726b4d98e6e02e822268228ad3b4bc07bf18b9bf903147fe)", - "P->V[110048:110080]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 349: Hash(0x731645713598f84288712d9870b6bd70ba4f027f78ee548065304ec3ce195b2)", - "P->V[110080:110112]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 353: Hash(0x352a8bde5cbd73e994e4dac2a267545dc47f716c44788bb56c34149a96a5534)", - "P->V[110112:110144]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 356: Hash(0x2f9da5c2b2e3620a54675d7c78a4ed227858fb70e7c17047eeedba17d62fecb)", - "P->V[110144:110176]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 369: Hash(0x52e76f0462fc70fe89473237e220fb326c06f2d331f7b2d1eb974bebf842949)", - "P->V[110176:110208]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 403: Hash(0x700116978f1ea14b1a6981070345c29c8e265def71e832490756c060eeca00d)", - "P->V[110208:110240]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 410: Hash(0x34d8c3ce851a922f59a04f5725af6a5841f2f02f6756ff3c0b87660ac95ca70)", - "P->V[110240:110272]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 425: Hash(0x7dc3aa4d827f56426a66b413fa310a37b8cfde5d1f814b261fd6ffeaf49942c)", - "P->V[110272:110304]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 435: Hash(0x38a3b6f511e11069059e937355ce19e92155449775faf4841f530847acad49e)", - "P->V[110304:110336]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 441: Hash(0x2417cd7f4c186777736e85264e7e070c6d72e72811c0ba370b0c7e1494a0f9)", - "P->V[110336:110368]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 462: Hash(0x420c057d8585fecac5a3405ece1e29e6789614d08a6211ee21c7a378ddaf677)", - "P->V[110368:110400]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 464: Hash(0x3d598548676191aba4d24ee981ee93007112030bbad593e9a131268fe95a565)", - "P->V[110400:110432]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 468: Hash(0x3267f41e29caf2a32d5e2a31c69e1f668ee1d9f31a0614175612b8b716ea9cc)", - "P->V[110432:110464]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 480: Hash(0x7f8ffaadd2120e6d0b5ab755556578fc389396aada3dd6c607bf7b5483497cf)", - "P->V[110464:110496]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 131: Hash(0xec339e5f57b884f6a5679c67a255004bd1299289b29eebc8ac1376270fd381)", - "P->V[110496:110528]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 144: Hash(0x524811e8d7e6ba29379d38c2c3f78339b119013630988b6bb6082c9a440991b)", - "P->V[110528:110560]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 175: Hash(0x20ac1a499ea658bb9a8871a9cfd0f454f25e4ade3773037fb899df8cc4ad0b5)", - "P->V[110560:110592]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 177: Hash(0x605656818a65593bad7bb7660124338a531b2247dde85564a3ca44a194e64c4)", - "P->V[110592:110624]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 179: Hash(0x42ce0ed9f1935086d21b9469354a7d5eea6eb54001e3e263069b63e92bc9a97)", - "P->V[110624:110656]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 185: Hash(0x628d34a817596c1406a32054226daf8228cb624023c3e6d5e36f92b4823d0cf)", - "P->V[110656:110688]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 200: Hash(0x74e325fe9fd25ab01841caa6717e43cb8cc84eaa34e7f609672085cc68c5dcf)", - "P->V[110688:110720]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 204: Hash(0xcca97fb3665ff4dbc6f718d2c66b11131d2fe6c43bd9ab23e6ee95ad5ab023)", - "P->V[110720:110752]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 213: Hash(0x1d36f13744eba88f8c8a6dfa042610670dd9f75febb87c7eaf1956c0a395f2)", - "P->V[110752:110784]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 216: Hash(0x103bff4d565b913c2796339e547ebe73d86ba9ab4d3529de98cea2be2c2525b)", - "P->V[110784:110816]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 221: Hash(0x5da251667ae68bfa48da2bf132e1f196a753eb8ab6bb051f463d70960100d32)", - "P->V[110816:110848]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 230: Hash(0x4995555b9180f202f63d4d88855f05d3db8f39be46a82b1b64d86a63d69b1d)", - "P->V[110848:110880]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 233: Hash(0x2262ecc8948d03abc12131b3a9e6a3518a8e8549af031a2d8396d204906daa5)", - "P->V[110880:110912]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 235: Hash(0x5f8684519c6f912500647fd031c69f8af890e24fbaae5c5b8e91583c1d136cc)", - "P->V[110912:110944]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 241: Hash(0x3939e53df665076cc53929ead9029f882df0fc0b8787779ba42b9868f9103d5)", - "P->V[110944:110976]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 73: Hash(0x49e50690be83ea24f247cda6da6a445ff83c6661ab32c82f9cf3b8b14e591a7)", - "P->V[110976:111008]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 86: Hash(0x67bc5e11dc4098e357908cddb503d972a1459adf6578aae9257a5129842b88a)", - "P->V[111008:111040]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 93: Hash(0x3a0c95d0970e31ffda1c8c23f856e6fd2a461ce0c7e08355dfec25e40e85a08)", - "P->V[111040:111072]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 101: Hash(0x388b5060f637162d52c0e5b37060064fb1456cb86780a9dedc902298382538)", - "P->V[111072:111104]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 103: Hash(0x5e875e83d175e8933fef3e7137062dafa8c733c622983aead58a21931deca32)", - "P->V[111104:111136]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 107: Hash(0x6cc05e15203c61fc122ca92e328b14621152b33b073045e81786ac96a9cae8b)", - "P->V[111136:111168]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 109: Hash(0x37a89d0e32e038d2eca7ed2c77655789b0b38d49de0d7a44ee5a086f3c057b9)", - "P->V[111168:111200]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 111: Hash(0x23603fe866f072cef73ccdffbbfa16b541aa381795ec62940f559cf794975c0)", - "P->V[111200:111232]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 114: Hash(0x182ed6c283243ce0457350f0507375610cc30fac38ffe596e047f7256475afd)", - "P->V[111232:111264]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 121: Hash(0x4fc2dd095fe172ee6e179c72bfa755fb437de7d033a52f1871d7a6255626bd3)", - "P->V[111264:111296]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 33: Hash(0x22ab1dc34f15e5de3c86bc07f1509636112c17fae46be21b69fd3e717f9441a)", - "P->V[111296:111328]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 37: Hash(0x3c05772c98e28ec6d2f5ce5f978a9f27dcf281eada049bd2a6ac4ee3cf36544)", - "P->V[111328:111360]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 42: Hash(0x65f832ee00ba52825602e09225cc7851a55dc8a265604ff11f0ef8caa2696f9)", - "P->V[111360:111392]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 45: Hash(0x3c656633a95f33a60d9c9129393be58a8ce3cf1ec1dd071d9e10f1d91ad18df)", - "P->V[111392:111424]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 47: Hash(0x57ca475f498c5563c8df33082f95b41b3d967632f792b6d009d63f00de0fdbb)", - "P->V[111424:111456]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 52: Hash(0x5c4989eb2ec2f8393332089018022ee2117f8abe1cbf7d623078e8f1aa9aba0)", - "P->V[111456:111488]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 56: Hash(0x386bca6f705d9b563aebc9a963216e04aeda179e5473cc92ba489264fb936b3)", - "P->V[111488:111520]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 59: Hash(0x329955a7737c44334b3fd3db3f20faea953ed64cc8cea1482c925cfb55e4095)", - "P->V[111520:111552]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 61: Hash(0x7f054871e5425170774cdd3929c00a01b309178d9d6aae035851346e7117aed)", - "P->V[111552:111584]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 17: Hash(0x61122d803815269a6551ea04d813886915626118beaaf36dde67a7ff6064efd)", - "P->V[111584:111616]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 19: Hash(0x61198a8336440fd5075a529e8b9fefc8e5c96f4b6082ef307057df1c2c4bfbd)", - "P->V[111616:111648]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 20: Hash(0x63356dc5e5871190c1bc5cd97e5566e36a4ae389214ac72d01a0644bee7e62d)", - "P->V[111648:111680]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 24: Hash(0x2af3e9f3a893c5f52fe592088c0045a791241c1c3c8e753b9149425f9cd7970)", - "P->V[111680:111712]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 31: Hash(0x5143dfa0f6fa380d0f4c15bf1b233ef9f913a5f015ea7be4d9aa1ecf9a90077)", + "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x7ba8e443ab370ec997161fe5e39b88867a5a7bca3cb0b158562807301317738)", + "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x10f17da2bc83a9abce4fa9666bc13358659fcbaf275544e691e2c2d9e812d0d)", + "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x37af721f9353f4d253afac3eaadddfc24448a7be5c86ccc90af107fb980efe9)", + "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x2f20c18a7732a4b2336f1d14018819a0f6c50223e68717a55883b7a8ed8c3b6)", + "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0x1eff2bd47c88090871114aebbc71b10608f9cc5a4e0a8be9471e34ab870045b)", + "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x15c726354da53aa68777880285c7cfa785bbbf44cfc2bd995ade92015e2d34e)", + "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x1e02c9eab15236d0498c9379008275d4003f25716300aca99774bb0120f9fab)", + "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x23cfc194da8750284b24a4b4e44ee6c009f52f396cbd0e0adde85cef638ecd8)", + "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x58cee1bfb3e287405e9ec140923ed0181c5a595982f600188669e0bf80063d4)", + "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x598f9ed8c4b14c177bc2ea118adcf1fd61aa43ef3464b320f8c86a72faef41b)", + "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x6ec4e5c777773de57a4be87a36862b1e15b701ed011994c906d9a5b866311d4)", + "P->V[96:23648]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0x5c2ef4506d2c8cdb7c6c765e7535489cde5e8994f2ed01a2274ab53048129c, 0x3e202767feeaca3140297ccad4816e930134146c638cfbd05976b12c2fe7efc, 0x771e2cf936e0c872e8e6361074a326bfdaeb034178d3f3704806c46b479202d, 0x5da0345e8accd35b4c6a79b91a14908e36ce19d81bf32d9e24a9a814ccd9122, 0x7b7ba7c522d13986a7cb2ddef68b40ca758bf8614a9a304b25a5edc0188dd12, 0x1f841a65ea42ae4519f74c3fdfc13df140a114996b9a24e08384e5f23e4a0c, 0x6008be42d9560506800c8979a0cef185a970f606c27c58f5429940570f30c06, 0x304a8297b29e597b9a53fac7de889cfa4d78f9e19a889323287b6fe13195c9a, 0x4545eb60e28b23e0eeaabf390e01cc4c0060f91bc85b500a5fed2ec6ebcbfe9, 0x6c1adf22fe45a60c1c9dbd6a04f3372d98ae35cf0a2d44813147a00a67d6f7b, 0x6693814cae2ce9095a247ab93e8b19706b32ef1c8d69f55650a8f357e4bf58b, 0x13831990d5e82cf56b35f0bde029ffbda3b88fc5e4c7e6ab36a32e2806c7622, 0x3c5d251f0eb2f13fa63f010f4f1e97034b8dbffe3a5d8224741f351a13a4ca5, 0x211d7e18715d6418c218b7fb2f5ea61e4709f5774aced8080feae94ff74720e, 0x66e641ab824c8ecf152b691fe94c311ffdc0d673e4f05228f067ff6bad3631c, 0x3bff4864a69c795916cb2a2b1f1eff2ed5132dced333cefab7a9cefd4f1051d, 0x192f23224f1e685fb359f273f2d8255d4b5c72d5f7df47a1c90249664ba47b6, 0x605930dfa620c775b65d90b9eaf8eb94c17df1114ffbad8f6b3e1636d618b06, 0x1e6da5d36859fbaa6f5942f4500c811f22099da8f4432c8b40c15fc3978d608, 0x1bf098efd6fbc70f191d46932fea393bd004fce540047f61ced02bcad3be6da, 0x1f9899227db520ea4662f9bc443b308506bd45c209e1aeb527807d4a6c124b, 0x5068bb4845641d6e498936ee40eba0ec61be28485ae2f47a4bb7ef9d1854ba2, 0x3a7a5e5e7bb8dfa03253a8103e4b59a9d0013ece3e224edab4f6799f54ace6b, 0x496abbfe96f3ad0cb3f4fb67633f78260c3fde4910c3595f4f4f9d4e0834fc4, 0x59ee80086a20b94be1acbfc583aa31bb1f0b37f107cefa62e2a3ce2f672bd11, 0x3d35f6afbaeaaf986cdff5049ede4d1936009b56c0e98a670c5365add599dbd, 0xa7301ef95f88f8a1a01f2ceb912381cf076e4ebe52e9c3a35d0b7dfb370ad7, 0x621ae4180dc1fd42e5da98c8b31ee034a8141f4824cc129a9d8b88b43f87a7, 0x58e95fba99a9ac79644f2049cb985c21692f4b57aac67d5bbb2bd7d2ac0ad, 0x61c14a97635a4d175a1db510bc5369ab8e2fdb915f5af8a69508d75cb15849e, 0x605d04972a45fabffd123a812dae1cdd7dacfcb9a4a0deab40e37c5f801621d, 0x26eb211071d9341bc1c15e9f7a84cb6cf742496b8d13590fc2ddb060f374b32, 0x72db93b1f9b64bf3db8e78dcd5d7dea492f4c5ed492a7518807d5b40093e3de, 0xcab3b600e520ed1bf6d1d91833bb8fca69a287095709bb193fc740a685eda1, 0x29a1b397da0c1004bb43ccbf6584e6f4fd1ce94accba15f657cb35c92852217, 0xefd9c37917d8b4105e3482dd0cffa88504a015d6ce88bab555a17bffff3928, 0x3ca399170f0ee89f66bd56305bab686c9b999cd209d3e58a0c07d13d953c94e, 0x7ad0642543c68bfd608089b47873ea27f25d83d52d363506b6f29e8f526b2d4, 0x6a8ddf9a7896e86bb23d17ccbabe781cf615cf2ed008b9d53a9b36fa1b65e83, 0x26d2851000a3e6548904815beee405d800a8ed20922fe406751761beb904f04, 0xc09b4be850744eba6aad77b956c59f4860374581def9876f450d9f8ced205, 0x5f9e15fdcdef5e2a953357182f368c61c6980c6df1594220c2913eff3e9dc68, 0x49e83dab7254513526a0342aad62a9252adb231471e8ede9d9faad2950d40c3, 0xd039904199abac932a2cec64d310da0562f036eec0c8b879afa8c04aaef952, 0x27243d98b2695e3c449303879af64e0dd30fd438e4b74da9e1414a6a39c2daa, 0x68f8bc70abda9373de42afd2f4bc6f81bf4d8a83dc54ad9b9621a21dbb29b0e, 0x6b8f2a2962f10858b9684f203065b0859d9081a665c50da66de135bb9b98230, 0x7964b113de36cdd0eadd80f9ed02c65fd165cafce862830eb4752204425d254, 0x296fc5eb0218133ff5f4abcf299e0a7e9d6a40dc2224a90db19a318d16851ad, 0x7b2b31ee440a13818ac0498a5ef599d882302f8bf7da4e927d0d31cc9bf7771, 0x742b56ccbce2611ace392b962e8c949cef7c5be86ce2b89b86eb191e4433a62, 0x4e085d795115f1122f922b4a9541527e79e3e67d2bcf69d0235268de01432c6, 0x4406cb337278bd2c3df025a119656b4034eb52768a5d6518ccf786445c2ade6, 0x1bbdbca209a4b086b696b7d4779725bb3fa090a341e1b7402e54ae4c209fa99, 0x4f73292f04c78ba9b215ae85b53715c709af1e7876f8f403ef9608cca63b574, 0x16e180c82e7291df7404edcc65e52adc30fe3d5cc7971eb40e68228ffa6abc4, 0x7c28b1b1d781e8a16aab1d25e2b1797e213874b52665a937ea9a2099ff94249, 0x8b5b4646edd9583d085d8e8aa9981aefd8361d5a3aa32a7f09d3b481c8138d, 0x3f001fb5065b391710495fbb70585fa735e772f793bb7d56843560874059b4a, 0x3a521626d7914f7070180bd22a50d10bdd2d904467223d48c7ebe8a3ad25f2a, 0x2ab159ba77423d8d77ffe059225734b4115e26d2eca9000e4d423883f11d60c, 0x3c5b3c13598197838173be90feafdf9dfe7c385ad7b3c4abf1ff9a19c6dd7f5, 0x1de5cd0bd63685875360156d950fdc26572bf03112a11200ba49f23d5aef78f, 0x7988cddc837353e61373ddc4196cedf1daf3c42238a84c127868ce93781f9a9, 0x7a2b1e7e7e640154320108af0a1c82df95394e5b2b20188ea0cef9451f9e087, 0x284366e43ca6775dae99c2cdb71bb78b66edda94302d4acea131ec93a66f90a, 0x2e05583d6d810bb5e50bf358e57e84ca76ebdaf81ff8398022421171132f301, 0xe47fe4c8d233f5b056ba29ca76b0f7fae832994be4fdad34164a5262d86570, 0x78d9c6a6815917906703befe8a12eb478a2343a9b6b578c79eeb063e52a6281, 0xabe0b76d86dbd4699c203a89109bbd0dc4cbff83b78ac871b6454bd2377892, 0x7f79ba2d95bea3796ce7a83585ccd1745ecb18adecd8d33cc0469c93f1850aa, 0x4399f40b07adb20b5cbec889d90f4754ecdee5a7f15a1e5df1f5a28dcfe42ca, 0x1223e8d091b12f580a9f8dc74d781e6cb7fdbee961775742bc017b0bc2e75a9, 0x400d2b9df630defba8495ac9d1d9e564f8bd47a51836afdf94c0468a12c0a28, 0x18b6bce3842609f2b2b1d49f76a1a4dbff2aec5cfaa18d8809f66f81fba10f6, 0x4efed963176b1710b4b02dd6f6abebd5ffdc10bc51656b201c9034d5531f13c, 0x5170792d61abf97934634ccda687c2db0d4d3e4b8be51e4fa9fb9d0aa3c4685, 0x7c660e585ed6ed5cb5696de18602b840cf22d890edd227e8d1b39ae3e1c0ffa, 0x2c2299bf6fbbe83543fb53a3e3a085f5b31fd6df06e5b74d200eed7243f4770, 0x634c8226f3635fc64b8cedc48fdd812eff1ac9dcb9bb677ef6a61e76b54a06a, 0x77e5a5a260269d85c5b86de33dfe4b1760d014ea6f930c8cc71ad68eede5629, 0x59edf100b65a01c9fe36b2029e49008c6f5cc401ad24a1242462ed565178f8f, 0xa401bd0a61d7643297a5f13372ada7d097b52a1b209ac6d371bc634319aeb0, 0x7f834b935d1a0ed0dcf434acaa0e1e85e8b8bd0f5cc18fa2932a4a34a433009, 0x1d1bb2029306a2ff356b2be969ac7ff9ea0984f6d4c6a67f397da2606f25b44, 0x72cab8465e912f76a6570422454a62b139b42abb3e9abe19079dbea08db4356, 0x5ad92114b189b1463d15116214cd9102335e3ac747731059da6ddef2ec3ad35, 0x74b50c8b7b18972f140f6ecc9d7d0d69a1673ef75e071c172c019b55c6b8dbe, 0x5005b990d94563609418127cbbc928cc2d609d3e8468442f3115191dee18e69, 0x785f9cabace94e5122b07906799b9a6309b631b2d2c0ba07318b385075fd112, 0x1522528ac45f2edf841ae0707988a327dce0539cad7deaeae54ba7654a058a5, 0x13a994df6a12273d124cfc23b2d06f3c2fea000ee503ba12d97282a2c57cff9, 0x77f610521f7d659a32a67953f64f0bc18b75834f7b9fc8440f2ba85bc8e0b30, 0x5c973a4ba8758fffefef68db75df4308649852be721146a4d8703e57a1527f4, 0x12fa1378026e290e648ad53d38145a5fba7552366b8eedbff44ab3a67bc2608, 0x5fc7125b64550fb35355db9973a07d135d60d8d467f376862cb4b09d9c70851, 0x4ade6262185985060e7b1ebab8976413172ef6234c6ffd4a54efe5acede69c9, 0x215c9d8e42a8ddc81b052135e6d889ebf4bce8a1d5da6fc2afbc9b0124c6d57, 0x5f81f6f1483446a24baf472f1d3ca58d2445d75b6f191cb2d0b116244d5a308, 0x2a98e11f52126f4d5708de472d603f2772bcd8d612809d27dee40a559db6756, 0x3a541ffdcde8cecf1dc08ef5afcbc0574661c79e9b5b2a0dcca2c245282e4f7, 0x58db217e1b62264673460ecda3c749831d22b879e8108cbda3fc349cc078e38, 0x52f41b316f4917db38c14710b823ae23fcf80c4c0b28f0d4776f3874e1463ea, 0x2144bf26df449419b9eb464b78aaa67e9a7a2682faab7f9329af654b43e93ca, 0x67e096f368b20ea59e4d1b1050c10ccc8c9d7f12f9007c90947e9b55f87100b, 0x1913576c1fe0f7f34a97d5e1846bde5f5725ec4616dc2c3717aef5af57d79d7, 0x25792d21b5529e96c4efd8c3f4f0678a750f3e62210413c86c01b650c3945e9, 0x443da6cf0a19df0dfceff0a56452446e5e8af55d984222622fd7c091f12758d, 0x616ce64dd3df863e9494876e290c09f5a468b56b26da232d6d7d430efee6762, 0x33ef36b6ade9736603fe78aa261ad3b7317f4e6d6a7bbb121fab39dd585fbbd, 0x5a32cd86e0a4dccca4d72f8e7c7b011644f47065802796a2223cc19e2813de, 0x487082bd4391948077ec5dffa8ad1d8a40f2abca16d2c00a838db3eee22522a, 0x4931095a81d9b072cdd71f9e1f7b2940229637084140eb0f8aeeed56968f60f, 0x7b219bc66565af937394cb293e841085a9438b4f547fe26c31beed7b4573a7b, 0x3047a7cfb5d596c03a3b791288d713fb8bfdaca904c67f53267e5204ab81b2d, 0x1039ec0b922dc987595ed7ce612c77649ff9422615030eb0388ad78f55f2288, 0x5d5f02017f011ff4fe1ef722bd81e3a9907230d040c8430c36e15ba9be66525, 0x2cb1fd4225bbbca33120beefd0bc98ed7ad3704cc1f198031479b7a5848743c, 0x2c6b455bc10acd050cd309fcfeab7af88d03626d7516149a3dcef3d8cee473d, 0x77d27b5aa362f7ae03e22393bcccbc77705c21df150ddb29e7ecd61733feec1, 0x188cf4dc09b00e59518e8a1d10b5e3a6a5b793121cde2812026f177705065a, 0x5c013290c50656e80cb9ef09eedaf6c13b82460688a9eede8331bc9998d346a, 0x7f58d94f472273c56e695f61a1921b712a8926714ee9c27b3ef1c0beded1674, 0x6f92ddac3d25a9c720220948e5065b8ce37fd5229fe7110a50afd7d25220142, 0x6ef4778988818c7ba94b31c9ef89abf9b544b4568fc50fb739edc81c75a27e4, 0x262c59a4ff7871aab7a257e9c1cd6c3634901c5f57d03568a6719a6b8756289, 0x25cb20bc8835212c009d1ac1b8aeac242727a3b8ad082aaab15c7c5bbba2217, 0xc3e481aadd1452ec4cbb712c27b9e3d376e3faf850238fb9b88f97ee777a1, 0x15867baaa4fd692217669b25f9af7d330844894c93e2f0795ec8b06510c77b5, 0x57a93e6cd1d52999978605ead8f84b81df9b360c85c05387d3f424992d0d8eb, 0xce1b1d869a3162fc5b1396fd7b03f97888cd733e84b57f2f7c7f9753b42e62, 0x1dd9b772ad90826cfd997c3d06e8a531385af6e8abacebc1cddda0c7e3d34e5, 0x91f054bf9a8b57bbca558e20fb8dd6efd8aabd89b6ec915f3f31328ea90145, 0x278e83adff051ee76f98d7ca40729049c8965aefabb5f263f786b0cc3def7da, 0x5b354ac6167f62c7e30407a65ce1bc9927bfaa423445f5fc3d1713a0b2c6aed, 0x4f9109b52640752d5354cb790d31e829bb12aa5e6e91a0703c4bb767708dfc4, 0x771d734e62f98977315b5f9a9f1c28dce619b948d0d27a3c1c30d9ce6fa07a4, 0x68364650f4284066ca3f5221d55c0396e32c5d723f6f03c0f7ad0337ef46979, 0x3ebdf45f08eb4fbbb336fef7f7ef05b99208789a6befa401e3766eba4512b24, 0x2075225b94cdc26041eee13a8f5e89889841809388f4572124911dde6f31aa9, 0x3779d0ff02933d4ed6a4fc3bc7b8da2eb7689bc4b8bc17e86141ff52b52e846, 0x4fd9bf7f74ec7a38543290c2368bc7a0eea04ea47921d90c45c5f4d13e8efa1, 0x2d18a22a2818edb8f591825e783419f555352a226176cc385144770a5fd3624, 0x2829a3262a82c9ad82524ce01b9058416e15dcad4afec58b620856d9163122d, 0x3e4f7fe4caef764089c5e02b1e6c410a43dd4a5fb2af2d54aa98950fc49ba04, 0x1218d6cc1c086663b3edeea8e796156594788a15c2382aad80e2af1a5392021, 0x2d3537b4f154aa94da9a3969c84d3cd3160de24b2082dedb1c339ab50697726, 0x673c9f8fcc16fdb495e19c03c7e11e9118cab99f14fd727b70ac8764ecb94ce, 0x30bbc234f6d147559a8b09747dfd6b986282eb11feac50079c2b175c47e7d02, 0x4ca7ad398a1b48e6103b8b68833eb2c171ad01ec1e06d44fa5d0c2b00c40257, 0x644f29dd70269f14dfded410da3ea2697fa72eccc1c84affdfe2b43d945f7d3, 0x3f2632362840f3032e6eeb86175a890ef46f14ae390ccd8f3ecdb77feb88113, 0x2181644f3c5b070651e6be1733f322ad48dd1eb2cf170189223a97c78730831, 0x2dcc2de46a80798b55f035e3e98d21371b4a33e4a7152d4119deea9bd320fc7, 0x6c6ecb2783a7eb6e06fa1b1ff2eeb95dd809821933dfd6b8fd955f8945bbf4e, 0x7c401c53a5f5d55bebb992f4d15b39a1a1be37c61c65a0bc12c6595f1d625d2, 0x6b27db2ab16e954b515bef304be574809d34da0054be56632841accff274ccb, 0x259a2d504f5a3ae705e5a8f81d338ba6483fcf20bc707bd445632cef481c13c, 0x55a05081284dee79eed5af3067ecc1ebb15d04b365f3a61838ea721fc1c0502, 0x320d34b01a996555abeafac9c3fe1e1618eda00906e88c894be97095053f2ed, 0x45a49ebb30f4d4b890aa1130a15978b9bc1f5d78d44f0d0dd838e45fe751f49, 0x104697d7222477a22747587152e33c90dfc5c3ab1954076c36eeb036e391d9f, 0x689b6b7c82c5c7023984db3da91acc69b2165cf6cbbf08475c6a0f2efe79dd6, 0x61a8222a259a92a9ebaf96da3028b21e47baa42d0194fc431720dcac6043d5, 0xfda453f9f3fb5739eba37598aa5c8cbc55f575892d903d1627b2d2c3b093d1, 0x4d7cd98ea590b69ac7296d62db0b40ff52024f77a5edc34ef9dd9dc91c9d930, 0x4f7fb57d47591bd6d62dcef5233a6ee6d8ea0fb8420df76682fac11623536fa, 0x73d5dee6a3953f511ac56f59884a1720d86dbed0717c9a1677d4d702a7ceabd, 0x2e7aad3ed0a928b2cf6c3f65c32f67a1ccba7d965f436d48415fcd657255dc, 0x72fd13a40afc9d1415d13b54099ae13ac48e68fd3f5f149f2cc34686fe541b0, 0x12b758bf45bd9d82713eda4357f41e692306e24a6ae58feaf642f1f11e2d4f5, 0x74969273d72ece7289a3f7d8519bdec14fb87ca5a3503c80ac9d35ce5c614dc, 0x7677b4d61bb9f1e654794e071574d240036135999f48f97f4001c9e6a88b6b8, 0x6faa9b6d6cf765b1f80d7b7196a40d4b57936c7b800c5175c34d66e0d0c4f05, 0x4981119f8eae268ff75a696caed83bacf09b1c74f1f43d5b237c20f5022d17e, 0x3a6087947e3baf7e2661eaf2c22bb23973b1615acfee5f038ef9a86a1ed7ba2, 0x21d54a072f048639364966182a39ca427d8643fb8cd687aa5894f4851ddff76, 0x439defde7c9064445bd7aec6ada437f602edc3afa0f0d467a07e4f61074cd58, 0x755bbd48a9ccc75c2f9918a808f8773f541be394d5281c3fe77441a628ca80d, 0x5c992e87d867f0b3ef2f82f905a3f64f13b0f98f21c36190ea4d6bcd994d7f8, 0xfa20f63b32105ec147d6e25b1383e6a03d38e75f513c35313ea2e4b9d1ed66, 0x62477797619bd44d111e68da36e174682d194f523fafef2fc4fd6255a558ee2, 0x1dec78474ace6d8556519b664351fa0990d25c339056cd803218e38f975f3e8, 0x109cd0c5791ff27b41bcec344f9b7de33dabfb7a7daf8a90d975628f78bbebb, 0x1b4c7187a6cc9e93eaa11b7dbc886eb465545953e562c21c74b5b7df0cd68c9, 0x7df562144799c50919b78b4967d52e0e300b924e485224734e30adda232de37, 0x6421cce084719e777b34f9f632c8771e37f0fc24dc4194007d7862759e3e1eb, 0x486658aa948ed05217e7f6f274164c2ceade5e533f592776bc55fd45ad209e0, 0x6031d07d050814939aada2c58ecc14c139deaca147b69dc5779ece5847f6fa3, 0x40b1f7868a26a4492aeb5d771c3488aa94ed3f69989a1d089e49c0cbb976cbf, 0x4688f6bdb6a9919ba3b7aef328c95c618860db0ffa94dabce2be7f7869600ba, 0x5bc0eb411bc887f5268ded7bda43233da59b4d3fb482171ef9d9f4ccc720245, 0x570564ca77ffd844210ca42502b9d3b89edac7c9b2bfdd974789145f421e4bf, 0x13c6efe54debe5983bae4e9f1d3569beae488bbf0700b23a5f565a27eeb8c2c, 0x4a102f573ceef4c46a69cba11ceba71813bb20e5df08f47173932fee755cfc, 0x7aacb293eb68e3a61ffc947b6ea0e249fbca51ef3ac319a3a6f5a627ff9da89, 0x521769c91bdf14df080f86719f6d30a7276e753cdbc3849772517c59b037ccc, 0x29d106573af5c36512742379125ebb4eeb14f84d5739e09380b3b89cb0baac9, 0x3e5b58410aa768a6c78a634b5826cf3c32131d7a6058d54da6bf10cdb102f65, 0x3f0c0eabf4b473a11e0be574c24220e8bdc5a234261548985d06ca60f9a472a, 0x6832d1d85bc95a1e4ee39d33290dd9da8d79d5ee70df7aa3cd41d552d97dfae, 0x5a6d1cf0688ee8e52e67cd3248dbf9a92bd07d77ef50e9c13ae43306d65fb89, 0x5beaed57f1ec6dd51aa6ff186357b392435ab950569f06ba72a790278772211, 0x49833c4d3f95f733de56098472a812e6f111ba6a283ad68b68571577dc92546, 0x63cd804ea30dc0788fc8df4eb7db2b7c548053bc49ae7b6973efdc715411095, 0x402b7ca1c57d418ce9eb779c6bac52bc3141eba6e4f1209289bbe5e67e71d2e, 0x510af0d983873cd39b29484758ae4d5faabda9efb3c00747e746d3d40b1538, 0xae4a6e12f8245ea897a27f30fc82a2efc4e859d0b48f6f878a99a01371704a, 0x346af95d12755b857619df02c9d0a41f923cc75ffe8ca19f95747edf10a4c0f, 0x284b3c49a24907fa4458fb0eb5e16efbe549f90f85fde53ea9d5c678c214572, 0xa27dc3f93695fd4db98bb4789c3f0364a94741428ddc8cb00091bd82387c73, 0x5726d14426939f3167d9a21891021eae13ec4ac17148b787affa77a916c4178, 0xc0bf52cb8cf1076f737a4eb3780ca83893dd0b494205ca308f871f782c6d4, 0x6ca1f53c9afddd4f05baa32e09abc52df87e93f9ca0a1d4efb172500ce2dca, 0x3539b0cde5838407a008b6163791ee880731aa50410756faa83aa18d0c167eb, 0x3902f42d8414518038f0e2b9cf2eed771296e7aa50bd7ce7a5cbd50d9480cd, 0x43a419da9a3e3d30d30fae88d4deeb6c4d99198e0db11953ff464a16ee6e5f0, 0x16493267f4f287b670d87c2a7bb36c20661c230e228136d2444eabdcf03bc2c, 0x42f7ef44636d674c80664e4d81d9b4e196df3a7c6e7066c5c4100c3c6bdaee3, 0x7cdfaa06d53d6476b7e69040775b94151d905f48f13efb4da655a9ed710a86d, 0x5fab3eac51dd2cca7c996368b6b82f017a81aff149815e1a23a52208da8df07, 0x44ebebd2544dcd13092e0e07262f4e3cb3dfe46a5212cad0caf2284b1fc7c59, 0xda2b5b47a4731604f15cec48bbaf84b556150b690d0e22aebd09083d68454e, 0x36aedb64faa290f40fb9d828bdb5d2e150b0d89767f4f63357a5e65875541ee, 0x6f719da0a2396cd7732239358defc83ea8693da01d22131b8d9de6c3822537c, 0x176ee5488003b82d570e11266768d8744ff275e49770487bdd1ed33d0658a84, 0x9cb45e5dcd839a15ba1857f4e1777fe2ee4a5f2955d5d23dd95242d1956ce7, 0x5b7ced6871bf2f0a4e1fc0573fdf1f24ca76e1f719c6dc371bccf68c92bfa5b, 0x5c11de930309a82e6129456d41e66ff06e3f30f9264b683264fde95572de4f3, 0x697354dd3a571b4a6701f0168b516b9ded0cc99747cd1c282bf6bef9527ccfc, 0x20d52fa311e30dcf0744f7f38fff1dcb8b541a85549d9b022398d809c8af1bb, 0x2e4633cca0debc4b185a6e278d7480b5082d1c2f5964ff39e7d7347dec390c9, 0x4229c9939ef7551c36308de5e7668c6d488d9de8befab4c46e10535843e3a47, 0x50b51940dea440e3b22094aab6fe7cabb8a680f62c206cd419b0257136f7e55, 0x115ad49629a398c2d029c627733a8a6d4bbe98f5aeafee3881d5fa49bc7bff2, 0x6c9fb14ac9b2b3ce6c15aec9364605d97c4aa8f950c5008d67e2ac8a61f13f1, 0x377fcfac0877b071af89593caff7d7ccd8e30b42746411da53627bd26f20359, 0x78dedbb3c94bfe5f09e98daea81586ee0ca183611f780d3becc66eded3ce14f, 0x49ac9e40f2d94a9a9d74a4fb14e938037e886edb633d15db669c72494c46188, 0x6351ded830a35ca429e7444ad688edf7c007ce5cf839dc456070e438a646fee, 0x34ffbb520c5273b21b4f6c1f300b869fa6c0edb86f934de1b58326a2039f514, 0x252e12bbde23c1cdbb1e0ecb2a3092c1b43d171176d0627be682f9056111f76, 0x19f7e151dfc041f1c88fde00b5a03773b3efc8868f4025b4dc12a5b6bfc3755, 0x11dc75abdb04bc774128b5419e018e16625c9205c2655490cef4df5f7839c8e, 0x66e4f7cc97461902a3e40e682d91a41d132063d1217067027e72e067a945b84, 0x6407e3da49bd7e4a866ca458fe313d5358bc37d7b238f3bc308930b0b965174, 0x515cb343d9cfae37fe08e55abb7c7e983813c007cbf21d287c9a43157268122, 0x1acc706c408bb82a40838d53803eb33af8f125a58d12f3496bd1cfba46911b3, 0x640c2b6f1a99b8b596c6649935c82f6d600176943fb4c19af152bef84dbff9, 0x4d5c5782b9782df51df3320de5d262a78913e4ca8e26cccfdefe6733ea9c5a4, 0x193b273bec38441eb68bfac1f7dc49d9f03eda9619f3ed26f3025082b17048b, 0x7c94f43c402121d2cc456a163aa92c9513c272b6fe001da97cea10f3106b430, 0x22427fe9734fb9e2c0f5066f0562af7f460aca13d5fbdcbff1f7f4b2bf20be2, 0x224c86738b129c015af1042aaac37a208bd13e1090e93fc069c746206d927a8, 0x1fe9db3c3c1a5893411cf79e7ed5d957c31810b7bd10907df3fcdcbe8e41634, 0x5523685595aff6283b4194509d6a43bf3ba549babf5ff74a55ec9f7e96f1335, 0x6b6095e5cecee5bdbea2e68513bccbd663d152b1b652f1da2adfb8c04a19e98, 0x26a6db108be16854663a067aef27e64c436541360fe6a929ab8641df36ebd36, 0x2876ce4288e10079ddbf6a5a1876c71494a6b3123b47049abfd4f131d325bec, 0xc6598cf7e72f6d4610225675dad2f86830f79dc7ec20016c611541275cca09, 0x39ced4d2ca97cdb546d579f3506dbd566b31879f03778fa2ebd3ece04176197, 0x63f4a75bb4d55363126f2d8b3b8cfc0462eefcdffde98e01636bbc30f781007, 0x54c1062808d28270219fcea01846929de15d39c9de30f4d5b9043dd791da6d3, 0x28f065c2de14d1aeedbbff45b7a23bd8b60ddea1405ef95ebbdfc0aa80803d5, 0x3b83e7d23e6e0ba2166045110e84340a956aff425aa9b2335d8f94f3e0d9a88, 0x3607d10851c0a9dd139ccf818104ac22673618b5d4c717d7fbbc9864dc09cb1, 0x117d1cff0039b46e621df60a792801a872e74c094b68496e53a307dc92aef0d, 0x235308b72472a5791ad9fcb27ddc20c67da512356b74b662767701d068875da, 0x1dd43428eaff34f89e2c8bf201146faf27d8754ab2ea2014f7ea8caec540f29, 0x1ce7985bd8359522d605b62d49d07ddb3665819958b3235fb71f196866978a5, 0x6eb7460c0285e076b91f89058998630b60ed408cf30bec94d083f1ac62fba8e, 0x685f013274f19b4ee88ad652941e39a79791038ef9b3b1f6948d8f5cda4c0a3, 0x5d62a9f637e48912f1317f03cbe90238c7275a9652bfb3eb8579eb4853846b, 0x31085cc005ac703cca5a322bc631c6649041fd21e00c4b4b95c18e98261ae5d, 0x3360252e2337acd4e14222c6222c25bc331f0d7a688d9c2fae27a1b2cd6df84, 0x32131be8636878b2a9e2f130ccccbacfe6a64ae24a325eed040a70ea9b0d2ce, 0x5641ff99ee3aa8849ff089e5b74a97e3638b2072be8ba043e4cd5149eda0ce2, 0x7f3f396f6e12ce13dc163cbccc63899dea5d01e1c1217595b3674abc77206e9, 0x5990353d67f0715a9233c5b106a204732ca61c85ef9e14bc7621b6d55d92cc, 0x321f2d6abd1818c51937e8ce3df1f9e165e8a2770e2a15389279bd110cc8e4e, 0x5ccab1a0e07c40b892283612bb88ff4b990871112dfcf4333cc03d33580a778, 0x67f8fe08a0715d6bf06afddd4da4cfdace66f69610df2bd69ac5a87b3eb0c42, 0x2e3633b3394d7d7b9eb92a637931487d4cfc1af2e0cb947ed66846591589788, 0x60429b5e2fab4a7721e4dc5eb4a2d4f6a5de7252ca68b3ae5a933dc8820a818, 0x6a971c5c4b6003654f349ba68ddf901589852b1bb0d6950ef888a05b7e3bfb4, 0x6de61533da68a81c14ab5f18353fcac953a7154180d5cc5b8bdd153caf95bf6, 0x15db36a3ad7bb7283f4841d01f28abd687553ee0f2d5106df7d2741e409dadd, 0x2cc9e5e2645179fc80a62db068222b79fc38c45b0e07b1cbd4ecd868c453877, 0x36b4e90413ccf59f46da04942bcc882955eb7cf18a2ee08c91e5a759637864c, 0x36dd843964f3d74a7baabc63c38e59fc7b76e80cfc2ef922a4ce01ad661d91b, 0x42217226d1884eab68e8343ab5b23a97ec64db12fc500cf6a95cad368fd80cd, 0x348646ba0d113a2f1ebdcf3fee33a50c6726d185c4211bec2236912a2302b2f, 0x2657e7f6655106b5742bbb08d75bc52dfa17865403db08a2c8a5e5e5e3f9940, 0x54a737d19a5cd6d9848f8639c5ff9a6b8d1f7c04ab913cd6d998d6598882393, 0x5217a5c4cc16a6276a4dea1cc0cf7f55daf9b214f657fa20cd8f0c42ecd7a7e, 0x18f855753916aeda04d0b8dfc2ddd8926ca3eab3181994228d323e6b0cfac43, 0x2286454ed95f20f3175a303e7ff10bc23eb934d4d727c54c8da605909b3d8a5, 0x1fa6f07da518d390bc956691be9af025bddb66fed3fc7d334b1cda1fee98e4d, 0x75575e629fbca613b588d8795f9e1c35318acecfd273a9e5076d73151f9e0e6, 0x528174ab77202afbaf11543639589cc3c65b2724eb6c1686c738ca7c3799430, 0x537fa0e8cd7d1d50df4d57b36556c28142ebc71e6e4677a769fc4501e9bb726, 0x63f47506b699d246828fa699255a42e06d9b0ced11f8faa1747a9d2b66597bd, 0x69e72d09b96a925408ac8c07d117c135c3e551ad0c0833ce14cd51b3e8c5cfd, 0x12375d07385c085f1f0886b7550afd8eaff053ba3abbf11441fdc9cde950641, 0x46f72f7dafe916100784986654a35b08a93eeb232864fcdf4cb82fea6c2df31, 0x3933b69c2c1f2c1bcd479e76f90e7d3c69e896761e19bcd88ff0ad9879d45b3, 0x55e5aa2cd7a70a10b2e0760abb5f98e604a0778e84ac1cc310c246f87e5ac2a, 0xbe2011319c6abf60c1c1662ff6b8c9788a27f5fecf67650537facf81e598cc, 0x3b2d752ca20b85477a46e8bbf5572eb5ab918bedfde8443c16aa6e80ea96295, 0x191f979fb91478a4666b8fae07ad7bef1bb0fec3b3188712ba77f7028601689, 0x2944f7a296274531222958fae15016b0b994fd9519f7499df596ed0689e941d, 0x31adb23d3bfc3094aad397955645fe4531ae997d4f973567e66c47ee73b754f, 0x4fef2e377da50050ffaa359b117ee8f2fc5a67743d4bb7f7d567f48c4505573, 0x42761496917aa297cebf4d5917cf0a7de71876e8a29bdc1a4bd8122dfca9d78, 0x581628e44629b5b099b58d03b3ccef6ece6464129cfe7d52c74b7b65e41cac7, 0x72a0f9584f03135160cc9d18dcc4cba1e5af81f9bdfaa96b3b3220f3d0f10c2, 0x3bbb8fe4fb3a8e59927a94ce18f9f814bffbb66d49ee050d8ef14057c3fa25a, 0x7561bc71e2c525d5997d4999f7d52a2983600de76f2cb6529c7c82316c81ef, 0x2c306b6dda86bab33a0530cfba40eb5207dfdf50e1be71a7761b7b857d84cd3, 0x7aa96b259017c0a33d221e5d31e4bfb6bcc1f130ddb3f79d37b7432eb40fa70, 0x571a0cd60647c62171871d3afa0daa8b67f9873bfad06c4adc4dc12cb595fa, 0x6a91e7d867fbfc59ce9d33374fd5090845358eb6aae523840a2542513d32919, 0x1558edd6a65443e3a5b8a8692545f94facf129460287f18c403cfbf6d848cec, 0x60b9c54e52e9884141dedbe2149560ca58ceb911334291c72e084049acbd853, 0x5e5e08885d55b956e5683fbb10b66ff1ea387a1fc5879e7dcb22e1b647a7146, 0x482bb17f9c2788ef923e752c577d7d936687d1e7c7a98144f3a72a65d8bb328, 0x41a9024da611df6f2040d907b00878b73083af4a10f260c936edfb2165bf1d2, 0x5a9a2c162c8233d6e7ff6dcf38c0a31698656bd1114e69f26e41710ba9482ea, 0x73bf62ca2333d797d9474f5d0d85866365ec7994e73eb80ec0038143b9a514b, 0x7f5405a65e37bc0470ea8524d7be3fe68eabe6401eb0717c3808581824105dd, 0x245566169eeb52b0999d18ee44d248de47d0ee18b141ea16edd0c91778cd1b3, 0x1cab8afe01d374bc33dabc4a0c49e27a5c6a4d0ad65fafa460456c8d64262f9, 0x6071a06d0ecb078bfe583e20c1a026a2345b62579d6523ef8d2e72c66168998, 0x6be54a97aff158cdaffc67c50441e2bd08962a31bf9dab433ca0c8de0ec3e95, 0x63b1a377e679d7fdcd70892ca325afccd96982b2e844e45b8598f6f16839c62, 0x7ee96c88401da87ed9386e85966e188d9a3a0a8283fd5d2fd14d8df6ca3d47f, 0x173a7cfba7e17a2e947ea714843500924a7ee3d414b61f355d8d5cfc12125a3, 0x1d37cc2c40c1d0f0f8a0ec963b24c43661ba01e29f5479ba7504917de85da2c, 0x3af0fd1228ececa40ae8b8621c4c47da0ee2229953d032430e78f8d9deb7f05, 0x6e344fa73f7b652b31fe64ac0925c307e52ae3fedd62efc3e4203795b7394f3, 0x7f19284b0ce648da646640dd66ca265d1624a67ebaff87145628b2583ed9424, 0x6f89546280f13482328f0708bec4748790bff2bb2e7d9599fe1f0f752af724f, 0x45d90b647543e9a2132cb6d699e92795747e385a04b3d77611c10f2c1f7688b, 0x408afaf0c2c14d66a6083a51d836b7089629110d73764de71a7b29fa28c911d, 0x4c22ce2d61e2463374d49f075aa9425ff70a239b452c45d0c4657ad80fc65b5, 0x25dc6705f332c90434c1db87c2c794e94b7cf8b1d54484d351bb79e4a38b6f7, 0x504b99c8dbc87f3279a1dcb37d7e53ee9f42f2f9515bdecda5c4e9aa73e4070, 0x3649587bb63775506a8db7f12a6c66f02f3540864542b19df5c4d943c5d24ea, 0x18d054654e7c4d1593be5091dda75f26e7fb14136b5a008d68bca8d446e4a97, 0x5058561cd1ec34677132a9537607b47034435c141bade91799dc3bfcec719ba, 0x3c412a43d5658e70d79d069c46fb5d882f957fe82d60e48541dd03f7976db1e, 0x6112b08983f467455e54d4073d6b1a0c7ede9e934649f7e4d8ea5ada9039284, 0x1b2134e455a14e70991c2f32da068a784e692ae02c6807de6c8620df916a237, 0x7c856952941b380881b27aa6d37edc59bc8f3e5e3ff5dae2fb87f6d428d38d8, 0x589ef38e3a212a1513791cc80cb94d0095cb06ab1af92ec7a888a5b4ba7f921, 0x7150a87f1c862eae534604f76a00349a5a2234947ff50de90b2c448582e433d, 0x75c3064fcc4878c67b5bf625c293dce3c94a16f68623b8fcb629b5e2b1b1821, 0x2023a452b75109b08f4eea1ac3ffaadbd6a91c8be2eb8badd6df67cce40f7bb, 0x1934b26539cdad35a62f017d667a7b711e8093c1453e1e40bca885cde3c649f, 0x6e3292110793038605491b7f6558ac5827d6a929d2dc7babcc9ea2351b6b70b, 0x20bd39268b097a02d2a3c15bcb43b147718fa0d7de1bc2bf566b3aa547926fb, 0x490c5d9d74c68f76dd61056209e69e58560269bfb2abba1a80eba18c9e8b42b, 0x516a7b87f5b02e80bc30f19f2e0661b2f394987b78003c0ef49d8495a2ce0c4, 0x312e8eb77a76f5f39951d9f10c56a21e890891d95c318465b4c1d83f01c6d30, 0x1364de906455312f787b8af0f8b841ea172a0363e5e087be95e60a4f2863c15, 0x73d71e4a91a4a99223086cff90ce12dc3b2ca69d52a52a3a2d1011ac8d57a7b, 0x2c131fadb9fad9e9e39b18dc9b8f76a3108f6065bf94646622d6d4caed0775d, 0x2b921a80bf50ca6cd343f64b84472f8903b0d04a810bebbfea3f32eba411bae, 0x37ea5e535af1838bfb3692d1d25983bbe62b266037c3592ce33af6ff3849a43, 0x79012d175e72e1b7fe9edb31a0ae4a6073d7f4b08bc4da651dc578bd2d4f0f3, 0x57ee806bf88833a8f6ca1d9625c9871ec75a796ec9027ca23720a0b54b8b363, 0x6f83c21b2c2a6189ba27226d795928032c72645e87ba95c64e9dbc7a638f833, 0x28c6726a7855f72dbf3d1e406e069024d88086c887c8ebe1f64f3551a9cbb66, 0x7f649a1ee2b167d4c082f17784f4841accf0976bf4156f975a39d42641e3aa1, 0xafd4a41da744c00eb3b77d9924ebd1305101dc7cb0e5f8ebf4356bd831a70e, 0x5295b918a483e16d492a8ca163a5521bfe1b4852ae8decb9cb53312bdc6d089, 0x2da2560cc8afe2b31036042e91297eabd32085dfc3555d772e62f8ade449407, 0x606b5e15215fce142d52884f85bcf2c44622fccbd5d899b00d71d7ebf870634, 0x2cf7e8ed5d9149cde36dffbfa70e9e4d9a64827e91bf0c0b6e63fd2935196c8, 0xa75075fdb88076c0f3b391bd9a331f35a456d6b4362f505f25323bb9f15393, 0x3a419b98fb2843d774f03e35f7de48625cd5ff952f949068acf35b5b7951810, 0x48efcd4cb28f8625a59f47ff23aa86497270b1f341fb2272454a33c40cc4bab, 0x39650ddc82c7b7a75a8b62fc5fe978eb421d2ffa4fb03fbaa088f2f53c3e43c, 0x175ff3c3a8f37841fe91deb974b844c992db1a0f9513f0c8a03e9687cc2c982, 0x5222820ea66e2c14c25889688890c46e7426975182dd57a0f00d4d65ec76582, 0x60b5e68851192c7d473b2885fa82c937bacef3892351c8ac41a3ff6ac5da3d5, 0x36a79bd1609e43ece9dc3b1a6cb46ee81f040d56820a8bad4e640cab71c51ce, 0x2a17b50446f50cc01facaf944a68dfa6dfdc8c209d7f5b74578846292f984ba, 0x7d2e805ed342e753db9b22fb525c847a0aca5dfa5f48adb8a8ede6a93c95b4d, 0x444747c57092e8c1fb4b5fcd223d5195eccf96ffbec39e062cba81a575c90b6, 0x35b15a97d10299e51ed904961238dfb6e511a37dc582dee9607f118f941d22a, 0x5e6b4cd15c00a2e9aa94af287877203d70fdf088dfe5dd325d3366dd8abc499, 0x42ebba7ec348405e2cf901634cca058756b25a6991d6d44e5e6c46329ed726f, 0x21216fca6937382412bbbb71d85866f78499f1d5ab022e0dc06e365c3649768, 0x3de02353f3b8d7ea23c5060cb5b15b9cf20e0395c54f7270cbd6da4746185e5, 0x250dc1449c5a6a4489bf284bb685d7890dfc4f10eb3e2a1c867ba1b4973b4c, 0x68189ff5e687342e0b769714f767ee60403215f33fcf9566a68933c5d63e162, 0x57def2800d6eae1eea1c201f73ffc72491ede257f9ee2b84f02e6efbdf818fc, 0x39b8acd2b283597a3013d3c75e5d2b1434964e087ba2e4ac0722cc117299b1a, 0x1c5685eab7a3312e54afd711fa0f506ce91be57a00e84311f5313df682f0cf4, 0x4c5f1fbcabd6c58dc07cb52971ee948440ff9c4f325ba930f8aca22ee469740, 0x2e747d1a2251dd3c26ecf3b4f09c7d001a9287aa3128d54b6bdaa4fc4dfa56b, 0x6cdab0b9f77e9d3e65db726a4a3182187b502e5f2173181017fc65734ac2c, 0x636ca98fc9d2d17fcc8f500f615ac8a49136e6882ec5f3d22bc6a14450f99da, 0x491198aec97415c09a7a3c7fe1b2533b9d5683d52bc39e9ea97a4df4cf62b40, 0x384912b2db79b9d769004252f5799d30af343b6a05372ce12138162b10f0bd9, 0x6a5108709be4dd957ea14fdcd273d06ab3930da663ded0994f90171bef611b7, 0x7ae62a6122dd70002fec60cf02d1056a662c1f9eeca3ee1484a45ec13310c9e, 0x68b7f6c6da5b48a633ae4a158a93ab4fe40f8f90efadf95fd7a7be9cca5f8cf, 0x71823f36d6c61daf7680719ab27017b50252a1ef3ebb91629d8b141e7e2da3, 0x51d2d497a58dd5552b68972e309b04def3603d5593b98d36114a1cbae0e3a86, 0x6069b5d2d322b5cf72129e359e897eb9cbd0ec480e02c6a75ad27476faefc2, 0x60c744c560b637cdbd8e19b983a73b830bdae8f30a4238084ed08c6cf849f5, 0x63da8f798944f948b97c4b597b45522c13d708c3fd2dbf10a38da51ae666f46, 0x7c835f77a962a5823633cb9f79ade510371796724c27dccc1c855a61bc3eb84, 0x449f87625df98a686cb040bdddbebc611906835c01116028e0e065d450d0833, 0x3ff9fd3ca10226e7987500dc9faeb85365330aef5d93234624685e3f99c0e4, 0x6e72399da5fa982b85667d5741c6daf1861d2a0a1750f029f63cdef1428382e, 0x29648b58b458694d2a87558de6a2f4a9aa5c737ad1ea2acbe3357c9ad565202, 0x65ed335c392c7d5f54e660c4c364f3166fbd01c7b985893c274ecf7292789d9, 0x7a1e9392940d108dbbf520423a4cb420813cd3808a19752ffd608fa36e0ffbb, 0xbb51b72e1bc42cab2f1e5b6a4c07dd3fa6b90c0833d25fc288536dec819b21, 0x47d99b645f5398bf61b9ae39969cf985dc5aae0fa8e4b209473037015f315be, 0x4603afac731501d173bd392b1fa1ef42009831d6e219e4d042ae63480a647a1, 0x47d71bf59411d82462369bb5fbe9f8582f83dfb30b1441eaae8b74d3a6df9c9, 0x68054116bf2e7ce22b1a7fa29e61828275191303b19ff0bea17c3f7b06dca7d, 0x559f1f62f614be7d231ecfb2aeb7dd1cb2d0744ef5bc22329e6b8a916e0c5b1, 0x1d21de5ab785eecd07d28386a92d7254888d31a13e865f4887a2649f4ea9490, 0x4a98a5295bf6d7ca9a50163f59767a4288a2e94a192eff8fc3fd131d221fd58, 0x259d5230ef0979fe63e4b10f36e43bafa857c306963e10f7b81a2b36268c18d, 0x51169462013b4d4fff071c66391c6771c345bfc73f7f9a94fcc73a8c9e000c4, 0x1ac4c9296fae3b929f3b859dfd0b7a35689195bad51e99f080a37a38647b55e, 0x3535ec496f8c08c25b06c1340958c5ff7e421c812c77086f3ab20cd022fa01, 0xc8a3d19f2a9aea4f26edc5c5579950a196d465756b3501aa6e0130690bb64c, 0x69f9897886e8b2cbb739673c07d2932bee657ffa857ae033a00e40f343387e0, 0x40452e72c1f6371300fcb84d901aa219da1213902ee88af6e2a6ee234339c, 0x3eb2273244d97f52da2272934f9b94aa23b5db3f87877518f3dd3faf8a756b9, 0x32a6a607e68e8140efccbdeefe4447feef68da2a9e668a8559b996fb4b8cf15, 0x257099dfc981248d220c1edc811545a5818c9fca81eed9a3375b6a67fa2153d, 0x30bf806e12bd8e68bd2eaf5f76456f8dc4965c25336d571f82736d3dc04f611, 0x48f8d4a1f72ef5fc51f1d76151c8c49670479902daa780d5906e92dcb5caceb, 0xeb243cc7f167ae4a1b990dd065eef19f9e6d227f6eff3fbc1b92308cb3bcbd, 0x4abcabc342c2c6da7ace5002caed923aca2c5bb1a71e5a13dbd3fed0eccdd39, 0x6c61500123ef0c78c9d087aa85cb0205d1c1450fd0b01777932f241856d959b, 0x6a9e558cbbdbbfb1b6d8ed93416b017b26f300568cd0cbd65eb65e4dfc8da66, 0x27a81e52e43ce5f78c4ae447788432a14714198e07dc26a9adfe950315b6d4b, 0x28ae9c3efd5bfee14c04bf74f03291ab766a82e0f10ae0d6293979b5ed416bb, 0x2e5606a7db451bce6fbeae8a807a3b30b701ac499ac9c76e048ab0fa68c6dfb, 0x9fb55e6da64bdf5f0ea2ff5143a6ba22d3f9b1737e010ede8b64c1c0a38cde, 0x6036313b39db15e0f9e383be64f37082cc6f248969cfc7548c1bc5eedff637, 0x326aa1b0fbcebadd5262c60d6f894727515d555dda191781386436b40b24aaa, 0x451447f1da29871786e03dfb7c5a14959217db4b7e56b220d89150495959578, 0x261d6deb470eb72eefbf02186b7f4869dab01fb2fac770f5ad70cd71a38f736, 0x571eba86af59ad48c65fb7180df91d77f4e228d813a0c3ef687c81753451aa0, 0x7427d7e0f566baad2ecf6fb8aebe3af5ccd086bc0aec66971ee8de80ca403ea, 0x44d43707087f58afc87a36671af3290f5f3b9f2fbc4a2cb0fdd866f24ad4351, 0x7abe44459375b45d6d4e3235283a7bfa5d1e32760fa711670cdd2f1c32dfd8c, 0x48b922495076554acf800b93b5913e0f11859ca0fcda2968aa758e98a357eea, 0x44b629e31f8940dd44fd3f2e14988acc6234137e2934a7663663693f38e80c6, 0x55a241bd658f80f9cfd665e0312d536b955952907b40826849af0cd904c02db, 0x44eefe29f0360e38c9465fb8b525567836261836c285cb09d3794e5d012ebad, 0x7851f03fa7d0c7faae4c8e8f946f35c8d12da578ec9d6d272442bd835868633, 0x16adf21434fede0d9f2e95168a19bfe00411f1bcf9b9248e1195a4c5d1e9c7d, 0x7812bcaaf0fc876a59d90628d5e1bd16fac06fbea23d5a8694895ebeea2028e, 0x4c95c5e96c5d0b8ace68d19b780954caf39f93fe3936ac8c61d9614085f9050, 0x3b6fa52334521ec7225d00898fcfd6b453a5f2f6be8636bbc7667aeb4e2f3f4, 0x1087edbdea0c2253fd54fc0bd61e5fbddb9ce80440a8d1b03884bbfac829a5c, 0x1eb952951eb9e9ab19e7f17dc07af1d0a12e13ee1c6fb792b13fca41fbce92, 0x3cbaed1f0d5c84938d63ae03dc51269ae2b30bbee5b0ee15daf9a1e98f3ab2b, 0x70535b527b9a556b1ddcfbda12a04fd919461647824dda16914b3d4904ac54d, 0x5d9a922ef927a1646e34c1efef3a0983fd40325dc90afe76a483e138e27098c, 0x7e332e5d17f1318f4889ed67d31653c2134752320a52ab212436e5cce2527fc, 0xe9858b0b2e68bd4ee43ceb6d84db24b90c289acd26f06e4b61c4dab0464998, 0x3e470f394ddf5fd3c62e04879a706ae554786a669b08a15360c76b615cbdc23, 0x4a701a41498366fd60b16edce3d93fa77c051f77ca09b3eaa933146f17f7377, 0x50b8a349cd48ad8e5fc6ffba19ef207a644292729ba24a57a54150822d9d95f, 0x6dd88ca8f29c41ba8693b0ce31740d048a16a68fba71595fabe5f88154c7aaa, 0x3d28ec163e932814f4580d84bf71bb293af5c5ddc7ec916378246e7f153e8bd, 0x110fe63615356f5aeaa0f8e0ecaaca0df565eb1f8ac952fe6bc048cb2eb8cc0, 0x3dcec2396ba04faee206a2345c3ef29aa4c04d7140119653ba8fe10fb079910, 0x12664ce0f7133a1890efb2a4bb0653e062b5c0ebd1d1a566a51a64c619f5697, 0x571b492a5f7683cd6436ab0da9fadcfbced594a480505b9c90dbae64a1cc95c, 0x5c6f34dd80cac5ed93fc829f0c33f1ce65646dcb1ceea6cae7bbe453e38384c, 0x2ef3951f39197afab308b00a16dbb5d0d51777d55d64ac71dce58ed32325409, 0x50868f0fff3c4d5fcd675f281807725ce89a9d67cc3cad063363d9da95d36f, 0xfa8d0e8b5965bc5728dd5a2bd7627bed55cacf934a9f90aaec98dcfd8c3726, 0x6f3184cbbdae60468023b3c41a6d96ce313e6c35da5cdff3a911db1906e72cc, 0xc5c0c07fb135d9c6adec5eead9f3a1759d3991abf011f20c7016f1a7f783bc, 0x5b5fcdcd6f708084d9bb61b435df76719d11d6ec77af89c8decad119131f312, 0x48f3235dbc9d2a68b1cf625b62ce56484209c32213fd42294117619ed7bc29d, 0x22bbaa2389498af814ff22dcf17b451725d291d0c675acc74f80e245b2d1ee2, 0x634e838f8e39e559374ee829d44c4146c6a817cf1a94fff287a92e6cc4a3393, 0x5a4849096362606f318a9a6ece7186254fe18939198a042a4091cea3e9c3150, 0x3f31d9b65ea71d9385187c271bf337b9a9f34c29c4291eaab9229e27b9b4331, 0x1fd354aa7832b6af15d4cb2e4a8eb1895f88ba42e1e0b186c54b321b81df92c, 0x415c65e4f74fd633eba899b63eba7aba0c1132113bcf5ce534c2c0debd6bc5, 0x599e2800d21f6cfc5fb304d2a4dde8487029c25bce0c935bddf20777d34a18, 0x71a3b1129e229b04fa2ed021ad85783aca4c915b7227c56d088d553d2072da4, 0x4453ec05f52f74989d4fdf7442f3e867d2f79c011981149f2e9ea087ffc5afd, 0x43d2e44fe3fe410f0dbb5856cd8bdcc207704b070caaf0f46b6ff16e8313949, 0x4e0e924d64cfb85effa47fe3d7e2f8672806a0115e855bde17fd670448d6df7, 0x1af69d6dcb504d1788cd891130b99c81f918e5e57db63b9bc423d0756e132ec, 0x4aca1d28121db4570a6df53a856cf7b87c7077cd7a54640d4b6df9b50c33070, 0x4575c7f057e8e35bf3e28ee44941f05423c6eaac1131b6a85ebbdbfafae2f91, 0x6ac58eb17ec66ee9366e4e2616b0068cfbb55dbd05f1ce65131d548ece03de8, 0x34583fd5bbdde47313927235de1907863b019dcbad019f9b01ba17041baa5f3, 0x5fde400185520e9ffb0391aad23b70ff261f709773cf53f7233b090d41bf6e8, 0x2e8dbde727f7bde240afb30be0330151114126af95d97d13fcd083bfb8edb40, 0x6b875bf1430a409b3ea3b2e2c862cdf792ab95e27a2eca213a3b0def88eb5b6, 0x47a6879fc29f13bef4a56ca8306570350ad859c97d4e514108b76ca552cdad3, 0x738e3971e0b0cbb30530b5fa6715aa6c92cdefda2477eef3b21b20cbb394360, 0x4b7f9d99695fdbae11715665404d98dff55e776a62fbf9b718602a68d9eb4d6, 0x4cafad72ffcbf8fa534fa8ff290aa22a4e66d463018d3011009a947c1834078, 0x4eda93b2204e9a6c32f871da53811dd3e3c6a55a5afdae8c29d8af817b08df1, 0x4519ad4d6549761143445070649300902f9d33c3730afa1f3a5cc1c0d6c60c, 0x527a6807def7422477afd37213fce437f33830af6aa861800de5311a960ef94, 0x4aa27e045c709ffcc63fae17519a63d3a231ded6bcaea2e32306b56c0594ef3, 0x42a08dc5c2a33d7027f3bf7300551c804dd487b8a2a3152c0583998a3053129, 0x5092a07f2087d9886c5d3e1eeb68d75d8cddbd03db7e6cdeba35309b1afd174, 0x35e79b94f7825ef9038206b6dd0c4983776a5489b8b32d573dff3d0500ad3bb, 0x38a5d9c6682ceeca82ed14e2160390373e795462265fde176eec5609f2270ba, 0x76e7c1d86b09c48f18fc0f75e9ecb49fc66cecaf4759386793ea54107d98cd0, 0x7cce4c05082034c020fcd35aa0dd3b7d2a53d71ea6346821a6b696a2c6a3966, 0x1f974a9eef8e029176a5da4cfe5f0cdb8c2ea1f52d5ec01f3d9ec6fd08cee70, 0x482d7e8f3d547905c60bfce45f30f0738ba1b1e43debd043edf3d1dce19d5c4, 0x36726d65c62deaf6e0c4626bbd878bbe5fa167f030d6d09610eda6f8ddb8e24, 0x2ec4d440de0f704b69f74b329c3cdab223261684fc8917fa81835ceff0d3306, 0x3ec336955e4aaa7e862fdacf95c149c80f9f0c639be1efec5476f734eb63a51, 0x758075ae12117201a9920ffecdd482c365c9fdeb1090049bb9ad23103eaa44b, 0xe6616abb17b20d7bd741e832beefd7dfd403fcedabea2f721dd8e517e1b7ef, 0x2b7c9acf4fc7aca6ccae054174fc12379fec7429c991a4a2eedaffcff0939fa, 0x4de67388018663d0e331c9e86c9cd615ff133582b72033876b02571aa84f240, 0x743cba319980d6570963c08a270b61968753f4a7ed7e9c3d52d3b2c68a323c2, 0xc8b51ec4c055fb2921e6c21cc78c9ca5cf71e0846ce455102bd43539e7da32, 0x7c64840f9901b2226902fb27407b7e02c60f33ec449ea4b406a554ebcc03c9b, 0x33231da46f38d1b06b8d5898d2f168150e976d1a5e3f0384a59c97bbe0eb840, 0x4fc89cff3a5826e003839e215181e8f42f713cbad67856092fad7ef7a6b796c, 0x436514d69d8f3170b52cd81ebeaa94ca14d34f0a744836a1d265e52c743f17d, 0x39e5aa5345f497b535ebc9a1fa3d1e424583ae14f23a989e976bf5ec0583ece, 0x6b2e6816f46404b1bd3f7db7f9df8ca35b8c1ea952913bcc7db63c228f608aa, 0x6b87d4985aeb727951a45d448eab6dc10547674b3cde8d35fd366c5f6d1e6cf, 0x435117d3a2453916439baf8ac80d62412f2d58297cbbd9d2a38d55e933218b7, 0x134959f9bf0fef2658cf9203a9c42ea79369a5e0f88ef48024b81b38c961cd8, 0x767efd1d0097b741a240ef610d37cb21e061a31c5f55a031cd5ee1cd1755be0, 0x185436af50226148f1a2cb40e39879328b2b343f0b26840350b025e55c69435, 0x73edffc3c74c46f182634d24153befb83111a0098f44aff48eb3d8b18772d70, 0x7de7a896e514c95ae86d4a0ffab22cde8252c35d09a4688313f1b5e9a0292a, 0x712639be34b91804432b0ea4acaff427e0ec659158a15b7c5ec7bd1074982b2, 0x55671103c1f954c39e251ba737362515ad37f1779cd94287d752281a9dcf03, 0x2874645abbfebbe466efb91c2e5eac21a3c7c5419255ead5531afd71279d2db, 0x322a8de7eaf5dc633278091f9b930d45e1ea6e54faea4a799bf4a42cadadc68, 0x50333457fa88e6164a5fd5ede102363d62bf4e6420ee69137c9892b4e4d3bc8, 0x5dc4fc87f60671e8a2e1e96de2e5cd7854ce436efcabfb0ca3dc59ac5a5c8ab, 0x537e49c779c3416753e20346adbc429c849f5e8c36e8e61cddeb5f5f4d3c82e, 0x9d1807987962635c79253dc0c93255fef602dadcbb34f0f0c4249e7b458589, 0x436c682e13c01aee11c0664f9924adefaf002e6f4356834c669eace113eb2c5, 0x252e8994f5a0b21ea7caf254282dd929e8d348bcc98ae826b1e7a00d9331763, 0x2ba631a59be7824744df46139a1cfe0e2af02607767889e67ae6c02f0625be9, 0x8fa00d8dcd6243f978c6893d07162b9e7ff4e6da6d2d08c1f94cadc2fab82e, 0x19b84c898fd21ba30c136af4432e02fcede8a4ed334b593640555b462cbe57e, 0x4de2d392d5e7320111bd43ea427aa7a97a7fc5c70b8e6ba63d3fd69d747c586, 0x14b0d254307417127c3881db1c682fab2e1b5730eecda7d02a75796444bd30c, 0x378db7d347565565c9b68a0845dc24f15aed6fd7970dff533b12171d28fc5e0, 0x8c7e52e0d317deaecfd768afc4549132b7c837c5d56cd118b8778aaedb9f4, 0x747ed93f19aa14727909c6a25a764200dcfc1b1aa23fc3a097d3190aed3eb30, 0x569dfe4f2cdee0cc2868019c5dd4b76e3fc80eacc707a1cfa2a771b131ae4c, 0x79df549490b2f96216b046ba3e04421e6a2d7d442cf99bb8765cc60ebdf673e, 0xc944fa65696c73394c7e047f1a516a0295e58f6bf428d39df16b0469316493, 0x66f5c2252e2c58f12efddea324d2399b16f973636652c2e0f954f0122626b2e, 0x16667dd65f50d5e1886094161e256d266a0b7dd4d05fa7503f0a29ec9be4e3d, 0x1b138f510f434ac1d23e9cf0b57952f7fa33f5733e844a4df41d44e001623c0, 0x6fbd2b82b0b99af778de59b50c6e6d16e7f5f58d34ebfd7ca521f282da88ddf, 0x3f3dff20f2b117e47ced8f807a38c8045262a1ff47f6988fb17bbee72a6ce09, 0xf4db36a83b86acc2602c519d7b207a9724f176b2ed383b3da3c2926b2fcc88, 0x746b3373e3533a94f5a354d53e8c946b35524f4dea05dd899c67472ab55e4f0, 0x7398088c640a175e8e2b2202c1f251fad9047469065a8e8c18062fc8948f1fe, 0x7337a573dd54dc7d9c78d7add923408e6a54f1840bdee1b451cdc633dc69492, 0x4646090e1b20adc17f4d67856d070c42ab4b1f1a0436d138efd731ac9b9a60b, 0x526418783510585d3a175be49b5e5fb46d32eca453954e45c6922cb744f2c3b, 0x21f6bcc915fcbc80084fe0c251cabf67e1528e344c3bf121c46eb6bad79a6e9, 0x39820459e8f7d85a7ccbd098393db0dce6d392f9326138592fb0de71914c4ab, 0x43cfdf069312146a51b8bcac79dad079cb0b73bdecb331d48a02a6eff9f516b, 0x42869fe997fb9a8a4022d42d6b7ca438b0622fc807217a0061e79b92ed70777, 0x6a1d9b24893d77eaf645fcb11e5bb739f92b3a26af78ccb37efdc363659ffd5, 0x36e12e9e169ad7a23c0d6ffa20795c3d89cf3360bb189da9156681844bd0a1c, 0x34b351940b4d242c1e33572908f307e9bb8cb0cd77dae98ad385cb480af8c37, 0x4e5109aadb93492a1f9ede6731c4a193c076dd1105157d8b2bde86b229e06b9, 0x3ab734d12609a2840d1e61ecfa085a51b48874b1c495477652161759ca81023, 0xe844614a39b975a8e0e179c6033f7f1e8713503f3edcf33771143b05f3654, 0x75789fa416ad0a403d2926a48ff37d40a813e88041d29ac3ffb272db9afc60b, 0xb69e86fa24663d135b5d71acfcb00bd913fc5f7dbc18397c7ab7c713236195, 0x4c1a2da55fc9549dcf4480a09588ca903595df185145c353e8965ac67c09071, 0x7add0bd36520fcdf52570c1bcc4f5a03371e69d029f09f183ef787acf89735d, 0x5247fd5ccb58ce0bfc8b16677614b0d67612bc185d5e59cde502d055cce12cd, 0x7df4e4533c8bd177b27e522852896b4fd38c858ffe38626e815710bb2818c85, 0xe47d286126f35e245989f8c9dab91e600dc821eeec31661c811130c6f56428, 0x43616b1da41fc474be388b2e723c5d831bfa79b15204fcf358c9c59cee72b90, 0x2c28411206b449cab085eb9b1193abbee3af9be8d8c8118fc1fa02ac7018488, 0x250a4e12b917e0052929341095cbf1874e7318caaa885475635fd4b46732df0, 0x1358f8de770915f09b1f10b14c8e105bfedddf22ea337fd3107d1daf86570aa, 0x1b69e67a931cbf50d9458202a6ff7f4b956af1b476f2aba37e7465ea0987a51, 0x44454e96f0a79911bcdaadb48be136d1b8c571466938655849f4418d0117dbd, 0x400f93f073bbbc17028e4cb533a331ff4e4bcb414a8199ed05254138d11aad, 0x68f492a616acb5c1e0126b2ea5f8ec6c872c08000e7a2f73e0ffa6e38ec005b, 0x73159e919ba5ee51d54176fe23351212a5fa3ad0397c9fd840991efddccacc6, 0x381012215d3edd09cb0028f2afe5b650affc7a839298919e26f8bedadb13a56, 0x7fb0ac69784363b5188d7a5537dd3ab0a2475aa303fdbd51ed57288044cb9dc, 0x6d798ad8e3ad95777806fc0f5524091c3fd549385f95348fbb966822ba26b1c, 0x4aed22806902255f9434859e520919233ba2e48214f6fd074a534c4477ab1e5, 0x30a8320222398cbc843958117b8057183caafc39059720c6bb51444211c1cd0, 0xd719c02a0193f2f8172658b2c8f782e669cabe02003e1451148ac750d34013, 0x6d70667d0a56af8c04bac8d8696ed2503111e305914b68457084eb31a560962, 0x584d28ce8ecd2b045382d5ea82bd9c87eb4e77301a0bc5513bd63f26109eb70, 0x1368ccc1bcac742ed5d402bf6b0aa0492699c17f5e6a70adb70c2922a08468f, 0x4edfc51c1a8cf2cb0a9aea53762cccd2fbc7c2093ea4c942223243513c182f, 0x5a4cb1cbca7b5b08f5e2c0b040501aef0e3e59499d31a60f5ae1d69d97309cf, 0xf6d1bdde024789efcdabdb2caed9bf6eb83d92776c293253a945ee2e77f3ca, 0x2aee62ab30dc0d3b8b9e0ffa4c0cb6ef5b7a0f82e97f0907e7bb059f7ed6e98, 0x290860ba5eefc1625bd75e80713f6952b3b99969a9be8a39e74ce75c22c766c, 0x7096fd764ee7deeabe52b1a1d4f9474c824b73799bc68aadca553457ecfa91, 0x9fc19cfdb2183db09d6a316c4b41c7eeed552ef37898cb031d6abf59ec5cdb, 0x231d92d7fdb15471325bad59d3fdc7e13d6494df92415ff71bf631e7b5463e7, 0x68329386af9a64f00a68534d3369891eb4d80a2ef53f9889e7f6565522a072d, 0x170633e0a9f167663d3ed268e33991946ae003fb47832f80820094070e2cf22, 0x19d40056a417cade994f223204b218106113a3f9a09c221d81fba0d8a02e056, 0x7a3b1174596225523c68fcd9cbfb066bff741e6067fd2fbe25d78146ae6dc18, 0x31e51db8abcdff3862e17a58607a136e62daa2f76297a0271cb636d77dfc110, 0x529b31f8e9b3f118d46173436c8e88794f829b9953d3248609b29e1ed768261, 0x2e3a5936856363327acccfec014688a0918a764df74fd8fefdc26477b2c57ee, 0x37ac8ecca7fa857d4a382f661a00e8e6a34bdc7ea03461ede0ae9598e9a4219, 0x31ce18b3505afd9625199e6e533af27e10e09816fc9e0c6b612dfa9c4bef084, 0x4723e55c48b765ae5d1b7e5268bd5010300e57ccce9fa044040fc3e592cf29c, 0x566a6d79a5ee2e5f6762dcb892be6d0962194aec5557c3a01fd7de7f13701a0, 0x14315d72a35e699495a7a9100f5e5076a31bbd9df27bdbc18ffb825f071eb8c, 0x42f7dea2d65c5f7a9d264a6ca319fc29c7664c5a53357a20932da2dc939b3a8, 0x5ddc8c20e307516e882d32bdb6dfb2fd84a2aa91f02ec0d3632e2611e4658a3, 0xbe82e59c65d1fbf904d1d818ee0648622166b59906e9fc455feccb85657743, 0x7dc31b3284903759fb4324bfd236fd535f6412743d9ff951ccd60a0effc98df, 0x2ea62c8c84cce2bef17ed277b0adda79333904baf8909dc431f7323b3973a58, 0x61c8509317d4f5d6b000faabf224724673870d6728937ba5354043ecefd0edf, 0x56b5460962430da293b21b9503976434b4f3e1b06e7e03cb3ee6106b925ada, 0x47a9a8bd6924dd23657d0ce542c97eb9fca86cc923697f091f17603de4936fa, 0x1db6345cfc2cf12aff6756517a3d13c4d0db7a307a2b13e401de6ad18ab4b82, 0xa98cbd46af6b8c13ced630854b47810858f8d39c484a901fd8e45e60236848, 0x25c4c12103ee675a48a0f084f67a366821e933fe525b08eafdf375d38eb1d3, 0x45fd05e24c115b6c3ba68d65fba4a0f78ed00497ceadbc2825b7b7cd64d8a02, 0x1ada1c1a060a5228cb70a582b117dd12547877b2cab33d7c26c526bd5ab185d, 0x2f232b1dacc435e0e281595cdb78972cbcf90fb4162eec24a18cb959886034a, 0x1a44e45247dde24598835ec18a9c4ecbfd390f94106d762ba5073942359277f, 0x650f7899a6d96e5c96eb2b4ebc067d9d14ebb9d70975a39f7eb5e48267c38f9, 0x19581d485f19a92d473e86832bbf6d0b8779361a20af27b299ee54fb4eca61b, 0x2721c123611495d85488014d324eb490bd25cd6173929ce9fd0d58ea82a0ade, 0x692a21c14addbae8ddd858aec2cd7dd67096c6374924028a1322753efe99541, 0x142b8affc5744de5ee4a2d74b0af4fb67a2661553f0e38c53dca963c87b4bbf, 0xb13626eefc77c405647c4ca60ff290413938270477d7ca015ff6be99a8cfbd, 0x64c9194ba6659ed81183ccd2caa98ec612afb1421de3b27ac7bb1435312fdca, 0x6de2f15658cf983c924db60dd8d7e2bde1bf09318d568ae392e3785761ddab8, 0x4281bdbb04e537bac2958fd19db263e19b9a9645518a2369e9828cefbef7f12, 0x16a756af3bbb5d619c832b72226477f7970ff134dc12c53921faaa06d11b91a, 0x7dcb3301c551f72c5f1694a055070da71ed434a0be66eb17b3176ada962553a, 0x52cf6e5de8d4415c3cc0c0581b1f65f2455497f03fae8ea1b275a17b1363c91, 0x696164f4d1bb1d4a55fd36d139ed59a523db3d740f9c44e8a5f40d38f43940f, 0x17b9f877e6e4980382c281909a2e4adf94297fd51150cfd79fa0a3fc0c69444, 0x7c3e7c4ad12d16a024907106b3eb2264edbf9d11a1641d7f61894022d3c89f, 0x283f526157371eed2e882a5d2ef95ddc95b60be2004391a401cec7763a4d681, 0x2074633b5321e0e9c2c031019b87dc514a5637d4684d43d3afcfb7042f4921a, 0xb1c72b895ce893f9061701fdc9b70c7c5e110288561ad27f9c86995a113ed, 0x2147f2e20009e402bf205288538925222f6c4f12d12efcef80a656bfb243134, 0x34a758a5b2ab00015abf079d26a98ad9b234995b24f1cb101fc335122bf08b7, 0x2fc4230094efac0a3f1c63866d7b36388be34f869c25c7376b60f56cb2325d3, 0x93e94a3bb64198fe321205daca0bcc743e313c3adcc57f70a371b780fb0ac6, 0xac7789eaa00bb43548161298c21a491e99032cefb8e29d23411ad21a5380d, 0x2ef26ed238ab321a909667403acc4d05c87a28ce6cd4d989930a50e8656e2e1, 0x70fc568712b7674072b5adf7a479773379d4f8b07313db311a7997a58825123, 0xf8996d9390bdf80cdfa65316f47ff78a97f8211333b5bc6da3308292b51621, 0x56b6bfab78dad9de7931cb6320951a91d8f4e7ff58ebe3264f155b98d1566e0, 0x35df51da22413856a4cc408c60113e32f3b23dd2e6c25fcc709b06a8e660b08, 0x234050ce3c5607581432c9f14cae2376877550e5e9a386c2dfba686e1989df, 0x19ac8c782dea3ebd2c74cd865df4bfdd06e30b4394a4b0a5c9633d40496be9, 0x68e2303413d5cdaf4793c52cb7d5b03e34ea85ffda0aeff47c243a8ade6f79a, 0x25569ac6d8385817220f6e7c385ac53016cb1d2ae31494ff19d9c2c897ffc8a, 0x5bff1f5d5c03200c1d9e4d62ffb05d672bf46cfca92546659325b76e99f10, 0x17cdd209b3533fba52d3c97b0bd886e3c320a9eef3bc15744446b86ac4b6ac6, 0x3256a2b6a93cda863c214222a7138d1efad86c476b9404c74abfe4550f5df34, 0x68faa9b1ee83be4de6df54bb9a1c0ba6fabb2e675f53cd139dbc15a611b599b, 0x7c11e73f89f1049be4d35504ff1775fe8d8ce46199614d001c3ac6fa70dfc18, 0x221056ea6866252eba5e1b5f6df38714b58a41a6bc388e0ccfea1787aff4e9d, 0x7c25c9acf19768318708ca63805a79ae31d44c6ef27092980869c0eebd4a856, 0x4a83030948a7d7523046c89bcabc16aca85bb77653c16a62378ce26bfae504b, 0x2e67c4e410aa9042cfc203c56a01822e4295f61e61e3647881f15fc090382de, 0x230adaf101d61508747318e7856e8cb8ea04210baf0b3af73918d2502f5de64, 0x381e1e6b049def06693e907d7204e1db0607d638a9f98d5d9d28f96e960b195, 0xb875f423629f5858ec5c011997b5d3c8658e2b88c4bb99ccea266fe9e159dc, 0x6c0eed9ab0081ee3b5d49c590468507d23b155c91238d461abb5f5f6092b7d2, 0x55581d8ef7d7ee088cb81cb2a8ba50f155c3fbee250b8952c5dacec4063a8a1, 0x5c4f58c15712b9c75ec0f680260d9e99a57ac517f96a40a79b200471839ef3e, 0x4f3222f6274e3e1eadde3c3dfe3d87bdd860eafe2effbe504c86f23dbbf781a, 0x588fb47d599a789d04b0694ae6165d59825707ac2598b16129913456ada3a08, 0xc07d16a8efa307c877345c141ce1e90de8221038d5b4fac0ac3f2529626733, 0xfb76452a6828ee71bdc8ace16f04d4b8bb6b629b652e46e581fd7271d30223, 0x1784825a2bd3625bf700dab4c707bbc0637dd5464fc6eb07886f56dd200c9f8, 0x345f3352fd5f215270df57814f3d6f243f784db5bbc53842b066b2a873f57fd, 0x7e9ba4ecbf6a6669de5cd265aa6c959497ebbe1283a6a609db40fdf0c9e5e69, 0x4aa4e33a88df9fa9c34b192d623e268e93083f96e6d3fb600879d54a9f8c705, 0x5797879aa9b691a03fc320a60194e0637deefa947a0b464a087bd20a0fb2bfa, 0x37095e9d7d25b4cc6755925d6ada2355f3fa175ccca5a25d2f0c62a1bd2ba3a, 0x104147f8631559f8c1daf89c234558be08ce70bdcfe55bcc824b49c115e12ca, 0x723d32505362cad14b58fd4c08560c27dafb2c98f7e97002014612e8bef3e4b, 0x3d2ba29cef62a4598e7625cc83976e81a96ff47221e844323cc427bcd09aeab, 0xae2194e1cfa80706fe3b6d64c9cbfdd2a9dd93514d0d5fa7bc95c02aeaef36, 0x43dd3665b37d9c2d9762346f9c0ff312c3a1bd81e7c7e721a2df4662caa246f, 0x3bace895d731a776e98fe9d2eea1f75e1c7445d53251a5784a67d04159192ea, 0x7c535ce431d88cdd0b4347767483d575c6a8c74e81099c84d80f5893db0bf3e, 0x26cbafa09b18ecd1d78e8d52650f673e94dab116126d18e1470966614c380c9, 0x18ad8bf65a9aced13bd2bd9eb508fa58c634c2828157200b4185cc22870649a, 0x7947d8546e3ecd049cecd63b903249d30dcded41a5acb981cca54abb27ff9d9, 0x121365288ab32dcf2dbecad5ec16f19f5fbb83015ac1a5967d8aafe68c2dde6, 0x2c6491122475548dd295a746437b35465de496536e5b218cbc8fe12f6412050, 0x18125f1b31abbebf1e9dcb030dbd3a6172e90436b53414e413a21f4fa8c8fe8, 0x56e95b7e47393a20bc0df0cb59e52788957826f9e61eb16f04adcab928444e2, 0x60c144b125625f16c13d682426ec56a9d56d85b9b06eb06d8db26eeba2afcb2, 0x6807c3886898444349b1d89d612290e8d40609d7ab9911a4c111ff7bbcd99e7, 0x40925327c0033db93d3a24115801d6ca2d3dda1ffaf1332c03470be78d22b8b, 0x1581ecdf13ddad7ac603c02020d808e7d99c52983922d503c293921e507eda0, 0x612f3b390f71b632b4f7f68e78ad23a7f6ad0028c8e810dbd4792f90c51ac, 0x2af3edeabfc46bbe08b0f96bbee5d187d84e0a937f120d0bf70f15c5ea84cd8, 0x43a3cd2a8dc52e6304c775ba15f08f254f1855807a4cbd08be313f4a840f7b9, 0x55c98c33f7ab5e8de8626200885a5603f78f106835e17201d2869175f39a021, 0x74b50450c1a89d6a2875aaf7d40dd3e9a5b3427194207016f8b7a64a41c9e2, 0x73ca049e1f6582b2c9e3a3a2a84a27abd1effb2a111a28fb5dc0311a0b5619c, 0xb2f9a5fd2e317d40583ff65730cde2cb95c1326774b938eb5b295d70634141, 0x2f2de498b8c8e220ef35c599f3d29be878fd6026bcf7994ed6c8747785ef27b, 0xe9424b2dc6d4098d32f393bc25222fa978301570663468b3a6594024bee7c1, 0x722ac3ab41dfdfe344cc0d341eaea126fd55db3575b3c1235a7aac2efd952bf, 0x500b4875d2f858f240d7d46460f10b9298822ff686362de735ca4f6600d08c9, 0x3f8340af0add618584a51da8c657b31b26cfba097bdcc5b5664feef72d03ce4)", + "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0xd81ff1fc4c3d14f5472deb41fbed652ba0b34a8412e3ea10cbbfc33578689b)", + "P->V[23648:23680]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x13e5bcef31d1854ad614245f4a129e7df28801faeb1eb2f6cf9e68d9406dc58)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x3984ea516aa5ba3b57cf04aadae20a50d70351b4c8000fa1aef22c781753e22)", + "P->V[23680:23712]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x7a97c798c2b22fac85778d774132b8783a368c14512a4d67a18d620e2c0ab1c)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x273717be2547f2ba6c2659bedd5470058745dec18ba61206c6ba8a7972b5b28)", + "P->V[23712:23744]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x666b0746f5c1687ecbb008017b380385c1ef44a64d7e99a97889293cefdaef9)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x611566a7853f10011c1fbdaf2e0ebd22b44820b95fe2f04c26ead074277edba)", + "P->V[23744:23776]: /cpu air/STARK/FRI/Commitment/Layer 4: Commitment: Hash(0x75d9c9326e40ea314a84c509d372a0aa7cd2f2366c14e24febf70bb6bc2e181)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 5: Evaluation point: Field Element(0x775ca956ee1c42bd3a10f0ef3c3e8fe029dadb2de8bfedd6d5d3b216d17c6b)", + "P->V[23776:27872]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x60510f549b789602c291429c28f64d06629914c1e036e3949c5052f5aba19a5, 0x1fc41fd71e12bd846f695643c091746b4fddc9c9adb8dd37fcf43448bb24f1c, 0x2f2c7361e50d21f1b76337ac11487ec7b7776a901662564ce2e965307deb0b4, 0x25f7d598f9e289a2f8344bdad2a751141e4750179fa31c3a99b356239a1b183, 0x26037d1fa659dd34c79cd5d338d24d10306bffcb2527ebf9193a53c7e0ec814, 0x3a126d3c9fbb4d6677314e3cba578263a26f5fdf2214b45a0f51ff6a8d2e95d, 0x5f078e38d08c996bcb2da998762f94ae0a167093e36a42ceab6586f92b31698, 0x38d3e54bdfa0867496c7d98b0c5a09428a7a5dba90d16fed60eaa28ede696a2, 0x3d1885c9a16e6cb4394414009c4cfc0d309c46d15453f0d9f3f3b5d91bf6548, 0x5db1ef441b75fefa9a93ae567c746365d9468a0c7ecf000af5359be41a53fb1, 0x4b534547bab44f2e31e6ceb92e61c8f5523305e3330a385c7566179c679d277, 0x4d3f954dc2ade0b98402874daf401dad1c50a82ea8220183db2a5ce065d1d99, 0x5550be7a9fddc42d988e7215553f281aa55f1ce405570b6ced7c09c3e7f68ee, 0x61705f8505a6178e6d6ee40ee6e746f0c36e1c8d6b4389881a8cdfb26b8d7c3, 0x6edd63b53dc5fafdb0a4f2a7c41cf94b6454d00e4abe1039515cebc0295d60, 0x7d69544972515ed629868cd5581919054b9a534ca44977622b674611c5d4044, 0x787fb935ff47783965ff5a91f994fe388ab85e5cb0461faec00c676b222c3f3, 0x42af12ab0aa8543d084b9b65d788c470dd4622e2e002cbfb6a4feb520a8557c, 0x2436aa57fff8cf933302b5701d43b1d766804a64c9e5573c01dacf8cf39e4, 0x3726c43fa31863bd8cdbe0e33622a0a2d570e8ccc44e345ad39bdf1dd1c41a1, 0x7ecc50abc43d58dea9a93e61f56da72ca3e1b3c1524d33df5ed1464cdc218b, 0x4e7c9365cac2f219f33b4f63988b3af86b3d98c49f52c5a1212bb9ab7872f8a, 0x58f5ebcb67fafc574517d479c110bd9b615bad9d51837f6396fb4582ed5107a, 0x6e32e1a5703ca9e57281eb5f918a8a308c791b4774cf2c70b1ec85851b8450f, 0x658dc607c632b570c530e8c9874fafd62da11e5c7051fa2abb92ec682a8258, 0x5e28ae11ae80cec782028a86af931b2bd33a1db376d9ff13ac94b542875ccb3, 0x4ca0674c1b906fdb77c867d2a5587a4fc3feb29a53e0638f70e8fb26e24e8aa, 0x4cc675c27feb437b73ba63505cb1badd7efde94da0601f92add6640b107f482, 0x1ecfb49731b8a46843877f0100f1675bfdbc07d6feb5321616455cb12e49528, 0x127f781eb95635f49a63e2d6f3c4a02b44b188f4d97d6a76f1c742c004045ef, 0x1db9d21f659ed87b75de550e97e751714d94624bb85e3e80dd4e56b9fa6d395, 0x7d9767a796447b731211861ff0490e86713a09239d579e7dd38d59f28e0e280, 0x442f7ba7de81683216f6186be3821e8ca58d4820eac48ddb484fa94463cd38c, 0x1e4e47568a72d00758c1a5c42d470b1be5891681d000eb675b314d689f11ce4, 0x759893668ff7e36b88b73b63652f9321c49e67849a836aaa80f2807c1533cb3, 0x7fac3b6fbd023ee516fed1ce1dd5ae7c5726d970471777c910d424c54dcf8e8, 0x744109a975c32b2befb5c57dc5472db96fdb9e5b12dd38274ef6bcced0c291d, 0x57e98c419db9f22b99375656cb3384d5cb3f1ae7bc73086ba7780d52a06570b, 0x603b62a9a72231dd4d103a7fa5e711c0ec05f81af38952cbda07000bb07c710, 0x77e3c5e8ee14eff2d9499a9e27a5daeacabfb4f92d646148080307db5b8c76d, 0x1b46ae50516bb1364539542eb96f26c7f4a27498e39c70e93342fe833e4f4fb, 0x127c836a5827e6cd755d1ccc3fd3fe63319df0442872a2f1311bcb3ea9c5760, 0x29e0a8da41b33ef8c1c802236bafb6170208a662b3cb7f009147aa0a67a6520, 0x33d61d16267d2978d7f41ba3f8b4230464bc3899bc04c89294654ef88e1ce26, 0x21eea2568547bdfaf4df99cc3dc857c7c1972034893d9eee5ffd2874393aaa3, 0x101d6f1bf48a6a0365c5e630655ba3be6fb69e8b6ae8dad70711e1e06e1ac91, 0x6184557a927379976fcf65317f8a600f245715d7679f84257c7456021ce0829, 0x1a3d966a013e13947093fbaea941d047ebf66cb2196044094bda1ca4eaf4d30, 0x3a2e1a6def693ae00c388ae6db7eac595964c45c1ec2a89c07f8dce03a35c72, 0x2faaa9c37b3899747c772b77d7399a5a33c3f24a32bcdada3bf4345addb7402, 0x57d17591f3103a0342a456545b5cb5bb4476c247a9accd3cfa3c19e0b85fe50, 0x5a6a516064b94d590d13af8acb0e40656c5faca828245f2905974f11841ef27, 0x364673b5ae7169248f39958a58cdd60f9b08eac88310fd13d8147f1c72fa2f, 0xa71fdd55fb7f54795fec9ff8f89d6dd50496333b70525a44dbc39fbf888c27, 0x52c4e0bb4da6d84e7d0fd9c85ae8ddbfd22d3c2b3d4e7d3668a07f7d7d90de4, 0x183418a7dc9286dae5e2b2f86807513adc2c1b0c350bfa03bea00194bbb40cf, 0x2fb767d0d0fb2dcb046480700bdf522645bd47172b6d26823323e6d311028c0, 0x2c105f687881115e778e6cbc671838f9be2e17a44b124ccc1b43eb37f3eca51, 0x3fc5f1d24763cad5edfc5a77506d0e076a21b786ca9d675a752365002b25915, 0x22f06690bcbf4f48bbcd280293a495806ab2d03fad0b72cd316c4e8752952f4, 0x51e58a0f5a1cbe346e4d6a6563cc348873b8ff4ac614970b84131a9425a502d, 0x12f616f56dc02b2125df809e34ff0fd1b4cc40fb4a42bac540e97de651488f, 0x6715267d539c88f3aac06ce5070e0d8aa59c4ba290adede9998e79f7fff42cb, 0x1619e61b4593163b3bb8adfa5187edc4c045e6e1e724add61f7b5dc605b1e0c, 0x60ff2676399c2f0685ed22101899eb2f24f03584e0cd008028993bfe73a30db, 0x6d8647da7d3b8194cd3a9520586ee41776d6a0033848c34d6b16155d1c653b4, 0x682b26ac38494e5682f94b1365d19b50cf57d6c9339fe5d314e7f2eb0c6ae57, 0x201bbaeb7a9584bcf1c8f0c9af5261514552a239acbfda9b15c91b1aa0e68b7, 0x130215d8a8dbc69d6e7fc0088396af9abc637b20f522a1b7eb0005f53b7a8de, 0x596f38dd663b9b00a8413ef3598f6cf44b35970d3f1d918e025089e95bc48c7, 0x251f25f07e8239fca62002eed9dfb4a6777897828d50ac5105ccef5256ce3d6, 0x18e792aa96f396a2311a192bfc701ae1a7b432048fd0f7bb9f95f7aae7d9e5c, 0x3e3a8acff7a9e54d922dbc2f9aa4edc25a11d2708365ae07366fc82906f38bd, 0x6294bdca0ce80dfd3dd10c8206687aeec136b9ae184f147306931ebfc22deb7, 0x66b5c18709187d3f0cf8e9f2956339e8a53e079d714b8b378195dcf9dce5e7f, 0x598b4c10e245c6c762a7b6c65ba0c662745496a80dd7d37cf4331b55ccaec20, 0x3203393520bd6d1db1b0e4424a388681315c569cad7302205c90748c969de48, 0x49283c9b77588b59bf66158525cc797ae6b8048f3e0363704e91b31882d4016, 0x438a7ecd123cd0eafff7b442af36326706593341f964130ca3702f9ef0a01b4, 0x7d31c323d1d0db7953998d696f3f9790e73381e66dff3042aa758e734808, 0x33ef43c2fc935bb8df1a3898b49ef9810698e4d1d6773e19aabfcc168e20491, 0x1dab7ca7920f09bf5d60b87df3fa2b5925bd0ffbc59bde7c8941d61abd13174, 0x4e63e4d997cf15f36ad57925ec30a1ea4593d71c61d34860bb2062a52884981, 0x2a52e0b3d90c91eacbe4c6bb4f70693e3d2cd856dce9784e3bac78fa6524b6a, 0x49ebebf76e6dff6f4c39e485f7422225ba0b775078426afe1d7711d83e4e68a, 0x732f4a48b6b34b7a38b480735dac47b612bee05748e6c4feabfd7e8ed6eeab3, 0x2e4a0de681ac4c217fffb6d63993f57942371e19cef84994b05db0bf8747ed1, 0x6b29130c92e92b5afd07666bb7e61091b542f8a674f7ad7ea4ffd4b2acab3ee, 0x72b8a4a6eae101de06d9b6f94b13f070fb22ec4f6ac735e0dcc2269f1613b6f, 0x3841098d305a0699c3eff9edb4f000cb3d120c30ea34677a496ea07fb398ebb, 0xe55733d0726fa222987c530b65d74fb42d615ddc5872b0c4082498172816bc, 0x2b8759a90028cb14f25c50014d754c3aea9fdd12e83d211c009855ef0666a0f, 0x5b24608879ae0e84cdaeae92f9f645a2082222772ff629c0f8f0b16a3687bf4, 0x4416ceca812425717853c9d708087af3569fcee63a80bf5e5a13dc0906f0915, 0x50b5397c5f8f06bad97ee260bc033ef6c2eac38963c5e850e9636e3d8401fee, 0x63d3a488ed9d65fa2250b331955f30feb532ebad2da3fb3c8905de304b266fc, 0x2f9137530336cf2631b29058fdfd8317d0975aaccc993e83f52cfc77227bb6, 0x4b8ee9cef35501c8a3ca7003b43790b9fd05bcaa100213e0180f48879285706, 0x74b01441c067a1196a980ae089c73cc6757a88d0fc78e0171e477ae13948fa5, 0x241029eaf8ef236bd5edf417dea14cb916ce9ced19d2663b8a26415bc97f20c, 0x4ac0afe197a85e4f13193aaa884e2de1a158581463ff18cfbf0581359698400, 0x18bbf283d0ac2165fafaf41b71df2597ec436dffee1d8515ca660e8f877b7b0, 0x33a443830c392bea8baf00c138c412aac84134f569faea1919af90a2d51e6b8, 0x22f17490c507dcf28416a78154b3c6b87a967b3249e4c241a9ff4894a0e8513, 0x1f77a2b724e2abe38a74766d8f76ce8244ab7e9b13473f8ad30da4a6d92138b, 0x2ddcbcf42961c80e986788778ba9d632fdd86a6e169938888f9f776468e74fe, 0x332d037dfd06f2f80197a4b792f5c38d4dd6acfb496d067a8bd3d474450b6c8, 0x4f9ec6ed944c28e76c512bcad74d42391c722fcc69fccb018adca6e13f49ba, 0x8ba72e83edcdbe5d2481c4602315f3142a7ee9e62fe30d5cd184cea00d0cc8, 0x7e7861a3b2dcd11367c2056c7650aebf52ba880a0725b78577a1435f55f4db9, 0x6ec0be175f9e32a915c5829b25080458d11a121b5779e2a2239ca94742bf9d1, 0xed5e364ee938a28676e192a5ad950906391f04108542ea65d6e5d3e8587375, 0x730b030df99bcdcd901fb2e673d426b6a8b3278365bc6e32e39eb666174f195, 0x5618915203d66044a7b97b355e38c1f8af7985d1c7fe8c17f8b4373741ebc6a, 0x23ccb547a6bf2345c492f45e9aed836fc1d94d7e6dfbc6716775d6581d65a64, 0x58f0b71fff92b2698df172cb94666af37d8162c8b76930cca50147f01ffc334, 0x3f505bf85afb4c5e9caf7709e20c17039368cb69464a936f1afb57899562c1, 0x6407f7a45ea5e566e8897b51752c9281c6600e1d2128cdd5276ce49fd9e72f5, 0x369afde5bd2567aa4c155dc1a752fcf9826ab58d6b39b078181afc2276f5061, 0x367d2bf76888707b690b73c44497421d10b851c1f6a63e7db0711608f765d3, 0x13d2a71162a8e26fa3614818bb55f5d35b631684109583633e378c38c0483ee, 0x29617a3b53fa973c0752d8487c0ef71f46a5d675ecf485462b9e5868c819fdb, 0x7fd55c7450143077153128159b9eb693cf89ec59e8773fa4abc985bb6f33dea, 0x296ac0405c219ae49538dc40d54b4390001b2689460f4407b7a95fe5db31847, 0x1f848cd21e34c0358cc056ded751ec6d6d5d07872fab271cd99ccccab865cab, 0x321c139a17338cce895c57ccbefe2e8412041ca4526626c29293fc40f95ff64, 0x5bb83c36961749961e967d1b8f854ac4c0c46c173d0fa4a7b946b94f1671657, 0x3768f455fefd8381723add0ad775d56df7f21c5d6aae2f1c498d94666eeb2d)", + "P->V[27872:27904]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x466bf8)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(5820558)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(9982391)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 2: Number(14225043)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 3: Number(15612378)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 4: Number(2056012)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 5: Number(9781008)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 6: Number(12149894)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 7: Number(6944473)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 8: Number(10798181)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 9: Number(9299169)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 10: Number(16245974)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 11: Number(16366919)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 12: Number(7429872)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 13: Number(10550245)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 14: Number(841500)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 15: Number(8108267)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 16: Number(982621)", + "P->V[27904:27936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 0: Field Element(0x2283ca74e546d4eddd9e163e8b8572d7a90fd8c8a342375a3a560390ee9ce04)", + "P->V[27936:27968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 1: Field Element(0x4c32760a0d142e79e436cccec1ef3772c152f79fba63e6f876e4246c79e1ba3)", + "P->V[27968:28000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 2: Field Element(0x7725e4fa74a71344edd434472ba6420c840cabb1159a03fe4ff3f43327c83e7)", + "P->V[28000:28032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 3: Field Element(0x7a2223b65c8c74a0fc935a08be06fba3cf435774baa5c8d5ef4117c875a70bc)", + "P->V[28032:28064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 4: Field Element(0x1bc97d5576d8a1bc93720ebccad08fbdcfa6f26c1a99fe96363c6e2088bf195)", + "P->V[28064:28096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 5: Field Element(0x3cdc8ed0d9240d031c2840d6ac0dd1b9f6b2513e52a0aaa69eec13e75bc707b)", + "P->V[28096:28128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 6: Field Element(0x2f29ccc85120c408e3e42a52f6e52bce3b666f310fff07920e0ee5db09b3551)", + "P->V[28128:28160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 7: Field Element(0x4cf4976793bf54b45747ad787c6088bcb128131bd7db6be9609ad6541f45cf)", + "P->V[28160:28192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 8: Field Element(0x12531747058af5b609c033df88a8445255d1a630ba3dfa97c3bb31c0776bd30)", + "P->V[28192:28224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 9: Field Element(0x68dee27c36114899f95fea7119444e5d47c0d3f1dacec8be64c1115db7b5b5d)", + "P->V[28224:28256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 10: Field Element(0x265ecb65fe0d7ccda384608bd380111ffcaff908291e2db9a712a0e325bd3e0)", + "P->V[28256:28288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 841500, Column 11: Field Element(0x2f4936884f50ec046ea845011b04344d62e2109f7cae2b4742059f3bf2ad370)", + "P->V[28288:28320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 0: Field Element(0x39d50207971160881ce4baa87b47ddeed2fd70fb7be01b085308bd76c7d0ad0)", + "P->V[28320:28352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 1: Field Element(0x1334afecc0277eb067094295fc0af5d08d97cf99e97f9520617b2fa9776e541)", + "P->V[28352:28384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 2: Field Element(0x76c0200d0092dbe3ae30fe89e91943bc388d67b7f8a6d41ff072bac83631bb0)", + "P->V[28384:28416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 3: Field Element(0x1e30381ff6483305f2525155ddb963f99b9e17f8533ab6083d8881366fb9bc7)", + "P->V[28416:28448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 4: Field Element(0xebbff8394fa95e06c60ca89b7541462768108d34559428340242682092c9b2)", + "P->V[28448:28480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 5: Field Element(0x46b3e7b495b4300182867572e18948e6bd75980fd39da8d37759de18cd98e18)", + "P->V[28480:28512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 6: Field Element(0x6f8bdd0d124630c3a9313203f82d8a09f8540e85edd17e1cf4332d408cbb4cc)", + "P->V[28512:28544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 7: Field Element(0x63fb1bc323b6372c89be751e0a8ceaba6d5097d61b000145b85cc5364f214be)", + "P->V[28544:28576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 8: Field Element(0x70e93d7244551651f6ebc6afc5602518e20b4114148a69f5d28bc56ad40aa5e)", + "P->V[28576:28608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 9: Field Element(0xbce14599d32b6d4c7128b1c254ba9e373b428fa2c427841a6e984e4351f4c3)", + "P->V[28608:28640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 10: Field Element(0x4160f8e3c253a8a98c1f77d6eefff81d877721ea823f24f1810ae77b7251e75)", + "P->V[28640:28672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 982621, Column 11: Field Element(0x40fb86566f78b9b5e7b8c5c996b4c3137beb948427375a102759a14bd1883fb)", + "P->V[28672:28704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 0: Field Element(0x7ba19457f22016153fa996901b5c51d9cd0177c7f7722ddf6de89b7567737dd)", + "P->V[28704:28736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 1: Field Element(0x4065ecfeb1c4290504a5caa1eb0110e55cce3a3bf19ae96380819a308bce9b4)", + "P->V[28736:28768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 2: Field Element(0x7e172d3b00d263c8c9d214f2f4bf57420c0c1d09a0f6755889382b5c3341312)", + "P->V[28768:28800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 3: Field Element(0x34d8dc62ce9bccd2f0fc03c0c1bd436fbecf074cecf18aa32c18f691c11a308)", + "P->V[28800:28832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 4: Field Element(0x4273179252b0364c023bbd89b6d7af58785372d71762d31023a0a5f29b7909b)", + "P->V[28832:28864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 5: Field Element(0x5a97bec69efa32f6b74cc6e5e32dba7e201d7f26645932fb30bc5a74f5c9d8e)", + "P->V[28864:28896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 6: Field Element(0x7d08f622227acce692da852b9b00f1df64ad19b880fe722aad6aec2eb59ebc)", + "P->V[28896:28928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 7: Field Element(0x639e3188062c97366cfc98d8e61811ef8f174c50286cec52763d68215179501)", + "P->V[28928:28960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 8: Field Element(0x4e32381c015d6d22a2950b76b3946d5c1b5c010e7d46d8c789d011081a7fd60)", + "P->V[28960:28992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 9: Field Element(0x44346d60e3b0379d0cc947617cc9e90baeda9f52d286dcfcca8a78f113e88de)", + "P->V[28992:29024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 10: Field Element(0x6f84aac821e5ced449708e6685cc3851c669a350922af2373e57af1b3697336)", + "P->V[29024:29056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2056012, Column 11: Field Element(0x7cb318271e08a775afa8d2fb619a853d2fabe4d97ba4430c590c1855bde3cbc)", + "P->V[29056:29088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 0: Field Element(0x2f8c52c3d34a8c1ebabab5c018ca34f51871bb082e4a8bc7d844f0b62a5ccca)", + "P->V[29088:29120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 1: Field Element(0x23e4bceec539d5208e2514104ba2c3a430d6fdf25f163486d4fe58d5d19b24a)", + "P->V[29120:29152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 2: Field Element(0x392abcd36e4bbc390838b95d2ae6f5db189e5db51bcdbf50f4c51acb551611d)", + "P->V[29152:29184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 3: Field Element(0x1b0dddc78493c964e2226217add54b9a2f6f316291d6903f620ab11bc5e2479)", + "P->V[29184:29216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 4: Field Element(0x133ac6a5420adcec0f94482883a90e84f172b829224ff06745fd795aea8bf30)", + "P->V[29216:29248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 5: Field Element(0x9fbc86765f56a6602421a1dff27d6a8f331d9b6306ab9b6a96db59fd599a4d)", + "P->V[29248:29280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 6: Field Element(0x26f89812700fff0d6746d24e96e56515886347260553f5762ae23f9a86b3b58)", + "P->V[29280:29312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 7: Field Element(0x7b3f18de6f1716221844760ecd7a05a1ee5fd53cf70b3c9d3498e50a5e555e7)", + "P->V[29312:29344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 8: Field Element(0x48f1b4658890bbe541060963e4de557a219cdedfc3e1ace4681f0bfee126d7a)", + "P->V[29344:29376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 9: Field Element(0x7d055d877f3d59f38b3aa6d55f76ef8d0ae1a246582b5c01a9ce70928d131f)", + "P->V[29376:29408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 10: Field Element(0x725a52f61a2d807b27fbddb1c1d7a37bd2c90b44c45d410356aa292be5ae519)", + "P->V[29408:29440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5820558, Column 11: Field Element(0x5e95dce787635d0a908871f3ee9144a16a95ddc27b9d452d496b61ceffebc87)", + "P->V[29440:29472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 0: Field Element(0x236c01a82d0008aa4bf9108d4b9384e85cd87354b0cace911ed3c82b1969613)", + "P->V[29472:29504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 1: Field Element(0x55f47a757884c74489a99b48ee1b4fd83630a1ef32113c75ea373bc5ba0e734)", + "P->V[29504:29536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 2: Field Element(0x5a4e7b3c79854aebcded0ac7625f1c1f3e3ed9db84b330cf2f63d12b72e2b66)", + "P->V[29536:29568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 3: Field Element(0x9a2c4f59f371ce93c6a72e6882b1408bec5c90b2cb82209486d7ccd5b9227)", + "P->V[29568:29600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 4: Field Element(0x61b5c395335b302f8a5a39907095b402b67472d522ad16be5fac18e1e0492)", + "P->V[29600:29632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 5: Field Element(0x109c7275c9d719213fa313c299f5e47fce5421f2b2713b5dee4394c700287f1)", + "P->V[29632:29664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 6: Field Element(0x7fe67ed6922d2b8afe502969ea07bd1a95eb0d833db9df21059f74734eb8cd0)", + "P->V[29664:29696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 7: Field Element(0x1bd62d8b158aaf7fdcbe6c00edab2e85d38379b1129faefe8dc0d18bac9979f)", + "P->V[29696:29728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 8: Field Element(0x31ba469aaae47983f88996210361c1f390c001e9c8823b759fa0893411f7fd)", + "P->V[29728:29760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 9: Field Element(0x2df90319d033b6d65422d1321ea037151784e38d9a118f3afa392fbe8298885)", + "P->V[29760:29792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 10: Field Element(0x39731cb7e78f51a3c632038f47b3a3ac9bda91a00cdf4b64899bc63a5411ef3)", + "P->V[29792:29824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6944473, Column 11: Field Element(0x2a10c3276c0ec52f4377a965d6c0e315b97323c48b06e5de38da885e0a8bf3f)", + "P->V[29824:29856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 0: Field Element(0x3780292ca645083b12d927acd72d9d773ed918e60eb38d4ed38dd37c0ecf39)", + "P->V[29856:29888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 1: Field Element(0x3fd25b3726a96fc2813552cb8079b5dc43170dfbd0e5e37c854847daa4d7b2d)", + "P->V[29888:29920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 2: Field Element(0x7850fd4c16f5cf9e0127896a4a1712df0e44b97c387896ada6c2ba9e8994234)", + "P->V[29920:29952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 3: Field Element(0x3c6c6de67798cfb7262583c766117c248606f484b6948fc6070bfa06cbc270a)", + "P->V[29952:29984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 4: Field Element(0x2107d2ec64f3eb78c01f852048d4f1f18637d6235e89253cee8cef31a8d6d49)", + "P->V[29984:30016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 5: Field Element(0x576d091a2dff108be02bc9e86a02d818af67c85cfe8618347e7dcaa58e0fda6)", + "P->V[30016:30048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 6: Field Element(0x691659ba2f04c1d23efafef74e1c2180c851448419598bd00701ec0fb36bf3a)", + "P->V[30048:30080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 7: Field Element(0x6c260801b5c668e4bb015693f429afbaa86da783e6b7946be207cabcd7ae485)", + "P->V[30080:30112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 8: Field Element(0x387afe68fef275081a5123aff8e6038d6f1eefaf6c4acc3b8f26ec9ef3f261b)", + "P->V[30112:30144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 9: Field Element(0xacd006a3d7accf4c5e4bc4ccde997d3b77e6398969853575bb4194e3b852c0)", + "P->V[30144:30176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 10: Field Element(0x66a6a9262b0bcbc3b6c5727313bafde8f142bc6576088caccf7d2fdc07da482)", + "P->V[30176:30208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7429872, Column 11: Field Element(0x3f980c267b4fe34dfb2328460ae1fd3f83d85db303e1bf01f71a9497a41e2e8)", + "P->V[30208:30240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 0: Field Element(0x541529ec320058b4b9af1b81348164637f1396cf36aa4b789a83aeca6e4fcc4)", + "P->V[30240:30272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 1: Field Element(0x4dab955eaa9f2fcbf2b5718b1b404f4eae69d25a80d7c08d9da8c7beb82832b)", + "P->V[30272:30304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 2: Field Element(0x5364f16f44cf0579eee36a46c4dec4fb949d8dea1944b507929eb8dcdff1d4e)", + "P->V[30304:30336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 3: Field Element(0x2150ff5c989dbdfb052996b50e4c8bf0a6adb3d925396c0381038d0084b0bbe)", + "P->V[30336:30368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 4: Field Element(0xcc505680cc549cd1433dd5d19438dc9d48e42a5eef39712127e8adad086a4e)", + "P->V[30368:30400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 5: Field Element(0x48ed98a979162211ac932975c1045ef17fa974236ff11a4767a7ddcdceb7bd6)", + "P->V[30400:30432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 6: Field Element(0x47a54491bb477298832b287f133b47016c7cdb536b11a403064f03ebddd1150)", + "P->V[30432:30464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 7: Field Element(0x3507e7a1b942a99cee6b81d47c323dd789dcaaf555f6a3f878af2b4ea0afb4a)", + "P->V[30464:30496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 8: Field Element(0x8e932f78677f0508eefa3e901002962a49a4bae61c608f1f1c0c6ade4fbab1)", + "P->V[30496:30528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 9: Field Element(0x6fac0d094d18bbeed9879a8ae52257d52706eddaf1b6a6d8e78018faa024adf)", + "P->V[30528:30560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 10: Field Element(0x79462e1325d921f54e2517d174cea1e018d7fe961f3e222f82389e35033cdd9)", + "P->V[30560:30592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8108267, Column 11: Field Element(0x6984e86dee76c559250c990b5c433ba93bdcd8221cb70e2308b90e7b850b49a)", + "P->V[30592:30624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 0: Field Element(0x19190914d522a2a702036e34c4670a01725ccfe3fe6b5bdee4f92702780fdf1)", + "P->V[30624:30656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 1: Field Element(0x359f5a521f37aa9f93b9c69c602c234760446d4fd7aaa892a6a4a8ad85b6f37)", + "P->V[30656:30688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 2: Field Element(0x4ba39e846c0be8827d5070abd394dc85fddd0da3f2c700d92998bed322f2024)", + "P->V[30688:30720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 3: Field Element(0x372e34248df295ef88f510442e2ed16757deaf4f93f578e8caa4fcf23d21b4d)", + "P->V[30720:30752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 4: Field Element(0x3d91c26571aa3574993d6fbb55d586be3a35900907a3e48d3c81f4175013937)", + "P->V[30752:30784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 5: Field Element(0x4dcc1363dcae718e993e18ecbc4d0d81ed0e78c49e7fca11e5c638e23f7f202)", + "P->V[30784:30816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 6: Field Element(0x27e505227538766e645c6c95c8f7918070cae32ec93981ed50a4922a56c5add)", + "P->V[30816:30848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 7: Field Element(0x3a5061e0e2fd6dacd0e9bdea6ef125be903f10ccb1b59648dfcf858c8e97e1d)", + "P->V[30848:30880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 8: Field Element(0x181b9ce2420f698d02017fa695937f03d0972b89d0382c97f3f4c94bf376cf1)", + "P->V[30880:30912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 9: Field Element(0x2e0e030f7f3537448f9ae977906d2f435a4c53490fa61b5dd16d30fc42b979f)", + "P->V[30912:30944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 10: Field Element(0x1e46c21f69fb122e8892d6621e000cd0d0f143926fc05b12ad859a89d5d7b16)", + "P->V[30944:30976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9299169, Column 11: Field Element(0x4b83f0e4963914cadb0c5ecccb9b453c5a14aa6900a4912d5517d3a114fa72e)", + "P->V[30976:31008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 0: Field Element(0x484faac61e8edf1c4385b932f8b78f48dcc55794a581471b8c019cd5bd0af1d)", + "P->V[31008:31040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 1: Field Element(0x190245e5948cb5b2ce686a6d71b05b5ca5b6366751f2072253e5a71742e3d65)", + "P->V[31040:31072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 2: Field Element(0x43ec24b5efe6a0020c5a5bb96dda164463cc88ccd0bd36740fe0bf22a0dd04f)", + "P->V[31072:31104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 3: Field Element(0xf8b6a9cd8115910f00053f243b0a5aa62547d9b8511b673acfc56adbf6e912)", + "P->V[31104:31136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 4: Field Element(0x7c98f5a90b35e9cd46ed79c4f84e27ab6f259669e727a5d9e397de7f95f5065)", + "P->V[31136:31168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 5: Field Element(0x7a3b84423e2e0b6058d82fdcd36b9cb32ef59f8b02ef11269cda00a5dae71d1)", + "P->V[31168:31200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 6: Field Element(0x261c1146f9087a86b4eb810580d6ae5727b592827e195a308a0b795582e46e2)", + "P->V[31200:31232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 7: Field Element(0x22609a37788874458996956d344ba2f4ac752a64c2aa11cdc8c58625c878ccf)", + "P->V[31232:31264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 8: Field Element(0x7ed05d816f8efac889e33b2de3d6b5f1ada0272c8ebe386e35a66a32fecf1c9)", + "P->V[31264:31296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 9: Field Element(0x54a04d69bb6f9673c2d87c5001f03d52ab773a4a6d634a27a4f069610cd736a)", + "P->V[31296:31328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 10: Field Element(0x66d831a45dc484b4c2ad422e2d04d7dcc52b65dc5426cae7aabb87bb39ff742)", + "P->V[31328:31360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9781008, Column 11: Field Element(0x47a4ba93e59a6205710798736f39ab916e6231605d87d400543bf0fea20329a)", + "P->V[31360:31392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 0: Field Element(0x41fd83a7b7d4b65aec83992c1363d81991724a522022f8d5cbd16ad2ce18459)", + "P->V[31392:31424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 1: Field Element(0x618f1d219a557507004df20f571d3aea46a00f3dc7b1591677713fda7178005)", + "P->V[31424:31456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 2: Field Element(0x21d68340d22b154dbe5b248f7987d3b2b6d0438e7774cdc65667452e3d84aad)", + "P->V[31456:31488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 3: Field Element(0x4a87f8810f3290f605d4bc9a623dca0410988ec800e1d5b973d4fe853721c88)", + "P->V[31488:31520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 4: Field Element(0x1c0f72da225dc22b13b7f2eb3add09e5a1b19ed60a24731243d65b63740337e)", + "P->V[31520:31552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 5: Field Element(0x17e5fd8b5a441ef0c27ea834bdd649289e95fc4792bfbab0e8df6a69051027f)", + "P->V[31552:31584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 6: Field Element(0x5b6b25e23f6d088a8a7044e2918ecf8d71077dc39b84abc8154a5a08d1002a6)", + "P->V[31584:31616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 7: Field Element(0x7b18200c994605989a871d9b49cc3d19b04989540107c804eba44534640775)", + "P->V[31616:31648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 8: Field Element(0x6fdcc69b3c61f64b6c6ef5196c33741c22a398bbf04cd8ae289d951c75a63ff)", + "P->V[31648:31680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 9: Field Element(0x525f16ec71a9d709e46654de6a9106bbe3d557d61a225616b883ac04de8dd3a)", + "P->V[31680:31712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 10: Field Element(0x574b4a78ef13a2c701ede764f1f1c1caa78e4513c2175db1d87896d68e200ca)", + "P->V[31712:31744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9982391, Column 11: Field Element(0x3584682b04b98c0ca5c0812c1599ecdbce607433ba33cc893fed717146fc036)", + "P->V[31744:31776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 0: Field Element(0x407d2e286b991d5bc137664db4142cb2cd0bab9ed60dd19d258bda580db7667)", + "P->V[31776:31808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 1: Field Element(0x2246f18d26259ab8a42b94893e9b76243e39da250242403c9438ca83e2c1c1)", + "P->V[31808:31840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 2: Field Element(0x317c2fcaa130222b2e09a49edbe5e75efb1ed4db0c83e46a0226c2e9a407f11)", + "P->V[31840:31872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 3: Field Element(0x52c082c3161fd4c0da644530b6ec5629157ab3b2e282a2d46fc3a8133391d34)", + "P->V[31872:31904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 4: Field Element(0x3239147e5757d11245d3d6427b9a29fe94b0afe71f300e19fb6c47ff9114c1e)", + "P->V[31904:31936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 5: Field Element(0x104adcf75f4cd2e4986439330d7f2c801f269cb98240aced45e3c0c7e6a6f87)", + "P->V[31936:31968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 6: Field Element(0x70ff89b70b583071a29109060eee63a4274f7230f3e948c744a448d0a050c4d)", + "P->V[31968:32000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 7: Field Element(0x4e08d147947d20ee0b7ebadc7f248fbd08f15d5059e074c4bead1d1c65d1f4b)", + "P->V[32000:32032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 8: Field Element(0x25c191f3fd86778ab1007cb1d4e9094a3f394a3563300522e68cab5f4c309e3)", + "P->V[32032:32064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 9: Field Element(0x690002c210f223720a6528a5e278e11c13f11588c8c23c05e929431f2268440)", + "P->V[32064:32096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 10: Field Element(0x56711b3ec36726b2f64e7e581a3af4907da0a8d804ce287b889de9adbb82b1e)", + "P->V[32096:32128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10550245, Column 11: Field Element(0x5c43a3ce1506dbd974049ff37bf3c3eb19144a29346f8cb2d85bf87affdad1b)", + "P->V[32128:32160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 0: Field Element(0x3bda829eed788d917550d391b0f100072e5ec8431f4e5ea9459dfcca3081a06)", + "P->V[32160:32192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 1: Field Element(0x29c197a61a79bec4b057c7ef81a4ca92749ed3c044015bec9a35f501b3bc5ff)", + "P->V[32192:32224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 2: Field Element(0x7d5654c8a18bdcdbe3fe9cd083e3eaad24fd396366cb01fe21c1196bacc7c57)", + "P->V[32224:32256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 3: Field Element(0x6ff6144fb276924ec25711dee205afad24c9b24a29e0257cf1ab41ef5af79e0)", + "P->V[32256:32288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 4: Field Element(0x322c78854c14ebe1547623c8c86e16ac6d1db8993544fc15d1a6dd16b6d695d)", + "P->V[32288:32320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 5: Field Element(0x3972e40858a90e6a908a880f8730ab34c4d8a510762d3e34f0e82c1f3381094)", + "P->V[32320:32352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 6: Field Element(0x7ad59c63f427bd6dc0ce562765e55f929918e5dcd38711bb0ce8f7bed8e49ba)", + "P->V[32352:32384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 7: Field Element(0x3dd224578c4b87fb41f8683df791b18b114d757e2d7c06af421b67e3bc12b10)", + "P->V[32384:32416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 8: Field Element(0x357a85626156f33145ac3c25aa82499b76900b8c39dedf2767b7a6cfa452b6d)", + "P->V[32416:32448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 9: Field Element(0x68ced12981bf9ae4885bb6d146746b2e50a702dce61888e7137953de30bf5b8)", + "P->V[32448:32480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 10: Field Element(0x56f0254d166becb61e671cd725c2f03893dacb55dd70986804918bf917726da)", + "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 10798181, Column 11: Field Element(0xcf8ee4723a13089c215c9be9d8889a2bb6c0e9d9686bce4fbedb05ac8579e7)", + "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 0: Field Element(0x48584a5bfb63491909a62835622dc7ceba98b1896c1141f646172d7353c17b7)", + "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 1: Field Element(0x2c737d3118ab5f2b0da4558afa1c0859822bcbb6fda4631ab5adc283a46b1a2)", + "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 2: Field Element(0x50d7e64b93edab676e5f182936ce67e4d55d27e353141cb2d45d0ec35790d39)", + "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 3: Field Element(0x3537f4da879bdb63ba9956d827dce5681b4f01411e9aa27e181d8ac05f99ffa)", + "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 4: Field Element(0x158f3debfe3675fe0ebbdf9126f7c767daec1dcb4fa0a8d547ed3ef402474af)", + "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 5: Field Element(0x58caab13bf00f69844a9a349c3a46b9b985ece34b893b6f67960bd91683e25a)", + "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 6: Field Element(0x4757453b971390d169b8bb2863f1b4dedc7f3d125cb45c0f58429c733f45f7f)", + "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 7: Field Element(0x1711191cd44b7db861ad3b19c39b3e9105016a1a8c653fed8c5318852487faf)", + "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 8: Field Element(0x5d1deb16f41da157967140233372059f2257f91220fe47692b998d68cb383bb)", + "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 9: Field Element(0x1b62a7f6f33d8a6aab46abf3b9dcddbf416ab80b3541fc6c7d2fa8518fa50c0)", + "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 10: Field Element(0x616e32eec381c6e8b854cfffb6425259bb2b072998e808ebf00f96a04ef631a)", + "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 12149894, Column 11: Field Element(0x35f643d89eb573ab6be39faefe6d843b9b648960baeee8a2b85bd78c2ed0eab)", + "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 0: Field Element(0x1e81216b536bd21f96271df5977324de2bd8a0636afb3bb4a7996515381e65a)", + "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 1: Field Element(0x98c94b18a5c6261fb4ad94fbc02b9a8923d57f2e6190950ef8a74d84d871b0)", + "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 2: Field Element(0x3a0f8daec91dc081979e3e8a8d7f1974d48ad690c0fea6b9f2327add3c79c6e)", + "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 3: Field Element(0x273b30048f73f6a2c4a1649b5a9fea418c12ea897a5b9b3e8683dc5d67b7ef3)", + "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 4: Field Element(0x457acf5f71a3285f79a5b49b141d955adc8d2a1e61a22ad0e40e04ee61bbf76)", + "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 5: Field Element(0xaa317bb6c7f13de24bc923d4311c1d0b4c2e983746412926c0e2d000fb1cb8)", + "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 6: Field Element(0x5ee58f787b41570470fc77d761ed996ee7bc73d648ad5d4f666c25595d9408d)", + "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 7: Field Element(0x7ee95d14311cdd54352c5aa89eba8800be32576854d639c196484e4739da502)", + "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 8: Field Element(0x75700b8073a40f126cc2da00c6f2af41f17d0e30808a3ab9983cc623caecfa8)", + "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 9: Field Element(0x742f91e79a2e4058b11c5d7ba177694593eaa6aad2784bbb4367ba7d95b4a1)", + "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 10: Field Element(0x678747fdfe030ff9a44a4bea3c402d1062d99a0c4646402b31a476500477171)", + "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 14225043, Column 11: Field Element(0x520edb9849074e5b8c2337e099e89084d224dcfd3aec120e77146d5d77c55f)", + "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 0: Field Element(0x50980616ce501deafc40a9f11667afc3adf8975b242a63f90b782b7ea009f5)", + "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 1: Field Element(0x25b29fb0c2a44e6baf7f14c550c31d095373c26a02980e83b04fb9d66f0f23a)", + "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 2: Field Element(0x2b66146fffd3734874acaaa5d0730a4e3989991b94cf029aa01a23a9cc013fd)", + "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 3: Field Element(0x7393e00d1953fdd6d22da9319d4f46175add924d9fe74f26809bddc0c840cf0)", + "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 4: Field Element(0x317a07ffe8a7a6cbb7e95ae53ecbb17ba18de64377a2f01035e1cd65a135500)", + "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 5: Field Element(0x601a6c3d813387b3595d454e265c5cd670e93eec4a2a775bc88d7e0687bff67)", + "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 6: Field Element(0x4bc304568dc59d2515302135773ae7de6a407bbb7d53a82a807e3fce7bafceb)", + "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 7: Field Element(0x6d8e95a42ef790ae1460cb0f79e41d0bee573a2d548df8b7650c4d17909be55)", + "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 8: Field Element(0x4cb9dbafa709f4a95395f67c2d31542c517b2cc74a3b5b525fae98b8da4ae2a)", + "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 9: Field Element(0x46b7a1c2e7248d6c03406c0d6a1edd3bc5625f9a7fd92eaca26dc6aac992b48)", + "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 10: Field Element(0x74b6449e7f0b57044fc43387575a91851ec495c7bb70d13b1872f0294f1797a)", + "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 15612378, Column 11: Field Element(0x7ea64475d44d50f2306acc0bab80756e1a37c02b281b71fbb2add94ba6d86bb)", + "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 0: Field Element(0x340caa567b5f46aaf4ae8d94273bb79dcfb453824e25d7d222ab8166ae3b4b9)", + "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 1: Field Element(0x51f7b4b8b45a522bfffc7e137c4d9843d6926530316fc820d11e5cab893c76f)", + "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 2: Field Element(0x1d0c86eb71feb3db7276a5e70261694d23c0f8533590a9c004fc83880318f55)", + "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 3: Field Element(0x406980dd43611306cf923a44076779da1ee6b1b706e0bd1a456eb43aa639dd9)", + "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 4: Field Element(0x7df81dee26d98bef69301a4665c7346092e39507628dc6ffccb4116672d0ec6)", + "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 5: Field Element(0x6249b7816e5c3ace0a6ab8828dd555476e430885ee8ae4cddf1d9bd1ac0573a)", + "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 6: Field Element(0x10335b0c704ea96416a22e967558a9330d9e4a026a8ecce2f82ad9cb0626fa)", + "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 7: Field Element(0x3e013a8df41f87e92da1663e95ee033f0ba0224f59c85db89de75acbdbd2417)", + "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 8: Field Element(0x1f6798ac29a0ed41be4f520c769ea11f8bf142868e58ce59d307212f4cf4c99)", + "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 9: Field Element(0x5381e72183eb9538c2f0e0737af545ccf82440f20becad94edcca4224f5e411)", + "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 10: Field Element(0x51af9ae6b6284f8f4da14df6655d225f21b168597aface4db7640462da8e472)", + "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16245974, Column 11: Field Element(0x32c70d84f8057fd26f1301d51c256a35a430155f0e61fe0fda50c39089d83e3)", + "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 0: Field Element(0x70ce6efb7c7295771af7047dbdd0d9a15609a41440dc30c678e58c151c36f69)", + "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 1: Field Element(0x5ee23045e2445a6f6144f8d326e7dfd834ce802ae29714d9300091cfd7681d4)", + "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 2: Field Element(0x103e979f546ef85f086e2c4ca7eeea7a06fe72e301ec720219d4807909875a0)", + "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 3: Field Element(0x1688a636daee2ec86de1c0d1ea0f033b58840e23c300d88c09635eb8d439144)", + "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 4: Field Element(0x5f9cc9e0f14d08028d107bde3084a4de57511f4307c2f979db9094fcdd3c7fd)", + "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 5: Field Element(0x425a58cd4d3ceb0a5509af91318773429d6fa4ed80aa0651bad00419db87bc0)", + "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 6: Field Element(0x258a34f7e44f1a18906fc1040f340c23859a9c36a9eb41b407e65faaaea98f1)", + "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 7: Field Element(0x68babb66925dda2f9006bf44781541b783e13a11de27b1e245c7c388b48cf7f)", + "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 8: Field Element(0x31fd73fb7da197d2c8caafb42c19202786de71f4cf9c90158f4363cb0359814)", + "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 9: Field Element(0x6f9f34712672a95118168006e50f806a5253d8989126e3cf6acbc9adea000b2)", + "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 10: Field Element(0x4cd92be22b186a2ed41815f6da389c57ab61df3a290140c5887a8871d220b2e)", + "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 16366919, Column 11: Field Element(0x388301bc6963e0684de2a457d53d4af381e40e5dccc81c77bbb956cf0c0cd05)", + "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17618717: Hash(0x00cb721d8979c285ebbd27531e302c65029c978159add31172c615fd18c114e8)", + "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17759836: Hash(0x00d435c56c7b4a451642460cf574120e4abc14846aba49221f62d9799e1f0d81)", + "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 18833229: Hash(0x00ed65c8fa53aaa35e190e0988051da315ef915288aefd8929591295419d4b9c)", + "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22597775: Hash(0x005da2723d04fc1dacfee411c998eee4bdeaab844ce15a9a1cfe3cc4c38ba275)", + "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23721688: Hash(0x001a7e18540f341021d553fc7f1d2edb7c7f77a278740ebc11275706632bff0a)", + "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24207089: Hash(0x0056768481725fe8ed2685e7ab6c00a7b4af286ce705f67ddd8d459c5ba819d0)", + "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24885482: Hash(0x00b79db9114dcad644a2884d4d52b3cb7d99046a8f0dddd5608df605618d38df)", + "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26076384: Hash(0x00b2228684b8e5bd3784a734191802a17b6bbe9fd0909466957b48ec4c298539)", + "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26558225: Hash(0x00e4dcb0a988f8b36b834f4d8a5f50b4919e224db2d7e60cc4e7d67b6ccb4c7a)", + "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26759606: Hash(0x00986211f00a34702ec14413d39a13ac2a1b48b22756b5abaa3d2547cc0ec5a8)", + "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27327460: Hash(0x00a738d88462e0bf69256f7467f7105c5fbb50708544c739772d75d53de19156)", + "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27575396: Hash(0x00f6929d433e32b9fba5530f3f3cdbc7b11a7d500915fa37d25e71fb6f7b4c66)", + "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28927111: Hash(0x00eb02596b83d984efac907048663383c53a0a0605d5936a39cb86b4d9faacda)", + "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31002258: Hash(0x00bd9845925a68150be61b2abf2938143ade9ff9d861ba4af297a7af8d4d95a3)", + "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32389595: Hash(0x003f726810dc51ae0710a29a7b1476fca06bd11e9315d08a3e049d69c601d198)", + "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33023191: Hash(0x00816f4a51d2b81e346c1082b9631bef3b6154966f4b99c217838a65039527cc)", + "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33144134: Hash(0x00caa137c4c30b63a0e01a15985e44e86930c2b9dae65720b48153134b0ce0f0)", + "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8809359: Hash(0x00a2569109d112ecc5ba58bd5e4cc78febcad7be8e08f051481509abd9252696)", + "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8879919: Hash(0x005c31b832d64fdb108819402d841125da028e4f0f857fb9971df717f43d59d9)", + "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9416615: Hash(0x0062e1a006f476926fd1a028f763025794146a1dee651a790e1f0b34f425c902)", + "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11298886: Hash(0x00bd57cf95dd0c3d26dfa083006d786d61d5fd1591af3ee8f7def80216d11ad0)", + "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11860845: Hash(0x006a169f1e7fe762293d90d6e26bcb154248e8bb0d7bb4e9425766df43dd8262)", + "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12103545: Hash(0x00ba674e93e3835de4a33435530282aa28c28f2e74735378106a396a0e887f0e)", + "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12442740: Hash(0x00929a5ee4f288e2931a4820342225bc62720fa7492fce66a06940baa394c865)", + "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13038193: Hash(0x00b81be33b595ec4b8b027e8f71639e6433d1c63e4ecdcba9559e729ad345905)", + "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13279113: Hash(0x00c7152207c3b24bb82e8f2b86467df570c151e9f63ef6283ca6a314e39921a4)", + "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13379802: Hash(0x00d35bd4fdd66be036f418276dc149900cd0c6f434da9d5f7be347322270aed7)", + "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13663731: Hash(0x0080d66a6059f17ed8d8f15535cdcbfd9e1120a09f1ffae60e1d9c8d54e8e39e)", + "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13787699: Hash(0x00b65db85f3b5140fc2543ff3235829ffa1f2e99acf38238f772d0ad625a31d6)", + "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14463554: Hash(0x002a9ac25cf4f5bbd483b0ad1d8158aaabfe51dc407e9eac943b7eb8fa4d8448)", + "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15501128: Hash(0x005a319a8e00a90f57c041e0d2a79572ab9102c182b2165f97dd0eda611cb19b)", + "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16194796: Hash(0x00386b03b881c6a9126c595d4fbb7b58ffeee9034aae29f647b5b9fe0112b70c)", + "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16511594: Hash(0x00874238ef5f3e97a5125fa105b85c9fd06bcf2f098d1fbcbab6f8506e097595)", + "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16572066: Hash(0x00c38a59a3dec0cb8a27b3eab63cd6d8723ce632be883a00f7ca09beb0071c90)", + "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4404678: Hash(0x002307771dc9c070aa483f11436b2c52f69427980d73d47ef43484fe93fe6adc)", + "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4439958: Hash(0x006b83bfc45232dcc201d35113187b840dc60f666dc746705f49c47615fbfc2a)", + "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4708306: Hash(0x0044f1fae99b7f02d146216b9e807514cb0a3b2bc99d49fe64de5283c2aa5fd9)", + "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5649442: Hash(0x00dd7f0728df729c303fe17bb529d5d6c78c674a7c9fcd8b56cc44fa4b805bdd)", + "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5930423: Hash(0x00411846cda9add6f4f0e3f93c6bb236d422be1849adfad2b3b31ee290b11273)", + "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6051773: Hash(0x000adcc529a6719207fe6b40d15065a197e2e6c4d5fbd32d4d31fa5b4abf804f)", + "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6221371: Hash(0x0058a1509df79688f1028ea685e5745e9126bfbcf3f6283f3afeaf96610c81c2)", + "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6519097: Hash(0x00b9268721ff92f09b701684c1894341a388e3ff48d358d81456c300278353a8)", + "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6639557: Hash(0x00a52fa23bcb0d965791b814ee3d796fd741d64d909fcc986c51354bf5237c4b)", + "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6689900: Hash(0x008fdc3cae04591af9f5b13efb9c1d29e55d19f25cb36b414bd4d48e08cfea2b)", + "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6831864: Hash(0x002eb59c05a96fcdbfabf9f0a60e5919b3b1f65c7f0c7a6cbdd42e44d813a278)", + "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6893848: Hash(0x009850cc42903f88890c47489bd1707f03c616f9b311170aafc31113f3207d6f)", + "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7231776: Hash(0x00d13b2ddd5a01a3e0e2df233e17cdfcbae9c5f643c02ebe5ae4a5e5ffda066b)", + "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7750565: Hash(0x001593a63f20e73920ace991d8af8c723c9d692bafd2b13ea27cb59c12d4cf3a)", + "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8097399: Hash(0x001f563792c5dbf451a00e165682c98749a917395287aa4967f602ca8788ed63)", + "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8255796: Hash(0x005ff4f6710cbbb2515d34c190aa0d42da99756d2b2b68bbea487cfcd4fe501f)", + "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8286032: Hash(0x0035c2e6c7182dc9adcb031022f835d45164b8fdf20905bb1c58d20d56dfdef9)", + "P->V[36064:36096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2202338: Hash(0x00e4f11376557bd9520d92e538df72f17cefb54b328bb93752051a0d500dfda1)", + "P->V[36096:36128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2219978: Hash(0x000e126638ecceced721e6644cb6f624a4182c652f0ce5d2c5da0c27ba1a0a87)", + "P->V[36128:36160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2354152: Hash(0x00715dbbbb4a479378442dda29ac319967f003b8e37da39bbadd615c4c5e2040)", + "P->V[36160:36192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2824720: Hash(0x00e1a240226c07d56b042b2b8712a66f769b6be0ceef6de03d1528ec2febf9eb)", + "P->V[36192:36224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2965210: Hash(0x0049944c3feba1ffd77779abd60024d357d41ef012b0f39785229e390aba6fa7)", + "P->V[36224:36256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3025887: Hash(0x0012acdb6e6f69a0d3fb82b9e453e5e6be9a0e0b64b04be4c1afbcbcae50fab5)", + "P->V[36256:36288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3110684: Hash(0x0029b271e3be42685551fd90bbb1429e3baa933b19d1efb8144aa22264cbee91)", + "P->V[36288:36320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3259549: Hash(0x00f8f6cc06a98171aa2caac1fdf6d791d99150604c794763ae976941ed123758)", + "P->V[36320:36352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3319779: Hash(0x0035b18886583de96733e9aa06ce5713bd8691b8136407f7710d920f99bf0dde)", + "P->V[36352:36384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3344951: Hash(0x0045e94846e11bf294384e31de879e189e420ec398e33a44ccf2eedeb556701e)", + "P->V[36384:36416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3415933: Hash(0x006f99f7558e81396c84e52ff9f39bf365d0a4596fd4afe7161a058baf6512ab)", + "P->V[36416:36448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3446925: Hash(0x0073824571da17234e7bfb3799c9b882de9f046ba59b2c6c6bd35e03917da8a6)", + "P->V[36448:36480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3615889: Hash(0x003fa1dccbaa3e91fd08d092240ad4806d0fa7990e4af32398e938728a16f671)", + "P->V[36480:36512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3875283: Hash(0x00298fcea9863b38c50ad865e5fdaa2bfabcca08da2af1255251a60d0cf25a6b)", + "P->V[36512:36544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4048698: Hash(0x002328cbedf1f0d814d11a867a53e613142dbb229733f70291dfbfe883da40f3)", + "P->V[36544:36576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4127899: Hash(0x009d18df702161342c2a5aa7521867343d9c371f83d50b5fa7dadb9d03816ed3)", + "P->V[36576:36608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4143017: Hash(0x003eae73ba4650122441c4d41270d17581e1e0acb94aaad821184ecea51f7a99)", + "P->V[36608:36640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1101168: Hash(0x00d6e1f7036e3cdb36ab78e743949a53839d60e43dd3550d6d62488d707adbce)", + "P->V[36640:36672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1109988: Hash(0x00a7c7ae94e5e116741cfdd4a284a30b797e9a5800e9228b848ee84b577dde56)", + "P->V[36672:36704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1177077: Hash(0x005933afba8cfaaad718465f74f9796822994fecf580355cecfdf87c6b19f1ec)", + "P->V[36704:36736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1412361: Hash(0x006cc5c5088aea3f6e21e82c6efacff7e6c64069633a94d6226ec03246ef0398)", + "P->V[36736:36768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1482604: Hash(0x00f0641a5765b3cbeb01acac8e7e29f2a61550985dd70dcc9b8af20b3aa94d8b)", + "P->V[36768:36800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1512942: Hash(0x006e67003b7ad623065651702cc9e8acf444834ddffee9de92410f765c3acf18)", + "P->V[36800:36832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1555343: Hash(0x00519ef03fa455a1d6571c1495403435bf8f058a1d69f84dfbb83d41da8fb3e2)", + "P->V[36832:36864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1629775: Hash(0x0073ad4a47d538bfa4795a1623998db7197762662e2dae50179b675ac3fd18c4)", + "P->V[36864:36896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1659888: Hash(0x00a9b783964e1053fd659e7bceff1ea25a6809623c965c41c9bcaaf012d461dd)", + "P->V[36896:36928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1672474: Hash(0x00e27531276ad7e55106247142f9cd37ad88a82a6eb14f2c3479f5c41975470f)", + "P->V[36928:36960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1707967: Hash(0x00db6558c9e9c5af0ced7cbf338295ab33b1d9d9f8002de73770fec68cdb6137)", + "P->V[36960:36992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1723463: Hash(0x00d273a2020ba26d385be459d4d2b66cb67748f999943b0f88f91a8231b3dc85)", + "P->V[36992:37024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1807945: Hash(0x00ecd5f1f183e91b44151e00afd95b925bbd324d09719b2ae324d61a23f0c065)", + "P->V[37024:37056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1937640: Hash(0x00c81efae921dcff5d3d09215fd47564478d4c9f2b89e96f9e4c704b8c071ebc)", + "P->V[37056:37088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2024348: Hash(0x0084a9e614f9dca7187bf4dee53453eb9f089a1b03e409f70aa1525be1269d5d)", + "P->V[37088:37120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2063948: Hash(0x00210b0636698b4882c37430363e8ae3a89083ef641ab2dadb8972178895a9b9)", + "P->V[37120:37152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2071509: Hash(0x00acbcde33a65656781cd5989e5f5e26ad8baec019b6630febf7e4b331a15ade)", + "P->V[37152:37184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 550585: Hash(0x00c7fbec20d3cf9241e5f5505b0b237af6cb2ae843a8643518a55abb1879cc00)", + "P->V[37184:37216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 554995: Hash(0x00a4258fb3d9895ecc260fd230bbcb33cdb0a8c5f979cc667c5491e2d3731d6c)", + "P->V[37216:37248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 588539: Hash(0x009514e9e46803b936f30dd41520683387d850d89e866401328ebb54452ff4db)", + "P->V[37248:37280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 706181: Hash(0x004b0f3370e87d8acbef3c168397810f485622d2e95bac3ad5325509432bd817)", + "P->V[37280:37312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 741303: Hash(0x000b71e04de4a7d12b951ddd32f14b019b4537e0660efc000c44f79d429bf407)", + "P->V[37312:37344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 756470: Hash(0x0089bc6a0d2999cd356c7862d0e500eda7b0ee876b45f10a97ee83e8f38dcffb)", + "P->V[37344:37376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 777670: Hash(0x00595e82858a848262d5d56169e9c7f644fe79a07280e8ff890d3f43d4835401)", + "P->V[37376:37408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 814886: Hash(0x00bad38e7fd7a2c1601387abdad8236863cb479fcd28b6d5988dea13f167bbc3)", + "P->V[37408:37440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 829945: Hash(0x0044f7b5492bef47d47b7831cd3f178e2b3dd9c7977654175c5777f1ecd8f577)", + "P->V[37440:37472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 836236: Hash(0x0010c5b0ecfceca4ba4b1a18a5ebbc1f1fad9a6af849d9d088334bfaae46e34f)", + "P->V[37472:37504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 853982: Hash(0x00f1b219b307146b5e69f867777088be428b8525a7a6fb49bed5e2907457b037)", + "P->V[37504:37536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 861730: Hash(0x0077363c28cbaeb589c052d7ceb5507d7abb63c1e8805697856ab1a5f65b5b6f)", + "P->V[37536:37568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 903973: Hash(0x00b7c1219f8e62d144bef8af60b1d7e24042cdd1494d8b35ad975e48898f861a)", + "P->V[37568:37600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 968821: Hash(0x002168ce3ce849459aadfd5ffd220b98be7c77cf91c566ebe99b08320710e539)", + "P->V[37600:37632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1012175: Hash(0x00256930dfc24888282478f0f510417f2c4bf594c0a1dd9ac4d1fb6a715781d4)", + "P->V[37632:37664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1031975: Hash(0x00a9ba70b10e5fdf804bff08cde079ec9bb3a87d3f1e2d7fcfc3d6aad6956590)", + "P->V[37664:37696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1035755: Hash(0x0021de48d0d8ed708373b826d750c7119a211616af1ea9f23d33b6ebb347d787)", + "P->V[37696:37728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 275293: Hash(0x0096017098eab30d70db1a4345dae0956b115bc4316d4ed89495b104327cc99d)", + "P->V[37728:37760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 277496: Hash(0x004a523ff576fe5d75aa2aeea4965a7f9ff1e12cdd315696a822a38412ba0293)", + "P->V[37760:37792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 294268: Hash(0x00a0ba9f1b4dad685ca9f13e619d3a57e6df6502db6529ea468fb96f706546d5)", + "P->V[37792:37824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 353091: Hash(0x00677ec797af28a2fb378b3a0f51af37f02961168e629a60769f5ee9e1003333)", + "P->V[37824:37856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 370650: Hash(0x0017c8b79d3ad328cdd6aaa5bd80378fa87113f87f397ea8c03ad970bc95ba46)", + "P->V[37856:37888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 378234: Hash(0x00b0beb14154b43816d1a3ac0013c5c0f25dfbc34a4e99ff2d178489fc7f14c6)", + "P->V[37888:37920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 388834: Hash(0x000fc770c23348b8d5e4f7e76af37083dad5de81dec712ceced785b6dcfb14e9)", + "P->V[37920:37952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 407442: Hash(0x002691f9e9786c7f33142f761350fe7214e6d75cfd0c60dc27a1cd10f96a8e79)", + "P->V[37952:37984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 414973: Hash(0x00d1a7f98cead41a637f9a20df1f009dd46f6173328118b8bb0c60abc4c4b989)", + "P->V[37984:38016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 418119: Hash(0x006b7ddb473b4593292ba33212d2e432fcda7806c78b49295370a95ada61cf9f)", + "P->V[38016:38048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 426990: Hash(0x00283d9363707544a815b51e82ae777d6f80a70c9062861d5c11d964b99620cc)", + "P->V[38048:38080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 430864: Hash(0x00b8e9e41db6df42e28547c87fac20bd296955c55729e0f5cdaa3560b6d5774f)", + "P->V[38080:38112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 451987: Hash(0x00231e72063ebaf05e9a13cf73b8a2a8d0908a39c5822a487ecae87024f9352b)", + "P->V[38112:38144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 484411: Hash(0x003b7afc12c9bf9558ca326d229d9591274d9eae74a04a0c539126f56dcd8384)", + "P->V[38144:38176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 506086: Hash(0x0036cbb22dd47819ae3e4dcde3556c60597ce0518b8a2c796669864482058fca)", + "P->V[38176:38208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 515986: Hash(0x0078d450ca302e53f9ef0106a5f9c30ece7ef109a78f8b9d1893aae145b94c51)", + "P->V[38208:38240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 517876: Hash(0x00d07e41b1fad3c71a3b1ef9c387e0899e856ae901054e76e779d2e8fe84194a)", + "P->V[38240:38272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 137647: Hash(0x00d5aadf1bf4135f9c6d8aa3032e7c78b7870f228bd2e9e8dafca4f15428bb26)", + "P->V[38272:38304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 138749: Hash(0x00cf4b4eff162c5fcca27f3fd6fd2d3412e13980d951a2bc5be01f6d2f0985ba)", + "P->V[38304:38336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 147135: Hash(0x00f7676505fd7a148f846bd35e7cf30b37a627a4366240bf014fccaf4faabfc9)", + "P->V[38336:38368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 176544: Hash(0x003ef8eb94c2c0a006505990a1e952f480cfa538db3d9e6f5c6e8c74d5a33011)", + "P->V[38368:38400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 185324: Hash(0x00772dc542d9725b49391e625f5b0af189b04ed93aa586d89e0e460e248f3aad)", + "P->V[38400:38432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 189116: Hash(0x00064dde6b818b02886faabd9c3cf28d113739af44c9f15d7757ee83d2dd8292)", + "P->V[38432:38464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 194416: Hash(0x0026f61ced9affffcf5db785741f00851d860367f71b0dfb2d79c05dad899770)", + "P->V[38464:38496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 203720: Hash(0x003277e1c3ad727d70b7015565171402d3553cabb3f5787865856ec8d5c50bc9)", + "P->V[38496:38528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 207487: Hash(0x009dc2b7346a336b452a46a061f069047f8339dcff9962ccb9c3a7b737551005)", + "P->V[38528:38560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 209058: Hash(0x002384953bdd775a7bbe4f519f43fb9f82775e8d0196d1d4e3447fcfb07d3f0b)", + "P->V[38560:38592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 213494: Hash(0x00ddaed5111b78baae684116256195465d1bfd12ee46ca5a2cf5a467cefbeccd)", + "P->V[38592:38624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 215433: Hash(0x005ab84db26bc1800c5ff88a295449d91633983651191e571f377f9bf03597bb)", + "P->V[38624:38656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 225992: Hash(0x00a15a9ceaebfd9da7c4c3ae04455c0851e5753df52ea4f6ed400d9ec71e6286)", + "P->V[38656:38688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 242204: Hash(0x00457c39a30364bee0325915a53e71055c88b8ea4ed27c6fff1f236375819d86)", + "P->V[38688:38720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 253042: Hash(0x004274d68cf67d90b8b485378c60c92b510bcd401bc00709f98ae46a2f17de01)", + "P->V[38720:38752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 257992: Hash(0x00562ceba681c2de2e4e4bd14e590dfcc2a8ab346e307332da88de815ac9f44a)", + "P->V[38752:38784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 258939: Hash(0x0031ae30b3f68f98ba57eeef983b2a9725f6c76dc2c8ecd67a7d5a9744d3a4b2)", + "P->V[38784:38816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 68822: Hash(0x00a3a4db50ea70d10d9cfc1bc19a81c219e5745f67f1e2d36d835bee6d4fb896)", + "P->V[38816:38848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 69375: Hash(0x00a71e893073a596ef8fdc5d7ace8b71e6ad5e327cd408cad32dc57a47d5d350)", + "P->V[38848:38880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 73566: Hash(0x0031504e07a84b3293ff7c6e5d5cbdc8b310a28452fa3487eaf208249c977f66)", + "P->V[38880:38912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 88273: Hash(0x00d95b86d277b19bd77151a24c2261cbc3e295b0b5f430402207080c033b767d)", + "P->V[38912:38944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 92663: Hash(0x00e511cbf2a47487e8d16f0d6599ad22f7e85c5b91d7eb56e670d3049f397c20)", + "P->V[38944:38976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 94559: Hash(0x00cfe4c221387b18c0a37789bc3fd6ba646ca1588ba1c268321f1450236c2f7e)", + "P->V[38976:39008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 97209: Hash(0x00e2569662949aa1f94c0d3424fe6bf36a48403ee928eadecdd9d7ca465fadef)", + "P->V[39008:39040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 101861: Hash(0x0092d5902c978021a7bd0b020090cc8f02b65668f5f22a69af6195f67ff00f5d)", + "P->V[39040:39072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 103742: Hash(0x00b303e40b91f52d35ca4fad80be88a97336dc5c15e26c2154b4e3c70d015cf4)", + "P->V[39072:39104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 104528: Hash(0x009c3faaf2ed14521a3f07098d49bfa5c8227350c882d7950d82692b96c425b3)", + "P->V[39104:39136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 106746: Hash(0x00e8c4a4eda96becfc199aafe43ae8c538122efd333114d83d1534135a6eb1ff)", + "P->V[39136:39168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 107717: Hash(0x00adf8d4b0037e8039a7691aefcb486264bc3063934c891389bfbe09230580a2)", + "P->V[39168:39200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 112997: Hash(0x00afdef5ef68d09a6224b91334dd6eaea502db680a8fe92169631be4ea8e9390)", + "P->V[39200:39232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 121103: Hash(0x00525d77494bae3cf113633bb4fdec76e87b2ab9762fa6d5335fdf88618d918a)", + "P->V[39232:39264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 126520: Hash(0x00e9b3a125edb54e81302a83cc91300575903bba64629076f302162ec0489dec)", + "P->V[39264:39296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 128997: Hash(0x00193c6536255617184386353a42518b567a6f254924b9eb0168e431cdcdaabe)", + "P->V[39296:39328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 129468: Hash(0x00b8bb307e26dfdebd8275e4ce47f0dd497c499e6304b781a522075d3504f2aa)", + "P->V[39328:39360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 34410: Hash(0x0053bd7a2388bc25ff20ccca4e2d9dbd1e9981c83166e438f1dc9328be8ec06d)", + "P->V[39360:39392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 34686: Hash(0x00885616c7e2a35b50ced3784cce117b90f78989d494f070b3c5d4dd9f7f5a02)", + "P->V[39392:39424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 36782: Hash(0x003fe9cf099282c05e8d96dd60d65eda3962f86b1929c25f01a0f229be73d3ae)", + "P->V[39424:39456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 44137: Hash(0x009d9f447fe5a95e17a9787707ebf79f1768cc72152c7a3b40fa0bb8a27e3c17)", + "P->V[39456:39488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 46330: Hash(0x00207c39fce331062c0b86c5d3d0d955fc52b0b4257c38334ba4226182a61454)", + "P->V[39488:39520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 47278: Hash(0x00e339c433f4243aea0f8f9ef782f135a0ef267470a1c335938ebb48a1803e8e)", + "P->V[39520:39552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 48605: Hash(0x002710430c3c2a03e1d83fe5f79968bc4bec68c9d5390e7173703004eb09c323)", + "P->V[39552:39584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 50931: Hash(0x00916ea67fad6b4262a01dd69e7908ebad9ff7115630fac2830202993335802a)", + "P->V[39584:39616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 51870: Hash(0x006d2a545b71064662068d0f066677c654d4ba9769873607f4fe8367062ce070)", + "P->V[39616:39648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 52265: Hash(0x006a166d24f1046cc0480fe9ee6a643ad359030783616fe239932582dd39e9c2)", + "P->V[39648:39680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53372: Hash(0x0088d871051ebad60a536dbf06df1ba7516aebc350e99e327f947d23e8b7c6d6)", + "P->V[39680:39712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53859: Hash(0x00e290b1ab4aeb454c052f1ac981245c4abe9417349d9f346439f88b39759add)", + "P->V[39712:39744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56499: Hash(0x003b3d5711f00ac1addf24f8ce91c1588f489f6f69ed6c838dfeb141f94cb082)", + "P->V[39744:39776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60550: Hash(0x005610a81c6b8af23725e31f7e8719c63893ea3e9d0b66890a20d8a2c0f69c7a)", + "P->V[39776:39808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 63261: Hash(0x0080689d6c5367fa6cb05f19ccfb1f12f15e0bc41d3c821ce94e0cb91e4e8b31)", + "P->V[39808:39840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 64499: Hash(0x007d7d640ff395694fd6eecebd6b18f79cda19c0b3257643e09794715ee9a9fb)", + "P->V[39840:39872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 64735: Hash(0x0087bdb94e0567c233e8337eb0e4d6a9ace29f96a9479efbc66d64789b62d964)", + "P->V[39872:39904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17204: Hash(0x00bc5545559b04a092488a178aa337a6aa39f69f6d693fde53aef59b964a6852)", + "P->V[39904:39936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17342: Hash(0x00a1b69c392dcd0cd3b5c63faed72ba8afccc52a4755f917bdfbf115f97990a3)", + "P->V[39936:39968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 18390: Hash(0x00243f84b497b390747c8074a68d52469064794a7f96d105dbfba5449d583cce)", + "P->V[39968:40000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22069: Hash(0x00e4207affb2cccf830f878e4479a0a368b9b74ff9f36dbd126b06b6060a36cb)", + "P->V[40000:40032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23164: Hash(0x00068a0161fcb24498ec586ae53721927723ce9857fdf3ea6b4d54cbea297611)", + "P->V[40032:40064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23638: Hash(0x00cc2c4ae2767b8d7a9df05c6ea6549d796ec4a1028957167c5e28a257d706ba)", + "P->V[40064:40096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24303: Hash(0x0022edbd7fa0ddf271485e65c4f897f1076351f883ec016190bb07fad621aea1)", + "P->V[40096:40128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25464: Hash(0x00bf9d70a58785b017dbf9662381808779ab3733dac7b7e26e570533b3cf9de3)", + "P->V[40128:40160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25934: Hash(0x00abe7220997b53950d5ff86cbc512c477a0404570a995f835b2fa6b7d636d67)", + "P->V[40160:40192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26133: Hash(0x00c6f3d54e3ca013ac734c2a63669c242074a11caaf1280ef54a52aaa5c8c49c)", + "P->V[40192:40224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26687: Hash(0x007c38ca5f8db28dde02e54a98b786f9feb39342dcaaecac515628fcc64085e1)", + "P->V[40224:40256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26928: Hash(0x00f72058cbf3fcb9ff09dcc6dcef7780e4feb66d327e07f26ad4a0820cbb5242)", + "P->V[40256:40288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28248: Hash(0x00a963964361f02e9e61f026eb4eaa41bb0132c248bce367a98355882edcbc90)", + "P->V[40288:40320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30274: Hash(0x0002ce145938a229ce6e48778981d5ae51d174c2d6163f3e3bdfdff372ac9bc4)", + "P->V[40320:40352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31631: Hash(0x0058fced1cc651f510617f7deea6481ecffad03acaa4b8bca08fc3abc36c96f3)", + "P->V[40352:40384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32248: Hash(0x00143e5ee50581414b1d2615f275d3cb19e8bb185aa21a63469ea4ffd7feb696)", + "P->V[40384:40416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32366: Hash(0x00fc15a1b44bd3251986173149a0aa1b3be37b7d5da95e450b9ea5fc893770cb)", + "P->V[40416:40448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8603: Hash(0x0045395f7d019ad5b8ce46467d28f8ce3cc1fc95fae436260e705e4aaa435c70)", + "P->V[40448:40480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8670: Hash(0x0026ca28dbe959ed124cf32144419a25ace5c6aeef7441c2c1f1b09e52a67822)", + "P->V[40480:40512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9194: Hash(0x008d3ca9d026251bc9dcc6171a4d7dc35c5bfeaaff0b7877304cb79b1277f066)", + "P->V[40512:40544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11035: Hash(0x0068aa540cc862a0704d2614e1496a0c2afa757fe3dfc891eca5117b2b32218c)", + "P->V[40544:40576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11583: Hash(0x00540c4a3372cdbd8c78f479fb09016c62800f44e37991814c5bafdd23ae0360)", + "P->V[40576:40608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11818: Hash(0x002246bee010494f7b551ba4c896c96723525f94ce6c95c944b5b934dca27c72)", + "P->V[40608:40640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12150: Hash(0x0058cebc97bbc858169cfdd2ddf5d999443efd444712f7f57b08b2c3dd3c36d0)", + "P->V[40640:40672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12733: Hash(0x00a76324af319317534a8bbb75a58b57d18e7df06cfd54692ec8cb58847e927e)", + "P->V[40672:40704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12966: Hash(0x003ebc8b458b09aa03e1a3d822412d9e65ae3a82134d3e6e6ff8f86b3e4f05db)", + "P->V[40704:40736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13067: Hash(0x0032ea5a74b859b840efe35e997a6a0c5a159a0cd4da0531536d665685d07af9)", + "P->V[40736:40768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13342: Hash(0x00867b9bcd7f397d4335da8cae744d43d1224d9c341e5ccf74d3ad0d2e5670da)", + "P->V[40768:40800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13465: Hash(0x0097088d74b114890225dfd9f2a1608bef0254da1698c293a1cc4068197ae607)", + "P->V[40800:40832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14125: Hash(0x004c6a53c4ef1e7798fd0057465199d4a294abb6fccc2f871e9695eb04bda11c)", + "P->V[40832:40864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15136: Hash(0x0001eecd585a6ba447a5d3754ff6455733eaef1a586089b819c215270e567166)", + "P->V[40864:40896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15814: Hash(0x002167982690c37ada49da9ecf5d8015855b843b5128e3bc33bd8e6dc16d4dae)", + "P->V[40896:40928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16125: Hash(0x008d4cb93b2e341b26a53c3650304b05f21ee0c7f56264670f97ce6fb103c549)", + "P->V[40928:40960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16182: Hash(0x001f161ccca8deea6515152c2ac3937edde1879427e765e024fbf8f81a00b9ac)", + "P->V[40960:40992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4300: Hash(0x00cf2a297df5307fbc0eeefd0e5776b40765cedb342cfb33664a3f5ee63293f0)", + "P->V[40992:41024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4334: Hash(0x00e78ce72d58f0df68f4c6456b40cf53da32520215066be360f777561aea75b0)", + "P->V[41024:41056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4596: Hash(0x00bb4c30d8960806cc956a85aa2e41936ce2a27c03051e960fb48639adc17965)", + "P->V[41056:41088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5516: Hash(0x002061ef026a058c4ec4e3b2725a3303206638d80c3f61accc907213ae1f004b)", + "P->V[41088:41120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5790: Hash(0x0008bc9229df3cb72701bd723fc83c7e9cb18bf9aa1c701b5abcd819c85926cc)", + "P->V[41120:41152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5908: Hash(0x00eeaae7fff2cbb8b511b36448a1fd0b1adcf011c019d9855e163207d472aa7b)", + "P->V[41152:41184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6074: Hash(0x00f86fff2812f141ad306ddb6fac9e61c623d250a9a2cbfc4f924b3db97412df)", + "P->V[41184:41216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6367: Hash(0x0040cebf2d886c2affec61e5eca0a5506a877c998a1ddb8a8046d472baa1850a)", + "P->V[41216:41248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6482: Hash(0x00478eb75957527c7ac14e9ba25a5336259388c4dce8f60cf6d85313a6afe9ad)", + "P->V[41248:41280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6532: Hash(0x00bc4f106ebe48e8f0bb803bfe8554549982200c2383c0672aa1df6e4cc860e0)", + "P->V[41280:41312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6670: Hash(0x00e11d0098dae0e66d004810063077f8eb55a42c3e6fd41b577908d1986e4891)", + "P->V[41312:41344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6733: Hash(0x0038f681043c94a29a81e1f9d250c9402a5a07f5babb33a27342779bdd21c9be)", + "P->V[41344:41376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7063: Hash(0x00178101a071f10b618716fe9c649964f63e7f02d232a0ce1445dc5ea32f6acf)", + "P->V[41376:41408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7569: Hash(0x0081d2a21ad9867214b1f83dc30946bf7f15c049ca2ef3b713c6e62b6ce39c9d)", + "P->V[41408:41440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7906: Hash(0x002fb52b3cbd41fa5f38c0bb491d1f47354790d36b8d18f5605d6aaceacdcc19)", + "P->V[41440:41472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8063: Hash(0x00db51c4c096be9789700ec7e41f6ddab40f1878c3ebb9dd7d259b420e73fb33)", + "P->V[41472:41504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8090: Hash(0x00f0aec8d26f5cc1c49bf2437ce852905e717173a3f67d6d7fea801a8dd4ae98)", + "P->V[41504:41536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2151: Hash(0x00a9022c6f40d0c8270aa7c877f67a75ecb0e54a1d737f8a64a619494f03705c)", + "P->V[41536:41568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2166: Hash(0x009de94a41484a0a7818acfdfc19b187ed18ba483fcf742fd4796906675ff1f9)", + "P->V[41568:41600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2299: Hash(0x000fb61fb6c9510826feb5e2287880c5beb06f7eac0dca8883ed86b2f87b38be)", + "P->V[41600:41632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2759: Hash(0x0057afd63cdcfb7146df7be719663c08091af61ffc45b2c7d7fd9a11bf287e0d)", + "P->V[41632:41664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2894: Hash(0x005db4c4ba3c431c855319fec43c3b48f40dcec18b32d3792713338ab931fc9f)", + "P->V[41664:41696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2955: Hash(0x0085e4ed8824cc2e5e3aac85d41142de94eae31a89155a0c54956e2753d51236)", + "P->V[41696:41728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3036: Hash(0x00811d0b728877f8cc708f2a796cfb55e7af9a4d1f3334b2278377794160c166)", + "P->V[41728:41760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3182: Hash(0x0007a881ffccaa4e84a99db335634255323d0d03c51ae3c5e5cf97e2926f4cc1)", + "P->V[41760:41792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3240: Hash(0x0058a0fffbbc803abbacfb86c441862c8ac16bd6861945bb0af5ba3555a737d6)", + "P->V[41792:41824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3267: Hash(0x00e6c4a7997d24b7ebad65b0a68bd8473bcb2f4fc9d34ea339273d51f6a8e650)", + "P->V[41824:41856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3334: Hash(0x008f55e878e291fda6d07eea7dff86926165bb3fa33cc57d463a081d0aed97de)", + "P->V[41856:41888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3367: Hash(0x00a90bedab41725e5ea49ada2577dfcf22255ac3a7b137b61e78f34d6e6059bd)", + "P->V[41888:41920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3530: Hash(0x00d41a3c903ae3c37aa722472e7dddf0efcb824b1a42aad1931313f46004278c)", + "P->V[41920:41952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3785: Hash(0x002e90da8f289131df45bb22e5ce0f4ca034bb06705cc3610f138d65fefffb31)", + "P->V[41952:41984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3952: Hash(0x009195f83edbd8d3a9072c1d404563ce7efa4dc1b7ab9188be4a633735f71b53)", + "P->V[41984:42016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4030: Hash(0x009f71218c607b8ac082dccd1d842ba6261254006d6686d8723bef97cd5fb327)", + "P->V[42016:42048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4044: Hash(0x00326a25c511d8890d6df7703848539627c98a86d24a445fdcc99990e34fa8fd)", + "P->V[42048:42080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1074: Hash(0x00bc16b594e15ebb7d80084d36783548017a2cc04cc495dc262579066bf754fe)", + "P->V[42080:42112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1082: Hash(0x0050c90d0a4a882135d9291d851c4932ada8e6e187d905373e6cb96c1d71a97d)", + "P->V[42112:42144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1148: Hash(0x00eea1f1e3677ba4916d77158da54e1da0fc8894626c899935b5fe10be9bbed5)", + "P->V[42144:42176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1378: Hash(0x00765e7c1b574e68b5776a299f1c35da65df02caea1ea650bc2e8131327795a5)", + "P->V[42176:42208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1446: Hash(0x00829234fe5e929a90a7e85132ec83cba67126f97e7588ed70b9516e4d2d9954)", + "P->V[42208:42240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1476: Hash(0x004556df17b39d0e1c1eeeb8285c7a39e6f8418b0186bacc55ccc47d5e9741dc)", + "P->V[42240:42272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1519: Hash(0x00c3b62e8cbd67e4352c46bba32d5c7dd2150881600c5a4424a9e4a0a09475c3)", + "P->V[42272:42304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1590: Hash(0x003715b0432d256b0b7b38fd13eae83efdbcd57c07c07f5f03a951b51f0de48d)", + "P->V[42304:42336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1621: Hash(0x003c91c9cf629215c5b811b081b5fd724a182d50edd6a35c670aa69bcfcff77b)", + "P->V[42336:42368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1632: Hash(0x003fe1db154f159639923da2105cee0dfc7f0461b573bf286d379fd112651f91)", + "P->V[42368:42400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1666: Hash(0x003d4d7ffcc772a2da198f0411849ed120b55eeb14ec30da3abefd6d4593e728)", + "P->V[42400:42432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1682: Hash(0x003d386d46a6a303e81bf1321a57367ae1e21b94f8e9efbf9c63543bb37b632a)", + "P->V[42432:42464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1764: Hash(0x0059cde8eaa184dc2e8d232f6d02b2febced693cc53f4936a4c8a32127979a94)", + "P->V[42464:42496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1893: Hash(0x003422dc17717c940bd559d4228bebfcfd844cbb1148b09bb0ee13acad49ea23)", + "P->V[42496:42528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1977: Hash(0x007befae2e65baa5c58aaa4314cf032138b6c87fc3a457ce667f94f1c054b99f)", + "P->V[42528:42560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2014: Hash(0x00d6f0a9e901b6a83b33d2af052336ef0be3a6835176c78f77e03dd4660f0894)", + "P->V[42560:42592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2023: Hash(0x00dd9e355b5ad33ab590859b467963898c095884041404b0d94e8dc7fb44344d)", + "P->V[42592:42624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 536: Hash(0x4c039d35a4d2674207e41469096c1e35bafc052f778a18192359a849b5e615)", + "P->V[42624:42656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 540: Hash(0x36ed6938cd1f2a0c6dd9950dfbc12e135f4ee41d195c0d55f77c3ef6f981cd)", + "P->V[42656:42688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 575: Hash(0xab6b8f6eede381b4b7ec144b0e1a45a377b280e0c61a6a3b4ed7c664f11e92)", + "P->V[42688:42720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 688: Hash(0x29d90aa5a43e36ed450577f7b046f24cb91f45ae9d30e5b7069d2e048f38a3)", + "P->V[42720:42752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 722: Hash(0x7d20d717413531514b9e8b9005f73370f126c33a3903b60cc62bfa492d8480)", + "P->V[42752:42784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 739: Hash(0x7ea63c780331afa80d4f8cdef2d27d422edec7cc48d9a037467ac8d0fee8f)", + "P->V[42784:42816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 758: Hash(0x3e060c26cfb51f0a68f85bc679dacef489f8b9b417fc9998d049dd83422243)", + "P->V[42816:42848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 794: Hash(0xcadc9f6634452811fb68293b286ff7bb4887a055321629f326bdc74f761ab5)", + "P->V[42848:42880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 811: Hash(0x573dbb1f264e75a5a3832e8c7afbaf8844c52d8de8e9345651c33e6747b381)", + "P->V[42880:42912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 817: Hash(0x67584b608270910786392206fe1b6372772490d0026c5066b7c5f8e18048f2)", + "P->V[42912:42944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 832: Hash(0xf554f96b8f321f8b3de0328fd909e658de36375d68ef7c4c2a8aececed6aef)", + "P->V[42944:42976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 840: Hash(0x25539b10d056dcb04cc91f0a25003fde162457e67b8a43ae3d59bcd38aa111)", + "P->V[42976:43008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 883: Hash(0x6f9fe1434edcf57ef3c21ed530395c0ebcef1b1c5ecaa3d38dfe91a5c0be45)", + "P->V[43008:43040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 947: Hash(0x24df21301bc139c5d8c5b467216f7b8775996e3546a9bfd9a10b7dcfe93e2a)", + "P->V[43040:43072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 989: Hash(0x342294ae8e8bccacfc74a5f398410bc9a4d3cb549fcc52220cd8f038f280db)", + "P->V[43072:43104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1006: Hash(0x2b9fa5c13f4b125a0f733ae09946baf13dcb3ef48e6fc1db6dd24233f873e2)", + "P->V[43104:43136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1010: Hash(0x3cad1878664e07e0c50810cc82b816941f7a8a152304b7e545c200223c27d9)", + "P->V[43136:43168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 269: Hash(0x4c85b0eadab89fb20e7b3e74189fb4016f100297b13dc7d1478c66ed4927bff)", + "P->V[43168:43200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 271: Hash(0x14901f7a308f20f53b8c6055ba24afa4cb689017fcfcce35dde5e6846ea18d5)", + "P->V[43200:43232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 286: Hash(0x289a2a294530a13d854ab84aaa202ec4b164fadfd50e67d78700ab79967b944)", + "P->V[43232:43264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 345: Hash(0x3c89dd19e21a17e3653e10d529882f9b81c4ae4681942411eaec9ff300032b5)", + "P->V[43264:43296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 360: Hash(0xf8534cb25fdceb9c7cd7ba28803ed33ff1c33929fa68a2c19079d9d503e3d0)", + "P->V[43296:43328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 368: Hash(0x506c93e6809ff90391119eddd17c2a4b4f5992a3e288b64b9503520eafe1ba9)", + "P->V[43328:43360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 378: Hash(0x1dad1dc20924315e20ab38f2d55983391309053b6e8f1dd722df4f327c2a18e)", + "P->V[43360:43392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 396: Hash(0x223dbeea703ffc8ceaea0858d372634beaf56ca5a266fa0372fc728e18f0777)", + "P->V[43392:43424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 404: Hash(0xf0fb10b030582580b745a90c6d8989a72a7f3ceb235c914cd01d23fbd40ffe)", + "P->V[43424:43456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 409: Hash(0x12ca61d156fc2235849c1754d0d547b3fb843bb7dedf3244f850e15e2befe1e)", + "P->V[43456:43488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 417: Hash(0x38fcf3c7c74e1fc09d99db188d6f05e708728b7d2ff68b6b0d62016da130ed2)", + "P->V[43488:43520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 421: Hash(0x354616c41636018076c5c3aed9d5f44a54ec2038e35648be5bd1c60203c42c9)", + "P->V[43520:43552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 440: Hash(0x5bdc2bb51660500a4f46a1265eae6f84b90a7ab761e48c1c5b4c32b1baf7382)", + "P->V[43552:43584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 472: Hash(0x429bf0971c6cdc39f30b2be0defc61a6db50e7b5d3dc4ec557e17a3099029a8)", + "P->V[43584:43616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 495: Hash(0x326e0b3ed222daba567276fe78c27beba7b5702c264fa27273ad7a02edceab1)", + "P->V[43616:43648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 502: Hash(0x4474a4d7fced2957db05b37b4ffdeb843fcb941b3d547a777469930a55c0bb8)", + "P->V[43648:43680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 504: Hash(0x6055918bea875335c464b1b019080a3fb98ea1f6f8d36f8d85879c0577d30d8)", + "P->V[43680:43712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 142: Hash(0x58d754a1e6a10c7e0e011d216a93d449a81615ad610148777bde5ec0a546b16)", + "P->V[43712:43744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 173: Hash(0x6c7a755b67c4fc40a9bd816f50dcf067909b38869f9239bcf7a3c3b63a90dbc)", + "P->V[43744:43776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 181: Hash(0x1f7358136c2368f6b7add15ead525c8560660c7e8b0cb8a344ad2de29948283)", + "P->V[43776:43808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 185: Hash(0x5a35766bdb96ec979dc90504a5db03ab73a0e2deab338f0e7e5bcf312b48e9f)", + "P->V[43808:43840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 188: Hash(0x337ed541e331be4fca195b3f89cfb6c9ae29dffc860a578f35ec8291f2dcf1f)", + "P->V[43840:43872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 199: Hash(0x41bd70cc9ddde4fd5350752cdefad3477bbc2b8393410de245aa5033119297f)", + "P->V[43872:43904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 203: Hash(0x5bebee82fb50675d27d7af9a46fdfd067113263a99b58f39f1eb669eef612a1)", + "P->V[43904:43936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 205: Hash(0xb7443cb3f691078f285fde7bbefa67a6227ec15dc02ff4f5c34ea01a6a6ccd)", + "P->V[43936:43968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 209: Hash(0x355ef2d46ba75316123ea3d8cb085eab0e3a755a38b7978a92d6032de680479)", + "P->V[43968:44000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 211: Hash(0x2c5d815ca42a0d1b0b05d02815f258adfad187ad947a79412c29345a8c6ae07)", + "P->V[44000:44032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 221: Hash(0x37d6b037c16d14d8b78645ba41bcf36e7b262e8601384040d7a881f606fbf78)", + "P->V[44032:44064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 237: Hash(0x197c070eafdd779250eff65321c8db6f015500803eca55c65674990c81fb908)", + "P->V[44064:44096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 246: Hash(0x4b35d0e6c30e0f8922bebc92617c6427ce7dfee7e874a6a0b3bf1b06a89da11)", + "P->V[44096:44128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 250: Hash(0x425e8e9ff05b4e44d77dbb3e84f4d235844542309e6e6bba6f7b90ea0927b48)", + "P->V[44128:44160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 253: Hash(0x7e813d63f0b57706d32fcc9cc8c132cefedbb523844ebad92768dd1a33570fd)", + "P->V[44160:44192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 66: Hash(0x1b0aa81743eccc1a07339bfdb39c42785a9bdc1a93b4ea88b82457226231e89)", + "P->V[44192:44224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 70: Hash(0x23e26fd222e2eebbad3584f08303c7013744b0ae59fb00a7eccc6433b810d9e)", + "P->V[44224:44256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 87: Hash(0x1a812f5f3ebe42cf69f12961d468812cf9fb8134b81e6474eb748a56e2775ea)", + "P->V[44256:44288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 91: Hash(0x6585801b5a15a14e4e25a145d6a8413076d5c2f3d12c015b56f56d5c0d5d877)", + "P->V[44288:44320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 93: Hash(0x583d5143cd78a1e1b0deb593b948c831642afe77b22254b42e93f539ff72fbb)", + "P->V[44320:44352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 95: Hash(0x1c6c3b211e01ac62a675f5a38c3ea5639b1a9a78d390cc793dc9bc3cccc3b12)", + "P->V[44352:44384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 98: Hash(0x2b42fd9941c0dad4f0b6d05de11df19f9b250bfe29e719de269d7785bb1ed0f)", + "P->V[44384:44416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 100: Hash(0x12c4ce9ba5030efe3ec5bdd03a662ae6a3e7557143806438f2d988f36c712c8)", + "P->V[44416:44448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 103: Hash(0x7f8f35ec8c268aa0995a04de16c8d0e85a9032d728ef74d7bd5eaa4b22281f4)", + "P->V[44448:44480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 111: Hash(0x3e66025545ecbae071a48737844e4df7d8f9ab8fdd26f211819a351928a87b)", + "P->V[44480:44512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 119: Hash(0x2aff8057c38013e23df0b1d20b61715e68607dde0acc42ba851aa9c89a664c0)", + "P->V[44512:44544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 122: Hash(0x772c1132b127445a6514c84622721f3bd4f98b3c852e2b23cd8cd02e279eb01)", + "P->V[44544:44576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 124: Hash(0x2bb05ea0b6409471ad1d2b184ae5668d90f7f031b64d1450a8bb4a45ff68293)", + "P->V[44576:44608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 127: Hash(0x3cdb29a0076b061f439e656400b6ab23afa41997c664a7c1414abea55a8e401)", + "P->V[44608:44640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32: Hash(0x3872e74c6bbb3b77ddd81d6680530951b7134a0afbbe8e11de5d92e2cf54035)", + "P->V[44640:44672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 34: Hash(0x78ccf263206be9b36314369a0f5954c6c6f5a419777b9ed6b6de2a3745f6d2e)", + "P->V[44672:44704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 42: Hash(0x3e69e2762f8a114af0859cd7f70bab70a89e13e9f3aee040c5bbb68136de95b)", + "P->V[44704:44736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 44: Hash(0x271d5ac48c4e9c816232655ab558a3b789fd07286348b766a68c6ef7422a8a0)", + "P->V[44736:44768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 48: Hash(0x36fd278f706e43b874a746b9ac4792b90247e48608446b2fa25a976c065a523)", + "P->V[44768:44800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53: Hash(0x3e18406ff5a4cbf2fac40a56380979cedd6951aa02886378c081ffa79e543ec)", + "P->V[44800:44832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 54: Hash(0x7802f68b589a21c6a32b6300f0464f98fd1547222be48b27fde4e209e711bd9)", + "P->V[44832:44864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 58: Hash(0x75c7ad07361f14bc4462f0a65b9e5109948859b63bb4790e5bd60b405c79c84)", + "P->V[44864:44896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60: Hash(0x430f20c15ec2b7dc76b2be51f995d4ad7f74197cd875eecee9e2959445595b9)", + "P->V[44896:44928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 20: Hash(0x8803a2c5c5edbcaefed068cf50649d9bf31161e954138817990c375409eef0)", + "P->V[44928:44960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28: Hash(0xfa8fb2251e663a8464e4cae9ec7cb1e7546cca70540d88c079cfd566d259fb)", + "P->V[44960:44992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9: Hash(0x890b390199966d30e0837c74d27f31a5c4ef7d31268905d5a6fc827820e44b)", + "P->V[44992:45024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 841500, Column 0: Field Element(0x6cbf7d4a70e3dd635d57450a2bca3f561805c5fe0b56e1419def0e1c408c464)", + "P->V[45024:45056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 841500, Column 1: Field Element(0x74137549803d828f5168cd028e47fd67902a1c37fa4aa4fed8bf2f45872c228)", + "P->V[45056:45088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 841500, Column 2: Field Element(0x9654178acbd74ccae9a38c49d00fe9391dee9e17b930d597e616df75d4eb1a)", + "P->V[45088:45120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 982621, Column 0: Field Element(0x10528fae883cf9dcf4bfc67cd474593fe6ad9de7ebff536e1d545034787c463)", + "P->V[45120:45152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 982621, Column 1: Field Element(0x49e4793cc5f0f38eb8372f4f85b5d888a4fdb6d2a28b2ab6cbb378005dfb2aa)", + "P->V[45152:45184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 982621, Column 2: Field Element(0x29819058d2e7a8ac05c30367d89a8f59733bf194e6c47c6a81be9da3ecffdec)", + "P->V[45184:45216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2056012, Column 0: Field Element(0x5956589714449fbc4ef435302566838b27c4509d4f7512b63216045e42ce7fc)", + "P->V[45216:45248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2056012, Column 1: Field Element(0x2450df361e685b7ad167d9d97d084d405ca776268794f23ab0d2154f40802d9)", + "P->V[45248:45280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2056012, Column 2: Field Element(0x49e380a4f5d70cc15c946b0425236011ad08ba334a020c6eb089c27016e6aeb)", + "P->V[45280:45312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5820558, Column 0: Field Element(0x7a67c7c854f9b7eec2df01ba508ecf4effbf4d73353aec86fc29915a6cf3e59)", + "P->V[45312:45344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5820558, Column 1: Field Element(0x7e35bb47f576bd97a5adc612d72e3ec4766448c645d8aeef55ceef5ed4a807)", + "P->V[45344:45376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5820558, Column 2: Field Element(0x6bd07d6b25e0581ea7146770233a84c161a9f018353a7cc0c9ac336bb348ef6)", + "P->V[45376:45408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6944473, Column 0: Field Element(0x5c44a4e2cd6f73f7cbc978668019a9cb7ae983b39c22ed4d8752223562f739)", + "P->V[45408:45440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6944473, Column 1: Field Element(0x74364be9d5f8eb831d547191e1b87686a49e96a644202c98b7c6ac1c8f90cc9)", + "P->V[45440:45472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6944473, Column 2: Field Element(0x7bf4119d7f3cdc51ad67dc346d0846acc894ef236a4820a3a62c5d46989a2d5)", + "P->V[45472:45504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7429872, Column 0: Field Element(0xff3af07ebc6afe49d1d9430004dfbc65c2670812e91175114a70f475e8ebb7)", + "P->V[45504:45536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7429872, Column 1: Field Element(0x5a2d10faf772256e2a6e69abe2965709996f832bf2c994874b7f33835cee7d8)", + "P->V[45536:45568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7429872, Column 2: Field Element(0x40cc0997b36faa64066a2eada0f134532e5fd2f18a720187bd99eae924171e9)", + "P->V[45568:45600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 8108267, Column 0: Field Element(0x5876d67d04d1b10acda60560612d87d7ae45ebc64cf7daadbd4e784afa661e1)", + "P->V[45600:45632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 8108267, Column 1: Field Element(0x325ef98e46586cbbc746b592920b6986e03d90ea8adcec319ad38a9f2924a9f)", + "P->V[45632:45664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 8108267, Column 2: Field Element(0x5b5d1a057b0ee1d57dbb6f30f4453c53be2f9ee5a1ef3dea3a9ce962dbc217d)", + "P->V[45664:45696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9299169, Column 0: Field Element(0xe5f4f9250231078ab29312f5b36fe9bb960e067040c14ba2e8b6902db399f)", + "P->V[45696:45728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9299169, Column 1: Field Element(0x42cdbf237aa298848147f83cb55bbd2cd0d3920c8b1c2ab64a400fc3292d139)", + "P->V[45728:45760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9299169, Column 2: Field Element(0x1c86c8340383d9be4e0f0d7e8bd54ee821166eee1a0c62cdaf6cafbd3746785)", + "P->V[45760:45792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9781008, Column 0: Field Element(0x701badee9b82860b832c8ff1450656426a80b954631aa70e8dda0556c13fc2e)", + "P->V[45792:45824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9781008, Column 1: Field Element(0x39656384ca0ec397949bf7771fc33990a042ab3f83e0fafe6a3aa61cd6a373e)", + "P->V[45824:45856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9781008, Column 2: Field Element(0x16cec5587c6eaf85c67514457d175d3d87e1db4f7968b978e56fdf8225eebd5)", + "P->V[45856:45888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9982391, Column 0: Field Element(0x65f9a151b1a03313595587202f056595d7620ee71a664f7bcaf38bffe442f65)", + "P->V[45888:45920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9982391, Column 1: Field Element(0x1867169f055b42551c0aed0925e04b7fc02b0bbea39620a36114030165ed276)", + "P->V[45920:45952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9982391, Column 2: Field Element(0x1ae0630ee5a9199b51dfbe63548b484b47434d1d8c5b735663addf481cc542f)", + "P->V[45952:45984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10550245, Column 0: Field Element(0x7700ce1f0d92dd667a3f13a4d0a042f3df2ac5aeda5d48fd891080bd2b75d4c)", + "P->V[45984:46016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10550245, Column 1: Field Element(0x6526cc0a3a293cc26664a427b76a42bc6fa89053c9586c29972f991445cc8ed)", + "P->V[46016:46048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10550245, Column 2: Field Element(0x695d5e5af55ffd33466f9b34fba64b1872f5a221aff012f01bbabe9a8a8f8f0)", + "P->V[46048:46080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10798181, Column 0: Field Element(0x488aac9bab1095f62a3920939aa0b8b390dea0db8791d1dfb36e557b12a317a)", + "P->V[46080:46112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10798181, Column 1: Field Element(0x1ce9a4f33a58de187b686e2d839860621876360bb2845d5398a39f3299d307f)", + "P->V[46112:46144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 10798181, Column 2: Field Element(0x75576291cd10e6df6dea9b86c04146aefbfe32229ec468b97ebde93148b8bae)", + "P->V[46144:46176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 12149894, Column 0: Field Element(0x57475c924d9ec5f1ea7c12d74b6d3ffdf3b6311cb8d73c983e4b31d4a40011e)", + "P->V[46176:46208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 12149894, Column 1: Field Element(0x344e647926d0b997ccc472ea0131dc6434d285c01b29b667f5f4eda4705f47)", + "P->V[46208:46240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 12149894, Column 2: Field Element(0x2ca8cca0b63d4bd76b166cb7100896372263ae585a0c60ff16ebd27c1fa44e5)", + "P->V[46240:46272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 14225043, Column 0: Field Element(0x778e9360c018262c16147992c8ae497396e9c0bb387c272754ab6f164bfc019)", + "P->V[46272:46304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 14225043, Column 1: Field Element(0x6b8da7fe3ed2e09a59077bbeaa7b4311e8ad2593fd0bac6f79c943114f4ea6d)", + "P->V[46304:46336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 14225043, Column 2: Field Element(0x3fb2a577df3dadce6551e55363c8756c6b465e021506032e6d1f07cb1f9733f)", + "P->V[46336:46368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 15612378, Column 0: Field Element(0x8771fd86fa27b96ef324a4226049e50768d82c27380e9b8b1b788eb9b5327c)", + "P->V[46368:46400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 15612378, Column 1: Field Element(0x78b8b2e689b6a85a53bf7cad098c24a33b7f3c6081306c22b1afb2760af183e)", + "P->V[46400:46432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 15612378, Column 2: Field Element(0x204696f9a3f5478df560fb1b8bce0a8bd9eda7802b7b3b13d76f6f6bba3c50a)", + "P->V[46432:46464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 16245974, Column 0: Field Element(0x1877651799636e8c2c94e12c357bf5829306da4128020266c2d2b904a3e66cd)", + "P->V[46464:46496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 16245974, Column 1: Field Element(0x32a562e1a420935cf856b13e50f697fd2e292c0cd5d1c2d56fbb85c0cd7394b)", + "P->V[46496:46528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 16245974, Column 2: Field Element(0x20cbb0c0418789f658939569f44a0064e479008e5b943c047704f95a077aafe)", + "P->V[46528:46560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 16366919, Column 0: Field Element(0x759668bf1b6910cfd5a61636cab444e89ba1256e3f6d0e442d7b31939fa7f3)", + "P->V[46560:46592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 16366919, Column 1: Field Element(0x1095862e146bf2a2c5a668a4a9d9df23bff1f9725db0e5228e94a174bb9dc49)", + "P->V[46592:46624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 16366919, Column 2: Field Element(0x7cedadca83254cbb958518425370d663aadbd3b184f7bdddbf8ab8502ffcf4d)", + "P->V[46624:46656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17618717: Hash(0x0071ad64bdf2cd3eeb7907efbf00bf879988240e34c9337de539218daadb8b09)", + "P->V[46656:46688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17759836: Hash(0x00fb0d424f1d52b64ecde175c09c2c9b52f48279d29bfe4affa8bade1d400419)", + "P->V[46688:46720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 18833229: Hash(0x00bc5a7d860e253305e23301244149f2681bc5904e8810760063b38f9215a6ad)", + "P->V[46720:46752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22597775: Hash(0x00b5ddbd56d8f58b3c7c87eca829e40d6c7b4b1ff1de89e63b0b5d52f30a4b9b)", + "P->V[46752:46784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23721688: Hash(0x004e5d6d4e5419a340b662a0c6d4592567a6c6e3e91fcd43116099ff2b91820a)", + "P->V[46784:46816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24207089: Hash(0x00019696d3c16a86e07ed6073870c54bfca145053c33b9389bde76ae87e55323)", + "P->V[46816:46848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24885482: Hash(0x00616c07252d20003b3573674d69e1a6a5c7ad8fb71466dc6ec7d12d7a903505)", + "P->V[46848:46880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26076384: Hash(0x00a26092110a3ba92d92fdd71d25bd27a1ddea39e6db95ccb613a9e77a6f3d91)", + "P->V[46880:46912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26558225: Hash(0x00cd93836f2737ed5c91bdf3d50aebf5639d4ebc61da6782aa396b179c6a0df8)", + "P->V[46912:46944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26759606: Hash(0x0076a19f66b732b6faddf81b0e2111001ee103209222a96b6e79980fb8ca4be1)", + "P->V[46944:46976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27327460: Hash(0x00b8ef6467fabc3742d27a6d433d7cbf951940c795a07531a6068022e81770d2)", + "P->V[46976:47008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27575396: Hash(0x00bd3a83aca3b3b96e94a4974cfea01a8eee2b94292b6ff94bade147de7d4639)", + "P->V[47008:47040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28927111: Hash(0x0045235320c66c4ef49bac77706f593ab4dfca4d78901a129120c99ea91782f5)", + "P->V[47040:47072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31002258: Hash(0x00039f1491a1bc2a275d4f44394fa4c2001c523261a34c623e8e445d8a28b0b9)", + "P->V[47072:47104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32389595: Hash(0x00197be595a8fda7c2fb87d6d30665abb8767bddc3c56bba2455ba0551f2addb)", + "P->V[47104:47136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33023191: Hash(0x0024a4193ae29fa5bbfaabefdacebfe521a20ba7f04bd0f3e45db780ab8f914e)", + "P->V[47136:47168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33144134: Hash(0x007b827e367faab6027f41f294cd0a40d3de8a153e8ec061661dfaef952aa896)", + "P->V[47168:47200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8809359: Hash(0x00fea75006e5aa8bb85ca0e8e1c781b74ccd6f6a81bcebb0f1a6d04230ebbfac)", + "P->V[47200:47232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8879919: Hash(0x003cd642880441ca6107c9c590dcd62d5d6789cb4b9283476fbe4944859081f0)", + "P->V[47232:47264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9416615: Hash(0x0047eb7325e6fa1b4f156363543cbbf962967a4d340cd4b92470960ce51aa23f)", + "P->V[47264:47296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11298886: Hash(0x000c46a28162e7d0326836bd6d428fe22c7cc043df9699c459eb888ed2b9a3c9)", + "P->V[47296:47328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11860845: Hash(0x0086950a3c7bc01b263e1c671aeed894b406722223bae73d2127419f156229e6)", + "P->V[47328:47360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12103545: Hash(0x00a6f51878d4edfc784cf28ede96bdc9a12e6f6ad3fb845aed38dd0f3679aaf3)", + "P->V[47360:47392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12442740: Hash(0x00926c3fb275119234e0c3a8fa3984f798a1dd1853693274643f396d86e9f65b)", + "P->V[47392:47424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13038193: Hash(0x00341b5afe7acaa54ba67c1e088117ac38a9996c63bd213a8b20f0894a7f43c4)", + "P->V[47424:47456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13279113: Hash(0x00a0a2262957c8d315ad599f2e2ade94c0ef2f6be20aa5d17f952260500c5854)", + "P->V[47456:47488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13379802: Hash(0x00d45f20460f62cae76232d67cb256f3479ae4ed66bc520dbede31db95e683d8)", + "P->V[47488:47520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13663731: Hash(0x00c1d3dc2f007753c24daa3119ada380fb6e1f6e635fd07203671708ab92441c)", + "P->V[47520:47552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13787699: Hash(0x00aa6808c8b9724a76805c31a3c4a7a6633899ed5ad0f8920d48170cb79583a8)", + "P->V[47552:47584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14463554: Hash(0x00431e6d10d8dfb1fc5b5a69495593de6c9cf4d6a62b449907c017f656d36c46)", + "P->V[47584:47616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15501128: Hash(0x00ff397e5aef20a81c1f8538175d8c864e5bbb7785c2c366f82b62ce58c83d91)", + "P->V[47616:47648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16194796: Hash(0x00c9e45cccc7ad26c505c901574019402376361ecd28c5f2737d4dec171a3257)", + "P->V[47648:47680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16511594: Hash(0x00b46e55a4d07cf93de775734435cfcfc494a7940f9ec0a94b91344fdcfbaa3c)", + "P->V[47680:47712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16572066: Hash(0x00eaccb539de007d264d845ce05ec2cabf61404d1ecb68a208a60999264c0b85)", + "P->V[47712:47744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4404678: Hash(0x0078bd15410d02f8982ee3936cc7c7bfe43ad3b7f3750625a6c4cab814165d9e)", + "P->V[47744:47776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4439958: Hash(0x0092ad83b33ce83af3793454c0afc186251d8a46f897870bc40e8960258a1baa)", + "P->V[47776:47808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4708306: Hash(0x00eb5b65e00de6f50036dc77d9d49366dd90e8fc45c3bb1c5fded7deed013b42)", + "P->V[47808:47840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5649442: Hash(0x00f2d3257572d2460688a72f525079bcaded0c12b700abdb9790273ede49e661)", + "P->V[47840:47872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5930423: Hash(0x00001024020439c0ab6f204d8a19f10f89882e388f38e589658dad9e1c08a50b)", + "P->V[47872:47904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6051773: Hash(0x00aeef29b9dffdaeaf748b9934933d1d326c1ba491893f00c063dbd06593eeea)", + "P->V[47904:47936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6221371: Hash(0x0011f252be67320d135229878096e8c974fb40ad46b46c92cacc69e4421946a7)", + "P->V[47936:47968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6519097: Hash(0x0011ac4f7a41e646610995e384a5f24bc961d78c8052ce67a18508ddf085d943)", + "P->V[47968:48000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6639557: Hash(0x009eb0c923e3632c9a3a93b481773c61b604ffc9f8321da98d084261222d0dfa)", + "P->V[48000:48032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6689900: Hash(0x00452d88502beab3980cf0a6f673ad958bcd1ace53d46562ccfe2ea4158492e6)", + "P->V[48032:48064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6831864: Hash(0x00104f030c3a1dc70a5386fdb962dcd25c22d5c0930a4811b472b22cf895364b)", + "P->V[48064:48096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6893848: Hash(0x0009ea670077586bf224fde1a9e18460216d9679ef84e4941f2bf353107df112)", + "P->V[48096:48128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7231776: Hash(0x008da3f98bf976abed46e3a1d9f1b7631b9309fc0ca1321196ad2f41ca27c583)", + "P->V[48128:48160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7750565: Hash(0x0047d9232d711d82c342ddbb256e136b39cb7b06c9fc341ddda77d9174b0f48c)", + "P->V[48160:48192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8097399: Hash(0x00aee6496a515fd7df83f889e67592959e1f58bc1b8f8c78a4bf2a452825f188)", + "P->V[48192:48224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8255796: Hash(0x00e6b24e974ee0dda3675bf24c1c808f817bda4ae3fc8daf6cd5c59299696a94)", + "P->V[48224:48256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8286032: Hash(0x009c0c5bf2ab8f03115cd050cfa126271bb58d5967009ce01b79b020ccc2a7b7)", + "P->V[48256:48288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2202338: Hash(0x00694743c0f1c61a87b8bcd099cf0f26f0e7a0ee9972ca321e234f13dea06138)", + "P->V[48288:48320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2219978: Hash(0x0012fe19169a006e5b9b5ded679a7391e349e6fa4af15e0f935ef17e2db08675)", + "P->V[48320:48352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2354152: Hash(0x00cd771c7c084ec5b31fbde9770992a1d4f65bd9ab145e5b9f8d81ef248f61b5)", + "P->V[48352:48384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2824720: Hash(0x000669975965cc7dcfdba027f62cd5a5e73cf742b30cd07b7b9c654d2a0dcda8)", + "P->V[48384:48416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2965210: Hash(0x00cb301d2fabdae979a244eebba2e2200267762af091ac2145d1c1df590caf56)", + "P->V[48416:48448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3025887: Hash(0x0062a6f4a263b1ceb87edc142367610a6896932ca16e8fae779cee9820ed1582)", + "P->V[48448:48480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3110684: Hash(0x0050c623542bd71e3af64b4ed324e492c7ba2564c61f3e47f21b984fb7634b13)", + "P->V[48480:48512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3259549: Hash(0x003501b95150894796dd7d56cf04f3263e7510996e41e3b1fa2fec61e7d7fe59)", + "P->V[48512:48544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3319779: Hash(0x00e3b74c0b47983a89ba5f3245eb2dea7b1acfe6ff2a6733ef7cc3002be16bd8)", + "P->V[48544:48576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3344951: Hash(0x00688427d93e5ec7af98d10571e9ee36085ed1dedf858f34e7bc2519ea209e27)", + "P->V[48576:48608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3415933: Hash(0x00749d3814e900a85058dc34fb11c85ff87e905c36eb5a563b54ea7f0c54390c)", + "P->V[48608:48640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3446925: Hash(0x001c89d0edb89bfc99578a2fecf5312115e73250db020b4f30e5f35055bd0d34)", + "P->V[48640:48672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3615889: Hash(0x006cf3350895241da50e0ec0230cb1021d9eea921fcd2a62bad4ac94327c3f5b)", + "P->V[48672:48704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3875283: Hash(0x004b89d9ba36b81aa6855ffa8ae8dad9da207d7b399faa66b76fed204a334c34)", + "P->V[48704:48736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4048698: Hash(0x0041e6cbce084da13c99729e81ab0992bc44664d560c4297b0091152918a0b0b)", + "P->V[48736:48768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4127899: Hash(0x00c403d655a29789d4cfad5ec7c52e25c7fe0bf23966cf553c14ec402a945fdc)", + "P->V[48768:48800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4143017: Hash(0x0094f3ac19a1143de2066526590e50bc5c21d8571573fc784d30607f8203f09b)", + "P->V[48800:48832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1101168: Hash(0x0088a80c17545b7e53f5be9e355eb6d52c943e438d0f4dc223186185db340694)", + "P->V[48832:48864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1109988: Hash(0x000c504cf3537db8da420cc38fbe50480ab050b3c31afae01124f12ca7b0b90e)", + "P->V[48864:48896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1177077: Hash(0x00f25015ca71a4d76cd8cb03ca7ae58e28e67d685fae4c383b1e8907bf1f0a73)", + "P->V[48896:48928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1412361: Hash(0x00dee4ebb2edc1d44c278cbf834b9b6a5280db0dad86904c643fa62038554b63)", + "P->V[48928:48960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1482604: Hash(0x002f6230efba8395f90fa29a01da60be677ce97ffcb1c7e26dfdbafe4fbbcb58)", + "P->V[48960:48992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1512942: Hash(0x00ac8e6b913b8214977d32136ecd2a69974cfc0b0426dc942f5308a650a0fe79)", + "P->V[48992:49024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1555343: Hash(0x0042ff5b8ede43da1b74645869be9c5f51a301b828de660ffd18fb9422dc59b6)", + "P->V[49024:49056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1629775: Hash(0x0026e8000a0ac71020e8c469a5cf7480af07a4c5122bf3b7cb216f72fe36fb68)", + "P->V[49056:49088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1659888: Hash(0x0072b7b7f9b47fecaac1298bedea9d41d74eb1c70ca7b91882a17a1672080576)", + "P->V[49088:49120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1672474: Hash(0x0063269e374b6d616b7b29f8195241ffa1834a6bc2dec9182a3af75b0b1e30c3)", + "P->V[49120:49152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1707967: Hash(0x00f860eeac2a872c795c1c7973c3f2e8c226e7c89cebee79ed470d17a093d928)", + "P->V[49152:49184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1723463: Hash(0x0055bd8a671fe9f947889d7ed3275eb7fc21f92f11af753736e42dcb284de377)", + "P->V[49184:49216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1807945: Hash(0x00801d9da5f6c64cd2ab371ba623c275976ef03836f0979b7c4aa9e58350395e)", + "P->V[49216:49248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1937640: Hash(0x009572e24f050a71ddb6cc86b91d6d419d76f9167edeb4c28737ec9d127bd5bb)", + "P->V[49248:49280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2024348: Hash(0x00d9936f711da6012b3bf505e05f35128e98f37b8b74fa8e5128fdc54bfa642c)", + "P->V[49280:49312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2063948: Hash(0x00f666b6092e3f1edf1ad245781de14d5bc86a74efdf3329ac310913e83d244e)", + "P->V[49312:49344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2071509: Hash(0x00bb9b69581773854fbb36aed5fcb6a6ad411e897c3820119baa7c68956d82a6)", + "P->V[49344:49376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 550585: Hash(0x00bf7a41708d4bd31d8f5b47daf0bdc03c01fe9a28e6e966e84fd8d3f9a8fcf6)", + "P->V[49376:49408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 554995: Hash(0x00584059b31d717a581e15d5f1f7f3e038c36a38fabb635120b2ff2c837b0b31)", + "P->V[49408:49440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 588539: Hash(0x00cc78f24d8a9e404762e04ad6678ce4abec0101b01223f4b525b6250bec05ef)", + "P->V[49440:49472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 706181: Hash(0x00c6c4f522f66d6dd0b0223ffb6e2316d624c45c0ccbf88bc293e151691078ed)", + "P->V[49472:49504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 741303: Hash(0x00de0a27af92b1b901904640b916f39edc60dc2f2a490a952467d1dfc09955e4)", + "P->V[49504:49536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 756470: Hash(0x00d488da6eb0734cd56a3c4aab6744c73ffbb75ded080045dfdbab2cb13ab481)", + "P->V[49536:49568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 777670: Hash(0x00955c87533f906ec90a9054ebc099f5f15364d403344a38f8dd63517a6574ea)", + "P->V[49568:49600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 814886: Hash(0x00ce8998da28ccba2ff52e3e3351c30aeea4cadf844a4eaa3b50f695122cb3b7)", + "P->V[49600:49632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 829945: Hash(0x00f787278a5e5198b690a27dca066c53d43b6f309b72e95f58b611b1f713fb01)", + "P->V[49632:49664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 836236: Hash(0x0066da179267330a37ae937fad65fd4c3368d2cb7a3b06d2b7edd2f250d33be4)", + "P->V[49664:49696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 853982: Hash(0x00a24a05e1010fdc9ae41246b94d3ec3c3a5894972afd0310517bff179420f20)", + "P->V[49696:49728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 861730: Hash(0x00f48491f216b270429f205a96619c4f8965449c8ad333733e0929cf067af1f1)", + "P->V[49728:49760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 903973: Hash(0x000d6440f29312e18551c69df5a18f0657a24267018d842fa25b939dd296e6c6)", + "P->V[49760:49792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 968821: Hash(0x00f1c742e2c341deca0198b5c4506f99b91a8877375dced68c8a5a4074aaac1d)", + "P->V[49792:49824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1012175: Hash(0x0005670bb2654a9e3d903d24bfe71bfd23ec3ab07f420f2f4d299a057466fb55)", + "P->V[49824:49856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1031975: Hash(0x00f010657b5eac379d8691e27fd0e636e830159005d17382d5cf05b95d8e6630)", + "P->V[49856:49888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1035755: Hash(0x004dbbb27ab3a0173ac80f6176e27d5b13d7da3b754268128fb5a8555d8b37a1)", + "P->V[49888:49920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 275293: Hash(0x002748a2a70da1d9514be7bec0e39e7540feaf2d84616f53cea2fa8fcc7c74b8)", + "P->V[49920:49952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 277496: Hash(0x003ca99ca7f479f3a547cc5531c2088128772f82ae7ede523d2fc53f08ee3f99)", + "P->V[49952:49984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 294268: Hash(0x001b13dfdccf79d5554f93ade924175a9333b62e07ab70f7d8a53d15cadbdf9d)", + "P->V[49984:50016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 353091: Hash(0x00f0a965331dc84bfa7fb43f2824fc75db83582f7b3eb4a6cf25b7e759070702)", + "P->V[50016:50048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 370650: Hash(0x00ddba7cabdf57d251830b3cd3761ae26c1a36902f4ef68aa433f18a182694d5)", + "P->V[50048:50080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 378234: Hash(0x00887a878e129aa14b916d742fe2a26102a241700d0998efb77e70b2036d7ff3)", + "P->V[50080:50112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 388834: Hash(0x007668b5c24c1db5a9669f666458ed19832a226e718022d46a9b1edbbb4dfca0)", + "P->V[50112:50144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 407442: Hash(0x008d7743138fdc62f7662a7e9e72159938e48edf92a400649dc24dbc574415a8)", + "P->V[50144:50176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 414973: Hash(0x00c33afdf91904ce78600930d2069253e26006527cf0e1a9d55b8910f5167bf2)", + "P->V[50176:50208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 418119: Hash(0x003f6060880e1927ecb7d3c5221d25bfc55cd4369019585d60bb61d7321c40f1)", + "P->V[50208:50240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 426990: Hash(0x0087f69c6d07301c41c934e50c7466fc81171a5d243c8a14fbb5d51bb5f97ef4)", + "P->V[50240:50272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 430864: Hash(0x00be5418f48dcd149d47b846069a6621d1a8173a9dc90a091210f4ffbb9f68f3)", + "P->V[50272:50304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 451987: Hash(0x0089f54b390ec6ac1b990454f57e029aff10ef139912ef6b222e6770ea5f5ff7)", + "P->V[50304:50336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 484411: Hash(0x002a721f9801357de0451fc954a5774f170bc4214f1bbed061175e13291fdf4d)", + "P->V[50336:50368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 506086: Hash(0x00c024adce7409390722df17813f07e3c3400011a5e794a618b5f96b1e4bcbf8)", + "P->V[50368:50400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 515986: Hash(0x002bdd18eac6c926a276fc0c93bb818eea53593fe97ec3c516fe79c1d152710a)", + "P->V[50400:50432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 517876: Hash(0x001ed4dc6d8a36996ad34605492c34b90d828ceb68472231f0d41ff7422f4411)", + "P->V[50432:50464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 137647: Hash(0x00a528777dc2ecae925a18588cb6be8e12a86105734c055aba9086a8d098230f)", + "P->V[50464:50496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 138749: Hash(0x003f9f9ec9e18c413ee85f727d3afaa67b9ae8453b3bed0754ef312dd19ed1d9)", + "P->V[50496:50528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 147135: Hash(0x00ce90333df6dfbedbe056c424b1d3ae12a3e11ca98b8663804066d9f49c5c7e)", + "P->V[50528:50560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 176544: Hash(0x00059a096007f72c4af6203719ea2a4d07984caee8aa95034fcceca542554a81)", + "P->V[50560:50592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 185324: Hash(0x00ebc1fd6633ea7cd49db9ba05a96e6ec2d8c7024727120bd5d250b83e1053f2)", + "P->V[50592:50624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 189116: Hash(0x00b502ced6b9c906995e3bfad1cb4e4a4793e6e71d7f2c21da187ea4bc3690d7)", + "P->V[50624:50656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 194416: Hash(0x0078844d63e87fc5e44f41e9e510435b7358d35c0060674f38cd955953908126)", + "P->V[50656:50688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 203720: Hash(0x00538cdaf2a0fd5ce98d61f05ec42c2056060471662a437a4af7fc29cba429a7)", + "P->V[50688:50720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 207487: Hash(0x0032a50d39bf4cd456b843289ac941ad858f1e0350e45ee2d1f0f530ccb5dff2)", + "P->V[50720:50752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 209058: Hash(0x0047a371f583ee73621be2f839ea878f307abf6099f8e2657b1a203b3d2d51a7)", + "P->V[50752:50784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 213494: Hash(0x003084edb554df3f3e30aaba61c7c23b7b4091b9da640ba8b11980238aa248ed)", + "P->V[50784:50816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 215433: Hash(0x00fdc22274698d5ec9678f9cac4e48406fe37f70f04c415d87d35b43f9262e19)", + "P->V[50816:50848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 225992: Hash(0x00d3844bfd1e65e6d129998fd00b47ed663238205235cff55a28bab7d0a78aba)", + "P->V[50848:50880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 242204: Hash(0x00fa7a5b1dce32e3619a54cf897cf79cf744ccc8354134ce3dd783eb03b13f0a)", + "P->V[50880:50912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 253042: Hash(0x008044e8ed63438dc9dca6cbded1a702b8595ef29236abfae62d87a002cba82a)", + "P->V[50912:50944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 257992: Hash(0x00bfab39b42773153cf83fb3f222b86e4a4bb4e93f2935d7d5a2471e805b8c65)", + "P->V[50944:50976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 258939: Hash(0x00503087388413e47f140c0e1eea3e1d2d7b36d38beb3fdd9c50efd5fcb896a6)", + "P->V[50976:51008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 68822: Hash(0x00407217ee5a15a7fc25dc095cf634259d03c26604c7c16d9015aebf0e1dd6d0)", + "P->V[51008:51040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 69375: Hash(0x00e451992273e121566cc1f3c4e22365ced3eae9219b78dc470c59fb7aa9b671)", + "P->V[51040:51072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 73566: Hash(0x00069ba62e91cd5ce8b1948a686c782b810d1f57e075de3439f984032f55b438)", + "P->V[51072:51104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 88273: Hash(0x00e7c5cef05997cc68e688ce697fd56dd7a1b636b3408b438b72309b0d043b7b)", + "P->V[51104:51136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 92663: Hash(0x00334278e9205b93963da818847d0ef24c30a91e384ba3be08f649114a5b002f)", + "P->V[51136:51168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 94559: Hash(0x0093cca360f96f1b039344f089be77ce8a8c62309bfa76cd0bc9178b0a0c4a3c)", + "P->V[51168:51200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 97209: Hash(0x0092fa3b9b397d1b45b9161fc9d5f6a069afeb67a1fafc53dbe994c310ec57a7)", + "P->V[51200:51232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 101861: Hash(0x00994d97b077843e9dc5f39538402ff7aeb354c840b6c990e834a275f4433bde)", + "P->V[51232:51264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 103742: Hash(0x00b2b7faefd1fe7e4d48076a4df1a46611981cec0c82b75234ca6f861050b90d)", + "P->V[51264:51296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 104528: Hash(0x0067cf8732037ad05bc8a455fe87c308a707ec01b7b94e6226179729c9061965)", + "P->V[51296:51328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 106746: Hash(0x004230bf51ff11ddbfe441688c9eb6c35012b422569ad3a9eb8cfed940323b34)", + "P->V[51328:51360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 107717: Hash(0x00ef98f82611b09e1fd7f66eee2aa776d787d564edd4c47d9b9634b067621f08)", + "P->V[51360:51392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 112997: Hash(0x00315faf5d6da6daf76b02795fdf8278f87d4fe75795dd362e1f80e9d12bc3f3)", + "P->V[51392:51424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 121103: Hash(0x005f9b141f109982f436e1414b7fafedf9e9ec852f11779a54aa42bba9736873)", + "P->V[51424:51456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 126520: Hash(0x00710e069c92e49571dc9471b7afb2b8d33d175c0b5cdfdaa96ed8d0311d35c7)", + "P->V[51456:51488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 128997: Hash(0x007dd697e8a681fa2eee9c3919e14df5bad0a559bdf108de6b967cda0a8509da)", + "P->V[51488:51520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 129468: Hash(0x00e38383e870c528df163a04291eaa1ae52758a3521e7d98c791c3ddd29c5a92)", + "P->V[51520:51552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 34410: Hash(0x00e9b8b26690b4a32fa743bef764ad407e5cf46b8883c43e157e9241ec3a0e23)", + "P->V[51552:51584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 34686: Hash(0x0088f99f336e7a83b35fc9bfd4c52ab1141091cc9fffdad493a18954880d706e)", + "P->V[51584:51616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 36782: Hash(0x006e7b407afb311e9b071072d76b3c93c83a10a95e889876bf9e8af344c96c39)", + "P->V[51616:51648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 44137: Hash(0x001f499dbf02f222d63d7bf503a238a1c70fb25a6e57feadbe2535989c6cb0ac)", + "P->V[51648:51680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 46330: Hash(0x0022063ac612f485325494bd3773b04fb80ddd5815774e7ccaae9bbd2069065a)", + "P->V[51680:51712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 47278: Hash(0x007bcb407fe342545c949e63d338e49f99ae20a0f65b48dea6bc0dcff4c3d69a)", + "P->V[51712:51744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 48605: Hash(0x00fdfc2f44cb3f2924e8e494ea367ea6e4a9f645632a01707a43e2b3a97a3f02)", + "P->V[51744:51776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 50931: Hash(0x00ff974c691542caa6e1273d7d757e94302fadb033afd1baff58eb61ec871321)", + "P->V[51776:51808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 51870: Hash(0x009b3f55dca6c4343bc41b96108eacdd369ff1070be5f224ea9a2cba80d0e08f)", + "P->V[51808:51840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 52265: Hash(0x00b139413af492a2dbf71ab618b4f8f1b00c5cf4a3449ac0ba028834911da796)", + "P->V[51840:51872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53372: Hash(0x0065a1ac9002d1edf79bc74032dab8d19255ba4b00362b95f1c1bbdbcc85a951)", + "P->V[51872:51904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53859: Hash(0x002a702af81c6cb0d35d14acf215a475585edf212a65672aed9dce1ed4f3e630)", + "P->V[51904:51936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56499: Hash(0x00413a9454e6d405f1550fb5a994010bb1ded8b736813b80a308f7bdc975dd62)", + "P->V[51936:51968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60550: Hash(0x007535e340b743f20067b8c40fc211a91c48caea1723efc3102db2b8deb32a64)", + "P->V[51968:52000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 63261: Hash(0x008a4b47e8501bb6be68773221564f632b2eb08cb76b7626f7caaf1a95053bfa)", + "P->V[52000:52032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 64499: Hash(0x00429d90fecd28b7c2ea920de8629cf46f989848b77cad072bea8108ba467212)", + "P->V[52032:52064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 64735: Hash(0x001ef456e7817f542e2f66b7e649dc37cb5312dc3bea45eb9ba9ec3118728133)", + "P->V[52064:52096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17204: Hash(0x0052d0d3bc7b73fbc8645595a80c2dba7b4dc9d9ff3e2938d10a01c66be9b995)", + "P->V[52096:52128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17342: Hash(0x002145a6e970f96e324fa061907000f0c3f22683070e404eb95a75dd3bd7ebf5)", + "P->V[52128:52160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 18390: Hash(0x007974e88cc7ba6ff1047da5fb963d449461b4c376b7e8f03ace7ee32419b713)", + "P->V[52160:52192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22069: Hash(0x00fadda5aa9384e7834bb1ad39a41bcd2f382d3b08dd671bb57abe44f2a66d92)", + "P->V[52192:52224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23164: Hash(0x00e76f209355895979c338e7d087eba5f263c1fa15fb9c7164c8c43626f2c79e)", + "P->V[52224:52256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23638: Hash(0x00d1dd0f626b35048afaa0e2d731341e92b81b86dc951f81095cdfa3c293dd8b)", + "P->V[52256:52288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24303: Hash(0x005371662a5a289e61e40cdcc652367f82652cc19e4bf2f9565ac92c73f3b4fb)", + "P->V[52288:52320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25464: Hash(0x00cf18c272dec88b1fb4c13b5370dfbd6f51f1055614d84db06766477def9649)", + "P->V[52320:52352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25934: Hash(0x0084ef5048c5046d6db8f92735cd58cbc4b42435b767d29c24131ac363780933)", + "P->V[52352:52384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26133: Hash(0x00f527250ba7f2f42761c265bb3921f190c9fb78238d460cec6fa581dc2b521a)", + "P->V[52384:52416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26687: Hash(0x00ed0fc63c46aee6738336093657f4774a8710eec6af8fadf748a940ef6162b7)", + "P->V[52416:52448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26928: Hash(0x0042d4ac6a52532a71b497cf2e52e652442ea5dafa866a32e2c1b037026b08a1)", + "P->V[52448:52480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28248: Hash(0x00f59124274f1132511ad71d222c2a813d504342d6e00a726dbe0270ba079014)", + "P->V[52480:52512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30274: Hash(0x005d3db5acb285b2b83cfcfd34cd9f504def839c3c67001d612fb24861e2df02)", + "P->V[52512:52544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31631: Hash(0x002f2cc933540f91b7d492ad18bd61df562642787d15e34652758762646b8682)", + "P->V[52544:52576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32248: Hash(0x00e08b7782c9b6180d57a87e02f670c7152081c795a03262be6c64921046ce48)", + "P->V[52576:52608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32366: Hash(0x007123b2f32aa68579496f50b9b9c646a5bd71451a345b17abeef248195cda9c)", + "P->V[52608:52640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8603: Hash(0x0069a6f50b045f1d4ce68145f8cfaf06a3ada428e14175e7f62960df490710f3)", + "P->V[52640:52672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8670: Hash(0x002faf9dab2c3ae292e43b4aa5641cae0ec76ee81a0f821ca18a878db5f60ef7)", + "P->V[52672:52704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9194: Hash(0x009fe8403eee83d0af9f3d2c5614241c0a7d6ccda3bb902da39aaf5a5e1eadc9)", + "P->V[52704:52736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11035: Hash(0x00c44301df5e9509959df6668b01b238fb5b4996734f3c4984f2defb55f0356c)", + "P->V[52736:52768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11583: Hash(0x006446ff3ac7f42d7ffdb917cb7a49197fde2b3278ba6852150efb6452dfa8fc)", + "P->V[52768:52800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11818: Hash(0x00a71c3603ba26cfe317e3eeef81d97cf2c1c876f8a3961f4a1afe67413f0ccf)", + "P->V[52800:52832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12150: Hash(0x00fc2aa70d31362977bfd8948f44a955bff6439dfbdcf1156df8d4ba93ea9d3a)", + "P->V[52832:52864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12733: Hash(0x0051b9ac99dd2a4e21bbfe15705abb384524979133a29a9ab1852340432e29b1)", + "P->V[52864:52896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12966: Hash(0x009b80ead6b57dadcbd4920c6c0b1da2c5b5e0c89822c6615e09942a0f405634)", + "P->V[52896:52928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13067: Hash(0x00f98ed63b69a8680a8fbb349eb7c6aeca6753cfc913b955bd626c7e28e9a57e)", + "P->V[52928:52960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13342: Hash(0x0089497e6534094c55953abc126c3e358818260b7ab39bea4523cbf53f1858cc)", + "P->V[52960:52992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13465: Hash(0x009aeb6acc3adaaa24d559e694102ee43ee0cdad3adb17eb90ca01eb6a1ad5f5)", + "P->V[52992:53024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14125: Hash(0x001ec7c4b015f35bab6783fddf135251fae995615d9059cb3bf9070b79802888)", + "P->V[53024:53056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15136: Hash(0x00405ffc10ae6acd687102dd8e66bde8a397816065f5a111890d0631bb84d99c)", + "P->V[53056:53088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15814: Hash(0x00278767b3c37ba39994d05322fef6c6112bcc28e0cedf3dc2c0fac2fb9f808a)", + "P->V[53088:53120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16125: Hash(0x00b39ac740c68e1927a64e35441306fec9e76405b7120405418ddeee4a80db82)", + "P->V[53120:53152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16182: Hash(0x00087a516c910e6b28522e311b0c8ecd55cb5121ab4017bb4731443b73ed443d)", + "P->V[53152:53184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4300: Hash(0x000d4879b1d9bec5e10963aa6f8cd99cda89b923ac5dd7bad006c273df38a97e)", + "P->V[53184:53216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4334: Hash(0x002a4eda6e5a9cebd8158fe7adeb8ce689df525d27dad6507581480318ef4844)", + "P->V[53216:53248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4596: Hash(0x005743eed2cff50cb6333bad023e0c843a8d3ebd7527b5ce6f0b111a34105ac6)", + "P->V[53248:53280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5516: Hash(0x00615c0b141af3ae0bb7b138f464d705d6942303781782d60f13fcc4275c919c)", + "P->V[53280:53312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5790: Hash(0x00a356d3c9a14a338af4be5e494f78fc19c2c6ad9f5056f11b48d2c8de00b26b)", + "P->V[53312:53344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5908: Hash(0x000c12a7856f07558b0895057d6fc097d483b4da0f92bde1ca5d305c4d18787f)", + "P->V[53344:53376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6074: Hash(0x00ec97e222aff330b7f73172af509b8e834ff823b1ed546f585e12fa7b371510)", + "P->V[53376:53408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6367: Hash(0x001ae6d99fd8d67f60a5e823a18a58d937b8251f792243478e9dbb6816f89bc8)", + "P->V[53408:53440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6482: Hash(0x002ca91732fb632c5bd86092fb6f177c9e0f64f49b52641af244f18c8982b787)", + "P->V[53440:53472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6532: Hash(0x00a7c38a8a2240d86abbf358000654e6d747adb29a892e8124d0b349a6248d52)", + "P->V[53472:53504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6670: Hash(0x003ce9ad46e91ef6ee15af4d4e38709685a6c2375af343711e1d6431d0919821)", + "P->V[53504:53536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6733: Hash(0x00a0f62cfaf041898cd3048de6edc097d2751fb4da4f30dfd99131005695e850)", + "P->V[53536:53568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7063: Hash(0x005ea8a0e7c6a851392214880ba348a4ef82456dad131755e1c83d0244aa3089)", + "P->V[53568:53600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7569: Hash(0x000932843e464be5b453bc54392bf48d2c7787058e56f08beb78da8624652010)", + "P->V[53600:53632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7906: Hash(0x004549bc4f4368685feae5d9da84cebe1e1bb8196aeaade0df9a37598a0fcdeb)", + "P->V[53632:53664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8063: Hash(0x003157529954ed2edcbcf2ad3cabe075cc9fd8ef908e6b8f10f8c5deb3f52b56)", + "P->V[53664:53696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8090: Hash(0x0099521a8b15c6cf39c708e113d2b65db48f7330d20713dd94afd8c8b467012c)", + "P->V[53696:53728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2151: Hash(0x00d01ded67afca46ae4daf0431b226347b2f347951e5a22f662de3839f97d4c2)", + "P->V[53728:53760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2166: Hash(0x003f11e937f5284530b6be9230ff692b8f3c3f91dd4dd935f5b49f2ef864efdf)", + "P->V[53760:53792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2299: Hash(0x00ebc0bd08df4d027f0d87824e231d83814b539412eac02ec16039bfc932b66f)", + "P->V[53792:53824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2759: Hash(0x007808a2da22a437772adc1c47cc5bcae0b5fb65e7ef28cc5d3a76636d8ef070)", + "P->V[53824:53856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2894: Hash(0x00130530cd251c1a93baf8392bda58676e963ca41a02ede8b8bba588914b8b57)", + "P->V[53856:53888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2955: Hash(0x008b990eb1cbacbc1389aee778d65f041d7c73d9cac59ef6df008d5e6211dd6e)", + "P->V[53888:53920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3036: Hash(0x0087f7d9d39a47da91362e3aa17a10baeb367ef92112a81bac76ccd341733189)", + "P->V[53920:53952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3182: Hash(0x005f7f653725a61b468f8a5659d647bd5be847d4aa3eea1df84659c027984f56)", + "P->V[53952:53984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3240: Hash(0x002bee6043c663c5d61dd508749ce311d62298b7b6b69bd1317e03fa5d88d23a)", + "P->V[53984:54016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3267: Hash(0x00297509982cc8d6064e7f1bf41149761ec3f8590bd56e4f62e92b5f5d5b145a)", + "P->V[54016:54048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3334: Hash(0x00f7bbd7963c8eac06db761aed9a346de805142594a1cca03f6ac27efd99ce32)", + "P->V[54048:54080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3367: Hash(0x00cea2495baf1ee6bed776dceb0e2a67ca835c1e1bd92a38ae7ba4e49264c62c)", + "P->V[54080:54112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3530: Hash(0x00f14ae7d0b18ec3fa3ba4bdd96c7bf7e99aee2862dd07f38307c74a10bc214a)", + "P->V[54112:54144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3785: Hash(0x00fd26d14e57171b2201504ea5f714ad8d15dd24b30197c55e81eb38ee112661)", + "P->V[54144:54176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3952: Hash(0x000d24930f295ad2d1c1ca99497585ef1e9f3ad63a01e6d92c05db6c7d09fa88)", + "P->V[54176:54208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4030: Hash(0x0018804fc072b9bdb064d461b534c91936abbf0deec4062ce119043d9ac2453b)", + "P->V[54208:54240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4044: Hash(0x0015c378f25c53a0ad8db1a6a8fc84025e1500dfdf7ed29f897d0d54c94182bd)", + "P->V[54240:54272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1074: Hash(0x000b4ec7760e759e91cd10b8e023d47c606ce10f7bc48251bf7d9b0cb4947ddd)", + "P->V[54272:54304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1082: Hash(0x00b7c182dc6490fa75bd5e753810d1b16cfe69da3065cb2e52903f1a613b9e7e)", + "P->V[54304:54336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1148: Hash(0x0025f718b1173086883420b91806cf6ded20db9af05caf6736d188036b574b91)", + "P->V[54336:54368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1378: Hash(0x003a4ba12cc299c5ceff07b4083ab5f4290549447ccacd2e11b10b7b68a29495)", + "P->V[54368:54400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1446: Hash(0x0073fe58b270ccafc8a4455c25b24473fb3814239159b77ab8c3b62369198d3c)", + "P->V[54400:54432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1476: Hash(0x005a184c1e2fb8864bbe07aef7c5ce532f53f692db49533b9933e2c5aad9b848)", + "P->V[54432:54464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1519: Hash(0x009d3637f2baafbbbec586c7df569a976e9a4ed48e6e6c39beda0240df0131a7)", + "P->V[54464:54496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1590: Hash(0x008a7263e574dcb46fac5987a214da04a6387a46162f29788dabeb8d8a9d07d8)", + "P->V[54496:54528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1621: Hash(0x004606949eee2263e068d8aaedc5a81a7726c51fdd042dee91c86c97f990ea28)", + "P->V[54528:54560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1632: Hash(0x00b229d0720f00941cc6a409d1bbf30d819d05a50e01279b1c527677e2bc2ffe)", + "P->V[54560:54592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1666: Hash(0x00da2c494c2757cfde340d26f5d67b327b4c3f489655025f48528703913096b6)", + "P->V[54592:54624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1682: Hash(0x0042cd0f934ec6224ebe4ea3c0448d25f7b875f6b40a7357614dced45aceb6d5)", + "P->V[54624:54656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1764: Hash(0x00d1c3f3fa1b010f6b5813f941b6bbcd3c1c3e193cf2e15b6d13bc5838aad5cc)", + "P->V[54656:54688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1893: Hash(0x0079187db2d360dfe258066fc686c30a7fe5c4e5dfbab0a72e52f46a8d3e6bc3)", + "P->V[54688:54720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1977: Hash(0x00a6cd143776231566896aee6a7d7eaca833f4d5a0650274f6c6c6019fb7d528)", + "P->V[54720:54752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2014: Hash(0x003b042ac5354d79907e57e02524f95389411b2ab42ffdbe61f92db7362028bb)", + "P->V[54752:54784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2023: Hash(0x007f2dfb0cbb50da063aa01813b2d0564fa11e8e0d0d755849423b435e4fe002)", + "P->V[54784:54816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 536: Hash(0xdb094ca1f4a5bdee0ad55a4682f2f0ed4e9d3b6188c908e9118747d5e6fa8d)", + "P->V[54816:54848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 540: Hash(0x265777d2b42fb2aad86a874ba815a1ed5395e69688187629c5001bddbc190c)", + "P->V[54848:54880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 575: Hash(0xe0a1cc58349d9419174f477ca0d662615f380a1813eaba5c88d552a1594679)", + "P->V[54880:54912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 688: Hash(0xb87c05e6304cbdb70286001256b18ce70a2895063a813f565ba818dfb4ef1e)", + "P->V[54912:54944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 722: Hash(0x97058078c51ebed3fb9f7f3ff76da0402d7d66974797330451cc9d6e94c770)", + "P->V[54944:54976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 739: Hash(0xb51bcd4d46d2ede440733067c37efcb373bc73f818ed13d7d4320a919a3aa8)", + "P->V[54976:55008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 758: Hash(0x2230c6ad093854bdf8620ef014a671a59576c2224449fe7e80bd2176d26f5d)", + "P->V[55008:55040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 794: Hash(0x42314b849416adc9f2cda44113291615b1d1d41e1f7557a16a2acffc08aa4f)", + "P->V[55040:55072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 811: Hash(0xc47b463782a366cd2947fbfed73ac19e95147b57673a0e650b707802bdbfcc)", + "P->V[55072:55104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 817: Hash(0x32776cc5c111f0900b5622abb6615feb9058398ee5693170827a5f694abac0)", + "P->V[55104:55136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 832: Hash(0x2f54b2379c470eccd73416f33646652061777d7de111f0c374728b471643f9)", + "P->V[55136:55168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 840: Hash(0xcd969ed9e2afdaf15f8794fff8f45df9ad2f8134a6238bef3131576a10e32)", + "P->V[55168:55200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 883: Hash(0xb0c1e12c13ee713018c73795c82600ad5d677a85ccaad404ad45c7f92e2527)", + "P->V[55200:55232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 947: Hash(0x14f5edf6a542370b490839717bec7c224becc2ba67ce7c7b3b1b64cdeebfab)", + "P->V[55232:55264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 989: Hash(0x9be9875826cd229c49eb3121178a8eb21ef769d19ba5e25c4eca6a90599f1b)", + "P->V[55264:55296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1006: Hash(0x68f8ab5da888dc5acbba3e52d306093a19b58a959c9ee4f343719b0c7500a7)", + "P->V[55296:55328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1010: Hash(0x8ecf4292c47ff8f1e178214ff4986fbdd1df5183ee0dcfdf647723cf98973e)", + "P->V[55328:55360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 269: Hash(0x4a8d5216d4ca93bb35425815d315117c67ec726e65ad32088e3a4a7f6241769)", + "P->V[55360:55392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 271: Hash(0x3949c02151b09ac04df5dea508def2af84e30767727f0c9c4331035913fcd78)", + "P->V[55392:55424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 286: Hash(0xc4a5ca5a86b2404b5af03035b9b111e8ac3c92383b97fb16e47083cc651aa6)", + "P->V[55424:55456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 345: Hash(0x48b7425ddd7a7043f22ee153176ba6598929a30ad71b4d0b28a1c3894004ac1)", + "P->V[55456:55488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 360: Hash(0x6dfa217d4ec5028430270709c4fe8eaa5ccd089cafeeffd56c799724705f877)", + "P->V[55488:55520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 368: Hash(0x107a7de4237ab90584a8dfe9cb4f3b74b376eb48c8fb2970aa0a3b11f2fa5c)", + "P->V[55520:55552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 378: Hash(0x8e7898ff26afd900b9f66f70d6394a73a7e541f8f824aa648d32c636e1431a)", + "P->V[55552:55584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 396: Hash(0x51cc1e0fa6b3fd490129d652015cb23212df7f6e0e823143ee777024457ba8c)", + "P->V[55584:55616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 404: Hash(0xa4cf42e46e1bfa59b75b8d0cfeb7e04441ffd217853145dbc0f0aa40609448)", + "P->V[55616:55648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 409: Hash(0x59cf74060e923ecf081524ef62a6322eb0c3d0acbeaf48bdd585c7bcec230a4)", + "P->V[55648:55680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 417: Hash(0x3cdb516b077b0e5e397a747e59b5c9434fc8d263ab0495a0ce0f5d20f73036c)", + "P->V[55680:55712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 421: Hash(0x6dfc38dafbf1aebb7e3e18a0eb4183c4982e96d067e1bdd131ccf104305e641)", + "P->V[55712:55744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 440: Hash(0x43d14fae705d72e8e48a7dc7a5665e1931fdf7d87f5d88761f721268d9f72ed)", + "P->V[55744:55776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 472: Hash(0x2b30de188d81c66b816968d42d5a551850b2784986ab4257221ec94f7395724)", + "P->V[55776:55808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 495: Hash(0x55a7982a47a68568c9ca352c1d5351980a6d4beb0cfb135e6ebbe0efc0d3f9)", + "P->V[55808:55840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 502: Hash(0x22c4ec87d688f4ec69a8cdc99b98efe04e2179a21d65863c8f419b236bf7fea)", + "P->V[55840:55872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 504: Hash(0x3c29d4a4510d8d15f6abbee7c5824b836bbac72b250ecbdd07dd7ff54669d22)", + "P->V[55872:55904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 142: Hash(0x65a758b7425952b7991cda6462f1bb83bc5d18efdd21c7c0f9588bc4700df42)", + "P->V[55904:55936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 173: Hash(0x6034219bd332c811e0a7b57e8b84f59e2a70f8e4affe00e5ecfdd8eae6db609)", + "P->V[55936:55968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 181: Hash(0x5ef93f857c62da907b1c11e072612fc67252c426cfb92be6cee5ebc7801b825)", + "P->V[55968:56000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 185: Hash(0x36bc0f6d58bbc37cfb53862eb8ed21779af1fd6ddc6b46183d3d3c4de26a74c)", + "P->V[56000:56032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 188: Hash(0x3c13de212d34596546bce3c75c507bbe5f1f426447d5b3ad53bd613983cc373)", + "P->V[56032:56064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 199: Hash(0x4b0122f573e7a1225aa495fa9568e38c6f80076e0d30993b7469d19477a2530)", + "P->V[56064:56096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 203: Hash(0x6333c44934e273c0d1b0bfe8873eb828ec4af21340b6a6b1e7ef1c1b3ab2c00)", + "P->V[56096:56128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 205: Hash(0x764ec180483ff94dbb28c115ecc175f087ca907eb720f7eb8a6be51c981d80)", + "P->V[56128:56160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 209: Hash(0x1a930638de226491bad94b79006a91ec9a4d711a57fa2637bbb0e2890b0b8fc)", + "P->V[56160:56192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 211: Hash(0x25db4d1edda97dc8331e463239a1dcb01535e3468f4ea09cb8b9c9a1f668b1b)", + "P->V[56192:56224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 221: Hash(0x68fef303b8bfe405bd20cf1724a0e39e1b2b70f6bf8868fcf34393e6788d46e)", + "P->V[56224:56256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 237: Hash(0x61ed0749417b066d8abe7d3c9c9e193714c8fa46ab0b5c27ea14bd5709f2cc8)", + "P->V[56256:56288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 246: Hash(0x7667a0c2608ff3e1ba6318bf058ac9a3bbd1b28a31002fe2141de8ec5df28e0)", + "P->V[56288:56320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 250: Hash(0x1150983c13f0271fd5aaf47653deb1c44d5352d75215ccbbab5f54df9bec8b3)", + "P->V[56320:56352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 253: Hash(0x7816168d728952578d43ba700bbb9c805109026b6964254a6b304d903b6c8ee)", + "P->V[56352:56384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 66: Hash(0x4aa7a00382bf0a087543d7563a17fbebdc682e7a0fc4d922a6fa4551c784d26)", + "P->V[56384:56416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 70: Hash(0x7f45d57927b0610aa9e1da598e779c1229af549ff13ae3d15f0b939a0b0edec)", + "P->V[56416:56448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 87: Hash(0x5194d1b8d995901b6800ee013bcc35096298e86076bebae450df04838cd4a1d)", + "P->V[56448:56480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 91: Hash(0x6fe187deaf0aea2df424bdee7b1f5c622559d76436a5e7ffc733b74b67e4bab)", + "P->V[56480:56512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 93: Hash(0x13cfd7ae3b5681b581636523af7dc383a86dae659c454fa8aa204a525c5ee9)", + "P->V[56512:56544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 95: Hash(0x751eeb3eea1f703583cada1d9541531192872900879ead82a39edcbd353e43)", + "P->V[56544:56576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 98: Hash(0x708f56707cc978772831b361d03efb603bc85e21337649948ab7d2e612039b4)", + "P->V[56576:56608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 100: Hash(0x2964bacd6a66e2433be34ab90bb489bd58f7a151321ab887e508a8954cb1a68)", + "P->V[56608:56640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 103: Hash(0xda8af15af14a986d3ec50c42c0d807045a97e8ad44187a1f0563524a36270a)", + "P->V[56640:56672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 111: Hash(0x58b5e7c55e4f3b9ece59de3864da9cb99e4acaf33fd11f80c7c58aeafc6c67e)", + "P->V[56672:56704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 119: Hash(0x712a231cbb179613d7d39c24fc6460abe2dd26e213f5c21920dc38db565c540)", + "P->V[56704:56736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 122: Hash(0x6192d4396f39960f08c516a84a346bfd262d5a2f1957df1f58b1efe0b3bdd92)", + "P->V[56736:56768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 124: Hash(0x39618878ac5f8ae2acaec9948463964c6af57ff6a1ffa6dd502b67509d7a1b0)", + "P->V[56768:56800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 127: Hash(0x71a02153e326384a605c40017534cc92306cd6a71061cb2059d9e59b50dea93)", + "P->V[56800:56832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32: Hash(0x26bf0e5ecac1098253aab50320f5f2acac9700b644058c4b253d0795cd1c35f)", + "P->V[56832:56864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 34: Hash(0x393bb10abde25f2dccb1c9b4ddbc8fb6d21852f133fdfe7bb22fccaac881c96)", + "P->V[56864:56896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 42: Hash(0x7e4ddd5d85103fb410e053dd8c9dc2d26b34e8ad2b60d5b8f40e399d4307e7)", + "P->V[56896:56928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 44: Hash(0x26cb0ece9f43bf0e750452df7a6ba60cef226bcf93dd76411149517242f8296)", + "P->V[56928:56960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 48: Hash(0x6b4fb7e6ad4f6f1d73b47b898162cc08eb3fd8dc29e213b7c2686a988f94164)", + "P->V[56960:56992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53: Hash(0x2df3aac09c39de8952fd02ca7a406d82478c22eb1bdbb0e3c6debaac7cebb54)", + "P->V[56992:57024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 54: Hash(0x747e5e68858175435d0b163aee29034232c9cdf3a822519c1bbed58c8f52724)", + "P->V[57024:57056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 58: Hash(0x394c6d95b3d99242e405c6d169b1be3f682212f03d741aedd48b725d452d8c9)", + "P->V[57056:57088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60: Hash(0x50244de9ece7609ed60bc8adee66cce2ab558c08d63e2fe96a245f37099855a)", + "P->V[57088:57120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 20: Hash(0x1e94ec698579797fcf0187f67676b78a0349175f7f971d80b5cfd44ec39375b)", + "P->V[57120:57152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28: Hash(0x6184e59b36f404cde67a265dd351a2812c84365c1d76c27c662caf2eaca7b67)", + "P->V[57152:57184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9: Hash(0xb6399f6c8dae0742c22c03c0d88e34a46aa462870e4fae380f8214ee776fb4)", + "P->V[57184:57216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 841500, Column 0: Field Element(0x5fba4eec8aea37c0fcf65c2689458055efc0d1ccf917c1051f09d651a087f9b)", + "P->V[57216:57248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 841500, Column 1: Field Element(0x5593068ff2dbf54e637cc4716bbf5401fb860048a12bd4b370936d72aa5205e)", + "P->V[57248:57280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 982621, Column 0: Field Element(0x12b2d4fd579967ad55177b9b43f87f30f57ff43f4d5c17545ca9ce5318935ec)", + "P->V[57280:57312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 982621, Column 1: Field Element(0x13c501dac360e332fd170ff4df7ccd8a24e577cc359d011302f48d5cceb8f13)", + "P->V[57312:57344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2056012, Column 0: Field Element(0x57840996044f43b1c431ca8124b3f0de33c17bb3ab95d15a8fad2a5a7f89393)", + "P->V[57344:57376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2056012, Column 1: Field Element(0xf1a0ed0f265612f84c1b194b243859c7c1326ed81b22f64be2f7d01dba484f)", + "P->V[57376:57408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 5820558, Column 0: Field Element(0xcc7d952972c0ccdcd28819e01eda67adb502e9135d5d34dd14fbff3d55c83)", + "P->V[57408:57440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 5820558, Column 1: Field Element(0x30d9c4e3495392941120297fa4d1dab01387178b0580cbd3377dce437c3a5c7)", + "P->V[57440:57472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6944473, Column 0: Field Element(0x9fde61995288c125345d64ef78713e27109fa1dd2c2a7075e8f305dc1cb323)", + "P->V[57472:57504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6944473, Column 1: Field Element(0x7ebe7eb01d92b6ce1c7eb74dfcc2e3622d15d3de784a9d3ed73be211a2631d4)", + "P->V[57504:57536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 7429872, Column 0: Field Element(0x6dad21547eb8ffe28e589434abdfdfd22ef10135d5d27496fe1d779fb523f30)", + "P->V[57536:57568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 7429872, Column 1: Field Element(0x7df9c1457a056c0f94ea88373e94f13b4947a306c984d53e51f29d72ce7cf10)", + "P->V[57568:57600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 8108267, Column 0: Field Element(0x4ef474fff9e7a6db9c24336e383f53804607bb5c69cd639873091626f11c63f)", + "P->V[57600:57632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 8108267, Column 1: Field Element(0x780c7407fd75f38ee7f2b233420567bd25fb055be948f7b92d2ca74817d840b)", + "P->V[57632:57664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9299169, Column 0: Field Element(0x78b354b5fae43dd93c2c23f88fd854e5d6582e74299fe8d1a4c31663bf660b5)", + "P->V[57664:57696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9299169, Column 1: Field Element(0x42e1691b5f2954adaae0d2b1279a7e11950f9baba2fc7ee072ba55250604083)", + "P->V[57696:57728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9781008, Column 0: Field Element(0x59991de57e4e91e540ce7063e13f2c25474be1ce5b2445ea82f498d0f1aa00c)", + "P->V[57728:57760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9781008, Column 1: Field Element(0x3b9a9aef8a014fce393381694a363dd6f5fc4698c0707de7a2ce43887605528)", + "P->V[57760:57792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9982391, Column 0: Field Element(0x5bfa6b8203e4f76c06a1b8deeab013f8b2033cc7a9d3650223a14fbd02553fd)", + "P->V[57792:57824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9982391, Column 1: Field Element(0x7af9765c69e46262df4e1a88ea4c245a04426852f676ed4ae7e9c78da88e8d4)", + "P->V[57824:57856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 10550245, Column 0: Field Element(0x2c9f36464c025073934754e83f94413e31bbdb35d2903ed727a32dbd9f81f2)", + "P->V[57856:57888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 10550245, Column 1: Field Element(0x748686647b8f04c68275e4489518f27ebb2f365205a2340c44f2ac9e8775a52)", + "P->V[57888:57920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 10798181, Column 0: Field Element(0x2e5b70ad633e403ed605d328b6a3ac6c6f2bf8ddbeba54eedc1bb58232ff516)", + "P->V[57920:57952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 10798181, Column 1: Field Element(0x7a8449abf9b921dbcf80e30c482f498b022d2b17997935f086a2965be2232db)", + "P->V[57952:57984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 12149894, Column 0: Field Element(0x5ac46601efdb085ab666ab3e6d43f0f767409051193ef13db45270ff36e11f)", + "P->V[57984:58016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 12149894, Column 1: Field Element(0x430e97c95a4e664ca4dcbcdc03bb0547369abd374ee70c3b8df441fbce6ce6e)", + "P->V[58016:58048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 14225043, Column 0: Field Element(0x578683eeb699ec57a4b508b0545c55b70cc3f5d17373525551aad66ccb9c8e8)", + "P->V[58048:58080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 14225043, Column 1: Field Element(0x6d7510d03ceb9676e79e28232595e0d80f07260b1c97d8022c1b9021126e611)", + "P->V[58080:58112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 15612378, Column 0: Field Element(0x52eef5f57084bc4c480807ee146c5dd31742b273cda123c3711b0fa7c8403fc)", + "P->V[58112:58144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 15612378, Column 1: Field Element(0x838340dd922520e47dcb606d92ecd863c6869fc14dbcf9e13f41a2731e97a5)", + "P->V[58144:58176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 16245974, Column 0: Field Element(0x683724fe6aca6f6a3d0d13ca2c4e55c46287e9f9e595283141da23a4d309e45)", + "P->V[58176:58208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 16245974, Column 1: Field Element(0x2c5796dfbc2cbbdb7bfc43988a94d1b0ca089680c19c8027d9ef2810f6bcd46)", + "P->V[58208:58240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 16366919, Column 0: Field Element(0x543b979a7afec2d4b448b87e19e8ce8207c51aa1e85224b706e8c34cc48c745)", + "P->V[58240:58272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 16366919, Column 1: Field Element(0x34cace33f830b5c5f64a7f9cc8e141766f9039f419389a119be89da6572fcfa)", + "P->V[58272:58304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17618717: Hash(0x0089877d1ff97e25ff311659c0a801387bf868f4a3dc1dfdc866b3e9984adeae)", + "P->V[58304:58336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17759836: Hash(0x0034912a746e9a685abcff99cc51a5593a728e0bf59f86de90ca3ff50771485d)", + "P->V[58336:58368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 18833229: Hash(0x0043a70a0baeb4eb4d9958c2702d5ce26fda2a1d06f52557dd474a6bab9436da)", + "P->V[58368:58400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22597775: Hash(0x00528933e82483fb2baaa3164951e5a933f61574d26b0fffd20383ef5f977e97)", + "P->V[58400:58432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23721688: Hash(0x003be5f3561e05019db907a0f6ba30360602a4e5b906b0fc9bccfdd7b4a63457)", + "P->V[58432:58464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24207089: Hash(0x00cbcf4da3a3209f78f18945102760ac52ff8973a11b36556cb7205e49df42ba)", + "P->V[58464:58496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24885482: Hash(0x0031ed18f8f927b4efe53d541ae7adde7cc478dbfd94ae23c0875079a024ab56)", + "P->V[58496:58528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26076384: Hash(0x0098b9aca248f97a96b847a335002f65de51b153e61d136b48360c315be682c1)", + "P->V[58528:58560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26558225: Hash(0x00ad7c34cd4f7e22c31c3442509a35ddbd9d975c3aa5c7e76017113997df7a6f)", + "P->V[58560:58592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26759606: Hash(0x00495cce2b3ac5466496ae16988c4dd89aa708f09562d7000787762f990e7b88)", + "P->V[58592:58624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27327460: Hash(0x001e74538736d914a0784964e80d46a38315fe346e3a1ece70c57370bde30b3d)", + "P->V[58624:58656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27575396: Hash(0x00d9d24e64bb0953580f8ca99cbc4c2342f2a99a25f21113b40a8f84a2618ff3)", + "P->V[58656:58688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28927111: Hash(0x007122c1bb13955016ae38910d00988bf28152327d17cb7863079c88c624ae8c)", + "P->V[58688:58720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31002258: Hash(0x0077f19ce6bcbe7e488403eee248def37dbd889b7a34792cf6cfa632b7510673)", + "P->V[58720:58752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32389595: Hash(0x00186ada7ee96117a672b4ffd3474a3661cee282b63d23e78f71a5192cf74237)", + "P->V[58752:58784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33023191: Hash(0x00936b1e1acf0eb402ff28d823d4acaa27829d15f133f26982490a521fe6c88a)", + "P->V[58784:58816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33144134: Hash(0x00487abccb1f12f2264e6c0bda214ef1765a694c19bc16439a032103da011838)", + "P->V[58816:58848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8809359: Hash(0x00a4d0dc404a828ba72b2f001c85f54b15265d6ce9a8bc1f3279ef6e192208ef)", + "P->V[58848:58880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8879919: Hash(0x0071bbe1c44ed6ed458f28316b01201fd247f67e1de7ba97d799d1034837e607)", + "P->V[58880:58912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9416615: Hash(0x001d594b329b4fd297d00eb47d5679ce84e826630fdc5c7c09410c149d8543cb)", + "P->V[58912:58944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11298886: Hash(0x0072946295abf899acebb73cbd5c7074a76a6cc44e2f5fc5fb4ab1c2550190d6)", + "P->V[58944:58976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11860845: Hash(0x008c3a3f3978c12dbc30c799191bf7cc81e12cd7a84323afd4bbb9e43e71c698)", + "P->V[58976:59008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12103545: Hash(0x0013123aeed04960126c560652dc75ce403a63730e74d87ec873a5cc3f2081ac)", + "P->V[59008:59040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12442740: Hash(0x00ebf8b10e0f822e37914c7075126944e71ce60e952919402d928712cf3e77d2)", + "P->V[59040:59072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13038193: Hash(0x00f51be039ebe769debde0be5af2f42e44ff01adf9a9fc8cb7b5f9f6f48afd92)", + "P->V[59072:59104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13279113: Hash(0x00cd4098284f8c53b33f1dbe93529a843df02b4a57b4d0a23fc280d2ff7056d0)", + "P->V[59104:59136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13379802: Hash(0x00d86d8f40d86096aab2866abceacf1d3910d46f7e1e95dc1fd76c0288944514)", + "P->V[59136:59168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13663731: Hash(0x006c1a61bc5a1123c4a9d1edae22a7cdb3aeaf6a22ecffd0e6db8cb4bbf2b574)", + "P->V[59168:59200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13787699: Hash(0x00fdf96bc9e1b4cb66c17721f3513918528ccd3dd573ed4291b6df57b1964a3f)", + "P->V[59200:59232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14463554: Hash(0x00fda078e6a3e90e2266d56340adbb99c1d42562c995f52b6290aa218dd493b0)", + "P->V[59232:59264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15501128: Hash(0x00b92172095b6c7db0349384b2f88887af45ce926212a7f7d9bc0d499ad4c6fe)", + "P->V[59264:59296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16194796: Hash(0x007c67a42224608391eafda14232c027cf27848c0fd82b50c1dca9ed006296dc)", + "P->V[59296:59328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16511594: Hash(0x001d5024097b7725bdd7c7b572f2155494d4156cc1188f549d8d0a7b27c51661)", + "P->V[59328:59360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16572066: Hash(0x004551073e1069bed97486751febf947ae2b367958475bf576d0e200e0dfd147)", + "P->V[59360:59392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4404678: Hash(0x0040723ff1ff373dd7ef19ed82bdd0412ec231d7f931720edaaa18fda40ee7c6)", + "P->V[59392:59424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4439958: Hash(0x00d448d9976f58df8cd2f5f14425beb36bdbd11f0e14dd7c8be2cba2cd7c6b27)", + "P->V[59424:59456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4708306: Hash(0x00219d7bdb82e408484231c6ad0bfe180f192e0333677e5cf6accd292931cdd1)", + "P->V[59456:59488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5649442: Hash(0x00fc1c726178d17c9d5e5dc56f254954c303d3355f692f432317b7361f5beeb6)", + "P->V[59488:59520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5930423: Hash(0x002663a5329c773fa19a0ef9237cbce019ab860f4905404e792ad0318e5b8d50)", + "P->V[59520:59552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6051773: Hash(0x00e0357ef574c3893ecd2a8b28c10fb138fa211f693ad580dc2c8257a7923b91)", + "P->V[59552:59584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6221371: Hash(0x00c977e8f01727eb5d4c7447209047dc7c50c4208f63ebdce56647ab9c7a63e4)", + "P->V[59584:59616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6519097: Hash(0x001b7b0e29d2d83693aa7ce47b52308e61d115943ede64036fb9c22ccf20ea0a)", + "P->V[59616:59648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6639557: Hash(0x00e4acb36b95c1a1cb7da3ff5448c29d603628ee20ac5a66504ba214364b0ae0)", + "P->V[59648:59680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6689900: Hash(0x00c4602d9df2a9c05dcedca5571015f10e2a2f5180eeec014528c78cd8c3c11d)", + "P->V[59680:59712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6831864: Hash(0x00ab0da4f459b7bec1f2c051ffe614053ac4e2530b76cdf67f833c673e3a77cc)", + "P->V[59712:59744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6893848: Hash(0x0034ae69e8b1c28e49c84dbac0554edef4841938a66a5aeb79fa4461944c63ce)", + "P->V[59744:59776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7231776: Hash(0x00b27fd6d3b82b3d3dc0de7d4416c1f9ba6d8d694fb27ac3c96c976f4e7ab3b2)", + "P->V[59776:59808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7750565: Hash(0x00b3cfe8eb457434e878bd8d45893984295c290b79fc0fd63524b835fd5bb0ee)", + "P->V[59808:59840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8097399: Hash(0x00d24e3af062cfc9cf678ec36b473d472ff289fe06fcc397561380e6ec63079b)", + "P->V[59840:59872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8255796: Hash(0x00be38685fcc54ce9a9f7990defa3b90294a5d5ebf72dc535e9688e66a400298)", + "P->V[59872:59904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8286032: Hash(0x0051bbcb9bfa8d82462112e6c90af53960554f8d2f6f90b5d0291113a97947fa)", + "P->V[59904:59936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2202338: Hash(0x00af8b56b0f906dfa2a05c30c45a72372532a24519ce5db26346344e551cf78a)", + "P->V[59936:59968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2219978: Hash(0x00984b8675f7fbf48865e7ceabf29432c02fbb55f74d6eb4c44194a6b54d752f)", + "P->V[59968:60000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2354152: Hash(0x001071f32c46538206d9c2c69e5b7ee4a205df2f831f8942c0db55b71a5b0b5b)", + "P->V[60000:60032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2824720: Hash(0x00751747f7c0aa3cce235be2dec6a313a3e94801f37e451668462e48b80a010e)", + "P->V[60032:60064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2965210: Hash(0x008b17de823fe4047cde05a24879627982f2bd554e219d683a9b7266cfb2e7da)", + "P->V[60064:60096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3025887: Hash(0x00afce5df846c341c6c5cb68d61a159b55f6f0264328bf8f06f97fb949bb1319)", + "P->V[60096:60128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3110684: Hash(0x00ce3a8f9e0e028a37dafd7889b37f238916831f326bd1a70caa3cb9f8890152)", + "P->V[60128:60160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3259549: Hash(0x0026a5c59dfd1617be4d140300fb8fb7bffdecb256abd567c2ea8fefc35865e9)", + "P->V[60160:60192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3319779: Hash(0x009933d8479709db1c636040803ed54f715b5629ba42574fe097c2f389c2f032)", + "P->V[60192:60224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3344951: Hash(0x0021d54e16c5a2dfb51e032bfd5ccd3892780c9c0f54facf33a63779e874a232)", + "P->V[60224:60256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3415933: Hash(0x002439dec29457e67980eaaae00870c2cd33a4a71e9b25cb5d0b19de49965b87)", + "P->V[60256:60288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3446925: Hash(0x005c7c58c033dd4c37fcab8a71fa17241c1ead2465afbf6d74d4adc6bef17cc4)", + "P->V[60288:60320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3615889: Hash(0x0015ee8cb12e4c6fca4bf228c51bf51bc23c49a3d1a094068bd599b5f7b3f9ad)", + "P->V[60320:60352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3875283: Hash(0x00dfe47943931ebe4367ce49e6c7f3b781e30ac3ef07fa3548a5ac57062e3aad)", + "P->V[60352:60384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4048698: Hash(0x0030e6883c95a34ba579b4c66d2ac2ccde04ffd67d1094d7d15028ae531a81b2)", + "P->V[60384:60416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4127899: Hash(0x004f01da05663a3d2f2d51a2246fc29fe4610475d81cba9d36f599e4dd072f1c)", + "P->V[60416:60448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4143017: Hash(0x00d029583e9de2a2b21305ff7853dd7f37285c4aaa20fbd1497cde158878b204)", + "P->V[60448:60480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1101168: Hash(0x0078ba7cccc3e017e8a488e6f2d7280aa068e33477b064ca5c93a03ce8c81cef)", + "P->V[60480:60512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1109988: Hash(0x00acae7ef8a17c4f2fff86e2ec68746430311a2a9ebfbc1ac853f6a0a1353c2c)", + "P->V[60512:60544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1177077: Hash(0x001ec4479267cb30fe0626673689d6bd82b9f2e2190adc5a2e133ef3cd96b5dc)", + "P->V[60544:60576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1412361: Hash(0x005dd5e9ef9faac50f0f9139bfac0eb94297bd63ce0952c743d018269acc30ca)", + "P->V[60576:60608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1482604: Hash(0x009432bbd0fee9a83e7fce74eee3a0a2087561f5118e40bff785c86992ff10c0)", + "P->V[60608:60640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1512942: Hash(0x00702e59352cb4a740c52fbbd21206f4d39991e6bc975c391605f6869334c019)", + "P->V[60640:60672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1555343: Hash(0x008c4d13f4c08cf548b0d35c67c681e8ca597e95ee904ddc3a5317a696f40eb2)", + "P->V[60672:60704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1629775: Hash(0x00aa690d92e2bf1e473bc818bd89cffd8456fa413e2c4d3abf985d2cedb1d60f)", + "P->V[60704:60736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1659888: Hash(0x00e047b846218d149a2aaf114757d43f92aeff5bbdac0138cdb7de5e9cf69478)", + "P->V[60736:60768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1672474: Hash(0x00b393bb7c639006aab956516e7f2969fc6918be5729a7f66f5fd0145bc296dd)", + "P->V[60768:60800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1707967: Hash(0x00b54adf895311812689f8696e25a473c7ede1dd9d314a502872a7cb7a06179c)", + "P->V[60800:60832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1723463: Hash(0x00203046ac5074adead88d36167155d363a9ad034008da93dc5c756a4cb652f3)", + "P->V[60832:60864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1807945: Hash(0x0075134cb83e5541edc88dbdcdc149b8e978faaaa510df1df34e586632245504)", + "P->V[60864:60896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1937640: Hash(0x00427957e92582a1ff662efad3ea0b685fb84aebed00bda3022fa2677e891d2c)", + "P->V[60896:60928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2024348: Hash(0x00f8b22defc550485bfa27847eb20491e1ba49a669937e1622a47f24365c6e31)", + "P->V[60928:60960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2063948: Hash(0x00032bdf4d4a6c5eb96543d1cb7800c99b9b2a3f87de3f28e704439ee60e2a52)", + "P->V[60960:60992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2071509: Hash(0x00d58fc09011ffb14d80d5a59e0f99f0dca8706cc0b664c4637429ca1ac7593c)", + "P->V[60992:61024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 550585: Hash(0x00270f04047ce55f5f38b1ef6ec24a1d3b02e276d72f43d430e4bdc5c0ae262d)", + "P->V[61024:61056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 554995: Hash(0x00f32d0bade0ca12e0be6b962c62ad87934b61ce383d4445debc728f88c1f461)", + "P->V[61056:61088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 588539: Hash(0x00dec6165ea9db1b2cfdc3da221fdbfb476952029d5013b868c1bd35fadfabf0)", + "P->V[61088:61120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 706181: Hash(0x00767c0baffe9d1fce38dca6543e0d04e90a2dc9940b80ee444a7c450a307b58)", + "P->V[61120:61152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 741303: Hash(0x00a48e19714983ca17e3503bc14116d3e71a183bc5f86468296b080d4208470c)", + "P->V[61152:61184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 756470: Hash(0x00f1e64d04c707299b84b1ad0e9bf2cb93725010cf92cbae4ef8ac0c35f1038f)", + "P->V[61184:61216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 777670: Hash(0x00081f9311bd5d5487f72d42275c7c31fd83ea9ee117073346fbbceea5a2d93e)", + "P->V[61216:61248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 814886: Hash(0x0026923184f5169821d8ef1b872be13d69aa3db2027d8ad5f4b8309c8933efd5)", + "P->V[61248:61280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 829945: Hash(0x0062a2e7733f97c2ad218baac5c590730c0cc54fa8209774c8cf00ea4f3071e4)", + "P->V[61280:61312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 836236: Hash(0x003834519effd7bfbafdf072612ca328c09daf2c67161fa3240d4499672daf51)", + "P->V[61312:61344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 853982: Hash(0x00424420dbb9e02d08d8b6e9994b2054cb61f32e24fe7b7bde9811f935401bf6)", + "P->V[61344:61376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 861730: Hash(0x006af8ca9f1604861e55b05ef1b014165b59e92d6639617a6237cded69ff9e8b)", + "P->V[61376:61408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 903973: Hash(0x0002623063843004ff465eeefdfc25244a4b88ac24cffeee7cb99cdef855e5af)", + "P->V[61408:61440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 968821: Hash(0x005b16472fbd75194614aa5b662fde96b75398d44a1a3ab5d734c8f8d8d37bee)", + "P->V[61440:61472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1012175: Hash(0x00c3a26c7d6c1ea6d49954cfc14bc5bf85bff229088ca4ee58704a43b490aaa7)", + "P->V[61472:61504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1031975: Hash(0x00a7e394683b4e0d196aa670e66d0dd716249281cb41ffc25c9493af64c535cf)", + "P->V[61504:61536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1035755: Hash(0x007eca6538093018405e75e0ad7f1cf85edd9cf7a7e2faf4d4d122354852303b)", + "P->V[61536:61568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 275293: Hash(0x00812b53710b735b6c424527185461d9e410ed873730dec43c4708756afa9d23)", + "P->V[61568:61600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 277496: Hash(0x006e48e902e98baee2c1e7e76cb8d993d75147f74ede9b8705759e92092e47e1)", + "P->V[61600:61632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 294268: Hash(0x0006737e582d44cc15ad2a33c0fd9f8c33b417216275ffc6fdf0bd1eaa051bb1)", + "P->V[61632:61664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 353091: Hash(0x004019f9b801409618e8caf82ccb720bb57ed642f38610d530ddcc7be3c99871)", + "P->V[61664:61696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 370650: Hash(0x005104f304eb8306ef88d448a921ecb68f79e3efab0a9587b6f3fd242a002e62)", + "P->V[61696:61728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 378234: Hash(0x002cf3d1383fc3d9f0aed82dd9e4852e428fe32035e62416855bb0fd14b39d2f)", + "P->V[61728:61760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 388834: Hash(0x00a204047f557790acc0980f36a38fb733c440995fbe7718c8884f6b23c240ad)", + "P->V[61760:61792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 407442: Hash(0x00a16f9f579f228ab8ec0951d70d26b731fbb89fae5ba2bc03bde6a6e9d65d01)", + "P->V[61792:61824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 414973: Hash(0x00fa997ef3ee5bdcd89c1db49a505740f55f19716191efe70675bcd3a45e36f9)", + "P->V[61824:61856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 418119: Hash(0x00938fa8b5a3ee8b2309135aee6123b1cbd9e3ea5b31959c738874d371c20467)", + "P->V[61856:61888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 426990: Hash(0x00b5187d4bfb89695412d80b0fa8c978e817cb2739f0429e0b13f7131755a682)", + "P->V[61888:61920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 430864: Hash(0x00364a9c1ceda2a8bcdb1788498e33a5edac241e56e15551395522e676465019)", + "P->V[61920:61952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 451987: Hash(0x006fb398fd4ae31203d7f2617b17590d3e92f57eeb265c11825109424c303d52)", + "P->V[61952:61984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 484411: Hash(0x00502aae442faac0197cd4b52d9effe01728dafb0386a5a3dc3f24889a9f696a)", + "P->V[61984:62016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 506086: Hash(0x00e333635b5d886faeb4d074b127f2eb9a7970c5a189f87167b19a035c9526a1)", + "P->V[62016:62048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 515986: Hash(0x0093eee53d08f9c922fd766ebf540ff65ba14966ed71107cc42dcec09df51c42)", + "P->V[62048:62080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 517876: Hash(0x00209f718de1841009a10d0186e7b71a4e0e49b4b00a4fb5e882dbb7666d01e4)", + "P->V[62080:62112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 137647: Hash(0x00e99664d0689fb4625c4d045a64879052e7782d20bf94a10bf44b4d4a10899e)", + "P->V[62112:62144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 138749: Hash(0x00e4848589270c96bc3e97199b3cc3b7aac323a7ce894d8fdc7a939465eb5ce1)", + "P->V[62144:62176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 147135: Hash(0x00d0918c4068def8868dab2c85308520ae4398b0b5d176ee6ac8317705b72e43)", + "P->V[62176:62208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 176544: Hash(0x00a4ca4b162ecab4bfb32621063034b28a1d8279b015c732478b976916c7f40f)", + "P->V[62208:62240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 185324: Hash(0x0017775a2510a1046a27ca941e8075ea551ea520556cd2f740045b0176fe42b6)", + "P->V[62240:62272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 189116: Hash(0x008462380100b08dee8fda04564bb53b465172b475cca17a860e865c1b99e0f0)", + "P->V[62272:62304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 194416: Hash(0x0010623cb2309ee4965d8bd50185ec025dc80fea2c17ead6c34d7035d2109e1c)", + "P->V[62304:62336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 203720: Hash(0x0004604adb084e307d7308b9cd785396e2bbb09bde8e54758704a941f5faa800)", + "P->V[62336:62368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 207487: Hash(0x00ceab20560374b667cc1e6039731db1fb77e7daf8c22e5d175f4b6d22347bb2)", + "P->V[62368:62400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 209058: Hash(0x009b437b5dd67e4d5ba76746ed8c2a6735faf613c032eec7961d22e1dd800aee)", + "P->V[62400:62432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 213494: Hash(0x003ae404db99ef4ff27725abff67c9adef386ae890bdaa834b6e98199d6f2824)", + "P->V[62432:62464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 215433: Hash(0x002a97eb2b5e3c6d9184f1f66af2ed361967c5f8042da269bdad78e420528e04)", + "P->V[62464:62496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 225992: Hash(0x0077df90cbf6068017287a9fd59495b2a8cd0ce0d189c8ee80e5949072a0e8b0)", + "P->V[62496:62528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 242204: Hash(0x00b3b8f6b1bd0bba23eb96b9f4dde7dda324a15c9284851959d718f484464fb4)", + "P->V[62528:62560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 253042: Hash(0x00912fd0d6346673081d18f4e7c03116bcd11dcb6cd3c3a64fe03aee8317aa9b)", + "P->V[62560:62592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 257992: Hash(0x009f34eb41318ec8a3e2351dbf5ef10b69ca7813a4f1fbf367f238ee9b0a72b5)", + "P->V[62592:62624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 258939: Hash(0x002c27bb377d564dc574c0c76c270847b6d9cd7c37e57b3e38273b85f4454293)", + "P->V[62624:62656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 68822: Hash(0x0019bab62a84799e35b48747d08011d96a9d928ce94a33d54edb075c3ce46c3e)", + "P->V[62656:62688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 69375: Hash(0x001a3331184682f0e6aeb860e8b1835631f26862740dfb51b5ebc77036cbe166)", + "P->V[62688:62720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 73566: Hash(0x0090b0b51aa5d75354abb396d0ca454e0a1ab768f88d4e0b0c914383faf62797)", + "P->V[62720:62752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 88273: Hash(0x00a1335e7998dbfe240383043c8c9b00aa379cda0cb7210aa94ef7a0b4f759f6)", + "P->V[62752:62784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 92663: Hash(0x006d73967bfce98e3fc80cb0a627464b63dd1c0e7f1d3cfac771f3cb8b47ab4f)", + "P->V[62784:62816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 94559: Hash(0x0008978fcc4b4ffdc774f6fe8b447e85c3977b84cb3a7cc0f21e7745b37e19f4)", + "P->V[62816:62848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 97209: Hash(0x00a4ee2a22482e00385d6cda398c202d3c9b0544591ca3fa3d73be9b52465f9f)", + "P->V[62848:62880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 101861: Hash(0x009e29bc2bfe73b1c228511cfca2e9ae5f3a7dc2d876fd11ea77319dda4b5aff)", + "P->V[62880:62912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 103742: Hash(0x00e4b058d7e398cc0296939fd61b461faf768107559545084ad3d03b5f69417d)", + "P->V[62912:62944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 104528: Hash(0x006e106089eb22f00e5c5bde2b843258459ddfa071c594403b2e463c88d4bd12)", + "P->V[62944:62976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 106746: Hash(0x00bbe4f7f4c8d17659dac3fab1c740e0c954d29319d6830beb915fd65c82b3cf)", + "P->V[62976:63008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 107717: Hash(0x007be95cb1c3a92180ed9533dc19b65e30333e603ee9b21610a528c2ce8fafca)", + "P->V[63008:63040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 112997: Hash(0x00652dee9e0b4aaa7021c48431391375938097d450ec807768b5748731b524e4)", + "P->V[63040:63072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 121103: Hash(0x00fe4a6539f6fe5167805316d2bf5032aa3e4d4d8502f6d3b5e55bd626db797e)", + "P->V[63072:63104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 126520: Hash(0x0014dd143c618cee0c31169af2b3977f47c56c3c8a2897d8345bc261ec34090a)", + "P->V[63104:63136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 128997: Hash(0x0068eeeb8171aeb193d96c5361d4fc31e3537f9b7abf50744e35fca1b1884219)", + "P->V[63136:63168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 129468: Hash(0x0095154f58341c5544390f5bb053d8bf998076f1cd8b69b08709f1a291ba37c2)", + "P->V[63168:63200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 34410: Hash(0x00b1c36f7bb23afea6add9d44b5e20fd5911ec9b2a1480b6ff344f021cab597d)", + "P->V[63200:63232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 34686: Hash(0x002367137b3d649abb0986d0a79450e7da27661dfab60f0ea92a0e62bd967ff1)", + "P->V[63232:63264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 36782: Hash(0x0056772cb010d4821f1f29cc221a4d95a0b1a88893f942574f6146a021cc6d71)", + "P->V[63264:63296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 44137: Hash(0x00008c4a34627b47ffe3b381504ade04945ff0d2c81034c42a5c79f8201a8442)", + "P->V[63296:63328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 46330: Hash(0x00a4c8bde1e5a43adf726bc9df1ee0fc1e8766b1328d56c1da853f0cc110d3d5)", + "P->V[63328:63360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 47278: Hash(0x000dfd2fc4404308213528c924f3cf5f89f39191c534eb82cbd21509879ff2c9)", + "P->V[63360:63392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 48605: Hash(0x0073be30d64b0c3009e386a41eba564f2b8b92d27d247e1b3ad8acdd90ea1e6b)", + "P->V[63392:63424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 50931: Hash(0x002fb51cbc9589d4aa7da7b3280848b632c794a9b50f473ea222769f427d6a87)", + "P->V[63424:63456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 51870: Hash(0x0085fef4e94a9dd9bd40c15bbe2ffbba890abfaf5b68cd59aa09de0bac6e5308)", + "P->V[63456:63488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 52265: Hash(0x000c39a6d420f59d51ea0e3ee8d336c2dbaea1bbb4f3d8526e22645712dbad6a)", + "P->V[63488:63520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53372: Hash(0x00850e67d38780886f2b15c2b131fcc3d4cb0f6468b4b11c3d6e9808e0387d3d)", + "P->V[63520:63552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53859: Hash(0x003179038f17b88c514b8ff71295b9006470f2c88db6410ee20e6bde7f9b314c)", + "P->V[63552:63584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56499: Hash(0x00de0828bb05008789b053cad62e25c4b9b838507383b3e6b24cf830cafbea45)", + "P->V[63584:63616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60550: Hash(0x00f255b24d749cae625ca15555317bd2d54bef5fe057bd181cbfcfabf40d218c)", + "P->V[63616:63648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 63261: Hash(0x007d713bf09fbe3d74034247c34e14656a6282d0ea2dd404dd678ae54613c63d)", + "P->V[63648:63680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 64499: Hash(0x00a1e2907c12f06effaa6f25d77a4c4936d76cae975fa0706808dd637f5f8be0)", + "P->V[63680:63712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 64735: Hash(0x005743dcffd531dc8d1cbdc7265f483ada591e76a9622e40c608ff2edca52680)", + "P->V[63712:63744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17204: Hash(0x00de7adc7d85cefd5f37908f6725039df02b0fe3cceaea718836035340c14bbc)", + "P->V[63744:63776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17342: Hash(0x0028a49e391a5093ad3d9d80667788963f43c5be63c82d1203a0b138bf5ecdc7)", + "P->V[63776:63808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 18390: Hash(0x00d6abf0c8c1307cf33d4ce208cd5f8a0fc61507618697aea584543b266d8e65)", + "P->V[63808:63840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22069: Hash(0x00134aebc16494df480edffca03451df83d6ac592d776e375375eceeef8b2845)", + "P->V[63840:63872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23164: Hash(0x00a2c54951670ea2c13fc99c850e914fb0805cd3da84698e89ae833d7f75284e)", + "P->V[63872:63904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23638: Hash(0x00586d26c23a3d111a71a1d9ddebef314c24c6cd213ad6849a6857890726a57b)", + "P->V[63904:63936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24303: Hash(0x004a5b58369280e252f9c0114c5f468b95833a9ba41cd0a98ddfca155691e8f9)", + "P->V[63936:63968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25464: Hash(0x00eec15b09a1ec07191c64a0be1f011e87985d05369bf21845bb76ecc582c51d)", + "P->V[63968:64000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25934: Hash(0x00a6b2f425e9c0d9ce84834b6941365535063d7458483d177de3acba0b4b4b2c)", + "P->V[64000:64032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26133: Hash(0x006be154bd139fc5b37f50ec7b0f98b248fd225d29cca34bbbf735cf54115a13)", + "P->V[64032:64064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26687: Hash(0x0076a1611e287ef57f83c8b241fe180c811d5e96d06750c89c76934ea7eb5778)", + "P->V[64064:64096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26928: Hash(0x00e4be5a423a6b4c5c0e88d0d9f1cdefe9b0b76664168ccc2381576edadac7c2)", + "P->V[64096:64128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28248: Hash(0x004d630ac5abbb1a581d25ca75edd40120c7b8731a9c0c9d3b6282458749ec19)", + "P->V[64128:64160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30274: Hash(0x00611d8c175d1adcfed6970d32aa283dca8f320fec9239a35f6a5ede5f1e4ad2)", + "P->V[64160:64192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31631: Hash(0x009ad35c4e56fd7d9134a3cb327b7d9d9afcad9f9e95428041ae814dd019284d)", + "P->V[64192:64224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32248: Hash(0x00a38b0f63413b434207896390316157199266ef33953af2f0a1e9c5c6efb545)", + "P->V[64224:64256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32366: Hash(0x008f34dbb9095907fa4d337854d23a066ef6f019780ab8043f7187680eda2bff)", + "P->V[64256:64288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8603: Hash(0x00e08e853907b51aef7a827e0874c44787a9792dafa47ad5bedb32ef0afef55a)", + "P->V[64288:64320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8670: Hash(0x002ebfe2a6a1d28c175f995b04981d3e030248b9501c6267ba26e166465ab770)", + "P->V[64320:64352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9194: Hash(0x00b954f5bef580ac0c1e969e7d1261fd9366f2596ad6c3e958ec10079600d1ce)", + "P->V[64352:64384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11035: Hash(0x0052362e3f5094b6ce076703c1f180ddc1c752b8a1820132224201ad60804199)", + "P->V[64384:64416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11583: Hash(0x000326d355758c4683e5c54c60c20a892ac640d1126c4ec61884a66edd171f79)", + "P->V[64416:64448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11818: Hash(0x004f88609b08b34a92ab571da30e4bc930997615bcb6ee9e2a2f3d359870f4eb)", + "P->V[64448:64480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12150: Hash(0x0073ef5b2064620948dc1ae83fbc2d1d8a02aebf25c81494ed0416213a15f2bf)", + "P->V[64480:64512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12733: Hash(0x0029effd539395dfc835ea9ef5f21a7594e5f5f90bde1f2291494cff246fe92c)", + "P->V[64512:64544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12966: Hash(0x0044e2f57486da64e2861a36c87dc10f8e07ffd74432c24cd6536cc8b74dfc35)", + "P->V[64544:64576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13067: Hash(0x009734dc71186d49cfddd3f4ae347d283b94a449f8f2dc3835068d335fcd7600)", + "P->V[64576:64608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13342: Hash(0x0022588fa8623f6124c62c45dfad28e0656403e70a6e1a9176b9e116045714a9)", + "P->V[64608:64640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13465: Hash(0x0012e1ba38fe5df0663075839396f953fd40622d959647e9ba4e3cb85a6c190d)", + "P->V[64640:64672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14125: Hash(0x00483037a34874fe644ed49b3fc1dfb28121d6f838d577a233c6a8c0bf043771)", + "P->V[64672:64704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15136: Hash(0x007b056d655fe7d33e3832d5bc5523dad9f0e472a0783fd9bb7afab936d84a1c)", + "P->V[64704:64736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15814: Hash(0x007eedc9af32d8b04b440d9711167baf15c77df9f5c04a66ca54b89a559e9b45)", + "P->V[64736:64768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16125: Hash(0x00702e515b916261c54d281938b4350426631da52f343f7fbf851f8eb6fdbcf1)", + "P->V[64768:64800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16182: Hash(0x00f383b64db1b887c0765248215fd3484198b3c8408c978825521115aac6eaf3)", + "P->V[64800:64832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4300: Hash(0x0049e6973df7c430f50c124a30fd0f2237626d6e820937b11558fd9ad9569aa4)", + "P->V[64832:64864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4334: Hash(0x009b08d37cd547a14ec0dfb37b337f4361f4c7cfa3dad0e4a201615fff8be4a5)", + "P->V[64864:64896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4596: Hash(0x005aa3f781dbe84a905877bb3115072608b6c805ad1bdd047ecc31ad2da8dc75)", + "P->V[64896:64928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5516: Hash(0x007f021ef61632684f2bbe08c3fb556f885cd82379f50b5dbb80445b21583c35)", + "P->V[64928:64960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5790: Hash(0x005f7c9fdaf93d5a69ff5a6ed8694985b0b87c4a9331d25a2aecfbd65cb36f97)", + "P->V[64960:64992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5908: Hash(0x00cda694f9e06c065998d7051af1b2437ec8fd841e2987df9542e42d7619c7de)", + "P->V[64992:65024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6074: Hash(0x0000ff85c32b334a208dcb0425b480eedaf23c8e4b3d0bb6f413e84c0ec4725a)", + "P->V[65024:65056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6367: Hash(0x00a8d3b0d8f24770059d36fafb4911c986ffa5cb17f3f17922802f196e9d277c)", + "P->V[65056:65088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6482: Hash(0x001c034c967cf60755e97415fcfbf01cf996fdcf47c5fa5462ec2e205a0bd492)", + "P->V[65088:65120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6532: Hash(0x00568c581f44a9273ea73fa85b69f427a7de080bbb6c709327b03625f7d15513)", + "P->V[65120:65152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6670: Hash(0x004330da87d8843beb6bc6706755f9705008c08dc6cb07ea81163fec924a4e48)", + "P->V[65152:65184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6733: Hash(0x00af0f258c5550013c3599ef51c72bf7d27c9b3b7e6f0ad9813e3d1ec0d1ec19)", + "P->V[65184:65216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7063: Hash(0x0070d92c764e3e27e8ffc81c00329a2cdbe0cbf138a53bf95ed274d43f030e16)", + "P->V[65216:65248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7569: Hash(0x00ef04525be7634a2b768c48bb001b00741c0578cd8b71405558fa5fd8d87a90)", + "P->V[65248:65280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7906: Hash(0x0073dfe298f82afb39a75b84821a3100eda20f8e51821b2008d9541b012c84d2)", + "P->V[65280:65312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8063: Hash(0x0099efbd2e3bd30d77beb28be26fd5c671f375fe49d3704e637b121bd00aaf34)", + "P->V[65312:65344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8090: Hash(0x00531e9fefe10dfa7e7f3baf74533aa793190f7ddf783d69f45198bf6daa468c)", + "P->V[65344:65376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2151: Hash(0x006b345d3717c69967d71f0bbb3700a6ac7ad237cdba15734ed7d74e325affa0)", + "P->V[65376:65408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2166: Hash(0x00cd17bacffa6c075e70703dbee0c9afda114e277852c9e1b3f4ae4444d39741)", + "P->V[65408:65440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2299: Hash(0x00a159115ee874a7019baf09c0e4ff5afd58a880176d253cdb652a3f6f2a917f)", + "P->V[65440:65472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2759: Hash(0x0009d02fbaf868349523afd65146aa6aecaf361dc82a70f6d3fe3e0ab54ee2e2)", + "P->V[65472:65504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2894: Hash(0x00d13e3962f223ac6a31f39f183ac4f1667b27f869f6a5b74d183f1fafc97137)", + "P->V[65504:65536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2955: Hash(0x0025e928bd37ee21171a75a03b6387795fc47efb5d4430db0830b2bb32a5a12a)", + "P->V[65536:65568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3036: Hash(0x001d70d0b73f7bddada92d05ad50f3fc355983bc25f7f0a17dee5e0e997a1e37)", + "P->V[65568:65600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3182: Hash(0x008370c5b2a18b7505f71b14bc4cadc1ce5f6dadb71923b09a5b5cb5784bbe8f)", + "P->V[65600:65632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3240: Hash(0x007a151cf9a209b7d109a39cbc2ce1c330ee5e689dc037135d0d4a4662ef6fb0)", + "P->V[65632:65664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3267: Hash(0x0017026fc02192ab8da56bba80a2ed9321cd3aaec5eecfe0e59a7e4ef1d57368)", + "P->V[65664:65696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3334: Hash(0x0006f01cb5b93eb2be96993254b7d60ec5a32e2028289b939b88f6ba3aeaef88)", + "P->V[65696:65728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3367: Hash(0x0082fda22afaef1307394ea79a8087b959ee2bbad8c9c30dbca549ef0b27932f)", + "P->V[65728:65760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3530: Hash(0x00551d16ea507be5c8705656a69838e1fc8361f37b60999634f596d3cf3a7848)", + "P->V[65760:65792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3785: Hash(0x00e1f54e496761bc211aef13174751f6b1f34ca3e665fba5e28ac445e9434876)", + "P->V[65792:65824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3952: Hash(0x00fe149d4a26f45b88984f3d308c0b6d0fd003a4f092aecf39ef9f3a3ed21c91)", + "P->V[65824:65856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4030: Hash(0x004044556bacf61b2688406c3e37cf805499c10f593f372c624b0a23e9857ba1)", + "P->V[65856:65888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4044: Hash(0x0083a705508ed01a7772459634d007fafeb4d1a2db023dacf37d15acf4ac1868)", + "P->V[65888:65920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1074: Hash(0x00244a6053c5a2ec80d0cde319cfe19d8d1a8c698ca1b13558a8aa08476b8667)", + "P->V[65920:65952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1082: Hash(0x0071bdc64d6657e897e5786e31bb009a0fab5d677f7f4250bf4e595b2ed1e2e7)", + "P->V[65952:65984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1148: Hash(0x00fa15daee1f54c9448cf7c4086c590aaf24e72be528fcf8333041b83b01fee1)", + "P->V[65984:66016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1378: Hash(0x00eda1bb1946541cec1b980c1fc1997516fe69e99682212238368bb2da684900)", + "P->V[66016:66048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1446: Hash(0x00a221130d0b60e56353fac9d1be7295d8976f21ad0835ebefa359bb5fefd707)", + "P->V[66048:66080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1476: Hash(0x007d914e57caf1b8ce7948e2b249e1db89c00fab1ea8b0ac048f2ebcafddc90d)", + "P->V[66080:66112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1519: Hash(0x00293b2bac7c15f7d635722d3a21eb3f041422981a406cc6199f847bf8baa0c1)", + "P->V[66112:66144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1590: Hash(0x009cd9743b58439464b01207176934547706e042062741ca1c43e411d3ae0d87)", + "P->V[66144:66176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1621: Hash(0x0048183c23a89835a66c7302acfe6015f8622e14e5e160becffac684cdb63544)", + "P->V[66176:66208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1632: Hash(0x001827dc1cf1c599a349c949a3c33c3fa443ea188d4a3cbad89dbbd616c67f2e)", + "P->V[66208:66240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1666: Hash(0x000d84a858d0cf6c20934aa70339662d64e33b6cd01cd61d936902136934bc35)", + "P->V[66240:66272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1682: Hash(0x0061bea4269f0f89a7d0754f36b21abd95a5d2d9967214ff8caf77a9c4ba64e5)", + "P->V[66272:66304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1764: Hash(0x0058fff607f8587f62b3f3aebda77ff8ac3306f124fd9f32c3b602752ba6c021)", + "P->V[66304:66336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1893: Hash(0x00ebfe7acf221f40143ea81cfaef6dad378c04a51ee6e096a2fefbbc46c1817f)", + "P->V[66336:66368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1977: Hash(0x00a4b4e0148959e23b4fb6687654b6532da9fb763ac20b7ce3e137ae5e367c86)", + "P->V[66368:66400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2014: Hash(0x00e15cff0e6ac5e19416b721bee3d07caa02cf7c071c88945132ca320d1d85dc)", + "P->V[66400:66432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2023: Hash(0x0023ddc45befff7655487f79210afdd40ee76d1a82c5f6d42a85339fe8d5d06a)", + "P->V[66432:66464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 536: Hash(0x8a2bf04d93fee815f7b36f7f89b724fdc827642c18af6c49395c55f5c547b1)", + "P->V[66464:66496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 540: Hash(0x4cc5c7048f967072eb61a539fbc1d19d0153a83b794aa080f43ebf97357d0b)", + "P->V[66496:66528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 575: Hash(0xef6e5b4c7360caf542bba9607ed96f3d64b0d65342fc72afbf33526707bb14)", + "P->V[66528:66560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 688: Hash(0x7e694b63a86e4ed5f1d76ee3dadb395ae757d46087649b8631bab60855d961)", + "P->V[66560:66592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 722: Hash(0x98e419c607461a5352002b83df8f327c426e8b6cde73fa78f1596037b7ad54)", + "P->V[66592:66624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 739: Hash(0xee5a6edc980e378dd5dd0718707168e5fb55f5627a983828fabd4c399b85da)", + "P->V[66624:66656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 758: Hash(0xd23d88047d2f6945382752e18cf1142c90623dd80667e3402da5df973d2cda)", + "P->V[66656:66688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 794: Hash(0x259480451368f92efaf04113cb880598680792a671badef71579eba72eb7cb)", + "P->V[66688:66720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 811: Hash(0x52c29a449401dda31752e89233a84ed15e8d35b7275b6ce5d4699766cb81e3)", + "P->V[66720:66752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 817: Hash(0x7d72b1286484ee6d3e29b1b9af719707d4ef9fc97eb63468d81e369802a358)", + "P->V[66752:66784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 832: Hash(0x2c00c9c7f9805097243916a432ab56927daec9352670adb05eec03e8b55708)", + "P->V[66784:66816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 840: Hash(0xa663449bfb75dc0639bfdf607ecb0ff89e2bb5efa51cb5542127601551ee35)", + "P->V[66816:66848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 883: Hash(0x9dd6d305751b7e6c8d7809e5a4244cfc19df6ffc3227dbdf8fbbceaba98e23)", + "P->V[66848:66880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 947: Hash(0x5c05b4ee536a16595e33dbbc81275ca3dac5ddc5c50f3c5df3e3b42e92f5a)", + "P->V[66880:66912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 989: Hash(0xa8495f27cb240f56fa1d247a12d3967bfc39d9e0c2560c14c8c958b9f79e7d)", + "P->V[66912:66944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1006: Hash(0x28f06faf05d651f8bd4858557000b8382ff3746e97e7431739e5b57731dece)", + "P->V[66944:66976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1010: Hash(0xc8dbe248c34eef5aa3ee33c28e2050c7e087c2792434b738a8aeebd8dc8b08)", + "P->V[66976:67008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 269: Hash(0x570f94015c734fd0c77e9d01e8414894250196cc234aa6920eaf7de69657a1a)", + "P->V[67008:67040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 271: Hash(0x3b02ac71f618dc4edbcb16eaeadf10c12d53c34f3e28b8f72d985deb6ab7e72)", + "P->V[67040:67072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 286: Hash(0x58b42b6a9609c11ff65daaacd8c5d181885a65594f2464d4f7c0c2ba94a085a)", + "P->V[67072:67104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 345: Hash(0x6f5da54adff3fba84589eddd6e6bd947db7d0b50cb675102e6e477aa0c1d752)", + "P->V[67104:67136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 360: Hash(0x1035b0c14c72a70d1304392505b87d7b41828374e738deb73314e4ec5f08615)", + "P->V[67136:67168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 368: Hash(0x59c1aedc2590a6c6abe57febf9fc9230bdf9125a898918ac700e10f1a6a9da3)", + "P->V[67168:67200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 378: Hash(0x3f35d416c2707489f5fa287ae5f7586d0121a0fb86d05cc5948d5fe54f36439)", + "P->V[67200:67232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 396: Hash(0x7993fd6a603bbf70799b64223b080af5996c6abb14341c23c2284bd727aabe4)", + "P->V[67232:67264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 404: Hash(0x7c3df1cb7bc75e82aa1c7275ac1b220c3df6466c168e3a2cdf616be92d155bb)", + "P->V[67264:67296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 409: Hash(0x4c93227ec137db6c6c912cb1b4539a9102eef971da5c3d68a1420989e7830f6)", + "P->V[67296:67328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 417: Hash(0x7781e3efcd53333423e73568cd077fa65008e0cd9f7d70242d043be5c360603)", + "P->V[67328:67360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 421: Hash(0x3c94919b1be9c040041e6155f30b6ded5a4f3d7935bf97e6ba20a38c459575b)", + "P->V[67360:67392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 440: Hash(0x48bb610cb19426912d8831720e58c7e73d5b8cc8b0c0721952ebccd69e737fe)", + "P->V[67392:67424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 472: Hash(0x1b91da9829dd13780a27b6db9eed27d6b2dd50d52ebf7151c051d2e00e8f8fc)", + "P->V[67424:67456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 495: Hash(0xfd450248527d5420b517284edbd38e03d31cb4db7cd8be6bfece75dd8fa6fc)", + "P->V[67456:67488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 502: Hash(0x2938d5394ad3cf3404139d0afb9ac353eb7dc867f631b27bfd97a8b639067d0)", + "P->V[67488:67520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 504: Hash(0xdc2b0ee3ca16d99188d6033b600e8ee31d45700fb59e3c38e558819d513e25)", + "P->V[67520:67552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 142: Hash(0x3a3d8ba116795d1297def04113139b4662f1b056bc9e9739d3f0d86c9ca32fb)", + "P->V[67552:67584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 173: Hash(0xedbe322b6074a1168295747b0aeb7deae4049fa0147afbe89cca1ea72394a5)", + "P->V[67584:67616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 181: Hash(0x5f6202742b8594b73919189bb88a19bf70fca228415832019cda4e90ad9bd79)", + "P->V[67616:67648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 185: Hash(0x3e83455c5edd4214fe62d3bc9497ea75a1e52c773e81d9c7d54b7b07740473a)", + "P->V[67648:67680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 188: Hash(0x457ed477657e937bf8186d7659bc24175251c691eaaf87043e298e6b2020ca1)", + "P->V[67680:67712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 199: Hash(0x43266ecb94242c9d705d85e5e44251c689562d7380c1cdb27e08b242d110cce)", + "P->V[67712:67744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 203: Hash(0x38972bae6c459f355069e62f79fdd69c2060c9ae63e9f66bda58fff25c0b0e1)", + "P->V[67744:67776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 205: Hash(0x214513eb9d7001bc698d39aac57505448f5f22f2dd187cd1453fdc2dfc58b34)", + "P->V[67776:67808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 209: Hash(0x22de2d6c1fa725b4cdd9b0e120c3fa8ef58b2bbe4bd9bb728e1a56d3ca5776f)", + "P->V[67808:67840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 211: Hash(0x37058fba9ec23b10f67b76538080c2928eb26bae47df6647fd246ff5bc8dae3)", + "P->V[67840:67872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 221: Hash(0x5a1d1034bcd811f305c0c4c5d10ddaae8bc1d69e9cdd84fa7847ee7e98cf0cc)", + "P->V[67872:67904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 237: Hash(0x1a93ead1f9b26d9efe64fc110e0308dbe9d9a87211409efa5eec6dc521f2c62)", + "P->V[67904:67936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 246: Hash(0x41f9d81a407a2c6be1ebf8a562075e2651d54556589ea58fd1a4c78e13b0676)", + "P->V[67936:67968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 250: Hash(0x531d55ef6cbf3b3eb7fd5a6711efa05b0cecbfe0fa4f8e7c4fd4c8d02bbed1d)", + "P->V[67968:68000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 253: Hash(0x7a63caf1c642d33e69fffe067cbb2e74fb5b276473dd0f9a04919c4a36d7d19)", + "P->V[68000:68032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 66: Hash(0x3600f23b3d731e64865fe8b33925d545524b13a12944bbbef03bc92a3b74950)", + "P->V[68032:68064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 70: Hash(0x1a2202b631c56cce7222ae0cd18ce7c5043af6f0e321dde75bc29e3cccb495d)", + "P->V[68064:68096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 87: Hash(0x531d5620a81384aa62af3bbad35a24ccd4de1a60518df7f7382384950a18501)", + "P->V[68096:68128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 91: Hash(0x685ead242630e9f97e5b90c90d1343e1a85bec04add9eb7331a77062d93d31e)", + "P->V[68128:68160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 93: Hash(0x6b362f4addc0bedbbaf5aa441c94e65cad82a1c25db3612e7d206b847506ff4)", + "P->V[68160:68192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 95: Hash(0x246001f87bbe49011633e2f857eb86973cef171e7157414cd45a6b7fb1733b1)", + "P->V[68192:68224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 98: Hash(0x7241b7ad82a55feee33b96f5e85f3e0d5516b4282d9ea9270e80142c3237ec4)", + "P->V[68224:68256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 100: Hash(0x568a32cef299a069e3744c0d8d3723ecd52f6009c2b99a41a732929ce41439d)", + "P->V[68256:68288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 103: Hash(0x479aed0d07796c6c2e95f20f287cecc6e1901525f6fee24ffc811d3e1c2a2b7)", + "P->V[68288:68320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 111: Hash(0x6bce5c1101223fb1c93a21e5c30964b5a0a480a77f4dd06ef9ed860d1ded567)", + "P->V[68320:68352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 119: Hash(0x3c7b4c53ea9a79645f06d049a6618b9df96fbfc36cca082cc82b420b1598322)", + "P->V[68352:68384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 122: Hash(0x263546a2797fc3affb7bc70c5919276e8299d9955f5ea4b2a558485e3cca3d3)", + "P->V[68384:68416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 124: Hash(0x1adb829d16e753b725da2301eb8ccf7df259982be495245561b8025d8d21b7)", + "P->V[68416:68448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 127: Hash(0x34e0f8ae4c0ffd4be4c3cec2b76a840f3e3756d00f98ea862cd17afc1747ea5)", + "P->V[68448:68480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32: Hash(0x20a885a242d35c597921e253e06b47a2105a6164b41bd297f394146640d0c2d)", + "P->V[68480:68512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 34: Hash(0x40f3d92ddce6cdda3416a13bf1cdc09575b1a3bf719582d6533ea25cefa59c2)", + "P->V[68512:68544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 42: Hash(0x5be955a1580ec17cf91dd70e4db9f1d68616a1415a7917dbe58e0beae67be8c)", + "P->V[68544:68576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 44: Hash(0x2b349830dd747769d0bbf7ac8c5ba538569e4a42de33d063bee6d5c27d439c3)", + "P->V[68576:68608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 48: Hash(0x3844e1857c973424f307b807ed103c8a47d3d5b10d9f8029957532b36cc5f69)", + "P->V[68608:68640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53: Hash(0x48a842df6e32065e4d798cda5243a42a52648b1244ca3e114b9103e363d947c)", + "P->V[68640:68672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 54: Hash(0x3f3972b0638cdde718ce72247faf055cce5328c2ebb18e636088096d4e6bc5d)", + "P->V[68672:68704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 58: Hash(0x3745061e8a82b1cbdffd1302c4c886e61aff759c3d337785c277f2321ddb683)", + "P->V[68704:68736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60: Hash(0x7a1cc0a304531b30dcb418608f7718f314184042ca98585652d22e2ae329ac5)", + "P->V[68736:68768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 20: Hash(0x488e6c01a00c125c606020dfb47632fcf48da82c4289193e945d4e304439f7b)", + "P->V[68768:68800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28: Hash(0x1d3194d97022df8cf44bb2702af38fd69e2716502f28ab8b469c0a5ad63f6a1)", + "P->V[68800:68832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9: Hash(0x6e959164a18c0a5c03c8ff16b0a309badcb5da2920660d6dcffc15ac0ae8a0)", + "P->V[68832:68864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 0: Field Element(0x5476d8664ae5f3f2487acd955c53b6cdb0d4c430222874e8916c365ac803c34)", + "P->V[68864:68896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 1: Field Element(0x1326df8fb4ef2b5128cee04417f1b8b6c76d5e6941673b8492cf5a6e44ef13a)", + "P->V[68896:68928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 2: Field Element(0x7faf668931da12cbcade818bf8f349f4d0ab642ae8f959fc15884768eddf7c0)", + "P->V[68928:68960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 3: Field Element(0x44d5f4e6dda5b520e749207de956b1d576721b5bbc77ce57f61b1a3ba598744)", + "P->V[68960:68992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 4: Field Element(0x1f918c4df21b05a91d20ae5655dddce1e0dc66d389e68cbad1a8b8d4bc3cabb)", + "P->V[68992:69024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 5: Field Element(0x16da200f82f1f7218de386f92099e9e7d19717a1e478f615c557eddd6ffd13a)", + "P->V[69024:69056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 6: Field Element(0x361a7e92728f2a27e0db7cd90ee135484caf4d5e0ab202f847d5e746f5b25a0)", + "P->V[69056:69088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 7: Field Element(0x656cef70b326d37a8fd7c46bcd6e7d2d6ed6b7789f2507b4b55e8839e6c2797)", + "P->V[69088:69120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 8: Field Element(0x1af51136fa60ec4c24278e42a22d776e9892d5fcaad68b9d22d09b6296734de)", + "P->V[69120:69152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 9: Field Element(0x20b9bde349ad188a9aa5437fdee3ea1cb080a5400e81935c3a6f95f154278e7)", + "P->V[69152:69184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 10: Field Element(0x4340a90c8654f0678935cfaaabfee8de33800eeb9b2d71b77f77524263b6680)", + "P->V[69184:69216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 11: Field Element(0x6af540f06f125b049059e42a77f5234dfea2c259ff57301d152eab1dbdd2afb)", + "P->V[69216:69248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 13: Field Element(0x2d91441213eaab1b39a3961cce9f971b9734f7ccc929dad0984441979281747)", + "P->V[69248:69280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 14: Field Element(0x5380c4b9dce6ac57f3ab4a1563d0095f22f1c4695f3db5ff4235f1ba0965ffb)", + "P->V[69280:69312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 15: Field Element(0x7abd3e6c55a52ef37ef8409b3b0040f942e5811684a714a469c1aa33ce5c21a)", + "P->V[69312:69344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 0: Field Element(0x731908a3d9d297facba169437a97f60b17cff6c45c7c43de322f5d2e19401b8)", + "P->V[69344:69376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 1: Field Element(0xe4c32fa96c4f7057f69a4dbff7ad2ede725a06130b1b0a4a0bfad79f8d0df3)", + "P->V[69376:69408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 2: Field Element(0x77efb045046baa1335c781da836229556962016bf52494d5e94b1f665d494af)", + "P->V[69408:69440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 3: Field Element(0x1dfc5a3d00f1868198f90cdc55d601687fb2091e93bdfbc61b0bee95157bfa2)", + "P->V[69440:69472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 4: Field Element(0x47bad322d819a6bbd8fc9fdc05089d78f74d63542637e6de65a51e3e208a92a)", + "P->V[69472:69504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 5: Field Element(0x671ed93ca8ea8ca00da1458d8f5c09026dc466056598e502c9c70af3a212148)", + "P->V[69504:69536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 6: Field Element(0x147b5176737ed0f19f918546b7d3f0fa88c36cd2dff4991fc174b19233e4138)", + "P->V[69536:69568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 7: Field Element(0x6c38e8644ad7228eea0c882123736e384c5d7634c11d1dbdc33876f620203b7)", + "P->V[69568:69600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 8: Field Element(0x5320073ea770f25b0598dc1b5461f72412b89396deb9cc920820f6dea5a08a3)", + "P->V[69600:69632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 9: Field Element(0xa9218d6035248c9cf23602e0e1bbf2a00762d9395414e3155078c6aa1d863c)", + "P->V[69632:69664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 10: Field Element(0x3bb319abb081b095482b7d1f6277dd75e2245b1cbc3bc1ed68fc6fd5bde8689)", + "P->V[69664:69696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 11: Field Element(0x77ec648f7387af88071247770336f91618165ae80188cc30d7fec48d86502ba)", + "P->V[69696:69728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 12: Field Element(0x7eab60c61e69ed314a6d52a190dd93943c7dab71e9cc4d65dbd401c6c4ead55)", + "P->V[69728:69760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 14: Field Element(0x1602c0c9d74847897cb97aa0d160edc2740fbadf5e550bc104fd7e3a1917c6)", + "P->V[69760:69792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 15: Field Element(0xa0dba7d19c42e06b5bdff5c4bf0c2793363e1576817d3b3cc2ce45610dd262)", + "P->V[69792:69824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 0: Field Element(0x5af3739f3c5a0fa7d1cb06f87f4c0d809fb37a9b58caf4d688ddd8d007014d9)", + "P->V[69824:69856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 1: Field Element(0x59b2458826cc2d1dbda6e9cba0be6547c7f81076863f763f1fae9609c4b2a56)", + "P->V[69856:69888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 2: Field Element(0x564c8f7ce7cab3899b03d377a393d720b536827c0bbcc0fca5e3f001757bfca)", + "P->V[69888:69920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 3: Field Element(0x2450fdb5aba323add2276061ea4f28288928731bb33a81d4116c7a7bae0da78)", + "P->V[69920:69952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 4: Field Element(0x6fa9150fd3e653ee2c17d9fd560bcb205e26dc78462ebf710317697b5958c67)", + "P->V[69952:69984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 5: Field Element(0x3d5f3bdb5b664f06b915c77d3c91c726dbb17e52a2926244b5886645bedd12c)", + "P->V[69984:70016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 6: Field Element(0x18c08b9316bb76f522defbaf7ef7597c1c83be2dd5b630847901421edd89982)", + "P->V[70016:70048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 7: Field Element(0x545482c32cc9b0a50f57ff86029731c59dccf107c19060a7a4027803846c9b2)", + "P->V[70048:70080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 8: Field Element(0x7d2ba76a0ca6454b218d2d84e3dd51c91a618e5dcdd7bbe04f68dd584916e47)", + "P->V[70080:70112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 9: Field Element(0x3d1ed8a464aa957ec3bfdda3e89483295738a3f3c62b2c5f98df3b547f3746b)", + "P->V[70112:70144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 10: Field Element(0x42a0d51eaee687aa5a23c788ea8931df28de3918a6dd09cd68773f1221a617e)", + "P->V[70144:70176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 11: Field Element(0x5587c7eef009a595f813c0ce4c31d083f4a39ca2bd989749a40badf27257b63)", + "P->V[70176:70208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 13: Field Element(0x72cda49f3b6f1da72be11d5d77752347554619825c5a74c389dda93cc4bdc6c)", + "P->V[70208:70240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 14: Field Element(0x78dfe90010aa84e5fe75344caadffaf19cdb2641c31431ffac2b42468ba185d)", + "P->V[70240:70272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 15: Field Element(0x2d365c66f521c4a87504677d779e751ff3dc205af534f34eb77aa94a92ae5f)", + "P->V[70272:70304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 0: Field Element(0x6ddcaecff6429b14f52d591729490aa21bfc882ede67212cf31b17de0325d12)", + "P->V[70304:70336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 1: Field Element(0x7f1cba23909bdd66896c3967fe121550a413acc1ca73d4c5295445c5c0813c0)", + "P->V[70336:70368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 2: Field Element(0x21d983225e20aed45ce0b1b889db06f72af6bb336f3d2d5ee46772304f795e6)", + "P->V[70368:70400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 3: Field Element(0x219b99a77a2461beddb0dc4705ec2c1c555e6ee1ad332140f74e7eb1478cab2)", + "P->V[70400:70432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 4: Field Element(0x319ad09717aa6367b759d365a9775af871d4e98c4d100b4f9498af19e51bf63)", + "P->V[70432:70464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 5: Field Element(0x38bd962fd16deea245a3a242a5df2ff236e65823f17ec8fe8c22d2b369244f0)", + "P->V[70464:70496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 6: Field Element(0x17f62a46c61f9ae76c3cadf6b6487935c40ce74dab80a14d2fd4651cc84e00c)", + "P->V[70496:70528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 7: Field Element(0x6999baeee6b2dda3ae7643e9f51e22776728f402715a4d88eee74f31a28c6fe)", + "P->V[70528:70560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 8: Field Element(0x3a98070d19faf3da9fa96e0d03c7ac013e38911e25fbe181add1e25537be14d)", + "P->V[70560:70592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 9: Field Element(0x118dfb041436c961895d93ee467826efac23ad9883fb392cd29ecd9bafe1a22)", + "P->V[70592:70624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 10: Field Element(0x6f18adde36f4040e522cd61c83e20a01b8127547ca3fa74884f561d223bef46)", + "P->V[70624:70656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 11: Field Element(0x5d38393950d5c5674d2bfbf6db90f23cb0f2eb9b926f483b60e9e1a54348dd5)", + "P->V[70656:70688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 12: Field Element(0x55ae9254199faa0e8623da3cb759fd49f8894785019a20f7a26ff0109d9b78e)", + "P->V[70688:70720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 13: Field Element(0x1419cee65ca80b0143978dbdefebd1d6d2833807eb0277f3bba8a74801d9655)", + "P->V[70720:70752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 15: Field Element(0x63ebc2023e18808455bbd174477db7c776a8e30144702e6ec1300ff4c3eb5ae)", + "P->V[70752:70784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 0: Field Element(0x77b0aaff0048907c11a65b9c220f53e75cd5cfd3f82096397b8be405bb083e7)", + "P->V[70784:70816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 1: Field Element(0x6c14cec2702d8beb1266f9226c1d64352f5472e14f28830fe7a5ee9280bb41e)", + "P->V[70816:70848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 2: Field Element(0x4f89cd8f81bb65d30795429fd526d08868c02dea7dfd5c8d8925aa63510371c)", + "P->V[70848:70880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 3: Field Element(0x6192e93708f7acf501933ae790bf43c3669ecf60aaccc51c31177fb2146c2ff)", + "P->V[70880:70912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 4: Field Element(0x175fbda8e2bc9ee2a9baa974e784e8ecc372244ad5c546b3d5dc46e618e6b92)", + "P->V[70912:70944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 5: Field Element(0x79bc05042444b2faf4a1986303ad9b18e5d26b519e9afa5acbb01d7b444ce38)", + "P->V[70944:70976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 6: Field Element(0x69a0002d01792887d09d017e852a97e03d94cc128a26ecd43e1c028595db02a)", + "P->V[70976:71008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 7: Field Element(0x2aee93e1c3f1efa8cc20855ccefff4b046c3b6d8b87f7ef03854832f8067b03)", + "P->V[71008:71040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 8: Field Element(0x67a8eb6816680f379316da6b373d1a40ad5488bda5b648c4b33dce8238f4006)", + "P->V[71040:71072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 10: Field Element(0x1d66bb7d31ef8dd5dff92c7a82caeaa60e8f9f28eb4354bda6b76c52cb8911f)", + "P->V[71072:71104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 11: Field Element(0x4c38f2edf2631755566fbc54237bbb69ee6e8d33b16f58d6ba4534ad67dee79)", + "P->V[71104:71136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 12: Field Element(0x1b6c5bd710b0bdcf7eb37ce96177c65ba4b5535eb630d9f17bb06fc8153c082)", + "P->V[71136:71168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 13: Field Element(0x467dc60ea714f8bed0c8c2c11a09633e040707c97690cbb16df450e44cda0af)", + "P->V[71168:71200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 14: Field Element(0x7b72e1a885acdccb00ca0e4992f4bc9c5b8e82008666cf1250f970f4f2d6413)", + "P->V[71200:71232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 15: Field Element(0x7fa6b145c540d5c5170a518ee492ba96e859285deb96a2bad49a158333d8995)", + "P->V[71232:71264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 1: Field Element(0x5e6c04eba5cae05e5977f0a86754bc6b50ab22770910fd15817c1da41d08c38)", + "P->V[71264:71296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 2: Field Element(0x5c4305ec0cfc596304114bff1f8206b16c595cd15c804c3456d34143631de6a)", + "P->V[71296:71328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 3: Field Element(0x39cd3eaf7f68e951dfc75cd88541a18bf6fabb898190a50b96a5ad90f961ee0)", + "P->V[71328:71360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 4: Field Element(0x188ddc4823da28a26b4b96f98928bbf5ae5603336a4daa6aabc4d9c13042ec3)", + "P->V[71360:71392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 5: Field Element(0x48051377be9d925799438b1cde67207f90f7478657c78b656bdacb4d0b919f2)", + "P->V[71392:71424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 6: Field Element(0x1e1e1fffd7c56b638753fb0b36a4ee5738cc5a2547ecbdc486f05be9a804c38)", + "P->V[71424:71456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 7: Field Element(0x3cf458dd1d359181b2c4222ae9db9fdd274b0fdbcbe691a3731d8073e1363e8)", + "P->V[71456:71488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 8: Field Element(0x3c866b6598a452d895bcbde81553082bd57a0584e617b99302606402bd1ecfe)", + "P->V[71488:71520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 9: Field Element(0x3edf17f404075fbd02d2b859722029e36d066b09025477ccc074306be9f5e32)", + "P->V[71520:71552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 10: Field Element(0x5a1c6cf2c4a7ea9eeba942d80a9335d9e2605975bd1d02cae39cdbd91c3cf5f)", + "P->V[71552:71584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 11: Field Element(0x37d1934a9535b4b60a555b5b3ea8ef6ff4b6dfc159c75fe72425f3086406b7d)", + "P->V[71584:71616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 12: Field Element(0x7a404e9c41672b4d25601e8ad1f5b2ce8d6cc278141eac0df7fc0da61ea48e4)", + "P->V[71616:71648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 13: Field Element(0x304ab3222835b480d63917efdce12bc8f80208b8cf578c17ebfbc50d8ac6e6a)", + "P->V[71648:71680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 14: Field Element(0x71523a0feb326704c5f9a7649aecc076193a658d8de8ca8fe23becaaec24f7d)", + "P->V[71680:71712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 15: Field Element(0x557288a900f4fa6f9cbd449f64aeb8ab42bc598253f47dc0fec2eb409e876af)", + "P->V[71712:71744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 0: Field Element(0x336f77cc2534f0df06c08a52061c81a6bcd4a8fc0dd63179fbf94a1c8c4ce9e)", + "P->V[71744:71776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 1: Field Element(0x17a6ad56e2f9a6c2f0eb9b8abd37bdbfd5ba558b442a91718c74f168e3beb61)", + "P->V[71776:71808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 2: Field Element(0x2216c50c37de428f081bafea9e83df841d9512ec2fb9019ed0d311435711764)", + "P->V[71808:71840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 3: Field Element(0x249048da55d29a8940543b503cab9360319e71a2966b56ad21e0029949ec88e)", + "P->V[71840:71872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 4: Field Element(0x612481aa1dbb999ed13a0262e57e3034f35cfb07ba2e22b5f47a6f272c3bde5)", + "P->V[71872:71904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 5: Field Element(0x2ee1e847ff33ec13aa1572ebe0c72c2f009b42725260892c8455b6275f1304e)", + "P->V[71904:71936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 6: Field Element(0x3f1cf3d330a0d13c2195df76947d1424caf41c6791c7f46c4c8f791dc98417a)", + "P->V[71936:71968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 7: Field Element(0x28a3cb44bb07d95ebfcf25516fa3fdaa352c0e7e046b6291742e37f64a5c2bc)", + "P->V[71968:72000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 8: Field Element(0x5c260da81d055c0847ab7deabff4bfc3ea325224f10f0f610c88f3b2b5ccda5)", + "P->V[72000:72032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 9: Field Element(0x7ee933d6faef3da648da6dfcde33b9bcf52de349c3c30de4cdbc8c2ad7a61bf)", + "P->V[72032:72064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 10: Field Element(0x4d5194cfd46c5032b9972c0e322821bb5c352263bf55963dae007eed3901f9f)", + "P->V[72064:72096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 12: Field Element(0x1d343fb56864c05ed6eba2bd63379e50c530ceaa55ea50a154c14060506b425)", + "P->V[72096:72128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 13: Field Element(0x40b75684bfd579ea5aedfe87d1539f74db0ad69b18b7b90e4840a461d0d990f)", + "P->V[72128:72160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 14: Field Element(0x6e22425b1607570a72a4fd4c97856bbca5c443e4892c9de0b0bbdc8952734e8)", + "P->V[72160:72192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 15: Field Element(0x7a950c7c042ae1e3bb4ae948956987a67258d77d8bad718ce8dad016ad8a434)", + "P->V[72192:72224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 0: Field Element(0x59d6b481feb165d5a52f199d7c4ca7edc4501da00b55bbe5cbf36153c3f1f42)", + "P->V[72224:72256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 2: Field Element(0x3aedb48ffa2992757e58fd20974c9231b94830401c4b333d49573cc428629da)", + "P->V[72256:72288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 3: Field Element(0x7b84f8cc278ce5b8b81aee8b9893cc498623b7d24b6886ec58b6b3ed45151a0)", + "P->V[72288:72320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 4: Field Element(0x3f3eb32a1d5ad3560bfa4cd812b0f7041942df2c5f239b94798c1eb7050ba67)", + "P->V[72320:72352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 5: Field Element(0x6da2a5a1c250af04f561c4dfafcb237f3f0f5347f6231ad076737e2bd835a98)", + "P->V[72352:72384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 6: Field Element(0x4756c07a75df730ddf3d2af5894be11f40f93ed7a8fead89c657dac4dc9e049)", + "P->V[72384:72416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 7: Field Element(0x275f2aa27f7ea751987e83187df09a57ff72a07e145b2e4b17cbd884ab475)", + "P->V[72416:72448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 8: Field Element(0x5ea70752c569b9daa1ad77da8aac0b494cf917eaf27b68da63a80af44e6fd2b)", + "P->V[72448:72480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 9: Field Element(0xebd93fe7a27dee099d466070d89cf2d1d40063d570b77f05992ffb964c52b0)", + "P->V[72480:72512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 10: Field Element(0x6c580836f476ab2ee6ae55aa64c0c454a5657a010dc42377a9def62e0e0d627)", + "P->V[72512:72544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 11: Field Element(0x7f1b5dc9e0a81dea5d683aae3e2fcd7b06f7fc3a9bbd443129781e484c0f71d)", + "P->V[72544:72576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 12: Field Element(0x42c03b3641e710b82d371ac6593b5af6b1c42b4ddd15e6b82ff87d272a55793)", + "P->V[72576:72608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 13: Field Element(0x534c02e67823ef3ff0deb5312b2b96e9a8a3087edc21de438229f26e8d56b94)", + "P->V[72608:72640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 14: Field Element(0x3b22b63dd9c3bde6b618c2caaf909d1866df3c163df61df50ba7a2358ffa301)", + "P->V[72640:72672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 15: Field Element(0x1d327e5ee978cffeedc42fc15568a5a0b1b81d34d2de3316e8ed8f008a12cf)", + "P->V[72672:72704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 1: Field Element(0xdd60c95a37093870c6e56b3fff3b62afe4bfc70d01a42d825e92a6fd39bc39)", + "P->V[72704:72736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 2: Field Element(0x1313e7e866577cfe534888367f3653fa6bd9e89a0381b2b4d5e97643cfa5514)", + "P->V[72736:72768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 3: Field Element(0x3f504ea0370865564cb1b9a07a05bcc455dfdb9546757b446a351ce038cc670)", + "P->V[72768:72800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 4: Field Element(0x30616761934ccc74765f6aa8e64d15e9f9529f424321db44434715518896101)", + "P->V[72800:72832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 5: Field Element(0x7e80958621806e030bcbdfc1e51fe15eca3f668c63df7422bd0a0195675221d)", + "P->V[72832:72864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 6: Field Element(0x6bd75ce5b396dcce9dcaf53d177124eb699c575b7f992ef93ebbac4e465bee9)", + "P->V[72864:72896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 7: Field Element(0x40e1286d215ea9f15f4da0cab7a1e56f63651227ee677df43af850c04aff50b)", + "P->V[72896:72928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 8: Field Element(0x7529c67bf914aaed48883b3d4ab0df80b3c4d60f40eb77ae0f2b249e20882be)", + "P->V[72928:72960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 9: Field Element(0x488be716a52f024c98b7e221e53cfa90efa51aad42b63481bb5beafcb8d70dc)", + "P->V[72960:72992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 10: Field Element(0x37f9f4102af636855ea3e7770d39d28e30d0b36125e2ab2e6ed134288aaca26)", + "P->V[72992:73024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 11: Field Element(0x4b5b6d47fad2abf8debc01d7f495f1161490689db5822144e404e1453586124)", + "P->V[73024:73056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 12: Field Element(0x7c84f7243d010ecc7de250c3dfcb0e81ba39c1d05fb1c58d332df334a9ebd8a)", + "P->V[73056:73088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 13: Field Element(0x2886a7b550562ddf86ee52be42bee8abde7cfaa87b3a17e87b5b94ab8f14a50)", + "P->V[73088:73120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 14: Field Element(0x7588ccaeb00c731dad86ad86db0de13e736adeb674be6ead86ad34a3154dfd7)", + "P->V[73120:73152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 15: Field Element(0x4bd8f1265849ed0da0825e338e2cbec3d5c9d6a95a6a7c491a86b21cde0b188)", + "P->V[73152:73184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 0: Field Element(0x1e9b30356051c152302d3a1739c4863562510658239191ae0b8f24a6e8d4959)", + "P->V[73184:73216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 1: Field Element(0x16c12c4a8e28f50d4d85628f2ed42d3a4aed72c06cf2a6326d7bdbaa302d582)", + "P->V[73216:73248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 2: Field Element(0xd34457baeeed7c1f3e8e2bdad105c5fcb896122c2db8347624776864bd3c62)", + "P->V[73248:73280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 3: Field Element(0x472c6d738afdfe5b665705bb93cd154dc536f0711ddbfdd1c899d2031ff23ae)", + "P->V[73280:73312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 4: Field Element(0x190445237be68c788a1bd520f52e1102773740700fc2d18d9e2dadb0a8f5ff4)", + "P->V[73312:73344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 5: Field Element(0x2cdf8645d26f4875d1c7beb9a1233e50c07082c64542e7374944405e25ae826)", + "P->V[73344:73376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 6: Field Element(0x496201c17ec2e92c51582a588646b1f462fb268861bf2f410537a571b3bd2e4)", + "P->V[73376:73408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 8: Field Element(0x3884027e43176c434ef073979413ae00cb00889e87b40ee4d7400ac1626969f)", + "P->V[73408:73440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 9: Field Element(0x7464b242fba33ff2b6852c699cfcda1b7aae9c79314d4f453b3ab6ff7d43efc)", + "P->V[73440:73472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 10: Field Element(0x5f3ee2dac9020457b139ceb679e58197ba27c67f3957a025c33a21c9d4028b4)", + "P->V[73472:73504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 11: Field Element(0x41229b4964f677a4f69e838352a4628afdbff9908163a53d7079e27db2b06cc)", + "P->V[73504:73536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 12: Field Element(0x170ec09acdc17c639c573a5edd7e4c5e9ffc244ae547e64d3b8aff6b6851b2b)", + "P->V[73536:73568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 13: Field Element(0x574309122491988f5285aac7df1dcad2672a0b4154c49845285ac0f407b8d7b)", + "P->V[73568:73600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 14: Field Element(0x2ec937cb94f0c0802ecdfb6e7319abd562a1d0ba0e4c35a9827996e27f6cde4)", + "P->V[73600:73632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 15: Field Element(0x51b74bc33b2bbe3efeac219c4c1d762170a3c6c05c0a527f36bc915c2ff296b)", + "P->V[73632:73664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 0: Field Element(0x33daea0a7e25078efedcd5043462efe3bcfe5423ab2da59aa0e736e85cd38c7)", + "P->V[73664:73696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 1: Field Element(0x57d5b17853937bdba0ec2098dbda3a14232f3735bced58cfa2b92215203c9e8)", + "P->V[73696:73728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 2: Field Element(0x40f8ec42ec58e6b797c7a7c25d85b78369b9c807751909073b022d8530298fc)", + "P->V[73728:73760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 3: Field Element(0x5d83646ecbde6ab0eece0d5fe224d8b13c71296c9166d4f83e97047ec5b6919)", + "P->V[73760:73792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 4: Field Element(0x626a373aaa8fe69c6aea4f61277d155c12fb95eada408152f816c614614bc3b)", + "P->V[73792:73824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 6: Field Element(0x63018520349fcf272f8507e8347717942a6b2b0c17890a7a91c57b40cf7ad93)", + "P->V[73824:73856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 7: Field Element(0x6c9e8eb19d78a12ec933aeb8350218ebb3a28d64d13fdcffff00628948ae56e)", + "P->V[73856:73888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 8: Field Element(0x211ef06f59aede4899d9e257a177cbae6b1eb2d13b969e10bad64cbd17e4fb)", + "P->V[73888:73920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 9: Field Element(0x5c51b2f92e4417479a183780312a15fa5c1fb25658ab7161b024da92a6f68dd)", + "P->V[73920:73952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 10: Field Element(0x1d2eeb8b049330f7d48c102e45b0878eca643e7d3d138a07b0bf06f6a4a8252)", + "P->V[73952:73984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 11: Field Element(0xf90aa34460e12fb134485a243c44c135590cf32871c245c34155fc8f4fcfc0)", + "P->V[73984:74016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 12: Field Element(0x3e23047d993f0db22a43b1c2df502dd6f1457d3642089554055270c9f2eba6f)", + "P->V[74016:74048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 13: Field Element(0x11e366098a52cc44127b6ed4b0f73f76143ea824f1998011766321db8954eae)", + "P->V[74048:74080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 14: Field Element(0x46458b1f45e7c56911354bf33d0eab3e79741ae715eacc66b7a3c96525bdea1)", + "P->V[74080:74112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 15: Field Element(0x1ea5a187843a09e19bcd4ef5c6a0fd177a32f63c0122373ac34c85235755550)", + "P->V[74112:74144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 0: Field Element(0x3c0c01cdef49a24d2cc9ba393e1d9d4a811815e11a642c6e5399805fcb87d39)", + "P->V[74144:74176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 1: Field Element(0x6b642aea33a9e497074cc11fdd15c148bee06b49ec23199a5ccb0a4aedb4c69)", + "P->V[74176:74208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 2: Field Element(0xa0e17e1149e429e719ac30ccd32c5ab4e908291d80b183fd1b4e79632edc4d)", + "P->V[74208:74240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 3: Field Element(0x2c5444ec6400708f4b32bb0dfd2c5f787b22536e8b851568935e8d16e14372f)", + "P->V[74240:74272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 4: Field Element(0x17707c2b26874f6f5208f4f6b88ccd266b5b0dc7e69c62a6708e521b646b075)", + "P->V[74272:74304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 6: Field Element(0x34ebad80dd75d5bd273bffb428cb232abe96641dbdf8361adaae6b8545344)", + "P->V[74304:74336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 7: Field Element(0x3cddfb00cce45ad19caac8c92c7d10d4ddb6949ac9352787e3a37f01231d22f)", + "P->V[74336:74368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 8: Field Element(0x195c85569c26f1308f46b179f86d919eb572648b046eeed2bacc8b0857bb3fb)", + "P->V[74368:74400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 9: Field Element(0xa9ec6da1c5842c19177def0062fef3d07226da61f75d7bdc4dd2ee11b4ee4)", + "P->V[74400:74432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 10: Field Element(0x62f703f97f9a406c3c1df09c3a416aad34ef61ab818c73171b33ce20b48a9f3)", + "P->V[74432:74464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 11: Field Element(0x4f2a0a3034c9fbf95f83af62b934206ccca136d35d46175d57beb7296b6f7be)", + "P->V[74464:74496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 12: Field Element(0x407df05de620571324df164c8f4fdf85e093b7a6d7c10140fd8c10a7be05df4)", + "P->V[74496:74528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 13: Field Element(0x651b735568556f97f4588acabee36f373e0bbc7bd73b24c5a64b10dd51467c0)", + "P->V[74528:74560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 14: Field Element(0x173cad39c1cbca3c087fa18ea6fa9b5e805b4a477dba6f119497d9054ed0302)", + "P->V[74560:74592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 15: Field Element(0x5415790a202e416e63ee278cb7e5cddf1dbfd8614d972eb6e994137c286d3fd)", + "P->V[74592:74624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 0: Field Element(0x7e6dd7cb037bc42f4384d12b8510e547d8466afda7f80d6a7dfece66a0043dd)", + "P->V[74624:74656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 1: Field Element(0x465862c2b4d78c51339c96f7f1aeb6abf209d0b2b55db428a000a5776b8a383)", + "P->V[74656:74688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 2: Field Element(0x16abe9da8868985f942cc06aeefd5fc192a43e8bac755e53638333821cde42b)", + "P->V[74688:74720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 3: Field Element(0x5ba31d635ef0f7615e6dfde68d431a647a22ff436f28c6d2179f909bebb83a5)", + "P->V[74720:74752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 4: Field Element(0x40dc637364f02a818c2a74cbe5d7f7410b54517ec8e7b2a679b8a6708108c78)", + "P->V[74752:74784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 5: Field Element(0x12beb15cf3a5f8fda7f93cf3d6bb472283f464df8b67e6435f4857edaddf072)", + "P->V[74784:74816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 7: Field Element(0xf2f72cfcea83e60b6c646c27f1aad9fa1da9bb31ed259dc8d48fc40115a7c3)", + "P->V[74816:74848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 8: Field Element(0x4d720aa535195779b8c4bbe4161cd0867401969e453d0d4f6713088f9331806)", + "P->V[74848:74880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 9: Field Element(0x26ebe04865d905d4231a207f0eb723f388dab55f186b477679a04a1c5e57313)", + "P->V[74880:74912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 10: Field Element(0x761006dc71a7e06eff76e36ab06395cfbb7c03b638418286bd7f7bcbdcae49a)", + "P->V[74912:74944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 11: Field Element(0x37f9e1a8e9f759ea56e29d0ab546f8b427e0715099fdee77df9a4512167a782)", + "P->V[74944:74976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 12: Field Element(0x12f3f57e1e963bab99d5bc08ad56c2c13da5f5c7d48d57b7a1bca3e1c7e98d8)", + "P->V[74976:75008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 13: Field Element(0x303f9e47548ff7b482adcb5ac94f337ca2bcdfa9b77c3f97c5023eb13bb279c)", + "P->V[75008:75040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 14: Field Element(0x256af6e8f50a2feca18457eadf9bdc058219e147747a1dcd3e92f612f4819fb)", + "P->V[75040:75072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 15: Field Element(0x3510b7be211765f022cf82012ac047ea88ef7d0c2a8079525aceb63eec562d3)", + "P->V[75072:75104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 0: Field Element(0x67cc92698bdf3955212da710922c09682e83f6677ea3a275a18e2d455121760)", + "P->V[75104:75136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 1: Field Element(0x228b45a57caaf8572ba1c217fa81cbaee1d40d171f6d4e84175ee51a4d2503b)", + "P->V[75136:75168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 2: Field Element(0x23d97374efa4a3c0e6fd283b27c158b0643472bf95e9303a7c2024d32dcadab)", + "P->V[75168:75200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 4: Field Element(0x4e141d1338d2873cd07d28826e27a8e38f2da293707d3bd9aa77ceceeef68eb)", + "P->V[75200:75232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 5: Field Element(0x2af04256c9ac7987bda758284fd8ea2c93163616c8cb10eed094c2792c9c86d)", + "P->V[75232:75264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 6: Field Element(0x514154976d1ba7c97899ae4981eaf8d66c756218cb13c980f1fad97156ec4)", + "P->V[75264:75296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 7: Field Element(0x9c8291248d86a741b2e1668d0f92b887727b7bd411c72e40cd3a1da94f3301)", + "P->V[75296:75328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 8: Field Element(0x45e96829a797391b44b794a25613eac2780eb0e9af57612ee1c8bb5afcff3f7)", + "P->V[75328:75360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 9: Field Element(0x50b89c9eb9ee328d380ce52d78db0af253ecc78bcb8bf2c4d5165ef3c736de3)", + "P->V[75360:75392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 10: Field Element(0x36e1fe2d1c29277c549bd464aa12aec051ebc1b1afa4bb0493c9376a64c68d0)", + "P->V[75392:75424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 11: Field Element(0x26e81c4f6767f1e0d435824dec5bab75eb0d885bb2e2b4fff86c5706242f43)", + "P->V[75424:75456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 12: Field Element(0x10b64d4613ee72d6b41568d8ce8e92eee02c683efd4514d8bb4d4e354028a5e)", + "P->V[75456:75488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 13: Field Element(0x272366d3b45cc36bc45b3ff1d3c91a08a9b27de89c139b85e3d5668b9905f1c)", + "P->V[75488:75520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 14: Field Element(0x63cd0eb9354eb9892a371a088e15252619b456ecbf626f69a400bc0f8d40e23)", + "P->V[75520:75552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 15: Field Element(0x66d6b949f1bb60499eb09e99144b5089aadab045f9d5574b99e832c7d722613)", + "P->V[75552:75584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 0: Field Element(0x5ee857463c73ef7d2c4bbb41ca57cef8405ec8b47e8143da6e76c4e8dd4b6dd)", + "P->V[75584:75616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 1: Field Element(0x7396e34b9449dac2ce66b8185b00ff612466c3c4e0ec47ea0052a6b31aa0d42)", + "P->V[75616:75648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 2: Field Element(0x484af70a683261192b73a2996a40d14d42929e9f0e681ee2ef7a6db1b4e2bee)", + "P->V[75648:75680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 3: Field Element(0x7c0ebea99c38600da63d5733f34fa2274e878ba6921e02fd9bdc91a58ad141)", + "P->V[75680:75712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 4: Field Element(0x2e2cf2ba394bc479c7dab9628062fde0d629dba8139959af9355a5d86b1f47)", + "P->V[75712:75744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 5: Field Element(0x5746968ce9312078a5efb40224e2e0c60f9be7e549d2f29914b7ed787850b51)", + "P->V[75744:75776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 6: Field Element(0x1b298bafd8c957485c48b3fd2b0daba4b7b5e263b9d33965584d974627ceae2)", + "P->V[75776:75808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 7: Field Element(0x15551f8dbd040a524b2f21c0957cf1148cc04386a98b32cbf1afb77868c0ac4)", + "P->V[75808:75840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 8: Field Element(0x3e67796560e84950c06d9584c4688f4deb1d78847b4c587a3d735c3ef7f734e)", + "P->V[75840:75872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 9: Field Element(0x23e943f23030f0af67f3aaf224337a141c3b003fb4d5ddc3555b816579ff308)", + "P->V[75872:75904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 11: Field Element(0x472a7f18d91314cfb59ab60e65452136505df9dca4a0abf28fc846a58533f0e)", + "P->V[75904:75936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 12: Field Element(0x7699c4c20f797f86d40473e632116f995b26013fcca05d1bbb5bd94967c6fcf)", + "P->V[75936:75968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 13: Field Element(0x5967c1123f06700405d980b8db85d8b8437a2c6b01ba381e57d836390827b6f)", + "P->V[75968:76000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 14: Field Element(0x62baacf42cd6a19924779d92706e0256be60918ac42836def42486488d7261c)", + "P->V[76000:76032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 15: Field Element(0x4731ce37952bc53ac6084078c5b0f446f45888f0ec07324c704ad62384e5f2c)", + "P->V[76032:76064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 0: Field Element(0x25c3a4bcc2b5bb785879f237ca68dea4e450d9408a145eaa63b82e9e004b1f8)", + "P->V[76064:76096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 1: Field Element(0x37149e9e4eb1851b2c7a9156b8c563c43bc7551c2f02f694deef8de65e2281a)", + "P->V[76096:76128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 2: Field Element(0x594f99b97515b8652c65bdce2e6ecea7000d38810af440f1890036f2d3ba491)", + "P->V[76128:76160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 3: Field Element(0x22ef6a8eca9f463da2ef04d48dadaf8c04fe6dbbd167e8af9cb56a401f68f31)", + "P->V[76160:76192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 4: Field Element(0x222b8098a54f813e964dcf556c3acd05e893ac83387502aaee4e76b2663d425)", + "P->V[76192:76224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 5: Field Element(0x3a8c2e2762cafa20e41d4b6377a168472b2ad4bc5ff0984d130637de9e4dc73)", + "P->V[76224:76256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 7: Field Element(0x73f864f721674f3f9a4d12ec76a295d0ca66694f6cc7c7076028cc1cb781161)", + "P->V[76256:76288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 8: Field Element(0x567391c0095a40ce0b6a8b35a58768fc06df991e527588fe142ea82be4aa48)", + "P->V[76288:76320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 9: Field Element(0x7f6b05d8c4bc4bffeca9f796a0a918eaa10f4075e210fbdd894ea489cf56d97)", + "P->V[76320:76352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 10: Field Element(0x3cb1b8df35244e98f1d2b6f6c0a96011f7ea70a42d2421d78403b69035391a)", + "P->V[76352:76384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 11: Field Element(0x407577cdffd8e205d2c9d6914bfc73509dd8e17439b19a6fd38985791075b85)", + "P->V[76384:76416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 12: Field Element(0x3a2fae5408eed8f9d3945df4d984400820e121559da6954b77653bc75be1146)", + "P->V[76416:76448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 13: Field Element(0x61e29e16d24a6452bb6b973faa9404f1b872b65ef013ca9ec826cf39b8294b1)", + "P->V[76448:76480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 14: Field Element(0x608a8b0e988f03747e84e7394f62408ba656d8d1c47a25fee79f9d3434a6e36)", + "P->V[76480:76512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 15: Field Element(0x7de2b4c407aa057c127682b2edadfe0cb1ac8309a4663e7b290ff2c0650f486)", + "P->V[76512:76544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 0: Field Element(0x4168717ad653a91badfa0a2a62a4f17842b37a85656fa6da4527eab148c4c12)", + "P->V[76544:76576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 1: Field Element(0x5d973809a62d8b9582842fae43db5644b95c6523c0164c42575aba66c78bdad)", + "P->V[76576:76608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 2: Field Element(0x6bc4b8071bc36e33b0b16a3ee3d462231953175316b5614c51cac6583ce7882)", + "P->V[76608:76640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 3: Field Element(0x58e4e1c4000faf8d302e227ea01859b2802dfb5806b39442928694f04df0195)", + "P->V[76640:76672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 4: Field Element(0x6e0c6b247fc4ef3a38fa4cd0e878ca354f5d01dbc49504cd0163e50dd42f584)", + "P->V[76672:76704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 5: Field Element(0x419ee829a0937bcd44e2f6be8338d8ac143f599176f2ed0bffd0e2b899bc847)", + "P->V[76704:76736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 6: Field Element(0x3104d95c345d862496c703eed908006a8bb0327c644be67f55b22b69d40bd8f)", + "P->V[76736:76768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 8: Field Element(0x10b2e89d15001c4c4601a12a959c753484b5a1b65a2e2b4ff199af765ca1af1)", + "P->V[76768:76800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 9: Field Element(0x5d8f41148893f405e3a08f8a2511a2901a6378a6fdb8523d8b753ada68834f7)", + "P->V[76800:76832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 10: Field Element(0x719332c36ee08f880cd0eaf5e5ab4a1306b703fbb2b96731f310c5ee244eb1b)", + "P->V[76832:76864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 11: Field Element(0x68d09382aacf488e4bb2d1f0c73c2716ffda393526be2eb159365d4467522e1)", + "P->V[76864:76896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 12: Field Element(0x68edaed624b955c15181723287757b16ef4839b29908f914755c00e944241ad)", + "P->V[76896:76928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 13: Field Element(0x2b640fea8eef80bb8dc322315045270d7702a2189392786756aa86a43c0cf9b)", + "P->V[76928:76960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 14: Field Element(0x24aaefb9ecf85496796ca7c9b76128746b6006c91e10f7f5009a21ea2b506a5)", + "P->V[76960:76992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 15: Field Element(0x4a08d1e521e454e19bb0578d9932895f7efd649c3c6cdbe00d02fe87a1bf641)", + "P->V[76992:77024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1101168: Hash(0x007fddd295242678b0b42855949ea5261ed746a322682e8381947ba04302d27d)", + "P->V[77024:77056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1109988: Hash(0x00b5239a265f046f1e8304920a648b8534c34579d9e643cd15ae0525acccdf41)", + "P->V[77056:77088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1177077: Hash(0x000ece16978a459bd7ecd909163c3631a87811b25b863bbe87d36fbdcfa7f660)", + "P->V[77088:77120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1412361: Hash(0x002f96f6a930a15fc45cb0877f1e3c7a10e8458387f09e5c8f35a0a9837ac85c)", + "P->V[77120:77152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1482604: Hash(0x007174d118f4b2b367d14de1aa587f926e01b688cb91bea8c54d90d729d61834)", + "P->V[77152:77184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1512942: Hash(0x005b1dbe19731a318679d46cb856afc143e76ca5f493858e9b65a807e67a35b3)", + "P->V[77184:77216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1555343: Hash(0x007d980c90a42c7664708bd724f53d94459fecbc2ff967da596f9b445de4e71d)", + "P->V[77216:77248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1629775: Hash(0x0046e17e7aa1881bf2d2b8e797cdc5f53922df6a65bafcd007ebd996cd046cc8)", + "P->V[77248:77280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1659888: Hash(0x00a6437d70cf25ab95868bb6808f2665edaa8dbac883b7c38261ae309ad417fd)", + "P->V[77280:77312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1672474: Hash(0x00c155157a8d10d5802f0449278f0cc47355eaa82f36a642fab2229de49fd98e)", + "P->V[77312:77344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1707967: Hash(0x00c392db15036a33dc94a870d14d6ad2d0e214c6ca758412aab34a354b0323ae)", + "P->V[77344:77376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1723463: Hash(0x00e4b7b13efb7f3deda598c8e84c835bded93f2881a288d55b6d56054fb9e876)", + "P->V[77376:77408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1807945: Hash(0x0024557d9b507467b5ec78bb4a7b2a18d6656199f5a6f5ab42607201950bd539)", + "P->V[77408:77440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1937640: Hash(0x003864e18e01bf3b29d7fa63cafbfcfc9a6e702d37d801beee28875f61010e9c)", + "P->V[77440:77472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2024348: Hash(0x004d4bd0e0889dc386770f27adcc1fa8920bf8ba54accaee5a1f537e62329424)", + "P->V[77472:77504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2063948: Hash(0x0096f430b37fec579b15e934aab561ddf4e305af8a85ad69c3d91ea91b26f3f5)", + "P->V[77504:77536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2071509: Hash(0x0073919de785c47aaccbad91c2d0cc4b3fd9fdff5b9029fc4e8b260658f8c1d4)", + "P->V[77536:77568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 550585: Hash(0x00e29277734f90fe643952a91d1f73c9aea3f15132477dac278c63fd7b86c432)", + "P->V[77568:77600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 554995: Hash(0x002a12c9b68d48a6c55da9bdd344455fd87c16ba04e0e6bbe85027b2c5ebe84a)", + "P->V[77600:77632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 588539: Hash(0x003864fd15ee843a55d55142cc7d76b6c782afdbba99f815b3a998782c90e636)", + "P->V[77632:77664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 706181: Hash(0x003cbd70cdde9c529d428e486f0f055832875294f5271e676ee0d72f84448862)", + "P->V[77664:77696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 741303: Hash(0x00c7f088b0e10a964bfcd480e4423badab84b07256f6198ffcad16a6294fce89)", + "P->V[77696:77728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 756470: Hash(0x005d514b5fac3990fa0b5ed2c2012a3d32f849001e87c42f67688c75114cf64d)", + "P->V[77728:77760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 777670: Hash(0x0039a1ad8d4caf6434ebd54ffc965440ec066f54ed1dd778eb59733a788ac6dd)", + "P->V[77760:77792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 814886: Hash(0x00e885eb7ddc4ede4312a58e5b3ceabe0cd4950468a8a5ea7aa2225d1a043f37)", + "P->V[77792:77824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 829945: Hash(0x00794cfa594e7d74e888389573453c4e0503fb228133dfe3e16a5507f74a510b)", + "P->V[77824:77856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 836236: Hash(0x006a73fe32d352f03714cb0036daf0dba5d5258b0e0303d56d62b45243081cfb)", + "P->V[77856:77888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 853982: Hash(0x006e24f6fdf059daaebe551c18887fce129c54a35c677c549d24b0cdd6d8465b)", + "P->V[77888:77920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 861730: Hash(0x008f3f209266de70122e5201d5a65048758c8f3b1ccd428b923b1045410efd47)", + "P->V[77920:77952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 903973: Hash(0x002d6860f49c096fd0c6519676b7f426e72fb38a39a520ffaa5b1b7da19965d5)", + "P->V[77952:77984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 968821: Hash(0x0039a9d8cb2312cbda9f337caca2d0feb8051c5feac5c342e247eb0e92527ac0)", + "P->V[77984:78016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1012175: Hash(0x006622f2aa39fbe1b0764cf357978dd9b4a2f8606db053a1df03a8c76ae9f2db)", + "P->V[78016:78048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1031975: Hash(0x00b9a8d24689ec0fbc4ed47309a083854120ef227faa701d6bac87bf960b7020)", + "P->V[78048:78080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1035755: Hash(0x00effdbe66f739e4ed3e8923cebff0f5d58c73fe3ff59b13be35c583ed8f4b85)", + "P->V[78080:78112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 275293: Hash(0x00de342c3dad390d374d7248fe1a1c846fec46c68bc6fd8e9912ef30fd9a273b)", + "P->V[78112:78144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 277496: Hash(0x00d00ca1076851b5e296366c1b8fb4c6999194d1af8402cd8491356ad77d36fc)", + "P->V[78144:78176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 294268: Hash(0x006b2190f4b0fd06fe4a5c1e515cb107d88c95949ff2e4cbecb7ef3f13a4e7a5)", + "P->V[78176:78208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 353091: Hash(0x004fe518d7cc71774d075ad14021cf1eb0acb729ff92dbed687080707ff5d361)", + "P->V[78208:78240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 370650: Hash(0x00fb985a79b0d2ffd07452d1afdf5d9ac1cc2ca546ab6cba289803b738506b33)", + "P->V[78240:78272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 378234: Hash(0x00068b55cf82d948d4798fbb13efd5facc012f12a42bbd4d58cc3d576a7e626a)", + "P->V[78272:78304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 388834: Hash(0x007e85a4b772453ec92dcf80e877e708f8b700f38ab235e66d74c2cb847021c6)", + "P->V[78304:78336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 407442: Hash(0x00ae0ecc22a24979063fb985a8f5b09a403385ccb6dfa52f54ed970e6d784b22)", + "P->V[78336:78368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 414973: Hash(0x002b61ce984a5986b50d786385aebb2b502f34a486edabf71cfffb5ad54447c7)", + "P->V[78368:78400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 418119: Hash(0x00d3768b7163bb24da7b7469e083bc7d76a24d31e546d83430ea96d3e97d1927)", + "P->V[78400:78432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 426990: Hash(0x00ac23af883b8e70daf4e3e83d3357cdebe3dce02fc8991998fe483b23674673)", + "P->V[78432:78464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 430864: Hash(0x008494eeb7b175c92ff483e2a023f30fa816a5ad40835d4247c92a352f617f48)", + "P->V[78464:78496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 451987: Hash(0x00ca23a6ead4827ce7b8df146b74fe89c343d9a88118cf26d3e2223b60e8d140)", + "P->V[78496:78528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 484411: Hash(0x000d6a4db8741445fede5d47cdd0923f17ee3aaca45b348271b74f9ab476ef0b)", + "P->V[78528:78560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 506086: Hash(0x00c81bb83bae610601710d13adbd15612f259bfb1aa13440c14fc2bde8847fed)", + "P->V[78560:78592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 515986: Hash(0x00298f423dc7385969223fc0637ef7a0ecc743303a82289037a69b25f11f5bcf)", + "P->V[78592:78624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 517876: Hash(0x00dea6aeddb3074b2ccdbd6f8e80e6d086fe3efa62d3f7d2d48c7bd53ea9c33d)", + "P->V[78624:78656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 137647: Hash(0x00a56ecefc67b49c58faa03fd4ef9e01069857434175140f2a9a65a2e36f0952)", + "P->V[78656:78688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 138749: Hash(0x00ef4c0925e91394acc447d804d0a4d7cc639d5b9be642a914ecea0bedfd0bff)", + "P->V[78688:78720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 147135: Hash(0x00e330ddf7ce43d1ade9c55090e73d2bbbf321751b30fe740b2b72ba31d6812b)", + "P->V[78720:78752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 176544: Hash(0x00c316ba4ca45ae1679fb7d604a605d8435d9edd4b313b2f46497f20b181b3de)", + "P->V[78752:78784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 185324: Hash(0x007b8821101497d03d8afa012389c95bfb6ba8e6f5c911a483ffac6422584c92)", + "P->V[78784:78816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 189116: Hash(0x003e2e3e6933f1522a6c35e04a7cdb05617896b181301de21d6e0f84991d9c53)", + "P->V[78816:78848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 194416: Hash(0x00555b38bd0363a5491215a1024816aec5ae629b68995e208cd3e9d398e247db)", + "P->V[78848:78880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 203720: Hash(0x00a251faad8054cf609fb6fa505854557ffb50fc1f365e07356a9458ceb854cf)", + "P->V[78880:78912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 207487: Hash(0x0093e4a915d8b9fd62eaccee817cb172d08d0cc20c7c87a5ec48e90ff93e32d9)", + "P->V[78912:78944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 209058: Hash(0x007840958777271b6ecb4f4e625c82ac9cf0ee01e61462bcea2dae444b7560a5)", + "P->V[78944:78976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 213494: Hash(0x0081a516f4bdbc0ea818f62f5a3abc3471854f415f3801db78b410e1b6273a2a)", + "P->V[78976:79008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 215433: Hash(0x00d58e264fc07992b82438d4c165b4f7a19cbd01e278f923267504c02fd5316a)", + "P->V[79008:79040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 225992: Hash(0x003d09918940da17ff6ecfcb79cb3466444da3470f8204c72214d805c8329131)", + "P->V[79040:79072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 242204: Hash(0x009bb9c29e9cffa774a2494918aa37944f810474ed5886fc9bcbc83df6bd2d89)", + "P->V[79072:79104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 253042: Hash(0x00522deca45ee8f7c357d398652b2d5278af7125b3f860637e29b7d0026d824c)", + "P->V[79104:79136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 257992: Hash(0x008fc8e909af8ee24841e9aced73dd0f0eb394110230477d45228736acf13b98)", + "P->V[79136:79168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 258939: Hash(0x0042075eea2bbc59cf324d3b49a68f2c71199d76397c3808521517691b95d368)", + "P->V[79168:79200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 68822: Hash(0x0062eddc178eedaa3b7e9945e3f257155daeb87c8a9bb25f6ba1439dd7157435)", + "P->V[79200:79232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 69375: Hash(0x0042864f4a8739755c4a6146521063d7d9b1a514fb45790b1ba47e42675ae09f)", + "P->V[79232:79264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 73566: Hash(0x0072dafded9cfc9f5cfef1c8be98eec0ca46a7af0d791a94ce5ce42d60637de5)", + "P->V[79264:79296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 88273: Hash(0x005368da199119f375273b3f58d844087cf8c23282d153cf4512dc554731c8b9)", + "P->V[79296:79328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 92663: Hash(0x00ff3431da4f4eed7cdd51058b7483832e0886ce8336d0abd88277cb99894b6c)", + "P->V[79328:79360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 94559: Hash(0x00a89c473fa919208e8e2193e374bc8e50c1a78c6f92407c3d4313994dcd5ffc)", + "P->V[79360:79392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 97209: Hash(0x00682899b693cb3d60b0c5919aed4809f3db5c59982c7d1eafb4e05c197bcc1b)", + "P->V[79392:79424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 101861: Hash(0x000e42a6fa9d838389c61df81ba5c109af5394cbc07d68e2b1891a43bf39457a)", + "P->V[79424:79456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 103742: Hash(0x00f9cc50559bcece99c520d13ad399ea9ee66ca84ddc9a640dcee4908f2cb479)", + "P->V[79456:79488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 104528: Hash(0x00508515fbf07233f1ed3d70194619a2f0117c77c11c4352c5f273e8bf32528e)", + "P->V[79488:79520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 106746: Hash(0x007032fecfd4134260a9e9c4b2f5e9ab86299a193d89aee4f77263b848a25bfd)", + "P->V[79520:79552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 107717: Hash(0x00a5110804bdefc309d825be1903356fb893e1ad2d0f0321a5570bdaa0314c31)", + "P->V[79552:79584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 112997: Hash(0x00b9229420341f5ad1fc1f17d6f53909071cc66cff86cbf8c8ba10a2793d2313)", + "P->V[79584:79616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 121103: Hash(0x007d0b0a64e79bd962d8ec71e6f307e4dad90ba1a84d15d1bf7e7c04393c6649)", + "P->V[79616:79648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 126520: Hash(0x0047ab6849c5dfabeb361e8fa2604ba37749fc5df8d9e1e1d43f35e3b17d77ca)", + "P->V[79648:79680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 128997: Hash(0x00a33ca09702dbb4d35ef51fd8312a87c04dbc62c42fa83703af6d7979ccfd1f)", + "P->V[79680:79712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 129468: Hash(0x00aa7ec7a3e5aad6a96434b5099a97b848c0bffd8e73d2d28ac47133dbba34a0)", + "P->V[79712:79744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 34410: Hash(0x009a4578b78506e834154e7588d3e483257013e945808d2ed7c23044bc9c5d3f)", + "P->V[79744:79776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 34686: Hash(0x00d5d6be4270b0679062e295fb1eddfee474b95e51b3087ae92199db29b3b720)", + "P->V[79776:79808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 36782: Hash(0x00cbcdc88d93ab689d33af9c2e7a35e3038337a007e7ac7399b1ff61fa91dbcb)", + "P->V[79808:79840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 44137: Hash(0x00cabd77d81697b52c36de1165594e564dc46d5d1246ef0d4d27761ad266d0c2)", + "P->V[79840:79872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 46330: Hash(0x007bac9ba448a7212e41d5c84ce9c17aa8dcbdae482047a502bd19ce2cd19e8d)", + "P->V[79872:79904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 47278: Hash(0x0042f2f2cf068d72b6b3a1a6712dbc72848ac10b7e4ea22bf1a442c347e0984a)", + "P->V[79904:79936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 48605: Hash(0x000b6cce86e78c905d6fae8eb6196a5e15be99f2ae7569c18d9278fdb9337e13)", + "P->V[79936:79968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 50931: Hash(0x003991b50ad079ee6eee0abecd9ec8858009eae5914ddae05d7fd3ac3e2028f9)", + "P->V[79968:80000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 51870: Hash(0x0090636a364b173bef1feda5d869616965a7b75741f54020f02dc6cb95e8d86d)", + "P->V[80000:80032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 52265: Hash(0x00a5cc56f4eddb39142c4ce960da10c1df3ee483d961fed745c82730b9d1482d)", + "P->V[80032:80064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53372: Hash(0x00f02d99c70b80a80ba01e3947bdd478c25f4e10e5edac9d0fe9995ba0839e80)", + "P->V[80064:80096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53859: Hash(0x0028468877a35ed3bd278f5a47e44b3c413836f5ac70873e242ba861267e1aa4)", + "P->V[80096:80128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56499: Hash(0x0004b2576a67a363777ce9a65ce1bc6c88d89e2b56857e6cb57180a95a13aeca)", + "P->V[80128:80160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60550: Hash(0x00d3e0bcac8a356c1cdc6ae608ae7b961a5a0b39837831db30338d3c5a9af3b3)", + "P->V[80160:80192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 63261: Hash(0x003896032fb190364442f703704cec0d68ea832761bda974cb769065cae7a754)", + "P->V[80192:80224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 64499: Hash(0x00a4af20c5ffb948508854f95f0cf9442c810824c82b6959f454fb1167022143)", + "P->V[80224:80256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 64735: Hash(0x00bb6833c85f7e8f72de5011232d66e3cae708bb8f570d0dc80be296e2bb8ade)", + "P->V[80256:80288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 17204: Hash(0x0067f69b3d456ef6d01efb682d96e0acbfd80c2832114dda730b35d9665b0cde)", + "P->V[80288:80320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 17342: Hash(0x00cc1dddeca594fee2b55be2fd6f0401369c8bd052056facd419e2283c6a2192)", + "P->V[80320:80352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 18390: Hash(0x0072110acfba2ffcf85d5427c742596c825b7705acfb8b90f9d5c5920987057d)", + "P->V[80352:80384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22069: Hash(0x003a54239081ab6c2ee9fc82312beb33ba00782f9dd88e7defbc8fe6c1cba52c)", + "P->V[80384:80416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 23164: Hash(0x003991ed1d2404750d53be424e79ef0e74fb8da0ac3dea871f3583219b4f76b6)", + "P->V[80416:80448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 23638: Hash(0x00f10b9c4a1895de46d7b5d4b3467070fb248266f06c9547b0e879a6b3d88fb4)", + "P->V[80448:80480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 24303: Hash(0x007918968b64bf3db3585ef32a4eca55b2d441e5f9f855cda5b780e543caed93)", + "P->V[80480:80512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25464: Hash(0x003d284ef824f0dab8c9b138379eedf40677d76f6d610cd89a3207caaa6f5905)", + "P->V[80512:80544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25934: Hash(0x00092f22533b97a6c091ca152f67848878009115e1f6c39b857ac0441bca208a)", + "P->V[80544:80576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26133: Hash(0x00a8d58703aa773a2e5e23da1dabe6302c3507e1f6fde8668f5d981aee5f77b6)", + "P->V[80576:80608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26687: Hash(0x008979e12cb35d332884d1621cd421beba46eaf820c9d5b0c2d6913fd1b3e761)", + "P->V[80608:80640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26928: Hash(0x0090f65ec354531021ccf64d445cb1a4dbd326ce0d9f6c645268e2c7405d6e3d)", + "P->V[80640:80672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 28248: Hash(0x00474c7a9c9f07936130887d2a932069a7a485cce6d75e1322825cabc4c56a84)", + "P->V[80672:80704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30274: Hash(0x0067c42346e943bc17a6f454f1f089cb41fd44f85286809c0a08f52fc7d28443)", + "P->V[80704:80736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31631: Hash(0x009100452a076a2b187260ed48e7c553e868c87b155e40fece80b6c98f6426b5)", + "P->V[80736:80768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 32248: Hash(0x009ccd2790c2cccbba40bd5078a86b57f31e35e4b5673e1d0d79cc89affbefe7)", + "P->V[80768:80800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 32366: Hash(0x0072069352840d05c0bfebd7008df143a9a6c2269e980e080e147112db0f72db)", + "P->V[80800:80832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8603: Hash(0x00d6c9fede5727ef74ad45f7ec588c216c3073ef2e1910eb0287e91376a5f4db)", + "P->V[80832:80864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8670: Hash(0x009a4570dd42b20e4d2a9f80edb445e0645d594a05b17038a32a030d26bde563)", + "P->V[80864:80896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9194: Hash(0x007e87eeb78510c323bcd508e4bcc47fe9f8e2add41bc1f01240f1a93345b8ef)", + "P->V[80896:80928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11035: Hash(0x000e381f6d166dde70dfefda96424cce6be0dd13bb6ed2e71889aa65486e47bd)", + "P->V[80928:80960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11583: Hash(0x000919de4cc467829ddf76a522e40a705394ef1b95e85863ccd23a0a3b927a4d)", + "P->V[80960:80992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11818: Hash(0x0098faa98fc76ad139de2d7f71e49ab4849cccbb6a0bd419e351c783a9103fe6)", + "P->V[80992:81024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12150: Hash(0x001d06724f21c960833c8f73c39d4c25937582888391c90c21b6a076a9e86eeb)", + "P->V[81024:81056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12733: Hash(0x00c040bdd5e824786427a48721b54f0f2394d4c0962c117f55d11eb97f646f05)", + "P->V[81056:81088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12966: Hash(0x00dab0670019cff7bfb95c1bb29bfa968fa32ad18f3dda955a51e81e5f8cb284)", + "P->V[81088:81120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13067: Hash(0x00d88e024707b7693b937dd16efb53f53914e66fec76a89b50769d091885505f)", + "P->V[81120:81152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13342: Hash(0x009e68d57dc069116653941bbd61f2f1f75cb7c626ba4d4080b2541711dd68d2)", + "P->V[81152:81184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13465: Hash(0x00d8033e5d3c10a37a7099d96e27b98f5611db4f15f44b99cf8bac2b79c0c34c)", + "P->V[81184:81216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14125: Hash(0x00a520d524e2ab32417fca9f8f4bc42606ace7e27fd16340e2742db92de9bb6d)", + "P->V[81216:81248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15136: Hash(0x00dd8e0ab3faf939c390459b43d823f2abd0edd7f8ff60ffd6106b32ccb09837)", + "P->V[81248:81280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15814: Hash(0x00fd7aff7c5307d21d6eee6dfc02b740507b2d0455c94411bdc38217ae6d78b7)", + "P->V[81280:81312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16125: Hash(0x007e770d8f208700c4771e4f2aa3eb50bd8cc44b0ff56b9c58ff7cff2c8b2968)", + "P->V[81312:81344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16182: Hash(0x00543a137d63d50d898f42f483ec8665e8b9778de75779f4f4606b2bdec09637)", + "P->V[81344:81376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4300: Hash(0x00bbc7e9b96be95d46a361fb9f5eb255ace2025d07d6cd94dbfe6f4d324d454e)", + "P->V[81376:81408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4334: Hash(0x0081b028da8f5c7f795edc1f9557ad3e15fd64480857f92ebf9266cc4f447b8b)", + "P->V[81408:81440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4596: Hash(0x00157bb4bd16d37de4563b44ccf284cf24dffb923fad91e3abb4794a51062f4e)", + "P->V[81440:81472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5516: Hash(0x00ede6b77b994e09924d46c909dc17599bccce766df3b68ae8b29e410eb629d4)", + "P->V[81472:81504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5790: Hash(0x0078d9e45c412830652d07572a5b1a08ac61ce24ce6e0fa5ea6f7253f3a1ec84)", + "P->V[81504:81536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5908: Hash(0x0066f14f9e0b6c5237a498a67b8da18becadd923e7b59fb2781b19585562eabb)", + "P->V[81536:81568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6074: Hash(0x0097aa783f79bfb6224ca9146372cc519dc8a26702853295313a468b0ca23dd1)", + "P->V[81568:81600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6367: Hash(0x006ad7bd3e3792cc067818589a43d3478a6587fb506a6a2ca63fe973f58504b4)", + "P->V[81600:81632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6482: Hash(0x0009a2ff46ee7944caa2c97ad07cb9bd0136fa7f9e11b34bdaebb395c6ac6033)", + "P->V[81632:81664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6532: Hash(0x00901ff56ea15eb197615d9157f55926a683a4794d967e33e0f2a9dc1317b997)", + "P->V[81664:81696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6670: Hash(0x0087f9638fce8f064adb4309c774269dbdd7914751685e0efee18190970899bb)", + "P->V[81696:81728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6733: Hash(0x00fd3e7727b16d9d2770f794f3af745fbce5ffbfb738a85f56b56ae2e1ae6a76)", + "P->V[81728:81760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7063: Hash(0x00025721a3b89f730e7df8666142121346a3f9d59e062fbc7a47e99075b550cc)", + "P->V[81760:81792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7569: Hash(0x00031fa3d60b5e1b112f3e1d07233178b97f4859748344173543eda8bff267c6)", + "P->V[81792:81824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7906: Hash(0x00c72c27181d51e7a5beebab5f42bd5f1393935be0f3d4035e3e594423a8bd1a)", + "P->V[81824:81856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8063: Hash(0x0058b6a67f03e7f8a5dcdaa0fd4dd80d44b2f15d8fdf82cd7d7e36f7d55166d9)", + "P->V[81856:81888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8090: Hash(0x006f9fffb9cb483394007e07f1e0be9cb63067d9a592c053d4b038d0c9aa2e3f)", + "P->V[81888:81920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2151: Hash(0x00f60f7984b0bac6b165d0d19a6c39437cec475b297a2b6d7386691e3eab5b3f)", + "P->V[81920:81952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2166: Hash(0x005590932c765ecbeca8f086453b94cd645e345fc09899e11fbd03105189d8ae)", + "P->V[81952:81984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2299: Hash(0x00dc982d93f6e1922a916a8c6df161c2ab3a6624be519fedfb0618e5acdd632c)", + "P->V[81984:82016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2759: Hash(0x00e7bcfc904c304d30820ae4038a041724e4f15d83413d09841930a19ff763e7)", + "P->V[82016:82048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2894: Hash(0x001fc66774ff584185ee1b901df00f11094826f597eabd725015ca2c0e67664d)", + "P->V[82048:82080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2955: Hash(0x002ece46eee8c52f83ef567b3f2b2d626cf7532d27bbe2f8c0c30d1f5bb383d2)", + "P->V[82080:82112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3036: Hash(0x0092af1073828b0c2b340674d2bb49f1e6ac22812fdee6995758d5cd2260ccfe)", + "P->V[82112:82144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3182: Hash(0x008160e885ed6be0fbe2a8d713b2c3a82e895b64dcf16eb6c2c1aa35fec2c150)", + "P->V[82144:82176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3240: Hash(0x00296960daa179159d99c195122f0f47813416ef4075859d3b695a6f141b9a0e)", + "P->V[82176:82208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3267: Hash(0x00022d3f6be6eeed7665673f7bce576b905ed5eb5e9f79b7936b5424fcb6b8d6)", + "P->V[82208:82240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3334: Hash(0x0026a42965db151606fd843bfd16fdc52692c5d3e7302711161b75a36c4da1f3)", + "P->V[82240:82272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3367: Hash(0x00f659f6a2cd3c211f0f21809d581fa152f987d860aed3e15316d8ebe809f361)", + "P->V[82272:82304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3530: Hash(0x009475333d5d882727a57c7f6dd82513de7dfa9adf24faec2ee88bc8467a4318)", + "P->V[82304:82336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3785: Hash(0x00d42852733bddd156f73ca866442baf70c6bcad79c2315b057142fc336304b1)", + "P->V[82336:82368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3952: Hash(0x001e84a625f9f7748db960f2839f78ec669069cd80a91b96345256c0bc451d54)", + "P->V[82368:82400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4030: Hash(0x00c02fd98d0f8cbbe6ace9d632e38c3e91a6ade6486a98148e3be039ce9da03c)", + "P->V[82400:82432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4044: Hash(0x00d1f71d9b3f4cc46d8a18730deec771af486c8ef1045260efae83421c754f04)", + "P->V[82432:82464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1074: Hash(0x00cd4e60c20e5fe3727276aa3fc6a670903c73de7da94cdab1a166519f2e881f)", + "P->V[82464:82496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1082: Hash(0x007bced40156e178d0ae1d3b4c156b66fb4ea489bac380159ba182f8890324c4)", + "P->V[82496:82528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1148: Hash(0x004268fe4de82be1a6f86defd388ed6a361faad71b6621dcaaab7ab308588120)", + "P->V[82528:82560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1378: Hash(0x008e1243455027c250df5565d80de3780ef3262ecb52416be4ce040cd374411c)", + "P->V[82560:82592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1446: Hash(0x002b4997b0b253cfceab88dcc77ff1d7fc2038a35b13f9ff45b181a9745f8d38)", + "P->V[82592:82624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1476: Hash(0x00c8b5dca2113730e775820b16e9c00a5f63442abb07c807b626af9fd72d5ece)", + "P->V[82624:82656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1519: Hash(0x00be95be0f08a3e59e7f4c65a9a686f3eb941706c8738fe8910fc8c42c34fce7)", + "P->V[82656:82688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1590: Hash(0x0016d3e4829597eb9bbce1191ee327cbc013d9bbb571fa46746f6d58853ef3d6)", + "P->V[82688:82720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1621: Hash(0x000f903aed3f9391f411efd3ff07068aba3a8177c9cd2b941d4d4113b873e094)", + "P->V[82720:82752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1632: Hash(0x0022e3dc572732666df6bf7a152bec1f468076930667c5693380e278a8da5014)", + "P->V[82752:82784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1666: Hash(0x00ed28091911797e817e5db8617a71572fdf07d9969c1c47095b0e6b3d99dd2b)", + "P->V[82784:82816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1682: Hash(0x00baf4fdccb075ef239d85c750b7cd2dd99a47efcca7d445fbc5d7287e2ef7ce)", + "P->V[82816:82848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1764: Hash(0x0076348ba833d39f76e711bdf5a3074a588b2f037a1c69c0ded478b4f19872f9)", + "P->V[82848:82880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1893: Hash(0x009e9f2272fae4fcad1ea5928087fa60b5a81132d6fda9587e706efc4695df0a)", + "P->V[82880:82912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1977: Hash(0x00920e13a481a996def822c8c58dbf52149fd8fda17246e33344af5a5523dc19)", + "P->V[82912:82944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2014: Hash(0x0000cd35b52f0cd2e363de2d07314c46fb178705fb2f7d51cd19f33b9680ca5d)", + "P->V[82944:82976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2023: Hash(0x0001f66da2d91a0de48db8df37566c77f435d385466c63f1785671063aeeab03)", + "P->V[82976:83008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 536: Hash(0x17f350f5dfff65463e8ccb4a30b6d97a085c75ade5a1a5d3354ec85ae3871)", + "P->V[83008:83040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 540: Hash(0x249a4ae1692e7a22f1d37e1a063858b5728c58de5cfeca0fe9b2312d65057)", + "P->V[83040:83072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 575: Hash(0x1cd089b5470d6edffcb64a59b38af5bd83dbe7092847046f811d1fb4d736f2)", + "P->V[83072:83104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 688: Hash(0x3252dbbcd63b8f8c0261868e2f77316ad96ce302e8db702b6cc427b4cc5e2)", + "P->V[83104:83136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 722: Hash(0xa63f181464dd7e380a3bfd71bc81df0b2ab54a274744740a442da9cc0a5da5)", + "P->V[83136:83168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 739: Hash(0x4ed7991123d043b417e046f0f71dedc8720fad3ba1d3083e05cf1a387bd7d4)", + "P->V[83168:83200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 758: Hash(0xc4014eb7e98532420636fdbcefaebe747802ea6636e2327f7942cf9e033667)", + "P->V[83200:83232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 794: Hash(0x72bb118bbdd2117fdc9d4431385c8e7cc694ec7a487210094dc3c2d17d98f9)", + "P->V[83232:83264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 811: Hash(0x7820b0328beb182005a4ff6e1278ac95e53e1ced7fdd3a6e809cbabe922eb3)", + "P->V[83264:83296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 817: Hash(0xffb156c4deffc54dca4ccbf846cbc3295ca639cae2b0e76e8dceac11aa7859)", + "P->V[83296:83328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 832: Hash(0x446f42fcc44939a12e70918a5f7e20981af9e683d5bd91d9f6b9f29fa66005)", + "P->V[83328:83360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 840: Hash(0x7a80e3f896a473e8906900bf93a55fa32647a0b39b1b883895262a857719d9)", + "P->V[83360:83392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 883: Hash(0x45aa0d5e4389688d7ed3d5b8ef8eb73ae5b7f24950bbdb5b0201a5e0a2a9ae)", + "P->V[83392:83424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 947: Hash(0xad850f6b9cb78f9e3784d574963e4b38957655186fa7c79c5332c01682ec10)", + "P->V[83424:83456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 989: Hash(0xe5879501d0021bbb6e1543a68c6f39aa8407b6183a82ec138393287568c764)", + "P->V[83456:83488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1006: Hash(0x2db4bfb04d9fb2369d5c2e0e1587ec34c0eecfd6daf037e6927af8f640057)", + "P->V[83488:83520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1010: Hash(0x90ee4b1d9834aa2683dea89df3600dd853805cf7cd05c7310423c1443c02c6)", + "P->V[83520:83552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 269: Hash(0x70311b62dc57856e1d18ac09485a5fca82922586e717c37d9770b54246dfdce)", + "P->V[83552:83584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 271: Hash(0x1ce2217105a28d353a78b9459207c007a474715805e4dd527195044e93fdc33)", + "P->V[83584:83616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 286: Hash(0x3d4188d4cc725744284651337c03ac9150acd8a5d7e5ade78940aeffb31cd9f)", + "P->V[83616:83648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 345: Hash(0x5448f08c94a99ff1ab333bde40e6c8e694985c118e53112750b9b70d3f3ca65)", + "P->V[83648:83680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 360: Hash(0x5ef063653c28272242e30b8e1f9916cda4ce6559f6539c61b13d735def1d65b)", + "P->V[83680:83712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 368: Hash(0x74826fec7d0d32d91381c8865854b4c71676c5fee1140cef0e187d4bb410d0a)", + "P->V[83712:83744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 378: Hash(0x513d15aab58f0f2495dc483a26ec3dff7200df59dc693ac423b6c13edb39cea)", + "P->V[83744:83776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 396: Hash(0x5391297f6d793a79e18df1a8521ecf8e758d4d7046f75aeecd4e2dd5728a825)", + "P->V[83776:83808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 404: Hash(0x2e2ff293ffaa64fd64cc1f6f9ffc523de005c4428212b2d2169d510906005e)", + "P->V[83808:83840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 409: Hash(0x7cb6f53e0ff3db9682276c8ff7ca0bcf2e65c4c2ba3a927cfdc23baeb3c08e7)", + "P->V[83840:83872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 417: Hash(0x54d8625790ae78ab8cd6db09f596edbc178a5ade0d2ac77c0b3178279003b6f)", + "P->V[83872:83904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 421: Hash(0xe9c956ba989f53bfb72023dad1a72e01bd27022a75193a3ea2cf08c7842320)", + "P->V[83904:83936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 440: Hash(0x1adc8845a1500690bad882dc11c2d7adfdefb2003c8cdddc729b26a49d34f46)", + "P->V[83936:83968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 472: Hash(0x309670286d0885e1e0cac46bf945ee2231308ea03072e698f000ea858be90b9)", + "P->V[83968:84000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 495: Hash(0x39ec13b1c6b1c3077716b4dac0d2fd49c2402d69fd263f10272e098d1e45ed8)", + "P->V[84000:84032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 502: Hash(0x7ea8044558f9ae4e63fdb69d2a53857b1636516f83db3d47aea9c472f20fe62)", + "P->V[84032:84064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 504: Hash(0x285ac33b63b00c544667a3e77198ce293f748f62221fc5aacc5bc84b1b61e68)", + "P->V[84064:84096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 142: Hash(0x7f476d92cf0939e40aee61c97533d2ceda5b6c735103acd89599ca32380a548)", + "P->V[84096:84128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 173: Hash(0x6d5232eaeed0c5a72ee43855cc705d33054f6bb25001404e99b6d65008d2678)", + "P->V[84128:84160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 181: Hash(0x2fa6a8d3fdf42539ce1d273c9686c56d90a175f66e472429ce84a507bf5e8f4)", + "P->V[84160:84192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 185: Hash(0x729050af8e7e10ce3417d5275724697d0d2e36e396710d4eaca5af10f7b7a77)", + "P->V[84192:84224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 188: Hash(0x56477d03235c28d4cd4ce40e3f05f7162938e0ffc00f84bfc91dfdcb07f92c7)", + "P->V[84224:84256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 199: Hash(0x5fade063b02281563281cec99deeee9f1bfbb9dc4baaa911e1eb6c4765b4929)", + "P->V[84256:84288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 203: Hash(0x37f85453713f355abb7fe77c0a71d8980891aac1b669478eb6be34b36cdeb27)", + "P->V[84288:84320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 205: Hash(0x3514387a16d4cdd64c1503cc605c871d6c4a60defae9827c81700f0bfde59da)", + "P->V[84320:84352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 209: Hash(0x248524cf06d62e1a71f23a2c7241aee29ed0e0d034d89b51784fa8286f53f72)", + "P->V[84352:84384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 211: Hash(0x7fed53aeb29a70c19a7bb7003a805ed04d1b9c6ef118c0c6ccd898ac955198a)", + "P->V[84384:84416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 221: Hash(0x486a02f3abe3b7edb6c9f785fad6a1fc18840d8b60fd37bdda2eb17630abcaa)", + "P->V[84416:84448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 237: Hash(0x7c4d20e7e559b8f838813f4d69ea22fb322739937fb3deb62d1767761762402)", + "P->V[84448:84480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 246: Hash(0x3100775bbba6e5a12ba68a3c407af919c3acac8f71063fdd3eb195e89fc7d4c)", + "P->V[84480:84512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 250: Hash(0x22b79b98321db3cb2b6f7d01c7468f8e4a7e0efbb230081a3adaa4d7237fd35)", + "P->V[84512:84544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 253: Hash(0x4397b0ccd03ae5acce29ad50f5e119c401c6ae6e4da643493d7918ae14d21f8)", + "P->V[84544:84576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 66: Hash(0x55b64440c5f910b5cf7639060c30cc468fe71d3c850bebaa4f538c92134f5b6)", + "P->V[84576:84608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 70: Hash(0x101674cd5c1d0f2c95f64bc9b5d29e99f68a0219c03d8ff0141ff774a30f41d)", + "P->V[84608:84640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 87: Hash(0x39e56c45aab3f21d2fb2992a909cf87bac43024351c66d4e55cf93052b57601)", + "P->V[84640:84672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 91: Hash(0x3599f3924ad060f9f1f9e6153165d067fbbf1375447f45d7e7aa14e92ed8fbc)", + "P->V[84672:84704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 93: Hash(0x55a141e54e6a8283a178ceec06acd21d86ccb794dc7d49d44a1e8e28dd77ad2)", + "P->V[84704:84736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 95: Hash(0x42402bb75738fd0627b49903317fb31e54f458b00cf33d0c9c5951be0369dd9)", + "P->V[84736:84768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 98: Hash(0x1091febddaee34c7ff4ebb69108d89035bb9adcb0927f54448ea69d7dc6c756)", + "P->V[84768:84800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 100: Hash(0x3de7a3655ce625c2871ff214b928a7009513fdaaa7ebd2efddaf51afc609251)", + "P->V[84800:84832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 103: Hash(0x744d579f768ea25fc6c50e3a7c3368d4924ad9ce9f1eba3127af81829e9a6ef)", + "P->V[84832:84864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 111: Hash(0x37a2f2d39d4452c80cc02e43cf65cd4cf1ad2b74aae777ffa91187736885806)", + "P->V[84864:84896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 119: Hash(0x1d1394f4a2f61ad6c595d45399ad44d83e270c999296d1bbebdafbad2240ceb)", + "P->V[84896:84928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 122: Hash(0x1665c6a2ad0484c57cf88e0cabce904743e80856658d8024d1ed8a4925267a5)", + "P->V[84928:84960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 124: Hash(0x5cdb3c7cfd52115c03fb948b344054e3698f63348bd6f20d9834cb399c9a44e)", + "P->V[84960:84992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 127: Hash(0x3571038cf44735d61005d92ce70b115d9361323232a319b2eeddf1c38d68745)", + "P->V[84992:85024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 32: Hash(0x5df5cc2cafa7db3c08f8b441916ecd0d14b29616d81a0055dc61586ac5249ac)", + "P->V[85024:85056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 34: Hash(0x5938792c0d8e28780b519469877b72e0949bc506c9bfd066201d8b12ca649)", + "P->V[85056:85088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 42: Hash(0x7e144aafa0a5fa8d094aae5a8126a2a014cf29e4882dbc8bc7e582b632b03c)", + "P->V[85088:85120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 44: Hash(0x65218da8b6c774e7d9d93b389cfb2b29d91d2784fa68b2494072e6a3062f143)", + "P->V[85120:85152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 48: Hash(0x72200c5203bf7b6ade586259fb8ea73b3138727af02ca022417699a064d7a11)", + "P->V[85152:85184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53: Hash(0x5a9164eac1c499e4509ead3ee5dda7011ebdeb39522a7c60025ac4cc013cc5f)", + "P->V[85184:85216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 54: Hash(0x50a283d10b50b57556e7c5e7e9a7fc2ab1cd9e0e33ec030f1ef00e76f952d9)", + "P->V[85216:85248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 58: Hash(0x2f4be7a6214ba407040a2b16c486afcc2db4410ce3b8e2d643474f6c74a6574)", + "P->V[85248:85280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60: Hash(0x4fdfa81694cc0b4d48c7756233e22d192bd3848bbc3b9825da98d84d32b433f)", + "P->V[85280:85312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 20: Hash(0x62952be9f5f3d70e903cc825548915cfae4258fa71591722fc922efd7a9f0db)", + "P->V[85312:85344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 28: Hash(0x21dab02e5c030e45a9a66dfc5fdb917116cd09b609d0d06182fd164831053e6)", + "P->V[85344:85376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9: Hash(0x4539d8ae12c3ea0dbabf0f47c28e5c6fe0143af94eb2a50f38a0757f7c020ba)", + "P->V[85376:85408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 0: Field Element(0x38533c08ef322ff97dcefa65600cb3a026a9950e1cf37eaf5d11eb014947fb2)", + "P->V[85408:85440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 2: Field Element(0x1bc083e39cc182112b639950018a3eca1b24e1c9145617bb0d22b6fda01c14)", + "P->V[85440:85472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 3: Field Element(0x4b95a1b7529a81dbd7012905f9101d88e19dba0aec48f7507ed8e97f44e6a49)", + "P->V[85472:85504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 4: Field Element(0x6fdf3f23e0d0be98e2ed63ffda6019a3d0f0202afa11207ec96fe2592921559)", + "P->V[85504:85536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 5: Field Element(0x503f85732f5c41d142f66eddbb28ceeb28ab95c1850a5d19c1da7941207c84f)", + "P->V[85536:85568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 6: Field Element(0x7476cf087faec9721ea0109ec17907880a5c06ce471a676c15b1e5ccd98e58b)", + "P->V[85568:85600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 7: Field Element(0x5c753c5652e08765bf4dce69d9e58655563b669ef315d2bacf7d31bed39a479)", + "P->V[85600:85632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 0: Field Element(0x43f90e582a60223267061c5a3db812cccc93e6cf9e4588f0c80a202e9009746)", + "P->V[85632:85664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 1: Field Element(0x1d6fbb7458aed3d705b8a26633f5bdb0122f7cb773c5436ac4eec597e8e7925)", + "P->V[85664:85696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 2: Field Element(0x3ab9488f013d46567d49c57f2194d9f86aba214632a55584e5b7641c20496a1)", + "P->V[85696:85728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 3: Field Element(0x4fb8af5327de381f545f02383a3c85dfcafe71e6156c4841d89c9a01c06215e)", + "P->V[85728:85760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 4: Field Element(0x8be4ce92a0f810739ff97240ff8daf1d9a79ad830f320314d83626ef94542d)", + "P->V[85760:85792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 6: Field Element(0x6d40a7c295520b2caef0f153a24f48bf440a73db309f8d3a9963d1bbfa7e374)", + "P->V[85792:85824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 7: Field Element(0x2ac6b2492b850936591e4b8fe1ce02eb489a77d44437ddeabeb2e329c73d69d)", + "P->V[85824:85856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 0: Field Element(0x1c006717925f0e281f1c8a0465dc3ffc7017f1865ef2733657730046886fcf1)", + "P->V[85856:85888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 1: Field Element(0x4c22de2ce6e8db9d83e40331f79f1e871a6825305275d43d1a9b3718332201e)", + "P->V[85888:85920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 2: Field Element(0x627ac7cc0ce7a1d3d56db1a148dd05659c101706af6aee7bb57103d2c354d3d)", + "P->V[85920:85952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 3: Field Element(0x18c420489d9e2907964cd254d2dca5a8da4cd45155b8993a294a1a77f41db2f)", + "P->V[85952:85984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 5: Field Element(0x7f61d545ad759a3e4aabb5fb1a5091006a8d1ca2d700454f15ed51f69598e1d)", + "P->V[85984:86016]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 6: Field Element(0x27ec716e4e09386059c359588095e1664249dfa873f2d9874e922b403460d32)", + "P->V[86016:86048]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 7: Field Element(0x18ee73b6de8aa019ffa5f2396b75caa2196395b66f0e1bd5fd932b623a67840)", + "P->V[86048:86080]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 1: Field Element(0x4b6364f03096263fe8bd7bde8d0035efb31362ef0991f009234bd8510308a57)", + "P->V[86080:86112]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 2: Field Element(0x1c4ffe15605450172dc85a5561b0fbb173cec48eddb50064633590e57de9d8c)", + "P->V[86112:86144]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 3: Field Element(0x3531ea4deded41f7a82c591b67db107693c1eb5a317358134f4c905fe517e4d)", + "P->V[86144:86176]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 4: Field Element(0x362fbfdde683edf7e2e3e49d1fc9b1c017cb9422f81a5df1c9f0335e919a6fa)", + "P->V[86176:86208]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 5: Field Element(0x14d3954c4657cf20daf2287be235304347c78e9db57ef4a7ce0ec40748fa7fa)", + "P->V[86208:86240]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 6: Field Element(0x66bd2fb008ee748bbd896906aff68687c1385320418b988940c619cea837548)", + "P->V[86240:86272]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 7: Field Element(0x1cdf3e1fdee2a764a0af943a6dce5904867c0912f50ed01e3f8df80aaa9eaed)", + "P->V[86272:86304]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 0: Field Element(0x15c0a1ce684ca3afb966cf8843f5e503b59a91643149028b2bd0ed090f407cf)", + "P->V[86304:86336]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 1: Field Element(0x744d529498a2ca2c29126f0d810db7e7069ac330b558be268df7d502b4f3850)", + "P->V[86336:86368]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 2: Field Element(0x4aafd825859955d6a3342b3cc5464cbb92bc351c41c0a81bb83b50ca989c8e7)", + "P->V[86368:86400]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 3: Field Element(0x46a217ba4202a5aa697eab4dc2d260e4b1cd57e733866bea6c24329265df01c)", + "P->V[86400:86432]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 4: Field Element(0x7b80085d8f4695956da0da2bfb7a2f0f0ae721bdfb80b8ae15bd1304fd171f2)", + "P->V[86432:86464]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 6: Field Element(0x5047eda081135f27e681785215ab9339f3a869f58fe49b7b0f3b5ab2403354a)", + "P->V[86464:86496]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 7: Field Element(0x2741ad5d12182f736b232072d5a651fec65e51a5a7723cac31c640e953c8d7f)", + "P->V[86496:86528]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 0: Field Element(0x20470e97170fdd66c76ba1543e9e07775afa42f79bab46958bec397aec26d40)", + "P->V[86528:86560]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 1: Field Element(0x2544b78e7fc8e4a659173a318c1557956ed48cefa94fe39f5b0ea57448f4d96)", + "P->V[86560:86592]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 2: Field Element(0x37668cdb971d713586aa18d94605adefd3e08dc2313b21d3c5e3caa83b3790c)", + "P->V[86592:86624]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 3: Field Element(0x2a670112b83a79a1f54cec9d388ee078dee11760d8df4b63d301b65f6c8d75d)", + "P->V[86624:86656]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 4: Field Element(0x75c9f28f505b64631f75360747d59b7b311120c6727ecb55cd4720ec2b36344)", + "P->V[86656:86688]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 5: Field Element(0x3260ca06775e4a5cfbfc17dcb0ae6abf6282112fde69e85055f68b381665a31)", + "P->V[86688:86720]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 6: Field Element(0x20ef76e62994d71e72ba89595043a220b91f4aadd561144eef0ce7319c02ac2)", + "P->V[86720:86752]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 0: Field Element(0x7dc505e5b5dee14d700309ff1264b7a681348680c9600bba13e1b37eadd087)", + "P->V[86752:86784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 1: Field Element(0xc1ec03efee1e636cf9f8bf8ca5cafad5d997fe6f5a56b5f96d937f8aeffa81)", + "P->V[86784:86816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 2: Field Element(0x4fd748af1ff50eb57a22a69552727365a5ba927c53e373f353c0ce12967908a)", + "P->V[86816:86848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 3: Field Element(0x12a224f5eed33003b2877e0f8a524998360fd93c3f22c66270f606c7974273c)", + "P->V[86848:86880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 4: Field Element(0x9c410669412ee433e3370c6fd3d674332f6d7d498d4ffd0e586cacad54f136)", + "P->V[86880:86912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 5: Field Element(0x58a3a59edb350b41705b16620dd9e69e28f32c1dae2305b48372657eaaa3b1b)", + "P->V[86912:86944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 7: Field Element(0x18852fbd78e70cf8bab38b960179c19376e4d48b55044c299a2f9465705dc3b)", + "P->V[86944:86976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 0: Field Element(0x17817de9158f29bf082812afcf169df4cfdd9b784720cf6ceb7d9dc486ae230)", + "P->V[86976:87008]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 1: Field Element(0x28d86f5cc4f733dd11f699c96925e3cedcbc8233115e4f3dc71d17b91245245)", + "P->V[87008:87040]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 2: Field Element(0x16fd833f51906310ca88aada278cd5079fbf59638a09097494ffbb3b042d769)", + "P->V[87040:87072]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 3: Field Element(0x1095331f664f941c6041bfbb97ea7cdb30c3380a5aa679a00db0c47148e4c02)", + "P->V[87072:87104]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 4: Field Element(0x6d62c25e07237be2b323828365978252c7318fd7e943b2ec937443bdef5f1df)", + "P->V[87104:87136]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 5: Field Element(0x61db4e1120c81f5af3638065b5971abf5773ac1f472c7760b4f33ca99ab81e3)", + "P->V[87136:87168]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 7: Field Element(0x517b369cff27707c35ad690d5dbb5f576cf45f8a2fa586efa5248febafa4a9)", + "P->V[87168:87200]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 0: Field Element(0x6fafa3863a4d4a0d248e7cef36756f4524735ed5791902af394889118b27c6d)", + "P->V[87200:87232]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 2: Field Element(0x4127b173224e0a9b75c96727cd3e105ccc7f02488dfd560d8ebb13ccd8d032)", + "P->V[87232:87264]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 3: Field Element(0x4c1f80942cf70b95e5b92a9d10824493cec5fe3704fe056ad9eca32e463a680)", + "P->V[87264:87296]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 4: Field Element(0x556fdd66c26e3b9a19003bd5ca332a4cad6f20aaf2ef8e6f9a6edd23add33c1)", + "P->V[87296:87328]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 5: Field Element(0x6dc103f50990d8eb1156e46d52c55bd7e495397584e98610d3fffcf5754c092)", + "P->V[87328:87360]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 6: Field Element(0x75bad02f883dc4d0b88e56f96b6dfd80a40d76411bebb28c4c14f3508d8350c)", + "P->V[87360:87392]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 7: Field Element(0x322b37e652873abdccc347302c423103113d7e891970104e8a045fea87cb886)", + "P->V[87392:87424]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 0: Field Element(0x4fb80702b59b3d4655c2d7d18e1e33b1da77c47b1bc5f174a339ecac54730ef)", + "P->V[87424:87456]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 1: Field Element(0x4c29767c28f1b40c8d49465f0d379c7355a65e2f9c5e86ee972a6a5e7a9d110)", + "P->V[87456:87488]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 2: Field Element(0x62b7349bee9f095d6a86751939af87c441c879766f332453693a2641e141c16)", + "P->V[87488:87520]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 4: Field Element(0x782f4a23f08c3a5d9c9c368b722d2e4bcb5758827d50cee70934f69a1a82366)", + "P->V[87520:87552]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 5: Field Element(0x498118154b879ed5a628d3fc62956f5021c251b77741d47f3367d8627f96d59)", + "P->V[87552:87584]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 6: Field Element(0x29db1b4cc703720ebed7e3e97acd8dafc3ee6b94902a6abb4898803c24803b8)", + "P->V[87584:87616]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 7: Field Element(0x626c288e1da18eab1d8fa257edff965bbd2b355817772f856393f7f0f863190)", + "P->V[87616:87648]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 0: Field Element(0x1bdbfbe96fec6ded854e20a6997b7aec75e2bf08ef37a5f03319f847096eb6)", + "P->V[87648:87680]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 1: Field Element(0x50c4cd2fa630bf39067df5aa5b4ef9267c0749a44f6e1a174d8335312534a6d)", + "P->V[87680:87712]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 2: Field Element(0x7dafff6b6f93c92552844fb5a2d5957e46f26d72cc9d983dd1d83fc5666ae95)", + "P->V[87712:87744]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 3: Field Element(0x4af800e83ef201c3029494e63e12a71a4236a69efb3f6fc3a9c76c1505a24b9)", + "P->V[87744:87776]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 4: Field Element(0x232af92ee0ebaf73b69cc08ce8088bec05969e84dfb118089980a004ddb783)", + "P->V[87776:87808]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 5: Field Element(0x49881ddfaa6034cf70fc89572b1118eb303e40a30c32ca592d927edd146246f)", + "P->V[87808:87840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 7: Field Element(0x3c362a61af317fb859c21f95de6ef8a20c64e4d9e23afc49a030c18882e2c8c)", + "P->V[87840:87872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 0: Field Element(0x1e12822878baa28ae683d170471700e44790f701fb6ee0f8056e60619dcccfe)", + "P->V[87872:87904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 1: Field Element(0x520d7ca2d50531968ff5d1d7c451abc5b429b8ed80d33668c0e1a6ae85251c)", + "P->V[87904:87936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 2: Field Element(0xd501dcddb20bfdb65fd4e7b77126e915c6e31ce1d35d7cffa2cb53929816c2)", + "P->V[87936:87968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 3: Field Element(0xe71bb10b1a89de6643944c1b84261cadc4de427b59f5fd4d5741d8179cec65)", + "P->V[87968:88000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 4: Field Element(0x302757fe42d397fd3a7607d75817ca5ecb8bcf0bda6d0b6ba6c35c37618dcef)", + "P->V[88000:88032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 5: Field Element(0x7f32ac66701c5a1dcf232097cbaa489dfb1d506d8ddcf19060f3b4e3ea20b04)", + "P->V[88032:88064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 7: Field Element(0x4163e336dccc1040af117c216dfca7a68bd335bfc9a6c097f2c9f218da3df4a)", + "P->V[88064:88096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 1: Field Element(0x11bfe25e629d6c4d9817c4eb98998c96482f0d8fa63b56670f5623942eca6fb)", + "P->V[88096:88128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 2: Field Element(0x3e7acecc59db29c36c169a5d7752e55d39cbf9a13cb8e548072305d11ebd5b4)", + "P->V[88128:88160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 3: Field Element(0x70448b068168b73da499210d2f3597a270ce42307875243fb1dd8968e1c755c)", + "P->V[88160:88192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 4: Field Element(0x6a067c2992239d8ad091e34855a071ab8ca89554f57d3565fcffb8dd8a6beab)", + "P->V[88192:88224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 5: Field Element(0x31b6ffdc776a4498227018dbbf22f3600788fe2466b62629e92ec406df5ebc7)", + "P->V[88224:88256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 6: Field Element(0x74e45863370bbe3723791557b87cb409af55bcd401f7e85285c593cfc4d0f67)", + "P->V[88256:88288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 7: Field Element(0x22cce141ce7a1cbf6aa9b7686e7060c6a92a32aadce05910dcadac6f18d6168)", + "P->V[88288:88320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 0: Field Element(0xaf13bd6a35db7b6aa11d43a9644419510781f7e302d2384dab9cd397612e67)", + "P->V[88320:88352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 2: Field Element(0x4308a0683f9744671b1d1fcd15fcc38b519c9c168b2fb06259e71a57ff6b92d)", + "P->V[88352:88384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 3: Field Element(0x7f0ba07ea3a92e97b3fa024d3cabdcaa83b84ca21e623fecf747da5472f4971)", + "P->V[88384:88416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 4: Field Element(0x577f75e6b92b5783de8353ebf86223c3e23609817a63984eb4433d1c0b71518)", + "P->V[88416:88448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 5: Field Element(0x565d7dbf4758d37628993ff2ca15e7d2047f89dd6473ae0033af11ac37dae3f)", + "P->V[88448:88480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 6: Field Element(0x81c72a3d3997cfe354134ec25ef85b1def868a25555b32807d442c6450c685)", + "P->V[88480:88512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 7: Field Element(0x79f56c60cd9f4396e3ec3a0094a908c1981525737bbe578c3f4eddc20d46de6)", + "P->V[88512:88544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 0: Field Element(0x253d64bed1196d978f59e2f3f4caffe48a3a8b7b60f3888bb295159ee07edee)", + "P->V[88544:88576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 1: Field Element(0x44ede9cad8ff2f50a5bddc446143121b571ae0d47368e61a7b4db305043583d)", + "P->V[88576:88608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 2: Field Element(0x41d3fe184da8ecdd5680ec5ebb8361990277b12d9d45e3f182c85e410dfdf2e)", + "P->V[88608:88640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 3: Field Element(0x27627b113d9f2cb017edb906c95eabd468b6f857bf64a78d3b38837c3b0106c)", + "P->V[88640:88672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 4: Field Element(0xbf31eb7348cb440557deb9edb7f2ff8463eab34c0d6895d73206ec28423b1c)", + "P->V[88672:88704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 6: Field Element(0x19f252b7bbb66055f5f722f8fb08be9c067d36089d6969c63312ea10dbc9bb7)", + "P->V[88704:88736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 7: Field Element(0x35c0473830d8deddd0fe875d3a11200c34211a10a2ce514cefce1b29c3ce1f9)", + "P->V[88736:88768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 0: Field Element(0x2be8ad9cbc51d29f26115cd7ab47a6fffe6e95f2afd39b965617c34795f9725)", + "P->V[88768:88800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 1: Field Element(0x3c6a13e65b0d78c719aad8307a9254e44e45b1af69f6bd76efdafe45c105d51)", + "P->V[88800:88832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 2: Field Element(0x7f6146a8374d9e6c4955cd454990c8a1f5bf422b74f6a3c4cd8273664b20ebc)", + "P->V[88832:88864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 3: Field Element(0x2fa066d2730637fe2e850171606c656b7a070effec250f51ab7dc7c5e40f400)", + "P->V[88864:88896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 4: Field Element(0x65db67d809003e8e66b6588018fa9ffd50069de171445b8542fe46652dbaa1c)", + "P->V[88896:88928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 6: Field Element(0x629e1b73215dc5768001964d1019b1145d3426e87272a10a87bcd7f8ed94b40)", + "P->V[88928:88960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 7: Field Element(0x1c92f4d7da98528e757a0a185842cb87507a2bddb2183046aee4b67e805b481)", + "P->V[88960:88992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 0: Field Element(0x7f28b14371f388e7abf0b60bd14cf019f9c5dd110634b903c52fca66b1c86d0)", + "P->V[88992:89024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 1: Field Element(0x58f8dd620c9e8addbdb65b692903f5febd55689ea2adfb273f21d1c4cc20827)", + "P->V[89024:89056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 2: Field Element(0x16bc3902a5081efa2b3e7f8e4d58b45e70cffe0484c1b7964cd88180e62c070)", + "P->V[89056:89088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 3: Field Element(0x513efca84b64259ba5ea454a40151dbb3e906843c94cf731a29a4ce8c27b75b)", + "P->V[89088:89120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 5: Field Element(0x235f5e4b26d9294a77bd776941853075f3fd12325631c59bc08f00da631f47b)", + "P->V[89120:89152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 6: Field Element(0x3a6954a6d7d64f3192806826dcad0f4b5b71ee426b7550f5e536c1b71efc729)", + "P->V[89152:89184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 7: Field Element(0x1dfbdf47262cf6a5c4325a64db041c0f75a5fc357a34d2be64510a1def20aa2)", + "P->V[89184:89216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 137647: Hash(0x00081d53996ab4b14abfaa0980ab98f238dbf95bbcc052e78c98f7440107f762)", + "P->V[89216:89248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 138749: Hash(0x0001d30b81bc34d9d2a7c047696e2fbbbf1487651335a16d567f6ddd31e7fc5a)", + "P->V[89248:89280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 147135: Hash(0x007c2cda255012d5937f347594dfb4ea9ae951d5b0245a51fe8e3266a2e68329)", + "P->V[89280:89312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 176544: Hash(0x00d8ec9d4e33988322598175872d72ac55a38790f3603749deace0134ff6b561)", + "P->V[89312:89344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 185324: Hash(0x008a3d7bbc7accae19cff8729d4c82dd2788a1a625c24d1cf007c928b717852c)", + "P->V[89344:89376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 189116: Hash(0x0019890597ab1b56b7ba915d16cc0ab2d328e7fd306411088ed34520e0f4b8c2)", + "P->V[89376:89408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 194416: Hash(0x0052e4fc6e979ef057ef780a089d2794cef2e41b6cea5d2ccf577da5b02962df)", + "P->V[89408:89440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 203720: Hash(0x0054f69a13a35ecd779e985b1b231ecad34e40eb604be5f731681142bf6d5efe)", + "P->V[89440:89472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 207487: Hash(0x000376ed416bc834910008ccc496e949d608c8f811ad011f2419171df73ea60c)", + "P->V[89472:89504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 209058: Hash(0x00fc6a3d0a08fc4795e30fce20508d4f051a928c16976f96ae2f2207cc70d0c6)", + "P->V[89504:89536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 213494: Hash(0x00fd169a9cbc8d1b45c7c6dd4a577f66168b5fd574bdfc4a66ec2c9589b6ecae)", + "P->V[89536:89568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 215433: Hash(0x0019c09ce4be6090328b00a46c27cd5db7644dfb59db7e05af508401eb59bba7)", + "P->V[89568:89600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 225992: Hash(0x004fa46e99e86d3b2d04464a90eb70705b82f203750d04f60384bccee23a9ee0)", + "P->V[89600:89632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 242204: Hash(0x00db7afe48fa4016b478e7106703c7984b87c6b6ada1800fc40dc7e22b6783b6)", + "P->V[89632:89664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 253042: Hash(0x005abd48b225b98a81b675888e42e5bc12e2c1981438c9958c39e418eed94f09)", + "P->V[89664:89696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 257992: Hash(0x004bbb187fcdda38e38522905f3d0ba1891500e1986055b0962bf951aeb2d992)", + "P->V[89696:89728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 258939: Hash(0x0093200b701fb669e945f06dbb1e7bc238bda95f96fb51f43f03bc6c5c3c5d65)", + "P->V[89728:89760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 68822: Hash(0x003faa0db94766dcd833ecb3fbd11fe6c4767476d41466be08a6d68baae69722)", + "P->V[89760:89792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 69375: Hash(0x00328bf4fe0e9830b5fa817340a03b0894b34edf63fdda47a1263c8c96170b4d)", + "P->V[89792:89824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 73566: Hash(0x009e9a4995b38d12d6f118f36a1ff3afc88a8b252679a58da082765494d08be6)", + "P->V[89824:89856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 88273: Hash(0x001e81dd682fd68f7ff8574d51e73e14996109dfd8e123356ae996f68b2cdbca)", + "P->V[89856:89888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 92663: Hash(0x008d8186a0d662188dfe0d3418aa342aa3fc5f7038835e69db44a53eb02c48ac)", + "P->V[89888:89920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 94559: Hash(0x006418dc66a3e5b3799877d2fd54de52ccb412b9cf7e85db73ba7835db576006)", + "P->V[89920:89952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 97209: Hash(0x00e6be2101592d0cc9743667e342d90bcacf7df7dd3aeab2f31a6b1635c5dfb9)", + "P->V[89952:89984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 101861: Hash(0x005998e0201b08fdbf31c3c5570e450ea5057077bd7227e8ed73f9b9359c5135)", + "P->V[89984:90016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 103742: Hash(0x0045eead2fe7b77b785a4858792368952205e629f35a3e0f2ee948c273770414)", + "P->V[90016:90048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 104528: Hash(0x004411fbdc992b9260e9c073238224144cf11241e37639e8253b53b95360632e)", + "P->V[90048:90080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 106746: Hash(0x00216b7316a93f27b9c9d853fa3ceda79dbf3885ba47ac69757c9e7b4052610b)", + "P->V[90080:90112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 107717: Hash(0x00f4fea5dad237ef40435b6f47f0561d77302035631ddfaffaccff7927f7e21e)", + "P->V[90112:90144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 112997: Hash(0x005607bc83abb5995ddb0e967c74bd8630e71243b0c86e07e64713ca8eab3656)", + "P->V[90144:90176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 121103: Hash(0x00dfe6901a7ec1c2463cd71b041e5ece72885e7bdfb86adb5857256c159f248f)", + "P->V[90176:90208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 126520: Hash(0x00b847feba116143b6f60a77ee5efb6cecc0d14002fd505d4676f6611a4cb736)", + "P->V[90208:90240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 128997: Hash(0x00ea54746c92545dbf3dc37aaf341ffed0ead23fe2e7a92c93499b88dc9900fe)", + "P->V[90240:90272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 129468: Hash(0x00acc90ae162a6db18f9f3696e0f2f5240b7df55555a2d83ce430449c40ee003)", + "P->V[90272:90304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 34410: Hash(0x00558e238b5f07ddbb93ab7906b0a5b035e1cfce1ed90f28e8267e06bc22ca0b)", + "P->V[90304:90336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 34686: Hash(0x00ee2489c726033f376b604d0b8c12443d2742d917d948c521dc8fee2231e454)", + "P->V[90336:90368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 36782: Hash(0x007fd0a2f3506d3e618341a48dab54272478f62dbed97ea94657e7fa11be5cb8)", + "P->V[90368:90400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 44137: Hash(0x0094aea3802ee9df71f41c69615cd57dfd97f07c6a87574ad2ba8b2b43837b5d)", + "P->V[90400:90432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 46330: Hash(0x00f62ad3d252c2766bd2fa7d90e865405c7c603ca45799f8b2314838ad5e697f)", + "P->V[90432:90464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 47278: Hash(0x00e8371307307a9404b6692a69c09d654050afe588419df97ee6557724483f50)", + "P->V[90464:90496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 48605: Hash(0x00a3856c8502fda95a486e6a6ecb567bce467bf086ea150dba812e50e7ca34a2)", + "P->V[90496:90528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 50931: Hash(0x00024b3860e4b82a546f5bc3a1f31a076b51bb25d4663ff782959ab3532a889b)", + "P->V[90528:90560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 51870: Hash(0x00a47d18b477a1d425370fc7e136174375ec5de1ed52001caf53f5d0401e6b4d)", + "P->V[90560:90592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 52265: Hash(0x00ae9591f41beb35361a2fbe2de9d6e0519e63a2799a93e440933e61236bc5c9)", + "P->V[90592:90624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 53372: Hash(0x0048e97efa9cd232da43cc91cfdb03bc4925dacd06da471d964a496979d0ddbb)", + "P->V[90624:90656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 53859: Hash(0x0049a70049f6b798868a1769071ab0decd8f90ea69799c2135d7b211ddd05c6d)", + "P->V[90656:90688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56499: Hash(0x00357a9d1833c8f2e80f762ab3faa558eb63479d72dd44db74e1bf69b2ebf06b)", + "P->V[90688:90720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 60550: Hash(0x00f59e8d245d8942ab70b4d249c11b77340732a60e14e11c7d23cf696936f7b9)", + "P->V[90720:90752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 63261: Hash(0x0000c863c7aec6fe7ae8c77fc242802d0aa9c2684746be0bd61d5c1b5a1f9170)", + "P->V[90752:90784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 64499: Hash(0x004b50437cb9bf95bfee32cc262ce4f5be0928a99bbb48013852d973c11260f1)", + "P->V[90784:90816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 64735: Hash(0x00d62da321cb5b32274b5cb4c0e9d7f2f5dd8488d6a709e691053a32e711020a)", + "P->V[90816:90848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 17204: Hash(0x00ff0b5f5a8be53f99e8ad1a35d9e25d2e9fa46a81eb269d9cdae4ed78cdff22)", + "P->V[90848:90880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 17342: Hash(0x002efad05ff5c73346860c331db5fe0daada5f107f89129a82b6d2caae3c292a)", + "P->V[90880:90912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 18390: Hash(0x007ffd3a0e14afca4e555b7fad07282f236ab42b80ff601bc95fafdeb296b507)", + "P->V[90912:90944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22069: Hash(0x0076517f8b4e81729207acea1614a9801ee01320dad67c710cbefbc3e8d015a4)", + "P->V[90944:90976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 23164: Hash(0x00ee077a1729a88c332941c77537d2b5879404f4974146a939170e4cf84209c2)", + "P->V[90976:91008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 23638: Hash(0x00330bc17b7704313fb0a58eeb29c724587659910e5a586e9fbba04c85f143f8)", + "P->V[91008:91040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 24303: Hash(0x00d0cf1bb519af9739cbff3ce4e669d1a8a6c46e6b38a329ebb1725b1e750424)", + "P->V[91040:91072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 25464: Hash(0x0053fc3f96b69d4bd5b28aa4289a38c55183e32ae690f624dfe9f98a437c7b2f)", + "P->V[91072:91104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 25934: Hash(0x006055f17d91d8b9d28f6508bbf8afaac2655011293b7373e29d5ba3a18cb4e5)", + "P->V[91104:91136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26133: Hash(0x00e928e376a87e97c08300f9bf8efe873d73da582c4bb4baceea8a0f5a0dc01f)", + "P->V[91136:91168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26687: Hash(0x0093f08c3c78dfc40ee2992efcdeedc496f650271eca942331cf3fe60ab6751e)", + "P->V[91168:91200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26928: Hash(0x005aec79808615c77de20f0298b36701e6f4a55a7b9165320a7c9c7db125f474)", + "P->V[91200:91232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 28248: Hash(0x00c53a7303c1f3647a6ce5c959a155ae9f3cb16b36e5136a788fa20258259f9a)", + "P->V[91232:91264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 30274: Hash(0x009956b44f7da09256e06ad48178377ea3dcab91f484a225c1dabd1f3daacc75)", + "P->V[91264:91296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 31631: Hash(0x004aab31e3cd52a0e0503c767ee77958b3f1ccdf2032fc95d70926819b071250)", + "P->V[91296:91328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 32248: Hash(0x00e90dbb3775aa3971e6504b98a957dd2cef3e42ad0942666b9bb00436520e94)", + "P->V[91328:91360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 32366: Hash(0x00e87eacea947ad979c45c4f22f1c1c36e6744e5e3916f88e1ee0bd5bb2bfcc7)", + "P->V[91360:91392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8603: Hash(0x00060da7d0dc7e889ce53c22756db5165af4389b02f11da4d01f30e6006f9a6f)", + "P->V[91392:91424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8670: Hash(0x0024c895758dc4bdcd0e6aba367cb59e17cbbb025f8ce719ff3ac7fa0cc4e3aa)", + "P->V[91424:91456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 9194: Hash(0x00e364561e4f60bc997b1bd0b43e44ff57718a60584f8031af0ef98ac750235e)", + "P->V[91456:91488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11035: Hash(0x006eb38cca77d62587d0c3c7b8c65d171b64def78ce71a28cc30b2b34f51a5cf)", + "P->V[91488:91520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11583: Hash(0x002be613bd69153edad97eff94bf6a8d7df62202416d435a10541e24b6596f0b)", + "P->V[91520:91552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11818: Hash(0x005b3954c1167751c9355a6219390f0bcda23ec0b21bf36bf1419b5b2a19769d)", + "P->V[91552:91584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12150: Hash(0x0017345fe8f856244c689b2823ee8ecbd2fff739766eb62bfc647a0718b81a5a)", + "P->V[91584:91616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12733: Hash(0x0003f91bf74a48e87082d2f53f28ff3add626abfa515bc6350c536b61969ec41)", + "P->V[91616:91648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12966: Hash(0x00312c610a6fe78986ce4c65f34541597c9ef816d6f4ddc4890a544dedf4d7f3)", + "P->V[91648:91680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13067: Hash(0x0069e44e9a6219d6d2b5c43085665e495ae85f2544055a47e4f287427aa23ee0)", + "P->V[91680:91712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13342: Hash(0x00431d8cb78d22d10335b346078f067ef0e4918b32140dab3e29fa7c9d561399)", + "P->V[91712:91744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13465: Hash(0x0068a7ad8bf67f763c277a6b311b3598547d10f8e3f3efe729e4494e7ba74967)", + "P->V[91744:91776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14125: Hash(0x00ebbb51ce91e29364a82d015c14b405f27d3a7c9386c3ed51f90a6dec93fe5d)", + "P->V[91776:91808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15136: Hash(0x00584f941d0e50890b7406b6fc1a9e31e668b66c118c5a610028e38b06ab8d16)", + "P->V[91808:91840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15814: Hash(0x00019710fc3d26a3bfb68140d3de698c6cddc900732ddafaa1c1284a2be13d77)", + "P->V[91840:91872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16125: Hash(0x0039cb9d85f05fc3ce29a942ce01a2cafefbb1437576a3bcb3b15b56e1ed7ef9)", + "P->V[91872:91904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16182: Hash(0x001ebb9a0090a38d02fbcf99ce8ca02daf16d24a727b3dcb71f42b70e16da3c2)", + "P->V[91904:91936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4300: Hash(0x002794a557a63d11e5513cfd49560f481feb7f91b2b22f6e975ca25a13a56d31)", + "P->V[91936:91968]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4334: Hash(0x0086f5643f50067bfa88690f91d2f4f7b408064903f52e8298bb1746e8ab5cfd)", + "P->V[91968:92000]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4596: Hash(0x003ed464bc0b50d5ce0ceb2698f0c2dd3041fb0a2a910fdeb00b45538ebac5df)", + "P->V[92000:92032]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5516: Hash(0x005ef465d6e445137732c271cfb0b47970cba26051dfa5fbb485ac17a605a6c2)", + "P->V[92032:92064]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5790: Hash(0x00b5e15d694b6aa6188d9aaf375debf7b0e181cc94521ffd57f3e4de55aeba76)", + "P->V[92064:92096]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5908: Hash(0x0097ace2ff7f1a8c5703150053a1e03d7c804744919f5eb0e0afcff6d06958b2)", + "P->V[92096:92128]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6074: Hash(0x0058756d9f5dc479a5666f9169a7295af694ee69632cc2d8b62fb434bb098beb)", + "P->V[92128:92160]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6367: Hash(0x00fa072d9be1eb993e46e1e2bc640a36a1430629387df725cb5f4f4b357240bf)", + "P->V[92160:92192]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6482: Hash(0x00570f1ad695c78284bcfaf5fa3ca82afb60de151371a02ca82c7c154ac4a3af)", + "P->V[92192:92224]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6532: Hash(0x003e406e5ce81ae25425677d6704581d17e4dbd54d3cd9cad66a34b54d1d7017)", + "P->V[92224:92256]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6670: Hash(0x0099eb7fb48c196f6048015760c0dd93408b09788230ede1de2b90289ff42352)", + "P->V[92256:92288]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6733: Hash(0x00bcd94c92538106d6085c0562fabf315437b742ff5163398ee0507d8c72a734)", + "P->V[92288:92320]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7063: Hash(0x00a788ede5b8344e14cbf0a1de91c67b5f584c55b3883469464c737600b529ad)", + "P->V[92320:92352]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7569: Hash(0x0053ff66211087d8d1c744c2cef08d7946e8d3d27d8a393b2daa190749a18659)", + "P->V[92352:92384]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7906: Hash(0x007c4e0df5206751f626186b8d6538e2f84d9f1ffaf1736c692294f102e0f2a1)", + "P->V[92384:92416]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8063: Hash(0x00885459b20b8657d70b0e148cd335ab27c41b37e6ecf42bb40adda0f498399f)", + "P->V[92416:92448]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8090: Hash(0x002b9918b3b918c6d2bbeb54183a3d546b6aadd119431a8a8e96e6295311be5f)", + "P->V[92448:92480]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2151: Hash(0x0095b4c9dd15ee7ee3ab6169335b8a913435073984aa8243782696935c7eafe0)", + "P->V[92480:92512]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2166: Hash(0x007237a723208afb564cebed00676b857ccdc4bc49dd8eacd0ca05a4f30f3bce)", + "P->V[92512:92544]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2299: Hash(0x00b8d7ba56d4e5311452135ebcb25a7f2b3a0baaae25f6501278d6c698ba1317)", + "P->V[92544:92576]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2759: Hash(0x00f28d2fb8c5e29ffdc6fcc0b7d1c87eaec4aed87d40e965726938c62ecd72f8)", + "P->V[92576:92608]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2894: Hash(0x008dd5dd317ea8131e050cbf360644b126b56bde641348806e108c4c42415ab2)", + "P->V[92608:92640]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2955: Hash(0x0096b615d147ca62af65a101be3d28e8914f56b74c3866b9b1f9f9d9a78436da)", + "P->V[92640:92672]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3036: Hash(0x00a0a856fab95b9fc01f7d054f8e687f7870f35c6250a2b156efd992312d86f0)", + "P->V[92672:92704]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3182: Hash(0x00920cf263b96bb66efc24e072cebd21a9debbfcce9bbc0b0a335c61587add5b)", + "P->V[92704:92736]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3240: Hash(0x0027ba2657a6653ebbeaefe057d892286ae0a916fe65ec44cdbd6e505ba9eece)", + "P->V[92736:92768]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3267: Hash(0x0034969b993d695f6c77d69aa3db5e99677ba17a4860174bb1d50bbdf8ca9c23)", + "P->V[92768:92800]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3334: Hash(0x002a2cf77250af660df5205086a673b6dcef6b53587d860f775d69ef24f94365)", + "P->V[92800:92832]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3367: Hash(0x00817207790ea8f3dfec1b9d023bab3dc5a216a9c2bff05f4ef5188cb67dadfb)", + "P->V[92832:92864]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3530: Hash(0x0099dc03836d0d4a08e175ccb82256bf241629391b8c888c24d2a7419314804b)", + "P->V[92864:92896]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3785: Hash(0x00854f7de78b8c80b6679b459646ef12a5ce75dac2a5894bfec47b43de9b4386)", + "P->V[92896:92928]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3952: Hash(0x00796844ae87b9f0773211f9a708c0486246e2e968db31f495873f69f612d590)", + "P->V[92928:92960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4030: Hash(0x00e97ac41a1c04922b663b20d73af86b5648de50804fa38253c75e58c06a4550)", + "P->V[92960:92992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4044: Hash(0x0021c41e2f4ce58f976dc783732823961dafc83d699a85a4828beca6bd7000c5)", + "P->V[92992:93024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1074: Hash(0x00e58fd237a073d5bb1ccbcbb479f55a30f341a2593716e0e9681124d4dd5ab8)", + "P->V[93024:93056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1082: Hash(0x0020be7fcff6fd3a6db49d86cfc6f417fde4ef21578cac74ab983285455fd5cb)", + "P->V[93056:93088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1148: Hash(0x0064961d47c59f1968a36dd881f9e52985717ef73f16e64bf6e37db9277e4961)", + "P->V[93088:93120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1378: Hash(0x009954184e07f5a861bf6222d0012a2524df2c6884193412981c0884f3ea2c4b)", + "P->V[93120:93152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1446: Hash(0x0021dfa133c496299e6ad2f6f9fd156278950de770adb7dfa5141c5dbdb7407d)", + "P->V[93152:93184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1476: Hash(0x008a66c1d334eee966084cd0bb962b9308887fe4c1424646b9f87a11b1b82138)", + "P->V[93184:93216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1519: Hash(0x000460a5f547d4a8981a4055cb167d5cae836272c1303cc2ed007ce7fec12d00)", + "P->V[93216:93248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1590: Hash(0x009c285ce48878791bba43e6e355337442191ad27eb60298b31e9491522b6c4a)", + "P->V[93248:93280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1621: Hash(0x004c1c15cb04b9736f436f203a5e1a03305521641da886791a03636408f8ded8)", + "P->V[93280:93312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1632: Hash(0x00f6a025a78d699ee934512a7690f4160367b2db6e8c1efe68447f76e6ea931a)", + "P->V[93312:93344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1666: Hash(0x00686da63b79ccf47a3183f8dbf05ffac7e74b3a139bef3df7c0bd504c2711d1)", + "P->V[93344:93376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1682: Hash(0x00eb2cb97eecf4bf4fa6c305443d7be650e42b377891b0e86a918091d4008150)", + "P->V[93376:93408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1764: Hash(0x00ff8019e3fb2005489be412b5d0d39c297b74dc892605410d1893fe760b92b8)", + "P->V[93408:93440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1893: Hash(0x0094599b3c87304402a221b9acdca882ed68be676769da808fc50c6ba023260a)", + "P->V[93440:93472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1977: Hash(0x00c00b5be03d6023859f6b4720d26f8f639f7d7a0e43aacddd3d97feec241cb3)", + "P->V[93472:93504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2014: Hash(0x00d6071d820deab304028cb55ba8ffcf5801c33a3b437b28cbc935a0463e5af4)", + "P->V[93504:93536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2023: Hash(0x00635576e00f9240f8253405536d734b1171b7a62b35a9d4545e09683cb3fdcb)", + "P->V[93536:93568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 536: Hash(0x9c9cd9d7afc946b781dae785f1b76aeaa169b09b82a26c2235da0deb14e690)", + "P->V[93568:93600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 540: Hash(0x3a24e3228c0cfc0bff40f3a6d475afa5d58904a8de1e9af14bf914ceac2a3d)", + "P->V[93600:93632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 575: Hash(0x36f8b5881bf630fea1fbe9799aa90f2a1446c95ed9cc14f45a134828724caa)", + "P->V[93632:93664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 688: Hash(0x6954cecc3d25a76eeb78b5b38386efef1d569e91e792e2c4c341c34f0d3b39)", + "P->V[93664:93696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 722: Hash(0x3c4ddfa16c679d87f088b6489504fe01dc6a85d129f4147356e90c0887c514)", + "P->V[93696:93728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 739: Hash(0xd7b8d8db710e51d5c28c118ae086f845f1e7c5e0c5efa03fff2234b46cfa4c)", + "P->V[93728:93760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 758: Hash(0x43a3947ee11a47362b7c291c18b1bb26fd70f12f3060d96f9aa258ca0cd5af)", + "P->V[93760:93792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 794: Hash(0x528f913dca32ce12045dd8e6da0f3a73868f40c2362794c171e806943b8dfe)", + "P->V[93792:93824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 811: Hash(0x6f2ddf4c50798b8f3e2bd6f189d96c5d4364310c65b88e7c526031ddebf26e)", + "P->V[93824:93856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 817: Hash(0x6079c9c741189035d24bd10728bdaca4b75d4774240aaf51de503cb55a30a6)", + "P->V[93856:93888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 832: Hash(0x7253e3bcd4070d2a76c31d749a17e771d6aadfc566b5a41d87d7a459a07c9c)", + "P->V[93888:93920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 840: Hash(0xf1c38ec43c6dd02142137646a9988d2e2aea6a062dcbcb5316bb1474a85ca9)", + "P->V[93920:93952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 883: Hash(0x5a2c8f2ee78a49e8218f6248ad21660e23e2ecc77cc202b59ea294c7e9d484)", + "P->V[93952:93984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 947: Hash(0xc0727976482c425614cac2e45571dced5adfca991cfe0635946dc336f875fd)", + "P->V[93984:94016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 989: Hash(0xdfb4d916d1f4d86df31e3989fc7610ba1336a785183a00844db00454e2844d)", + "P->V[94016:94048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1006: Hash(0xebe95ca8216ada6bcdaddd3434bcf1a88458cdec74a1d009870d7b5f54766e)", + "P->V[94048:94080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1010: Hash(0x8266c0e673f4ca967029236fca611bd8278dcad3ab4179110d1059bca338a6)", + "P->V[94080:94112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 269: Hash(0x6afaedfd83e6cd6417735fbc3d13817e6a57ef8d422a804d1fcace23cb423f3)", + "P->V[94112:94144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 271: Hash(0x47318b5cd70a8f7a89a4613f6b982dafbf60628e2ef5b334f409bb695ef414)", + "P->V[94144:94176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 286: Hash(0x48f81596881d4925f5abc49dc20600d2414d81c2d4a004af51b8fc7ccae6a80)", + "P->V[94176:94208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 345: Hash(0x313a8a00b54585b971a77cc71bbe11ac2c9fddb5015cae11c6284ff94f63c02)", + "P->V[94208:94240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 360: Hash(0x4e10267512101c78bfbb602828b7b2d0cc6148424a0989a894c144b4b0f4ecb)", + "P->V[94240:94272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 368: Hash(0x7a3ca117a76bcccd45e8591ddde137709a941464d17a3ae1af74d98f06fcf34)", + "P->V[94272:94304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 378: Hash(0x49c6760afe03856b348f7c6952e0e29193f6f8a62a29d062b7a16dbac656ff5)", + "P->V[94304:94336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 396: Hash(0x5ae7445def5054c69c3d15e60d5e63600c5a7c14588229a10e42e7a4ea98665)", + "P->V[94336:94368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 404: Hash(0x3716b6b9071c15ddeeafd64ec47f0400b2cf5689a9191dd3437073d68077f13)", + "P->V[94368:94400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 409: Hash(0x6f91be75742249af3296cc5069700b7a86aa4c58f45e4863a4b614d19b19cf)", + "P->V[94400:94432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 417: Hash(0x76839660221764ed8c7bb34826d0c0d84a61c7d454eb3f41704951ad8e8ed09)", + "P->V[94432:94464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 421: Hash(0xd12edbbebc678e29e6ce17ef6e30c1d080e5eba9a936e0a3e1e1e1ab4a771a)", + "P->V[94464:94496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 440: Hash(0x12f308560e4616bfb0cfd5cbacd44f3c1743bad157de97cfbb095d2f0ea7fc3)", + "P->V[94496:94528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 472: Hash(0x48ef02d6ef3682600561c4e7538d5e104143fb1ac3cf80f89b0577e11cdabb9)", + "P->V[94528:94560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 495: Hash(0x1276f80b6b79eb7d1808788a726514ccb5dea4299b8c3c0f970b146652cae28)", + "P->V[94560:94592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 502: Hash(0x23f433bce51b5c80049d492a63dc2c3f9ffce3a216918c094e403bca1124fda)", + "P->V[94592:94624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 504: Hash(0x71e82d20cfd56f245e98d83e27ab2c2330eeb07836d5d0ec560ff2e018d0f7e)", + "P->V[94624:94656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 142: Hash(0x8b52107bcbe1669c88c1ffa969a23adeed5b0d0dca8edccd1f61e613c8fea4)", + "P->V[94656:94688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 173: Hash(0x22fab8656d2580d52d60a084870a3a468df805da97b05b84adfc136c1827fde)", + "P->V[94688:94720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 181: Hash(0x263a783e6c68c77d95a2dc34cbe9c6a034b53098f95c0473d72e2c62138c3d9)", + "P->V[94720:94752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 185: Hash(0x7719a783f95c00b4c71163820064e4cde35262d36c79f1937ebda47c1fa81c3)", + "P->V[94752:94784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 188: Hash(0x624422b0513a149e3d24d46983673a17e8ded3fb164ef8e72436a3e4a3a4232)", + "P->V[94784:94816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 199: Hash(0x6adc6c00718bbcb20bf9369dd11fa4d5c412f7c743764e70db15da3123bc17e)", + "P->V[94816:94848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 203: Hash(0x70a6adeaf00f119d90c0f903424e5a1cf75776d42876b29c85e9613a3b56c6b)", + "P->V[94848:94880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 205: Hash(0x6b896a14e70da0bebd75924787727e9c1a1192cefbcbf5bb78074b2f4e42d8a)", + "P->V[94880:94912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 209: Hash(0x346634067df0127fae6282fe8e36a9f03ab3bede53d974176464b7df582070c)", + "P->V[94912:94944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 211: Hash(0x67303426a2a0a4e49a312a7b29345ab98c8a912c5ee685ebf33cbad4398c99a)", + "P->V[94944:94976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 221: Hash(0x25fdc5114026b97fa35ab374ba6304c2b685f8d89fd8a16dfff75547dcd1bf9)", + "P->V[94976:95008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 237: Hash(0x21609a614a26db905acaabf946cc54cd8bf8c1b5422cc2d26eb21de401d016c)", + "P->V[95008:95040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 246: Hash(0xb82a48abb48e5627dd9949e3a5929aa278b1ec7cea660fdd9ea9e44aef2160)", + "P->V[95040:95072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 250: Hash(0x39266d9ee386c22b5f8df7feb4c70c1d5f9f781493cfa75db5d232decb0df43)", + "P->V[95072:95104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 253: Hash(0x154f382702b615aabc9437aaf22ef4159145322c02264d894ddd4f82c9e4d49)", + "P->V[95104:95136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 66: Hash(0x784b13cdba7b846625ed28704193ed5b9b08178dd410928ce860a117ea3ce29)", + "P->V[95136:95168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 70: Hash(0x78690cfb04f5fa3d5f6e299194c59838bc8e5263c5eeb61d86572f900259567)", + "P->V[95168:95200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 87: Hash(0x1c48cd97e2d5c2340b573a3d5953d92eb6889700efc4297116ee0e83dc9c543)", + "P->V[95200:95232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 91: Hash(0x7ba4e4d5f34438e1e1cf6590691c23a882e53f5c85bde43bab82c42b4ca4042)", + "P->V[95232:95264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 93: Hash(0xa48fc558b95bdc7947b9e0252d82e2750d10c84ffb274a7ef75a4404a36a42)", + "P->V[95264:95296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 95: Hash(0x32ba0f4e115a10fcc68656f5717ec7202d0e999b34fb1cb03e61ba2d70234ee)", + "P->V[95296:95328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 98: Hash(0x7746ac0c5c6c47ad5852634988cf97aa637e50c700d272ee06e0dbb43574a51)", + "P->V[95328:95360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 100: Hash(0x161b2d0c7cc0202ca34597c8c8cf86b592b3034d7755c915b83ce92ba5825ce)", + "P->V[95360:95392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 103: Hash(0x5d054572ca4618f1a3fb14eb62d3de2b7f4ee8e1f780de8416870233fd3153b)", + "P->V[95392:95424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 111: Hash(0x31cae5286b168827633bc0f2773857d7cf1d85a4e15223d0840e925eb21e21d)", + "P->V[95424:95456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 119: Hash(0x12e09947d61a18ca7e097199c43d50013148d7d5839f051aea2af3d5e63fa41)", + "P->V[95456:95488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 122: Hash(0x1605115cfe43e37965e7f744a4c798c7bf8e1baab575c1afdebd874145964fb)", + "P->V[95488:95520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 124: Hash(0x6a8aded32894523312ecc645d41340050b021ad983340173f8660d9bf4ef834)", + "P->V[95520:95552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 127: Hash(0x6f549e83f1d6dac80ed5b79dc785113808caf918404fd29c283147364b4d818)", + "P->V[95552:95584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 32: Hash(0x7bf06e5f806472da7f26f240181b5b7950c12a5df632f45094eebd11ff5443e)", + "P->V[95584:95616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 34: Hash(0x66de82c245aa5943cc909ab852c0323a9d682e10364e38019ab32c08d83897)", + "P->V[95616:95648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 42: Hash(0x538f3164f579afbce34a6602478d622c9ebf4e952392cc72820a9255a9c7a13)", + "P->V[95648:95680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 44: Hash(0x1e07026a1e527f5921ec55350ee64d56d73bfb88978e558325eeb4032f414f)", + "P->V[95680:95712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 48: Hash(0x4bfdd0185f2f1e9cda119c0138db7f8fc9ccccce0219b645248fad668062ea7)", + "P->V[95712:95744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 53: Hash(0x43f4af83de219dab409f199c82dd88d7e9597f119d4f936664e67ded5e2d524)", + "P->V[95744:95776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 54: Hash(0x3078286d09eca37d95bd441d4799ddafe8eae210f18c8b26156d876d1296612)", + "P->V[95776:95808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 58: Hash(0x5cf1f3b0c1bb0f8ad54dd739873ea69a86642c247b68f0b826f1f38c83c5dfa)", + "P->V[95808:95840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 60: Hash(0x3c5512cdc43b5d11bb7c3a1f5e91363cada52c2ec725e5efc607e183dd8272)", + "P->V[95840:95872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 20: Hash(0x46ad76714774782f824009ba6beebe91d37d28170e7ccc1fa054c6c427fc4a8)", + "P->V[95872:95904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 28: Hash(0x5c60edd0c874e9019233142af9404efe7ea096d903264ac67830ab62990c8b3)", + "P->V[95904:95936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 9: Hash(0x2905237621a575547141ed7404df041754614a7e202430e794fc2b86ba71cb3)", + "P->V[95936:95968]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 0: Field Element(0x5725d16a0f3677fa4b59fedabee5e1f29b1240de01b54df626680732bad1ddd)", + "P->V[95968:96000]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 1: Field Element(0x31b2a749f450d963155cc0d2683f4aebaa8804dbd77175aa72eb6da5ceab5f1)", + "P->V[96000:96032]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 2: Field Element(0x64296a45721beff4c0fc6a64017a2b6a2a655f73a2f082a85e5ffeb538c95bd)", + "P->V[96032:96064]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 3: Field Element(0x774f34ada3c26fde9ad6d33f174366673eb6dc1dc37dfaf59a70bba9068560d)", + "P->V[96064:96096]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 4: Field Element(0x267d75aad75c4b7cad420c39816bbae2dcb18fb1ea1bfaa32c3a32412ca7fb3)", + "P->V[96096:96128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 5: Field Element(0x153b57316be72d02bb2edf63d941782dc7bf43268effce68140c949b5385b7)", + "P->V[96128:96160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 7: Field Element(0x30b636868a5d3ad6bbe90070edc199254dfe1826ae06ca339a2942ba8cd852e)", + "P->V[96160:96192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 0: Field Element(0xbedccbdb8e7b99682b562504634ca782d0c5ed18a2bfd04624828923fcff0e)", + "P->V[96192:96224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 1: Field Element(0x2d03cfa64520dbd168930b966e745966543ee302fe2a7f28f5b1719cd25ab21)", + "P->V[96224:96256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 2: Field Element(0x5918e9dbb3811df9ef24fbf1ebf3e0e3322f711d1b671e533b148b04fca961d)", + "P->V[96256:96288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 3: Field Element(0x55c62226886870cd0de0f930737b109129cf53fc6b00dde32f702f9624e8a4d)", + "P->V[96288:96320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 5: Field Element(0x1cea32996fc34a6c70de6dee8f888300ad25ed9ec04aef52a3ebe00ce2a5170)", + "P->V[96320:96352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 6: Field Element(0x1df2c2442e56700a7e223139c893ab8ba513e21b8f157af8a7f221294da0d7c)", + "P->V[96352:96384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 7: Field Element(0x3bfcce4f5f0d7989a66684898c2e9d69773f91f43064532979d95aff4bd7862)", + "P->V[96384:96416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 0: Field Element(0x26f81d4671d3ab43a4ee8235f6423f9bd0c6431861933d454fb2b627293c94e)", + "P->V[96416:96448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 1: Field Element(0xf938e098e9535c360bb3f047d2217c7121f5b4bb23b7d93a13dba28dc94465)", + "P->V[96448:96480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 2: Field Element(0x22be79c170522c1a1af2bd14dd4e2c5006a36e73120de7fc556ee8c3b854470)", + "P->V[96480:96512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 3: Field Element(0x75e1bddff803297e48a9283947528632330def8ad957cd4c7fd619d672cc6ec)", + "P->V[96512:96544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 4: Field Element(0x511a7c7c561f376e0a8d335744362adf6b74ffeab279d3d27c415e20aa2fb62)", + "P->V[96544:96576]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 5: Field Element(0x1b6cd5257f537f072252a5d836c260a3f303482178fda869e4c87ce14d70a90)", + "P->V[96576:96608]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 7: Field Element(0x215f75c8a1ad0c5bbebc2060293a310d8d5541d4497ac393b3941a4c1b6b8c3)", + "P->V[96608:96640]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 0: Field Element(0xae0cca0f73980ff82b41f9701c15537fc83291b6f41831e7df61786b5ba3c8)", + "P->V[96640:96672]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 2: Field Element(0x3fa2c8fa8fe39deedba63b7b16c7f2a3c976d57ad646028906167d8edb8256c)", + "P->V[96672:96704]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 3: Field Element(0x89d8a2b1690f6a74de938405167a40b1a75960f87c36498d0d5859e067e3ca)", + "P->V[96704:96736]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 4: Field Element(0x48811350858f2a56b41285c182574323a71102ed64132bbc24618b2d6d8624d)", + "P->V[96736:96768]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 5: Field Element(0x29341d7f7eb8c72bb82793f99b0be5e2eab26be8acdf63eed8c22a79a3979d)", + "P->V[96768:96800]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 6: Field Element(0x2fc9ab235527157369b89efd9470fe629d976634247acfd45ab613f66b05a2a)", + "P->V[96800:96832]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 7: Field Element(0x567ecd9b998d444956b86f0211307228f046a5f323113b40beaab71a618b11c)", + "P->V[96832:96864]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 0: Field Element(0x7d09882850adf371381a74f0dc8d98704a283fbf17095ee439f8a803784ca6d)", + "P->V[96864:96896]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 1: Field Element(0x7a5a7b27785117377a6e5720ebba9c38f9bcb7cf6630a1fd911d00607c74afc)", + "P->V[96896:96928]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 2: Field Element(0x6eb33d8d1231291588e2242706a28896ff38cd449580194f2e331811bf1211b)", + "P->V[96928:96960]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 3: Field Element(0x1a54752211c650aa92f94af04ccf57b6a1ee45750740ea07b18f9334883b960)", + "P->V[96960:96992]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 4: Field Element(0x3068e5806ccfc3d71a36dc16b10bf39dac8e79cfe8c23e0347e4888f3281879)", + "P->V[96992:97024]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 6: Field Element(0x1d1574e2173f0f6916c4c6cff07a3ecdb849ea67d7a22e4e07911d116923928)", + "P->V[97024:97056]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 7: Field Element(0x2fe5452a9a8bd3f0640330594c3491062807c6577c67f54ff0c37d9ce47b112)", + "P->V[97056:97088]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 0: Field Element(0x34d633a1d2e2fa63e456e8c648ec13b136803d84bfee67cb860b5705e2a9f36)", + "P->V[97088:97120]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 1: Field Element(0x24d5650926ed06cd031789544ff7532bfc318b140263f8246411421ac3eb8ef)", + "P->V[97120:97152]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 2: Field Element(0x17312733fd02e7014715e71e9d7db8d61719986a3034940e1946cdc9fff0163)", + "P->V[97152:97184]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 3: Field Element(0x489e25736378cb5b46afb7dfe507c2608c13d9daf30eb42955b9cf886fa4b07)", + "P->V[97184:97216]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 4: Field Element(0x13375b5c8ad0e63c1a480b4649ecab647e5b169a9e0b191dd2c14009c45cf9a)", + "P->V[97216:97248]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 6: Field Element(0x3093ac2a20038e3343598c7af6e002910c4f8892ec0dfcce3017baedaaba56b)", + "P->V[97248:97280]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 7: Field Element(0x4dab602f0fd59fc3b0ec7856e5bed485efd3e69c35c9eabf7c5c1c31e3941a1)", + "P->V[97280:97312]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 0: Field Element(0x3f45eb3bc5210eb1f701f8f6e83596c329bbb383e86954f5cc745d78cf21eaf)", + "P->V[97312:97344]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 2: Field Element(0x385d0584b4bd958f096cd06bebe8e3cf4f6ce0dc4e1130af8087407b51359a4)", + "P->V[97344:97376]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 3: Field Element(0x2247061fb761d1b80ce62cc3da1899f5900cf6d05368fe8ec3c16fb3e307517)", + "P->V[97376:97408]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 4: Field Element(0x3d4c99512dd6c6b84ed035044882db24c4801f4bb1f00e203ca7ec15daf03ae)", + "P->V[97408:97440]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 5: Field Element(0x2f62711bc1fa46c196bbf220c6a6b7c6f91af6f663a112a5c83f48cc820a5ed)", + "P->V[97440:97472]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 6: Field Element(0xcfbc7b8c18236aa5a847ae2f0fa3a7787dbf2ab3a00a159f929781733f5d2)", + "P->V[97472:97504]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 7: Field Element(0x4851e1c952e63d852e51f11494821f85d2c2ec41ed2e3bf3880cf98c69bce38)", + "P->V[97504:97536]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 0: Field Element(0x75ddc6a7696f10c8caee4967b4a14079c5fba1ec7107efbd3ee309f297c0b00)", + "P->V[97536:97568]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 2: Field Element(0x167aa2daed3e6b824a8df93a22644720d0c1e688475b9e7230898ac2b03ae56)", + "P->V[97568:97600]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 3: Field Element(0x3627b7cb26914b42001ddab00fb4b3dab3b01b5125308f65b6ab81532473a6c)", + "P->V[97600:97632]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 4: Field Element(0x4153c3d7e76177e6d2e33208812bf090d7fb8a931d178259de83ed92a210fb9)", + "P->V[97632:97664]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 5: Field Element(0x7816c6e1bd0c9bbd8eedd4c508b8d320fc14b04ae543f382dad1de722c83ee4)", + "P->V[97664:97696]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 6: Field Element(0x136cb7afdbe14901f8a21a427f1ac0182f78c699bd8fb61a7f250d4d6999ab1)", + "P->V[97696:97728]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 7: Field Element(0x3f9696b174a09dfe2ae2eb2b56df5288d7e73b77440333cd40b7a00a86e5ecc)", + "P->V[97728:97760]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 0: Field Element(0x7f65bede0215e3cc9e51454f59c3dfb2ebc2f015656b5d35d48cd1716c642ef)", + "P->V[97760:97792]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 1: Field Element(0x49ba87c3f444b64cbd1b5a7c3146d3f72bf6c067b8c062eb0fd17f49baeb425)", + "P->V[97792:97824]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 2: Field Element(0x42c70f3fd745d8b58fee55ec39508218b25103aca9b89776a53da2cdcbf7aaa)", + "P->V[97824:97856]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 3: Field Element(0x4a060e219de03e3b15e38d1930fe252a81d4c49f69cbdb33bacbabf3fe66660)", + "P->V[97856:97888]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 4: Field Element(0x7bb452cf4aec5b364b8141e50cb6e09c52d2058886c881c696a11aebac707be)", + "P->V[97888:97920]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 5: Field Element(0xb01fe1dcf84fff9953a7eccae89876056e4b8f3be27cf4eb35742dd071cca0)", + "P->V[97920:97952]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 7: Field Element(0xacccfb7fe03d8ae6da252f575a96858550a55d72f5783360ffcc3bed08f4d9)", + "P->V[97952:97984]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 0: Field Element(0x76236a123a9c506325b1d22601b20346a42c3f729ab54dd373b27a501a29017)", + "P->V[97984:98016]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 1: Field Element(0xa75a5dd188211ff0a8c99d887fa9993511bb8b8ad96b2588830d75ca182cbb)", + "P->V[98016:98048]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 2: Field Element(0x3bb79ce63b194a6bd0a910814c0d189d1bfed29a03b71dd1fff7bcd36f74a86)", + "P->V[98048:98080]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 4: Field Element(0x2facf61cfbab3f061cc287854d8c93f9a506b578ee6364c37da02d18203f497)", + "P->V[98080:98112]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 5: Field Element(0x6dc5f3e71780a3e3a87cd1ea073b2f6e8abf61e1b6f3d884550ae1490fbf2bf)", + "P->V[98112:98144]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 6: Field Element(0x45dc76b9d90baaaf2f3bcf9c29f18568b31e666c04605a4b0696eb621a0b3ce)", + "P->V[98144:98176]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 7: Field Element(0x794d18d9ca000a7af9f0925f5685a6c0e3b991698906e2a0db39ccef260b7b8)", + "P->V[98176:98208]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 0: Field Element(0x1eed63d47879801ab05bc99d2322957f5b91bacac3d62a504005734810b6c09)", + "P->V[98208:98240]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 1: Field Element(0x111210f2848cdf76526e78793e8f608330fb4c6607ae8e712858240431823f8)", + "P->V[98240:98272]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 2: Field Element(0x6fc0a68f808b25cf453a8beee164684c3de9ef7214558cec2568a762f062425)", + "P->V[98272:98304]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 3: Field Element(0x1751fbbd7cbb87940d9ada14a2663567625ad5117d1b3411d4216c110a8915)", + "P->V[98304:98336]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 4: Field Element(0x29caf4ba13c5d0ef9f1a271336c1cba258be8b395c8dbd4ae7a415b25a48b21)", + "P->V[98336:98368]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 5: Field Element(0x30943f5e71fb6f006a0695b7d254cdf8db677d54accfdd22488d01896d7a804)", + "P->V[98368:98400]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 6: Field Element(0x641117af6d3d0ded20ce3ec1253b5b7c89d84f0efb6e45daa267ddff6f02679)", + "P->V[98400:98432]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 1: Field Element(0x2adc67db13ddafda602379813348a88ad06a4491e1b97e629fccc7238439336)", + "P->V[98432:98464]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 2: Field Element(0x2e25e45bed48c15059421085e33a44cf78a7e4ab6e8a072dee040d92a286a99)", + "P->V[98464:98496]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 3: Field Element(0x7024eda42d63830101a07c3aa0dd191bdfda30f7c22b21b964193454bb418ab)", + "P->V[98496:98528]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 4: Field Element(0x10b1e09bab7d8684176cc0c14b98310c1fdf765c292ee74a4893364ae55f853)", + "P->V[98528:98560]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 5: Field Element(0x11076f799bdc637ae16c0b31acdeaea1982f1e10855871021d7bb54990a23b4)", + "P->V[98560:98592]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 6: Field Element(0x3290ad87b5bbd2ea7e0d257bfbd1712b6c70fcaf0d97c220bbe6fb5d914b646)", + "P->V[98592:98624]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 7: Field Element(0x6bf6c408e1dbd051417ce36b8c0915e2d3f490a580436ad1446a6c7b36bd542)", + "P->V[98624:98656]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 0: Field Element(0x467ce1054d48047eed28bf0091a4f1d34d6496fa04f7c829d1ccbe022fb6e26)", + "P->V[98656:98688]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 2: Field Element(0x699a75711e543c0863c9209958af41f849151c051e2c9727db69ace1a6906e2)", + "P->V[98688:98720]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 3: Field Element(0x52668bb682a8966e0972bd3c727f606d246a841b07b8ebf7c51f1c144fc6a04)", + "P->V[98720:98752]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 4: Field Element(0x5bb4a0d1cbc43deb6d3a93a91ff469b322b45c66c44f019d7d262e958534df2)", + "P->V[98752:98784]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 5: Field Element(0x441905a0ddf875f431369c18c4573253c23d6b853031ee9577d9e9b37124032)", + "P->V[98784:98816]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 6: Field Element(0x1c581a1cfd1080de61852c41e569e32e21707582e3b2ff85bcc7964c3993dd7)", + "P->V[98816:98848]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 7: Field Element(0x109cc32e08918996a9b479174604cc80728945f2bd744c0308bb16c6186100a)", + "P->V[98848:98880]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 0: Field Element(0x3aa035643415209f07a38a41417b326866985fb7a68f7e7a7628554669cac69)", + "P->V[98880:98912]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 1: Field Element(0x1fd7d8a849cc9cb001ee51e9316b984b2c12dea9e6fea290561f67355a1ef12)", + "P->V[98912:98944]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 2: Field Element(0x5db9e53e5ce86a86fc538dbc889a7a45be2673374f58a71994aa376d91d4280)", + "P->V[98944:98976]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 3: Field Element(0x4cdc4f89b4a15be313f6c91d272681f86a95e21de95f5f2459e9c2d92b7ad22)", + "P->V[98976:99008]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 4: Field Element(0x18beb9649446db76c9fcf03b2b4da64e333e9960d70c1c73b62eb5a394c8463)", + "P->V[99008:99040]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 6: Field Element(0x6aeec94e22fcd83b0df61aa4fc0bcad902c3b1d6abc90ff8a273042f0f382ce)", + "P->V[99040:99072]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 7: Field Element(0x64b3a04ca4fcd808110927ce63f1a3d506b4ef071293f8cd16115f8341d69e9)", + "P->V[99072:99104]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 0: Field Element(0x37d2b01da486c05895e357cba9bc4a1606247ad31fc7370a453cbdc9c145f79)", + "P->V[99104:99136]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 1: Field Element(0x7bc229247c3e8ae1b29fcc9277376ed276b834984c3b1112dae746368a86af9)", + "P->V[99136:99168]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 2: Field Element(0x28d991adba922a62a8ed1fd596ea298c4d3cd110d77d878e1b1d5bb21792eab)", + "P->V[99168:99200]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 4: Field Element(0x283324264a49f875882924e6af64efa8de72aeaaa9377cd9e91567e588e8cf0)", + "P->V[99200:99232]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 5: Field Element(0x7d377110dbc46c4187e8aec121f0ff36d6b980cfb954a05f572c9f0da6f3a4)", + "P->V[99232:99264]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 6: Field Element(0x3b98b21214e5da4553d1fa585d34f077547a5fbac774315161251f20295c4d2)", + "P->V[99264:99296]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 7: Field Element(0x6fb82065da9b45ae198ff80634db5955c02f0dab26c3004a710b548e851ce35)", + "P->V[99296:99328]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 0: Field Element(0x682135345e070ca1da140c4c0c116e8f45af950c3b974ef892874f9d0c50a69)", + "P->V[99328:99360]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 2: Field Element(0x7324d834067653c21f258d07839fb3ea56e1a9a18917f12d8df6ff5d081f891)", + "P->V[99360:99392]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 3: Field Element(0x6e575b4245f8747ee1d08de39e14d99935a70fced7ac40216948e20971c11e7)", + "P->V[99392:99424]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 4: Field Element(0x7f9296a57aac144140ebeab4dc27a40f6fedd8bb9e022a82b2ba53421222d7a)", + "P->V[99424:99456]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 5: Field Element(0x20b867f7bf214c14ff6a273e421b4bb90431fc1fad782a8d63fa4806afc1a72)", + "P->V[99456:99488]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 6: Field Element(0x1a226e59fadb7e871f6b4854789ef40205a6d3c098ae3e899f9c37f39f7e3a3)", + "P->V[99488:99520]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 7: Field Element(0x528ffcdbaec0748c356c94bebdd9a0fa4e203d184e502fd2760ada92173e7aa)", + "P->V[99520:99552]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 0: Field Element(0x51e716a6c8aa96148af7a30c7e3057d38ee1ea2652566f078b4d0a1223ccd15)", + "P->V[99552:99584]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 1: Field Element(0x277265a09afdc9bd32bdfd20f3a70c8c8f10ddb5512541a48b18f45cc6a79f5)", + "P->V[99584:99616]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 3: Field Element(0x4ea4167a3a89a7d78efded6f1562f95ff2682b2592e819986ece973216a5f3a)", + "P->V[99616:99648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 4: Field Element(0x1e74935ce42634fcc22a2cd7a277f5eeedf57413b06303d3608c6d87d9ef05f)", + "P->V[99648:99680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 5: Field Element(0x5810714db858fbff3efc48487de28b6b8e599dca5cd1713354986ae9a944c37)", + "P->V[99680:99712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 6: Field Element(0x29fa5b81b677f2b9f86ce2dcc14e59e145b30ee5c29b5e6ae2b043009768d8b)", + "P->V[99712:99744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 7: Field Element(0x1f55f8a09a362b96dbfe4e7583621b895bed9a5f6ad6349f4b497de0aedf5b7)", + "P->V[99744:99776]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 17204: Hash(0x007ce4cb02ed1b5a9d875f1615795d967401f046f6bf618e215ae438262a12a3)", + "P->V[99776:99808]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 17342: Hash(0x0017d174817210aa8a0eff9e847185a27dfa6332f657885857f63f5e7c078bf2)", + "P->V[99808:99840]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 18390: Hash(0x00a4641c60ae935d67ba34261d185bc92d1b6b60014ee74fff53992f6c8b2d07)", + "P->V[99840:99872]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 22069: Hash(0x009ac6707e56f7cf1ec0ce83d424a97bc0f8e4521ec21a00f85fb1ea5371b64c)", + "P->V[99872:99904]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 23164: Hash(0x00e32477599232c36f445adf26aea57d48f2b477825b61a723f12d9c0df0f513)", + "P->V[99904:99936]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 23638: Hash(0x0035b79e03da03e8d7cbb8c8bcd6c421a4a77c8ab62fa69a66b1d650a89ad676)", + "P->V[99936:99968]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 24303: Hash(0x0049414cb02e257579192bc80a4c911ac5a1962bb74b5b4e64ec1248b0e3af6c)", + "P->V[99968:100000]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 25464: Hash(0x00c3370ee0231324b85e1379ed5e4f5c94862496ee85342157b182e3b3530916)", + "P->V[100000:100032]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 25934: Hash(0x00c621fd271b0abfb7077e71ccd7ff4d21357c9f71a1d3fe65cb4bf00d042988)", + "P->V[100032:100064]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 26133: Hash(0x0008fc2c37188d1479f0aece4a943d3da7b379586665154daf4b168ffeb76a81)", + "P->V[100064:100096]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 26687: Hash(0x008418f28aaeb3086c00f0102e22f688e83c9cc16f6f9479b56c4836fd0e1839)", + "P->V[100096:100128]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 26928: Hash(0x00f603b96efcbe8e55362663ad1d4729b01155be9a183ff1816a0030e0644da8)", + "P->V[100128:100160]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 28248: Hash(0x00df1301929533c23a493af2a9d0c45675ce5321c409ddeca6452e81fdc3bfbe)", + "P->V[100160:100192]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 30274: Hash(0x003fefeab8a003b35024840551d17a088653c0d2a7d28de76a24b6f37ccdef7c)", + "P->V[100192:100224]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 31631: Hash(0x00098ebfc6dd630877d3e18f6bc81584d579ce972eb5b29dd897e20c34951e91)", + "P->V[100224:100256]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 32248: Hash(0x0060170d07c52108e1056407e55c018b64f5ab2e0e8513a508d6062b9e92c6f3)", + "P->V[100256:100288]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 32366: Hash(0x00c63d9a6b231544c9e4a14c34a78763e9b49b0cdd7470c29779cb780ac49336)", + "P->V[100288:100320]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8603: Hash(0x004e48e191a6e04cb9eeaa17d21c20f81b864dd1cc74c092de430f5856b12b4e)", + "P->V[100320:100352]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8670: Hash(0x00f08e3b21962ad00f4f31bd03f20d473e829cc7644cea8ebb4d07dd8e074a1a)", + "P->V[100352:100384]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 9194: Hash(0x0064ff80d34ff3671c43134e287a4352d939f927e1d2db1956fe15d95808445f)", + "P->V[100384:100416]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11035: Hash(0x00efb5043aadd92204d654c157387d083eb085822d55cc0d1d6626a38d626344)", + "P->V[100416:100448]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11583: Hash(0x00bae7f12e22b4982d60e60c8036c060ef5f9058f6bd752f7c818b883ff33748)", + "P->V[100448:100480]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11818: Hash(0x00c456b3766d8885a01995020b86ab881aa7e05d110092a9f5340514aecdd8ff)", + "P->V[100480:100512]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 12150: Hash(0x0040f51c45b99e09478d8116bae9280ae1fd8496cf5cf1391e74f9eece9741ba)", + "P->V[100512:100544]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 12733: Hash(0x008e1bbb446a9faabc615ead5b0dd7be832cad149fcf3376e19965d1648fdbdf)", + "P->V[100544:100576]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 12966: Hash(0x00a7acbbe18bdf8a9c5c7f0e08961040fbd681cc1d00851a3b242207b402b92f)", + "P->V[100576:100608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 13067: Hash(0x0097c09d0f2b998521a94c0f2bcbddd17a1fab66e2486fe28190114d832abb02)", + "P->V[100608:100640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 13342: Hash(0x003445e9119d966e9fd2e660b8f1fa4336f0658122a2a3a318bbdc04a23937cf)", + "P->V[100640:100672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 13465: Hash(0x0095876be695a8daf6aa20d4a43dcf67a3d5c134d6b3b23411a9edc77d68c59a)", + "P->V[100672:100704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 14125: Hash(0x00bcc461221b993c0239fdba63cc3b167aa42b3eb2f4c42b7c0f3c120e3ef9f2)", + "P->V[100704:100736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 15136: Hash(0x001a23efebf00fe763825f6aa3b59ec8ce54ddb448cfb506cf350303aca05a35)", + "P->V[100736:100768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 15814: Hash(0x00703dfc25a447a1696a23726bb5a2597683221c2d7e5293e4d66503972c5bd1)", + "P->V[100768:100800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 16125: Hash(0x00667211938282a2368517315f479d2f41e1ca1e1e252594aaf6cf586eeb1920)", + "P->V[100800:100832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 16182: Hash(0x00866bb44790861da489855af5b97b702593006da384385587f27f93e980d65d)", + "P->V[100832:100864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4300: Hash(0x0075dc4e9ae53210b099910f444637c5fd6f3ff801c645bcd6ea54fcc17114ba)", + "P->V[100864:100896]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4334: Hash(0x0049f87d183f2c2046128af26d6296c51cf26fb6ed1ed7c7c0c678f11ed25cb4)", + "P->V[100896:100928]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4596: Hash(0x00dd9432db5e8274e7ef2f009ba54739d8edb7448a23716613e86e195094dd3b)", + "P->V[100928:100960]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5516: Hash(0x0097f4cc4bbab98d78a7a143526f1060a33fd5ae6e96304279efc9cc6d86df85)", + "P->V[100960:100992]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5790: Hash(0x00b5a3ef3751d91da5372d55d7f945d9c514594f71fb637574ecc9006c297561)", + "P->V[100992:101024]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5908: Hash(0x0010550cdb6abb1a35da3553d52b9ece06f6d09844e68600b6c1722b6cda5ca8)", + "P->V[101024:101056]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6074: Hash(0x00494345febc533aaf3ef799ed746c6c8b523f1053dbace838477ebefc2725e5)", + "P->V[101056:101088]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6367: Hash(0x0086a1bbac66c79a29cb8636393ac436454b9b8ffb4ca61069f6fde82c998a98)", + "P->V[101088:101120]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6482: Hash(0x001b10add099806a9750bea319658c457e8983b260fff69c45ef7913934abdc2)", + "P->V[101120:101152]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6532: Hash(0x009e1304fda552a1be0920fd819b9c2d4917ee6ef2d235a1eaf723cd6f977443)", + "P->V[101152:101184]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6670: Hash(0x00541dcf1dde58b519fe617d9716404a2f87f54b89a1892e0f2c99f7bf37e102)", + "P->V[101184:101216]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6733: Hash(0x0003a3f186ff886870b3fc4235b82716422555114d75d846ea7f77f4bfe63098)", + "P->V[101216:101248]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7063: Hash(0x00a94f584fa55e5d6196fd7aa3d16742b69d18de1e926df03bd478d9be93620e)", + "P->V[101248:101280]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7569: Hash(0x00d9ec95e7f1d03426034c89116514a1c9313ff67353717a00ea1075c4e43dff)", + "P->V[101280:101312]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7906: Hash(0x003f5ad7adcd06dd78829888afa48cfd362f26b13f8cca24a586ee17ffb4b51b)", + "P->V[101312:101344]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8063: Hash(0x0021dfa1090c44e85e9fa577d66eba801d5e1f2f60caae428dbd961c3ac61d3a)", + "P->V[101344:101376]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8090: Hash(0x007ab5bf6a2abfe1c9c5ec0929ef6eeba9c1a58c0e1668a6d379190b15d0a385)", + "P->V[101376:101408]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2151: Hash(0x007f0a4b16404e63c62546f7e8ac0c105312496cd8074ecd0d9037812f8be2ad)", + "P->V[101408:101440]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2166: Hash(0x001d1a8a1d55143c50037fcac15f5150ad4fb8981c1df79481e6cbcc5c9f1f3a)", + "P->V[101440:101472]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2299: Hash(0x00b17cf1e5afc5d7d8c1a4e25b96b7897e658e5b2d8ad4fe1060d74da5bd3187)", + "P->V[101472:101504]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2759: Hash(0x0038c5f9de52fadadecc165746662890425f39270d886b573365f162dc77725c)", + "P->V[101504:101536]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2894: Hash(0x00b185d9041342aa024409fc1624bee6e94510621e1367aebf6e5a96c98a0e19)", + "P->V[101536:101568]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2955: Hash(0x000b97e5fd46622bc89904264a09292418c733a56aa9a5fff33cb0085f7b9d66)", + "P->V[101568:101600]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3036: Hash(0x00d55d0753b0134d5ceb0e0b36057bbcdc4ed5af96d7e14bdb5610717af6522e)", + "P->V[101600:101632]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3182: Hash(0x00553990726252817dc531183b62bc37ad9df2b8f771c1d3e8024b0d1f9c7683)", + "P->V[101632:101664]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3240: Hash(0x00b20cc5728508424f5e71c6e07f0ce42003269178d9a15bd50f74b9c2293114)", + "P->V[101664:101696]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3267: Hash(0x00a49a83a8c4872464717f58b2a6d5367b4564d767d6b3fc3596239861c72027)", + "P->V[101696:101728]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3334: Hash(0x004805ac7d28866ea959f19f03490868b75921c0bf5de46899b0781ca91ae9b3)", + "P->V[101728:101760]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3367: Hash(0x00005ad5e509b3364610eac2c0d5fea9619917cf7c800828c38424282ddb9b0e)", + "P->V[101760:101792]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3530: Hash(0x00a8cbd942e9067a88d67fdae7d89b985a1232dfd1a68b5453b26bf94487ac80)", + "P->V[101792:101824]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3785: Hash(0x00ff36c3d322a7bfe78542a0bae5c3fb6d7d23e8b1a06cb6f4fdf9520277fdd5)", + "P->V[101824:101856]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3952: Hash(0x00bf00b0217e4c763527ab4d0485ce1a38bc3bb43684f0b676412ae3ab67f82d)", + "P->V[101856:101888]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4030: Hash(0x004ddd88a5d9a42fc1e8996e05f5ed32efd72946aa755927fc9c240a39c130f9)", + "P->V[101888:101920]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4044: Hash(0x00a6fb7c2aa8713a717e7882b7b35e67f5b3251edd751279ba7f99588b90bc89)", + "P->V[101920:101952]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1074: Hash(0x00ee563378ccac59c1959888a4382d37adc1ab84846e0cab10c8897d323d0075)", + "P->V[101952:101984]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1082: Hash(0x00fca2a22ceaa929d4f77e8e01b5e52d864a42f3cead313bd407dac22227e4b3)", + "P->V[101984:102016]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1148: Hash(0x00b28fe738cd480ae0427ad994a8bc4f6cfcdac3442a94d4c782059610013cd5)", + "P->V[102016:102048]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1378: Hash(0x003e84d9ef6f27a7d4ad88a1dd0466cd37c97ed80f00747a303c06ffb99e2c59)", + "P->V[102048:102080]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1446: Hash(0x005fa0824a36577990cfade561ea20f4dbb46ff2b221f98f2eb7ea365e971758)", + "P->V[102080:102112]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1476: Hash(0x002f08ff6bdb0f84afab715b8a5dc93abd97f778f2deb0dc92803f4cf7c333fa)", + "P->V[102112:102144]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1519: Hash(0x00c71873dbb5b044cac1384f27313f0434905666018d1cb291874d7aeb5ebc8d)", + "P->V[102144:102176]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1590: Hash(0x00948b910f9badc92737fd54959ffcca21c431d0acf962c5265537eee62f013d)", + "P->V[102176:102208]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1621: Hash(0x0076f87f061fcd962d50a90a7cf5f0000f3b4c30673656693153aeb8eb4cc0e9)", + "P->V[102208:102240]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1632: Hash(0x00828ee7e0546cce7ed19df3f47ae61d9cb97e955a6568e1c62b72f175196433)", + "P->V[102240:102272]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1666: Hash(0x00a634ce9a536fbebd754af6cc2a6c20de0bfaf1d0ca9cfe07c44806721b89a0)", + "P->V[102272:102304]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1682: Hash(0x00e7a8cea399308ef32acc167d36c6f9aac028ee4d1bb7bfc731fcb499144917)", + "P->V[102304:102336]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1764: Hash(0x00c17fdaf902fe55189677e8fda1612d261134443e7248dccfafffa754e3b13c)", + "P->V[102336:102368]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1893: Hash(0x0095f4ac9ab1bed64840f2284c645ede800026f487ca523791b74db9cd346480)", + "P->V[102368:102400]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1977: Hash(0x004a2d26060d751b0ba131358b6ed0b4938f8c4bf5d0d6a7702f37f7852b9ad4)", + "P->V[102400:102432]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2014: Hash(0x0013310518f0b040c2e96a4ee8f3e501e933e04e978542b89c9034fabd01cd3c)", + "P->V[102432:102464]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2023: Hash(0x00b13c0e229a3782aaa8264cf6b0e5c9d0796ecfeb527796ae4264843e056c7c)", + "P->V[102464:102496]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 536: Hash(0x6722baa92986681200666634c74186a9e3419d44fb156fc1ea306f726221cf)", + "P->V[102496:102528]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 540: Hash(0xd1049d5912e34e8409e04765b581cf525eb35955c63d9d771e4735ecbd8a59)", + "P->V[102528:102560]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 575: Hash(0x422c7fd4ab93884ed684c923f95eefc2b6b560b58e3bc3ce61cbc62a14cb84)", + "P->V[102560:102592]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 688: Hash(0x346c0c3ab1794bc276cc86127dcd24c9a1466d573c77ae245196f3915cd7f2)", + "P->V[102592:102624]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 722: Hash(0xa23140d0790f8b73442733cb893cad65a4cb7be7f0f04df43cb693c477664f)", + "P->V[102624:102656]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 739: Hash(0x242a92de948cfe6d6f190b03a8a2f5fe79156dc5186d5d4b750397a1fa7b00)", + "P->V[102656:102688]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 758: Hash(0xcd1232d94c5d2c22241f7f0eee514077949f50b2730d3b1882126bdc9781d6)", + "P->V[102688:102720]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 794: Hash(0xddfb19d4b3f7f045863115f9ecea77d578e325319c9fe22554971b8463d5ba)", + "P->V[102720:102752]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 811: Hash(0x73cb5eb2a560efa477d60a9e512b675768418a95ff1c89c79ee1ef4c69f2fe)", + "P->V[102752:102784]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 817: Hash(0x964d30b8f961acb2ae927def017970c97e7e72ad70e365cbe1b251a9a5081c)", + "P->V[102784:102816]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 832: Hash(0xc8cce870e501e2f486bef30141a7ec1075ccb0ed29a1cdd625ca5625564cc4)", + "P->V[102816:102848]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 840: Hash(0xfe9222f0f3f1ba1b50b28cda3f91f03f986631a50296bcbfc839725fb3e6ed)", + "P->V[102848:102880]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 883: Hash(0x6975f1214b6741246d70aac8c0f5477a0780a7deaf0494aa40adab95d8dbae)", + "P->V[102880:102912]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 947: Hash(0x290f412f4c71734aad4d16bdb543a28bc0e2843b86ce9d3394e73d61b7908b)", + "P->V[102912:102944]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 989: Hash(0xd275d4dacec4b5bba0b1a1a961fb6fa5fb2a350e93a078c8128d53d7edfd10)", + "P->V[102944:102976]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1006: Hash(0xeff3eb2c622cb15ecb5b8dfc890c065bd0081b91f2e27b5855ca1df58307d2)", + "P->V[102976:103008]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1010: Hash(0xdd279e76e4396e1873064f622b2cd7f51b28d73d86c97f9727bcb4ecdb8fb6)", + "P->V[103008:103040]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 269: Hash(0x73b14f0f3f57c6e18b9006e42c554bf143bce832c02aa4b9ed3e058ce00f9f9)", + "P->V[103040:103072]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 271: Hash(0x74d09dd7df858b880ee57d7c305d2ca748ce36f4e3ac826610fa3dd102e963b)", + "P->V[103072:103104]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 286: Hash(0xc0ba6999073fdbb5df58e49c76f5e7c02d67571cd3c166cc1b0153c8931d1e)", + "P->V[103104:103136]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 345: Hash(0x7bfe407f0c55a82f2b8f9b21ccb13f3cb761a7af7a5acf6f9bec0090d5df476)", + "P->V[103136:103168]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 360: Hash(0x157570c93647ba8b7190fc059b79c19dfa872e47af757d3f2a502cb68d0367e)", + "P->V[103168:103200]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 368: Hash(0x7779d3002b1588f951556bf5dbc16374bec48e1ef2185a2f4a851ea314febc5)", + "P->V[103200:103232]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 378: Hash(0x47a03225cbcf76eaefb3bc2176562712e0039dba3ca9e0b5d49b68147504bf0)", + "P->V[103232:103264]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 396: Hash(0x3b9dcec468eb4fbe96167a068a413f0cdc502ec04b34aef0fcc4ce27948d178)", + "P->V[103264:103296]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 404: Hash(0x3deb3974b439fbf46da3bca75b8f507441e04a038448296209bc934d809e12a)", + "P->V[103296:103328]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 409: Hash(0x4866c2ed70bbbc47eece44bc40dc5fcd16ccdc446e694299ffe9286f9efbd02)", + "P->V[103328:103360]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 417: Hash(0x3668d2a999b542582510382a2a3238a8902b5f1cbf2d681bea250f246a1afc3)", + "P->V[103360:103392]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 421: Hash(0x12132c7037ed1ff579d6adbb4a2cb192cb165c7224d0503a1333a83efb0883d)", + "P->V[103392:103424]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 440: Hash(0x6d56056946852f46ddee1ebc584ad194480d6552a5681fd599f3ac0eac6cf6f)", + "P->V[103424:103456]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 472: Hash(0x1706d111a1d6f8bcc31659cd7f20689d5271eaea8860857d9db49ff26e037ec)", + "P->V[103456:103488]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 495: Hash(0x90bb0f9c7790b659013c0d258454f5273e4d39081f3848baf375d3a52165ae)", + "P->V[103488:103520]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 502: Hash(0x23140144f510d8ec71cb54d80938342851c61f0a1d59bc89766ac0b70ca0ba3)", + "P->V[103520:103552]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 504: Hash(0x3d2280e854701a6aa55396334222e0c4e1c7eec9eb766021bfa9a7edf357e4b)", + "P->V[103552:103584]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 142: Hash(0x5558da0e6e58a8d1eecc2da9bc22accfc5dafa3a80d450e7e25f51893490b4)", + "P->V[103584:103616]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 173: Hash(0x75ba35d9e1cebc3e3426c67fa4e690edce14bb00f99dd033660eda8c734bb67)", + "P->V[103616:103648]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 181: Hash(0x430be675305f90903802b03c08db4899bac724e3e35f61f686aa7e92ed19a2c)", + "P->V[103648:103680]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 185: Hash(0x79183cb1beea2f5ca8e84d8d99fa5adf10fb01cfc9d0dfad36d4441a61d6bf8)", + "P->V[103680:103712]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 188: Hash(0x48e944deb0570eea9666dc03dcf9bd4abdf24f3a93638a60bd2b4915be9e974)", + "P->V[103712:103744]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 199: Hash(0x224c341ab6cab5443d3607b6beec4f22153582ae4e7458c49ea7bccd0fa163e)", + "P->V[103744:103776]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 203: Hash(0x6a89b0fd761d1a6c87931ae8b623639855ad5b9c0e7ee222f66ee083143f7f9)", + "P->V[103776:103808]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 205: Hash(0x45b3f6a26b7c7659e719fd7c14c1b4ddb0fd83a1895964d3c8fbc8fc2cbfb91)", + "P->V[103808:103840]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 209: Hash(0x70530a4f0bf32a5bd432ddf0139e91c50ee8a651ce726b34b78367c8ed90cd1)", + "P->V[103840:103872]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 211: Hash(0x158ebf2374ad35cefa28d09bcad008b792c04b021f3e4e117c2ad8b5449975d)", + "P->V[103872:103904]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 221: Hash(0x700afac3ed3fc75757af2ead5cdbcf667ae25bfa91c3ab167c93fb6394c2791)", + "P->V[103904:103936]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 237: Hash(0x4cc2e3dcc44ded7d674999dd9f7f4f56b9d23651a77584e9864be0915f583ca)", + "P->V[103936:103968]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 246: Hash(0x2bf3a2f8c12bbcbd36956d38b57be9861c84b1ebf550b3ea3ad7a6c381b31f9)", + "P->V[103968:104000]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 250: Hash(0x3b05829a386e6b99b9678afbdd0e93e9ff27d3bdacec511f2728fddc0d2d831)", + "P->V[104000:104032]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 253: Hash(0x4418f24b49811a61384d901670a623d229fb295e58a51ae9458744c4a9c9485)", + "P->V[104032:104064]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 66: Hash(0x2ada91acc0fc4cfa99778be4714ea25e41f692225b7eb8c00bd79540d89024d)", + "P->V[104064:104096]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 70: Hash(0x3a0e066034e0b59b5767f540211d0b41a958068d663e5ccfa1fb8d1ec161a66)", + "P->V[104096:104128]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 87: Hash(0x38e093b1c8366bb177566ccc2902a8867c07649411896e7c0b8c6f6743955e6)", + "P->V[104128:104160]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 91: Hash(0x266f8da4c8363a60d4accd00509efe6612603063b394ade343a36ec4bb6af77)", + "P->V[104160:104192]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 93: Hash(0x270df743f4a8168c1c3da91c2082681ebfc5809eb15a5fba502b235b69e4374)", + "P->V[104192:104224]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 95: Hash(0x25a0d079a4047435150657e5191606ccacac736acfb493c1ce99a2e9dc92a38)", + "P->V[104224:104256]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 98: Hash(0x78775a103cddcbc45d1d9fa2cdab3bc9a5289ce0fda3bb4c1dc0b567bd0c96b)", + "P->V[104256:104288]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 100: Hash(0x3e8e1adde26a1c451e8d5ed3be59e0450d3715c82b2eb5336a51bf3a95fb167)", + "P->V[104288:104320]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 103: Hash(0x125c3a53d506e0b0108c3bff02565c472c4c5de70657b22d5f5a9ae3718b779)", + "P->V[104320:104352]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 111: Hash(0x323f6d69c5311fa74eff4ae0697831dd798a7b6e13e86bc411d3267eb8befbd)", + "P->V[104352:104384]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 119: Hash(0x276fabe3af679bac9852de5e27628c69783667632a43234238e23568ee951c1)", + "P->V[104384:104416]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 122: Hash(0x725238eb480718ba0208085bfb1b760ea29b22052ec25a256be226617ab1b0e)", + "P->V[104416:104448]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 124: Hash(0x4d6749e0601b6d25ec7ea66be5fb9e836189561f654621dadce40414da8b8e8)", + "P->V[104448:104480]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 127: Hash(0x3c0d98b835a269f47aef97f55f8ec7a18cb3e2b244c90d93ac46d80fbb7dc1e)", + "P->V[104480:104512]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 32: Hash(0x4217c37ba554053469e52fcdbdea5ecc29d96331bf1708f628e63fc0dd6077d)", + "P->V[104512:104544]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 34: Hash(0x2b89d1e5c11d80e41d3da4aa01d4d709bfac8bfc31c1f4ce535b002d6747dec)", + "P->V[104544:104576]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 42: Hash(0x3647a60509783a729901b95196d4e0339ded09187db19990ada7921ff464319)", + "P->V[104576:104608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 44: Hash(0x7f96acb3f7f44def7753e1f6d3c84170280fe11c721fc2d06a6da1b6413e133)", + "P->V[104608:104640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 48: Hash(0x141fd43976b0ef1755b734d69e0414d7f9bfc814de3f9fd7cb8733dc01ddb20)", + "P->V[104640:104672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 53: Hash(0x69f77b385008b60214b5ae9b6701ab12889fd464da4ba012f5cf402d71e28db)", + "P->V[104672:104704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 54: Hash(0xe0d4ca2be8b6978865729dcf167b2e8f5c92335c7ed35293209e6caa1e0632)", + "P->V[104704:104736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 58: Hash(0x54b070fa91ec3a6a6589b6824871f087644e25eefca9bdbc9f07a4e732a54bd)", + "P->V[104736:104768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 60: Hash(0x10de5fbe7d9d14621635a5623e18dbf5afe1ec91fb15fdd1a6db369b6cb7d0e)", + "P->V[104768:104800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 20: Hash(0x224408595820204b3370f24212dce4c34610d7d20ec1f364a0947b945c7d7bf)", + "P->V[104800:104832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 28: Hash(0x5600fa79a627930547843c37e5a3162663a2f7cf94e312783885f260a6a4c92)", + "P->V[104832:104864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 9: Hash(0x5326fee161937549e6f8462d50dd4774147f6d3c70c5d28bbd3117eeefd81e6)", + "P->V[104864:104896]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 0: Field Element(0x11f716c2ebdc520727badc415f4bb74a41d38e0e87c738688892e0f1b607025)", + "P->V[104896:104928]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 1: Field Element(0x7511956c5a668c8f4b87371cbfdb51f17c7450725417eb6ac8d97e01ca25692)", + "P->V[104928:104960]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 2: Field Element(0x6f07da05da0ab834b77a9a59e1939dd41a96cac5ae05cc820bcf113a74c16ac)", + "P->V[104960:104992]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 3: Field Element(0x590b8543b96091176d22fae58954187440ee3f4dafc38c3dec9f43bacea93a0)", + "P->V[104992:105024]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 4: Field Element(0x670f2e952df848e93be680ca055c85f89ac70ee3bcf09a6132c1ef2107a5d30)", + "P->V[105024:105056]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 6: Field Element(0x5a4800c99b2c587b0ad22ff1929cba57e2ac15fe562819aa7fb89108db8346b)", + "P->V[105056:105088]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 7: Field Element(0x20ad4860f68fb22f626b1fd39887842942f6baf8e6a2f75f0595536d98e18fe)", + "P->V[105088:105120]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 0: Field Element(0x592c7cb1fa81932105c7b71495613481429d811ec6620db1cbcdb34fea8f6fb)", + "P->V[105120:105152]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 1: Field Element(0x413d27a8a4c125a9ea0bf4e64a8738ea9903726a84a702842463ec6ffd622ab)", + "P->V[105152:105184]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 2: Field Element(0x18a71065fab384189c04bd7fb6047f1cb9ffa0cf6d6f21a45ec24f3fe01f8f7)", + "P->V[105184:105216]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 3: Field Element(0x720bbc9412fb1cffd8b8c2acab2d6cf0d6e160787d0f3f096e613dbd301be7)", + "P->V[105216:105248]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 4: Field Element(0x6b53bd8430cbd12b3b539b37bc121aa6a5eefc49a12baef59ca529b1b0cf210)", + "P->V[105248:105280]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 5: Field Element(0xb4ca0bc88c9e31fcabf5f98a2a407f7032deeb65b8fa1bd76195b22011bdc)", + "P->V[105280:105312]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 6: Field Element(0x20e4cff53f1d50e4fa0584112f9b49222a8f5936df0810e796498a441a5cbad)", + "P->V[105312:105344]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 0: Field Element(0x2a047a7300ddfd913fb7ed2909018e303e18d10b92954ca7c63e1dc0885c6d9)", + "P->V[105344:105376]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 1: Field Element(0x5614b7b7431d4ac40a51c340f4deaac10d5247eb647fe910e7ce219d516a3d4)", + "P->V[105376:105408]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 2: Field Element(0x74c821b245384a50d390d89fa2a6f215d8b96f3d8c984bcfcca5bf0eb5f459e)", + "P->V[105408:105440]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 3: Field Element(0x11dcf60f7f4dd8660f61eea05035f759c8efd0f59ec2eb986255f40312f9865)", + "P->V[105440:105472]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 4: Field Element(0x7fc86f28a3012157b8b6ab384e54515ef6b8af2218373053fe2662cdf74f92c)", + "P->V[105472:105504]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 5: Field Element(0x63c21e836518a4402f71d9c0c2239dbbaeafe1ba7fb033ec2896df9ef3cc35e)", + "P->V[105504:105536]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 6: Field Element(0x30863c1c6b31763c78abab7ca3450b0aa157168adc1279d4ec753d60a86935f)", + "P->V[105536:105568]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 0: Field Element(0x53f3e34cd51f91525c543baf7a743e1a4477714654316cffe1ba8962623de)", + "P->V[105568:105600]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 1: Field Element(0x7325235046e2c78b4a1fe473c95d384ed839148ee84ff17439abd81de90667c)", + "P->V[105600:105632]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 2: Field Element(0x4d864d3160f78dffa275c346ceb87a265ed900cec89af768ef4dfa1c1e4bb85)", + "P->V[105632:105664]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 3: Field Element(0x53accf20baeef71473f70904e98f113c3bb3923e12f619d456ef0205781ec19)", + "P->V[105664:105696]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 5: Field Element(0x215ed2028bad55b7d834893ab9aeeef3938b9a5d4cffd5371fa50d7896a879e)", + "P->V[105696:105728]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 6: Field Element(0x2dd5c2bc140a13768bf2562c9c6ec6b1662b74076f17280fb8b57d1598eacec)", + "P->V[105728:105760]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 7: Field Element(0x3f57516fba452265c92ec6faeb4d0baa80b43cf81f4c0b75d219135c77259ce)", + "P->V[105760:105792]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 0: Field Element(0x5f8559caee40c8ec8358fc441248ea82e9188b132507f1990547c3bb6524031)", + "P->V[105792:105824]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 1: Field Element(0x45c463a67d5d2961da459977850580d284512eaffa2ed717573f298579fc05a)", + "P->V[105824:105856]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 2: Field Element(0x49cae3a432b1cf7bc81d76ac1243e090feda7765af551b18eed708e4789c9cc)", + "P->V[105856:105888]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 3: Field Element(0x261d1226508c679297529520346e1ff140507c378f8774b13db53b8557b8c6f)", + "P->V[105888:105920]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 4: Field Element(0x1d75e75aab90f274c79f4333f2da16edffe4d8cd9cf1403949848aed8ffb1f5)", + "P->V[105920:105952]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 6: Field Element(0x39d3391c5640ce850ec8ba323aacb354ec9549147f405c51656a4d397058c57)", + "P->V[105952:105984]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 7: Field Element(0xcf0b1aa6b3f3c742379d97834e6753ac28b3038151e151abb23d920dee276e)", + "P->V[105984:106016]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 0: Field Element(0x1f6f384a4fbf3d83c2972f594cba04e2a6c6ad8f1ea96d01b06e872a2b1f9bb)", + "P->V[106016:106048]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 1: Field Element(0x6de4a7ec34990fa9076d870667faa3b8ef7bf05655b70c0ade1ca70c2a281b2)", + "P->V[106048:106080]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 2: Field Element(0x1ee905c5b449803cf9f944955165607195473387117c23198a4b4707ad5b22f)", + "P->V[106080:106112]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 3: Field Element(0x1d06031f0bd1a4a7a65978b7639738e11381e6cc7449d3fe600be56ae41b963)", + "P->V[106112:106144]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 4: Field Element(0x44c269f24c33538ada5d672cf81e72af6d224178961c3a6ba1218fa3f16cff9)", + "P->V[106144:106176]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 5: Field Element(0x53332552d302a84b7fc0ecd9bfa056373a49b57e78e025b238de5aae806dbf5)", + "P->V[106176:106208]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 6: Field Element(0x18d0a4cf213b373ab209bb00e5c5ecd44f33ceb108e38ac56d9d5949b4b2026)", + "P->V[106208:106240]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 0: Field Element(0x2187c90aff1c4d2379aeb5a47bb0a7e519bbf82faac4780867857115d29a17d)", + "P->V[106240:106272]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 1: Field Element(0x450853d7fc1bcc2636af041e338194cafdf52b449457dd421feb856868d9613)", + "P->V[106272:106304]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 2: Field Element(0x2e8cdead6af495bad2ba4b088bad7814443807bbc791df51c6c995901774461)", + "P->V[106304:106336]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 3: Field Element(0x5e3c7c4da2bebe9ab8342e1f29528f702faf0876f6e918c221da9c89b0bc965)", + "P->V[106336:106368]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 4: Field Element(0x6305f1cf8e2d7f9d473039ead94aa926c4996096feeaeae12d6b066157448ad)", + "P->V[106368:106400]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 5: Field Element(0x73dd066ef7cab160a672801526330e4d6408e1081fd3c436b375a95c30dcf96)", + "P->V[106400:106432]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 7: Field Element(0x458bb51f26d694eac8b37020f2506adc2bbb7efe0b28c74a235bfc57af46ac1)", + "P->V[106432:106464]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 0: Field Element(0x5fceb9e2123acb44fac1f580320a10298d4b09daef574eb7a4478ce2036fb5d)", + "P->V[106464:106496]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 2: Field Element(0x3040d0908700b13a82f0ba90b21985f782013d39064fda3eaf5a73d8079046e)", + "P->V[106496:106528]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 3: Field Element(0x6d55a2922951b3f3163d02f7672d114a3980f000226ba26463ed91483a772dc)", + "P->V[106528:106560]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 4: Field Element(0xa2ce60febaf74b9f6e259c7a008d13218a08563204daeb1e1f0583da6f9650)", + "P->V[106560:106592]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 5: Field Element(0x387f31ae6e5543042185b896e455897d66b784151168fbf11e22f0fe9aaa48)", + "P->V[106592:106624]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 6: Field Element(0x51cf81e8e83aef79daa7014d48ffb00ad1bb13ccab05d522a923a769c01f223)", + "P->V[106624:106656]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 7: Field Element(0x4e6e6f79f68b3350d7cc9c3ab0fd64fcc87b7253c841990ad323ae53698207e)", + "P->V[106656:106688]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 0: Field Element(0x2ec8c94b15015e52f2278797a58bac89fc99d5ec25c7c1e1c09af7108e2113b)", + "P->V[106688:106720]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 1: Field Element(0x2c284f47bbe1e0d0aa4441ecb788349cd176f364f2ba9094e0290ef6ea79be1)", + "P->V[106720:106752]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 2: Field Element(0x23cfef6813dc847c8b36b6aee45fe3e081d818591c84b9e8ec34786b956a8f7)", + "P->V[106752:106784]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 3: Field Element(0x643c795f4e270b71b9fb485c6aedfa87351d3f5be300df0446bce72e6e4b3ec)", + "P->V[106784:106816]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 4: Field Element(0x709b9b3c2e2362da16c6659e135ec57a2eea63bb3961e95a59ece79011129a1)", + "P->V[106816:106848]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 5: Field Element(0x69f76c0ad58a73432a9d5e4a90871e4ca56bc7fe08ad5b45e94fa5c0dc58faf)", + "P->V[106848:106880]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 6: Field Element(0x29a1c74925bcb2125d4fa5caf68cdc7cc745725ea3e3c42fc67a3a712029286)", + "P->V[106880:106912]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 0: Field Element(0x33502fbc133bc0433d88bd44a837b3e838e4daf75316aa21467f733cbe07cdb)", + "P->V[106912:106944]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 1: Field Element(0x19f324e504adb16e951c76a6a3e58e0e93d7e83d83e7dd2928798a988516d20)", + "P->V[106944:106976]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 2: Field Element(0x12754dfb2e5acc824e69e4eb665952b100111020d058a9323ba7af37d4aaa98)", + "P->V[106976:107008]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 3: Field Element(0x610d9d8446171a9beb51aa3e06a0df643484bdb380ebebd138239c65b35b0fc)", + "P->V[107008:107040]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 5: Field Element(0x32b38c60eb572408cfb9402ed326a04f5ca93bc3327f194cd5d6e8f26632170)", + "P->V[107040:107072]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 6: Field Element(0x41674d98b1db877c2261fcbfcb2ec5494a55aa093e81a35006c19824c4b880c)", + "P->V[107072:107104]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 7: Field Element(0x490be7adc677fb0177d22762f6bdcd12471caf29c72783391ea7a9069e39d56)", + "P->V[107104:107136]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 0: Field Element(0x7a531ef941b27551e1263f829048fef651d6d418ef7b16c401113ac4bcfbd17)", + "P->V[107136:107168]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 1: Field Element(0x74ffe1029e451b426f478e5f0f0de391f45fc162c7d4eddc5a89eee90bb9a79)", + "P->V[107168:107200]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 2: Field Element(0x7499e7deac2ea6cb4fe48012cdc84cd222e0a6d2befd6009454632ed7d07e53)", + "P->V[107200:107232]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 3: Field Element(0x4a617e361c6012e3c7769ac1a0d554eaa46ab9f70b27afae5ec1bf431163fbc)", + "P->V[107232:107264]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 4: Field Element(0x602ce448990958549814cd9ae68dc3f02d74d6580305d18b787d8045f1fdf7b)", + "P->V[107264:107296]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 5: Field Element(0xb6844e6725bd01ac4e464504e029649a43f4f551e6181cf31d401f5c1dd0a)", + "P->V[107296:107328]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 7: Field Element(0x3cfc6e9663f31e9186f90baaf7dd407e208da0dab45564b65345480add1b7f7)", + "P->V[107328:107360]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 0: Field Element(0x1dc866f0833f34c3f06a2cb668edae433128a01fccad12d1ead132f5a6c172a)", + "P->V[107360:107392]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 2: Field Element(0x687557e5b5e47c22b49b3e60a559660d1259c0120689f7b0868382f7868281f)", + "P->V[107392:107424]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 3: Field Element(0x518125d3611b97d8007f2673f7aa7a986a6803185943704130eee1dae793683)", + "P->V[107424:107456]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 4: Field Element(0x7ae944596ab8bd3d74a0c369c9ba320dfe592206bdc7415844832f188dac532)", + "P->V[107456:107488]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 5: Field Element(0x236e25f406715c29f830fc75ef47612e79d944bf64e35736c3e2c2f39137910)", + "P->V[107488:107520]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 6: Field Element(0x74614ca7555790eae417a1e683a69420a7e05c4018ec4bc34d5e355db3a4049)", + "P->V[107520:107552]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 7: Field Element(0x6d7de32ac2d6ff6562c442570503fa7c80d19e69e98e3f4aa83b75bce6332c0)", + "P->V[107552:107584]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 0: Field Element(0x7c08febb95d37bab41dba439e3a156ca4d39db5538d4cfe836711867c04a06d)", + "P->V[107584:107616]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 2: Field Element(0x27847fcd0491179b3a92f31180b48b147a658f778b26ca491dc24dd259d698e)", + "P->V[107616:107648]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 3: Field Element(0x1acd420fbf4b858874ad3e4e22164c7cf7204db352a37856b834426ddafc623)", + "P->V[107648:107680]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 4: Field Element(0x4aa6763231b285ff14d2bc32b31a23fbae6d4bc1d2fab4d2e17227ddfbc9b3)", + "P->V[107680:107712]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 5: Field Element(0x522d1a0a89a8b9c5bc2be51715f05aa5a078746416cec148b7ac94ec8b1da98)", + "P->V[107712:107744]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 6: Field Element(0x47942d130646a44af5314f843aaaa7f081ad9dfed4e95fbecfeb4cfee166125)", + "P->V[107744:107776]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 7: Field Element(0x52a3c9700d35f4f436ddb4a4b5aebd56bbdc64e344a0e7a2054a5f2afa856fb)", + "P->V[107776:107808]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 0: Field Element(0x16ae731f0bbf60e7248cd1dc1566f1da7051ebe7a7ab6a6ba195c7429827ba2)", + "P->V[107808:107840]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 1: Field Element(0x70d55fb0f49e5e5f864aa004bff7ab58f49d85a3b220586fa298575e88717a6)", + "P->V[107840:107872]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 2: Field Element(0x6be80d9aecfa214deed8906446886c826c528475f0f449f4c0ffb8b8db888bc)", + "P->V[107872:107904]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 4: Field Element(0x7376d115d417fe7a0e5583a16584250c9a0de24a9cdd8d04a69bb416883b586)", + "P->V[107904:107936]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 5: Field Element(0x3f540692a990679d0baa7688b7b3fa499a48001b0207e5cf31ab7b33d022ef1)", + "P->V[107936:107968]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 6: Field Element(0x5e6f469696cad587128426d77ea9ed5295be2c40ef425bcf3385f80e4781fa)", + "P->V[107968:108000]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 7: Field Element(0x58515e9cd04d2e82abe9730a8cc9b576815b71b213f6d6a1a6240a9be20b858)", + "P->V[108000:108032]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 0: Field Element(0x5c808e6824d23d3b6c64c8f01cac491f0e7f23515c47aaabf4e0e75c968f57c)", + "P->V[108032:108064]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 1: Field Element(0x2bd00cf05ffb685ad5445c586f7f063bf45a7c0749a26588c6f83f25c16f072)", + "P->V[108064:108096]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 2: Field Element(0x29512a5f2108199c1cdcdc82c8e8505fb0f30a8087376fbbaed51dfad6b184)", + "P->V[108096:108128]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 3: Field Element(0x677989e8b3eb8dde8eec8355a4f4b5acea1a10ace9f479b59a7e8c82f8e7a3a)", + "P->V[108128:108160]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 4: Field Element(0x1887b01e0da04fa08a2f40c9b60c73c63bbe80e598ac038c5ca1dc4c30086)", + "P->V[108160:108192]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 5: Field Element(0x1318bdbd9319b0dc70bc4a9e9381dd0ed0ae86f988cf4a699a21a68feac09da)", + "P->V[108192:108224]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 7: Field Element(0x3bc0efd9dba212cb4ddcda6450bfe50a27b15e40d5f0c3bb3087e54c5c92408)", + "P->V[108224:108256]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 0: Field Element(0x2bf807d143ed0d72fb22a36c79ff1a8927c4b33d62ba0ba100252d71af823d1)", + "P->V[108256:108288]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 2: Field Element(0x39b50f8f52fd8c410161ad408c85f0ed425c96b6149b2684026be9a929d85b8)", + "P->V[108288:108320]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 3: Field Element(0x35963e315fd5ab9609c9800f9b8c6ea821ce40dad60d5270100046cedf3dd79)", + "P->V[108320:108352]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 4: Field Element(0x6491617848cae69ac3c4a2b675bade1ae080dffc68a3edaf3988ec50338bde0)", + "P->V[108352:108384]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 5: Field Element(0x613f7ca588adde67a28fcad7951ff809773d0ea192355d1ab88287ce6a61710)", + "P->V[108384:108416]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 6: Field Element(0x54e70d82ba78c966a74066cf5cde911bed65d8aab81243cdf9b901ea3100cf0)", + "P->V[108416:108448]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 7: Field Element(0xd464a9f618b70193fa3bc1cec5cd6bbf38b59ac00dab87d5b81f52a2f4eea8)", + "P->V[108448:108480]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 0: Field Element(0x5af580f8d731af84539d2cb3906b71d38253ec1b9152a9c1a321cd0bb6bdfbc)", + "P->V[108480:108512]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 1: Field Element(0x3ae00467142c2e70f03797c1180682c6e1447485cc01145cc2533cea6324d24)", + "P->V[108512:108544]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 2: Field Element(0x6f94ca70499053ff6161061bc53dbad46a2f3a5ca48275e0094507d976fe96e)", + "P->V[108544:108576]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 3: Field Element(0x5e6c96545b6d46746c0ac660781ff4ada00601cfc2d686ee68b62cd49c36553)", + "P->V[108576:108608]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 4: Field Element(0x68a58b74121f9829af7625509c53502ed528e77dc55b12460bf739c3523cd85)", + "P->V[108608:108640]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 5: Field Element(0x4894db3ad403417abab3e5dc788ec992f7964f887714b4a499f1e1597390afc)", + "P->V[108640:108672]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 6: Field Element(0x3ccbe8736c8bc1b6aaa23833ca440df90dae9b0d947238bf1fda6e4ffadfb66)", + "P->V[108672:108704]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2151: Hash(0x00b129cb16e0dc64ff0e3026753978917e20ab800cc3ee01c1fbe9d21c961360)", + "P->V[108704:108736]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2166: Hash(0x00176e1dc85bf365fda5cbb3b39cc02314bed363f2fb951c95a156aa8fb959a5)", + "P->V[108736:108768]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2299: Hash(0x007cd286b768f6e322b1e16ae44545cf5068c8842e0becbb8768b57193f4a3a2)", + "P->V[108768:108800]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2759: Hash(0x000c5cf1b7d3f642433e378ecc4cda1803e52cde38e0973209af9dd8a28dc276)", + "P->V[108800:108832]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2894: Hash(0x0029acc19e1b7d3e8fb58f48f99b23a81872928e46e224dc423c9504d43680b3)", + "P->V[108832:108864]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2955: Hash(0x006d8681ac26579689fd0f611ef26a4442b1cdaabee443d2d4dd8a23dd3f03ca)", + "P->V[108864:108896]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3036: Hash(0x00098100bfb5bab336a8eeaf698b684e5fffe89aee08b2a6449793ec65286fcd)", + "P->V[108896:108928]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3182: Hash(0x008b1d3f80b247ba5b2d19fd29eb5a4e49ff96701d540ee533ad2af85d674622)", + "P->V[108928:108960]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3240: Hash(0x0016f96091b92b7e47d14e87bfbd4cada66668769cc5b4411527e2084179aef9)", + "P->V[108960:108992]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3267: Hash(0x00e52216bb2cc4af880510df2fdb33812e276c66e7cb45c654543c8e7c09121a)", + "P->V[108992:109024]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3334: Hash(0x009742e36a3aea1b9662766f85a1f1b90bb3b345ccbb1f9e96354877b19537bd)", + "P->V[109024:109056]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3367: Hash(0x0080984e27532ee2f35b8ecf6c48382396bae9a7691e28766c54cf66e2406a6a)", + "P->V[109056:109088]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3530: Hash(0x009a87e9e5185ea5f4844af5588179c3cca7f266d23b2185d1edced75078ea51)", + "P->V[109088:109120]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3785: Hash(0x0005bca28190c0d1652bd274e61c4494383e0194dc31f502689048185daeb936)", + "P->V[109120:109152]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3952: Hash(0x007516c8e2f37b2af1abedaed5d643cda9c7c3d7079dd775ba45786e80338883)", + "P->V[109152:109184]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 4030: Hash(0x00df167e0d19540707c70b008fc1ba877038e1bda71bfe66df3c206050ef0f81)", + "P->V[109184:109216]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 4044: Hash(0x00942d368b76fb330fba1b9678925ff21a11bb8ab9a34a9a16da8585e55021eb)", + "P->V[109216:109248]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1074: Hash(0x00394a6e5dea89ed90e8583088c4ed3af1ed4e048c76e04e9fed7c5b69e751f8)", + "P->V[109248:109280]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1082: Hash(0x0063073f7c8955b3465e31f3bf66d786457935a30efc00eda297f9b63817b02e)", + "P->V[109280:109312]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1148: Hash(0x00732021c1f4fd5bd2e35e9506f5dbee948c7ccb2adc17ad209aa332a015ddbd)", + "P->V[109312:109344]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1378: Hash(0x0046fa360b9f3193b6ebd4312550e48160bd21d1ca925159a8e87d903e95241b)", + "P->V[109344:109376]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1446: Hash(0x00fdb81ec5b14a51071997f405a069aaeb5be67b571c2218302ea137b33b29b8)", + "P->V[109376:109408]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1476: Hash(0x00023ce9c7a7643454240794658e48b888e3d4dcc22295fc630152817a6c150f)", + "P->V[109408:109440]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1519: Hash(0x00a0cf8aa4bfafb3b767e7dd89052462852d2b2a757d2277ebb220d39b3c4965)", + "P->V[109440:109472]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1590: Hash(0x00c7a0f76a366732ab0b94e5897b844b554580f920bafcc496eb72cf1df968c6)", + "P->V[109472:109504]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1621: Hash(0x00bb520966776ff3052e4432ad2bbea9df72be7467464a139b879c559f6d03de)", + "P->V[109504:109536]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1632: Hash(0x00d379a8f5efbd3fa4728b646f58e9a89c5fca6f4d114508c6ce8290da3c7126)", + "P->V[109536:109568]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1666: Hash(0x004d57136528e141e52415686f2050bf72c977935240c46b88f35441ac3e6911)", + "P->V[109568:109600]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1682: Hash(0x0045d17ab0f3faa956a126e18c35c2ef615d8abdad875dea7e7b05471ed77880)", + "P->V[109600:109632]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1764: Hash(0x00f706494bdd83ac150ebb9df2fadbb6ac8edbfbd1a4ace08042101e2452cdde)", + "P->V[109632:109664]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1893: Hash(0x002315cdd32940a000a8f9b3c4bb73ff77f04f64b68135ef3a8722d7a1c6b46c)", + "P->V[109664:109696]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1977: Hash(0x00b00a38f626bd3035c4b27a74665e232dd3a9acf9977da06af915a6c5140966)", + "P->V[109696:109728]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2014: Hash(0x008120fb038e59e18cb3d5df8e9df131cbbfe3aac89619a93e6ad310b479e393)", + "P->V[109728:109760]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2023: Hash(0x005a141c78e151c884dfaa01bbd83e28ab9ce8bb099f8028157c8d7a23531599)", + "P->V[109760:109792]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 536: Hash(0x118d6d961337ac3160b26679e2fed3be745c6fe36baa8e2ab17ddcbdc1c6b1)", + "P->V[109792:109824]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 540: Hash(0xf56bc4e45cd97a5147dc31dd7fefa3f2222adf64fde38ae3b01c1eeba66d38)", + "P->V[109824:109856]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 575: Hash(0xd978cd4e136f6e1084d5cdfaaf8a802c2584c53f6a6370aba3dfd13cd07b60)", + "P->V[109856:109888]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 688: Hash(0x53a9999f832a76e241fc153c895ac3d8460d2939334b81503756a5f94b8326)", + "P->V[109888:109920]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 722: Hash(0x74c09241428be809ffd37719c09e27605215844d47a669cfa35cecf1d75242)", + "P->V[109920:109952]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 739: Hash(0x3360b4a368254f5e0cd6d1b4dceecd3e93a2291861da7f6ef0900ab5733bf1)", + "P->V[109952:109984]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 758: Hash(0x6a93a71805f3fd3f8cbc92474159d768d4fbeeea782aa260e1d0f1aba9e13f)", + "P->V[109984:110016]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 794: Hash(0xa55db197e75b0b37b396327748e82837f4614c98771bf8a30279b99b8ddf55)", + "P->V[110016:110048]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 811: Hash(0x2c238599cf1fad311bc31df380ccfc6cee35b75eda1bf72dd30d83fa628aba)", + "P->V[110048:110080]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 817: Hash(0x5fdbde07054f86d3691bf0162c6779b3447e90ded969fad538a2cc1a147670)", + "P->V[110080:110112]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 832: Hash(0xebea042568d8b54e52a23b92418487737ba45685b08dd6683b745c6b54421c)", + "P->V[110112:110144]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 840: Hash(0x10e1488e73dc9e62212cbaa50485f23dc80a6b302a4f914905b50069bdc8a3)", + "P->V[110144:110176]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 883: Hash(0x1635d6ebe67028283f41f63a627c5283027384f65ecf917e51943d4e13b6e3)", + "P->V[110176:110208]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 947: Hash(0xbb5ffbe61c55d0e8fa236ae1ab92419097325a4660a5fb241b45beb2349373)", + "P->V[110208:110240]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 989: Hash(0xe004c3aeae86ac5275f503a95cc48895a103e2a747c192fddcdcdd0094a1d3)", + "P->V[110240:110272]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1006: Hash(0x4596ef2b25d98b59cbfd781666e4c3c0062ddcd402a495f3ad493c7f70d589)", + "P->V[110272:110304]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1010: Hash(0xf9e770de6f72371bcd5d4d475a466004e45b8f9d6b89627442d64f6cf7b5e7)", + "P->V[110304:110336]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 269: Hash(0x650d287a1fda31cc6231627ffd91bb2f0b973ade8d1f1e749b63cbb241857be)", + "P->V[110336:110368]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 271: Hash(0x2115ded91c804db661f1cc00962ee9c6061f612ca05b6f82fedf34df9eb20f2)", + "P->V[110368:110400]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 286: Hash(0x3066ccf50d1aa7001f3b641bbcbdaa79732c54a7ffe8e28d7c49f2c83fa686b)", + "P->V[110400:110432]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 345: Hash(0x1b23a36c8395438f557e2609bc45e9c88723c4b020d57624d0d659972880a4a)", + "P->V[110432:110464]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 360: Hash(0x4a3c4bfbcbfffd8658bb0446118423a4cafc10a5455cb400ee5d46c9a638572)", + "P->V[110464:110496]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 368: Hash(0x3ef8a3c6bbe1b255724f411f05fde1e3f400456e471bee186cbc1d03567922f)", + "P->V[110496:110528]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 378: Hash(0x73c433a633621114719f73a8333f8e4e3014d512c9184515599b682c5c7b4ae)", + "P->V[110528:110560]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 396: Hash(0x36e90ba713a5606d42aae35b2194cfee25d595ac4988ab22c6a1ab6ea7d8487)", + "P->V[110560:110592]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 404: Hash(0x424996624d372254bdcea6bfa463b94d0efbf77e7053dcc3b150a88aa425877)", + "P->V[110592:110624]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 409: Hash(0x5e1b6f947e9cbc0527143b0889a81b8913cb40c1b68571297da2cb79b43d89b)", + "P->V[110624:110656]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 417: Hash(0x17314738f332afec76bd8ddea3a2f41e7ad3be1c1574b1bf23cc212ef016293)", + "P->V[110656:110688]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 421: Hash(0x2dd821bb2d626a66125172a5def548b36befaf3bf583cd012b2917167362669)", + "P->V[110688:110720]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 440: Hash(0x152924d308a5cda5f4a791b1dbd3f66f6b198726da9ee9e2c25df264d8d3e37)", + "P->V[110720:110752]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 472: Hash(0x42e2b14435013fd385964172405f5f8ae1dd233512b267da2b379d1a1b807c2)", + "P->V[110752:110784]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 495: Hash(0x5110bc18660eb0c21dc5cc1976c26a776a4c9d09c6fadb8402cc03484717ee0)", + "P->V[110784:110816]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 502: Hash(0x46966004d0d00d009b559bb605b3eb6f8ec791eaf40cd5dd8c020a78cca912)", + "P->V[110816:110848]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 504: Hash(0xa313d04c5a2c638e9c638905be2fdbd2b216e5805fd080896c110ae1855e7f)", + "P->V[110848:110880]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 142: Hash(0x236963da3bf23f0fcb685d1b434e4a94b86417ca52602020733d8365827a9d1)", + "P->V[110880:110912]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 173: Hash(0x48b6924505680e59153d57e9165f47ee3c0592870d66604c10001a65a10ca2b)", + "P->V[110912:110944]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 181: Hash(0x5b762f52d8ea751fea3980c852175fb4ad07dca7396b52d2ba19e8c2eac7e0b)", + "P->V[110944:110976]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 185: Hash(0x7c66b9bdfe4ade433e30d4fd1570a7adeac3207881f17eb17d40b9467da24c1)", + "P->V[110976:111008]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 188: Hash(0x3a298f242f24b1b18d122c00189225627d43f11b44e2ec737dd1f69b65a7a64)", + "P->V[111008:111040]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 199: Hash(0x6eb47e2dc35401b8f294cbe3b11640a3f9b1d43433d0f34d7b5c7cf85cf8584)", + "P->V[111040:111072]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 203: Hash(0x74a189b6080e58f81dfe97041a47047e5809da37113ce0e603db74630b68f15)", + "P->V[111072:111104]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 205: Hash(0x5fdf1b6ea3471140092b2e1b02c7cb1dacea6007482a5693735d0f3d030bb91)", + "P->V[111104:111136]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 209: Hash(0x66b85ba74f8700ff61d5fdfc98a1e02f7bc6756c4b287de19468a7a27593370)", + "P->V[111136:111168]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 211: Hash(0x7f8c3b9c2479bec49d520354f36af881c9fb58a0370265d921275e73d431e4a)", + "P->V[111168:111200]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 221: Hash(0x15e3d2480559efc472ff580dda4a1d4ac8c63196b7ffdcdde5f5ed9fddfc115)", + "P->V[111200:111232]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 237: Hash(0x45c246b94ad7d2df25964b3777c637e601a5e1ce34e24d406ca918bfe49fc1d)", + "P->V[111232:111264]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 246: Hash(0x73c9bfa6ffb1a26bb0760287af5fc94b1ff7c68e844b9e4626a396e2d23add5)", + "P->V[111264:111296]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 250: Hash(0x4523b0db4eb5de7f1f8980c21280fbb3b3e74edc9dba26ad2aa46567d9301b7)", + "P->V[111296:111328]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 253: Hash(0x1ea3dbd8020a0eea13a8eb6066b5f3c22bff0d890ca4ab99c81f375d6fb2e9d)", + "P->V[111328:111360]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 66: Hash(0x220e90c28f5338766e6f7543f7342fa2e42515268a07c23a27480caa1e407a4)", + "P->V[111360:111392]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 70: Hash(0x5b6768f014bdc7d9cc823a962c7abc62366a0379682c0047d235827282eb66f)", + "P->V[111392:111424]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 87: Hash(0xdb8a8feac06cdf0307ede420f3a81059128676bc8eb9ef71049374ab7ffa04)", + "P->V[111424:111456]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 91: Hash(0x7a2706b9486ea9f863e41d713db83e4ba9438d3c89198db34f6c959b81158ba)", + "P->V[111456:111488]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 93: Hash(0x4b42df445598a0954d2d6fef33ee16675868796c6da3562eab149fc1648e11c)", + "P->V[111488:111520]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 95: Hash(0x21e733b60a70c393c2c3e17ba5fb6f6a80b3003d3dba70f57fc14ec41c4a865)", + "P->V[111520:111552]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 98: Hash(0x78ae5f2dca25903f9f9b2b8e46db50794a449b61cbc563da173033befc1f8a4)", + "P->V[111552:111584]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 100: Hash(0x6649459b93ef4143bc22e86147557c10d7573335b4879eaf03e1670bc269f26)", + "P->V[111584:111616]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 103: Hash(0x3a4ac2b5e42aac670b358763c2a1fde6a7cf4b47e7b2b7b13d6d973debb4130)", + "P->V[111616:111648]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 111: Hash(0x8eb1304c3a56d096f36864bb6a04c0e5ae3ba2b71ec92e182249ccb0f2c247)", + "P->V[111648:111680]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 119: Hash(0x4b12dd37dc7d1e1c291100a26b42a59f46276040dcb8f1f8d416251bd91f4ad)", + "P->V[111680:111712]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 122: Hash(0x59bb327edb939ad84d5a6f9f7cbe49b9a6be0e83dad00ddba2c6a0e00623282)", + "P->V[111712:111744]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 124: Hash(0x3118d167695e9576ee29d69949d027cf6b7a46f19f361166e651f9595cd5294)", + "P->V[111744:111776]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 127: Hash(0x37118594c0e030e567e192f1431370abca07d04ffa64cb3ee9178bfbf42621c)", + "P->V[111776:111808]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 32: Hash(0x5982cd778e45b13807e2535b639457f46d382dac616bb1bcb760185eca57a77)", + "P->V[111808:111840]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 34: Hash(0x31541ae308b35212792ac6b20548426b6abec910a1ecccb1502e1faf7bb3049)", + "P->V[111840:111872]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 42: Hash(0x40437d4e84efda8a4855be5f8d78ebdc1fd4caefb00e1cb88de048fcd64539a)", + "P->V[111872:111904]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 44: Hash(0x431ccd99426395c6148ca26233c76049a9b7ba4dc9a897fec301adfe96c2c11)", + "P->V[111904:111936]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 48: Hash(0x17103c4c8bf6f9ad51bd97b13de64cafbc7aec4aff8900cd721af08f8063215)", + "P->V[111936:111968]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 53: Hash(0x1ff8c3b9c5e23b077e6f9953b323c0aa879879e2b9f1f61ec9f354fae1581dd)", + "P->V[111968:112000]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 54: Hash(0x1ed9aa381736a842784764c368b55b7d48adb24c8f4674051bf9b215ff5d1ab)", + "P->V[112000:112032]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 58: Hash(0x5c7399a50e5b98352dd7cc46f8f5cc8b975268f0b73ddec50fce5ae6aa63e4d)", + "P->V[112032:112064]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 60: Hash(0x77527d4e1c4f647a1dfc4032887649c243503a747fc55494155c5fe1b344a4f)", + "P->V[112064:112096]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 20: Hash(0x1bd4fc73700739f4f3d1f097877bfb4e549b4ce8c73b8c599384b4248b23b23)", + "P->V[112096:112128]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 28: Hash(0x54209c3708fbdd01f3784c2b2a6f85e84ec3d122a7495a465ff815495f74065)", + "P->V[112128:112160]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 9: Hash(0xc8110fc49fa9be5c4e7f9c3ebe852544f331a0bbeda81dc75f3b08fe4c7dc)", "", "Proof Statistics:", "", - "Byte count: 111712", - "Hash count: 1725", + "Byte count: 112160", + "Hash count: 1739", "Commitment count: 7", "Field element count: 1765", "Data count: 1" ], - "proof_hex": "0x066547ce9773eee6efb6d3f47ad4a3e5f95976bf3824243c1d17a248621a666d075b10b3318a9ca3eafccc5add9395a38a128062b3b626b8004e7b68357fa5d2077b3bb251327133283b4da2c542034abb1c5f2c545dd835f540889f39ab6ec7030172f3a1efe9042aa06847ae6d416c0f4b1e72236835b2d0a4eada0ca135a8030624debff25da9d46456360706f4023fb1ca50044fdfdb556fdacfb0b6c5c204f011fb800dfd7e3bc42ffb660212d5179bdcafb70a0decf2a9982c41566eda05b99bce6ee0a11f2e411e9c86d25a3cb4085e9634c1d95560dc6aad873d2ece07cf922c16655f5cd3e88de5bb4ba804a514c5f8f71b869dab9fa47fc21ca0fb0040ad55e9bede5e5773f6b792e6afed4e92e585a6e735e42d093a5d5833fb5405bc3f7de4681558e6732b47a7c2495fa256cd3c9f507ec2f2a461c63f595e9500afa67842dd4b2de8d4533807cf17a4b4c02de0f17f36ca0042f4d69bd593e803518204d0962bdc48db8e340068aa9a6776dc85ed8d1e18c59f3e0a9f38768d0282678db5971bdf9325a824e828474cdd01dfbaff14794acf72198f2e37995503e9afc351f16095635121c6e4e2f8835184e73e14b99fb4d6c139c1ff34db1205de72234e11922103c6f316e0f60fe43b9c8a6f06378640cf5777efff71b4f406aaf81d809f657dae61b9cb153f1dcde9342ea028b71beeaf0eb7e2fb16d4020625f1da07e0585f04fcc7ecf550f68d6c43c590a9cf270a603653f650186858079a9405be5d2f7b4b92aa73f6ca49f26ab7b5a7d50820d7aa04964a2aec006d010116d91550c6612eeceec1540e1a6e3198b3675e246023d33335432eb89cf802b4ee4bcfeea221615f48a70030d82209fdc3010c82a546145bbdc1b07eacd503a6560c6a4252313c480da67fd19e180bbe66e1178f7c447b2b6e2c788a071502b6d531b0c19c1588a5d30da90b7b5bee8b2204917de0f404308e6a5afdf7f8077875f73882eb9d961edbc641dfce1718465f86578519b94b2761f6c9d4f890060d4b620ff9c74a22e4cac57d173f167f867044d5cb410dd842d30b9df80ace002a517499eda9a0502c66529c95b8d86e4e0d26da31bcb7e1c247299129c38b053b5cc80dbb3ee75773b573c51d50a62737778504bc1bb092ae21a2940f3dcf05ff8c4a6595e23f0705d7ddb9f1e7747ddc0a57261f3feb92276cce415ebd9f073b5da4f4c3ac784cce6192a80f0c1d4cc2785eed0b25a5d01bb13d77a8ab4003547286229907bd04929c1d81f41077eb68e1619a53eb7bbdf803e7d732635b00a9039144c4f5c95e7e1b95eac0e3812bdd985730e1969fbea1deb29c01881500454c144595108c8d08ad5dbc6fafa204ae0e9cc537406a822cafcc5e4a9270031b14e8467cd0e053bf81e6ce2ab5e86e2f68ff98b3c8d71a136fe991fa44cd00e1269ea1eeb8ace9200e82618a2f71fbd5a233184e4d70b7f7590c6e3036ba00dba42c112dcdabc0eacb5a221d5a0087bc3c7a033f9bebb1073bceba59d6af03bd5a5623a1e54d8f012d99bfa9467989cd9af6e94692eca40cf63abfaa1ec9038a28cc813c95aa6897439b8b4e6dfd154c617b3521be9dfdbd58cb472b86730450d9c907242e91abb31ae83a280a9701229a16765571099a9f362c964cdb73049266080fea5560ac5d5c2de3b0115c5f55230f72667aeb3c7832d25e62244203b3272973fe320654bca581853529c5b5972657c98f7abb9ef90a47bb36785d0116d8405c6a322280514afb4120e1ddf52f7c6b4128c327669f371c5d75639a07ba912a06a9b02ce1e4069fa0e72f91ac1299608c1ddba43a15a94beb610674065c3d3314f94b35c0332f7941c3743dbf9edd75becfd3c9cb945963628fbd20037155735a26c181a0320455ca3ff5078fa9c0be03a46a79b8d8abb2791c2a190056d4ac6195d5ab570f4dea4918037645fd5b8cff5a6107740bd1e119fb4bee020b21372a7624f1332b0266252b7f5b78d9581da71655e4f512083ba93b1509046da99bbd5c85f48fd3cbc3622b6c1055bf62cd0d98320d5330b8dabf4112fd05583998f8bbf7389a4856ba3d8e79912f2a2177051a707698d7e96e5bdb6ab40513c1da22c65f472dda7be467f1366f84761991eafb66e2a187d7954c5118d306f52aa43f5af8dd2fc4a2888f5e92ebcba052b09d937abbc679a4153d15275a01ffaf6153da600e70c1e1e8af30b24710894335ba9f54e8425a5c7ace7bf98004378567099dd18482d8834f7bf90ac7322739a3251c77135098dc1ba5cc898a02d597f01e4c27fa309fbb2900d6f84c7086b68a0b10e24d84faf9f9f12dd8f904ebf1b880754d6aa43c026246413d61bae6f398121da5879abac68d16c76e3c04ff14db3c87c3f93fe9703ba470359ee98eb5605087fe3906464bef5ce702d203a6b541b4f3d132684ec0d4816508f0290b2fd1770e6a99768438148f08fcb602e5181242d97ac1d5287dd981d4cdf513c821d6b66df584b557607982016c2e01cb85a15e69a4636893f9cf12b80f026adf8b4336ffdf41fa80b874da39bb0800a8d70e3024c5f387d4aa720048edd1542852a6c1505ad62c13af403c8ef02b02d8d77248ddc23d0939921b9fdf734a68acba63ec1772d92b82ab1ba44afb8c00a413ac6a76c1c75a87791661c163fffa05986f92f5411c7175228c7c7a9ba602d841797de90b6b358f0c649e14010facdf7e68e162c253a84d488d34f2c34b01aa1fd0a15e6727559fd79a003550fbfe6ae8d0b2dd6d9fc7a9c84a3c7cfb750034576050c85d94094eedad33485b593f0b6a456e6582eec3acc8d653fdb97a03db3884c15a01254371987ee20ecd06389f23e45d27d7329685d58866ebd33c0056c62af3298a3dc085d9487867676dd63fb9c422a3e07f46dbc21c0f47989405f2716679449e74b3839b55e1fb91c810efd0fd710e0486dbf531fb1a9fa0fc06d5f25c948b5f7f11d0d52617f50993227d01f6315482f10bcbd8d4013f23b00695e2ca744056925dc3c7c08fe6c295e15a7d4f1f9fd49b0235253fb3fedc54049fafdd9c52f2741efea04320279c2144a6c0a925ffa98eb837241a9bb7c1a905ed600658df161880f7bc2b3a7a15e22e77ff4eedaae438f93a57ff63b197d600b7efddcbc335821b43f109fba4b1337482b9211f764c780b076f1016df0d110000267a83e5e603726ac34d0579e1962bad0a951724118d74a00027f42262b2002235b4c376e039b82342d32229bcf3202761a10b614d2ce4418ab446dfba3c007cc2b4a54c84e076cb8c897dd5fc9571fe57bd0faa06d43e9e5928228fa4d0000d6a3d61546f0203126945ee7cc3a3c79e05d59fbc201c95d9c091b1636956059f0045eb8ee6b1dfdeb826d4e04922a9998b64400f62cbf526b6c20aa8ad3b007d4ef71c1c8efd0ad9aa2b4da81903b1ce3ad14b280c5648b2654e60e5ca2806118d9319e2eed8cd0a490f0c9af0fe6f07d1e29938b29057160e01f613f5c5065535c29d24f884de99911504663eeff49451db389a6b6256e10c408b77d67703ed39fd9ab5f4001d71e06533cc03b4de848076d902e3b74d3a5f067208236706f8d95b909d0fa19e836722fdadbc861e8067234b77a7ae65350dc34e5cc42603a7f7913867db01be5c86a575e9fa7238603922b5df1d12b438c445798fc1ec0729bdd79ad3c96a620e2206be37ee08e174b778a834862882b8751bd7963b3f03f1c4ab1bb08da5c93b1b4d82837cda738ea6e7b154a288f395fc0d8a3a94880343de479f58a87c517441d083389c02e169047b2db908d6ff738a5e5626ee0205381fa19cad27f3e6f4f23802a14bfc737b98e88c2b2de80234e30d8ca40abb05bb890e2f916dd6abc1c65f2654c79b7ee4d7f73b5b86ef87e57f83be8cad08065b8d45f5d5c1b1fe95d3fee3902106b333f5fc110a91c705f403de9b66c69000fc786c54cbe671b6afdf2d61bc324d0ea182dc77fda0d4ad435dc10c3784370423beecb747c8fc2950cf71cb04bfc7334fb0559cb1010a7ef8a85b828c51980403247ee267d13e5a28a3eb80db994208680a570bd88d8239376e35cfd5787c0322179733def603fb401d04e9d870822237d9e210ac3ef30e9a82bf64014a21017f47fe503c2c25593b920c20fde93093584bdd526002b8f929f865f2cd64120173288acedb7d34409b37f56d69fbd8e63aabd9a24bee9189dde46a75b47a2a06555d9cb6e7a6dd840e36524382b6fc312ae3588632379c625aabb210f325b4023b4dc4b7d40f5ee832a24522644360c76b0bd18d2500e1c05987c5f800806d030e76e57581424d0afc8b24656a3220c3a04e580f8eeda9370c4feccbd5ac7b06760b817fb0a4d74c23c1219563c9b6252ec9c969184d4704b601f8c83a52d4047cc06eeefe1fda9d25aada065168f147f0775988296033deb215676f4b88030726c2eac6eb40d1dd26b7a15f0dcda11b737219b14e345646467aba24ea9ac806b4bcd918d1ab266d98b3fa2a739d7ba47bb1dc53c6da4a38446cf17deeeaff04c2d257368a3379bdf01c4999304c9ccdcd485d4c84da300fa3d37998b573d8002abd9a3d1d0bcdd33e4b4673fe1d544101158efb96bd7d17e67acbe6d09dd805761dfbf603d8adce3e11916a3d03869e68fe1b25506514a14880b71ed13b490435c157ad04fd57d6d5cf0c5645801663afee371554d46501fc2a19333c99d001f5e27edb5eeaf74ea5ec5d0581ed182b425f4ca16fa9973f81d7e057f754450390bf7fd95544e943f08cda5398a04f5bbb3e0c2f030e5fb47b89d61d8782330505107242bd5639d6ebdba4a05f2908c5ca1142911f31898d876e1504164a5505c71e14a6f29f765639e3a357fb66710fa1f90a33f08df88c4e06ff54dcd8d607d190002e7e6a45c0292cb48d4af6005bc25a302a55e4fb464e7ddb9c4dedb905335ae4551d1a2130591c9162008ba91cdc7d8ec1e85cc619b4fb14cfa2a3730471631af7dfe495b6ad8c01c833cfebacee66c295f3311dea338ee83bce171404ed40cf2c7d4652f4466226cad55a1f07ca0ad53d753d3b956ee730a070098e036a669b41ba56fb697790dc6dd506ed11c265999ccfd240e81f7b20fddbc71202c4dcd4a7c641177b8b516682da87d24364b6e96b1173c564bfb418d5a33094059533a1181c437538d2ae72a7279b1f4a676d23fb197340b564fddd4c7c790301afb649d7d141f1fa31b7f657c10fc145943bfbb898206711b44c42c2f64c640614c5d5bd25e039d07ada3066dd5bd944193aee7a01666a45aad11998a0c713075e307dce09b673c412d23da2ef3dad3ef56559a5398feb58c3057f5c3d64dc05d56a5381c9f196eaf76253fc8ffbbb1d2ae2478735195db9a558a48ec9117a07714ca7dee6bdaa6ff93fbe58d7e449f39df6cecab9255adb5632b840fc2bab04bf979626464b0f8ef1bc4ddf32492773d1972a73bfd7d13bd5b67082e97fe1064ccc153a7dc414a188cde28c5bc0d22b1ed80f47723b8f70b5c097c43fe3b60615ce2672ff40e5266cbc3a27a6e94a573602df71a75ee5547bd3e6cb5640a9040d782c3c861072cbb6479aeb2220781f43beefd3aac955aca41bd9eb0bcf8e010f28c14e958c17479b9b02a5c53e0ccea4953e6bc3d97d262a2f89c874bc6d07a6c4fb63a5c779c4ed3033f2b1c6196b679f12a4a2e4ae4349226146be85a806a30e81c93d8adc15a72d64b295c9f5fae0b1fef4af60bc66023381ad8f4cd407a388082dcb542cf3c446121f29a0b5cbbcf378c5f6c49b1385dfc852fc5ec304a0aa8f403a71c4f17b71bee54e5bc9a73c95e9ebafaaf3c9aa3422a95936b0039eb2d5335fe2f76c0c8f8859888d433ccf11a867bf40db5286204ac39b58d806d837449be8fefee2abb0de414a2fbfac406d977b7f659d75f43bb68afa466a05444a4312367d9dd739248d627cb15baff908817e559bded73b101b04e99ddf01c3bba43e4f3c676ef43a883e259dffd5981531e5a9c21d9dc3b4c6095c7b1507792c4b70b79b0ec0fad1b9fae26f0a3ce1fb96c88cceb9391fa2bbe66fa91f047be80ce76ce2b6d3fe763f13a20a5a9aa4599cdebb20f8f681a2945ae23135060d30101e89332db49b8149b0c97beeef85df04179fdaf778291cf29668c09300f3de4a2d18666c60863113212ed3af9a8dc23bae8acb38bac8cc807103e79400ec0890ece1e0e24c35af928f0de2abacd65a8bb12c837e8289dec39410b7bd05a9808938be0c3d420f368ecfd78067b095fd75c179fb1708a7dc909ec1930d0390c9e18add51c6171b5540c85acacdcdd1abde044fb04a351df6dc3076ace7030ecde7624f2e5cd6d1a46929d0dc087ae57bdca72ec20bc0f2b6a2a41ee892044c2e5faa944a71b1c4a9ce11a4f74ac2626d6497c420c27d16a88284e972fe049f1669c8e6aee10cb288a0ccb9c7b93a32f80c25f465130bfc1b444b93831f0141163e327f3062ab2bb1809d7c474a9b1d1b997c25966f9c26995853ed4d6e06896dc043f88fc89f9a01767e0c214898dc9743b74eb355a3f5efcd7917b5ba068e7df9e1fe376207133a0eabb2c5ebc720ab1c61acc96c0dd9d9420a3322d80622b6662abf5f614a176d90402a8931abbc7cc5252c1bc68330970ab4407c36000b83571cc9d04b49370bf25427f0edf3767f85d847f6ae215589dd6c760bbc0450b42e6f248879fd262c70f273b9b5c9db6c9bbf0e7d43d9de9d7b6ffd7bfe01903061c561bf2e1d49f088aa110a0948480ab636970640cda437aee045c34604560fe54ccf1b2cf794490c5fb87c442b7766b75872ad647ede59c02a3f862e0407f321d3defc2e875f29abdbdd3470d750f26b10481a8dbc982d2c3b88c80202d2dd3776bb2224cef314be21e73bb383f7cfbe848e2f42d99c10e064bb281b01479f1346b27c42b383535cdc92d1637a5dfdb1594eb472e6c03fa51309cc80014ed4529696707eb21ce521875b0406681bf6f6a98bd6d68744943d166f13d306d6f8f43c597e88cf92e353385ed766f325418396809c2358904ce093a5e3e1074973781c09f45f2fbf37c3bb7687475155411dbfb9471179335a2bfa7035e801dac33e0ed066de0b2a41b2f4783392e1afaaec2b77906c5c9e2d0f753e1a3b06767280c550be06bc1586d6d40b152b0c41295d406739dfb3e87efccaccfb1704fecb55bbd2bee92b5f80cb615a284d27813b3a6d99d70e1fd35f2222d653be02eabfe796c9c65c494efae2862373fc414a30d6318be7c54df8c9cb35b30a62056bae3c1e48157f3360bd64a8dc274741c37d050571c1feafd7fdebbd9373130268898acffb74a0a1ed22834057eb7a110106f526fec08a0e7aaf52a53098e60609895558d1722c94cd86714a15fd8a7def5a645265645932e290a6a215b68507038b1f68e77e1e66fb561e46f9e60df15598d35387881f30f1f6a76f9cdd2e02b0ddca69f4f80c95c72c4ad0d5576a3a2d2a96274da5b9512936424ff66550052dbc300c4e1c69d565bf1b9d761c7213be2f64fa8b19fa4b25c00dc0a31c5f0480d9e13a8b672d90fe65a7c10dc5e42b4ae5890129e289a3e4b3c28063bd0e023acd1a0dc12402af2127e5520e570796065280a2ed96ade9678ef06e644c41001c76d19cdc1005af5d3fe1e4a8f5b26bf9cc61bc1a948571ec99ad3f7e994b05447d5ce22b2eb812f5c426c0251ef28b1b91a291ef7e9beba0b8edc93db8d702f0e5f2f3c0504d74adc97a36d34dfefaed1c198267b061f789f20d51c3c68b03ff485efd5de4200614cd78700627bb23aaf2a365facdb9049ebc22af5d5dc407b65d0e66e1a78a8e3356d8b509456301ae1c0f4a6e8bbcf631a13d37bea59b0603688946d29d4f59e9e0f559408723eb610dd740033938b10ee5a45ddc928f01291b98df5d59b7654a3abeaea56a68bf30e99ebfe30ba74f71f646d73ebf93076574bc3b1d25fb16b21682d53d6ca9eca758ed01db467eb1be799e0969e4210481934ab198827310aa873fac1bf3b47119d4c0c5d24f356fd7cf6033c618fe06b4ebe1e686a871aaa55040d6cc7339d41f17e898bda283dbf58cada9353e3c06efe19eb77cc042f4d7b7acb4d7b4968b184ee115328454397e772cff4aa88800c7691e176e294e06c679bbcd18108765fbbea53c0572f34c9d3dcd13878ba6068f285f9b6fff872e80a932baefddbf48d42fce7db64489d2b99c8387eb002205d5d6f6a551f7aa08cd9a84534e369282fb632e68e84cd25bee19e84261df490051f725953cf9877bf8919bca03dd401e565b7b3df0672ade66d47dd58f5dfe073b362fe76f1b77cbe9e4701e19a97452ec713c48ffe452c510b2b9977edaf6002c4128fd623b6ed5e71210d7773c8b59033380cd9d843f8f662ee24d4052020694734badc20b0b31e7128265c4549a00aae28508a60f769b7c815785c0f9ab022dfa8121874be15f8b67ff650ce7fad406def58c6a04b6d766151ac5278a4c07ed36f459425cddb420e14e1991ca45ccdbedc1b8ec7e6fff16f4ed8349244f032327fe73f1c3f586d61eaeccffd6f883c9923a903a91d8c00bb90d474947a7046400e281f2455df91faa047eef937dc1b0c5350d9894bd117cf2a3324a46bc0259f54c292da410234848432a5ab02cdc0ccb3f6fbcd055706a5ddfcab46fae03ab0cbd36c3aaea6a14ed773c415b740c653a79648b6e795ff506708b57e9130031f26aee50bb73cbaac31e45facfd6308a2f90495b24510c94bd9706e6fc3105ab816ef22777d39493eb1a8f02153fc7ff1925015de4326aba966a72e031e503eca1edab5dacca0466d6948084c8689be463ae95cbffd906ee0b610991e8bd02f5d79eb14184028c9940e9123d31611b176c42784e2c35fd331b731270171b058622a205dd674c2a6b22a0a8aaf2145c457d688d2366870eae4ea6adb695240482be1b589b46536bc4f85f8b9099f6108263b763526b2df4fe4335786ebdaa05742f7543426877e224429c20a960f13d892970a94b99982710282efc6cd05707bd18332bcd8606dc37c0b9d226aa328e9d9cff739d7125d4c1cc9198f2cd5b05b2f9eeeeda9605083f37e2d554d5204e9f261f15104c143a55f75770ebc6ea01f35b989c56698aedd27783f6688eabf8feb4dfd667b9e63afbbd0a4bff11bf0396e2bc1a6bda29e25ecc0845c5cfe75ecd78167322c6a175110119d18d402f03b447b43c69ea2a75efdade8a9010e2cee14be2d195e24e791517822d1cf4d404744a9ba65c20c5830e5215a4cab7c0e3e714d564160eb3a0e79e72cd094b2d0152ee06b15f7a840dd232f8fba80a7d72bc411727baafcf4c3778a1465434200400070ab1cd679e9af0ee3f57083a608833cdaf8dd6b9e436809e71fa82b01a07f315205efd9e7cab1b6918598bff62510d67a2f31630e81d59a5b3a33a56f003ad622d2fee42da8ada863aea3e20697ab1dc27d8c58b0ad745af9119825f00048282d01aba96d029d8c131c34e6f249155aa575b96e7c2dd8e4802119fa6a200c7b20d80c3d9a02d3142953d7faeb756667dbc980f046eff616982ffc117db0767a21b198ae6bb8bcb09b4afb9821a4db79ece95fb09e9b7c9ba569fdf525a00f0160f0c4e87013dcbc3325bd58140894a5bafed2f7e23d0cb7565183bdf150413f5e508c8d576c0680fbd450f575b5d5c92f9d1998ed9da0783fc4da6ef0e0447f5b28bf180aee45621145b4be4e9fa0fdb223ecaa6544658e6933304bd0402242afd011295ecd3803edf1ca6d5d67e839de4a1076521181dc2cbd273d83105e5d8a78bfd3ab64168301473c006b9cfafa46269afc95164f2cbf85984d42f049cae3decb66eeaafcd04019dd3c1dba2f2e62f4039848c3aa239bbb0a61bc30140d4d91be692b38b6f4626dfc936baf9ee26552cdca0481c4b138bdaee336703dd6d22507a9ecfd175932527b42ff2b4fdb0433fe92bf2f1e8b6e0aa14bc0402df248083fb4d6fbf862290f88bcafc2541897d79b019782933df1f9d65835b068483a043ae286e8b3b97059990ace918340a3c49f3edf36b0c32396b0fd7f207fcb36f3774f13a0264c4ea0e98cea8dbcfb267a18f50f1c643f2708c2a7a3c0120a2282d79aa03a8a7bfed8d9553b08e0a8efbeec2269ef798a29cc362aa3a04e936f4d6691f6fc9393bbf972cde917fc0503ec94e53c1e78c98c7bb39817301f84442eae0741fecd99c0b3f728b0f82419076a83a727db46842d6e05bac7e0754835ad19581adcc2897742e94df0083108446db8ab37e7e6661e8ee2210f803dea853bcb3b7843c1ae9c97a696998552f07f89dfeb84075d7a3f30f5b446e060a8459ae2f2f08c0927e85b188a2b54e5eb9f2876db0670f5fd0fd26898cdd02d0d8b6365f383090aa2c2be4a25113daf8019a814483620cb46958d07fe36201baf7b1d2824359c0e7de9a9a84eca31eec6f5321014df7e68a80a226ac49fb06cbb4e06b169d85bab08632135fec65f14d9f7754c29114035f9ad2e0c95c6f01db9946fda2455443832fdf3ef7fa781aa9153c0085ed39ba500e86dab8a9d7017321a0dfebb7af366ed1eeb08668d4bc1f9fa9e9f5ccab84bc14ffd49afa710508670f9a962a8df0d43a579d1152d97fa710cedbed774520e4dc5c648cc07706de5ada5162b861d4be2dc35b73faf23b8a114640ea57131662a0a6e36b0589047eaa3a3c2bbd6439bb5faf0ee5eb143daf5b476b2a20d25a39a94e33b06798020f8f1584b3826efb9d92c684eea759a7ec70a2453cce16f15e8f5e45ae7253068c22c0487befe8a81dc2fb1d340d85e279e3849c6b57a2c52e6b0cf5f2064c036983a6e498dc6a9fbaee1a2b06ad8dd23bd521c3e3a463df913868c051d788026bf5bf4bddcb359b755363b11850021a0e26ffe40455ecbc7ca856ac2b27b706f20e70a1ed2225f5f82a4e029a4a38096e1da4434ba5f411030d999c63706703ffdb810d07e701af9d04cde95556ce82862b4927198bd387871ecd3c6c0d7d01c7d13f26cf05895c9fa388d7e50357f4a739438582ead0b1639b9b387909b906879a498daad257e11066bdf92466e57c0e8860db67433d22ea2e08e031d2fe027362dad21cc1d75ded7a1931ce8074127c4f196c903061f41b8f5041d7cf660650f3e26a485a649e5a4f2d54e5a961b3101887f953f1fb6fc6335dd0c0fae7063a945222fd8da08296859ad5adb71d6fdeb74b72c9274a069e2dd80ecffcb106c94f13645800ce71d3194d641e6552c0059f4d3743fe9178d08833efbd757303b9b1d5ebdca7b53e8008e146476b1d79ea7de18863357058e921cb72d3138b00dd2658a7e61407e8e872a26771065315fa7aced945343075b8fce0d360557c03f60e15a5adc5ed274b0c1dc693464aec377667ddc3f580ed50e09e6b4ae69205c169ba8fe33697a7324564dd11cb50079cfdf1a7894558f94a86a2bba02573026cee4c51efdcbc600f6d010ec1fb44c9df6a7447443ed1704f006daeed0a0a01bdcb77c9fec8f1184e340dcba5abf23da1a462c6f8ea46c338aea2e214802d069ad59c4a846a670c4414e9d8b2d775fc30eeada5a5202b03b303c6cc04424000bfbfd92bf07fb49c8f6d8f3d32423e252cef6cbfc3d8f5e8389e69f7f1d50104e0a4b42d15fa97d71c444c173910879f7053bdf8f621e8097c3bb29533de1703e88871bd27b9690a6180dcf8aadf7a2e2f2312873366836e32166c0683ea1204e425eafce8b95f7990c33c856099416fb0adaa40e0f46ecd4afa0126c640e000309c0ca65626387c9289ce9b75f7b3255bb4fee19669ac946a3ef28155017403713c51c17182ae0cb3769bd09a849c85c0c862150fe537a3d2b6e9d656f90c03a1a91584f61f2dc68d33b960b21247d6165a086ab451c9529e9bd3a96d758c005afba54f924971098ef29c938979cda11ec0bebdb361f87d3329028a10ac7d001067271c9f42d00acb12dc947f265806c953ba4b5f89a2e322d1c50fd9484c0157470d316ef066fa85f76740204256397cd90d64493cdfec970afa46f62d2302f4052cee1653fffa866a58ddb299c1eaeb15f45e3be177da9ed95d7f0d5eea050f2ebcb1aeae91c7f0c7c453cf79ac804ca46235cfa417d0bb6ed86d5869640392704361c8aff6eef41c148c15bec467f3db60963074cc8f94cdb58d82c9f70470f313b45d61d8195f187a1cf80182071ac91876c50de51e64db91e0f16754075ed0e177e3f95a86c8131d17f4dda7ae7bed12ea8c12d767bbf32da54dabfa06dc88a2f73640c7bde156751230bdb209c0a1ee21da664ede044a79f57ad984010f31b95fa47f507ffc6da893b4b88ce5b16ff679186fd6e71770cddbcf414f04a7fecbdc9980a5f84e245aabaca6bf39523b1e2b253ee4eca214c7621f964d00b132be2e17bc05b25dd1ed5c256d6933efa0074953b820446fdb48c90d8f1800b7bdbbb7c52d50814818fec3269b73cbd01638db07ad4a250721c533653b15071c8fdbea64afcfea4530f16d71283ab35b7f3b18bcfa33173e050ef56be7a500004107450187c0f764c082929c806dad7e8f50795d51cf8ac2b1e36c8c377b0724a9879726e420d6405c5885d92e192165e4d8697f7bab1f46b2d404f9d4c80428147582a817137c97be2bbb578b6b3dba79c01419107121641180f13d46c2002973f737a9d56c2a3ba571c4fb90b1cadaa2d5efb4903e3f62c79f681470550505bb45a037c6d4470149b79c1e3177bd1d862908b4c3f35c737042d88c0aed0390959ded4d0300a92c691ced47366258bfb5983264dcbefe25be42f7f37bb1016f374c8bf39a4e1146cf36eb030a13f8cc1d9604fbc08c6f71ec5dd13842430018e771a2a417485d732e4f05b1bb4f907a2c338b8dc59e18ac252dd66c0a9007b7efbbca68cf4db91ef48354dbc6f1c7f0b5ea78aa26be155bc3e500590b2b0241a18631cf5d655a8c8013a5f6d5026fdb4f25296e68e07799a8fdd1c1bba602d4bcf495e36346a1c4ed666cc62bf75e0155bf715ed6bd355a372504f5436801b2e4ba3c1e22c0b6cfd112bcff33e8aa9adf7688495b167e7eb756bf932fda013a1272fb90062eaa84cb3a95450847c96bc5dad5dc9e622ae4fd912a2b60ad03bdda4dce9e2449ce4c60fd13819cb51623ef034c65e868f4212c8a5b65bf6f075d939cfcac2c4e56387ff2b1f0811d0c8602af6cb71400bb6826ed7c66a61607a6ae1ad15e923315137fe6d8ed837938d61c3e26c2680db34289710a2c19ef02acda10818c8cc253a4b331337894e7c21d8709e48fa36184e1836a308d4f5403d4af5cd6ec56986765ade7823e433d6a2bfbffddc4c6aba228cdb6a4c54b3305ffeb0d8ff2adedf9960d714d3c2993fcb368d157164afa5ee1443f52bbc4df00a4fc9f2f33db04b1f97aff0d01ea1b70dacc839a481a08202b0c62cf7337620138846f72b4b586d5f11d1f667b3e0c8fa0ee80975bf534f654790ebdb95bfb0535a4894b90eb6226a096563d770a2168b6a3e482e1934500488611edcde6af0481f6be46397648d62f23af4d3bf336103d6a9ae614597f98d664df665648cf020445f134c210170bbb7ca7772d41fdd07c962f3b28e36701d9c838b819c76701ade6b44999368d9099b11c685975a38f13486b87ba08ec0b11e85d42290afe029cc8078e35c5a4794bb9566dd1cb2abf4ae7e735acc25e54af40416f6f6f98070d955b9a28abdb1fb77dd95b68d91d539de938b2d8c43b8f0302a120515c1600e222e8fd5361d183321b8af98647195f14e842df3f74c7314c615342dc26e907be464d69ec603ff0b6c72a5a9836fdf2184d4e775340896169f0244ce542a2077ab15fc41e30ef7a2480509f545f102f6d163e29966b8239b46bb6d2b46bcf02ffb23622eb7053252953e94cfd8cf51ea8b5b935c753c112e2f378badd05090126be728fff0b7d2ef2ff70c2c6e73da657f9cd37b2d4b88c253c1aa85b7ae7031de1beec59b2384e419ff18e617c3239ad9cc74ec5bc0ce680964c5fd1c22405a06db9cf91110741d698f4d0f0a2c34817c1264be63fef01525877939ad6c6068f11f7a76e45e99cdfd3fad6dc5332f75899150d0879951f9ce9a9455e5b08020f660f3cb789e76a38caa8c9cb9c4cf7b0a909c3998c152d5f1388410ca2970495dcc9e384b53c84a306e46e6ae8b97d94b100fe0196801bda5a3ec015362e0415a725cb0d1d35460aea7cbdc9204c6951ebb8998db963127a94acf2d91b9b014592ae1ac43286e09f6dcb80716083c51d09f2a127fe64dbdc4258b41075df03f5b23745bd70f99a4b09f5ded83a30599b6c5016a22a7372946f92acc26e2a0401156eb4e82d782c1f7b751993649064c1453f2a5004e414234dfe8d72fe6606f3336f42f72177d01eb593c217e11414d7550722d93073844840a263f9149a054b3c223f9dd2702f9ee1465cea873d125ee8d472d7927f2acea1dc5c8b1aeb079b7594c901513f4427be77de50dc2f9076b9c4f32f22c414495a1d88492d8104f2469455f585cbe669791396ac3452943cf696b702409e060e4e57f5386afe014846acf6507580478695195c2b9f849623e0ea3e5e3b079fd84a949220dd1f002b74016280b186b4d477eec72d007b66fbebe69973fbbafa3da1d2f11bfa5800490086a7e34b66c4e325faf2afb1a0b4b21db8a151c477b0d6a52671c5bf6b065df4eaaafb13bd401ec7c72eb62c05ef5cc3669cfcac0b3a8e6f7644a51a110622e4b58039600a559bf12f018b28f0d919cba43ef2e17dd60728c59dc93208075539df43863258fd161dcf67404fbd28dabf2a5ff481d5f4cd7fa79ac2a8d5051d377cdfa6c387fed5bc44350f8103586a41d4b3ba742650dc20d34c04a79d02a60ecd216d449be907839800ac9ea1371c153cc1df3d4bd7886b04082af8eb07578307a63bba0b54bfcd3656ca8e969f7c752364019faec7af5a12d4aa54ad0009f9772834db66be257500cc803c31747b3619e1348fba2c5414176b8a8d7c015f86b09c96bafdf6ee0348cacd2d18da8875d31ff95d1e6e50cbda0aaf324f0325afc698face3a2707b930b68e7d2522db97f2b2d4d992848d80028a2c7f960514f24470f93fcd0750a11775c4d80bddc944623203608bbfd1ef3d67e9551b07adcc6f4f4ade3075e339660f02d91c4b2fff905f36aa57a433e13bef3cb224046cd083f56495ac7568105d489380ff0596219cf973b7be14eab4420e8641c30291f4184cd413395a9f2ec0ff9583b3e981652654456cdc03d59f42738371fe01677ecfc19379cc1d8357314c37a2f6af502b81e9c87f5186392e87700d93c403d465f368a6de99bf6710d9580d83439fef8c0f2d551ad17f89678762a94c5305b3e23d5be2d703ebe1399c9aec92eccd3f6e6aa741823de4f84b53c78fb9b0058e3181061a2ab8f9ba6726d78592ec800c3ef173d3864724af40373859e8ff0554676467317f1efeb23ffae3380e5492f80ff925f60875953b07235424ba69051b3a1b668e61fecc2dbf2919a355ace19bb99fa5d042f616c76e221b7fe8c703e5e0bd03536e388b4638e33c23e38a8790aec223aa42f5d39b215f2e74cfaf07d5a319e1e1d79b0cb755e3f102f8390cf0c4f64fbfe90a685c62bf4a7b86750185d3426c06fdb9dc0117e9455d778ef9d528ef54d05afdc401197ae25448290606b953a0b0836117a48ea8e8db4da15b38d17515ff0fb500011c26e8bc75df05254893713cb2c484d1287c812502995ed2ee8b762a1000e0de746f29b0fa16067a8cbe2cb539e385a5bcdbdba4ef44aa3332049147c9a87387dec51c33b7bc070c55d5aaff116903fc18a3e4c9979f715d00a35214901335fad6f6bde8b2ae012165f8576f436ac9ededc66cebb0982e4a0ec8703c934bdd2ace2a0c4aca760070659c620a7e5e2f78a0805440f5cdca2613b84b7dc2dc583990b7db5931be055a483681e5c4d144dcbf2c28b63232c0388875c265df098259cc1ca1f9018e065dc01633e92d66571f05f071864c6e77cfe2d8622cf37f5e8e3942c4b5114906e06fd6a9bfb8b73abec8af9ab979c13f03f1bb163f47333717b7586db6b55a05a15967bade5caef673b1380e3aed251259c1a3ac1e325d12545d55aaa9689300b6b1d745b41c726314a445865fcbbd0f4785c5389c6ea5f068d8d40789677e045735387f01c22309cd760b5484245467528a589da1337c7d1beddb172d7a34017e1fbd30a2e5f09086d3049fece441b92d080f25c84c9660107837880abb2800235ebf8e8dee4239bbc890517e8343d2bedd1f2e96b52e16c0ede8258792390423ce18c318dc93fe20dac3b5e47b7ee167a0614ac4ea3a2ec2a1a22745a4b903b427630f20d315e9a3e6d99719c5e8013f5cd64dfa1032db10cbec91b2b8f1019fb85b60acda026cd94bb51f7af5640dfc1cc3581869627b28a07a207ac4fd01cdc1ba831c0540ff75b1df070da879f68551c01acb051441a3c57e46e16dd80787b24a3c27311e86f72dbd4d92b133f30a74607487d898a337fa8a7728de920485bd62a0cc36ff60af5bf65f929593c5df048ade479ee55a05756dfe34ce3804466a24ba19e8bc132db0bca0bb22563fa4efae4ded51c60647ff595aa3bf260061defdf0c2aedf109621b68f0862188177be0cd4ae5c23d8e4cab4475fb58a03bce2ed8beed936d847791b9358ad8536dd6947c30d14855ed1ab0a2a0657bb0284663a5b7f382fa3502d9371b6586760d40875c01004d0bacbd2a35cde8b6f07e3d48e95e68593116ef665b14479206f77c9f2b2b9fa629b425496fdbb0068008ae18c1192fc2592adbad7dc75f3901965435d8c30b57d1462561790ac49c90228a5ad4cc5bffbb69bf1bf745c05816966cb8b2eccdb20817e54a1e325d90407c9b075605f902d5000b28f08757fe8fd7d42dca2e56af4d9c8025a05bd3267014c8be82fe1cdad14033991f444751fbdc678212ab2010abe933c9a4296de4e07c76c4adbfea2f8f34d4204cb88b58adf2ce5ee1f55ba75cc4f53c1c7741366023e86a3adf75cf6f2c20fa24f429723d008cd0b0da22480c2e81f11211294040756d274ac2fba5790fd8b097438ee70a3ad1f4d48b8e5a13de9a18a8e9edd880710f25b9896d5bba10a1fe6c1c0e47f8dddb00c569da6b8c26ef9ff2fc9025604465a9531b2f43f8a0e93d73e5fff1f58f856ed90b0cab9e59b0887ac3f98ea03ff55f76f3ceeb661bd96e49426e33f11837222f50412cccb13be3feb1ede0e06a1874f15d098ece4c5b5b1ac1570c55425c2f9d467d7625861e4bfb71b4158074a8e0522adda3d608905a68443d02b0f0a2d8330465902292130ec63f8d15204277ffcee62e22f0d80b0e90a71f35f12d68b930df5f360af91f361f12718b70732fc3e6b6a63e1eb162a459f8fce9fd086905b44b905f99b1345e173c88f6e003c2d5db13e6eae8ecb2c9afb333a3b47f633592dfe3cd6bd3552f18a5ea7da023b42311eacdea110749d0c47e8e8c8d1a07f24ec54591ea8d11acc9574122205451357a8d8b8e1cf597b8779f91bc1f04b98238b45f4c6b8748beea6fac0770612fe4866f96be460cedb44a7303a35a8db6e5bba7483763875ef3aa9bf2fb30370bfb92ae5259c78faf2b84b992baa5b7704f2ac47187407b91d864183054e07ba58ae6e74293b49a72097a4b8ec9d192dbeafcf86038824201403ed60dd74001912c295a463cbcc6ecb4f508dc3c3a178a77d3b6fa2fdac08621997ee696006f92b1eb9a082871764bc4bdd123cc3179ee06c65e4e01edb8de71521559f1506eb8cedc7ae3e296158639026224908b0e1c701c81e751f4cc178c503bc7a2302390e7821673181e29c9ec2f6cc3460c5d9698a5f787d13ee522b7858a874f30408defd137ca9b430662a84bb16ed9cbb345fa9de774b3bbc70762dd8c70ca9001e1bd8b576eb4586267ffdd1fb2d2fcfe024b25bcaeb8d755ebc9f53431b1804dec65e3d6cb81c671d134bea9a7df202eee4b0c32618e003c7e43391da075104401fabdf08241eb08fc18c737a0ed8a393f1aab9911a6260198b88d8668bb106dd6d2829886d7aeeeab1eeb6e6b96ee3c9263757135a76e79e593baaf8e48303635d3fb833084a6c1d09381a916bdfc783502177997d3506b0fec6024d89b2007e293fe37b451d1c5a20a4111685dd8a89b8325a559c25e228f38acdcc2b4a0023ac96ea6811234c74dc1d9415268b414c970a0137af72e10cd74bed568ed902d8500bb11312dcd1ee145bbe8687b3438632a076bd31e3f00cf5f1a3abec2501f5e673177bb3a1de6442dc16ae241fe08b43d4cfcf300cfe87038fd214513a05580868a3775573061d34d45ef8877e88758a0a91238385ebcf969d090aa73604a343f5275db72c9948326aa8ae0638a784cb93df69ac36d63673209c6f223e02a48c52e6933279e81050ba3bc165b803a5e64cd80bcd9fd2e15ad72c54007602b3339ac3aa7cbda10e3a3bb433330224ed263b15434f1cce2926a38c6689370558013db872bb2cd1d9d00b4606d7c72567d7973272a3576410f10abef72ff405a78b25256b1def90bdedaebb27c1b58398a393cdb871c46d33bdcc48e128de0288d33460018443e3cea35687496bf6a8b8ca47344e6c1dfc9a5a0c5352bd7404f00741d64cec95488ea894cecc6414bb1fe2a6eeac37a7206262ae4b5fcf8701ace83c44cec1c3a5ca19d3029afee7123e0ff19d869d68c5d91f04ee927ade0629844f27800d5cea67f18e5b3317e1cd66cbd9c17e4fb28117fe3adf2aa3e30357f3d0f78958588f63354b1193007814a73f5768b7808d72fc0854515d98410791aaeacd4ba84539978f8ac15d982ff15e7344fd0da496f0084f392f20dcc401e9b1ff49c3fc11d0077b0647b61c19e5f4e225edc83f3fcd796efdc43e0edd0018d7daace059e681eef4cf32da3689dabc2f64009c392d81bb60c9a5a4a37c079f331dc3c00e1d49e33ba0bb42eb768d3f37ec77f03c5e469e9c2da861f97102d12f37b369fa655ce6bd9f487d5896e81cd75461b2951a5c9e2ab912eb38d204f6c119c3b2ccb52548784f0b5272116b9bd7c66b619391109a4f4fafd32ff001dd2d4f6694d7e3e9bdd8f657344e3e0555c11a74c36b3ff609cbb8075d983f01724c7c595d63450b179c9852669adc2dcf8d1c4337df64575855e24cd500930449a402b73014ed69ae09c084c827821a88ed3aa7251744f0f111f735fad5f6077f000729476f6ecc862976a687ab8874279145a29805d4b6d3bc3f869f974205e6dc13c4b9d8ae55edb40cc7b2117cb791eda1871724f4d1954d7cf57c2ad6011c2fc543f2848b09888b689a4c0c64860a9ae0dbae74e0d9a966e17427342e01b2fb57cb81b652ab123a2ee60a33e4ad73c997214d0989b8b70cafd76f00c0062f03ecafd8ac1fdcc5e85f773ec56aef207eb3ded186412532c5b331f3644401bc0d49bacccd110996f1c26b453b98a698c116d29691ba388f86809731cfdd03d985261e46d329e894f34804729a1ec5e06e231ed9aa46167c961e6dc7e08f0355880c17950743a769d383f5e83d1847605dc7f99a8a68786f971b63bf493e00fd602dd1c0c73d48a1997285d1fe1bfadbcf0815620a5634ea1fa33ad5d31c0599eb7837e627e555fba67c8c7e0912baa8d02718d9349e51856007fc3d353e02c16fe28b18cb40cd15316af86e778cee482d763161a4c547e6bde923d3ee6a027e15c5ffcb5a864e9006e723031328992d7be05ca0e7370a038f846b165f1b068b26c77a221f59296284dcdc35dd7c66bff4d9bdb6f529eef1450de0689423055903db1aae29c995d9bbe861061dde7cef79ce56fbaeb0bf961c2ce3f9383a032ba39d3c461e09dbbf6ed9c577737828b4ef3080d7a716d2c27628e427d11201bcf6b29b0ca04bd523ea5d433828833df3f7b41c8409a53998df31abe3669103905f1d3fe46e97534dddde1b35a98b26e52d49561917aedc51c1835cdc3f85012a10c77dabd7bc0d6909295270c08ee6c77e37b114a6591c8121e9008926de02275a935c75a3a4054f3280a43f528ea22a9fd9561628188787ced0fe792ddd0707c4907ac55ede7f01788f70f4a546b80ede6980b72200a14102383370847205c7f9e4e9a3a1c21347b6453b3a32f3f778c1ac0343a19986898e211f7ab8c601a7736be1db9fd906a4689d0f6de9a84417353ef5a67c6906de7dd94af1ea14070fdc7872492862650b7125ed8fde1126e0a7e95848dce5d2d0989db57c612b068dc8b2cdbc188d2709b5ab388442e74e4cbcf8af3a6ba5b7c4aae030ded89a0767a44f23c646f2456763e5ac8da080a86744d269a4a1b71dfbfb9860ca176103b29ae72eae86247407acdace12f78407a088933787dc9be89b8bcedc6fc4b50417d4ba870e3f582f8f2b57915707a835cf2b6a36d6ea9adc9ff048a1de90b10602ec80832f85f5661b7da22e5b36e84d04e095d0f0aafa624aa3134473672d05add28768f1b905ce0e8dc7557079f7cdc545dfe6bd902ddbf24b8938cb9e5e0563ce62204e649dcd5173f209633fc03ae80e50424088225daed972645c730c001525359e2cabad5d0b84633baa7a492fd6d6fe632e6866e7adf4eb79e3d53806268522b257e5e9dd6778c2e036b6f791accd304ab423253634692646457b8102a6a41dfe6b6e5e0bf349f42ecdaf74ecd875d90bebc9cf57161725c274d45400d38896482b6905f9605b2b749212e098266fbabb2f893526861c168362cf7307635289ec96cba0f1c312b33eb601b42506cb3e3653a53ac7bdb00606625e4c03cbc8198d98a8874cf8a653914fb07ee65331d5b764fd2b8f5f23b633955e97048dacd3341bd03339c9a42d0fedf08bcdf5dbcb66c35a8b5365f38734f52e7502c4cd7afa3618453956e71f9a69815736f23c7b50b550644f2e3292fce0d331029d6ec3251f53e09c3f8e6aa9861ca3bade6180b40d2023c64dc2d4bb77199e06cd3dd93e35455d514bab2c53bd707b2880a30f0dccd5873aae79ba8c23fc64071e9dda0b6dfe9317c777ceaef5d95b5e151d0bbb606079fecb22e80d54ea330246142c6eea0df97e01ed9002fc2a93fcd204b4ae6fab3dc358bf3995d3b2b80027611c0c0dcc71740c5f00821f0546a6ee87f253d65deb88affda3c86c9da30558e97ca0c790cf4f89b4e54b38875d541a482aa1681b2b438eae47d21e0b7f06c6c15f8f440b3b57b11304f497387d74d6ce8bd620f12db8fa559567248e40055dbf8433c459f36999c9f181943bb67057c692b5dedac163f3eb625f45e11a040676a97599adba557133325bcee62f256a1c8b121aad2adf5d090a65ad579a03e846c56db52545241011e4ad855faca2d5d4fac71a3600814005094867e9a305d875940172c637a04e636dead5398d7148f913be226c379abe8a2f64e3b8ec0292b7c7cbfe2e86f8e11ab20810b7ed55cd32ac492b68e9c1b3f46b1ba5b00b053beb7c027c8a4faadb4a3bb65b1716607088f77e694aa27c6dfbc232405214054e367c308bb6eb5f6582badd6da91e982c7c8acc7cffc0613ab759603b197501f83851598b45e1084265ed47c98e0f9541777b3a8ee910ecf3f655debfd8f7047775f59e50c9910ef8bdd253292fbfcceb92a3815a099f56509e5125d400a901d819b814d7edb47785e03201768eb09b5c9550a576bbd1c94947f9b327ddd90530cb9153f90479583d5ca74bfe90711dcb1ac5b417fbff58f13f9ab13d185a057760ef847dedcbf7b1cc7d686a51197144b05b125b5ee7a08f0cad52416bb1025505080489772f2bad4c90ed0e9fa8bbe601861d6c69011a12287fad5f18d807bef46aa97f4420fa7304dbd635649d3049b3c684d49c97eefb2d5e841a117204690c4e681f2f7fc28b862081cf8f3478af6f323794d56e7c8a1099a3aca6c3048adfdfae587ba1b7b3755e77aa984096e870548fc8bc4442eb68388c72e2bc04639890ab2309e15c2491ae1bb759fc5de98b3c07d0942b4cc23bf0e7a2dbc403a2243145b8cdc592977a9549615fcf5c01cb749016dee2e60ddea3baa0f6de07bf7efd198033903c7818002a17ce13694e5bead354b9433001031c7ce56f4d0560b63d890b3426b01b097f568b2153ef5b4806f8d284083e06930e5e415b4b06a01fdcb66fecaba91cb581d2bc24bd871055b3a73e414ce3e08f623e6779e602ad5cbfd8edaefd12fac43530582cb1626c22f2ba7aeec2d737853fd51feff403943e2e6a5d8b6bb2ca912b2a62ae40bc9e3d7789b6c28013c947fe44e48dee06eb7a273f6a95a2c85ffad16d28ef0b72714fefa6fd3de5767c4ef3eec38feb016239ea4731510a79fd12efdeb978da34d2db617fbe77344f915f6dc528c59b00a5f277883b61da7ad0f510c9c04e48d2eb9363e4de0a0a72e49deefee08fc006d8086c46afb441e492840d64bdd9142c2317b144a93a38fd495cc091695e5907b56412375696d96e4945a2851aecd1aa315c2d01670f6dcb5f278c91f5c8f705112dc610a5d322934e438a94573d5812de78976868a3e2459ed6d3b2f183ca00fb46c968f2f0cdb94f3008d4612b73eeba6bb785b6ec5ca22f615aed88600305b7f3854651b488fbfbab33c9263de339528e07a223a975dcc79319955d55c60253cc9193db3536ef004c54e244da6e1aaf0ab67ec9721641316b6fe59c6f5d0705b9ec9313b1f626bee0ba671dd8ed1fd73552f526384401d2f65dac7eca200621776e926dc5f153b2638ee253bc056f9658f90c578e7eedfdd44d492fc23407939d6175cc015a9f24ae79d74f108e4957cedfd0b71627ca2c969e60128b8a0678646fba26d1f3cbacf1e6c0ba1190120f4960b5ae959337d2700cdc4a7aad03a1c49e04e187349848ed764de173093deebceaf138bdf89d2d1f15db61b31006c94621eb111b2a14b4e96b3fe6aaf78f9a0b13357a4d168721dd27f177ec3904e7f6574cb25bd209944c2d79737ac5fc50426ac5ca5253056772e25c71fcc30688265b470acd697cdbd8c2e89ce3116d4d89c4d6d4555c4b0c83598628b6ee01746187ad60ba115e58f1fee41823d687038844202c95ac4e2bc89ab73e1ff60344bb79895ce09729bfacc9948902a09b148e8e33270d064d19b934497c8652013ef8329d975181a0ce3291708ffcd49bbb16e04de2748f505422bdaa9c5ab9028efc555b48fecd4d9c4af8f79f74510349d0a612ebcdcdc9034df304b95c110324a5b92b2e6a3829a099197651957916cb32eea629fb4206e3a1e2d6d4faf203d5a702fcb7cf2af54bbafbc2ef0b85dba763fd1dbb3ae30b4942041fdc801300d63fde4dbe8dfc68011025fd40669c796bca22c91d32a3f4ef036427c448c201f4c080a1f01ad8a4d831e3c0a2e89ef0e8885a40eaa525137efc496a9e8e3805ee8caee347eb6d8cb07712ea7ce534fbdcf4301b39859b66a3078d7547668107b55fdcd3f3352c1552a2e6fa750076313a87b9171eaeb8ed21177241c329a107e6d3a1fc64552dfc8c62502005a63c3fa69b4a7a180326f140c9d29a3b7ce703e14bc69ed2c47d6c6a17c95679d2eba953f3d496148b06e6b22c0291459cb406f47640dba1e2a4188b0e18925d8af34ded50fe56bca27f20df807bd20688cc011a9da2a75bcc1afb704303f6ebf263a588fb372e85212e854e813c18b5767402074c5e76f81e2e4dd52d81c6cf5fc34e86a0c331ac2e2e8ee3bc060bc947ba05ffa33bad59f4e3e4b1226abfb52e536872c29277bbb56eaed8d6b95b4f0cbb04bb097a9730fd47d86b84dbe3a28f96fbd61de5a17927a0c9e5d0eb43fb17ff0670d4e43a7ed042f21c4f9e705058f9ac7260081272853f10f17255c83d4f4d073c27a6aab32cc92516b73f8a9762c661645aec5e4c75dbd97d13a079c09ae2075c390d3530deaa883141798ec778c4035683998936541e5f2619d5690794bd006ec047654e7fb23309d7786aee8171299efd5a818f9da27fe442932bc3110803b85d306fdcea3e93d95af08f52a4fde89a03d713145f3c2794dc49f00bbb3a0738f860dbd651d3ba6c61365c8fa13a623f9452adac5b81b78c10d5ad02cf1d05c737d7e34b6133bccafa332df7d636afd88f13d552272c06481d83a613444d02598970809082d7ab774c1d8e43724ad4595d7398ab5fc9cd2c4e774c77609d000d7bac0ddf6ec33da8d02b7d4a95c491093396f7f737aa8c4b869c8e5c0b9f033dfe2ee270f91331dbcb8829bacb90af15b9cae6cef0e9c0e8768ba6e3ab53007e3e24f45f1e308c6deddcb9cfd84b69ff9089407cd58ae75a19419f2270d1023de6539e99ec5538bbccbaaead78566d800af6eecf0cbba95698f1abc7965703cf93efa5c412153a85dc26021e7aba56458b46ce70533bed103c22a491295703b4a8c326de72502f3912cb1a127b0f5444179c9df9d42ff2ccc9daade5c05c06d2261ac202c26b47da52197625f148fd1d4d6c12bbbea6e0820bbb482151c60586e9502fc442472f0aa1836c2a4c021dfaa2f3d20dd15a41635c781d73697901feda038787da476a266d13018acc36947b4a816aee72deb4236fa0c9e9e98101063e2d9e0628848d7fdfd38768146d5b7de2688b2aac17c13687e6295f1ab503586c453af5205141eebb022a8ac50b558c97f290d8fbe9ba4e21011b572fd903793f1d8223a08a7c291a66a35136d5ca6fd07259a688ec0ceba6c1f596433b00b1d9b65e16adeaf5035387fc4ea949a5657a3773dc3c2d3d7d42783eea9be3035c5720265f9743e7273860b8abe3bdf512e7db250585df0f880530e4dbffbb0648a023658726fe2de27842a9cdbeff62a0689b49130a56d580cde711e6c8e100cbccaf9eeed1533a67951d8899d49915b7c90a4ee214a19058974f5b4736c8002a181783e26a2f55a54336a90af4675bc771817a6d8d14f405daa8cb7683ed008fec2dc10af806bac8dae0fbcbae521695a7fb14c4e515ccc896775853e161010b8bb64a7aeb887ba2ea8aab7a57d9cc5fc9f5d4f969a1b33ce3206df54eab012651920bae5cd8270fa139f88fcb252f5249dcdbe1d8d5d1e926b3c006226f06bd6099046d947c9a6af2a84ea318eeef9034593e611844e1c72713f614650302c0b218754aee9bba9f0f54820f0fc9f8eb4bc0273dcebb3fa7b576407122b50706d1c06c2d868f14cb143c868e0f33ca9d3b7de00d0100c42870c959ed3a43072a073ac2e3f6fd9331f8cef7979ec693d273a4302bbf4230346ec26a56852403af6eb8afcbab06b7b0973fb2da05f234a8f71c678c4f1fc8cd98f25556b02e039c1dbcb76838b53de8b876bd4756faa04180397b05eb161f22224da4a05b200614a8c3d481b7ff6b6897562009120a329a23ec7d8405c2c7a8c6c49db034ed038fbab87f494d98bcec7a3d8345fdb9254cc30c1f4bfdf58d67698105a35d8007eb9ad7d1b70766a6c9192e89bed5d6a638d88133c49bad5b7fcb3d132b1b4507938efc5c83d2f212e309c4e9e0ee97517e64527c96c8e7dba95833a25542dd04c5c368c14eb3701f6264bc7352f6b6c077b76eedbc8d9296c0c708338fc5f20564c9232ca2be9aad37388bb357d72280336db89e0a364175bba11b16f581850650574758b667444a60a8b19266ca81b4cfe0022f3bc40883f220aae807ac790104cacff83f6e7ae5017a6f75ce99c22a4fedd57a2a70956d35c20ea4fd343e016b44c8bc287f67405c54b51e79c93369be43a1c6115f768e7db4572ecabc670089088ad8259b1eab3b473bb396808979ccf46fbd09ca2f9397f57df7fbddf105828d75e78a2171f3302d1c6a887d157d38788080fb4b07f144ba880210b3ac0145a17ad810ce1ad3a97196619eaa49516288e31abce0cb7d89a078a9f0009201a87d0cf8187ad3cf26c089c69eba697771abe93b0003d01103b84609c1154405ed3a5bbac6f34f4997d135edb909a889975551246a2fb380eacb78a8aed5f6059cd1c1d8fa1c04c77dc1f9f3e1ccbedce54ef05d193f859168b1b88cae4621033bb09010e42192934a28081ee84c72ba8ea7f104f77f1f944ad4888798a7f100e85faa7ab673ab54b0146ff5fbadce567dba864616a3322c41dd5790579b5b01ffa85972140f9c950119ad9acd1e687e480d1a6f29b033a1c0da15588d844d078139ab216c6483c8d6086eabf475ee811ddbf95d2b6707556afc5411a095bc04cf240de67626982be9a0f156f32c992c160b1d7bd70c064da83aae8b5304ea001cd3113d91508d1dd9c9b626ee2437ded91908e991a5f9cd82365ec42df9b205f542c2012c33d323e12b153b8c86fe11b74348f8b8a0def312b7ac3f3bba1307eab888dd501dabdd0ec8ad842cfc47cad8cbcd3eff79c3d47743416b1fcd6c00442c43c1a8ee57e5bf4283e977bf614af12aefd49bab3e0c4ece71c439ed7804aabdaa80d3c577fe0c8e5e2e3943440e0054d08b7d045044315abe7f14abc50660223f8fb0500d5ee3e32308f230c2cdfc2efb8b84df860f0ebc9c1c8cbc580455cd41f1cbda323f46030cd1037a3d6df7be09ad7a2a1efd165ef5232e708201375deb04156b449154812b3e7e82262e4df3402b4d9e58d175cc79f40b83e203e6e04fd85b7e14322a37b5255b884cb596b22ac1c0c09b678262767f239009053b728fd84518a2107ae356f01398a2bcecbb9fc563db16357f7698159540ad0589830147db793e459c8fac8384fccf141ef43c1e73bc58d3aebe99f7a583ac06c5d1293554249d5f6430010bb84b1d1953c06fdfed7d365972e752b6096f3c010bff3799eb36e715a02ccd309e27a1849eb8d7c7c4fde0579c0bb96d6c1d1e0448e3242a1f685fa2f820f9195796ba97bcc659c7c23562d8bd38e2f9c5570301ddac0b15ea6ac155623824a16fc43579aba2b3951027c92cfc009134058d5104cd75d61d7f358a5ffde5fac0b9af064ec642cff70edf81f138a4d6a3fcd1530542538624c64616fe129361393ff76d415929a93f382f02f7f3d62748d03557039d86f4c3d0b1d44228f3d5706e82cce70b8ddf6787de5eb794e626fb4483d602ad25f43185140e9628a29cb123777594a61823a89d4be4eedf9d22b5fde3c9076249ff743a78c5696b88259e9927042a1e35cc40d616bde8981b15ce4687cc0022f9fba11d3be98215543f3a98c4c449f31f30919882ed429620b07b8e2fe2053857af7413314464d9051f35d3f3e8eb1ba326e5d4ccfa7cd1bc1138eb4a7e0187c8521eab38eae77d778661b94d7a98363187b22cb9a2383553ca65d215ee035379d46573f20008275c27a56179c089e35a9804f94c4f723cec7e2b7d37ee07a4e58f8f245088a9f8265ac9d70dd909e064be6795263cc53eaac4c108121b0299e57a343101dfc9c65c2c05abcb722403104d877120c921b50e85f46e52da06e7e3573c36adb63c62a51e31a7f344a57aea565e343e71b183688294240559063fd87d8213e614a5c35f0dab6900e3ad06e119206f7d2508af6f41b0f8bd0f0310be858470cab581e9a8b1895926a38245f3c0f5aacb6f7bb9e7fd393b31f7039ddb1c21d423de60c23ea317644128c5f40f4a3c3740664b359c129bcda25602cd983e642449c7417e6e5a5639c72c42fba3c9e09627f5a919afe509acd27804a427ff7fdbe511154797cd6f32c1907ab703ee1658905d2b87eb3658b99fcd04e15508db4ea4fb501b53878da06c11f0e317083be34d20f8cf9bce4940abcf033d5e0de780947e050bf93a5e18cd6fdb66b01da6fc577c4927b711bffba90202432d96cd4c7a9cf6439f9b0f910162cd0b2f6454b7cc538c99d207e2caf056063acd5c566e867e647dac5cee47254a65d81609ec0b32f9ab58d832e9506f6106d8048102ec843075e3d63d4a8bc8c9ea9d0b3e45a0bfc6cda8267a25c9af7b068b9f132d4b974276daf3fb7a402d07ca3ab47a545804c281fe8209ec44c659071fb0c7a4a8bde2405b024a15888b253280434016cc09c4aea3bab3ef26b0e4027f1005a62b05420cbaaba8f73acd1073746a1855114c4f1c2a16ab382d47eb00755f86795f5be3d3b7965f8e39a468a3108f0b7613710c07ab672e2248c0b307b272d342542e871cddea52849359a127ac676768b496447a2dd10977d9e0fd00cbcac8d724a40511dee1fd2071f2f7f4b0ed1c4ddbc662048660a24c269ea0005d80dcc5b6c5c4c603b6006ae59f565364eb843e10dc37a8769b67d951743b029fabbed6359097bf369e4f32552d0d971069f4ffa3a36de6a1a1a8214a7f2a0587740be8bc0ef0911d4a906b48b2f8c9fe084c0b04d1c87ef4c964ecb39c2e03370893f6f9e6d39fdbbda8d4f48e99d6ac5794d43b69c2336ca9c41c579462022063c24cf4217112180c146a2ef0f213aa06df89afa58e47a5af7388ea2ae4037b11f2db7b2e278f3584b0ba9f117ff9b297439227a62083c1f562e655169c00b328ce661bc60fbaf5210f434a1abf8cb3f1b38bd3f5b5e02aff5a50d2c12603ff13865de96bf3c5d3392c88ff438f2370bb83bd102918e514adac5ea9560801914339d1751e4d42f7673888604384065825abd201b3bb8c1d9900b6d728bd04e0794464b35a9da70f78fed0f0b8724bfdef70a5224c89b004573a1cccfc670727e3862225eb782525342a0e417723dcee290d66ef2f4c69b6c3402b44520d03f3e8d98548fa55ccb57c4b80b3434c3a79277ff24edf285fcadbebcade96cc056764031f48605219759b2184ecf59d144776dd95b86dc8de2e5d262ed74037012bef8d76c8b98f46df8c2c4eb5e23466c274d6de39fd8046a5dd02e91b53e902bee1ce02cbafac08d448c1e82b41a74032ce07a70cd639422f1674070ccc0301e26faad3da931ea8c85eb733197c8e0cd62d3e94d1c10353d87c48948d80c002a1b80d7d133816147f6ff2a1a84bb02bfda80482618444dca667395f5cf0b40433e7287a861d0bf9e3db0044a3833acc8fde07699fff56b9e07b1c2e67c0e9028827e9aaf4206a5a59904ac35adfed3f084f57fb78d1b26b01da3d205d1fe0005cbffcf3dd3c8de2c8766c652efeed527f9835fcadba6fb8c880de501541b00611c325a35a611bafbf37c919abdb5c0f90eb52b98f3da7b0272b49e85f6f22013f7f61f58a9a74f5d5fd983b293a25ea58b14ccd0e997fc2f884878fa6deed0419781294916c2e422e839b3e1f49c61b1b327c81f7ce0e25fbd377f6617fb603a85d6431c86b1e8b7eb2a0cebe0e92b6a11ca60561270cb82bfda9ecd95cff00713b665e48c9d8b1d68a822ec19701cd54400e069cb62801eac59f1ffd7e3506979a539da7743aa60b8b86493ad559537bb69121a09d01f843b456e096b79406c283f8f1884b01dac416664612a21e20ae085961bd39263db7b060254d534b00fd0d53d06fdff4a4a75963f69ac878b32ef7eeb21d0807736cc3282f7d6cd500e049eee0fbe191f9eb9afd33f19c62ded1faf9d1d0c696bcdd8803d4ea686a0770312a57172b0b5f62a89a1d175dee35d9c4080ad3c0549cd880fe755d6d4e00aa9416e22bb3d575d26b1e0d59ab0b1ce89bd13b479cb5fe6d377c93b392620434592edd096d07713233ac3b9343fb6a6c19f3ee7d3f7593140ddb6f3b3c0b043910b52180967d3d27e57634bfa0c4de1d2e6f66ca4ec4ba5e0508528aab0901cd6e20ad4fafcff341b33514e4e7140f7841590dedc09dbc6616da313fa364015bf505ac6dbd55bff73c034179fb07d0181721c728c2b0e02bbfc439b6109e01b9b05ca5c89cfb491b371b77f377be905f12f5d80d7f142232c269353548760647ea18773e4997ea423636f30de4d6e2f6d01ccc41279c44235af54aef2e8205fe6eb0fd007799df097494dc9c17040ac8bc63bd0be0a16ca03264466ff9520793025b783e26bcc842ba80003989b3277553c2843799904ccd68cdd002caa20634fd1e2c85b04cbc48ad0fe13346eeebf73aef69197f6c9b00f992df88b2fb0330297d52317008a810c3f95ea6f76de8ea428c4236e3dcd3f6740f98ee47aa06db744459ba97b46fa941b3778899d9a4d1d00f9068c74e42837f3fde2a21a70016690c70a7e5faf4259d146090df75d6c972f7c19fa31b1a5af7f59af1619603c1747d7cb68dad178773c4f7b194c1bbb46e9927112b5f870baaf58ee2082a07a4820b38f1a936443de848ccc5a74afaf682841f33426fc8ad89f90081c0490643a4981e9fb9773556db34c48254321a2143aa9135490c8372b79197f1b7b80612dad37f7605c27de1961592359ae3ec5a99adb74009817452c8c10eff324a06af45793b3e5a7056944f52e940555e6aa69e0afa142ad301c718370e2a6ec001a1c9c442b832d2c59b35e3c06bedc8ca20cd6783f81f749cb84d97937cca1107cecb9f8b06ddd1b53cffeea95c9ab241c720deb4b69e404c35986c4d41f7b0003dd75735426ad8ba44120acb0d55a24f58f99e03a6e10d2647150ceeaa7bff04384ae15879853666d90c865f383e59ab4c0309429ca6a6ead30a0d51054756075ec5082b86d17798a46b149a36e5c7a5cd4ee5be8033aa8f205f18d7f708bc04bb96a3062f1f5d8d8365b514f17c1e979e683d267103067d1e2953c4b04e5a068c668e2791e4cd646bb0624ecab733b503e29ad81697b35e2ecf221eb7173002da1c2e549ab770b6b9ad4dab453bf9be5b993a4f71398623ed5cecd0f3fc830040939693800fbbff84722ba55be4be19fd4146ced97ec175ce5fed18a4afc40270e0b7c7f8cb5c4725e3442974b0937e9d68c9c9aaba21d6c0b40af367ca1f063aeaffe7daad8c2cbb0ad51fa6b03bcbb8e75dfa5db44c59837b9c1b5b7f4900721013a9b22947361b7b2af7e73a1834fc25e409777703cea069f6c587388d048f67d42db046812ec2d2050c63d9a043f4c5c7d5f19fdbdc32d78cefda5c1c009ad202f0c1cfc5017281386029105f33463a7aaf9737bb8d5d24ac0c7a501c00fffc9a1f64658d590588ea5414715d1c35d8ff953e425bf34233721b4d794e00e4f9dd2128624a761a9fa5f7c9f0f3dd2610d70c1e38cef7657a9b2bd9719406e121e4aa3a427c38123713b870689fd1f370b30da55085cecdec65621089bc01d810346b0efab2c09a99cb943199d5fbc0724dcdd428bf14adee6b0034aa7d00a5b8af24837ea844ee48b3fcd5ff0a7eead1705752fd2aac15820f8e19a821041804410f6a7cce01e090638b68500a9ac4250427ab28d9bfb9f18d1850f2f1023525f92469ef077e509b2af662a94457d080b03afa8c3409061600521446c0048b27d8f681aaa073df74acd9012088456c57902e15efee5c974484e506c87f02ae65189e5e81c297a16c28e3e5bed79649df32f01a2325aac14e5d0486aad206f0c51a03cdf9662477be4cf697e44cd4d8dc3e319f61453e69363daed7024406137d8c765d172e69f68d42de94d4e248a8af14a15ab713a57f620d5091159f05a3b6fcdbcc80de888e08b3c7a0d4adb0b5283fda79ba00623f404d2a0c1be305ea34f3cfb629742e4aa62f7767deb6445842e1078377a16c32c23d4210f51007052d8f3eff8713eacab0818853b4860c9449d465e253a09e73c70a2234636b043ce31f76e20150d80e5444b719ced252d2056340ac30e2f4c86e09ea5ede6b05101916c456f6d5542a8596bbc5e400f47b5e99c1a426d04259d823091a9a6c033eb6194d01fdc0a7b244590146cafc8b2d361001e4b525157aea8e791b907005c484fa3af005f0857ac0ce5b637dd5e5ceb5d103a2a9a7d9690e75d664f58902f2c186b150e1302b9a79292cd89887a56d88eb944bc6100ad07dca0b39bd4a050e9f683ebd2cfa0a320e9e303f16765c0e50211a22bdd8b4b7d5c1b7d4625a051855b66f304456b2a786bb95681f1de3fe269091893bb2160be84ceaaefb9604083efa938754015dfeaa4d7be57b3a7b2feb86bfbf3b2f1513c86164df7a99057b8e5346c68ff2eb3f995c6afe69eb595bfc86365b4b3c80f7a41f84237210028c9590563ffa74a6d7efde8ccc5275995971b5def667ae18e9a977b2bffc6b015687c160418e1f79776d2e5f0bb9b1b028e1c393d321405e93fd20576934310263a57833ef20f4e55faa03e1e53235c31353c4183495bd1d2ac03619471e8d07b88cbe189d763028ce643cfd66a4197a217de1849e67bc3f7c9fec649f7f2607716dcc073073b0e20981cca8a1df79fc507b65a0cdc0f5cc51fefc50d34fbc06b351c2600175801daa396ba75b7dbcb4065aab32f238cdc4159fba57a9f95c03a6777ec2cfa98cb253d4008a69a27df87d943689570fa2dc9fe125d26f779f05aafff18870ca68f011079146242329e177e1852e37f3616165fc0fae0c32a9001fc99af2640a39744cbc56b7ff3a31d435376d9e094d00d79be0cfe268d013016a865b9a45535bc708b6e1f2b2848ec84b087cee7cd378f4bf658acd9d53600598497384951620b3f3390a046273b210cde9f78123ee6bf8dd192a0ac0711b01cc4bea48d0fbadf897bf160c16374b16794c25700cd3d98cba7d5e418522ea04fa1a264f85eb21a830282aaeeb99ca537bcdd5ea2dd84b338cde6c4788de3a058147515b656305f120b479c7b7f72be974c1b6c8bb74dfc798e77beba098be067d50e74cc621f81b6f7f449cdfac33bf548e7adbddf432cb397a3b4234800a064692e40ac72c30d528feff50d18bfc25b71ce34efa8bfae6c1460665d738de05500d03bccc101045e69a9bfa34494675095f53be81da544c02ae994205df860032fbafd118aa3dd84be91967ee7e06dbb908ace11a23067d73ab0d6a05fc2906b750c2e2f67f8db8d7827675e781a96abad7c323fd3bbaaa8288614d6feeb8049d6db84d52b4dc469e7d570edb78006ba4d3ad3162dbe75b0f9644cc5d4f8a053d2703a1da3402f1607fed4522725390bc9ad767dd103f91cc331f8816233c03064d45a0532d22132e02b6e685f8c112866200a38366413f14bba02d5cf57c05174f2824654773f78699a7ef7dc1c971ea76fad024bfcab1ba58ef64e311bd07670cf0fc23ead1f18c9b4e84a81c90637e7fffc219c838295dc32e7e612379068179c3cd7b9486cae3a3d747fbf2b6b0d0cce599a678196cc799867c26bb89058a2be0f0c791dcf7fc8411318433868504bc16ca368e5d8ba49bf38d28794b069b7135f946359548f09d15d87e90dd1184c0807d99bcf8701c49877ef06be3020e67b8def7a5fb38ad7257ab3b7329981edc56329853f64a02122d92446a5601d36901546c43245724233a5a16d0a876a56865a6d977862282cc52216566f805288f2e82688686730dd446be79e1f8dc435931f58e9b61935b4591a8080d3206b9d8a88de265de7b38f442e61da3f9f00b2ad8d8ad5f77e4ebc9be8eb7df7c021d638fe794d5646e3ca6d7eef6b54365d01ca161d18bcd39ac01dac8e57aea01130ab1cd3ea3b18c374ab2cf3aff0770805b87983ef16b913ecc6896aed8d7039a4b8cf1df6fb2f68f6b5951f819ffd1f1b7c17cf88e96a3582ce4698dda9207a10ec4f4584df1dabb860326aabdcbcc7a5072ab12b36e17e238c0cafbc27604f21ee17d97fb7137e9de239603aaac4f35542166094132d255c52279b9faa0026906d44727205938c467b5d9ff8393a3b52470578fc3033bc7a9733c871cbd00ba3f4164558b5faeb95f73c5afd92b5aaebb66effb64b5d22d6154b71a5b6902773c66126348bd017fd8862b2ce07b2b9a4a02ddd926389904785a6fa25da0024daef64ef3013b8f71373142d02072e143e334da201500dbceaed66e02d7af00c4ed6e1b5d5f6ea6eac3fef88d4915ec869f72198d0ea528ea3f6741e3746a0068f2231842a2101c6b47b5f5e19660723e105dd44b918b677516a65726962d02682d56eb02128da5ec9fb547c4306d7639abcf7f7005f051f5609fac303db802ce1a66d4e224476bac69a66b78ea0c1c4aa1061ae26257361dc87373d2bee5060790f8955dcf2e39b0264c38dcb091b8085d140fbb03c6ef91b42967d33ab705549fccc7eebf28f909ebf113187ea7776b2c5dedfe063dc3edee99c877223b04e269cc617f3ab99e6c38d54d72c887c10baa2baed2f136142eb00ca6b27fad0765f9668f07498afb30ba14cb3836f6d4af7380a9f15ef795125da70e6fbee10009a11c9c641cbd26e6189bf8084c586327929d09e14a26dc28704779300944000aaaa96f782ff29866f30507e211d2c6819eb88015f42d2f34fb21718a36790080f18493dfb7f8cb674d7a34145edab05009742ccb76eed418deb59067ab1200e3065e2c167525dbbf5b6e241c1ff0e83af7b5e8e13ade079a863d63838ac602e4640a89b317c9244b6e9ff81a4c9956dda45eca750835903ae1a717d590da01db676f7d293fef177fcbc794da7af0a9556ef39c4a337a45e139151af2e5d60416564d20daf2b2f7d3189b8c57500295d2ebd71319c2edeb8d7b8f1077f153023c0d003983c6c6432afc04bfbcf68e81023e067faab5ed69cf8bb71cc0ef9206436e737e82ac0b1f850a2909ff0f2bb6aecc3e3ec279e7d02d56b8a1cdeebc02f76172dcf2646e763657094f335efcb1e64464324e50b732b02301e088b2880560e3f363aede6ca959d22a13f5c5e27af543d7e2404d7f1678bcf481d5e9e905a1504e14bd57c79da85eb542469d08e0238c2b4e2bf9ae7e3fa1fbd932701c00cf23cb38c0e8c6154638e539e46be087b621f23a50ba610380ac456f9fe24505e7540ce6affb64c33e67ca5baf11f38b248c40ffc6938e1e4b4b29c0ecb28c069124ba3317d95f8f5de5c3e1f8c5fc64ae8dd4d8b81386626e23d3ea4a7e9407b3f5d2531153827b65be3cb2183c8c4d9c1ef00571f910224c9df30f18930d001c13e851517c48ade3d7977a57a6403b178b1f6c62b7ef08d18b7768e140c801b8fae3dc1eddf6234f9d6bb5cab956caa0f368bc715a60f659e58a1993df700706294f1a0866481b55b05175fa64302e35f8ac5a9cce019cafab6e3b99ac1501c123fe788e7403904274d8adeb641ab088cec7236e4c35416a3055409e637b028531feb17bcb8622cd564482cee5a622a4c68c66d10c5d5d4220192399bd8a05b6df952cbc7f1a84f878db890a32d511431d3a70f05784a2128f845bae922703ea43ebdbf0225963cb61a9dd3c60efe52b82f38be0b591c498ac3e92d8f24d0102fa10af0d37760e355ebe4084b8c46bce35032f050ed45577ef70948ec0ac0740eef6dad91b542b3e296ce2572e93c160965a01cdcba6da1cd14a80d274cc013eb2c8f7867162aec21a4b766261ff4d0e57d654017702d6177bf07e1aec7101d3050d0e4a8d0f62bb726c00aad65c1aa97c7a7266821a64dcbbaad69f62b70387f72d22d8c3af98132bae5c155bb8e4d9a0e77e24f95c8d412fb426efcf7b05f392a789522146f7f60cc4b644977183cb747a739d1d87c6aaa7ccf3633748040140ce33b25b900eeaaa9e94f7d83917f27f1e43f5f7acecd70aa607be10f001fcc8866809479f6309618e66101c74ffe393ea35de4b7537fdbe7d4a24df29009d5a87bc68a145f08f5216c05a78f21e04f82f79dc389e476ed09d02e4e44a07768b7f3cf42e250b33583c0ad0e222458bbbe882f96f5f4638adc6c02cc72e010e21076359596a32a02ba8df6b171128895f53321e59acdc6f0b250d42526e01cdf06c0a120ec5331d7e944c64d5b51f0624a73822614459e3a011a036536806a9c8a8022944bb19aa91f18b45097f4cf09e15783fd0b4bcc00b13638e01b1002cf8c7608f5da737adb547142d27c97300779daac8d3887df76a0743d592ec0735e34f0ade63be31f881b1e379ce31294861ec322511342dc35d958e13c74303de8c4bf9920e29a57f3416971e93ce178d55e8fb455020fca7f022e0ad7aa305f3284aa1309a2539f14ea0cea11a7f8a4f2b5c34f717fbcccbed4f29bba50d077c185c2f828839d28201c380d4854f28e67f3b1465c514c67508a3abad3e3b021de8341f23d96836aba2e4f2c6aa78a959c6a900ed43d8e980804c3fd5dd0b0719bb4db64fb3674457348b43fd6fe4a9a62085c77d984d3b5ee01b728ccdcd02c8ea597bb01e3ca75f66bf3c67138ee1544f13d6886be25615766e0fc22eaa07e052b1b3829a2606e8ca0f90f6fa47295d7c454af892c1bc38d8a4d4e7ae19075bc9a173a315477939cfd432b536b2fab087ea3620315e1a57e82c45d56bc000ba9f77bc59437831f93c4fada1b247d0f98c20c2de27c78d0d93381af7093207f2ce738fe4b0039f19981ae843a98009b9092aa76e5a9ffe5a2a3f16f7c0ec030744d1eba4721b67f9507b79a1f739362981a2d3a2ef69d85d0fa207dd26e40558e77727a423b9827425b61022b51ac081144b90222a5f57d42f3265720d9a050e1ee6a70982e4554f6f6a61c20ec0745dd09b3524d907ab2d897b1a775eb6001b2811e0c54c495d47c6c430ffa3798af706ec0ae12e1f30ffee073ef3f1d101e759481add7e9d8c9a498893f6f24fc5ee70fbe46061423cefe72c65dcf06004fea92ffde69ddadd18de94adc6cdc02b9a826ae6b3eb68af110570580daa870752bcd5585bc38e1238a0080685c09a0eb962669f978add4ed747d2642b7f80063af7424dbfe7debbf41041a5ec0d52554bbd0df0eafa38bb6150358e31ee9c01eb6482e61bfcac8c61d9ddeeedb9a3c62ef5d96aaa5ab78419ae6924688b5300c4fa861a890e761bf919f2d1072ad21a478bc3ff1cc9d99e6a4c43b79a76f205a671ef245303b4939ed1017a5eb3508573041af2050f9985d3e5ed7dc4b1e102d5ab06888e19398de24ee9fe27b19912375e915e3e7a181bd825420ef6252605eba48485eaec0e0ac361347552c3efc8f94aff5140001868559ff0048e615a0367874a2e7bddeae568b1ecffdce457387ffa7ebc2bd158bca440e019d678fa03ce83d43b94cdcc89e90ca48d5fa38749bddd01799b75087898181fb303865e03f77c273dfb193bd9b697dbcf732051c752e38eae5312f0581399c8d87f102402a19c7a47d335965ddd091c6d971094057c77ea87d05d106d744da225c9336201beb2a5949f72e544109655c4a2fff79aa89136cb1f2c07ac6dacd2d00bff53016c4c3b05c816f27be8c814709408314e0aef365b1829e77befa8c560dafdb407988461ecf5805a387086bcd4e520b59a957a24dfca457479444db23df4bbd2060dd807d2de67540ae7ad7b70618be564fc0cfd4330bbab7d30f682baecb3ea0493afc1da0b86e8d604ae071437142f09d2f7fd5106828836061f9ddd1c575401e486d9ab5a70f3e69fb5cf3d6c6b830997d6ddb80c2ba1d0d5e74a07cd5ef107592215f59df703ca4e0a265e888245d887ebed5967a542c177d31bb3697f1c00d292a09c7c7542c990b8d0de09d92eeb8b83484c519d99f968f80cb38db5fc01d6882d0786cbf7a6c7e1576d5034909c1b8e60a8507247ae0adced475a5d8505dadbde15742f8bf1b0a0b7e3ecefe59120ff86127a0490ce7a835f7e6876bb0026ac48fde95c4d56384c7196eecbc19dbaf613cb5352a821474a2fe08aa43400265c2f0b08191356d0d1019df33862dad73eed9282a10b5f5c2f59a6dde3dd07994beb9c53c4be1e7cb59b2f9c70fa75ee1354bab40d910b19f5cff5babfc804bc3f1ebfdb91346d367d24e82f83d8131592990221329cc5e09eff05bfc4ec0608d9483352912dd65d6d3b498d39aa5fe63bc7f19107da8fd7e1b68d7822ec07d8626a905f65dea4fe5b8460d3ef491514b504886bbd46701a7f44edd487e40064c591bd4e9b13de2c545c4769b82d9897b1619ff2c849cccf058612f8230905fff5591add16c4c7e461378a50dc312b926792daf5ad4d8b039b5f2fc1e1be07b9677b93e2fdae1af091dbddad704d7d68110264a96c2b183179d96e70174407e1cb90f3f52ea64785c6de930f98f2db4b286f38e342fecc487edda211b0a206303ad4f1804d53f9a135e7112f876bb7281ee21ac0c24c917da6389c925df2041751d9cda317b2f8c35f2fdbb10a6d9ccab43389931e5552e303a46de1daf503c54155f617a8c75ca442f015703edbb2e2d56ad597ea86d88369bc6c709904052a1841335abc9fffcd8774cf8930d50f173d966e00a8ddf9339c22c9867452050012b0ab16d744d60aab00be57755b6cf9a61ffa213b48847c658134225682076070a5065ccf5720230243c8fea1c90d343f86fa038f86776911ad7643be3301a7d2dca75d9556fafd3293170a84a2d4f2055123ec7a76d5953ad4c98f31650753c70e696af64ff457ae5fb6eae229bb911334fda6b41ac171683041ac6cc7043b437078d6a27effdb2f73fe9b3c5e29a15361084eee5bd184ff7e6658eb5b02f8abf90663db196cfecac21458f7582d0cd98cc2f6dff94b202e3acfb6e42e06d018a9a64699f034303c18eb9de1055b40d7b372f3fcf3ce44780f8e5bb7ea029a41ece0ed7c3057d2bb7a50378ca09f706e0647bb3e8f9490d422c780657602fc15df0799a383f892b94cbb038c7c892ea8da6602b41bb6b0964cef736a3101c27830fbe88935591744bc78bea107542a2edcece75deebf1197f7358ac97c00a5e3f12b7cc63b7956f2bb449a9a66b082c009ad5ccc1d5720209ff47384bd04abea3bc7dc88bac0228bb992023aaae6e9662de2e874297e6e8ac526e3d9a3051036fa8af57fec7e4f5e580624f976b6cc687c2660963e65af6ad31db193be02282dd7e02b57d94d3fdaac8f593c9338d7c479b6c0836c9d17a27c3bd957c400f1da2450507732409446c138878ccd92e255c1623946c041163c3ad8074426077469654308be5bf8e8eda05bf6809d78e8658dfc711c1c3727f7d974f3d016008f14bd7d80ba37592a9f2c0014ae6ada5c1ddd08f9b93a28f6f5b4ef034ae505ce3400853eb00e19994c70a0423d507501f198816ad874f4020c058463d9630706abf1ea1a2d38f25aa0d40fe17f919e87c5cc3c63e15937391782f27b42e5060e30f9ec8762113a4cf88a01b3b0cc10c58b821f5ea98c311821a58836d32305367e8854ee893e31550ad86929ea19d6be1fff6f92defa5ab933dacd003abc06cb1751cf1665f0957db9b9d6c32b1c7b2d5962f4d02e3c0c6b537557a27c9d000000000000000000000000000000000000000000000000000000005014c66b05b80b4668d825116ba219c8087eb5d7423f122950bf9f015edf05ca146c2eb6032977e791b85942aeb685d5264af237f53997d6bb91ca8d9dff8a0a8752a6e1020f025718db004498166db0e9ec1a4cbac40efb77dbc6120846371de279cf0102bc45dccb096ad5e69a0c3d93065e0da275a482a75e6a3a467252508b69dc66058704398171b0a003e1cd3cbc20517c6bb9935926598f4adeb5ab729b3da6b003a4f51f2b687b285489124cab84699225af3f37910757048c94f3f795a4d1510621a781ed596143a8b4f962308df2af747296dff7cc89b11115926ca3816bcb0623e2044adba0be7b8e020b7c3a60b501de09154802d1b7e89239d6d68797de015c6344d267758603bb4259e4feb2518fa7adf53056bb433f5932675d405641063966ed9c1cc62cf4fbd6ad1b1a2e19a4fc2705596802573a6e91ba9fd5bef101ce9871b1a3d970651f6577d159e085c10bb229d03efafedec907fac83ffeb807398605380c0f6511f16187f7a9e492b47090e769bf9a2a297d0c322e5cd4c50796b0f35cea066450081483dfc77aa595ce791f6ebc970d785c689ac2bd2e1501f18f6ad7f6b7cd2528831fc1f845eb3aaff402cef18d087dbb86cc70d70c5d0642d6193f831439718afb00c48273a244bf08306b18cd947dc37e84172e6beb00f0046fe7d0579b3b958bf539a5fe6c07ea22e762b7fd2188914b018d1e93380454c6dded5b445d3c78ba52025dfaa575f2d9d2a8daee8cf01c9a876ac6894f075288d415752fc622d9f65cd6a51a7e8c65585fb870fe97a1a336eb291b8bdb0485757d298d06997675174c4c65ede77c43cb143ed3ace72583cdbfb195249d047aee65edb9728d424db645d5ee6bb921d88f6bd3c369c8af837938e4cfd6890264305e8e1ea8f10ba480b6908acfce8ba9904a34fcaff155d97a36f295c344025e2a5de5ddd1ff4d619907e2470c1e613b75d47320bb956fd651134defa7d304d47789d223b2a2eb640d8e53a4696e8b9e5f51fa057b82caba1b20895eec4903487281044448958b016f255d8f37fd2e5ed3b5f67c0d17e0391db5538432240110dfb8d876fc0a1c28c81bae218bcc6fedb8591cfc96171b03bfd5d707bdc6008699e6c6ce88aeb2900f7e00cf9dff7f7d0b871948b1062dabbe37ae61021305a417923eab6e1ed26b7d5c84c49cd3c45cff454e58f605097c138f02c38c0f05d1ab8a831abe810372e235e42b89feab265955be62671301548b14ed0ab1eb02bbfe72f5b1b476e49f874d4cf8ec25a940d7be2823c8fb7247873f0bb3a06a04fcccfa45939cd3562df6168380dc46eaeb6537f98a8ce5ec61216fdc44aec907f59241f3eaf303a866ac73958bcac481ab12d102fdc6e2d8566bdea0fb05f8066441f4936c7b8c94808c5a484c8e9bac137f035f06a04b43c0042891fe04070728fcf238efb86111d72dd3b0e2d20f0d08e8912a55087537568606076bd762075de8d512452298c90265a15c8034fc696ddfb093fb399e74fdf636837898ac06ca3bd9a836904226df4a40bed73b9ac7e521a1ac4179d15e22adb0a142243a05764279a2c4318465e1abf2580fdedd0ad100823b2f4deea4497f881a79f9ed07c066e8792b55be77d4e9213a1be007f8d7c33f3a283f185382cf7c0448926306f1d7bfb8e597ef7bed4005283c1eeefddc32050f8f20ef97991cdc92fed1db0104c208dcacb7dffcf7d2463d5fe981ba99bad5e848a1a9cef249fa71b6c8a002bcfee38bcb54bfbd6d693960b0106e827a8b3ca7f85229b096a9fde04529e80774887b5740464c111a7e2a92e7fc1a2a4fe8cb15c7e47f5204b911d06b8f3804b0a1333ec53112f4a8640bb82cfd436101289c92c819d9ec2836442408288000223001822e6ec7d30bcef8e4f849cfb6d12bab2e8535bcd794522b3ff7d23302ab1b97365fed10e36fb97cc1d698bd5397cf142b0908a2de7e59a083ad50870778f15dec36e9233f0a6336fda85f53d7b69140fcd9c1046057b2a67ed3de550357e448b88ef3b6c86434e8ec7fe0791a64eddd73f8649922948bb411c57417064e14a24ba4e22de2f1920272fd30b79a1bc1eae3746504a299dfa6064e911d01abaacc35910a3d397f5784c5937e7f2654edd7be1e2f0f7524d1cd35d08a51024bf8a1c10c6d79b4c1ba50b5c1bf422dd70fd2860b50041d2991e6e88f855c03a850f1e4dbbaf38920c428b93d35b25c6417d28fef7937a95867994316a90803a5d2cac98662fc736dc6bfdcee43ef91b2ae8841178569bd8de77df7ad2c7c05f8436944061a13493b550c5177c86f92dafdd998b09e55daa81d4f7431b16f05cc30971b7d885423054f1bbe95f0be703e0455cc06c176d76efa86458c564c0224ddde9b20acf6da65a8f4d919664e6df4883df4e4a18e43efe2c04111188802658ae7365933087c8f3f124db85628632fb9f6f2209e559b16e9763f4b57f205ed03b3460ac840f0de7a317538581c7afaee824d07d3c48efbd8fa09b8afa8030af249a3fa1bb9b5e1a960f9ad26c84a6e66916192abea03bc6f1c94471a8c042607bc69535c5352f5bd6a9f681c5942a9069e5268a92bcf3b74265543ff6901577da7898da32156399866ae1668208aba8f7d0b43b9b8fe1c54bd37dfdadf07e2292acda515d3cc169b93dbd073275ff688c8a18a9ffc76482de0b9fd7a6b05f30302c4f2f9ff6561508054c6a672aee73fcaa0d65ae0fa2632f7427351a001871c465a2246f3d1c4679843e09df5d13378beb0317bb60495c716d5bcce220119520b7995c3a8e1d7315703f51822c0c5467415cddf7830b6f35a7b3d6f4805fe0f4aa2d4ac3a11a322f3c418e208c1bf6f45b6b7b70863d5519eda65e36903e303d13ec8b076840da94214c2f6ebf5bb57318d7fcee05cd6dd25bc85169a072482a844565c75f7e51418be1bbe1970d61c843ddd253a4b254215b1938ce2065937bc91a2ccc61ef767291fac697e68ee70e58a169989a7a0bf381d6fbc4207d5300abf0fb14f91e6c7d998d1c07c7217f3cebe0d641230e890ecb0dd5265037a77f417811f623a017aa39629019bebe2109e32c51175fcefd7637bd7e0a804c78e8f40da7cc2f2cbe950997dc9ce1ef5bbc36f10348c50998d2b9402a22807d08567dedc283f6942b89a7f7d786da397b7fe6e3b72f50f0d0414705c2c92008537dafc479ff33d17cc28e89bc3b03aa8a8fabfd4e510d5dfdb4a1e96c41901bf3dc34e2e0fa900e310d3f4ac8b8abb9b5a33084832a0fdc40ef5078aa9230384bdabb8d4c66ba461280f70d2c2d4079366469bd41d3183dac0ce2948019000bf0c8a75c1acbdb224bbed21f66c31209b7762f084c7cdf5deb8817d624c9c0157705294ab1421c109745d8a8b4534dd3188ef71faea090702cf3085787b70039b1614a25da282b9bb7844dc274e17c6dbc9c58d0ba92b34597d1e8d19b4a1059ad9531fca7fffc485a0648cc8e4c719c152c9717be42af76d33c4ef06068707e51d38952a17f8228d9418d88cd33da7d4e323309e1d6c166170274afb2cd301db3f92247f2a7bc6d6e616e7985afeb4e0fec145099cc0c5008a51e7fb64cf06c6653409a4df05aa5f8e47fee1a9a2eab4fb1c2f5722e435508304d8a329d904ccc10203e7bdcc284aa76f9fc699d6712171c3ade8775153626dc56d14915903b16b8e74c1fb080238835f0302678c80b99631360ce4a1958f5784e84bf02d06673ef3d728d4a2e2a72992fff3dfe905e7fee7c73825c95a529e6e39c205d3011ec936c9a3658f66fd5ccd33ffa42d3c26f1c99c162627cd3174b53e5e2fb802730282e0e4852b5fb4cd46b4aec60fa9933addc259982e603511cbec5d46560002f1ab83332ae7f6126d16d90ff3ef67cc61c31aa5229ce6af5c0188df96b703784dc30878745bef5f37697825ff9237af7572e32f6f1ec4e4138169019fe005362b770e59f5d308b61be1f347c7379358b4588c3fc17b83ef6cd9dd2e0747023b867522aa9ab5ebf9ca44973334bd6e30bf77fd71c4c1080ff217284378b405339a488a36a8c6d9daf1ebc764d0444da642608330ddfffc5f770c77a1aae1011a5e88fceda390ff121e2e6e21c4520395c97ee1256968f16ba0f9acbc4cc50125ce2f75aea55fcd473dfc26b6b220ae8414662e9b0ed91398b3b81ec3be7907e4a4330c1f6852d9c7ab7267bd062e34c3874d893322c248978c957ecd8b2c048d20fcfeda02c051b86dc71c7ad6f350641a0f46daa8aafe946adb764e238f06c15535ef2cb17e18fc5961b92db423717b174bb30dee1fa12d8b0450a34c9e03cf96e5c23c0f2a2bee2441a558b2a7fd3be0fc651e6fd07049f79bc63a4131066b8f85de11086c43895ce3909cf7db39cedf1e444275ec41e5eff4e2ca8185052e47e5323598f47845d15bbe7cce3ac5738fc02930160e73df71ac16f62431064300e29226b76a6a42d0f7b251998e81e6092235e9e89186d87a99505f111107bcc97de52178daf3dc3d86aba08420698398795591c9d8e35fc3433ea75d7202016eec0a6ba708a70b7ab53466e0ac06eed5e9200390c6a166b47f8ffc14cc03b3756bcd5afd143f041ebeeda92f1fce9da07456dae2a672e4a83d2152319c02ae7ee77d86ab226cb5d6e0c4c8aa6eec90863b718df307efe56009883c14ac0049af72379053ea3607e1591a5d0468d0f53f52ba1548fdc0968f388ada2e2c04d7ff951781480792be1de445ad703efef67a2a51205d68444a2d7ed300d5b105688da05d8146d745dc0ff545a3dd1d1cf7606402120f77c136b1a445a85aae00e1db17f8e315aeb2b8afafb59a2a293008336d666f4c00cbbdb8721c8606ad07681e4d38325bd8b9123d7529fd017d9e8382a878b20a9e4e94a179705b88d507fa1b623d34662163aa14d0ab2fc6dcf5c1f7c34920123ebff670579138c59705d29e131929fe9cf21c98284460f11a90ae98798e899008d9be1836192461b4027f80c17e0f68cf0820436335c4602a4c12abc2f53e09ff91f60eb571071c5901b87754b790856305c0f1c688ed783e44ecdf260b71d3e52797e0d79ac310c002755c9202127d62d0c8f7c9fa739c1336c34e85088bac1e32598c4afdb99b98022ddfbedfd27e462b8890900637d40d74c02bf4e3b4c16b520d6700044d0bcd0605bc759d216bb0b4f98c5cc85cdd8184b298e10b0bbdda44c93f20903e3500037512bca818c30b8c42504a856e102ef06649e614b8b03331247dc9bddb07a9056de1b3c1a4e34b705e3dd658a6358366189ec9433478c96293d1974aa170c201228ffe853b0a4539e0eec44f7c82b32413f26612ea9d2688bbd80876bdb49207966b8b36a8bc057cd29efbe0422e49701b5acb7f0b63e165a6081add78be30048f70137028560ffab692a2a3f594821d3eccf2a76500bb37e7d62cf28d939305dbb9ab6250b66e4ada70e57199aaa710fdaa1eb7191482bf31cab628568bce06d0a3441b0581214287844c3a776bfeb14741fadac95e704a939753fac80fdf071fcb7b7111879d1442ee7ffacff912a5fcd88f90305562bf3cb855e200e0d1015d780ff5df6fb4cfdaeadd1b1d4204d6e3a2146fc32ec9c13174c0def4aa7e054dde9f99f9e4261f26b7e00a339d4519e76b715c941edd1050a98c712ed37602e7d0f7fb77ce92a733b99f847185e5241648660120c9b4e6d944ee2e9cfe5c0128fbe862fa515baabb9ca1b834a6797306ea1dc3baca5d3c6f71291b388edb049b93b4bb4d4f05496b680f4c97ddfa71e022638ba5a6aaf809e0b006137c3602d41d7c7e2bacf8d4f513e02fa9385bce0d8106546dba46d9b1dc581816f975062e1c87f7c8547b22fa9252e9a42bb4ef9385925f43dc0814bdbd5438675793012ba81a861f0cda45881c04229210a65121dabfa9016f085470716f88d9f3a906cb62a01fc87d57b4deb7a5409326d92d6ef66a7445961ceac9b4829c003fa202208f75027fd20f21c6a848587c1315ac37a216192561026456dfb7e9caa8a50421a33a4a8aa212ccb375096e7bbbe769adee15bb4f171881287604525bc168030160ee817448e88a51a31ddf2275fb215f5de2b816d075632ccb7f984ebc4502db189ba0249f9d904d2d0dbd70efb1afbb615a48b102da010d6c4161927c6603393e854e6fbfe2c7220380900e33a63733c56789cb50adecefb01170934db203aef53ab2d7ef518c5d6774e45b001f7fd052875ccc4af43863f1aa8a82805203539435f397ae559c347bd4991a263c7d33964dcce09c11e3c7951369a0a295007393ff36021759dfee96d187cfcfe8de5b30d4d536a7b5ff53f067d9497385027e0f83581ad3b1a406e87ae58f180223f1681fdb1a299c75d89c47d01246cd062780cabbde5582f7d4c5069e6c857d4be69068920a463b72048ce062ca9633029912aad9752acdf71f48d5097a142b6b43af9550875e6f3c67fe1e50ed13ca043210da9afadb55b0db7d57564ca5fdd7910b6740a6268804c1747ffdd5fb040317c9e546e78d7997170a69feea090d3977b599518aea9c0ad6ede08adad65502de9f815199b73bcf904c56962acff0725d5735a3c65896e2a77e6295ecde46066af7e63cb2703a312099b1676109147a9d5b25c5d1b81e0fc5f3487b7b061d02df2a6a3e171e35b47ba8991e0a07a00ca5c1a22bb541abcc79d745606d16820786b6319b0675c6a6c8638bad627c8e71a5f841bcbd8f6fbbb1912bc6a9f2370372d14d37a3eabd906dc699794ab9a5e8432fdc8de50d76d5f80b9c00bb076806fd87fe0616179ac01981a436d7672b4c67b3857e802ba25eced251fe6893d004d09549be9c7e868eb3cc650e1969068c7603e1e1483602f3c1804b0b2107e003729a53313a091f2429fbb219cf21859848aa418ab345c2d6226e525992d554015d469175f71085be40a9c6f9c6a4a0fdeb53cff86cfa7fdd524c00a668025f014b942b4dec4c87566789e38c8506e2f90ac14bf3aeea10246abf183467095d0625a477a506efe42b02a2bab6d994fb42c8a1bfc4592a141bd4739b67ccd8bb07f364af418b3ce367888e4b4000a7bf47618fc38ca1bf4a98ba651620106a1b038f0ac162df5e7b2c564696558897767bc08476e4d33dd799d119bb6f55a66a04563d416b56d6ece9201c361c96842ff7e09cae7af276b0859e37fe82d9df9002d296eb9d80f14ee74736f43d43f891c37aaff5ce87b454644894517482fde8059f66550cd11a02bc870c0dac18c909ccbd01850370970081c5a47221a41d4a0302c3853f61b8970e64199cad2f322472ac1ea8809856c32db3007e5955ee66047aef46fa34d3c358668cb209df32622ac5f5a8b75133e62fa4996196a5db2800d34d3e23558a0aa96d116fc368d46f7ed9730cc37db6baafbfc9cff19cb5d60208c8b52f2299d2ac8bb4c9d8474f98462bca6def133caa5654f3cdb27f9df1001219792358a6c3e1d9322d2cc9f806eb7d499ff8e2ac06df44f40401ea56b40517a23c07b56b55e8255364dac9efc4365b47027a7712b9aee0cb5306d7331303739e3a795a97a5f72b449994d99aafd0221a3f6901fa0591e968e05fc2e56004ba9b1fc5ec3394b173b2a5b6b4d49d6586ec85c36fb103a12b92411ec25e9d01278d163a0972243a1049d416e5a0190b2ad5cc6a80e5eaa0684305d95e73840126821d70b0e54f870b358c07fa720cfce156ba81e96bf5e6e1e5b459e53d17040b4c5a74fecf9beee9d3165ae1f960c57d59c08a9ffd345a0c828b08565f2202605f8ae76fe82cd5743a1c567205ce6c374a7ecdbb0cb05f50379885195286045364815ead70be8364e7efc847abaacba77a38dfad3e5ce931d097a3426db20631f873dac681aa71517998a43a952d513d879f059b1c6326f19befbcae720304fcb14b031a068e5f0b984e7c1f9a0f09b8ed96b4a8a4df126558d9ec9e7cac0614f78d0d5c03aa22a4ad54cf9e2a22e15719c603fb398c29f7163531a9147a034b068b0f885ef8ff2d4936bd05fa283c3b9e28a2ca911399351e638686aac8009633a2210b5f769fe7992bd406e226d83263a803ae97cba10d9b702fbff777055643d0c3cc1ddbbc0f7c21293999f6294401e3b15b01a59ea1f022c073786d05a4bff47f61fd6b04b4730dd635abb8a4ef2506535f746911814bcea2fc25d9053ba554d0cf71d98677b788847f7311803defdc983dcbfdd77c064d3bbdcaa8060c8f34d8bf50be4f4275a82ea9731ed720df7846239af27c08d42ece16def2013909ead3148e3975f7654cb31547a8bbc0222cd574a78253e365d7ec16e0b804c430488749708085c547dac118398c9e4ba4338d7e69701cc2be69bfc27154016ca2d60cfba68f9d759f956c24cf66132700d715322243a8e0c9522b6ac307041a6650a8c85043b5ce3dd249a628354ceff4cef69b73861ad267636f4caa7b001c3e1d6e60d2b4e9f196cb83563830759d5dd4510ff3238b370c34161b467907af222afa84d69035af7bfe94d478a3ffc22e04b15e4f167ba88a5989fe4a7b071cdc65797ab4ac2c86797100115664e68f50854d7716481a1fe535e45289ac0037c1b050b91258ed0221479dc52532a132147a6616a021780eddf4ea7cf010041c948c9ac437444f8662a33dfbd7a55195d4d6ac3591bb181d8c3cb2f7d59503c3811e81ca5779799b0c9629e4e443813a5c253afa6af4b2129c261819ebc1061e80e63730281c90bfff03a7cae1187bd017769b995e6bbcba5d8c013437ab06ada14311242fb65c324fbc23bf44a1a0e86e01be9d6b92809ee889ac4575c907f43b47739184ce25a67a55aa724d5f1299a73497c19baf19c5bc0ca3ffe187041ee0a5bb05f38971697fba758424a96ab751f6e135ca85b320d5649992c9ad06cd95f293421afafafd67e4a4d3aed073b892125f02b76ee9b885d16947a10e03f8896aaa0d315fa3fbbe2a46b4752e08f6c200af63dc28ebb94da207f34dfc076ca4df9e140282fc6f8eea1cde3e49af341b1f617c2f90f5219b2e938e8dc2021d92d94c619dac911654f6584fbb5bdf940ab09ff9677c3bccb28650c46855039a5a1d145dba92a7c170e09f47bccac56bc9f22cb1a6f35fcf54b657e3bd560798b9bd4f0e0759cd3e281b5db4d1ceeeff23418866b2b733170bccb148d233000000000000000000000000686cf0502fc860240e48474fc809a839f384d4a2000000000000000000000000908ed86a116959f486fd94bc2b657cb28bbf6c5c000000000000000000000000592f258efa1953149e92416e2c998ae4d1c368980000000000000000000000008f26742353ec80acf6275995d9590d8a569f593b0000000000000000000000005f9a17e4007b4fda447effd13b9c7fdc623b65b00000000000000000000000006d50c254df90c54908cd62c4054f1bade328edad0000000000000000000000004c215e17fd00169a52e4607076766f574081cb3f0000000000000000000000002e6a88168eb4767734a222bec25aaba1ec0f1db50000000000000000000000005f6475e1e4cb5b15475156f941ffda1a23b10398000000000000000000000000eaac0553c7a4d3c9b875f5df6e1cacc072b5fb8b0000000000000000000000008bc40ffb07503ec08c3dea1669c9dfaf283787fe000000000000000000000000f486f1ab6e561ffffc42374473a70578e4dcc8b8000000000000000000000000e45711bb966c3241c0dfebf35d39e2807b8a23f0000000000000000000000000266e00a81b69769427a725c407baa4520d2c65e1000000000000000000000000131407a01f7ecc477d48f539dbd14fd4f7232f5a00000000000000000000000052ca3fb3e78e3e50bbcc13bbaf80639406f8d8d50000000000000000000000002816b2d5d8dbc416cd853de9fd2194c9607b6c3f0000000000000000000000003dd76b6bf8dea309b0c849832193bf61e89d6c73000000000000000000000000d53e43201ff8d4f310ce1df2c5235467b2509ba0000000000000000000000000e6c93b3c997a2e6478ebef6a094a1ee7c3ad5a11000000000000000000000000c6873c2007d27d1c6296872daeafd22acf5bc9af00000000000000000000000048e6027ee42b95895042a13e55210486a66564d70000000000000000000000008aec6112ba21cf32a9c9ec5f213458bf3e119a540000000000000000000000001e1b9f33c47887e52cf99ee051d2824f5aab6f570000000000000000000000003c29ff532e01de232d3b95e1f1e19e6074e29a970000000000000000000000003a2662469af325ecd22f1fd48bc8c08a7979097b000000000000000000000000cd95209e46f30c56ac5f683704fbe90ac8045388000000000000000000000000b2f41e663ace02a85c1ee1e544d51716cb947da40000000000000000000000001f997029a4d06cce90b1b3526605a679d5700f0100000000000000000000000065505358feb2446d5dcb2e1887df1478fcc909d10000000000000000000000009062f5a1087a7fee7cf67db2fb26b3eb227c665e0000000000000000000000004c203d57eb1b6b7a1d239011ee9bb2e948be2c470000000000000000000000005dff7c9809accbbb468fa863f816e95d25a6cd490000000000000000000000004df05c9d636ca82feb9a563ba884fdd32ca397660000000000000000000000007fea5a80e017d396c5e8917c3133aaa54db3b69000000000000000000000000031a7ae366ce07a70ad1f619b456533682333d76b0000000000000000000000000522b36c2bc1db70b96b7d310961adb653e51730000000000000000000000000c70ad8643303002cd3ddbfd20360ac4b3022a71e0000000000000000000000005bf46ae8f4ac5fd7eba359804415c88da2792ebe0000000000000000000000009cbd9452154688a84bec971fa8478085b8c7f182000000000000000000000000c4290c12a6fe5091b6d464ece9dc78eb58c67c9100000000000000000000000044d9bb5e97a2fd309a84248cc5f5fdeca45d612c00000000000000000000000083927f79d95b4ada498197198395a841063b5809000000000000000000000000f62af635cbbf67f8d36655a046265e94c303a8ba0000000000000000000000005b4f69904f8152244f491f5847670b83d056ba97000000000000000000000000db66885ff9e10f68e039894888d9c231e3b93f760000000000000000000000008e7929fe7a364695662143d3cf6675c5a565816c000000000000000000000000945533b955ebe0279f369e9d47fe1fa7f5b2db750000000000000000000000006df9d9e2226d8c0a29eb8e10c03fcde02dee2974000000000000000000000000078aa195e0158449b05b8895bfbd16dc2332a3c0000000000000000000000000316503f41d0a4662b3d437708a1b081782ee44c3000000000000000000000000422f850b2ff44c5c46faca020e6fbea41baa0d6000000000000000000000000044d44cf701cd1801109ab013a0aebf3395da123e000000000000000000000000bee62883de6b8c1782c13a6c52ec74f678b1d6310000000000000000000000005d13050fdc00574eac46f4218d1ae57029ce8cca0000000000000000000000002f83e3cdace8d293c39e62188d6ed08571c409cf000000000000000000000000a6af81c57b74846bd6c4c18006f4f1c22108da690000000000000000000000007ec0ad5d38eae49ce67a9da99b73f5567453ccbd0000000000000000000000002d1a674a7960938d18fef13724b743ad7fd4cd1c0000000000000000000000006029c2fc2f56765294458ae15f6032ab2b49a6b7000000000000000000000000e41dead8b86990b796cf5014e7818331f6ef0d740000000000000000000000002e4b19f6a5fadd5b171965b43418b627533f8d6c00000000000000000000000001e848da33238f249868f64163bd33f6d88c7c8400000000000000000000000058fd3325a3045bebc8dfe8e27563af3c26cf501a000000000000000000000000f91f8ebe55ace8a33b0094cd9f3cdb4ef1494447000000000000000000000000c20f3088456b9d0349ae8dd97aff95702cb398820000000000000000000000002902010ee3030783d7c3b516c2e50f957d4c35a50000000000000000000000000742fee142b6913df35738a6dcff1afc44acba0f0000000000000000000000009a6435d5c240951749e91c62200c77796a2ecb560000000000000000000000000c729d7d0e83f77d1fefcf4cdd162380870622d20000000000000000000000005f17ae412229c6214a492cc27cfbcde6ed1100f2000000000000000000000000bfed201caa08f7deb308ca94c0f08d436f714ac90000000000000000000000002a670c67f6cd90e8ca4a49bc49273ee9d628a6270000000000000000000000004ad7da4e787d7568fa8b17f31c58a479900fac8b000000000000000000000000005500c3b438fc9c4ae5b4558b43e926eb3a0f5d000000000000000000000000367daadf4b3a80f85c34ff9cbb1120151fe94c17000000000000000000000000fd2490447025fe67aaaac1617d299e7bcedddef40000000000000000000000006cb8d56520e12e7ab8b0533df8271ce59eab8d460000000000000000000000002fa876e872adaf9a95b3ab5869837e563b328936000000000000000000000000903fbc7c7b2fc01d70dd21ec008873b62a6e7c75000000000000000000000000332f335ecc575e3816fdd3c1194bb13ad3f05a400000000000000000000000005f5a9fb5be98083eaa4b512e1daeca887f8a36620000000000000000000000002147f394c7bb4da96899b5c8f4cd679e10bd6a11000000000000000000000000cd125258892dcf7d2bd5e282f570c7cebe12eb9a000000000000000000000000ff385d27d871291ed9c023a1120507da3e20d537000000000000000000000000fd60a204dcb241a734aaf506088c56cced41b8d90000000000000000000000005c54c8ed3d42c830ce2d295d702ece82db222a3800000000000000000000000024e8875018e868ab4a39b74c99d4cedd70118f73000000000000000000000000fc5b3fa9d9dd60c2e0b66c5dd626fd254e0433f4000000000000000000000000ed651ca4daa849450376c4ba1abdb02ce4ca80dd00000000000000000000000014be5271c07204b0ed9725f477a79b941eec7111000000000000000000000000b5dedf0c8560738cfa96cc64bb3db2551de6027c0000000000000000000000001ed6671ac7f747e60da1fc4130ef4d5cabba672a000000000000000000000000c959ee8f295647412b6fc7db0aeca921eeca2241000000000000000000000000bdf46e6752d2ed8fc2b128d55a36accd39e1b5e90000000000000000000000008bdcb3e603526e3eb9fee8c443aff1619d71d903000000000000000000000000b37727bbed8d62e79958d4435bb928a91e1c8ba80000000000000000000000007841fe96f8245cbca60004962e5f64a1723e9c0a000000000000000000000000de2d2d0d257bf65635cd97c623e6e6993b60f063000000000000000000000000bc048bc41b0de5146b73d354135a4344e5ab604a00000000000000000000000028c315fc3f68eb546e35ede3e9c023841118829800000000000000000000000069b330bb7d125926f118ff589693c02a90657a97000000000000000000000000efaae0e81d8a63ca817aad842687da0bf7fb83b7000000000000000000000000ac759a4158b2bcd792caab0224190d2f2438ac9100000000000000000000000039517b93e0369181d63ce529ff24a3494cd924c4000000000000000000000000fe1680b4331ee1f6fdeb1f11a9fc4cb13eabd5a40000000000000000000000000a0ab933716a29e919075f4f1d1ed8ebfc82fd0a000000000000000000000000294f7599c4925b17ce660d6facad012b374b0d7b0000000000000000000000001d68f5a9b534da1992ef8dc978f9864a59fba6f2000000000000000000000000791761855d4108d7efc0fc71044174dc1eee1b8900000000000000000000000004d5229c29643f3917f580d198c717b671f6d89f0000000000000000000000006d712236fa2441e58149b20f1105fcd074333f2c0000000000000000000000006000e89be52d25c99f82d669ed8f20609a0fa309000000000000000000000000d1b7b9eaffe5e39b4ad648bda5ffa375d06464d8000000000000000000000000df3e133eac6a44e2b7eb47df2ff769f151eabb0300000000000000000000000055ff593e4b74e61e6d81fdce494f0f4b443b436c0000000000000000000000002132c23dc7f6b8f86bc9d6b0781c1b27fa29661d000000000000000000000000cc94be28d533c25a1994603e6c638ebbaddd4ba90000000000000000000000005c24ce84ec05a4f856b762da4d199e466a89eb730000000000000000000000004b2a0ce2095e6bf39f1ce4d1e4b269ec7bc0435000000000000000000000000053073277897d7de30eafe9c69bc94572f7feaf51000000000000000000000000e986a233e4e7ec7030b12c26b66bc5cda1d5c767000000000000000000000000f4e5e55ec4b671c11d7ecdf9f24ea6ddd1f5203e000000000000000000000000fc69430e28007d408dc6cff8904db1efdc4783f900000000000000000000000013cf5197472b9a125480d41d35dc40c52c8e3f1f0000000000000000000000007193b320bb1f96bcc5661c989126673729884b53000000000000000000000000993462af739fee85b5b639a7577381ce775e4d2b0000000000000000000000004d9633af1523139282799039eeb9e9250b1af1c200000000000000000000000050002556468bedf8ef621d6f263b0cc211cac74c000000000000000000000000d032af0afd38f9daef3706d16345cf7dd5d872f00000000000000000000000005c73bc32b8ee40d384e7c147fbd76fabe17e21d3000000000000000000000000cddcb5a490848c51cf87145d1bc29f48b3d577430000000000000000000000004308114a8b4b22d0056c160cf3e8655c542e3029000000000000000000000000dec7e18b91683a0731800d1d91d5c5b83e480e99000000000000000000000000bf0e67a472362246e1ce5b4b17a7e9e95b1aaee90000000000000000000000004864046441fefbf45831582500437c8f3ec66556000000000000000000000000eccf16bc9907b99b427139a571bd810e55f413990000000000000000000000002978a15b3485e67357eb930fe6d51341b1ef6624000000000000000000000000d63460795f7a81ba5938aef8f738873dfa21fb81000000000000000000000000e201d41eec9f1c4eb28a683adb307065408eec2a000000000000000000000000fa0abef39f4a32c0b295fde95cc0aca9013f56ae000000000000000000000000acc428eaa04e4e36880a790d1f7b463b3e5c86ba000000000000000000000000694f8273722c7e5c198245a4ea5d1474440a02f400000000000000000000000004e60bb2cb39b4639f55cf7660aa85dd9bf533c400000000000000000000000061f4062180a310d3739ec86589e7b26e2e3dc6d200000000000000000000000052128c9b996aa330e8497f29b69b56d696936fa0000000000000000000000000d0aa6db472fc8ea54dbc89e42c5cb02d29a11aec000000000000000000000000a49909a496037d789e4f4cee14d6e8fc3adc53510000000000000000000000009979fcde360b95646db973e2e1f37c56b81a110600000000000000000000000090a80e09d5c2f2e48adb5866cdfc0ac1aafde93900000000000000000000000035bcc3efb59a8df73a89543d420b70b7f4286976000000000000000000000000c4a9bfaa5754626d42ab02b5d41b6f6495869b620000000000000000000000009f3ea1e1382269f7e6d0cb1c6a577d865aa611c3000000000000000000000000829825e78a45b299326ea26f7491fc8585704ca300000000000000000000000010cca32bfc3de5cd8411c667f8657fb61482968f0000000000000000000000000fc4a146e22dcedc500e3cfbd5fb32c5420fa13e000000000000000000000000b8b860be5c42230387065a9f7a575e4e85d437600000000000000000000000005f4b1a2a58e796aaaf6be951a4d6c348de2af927000000000000000000000000389659f924c7125136fac18e8584cb15f48ae7db000000000000000000000000b9b2de8cc5eec58e38a8147af43ab05dd8d4ea490000000000000000000000005cf7aefa7db8f7bc02c9a9af1849ab3622bb0d42000000000000000000000000ce7eb874cb7327fb5e9b97ab9d90af4a014ce43e000000000000000000000000ad6a5ff44559cd21aa87bf7ef673664b0cd5d14300000000000000000000000082f9538d2ae666603183ef6533fbe6cd6d4074fc000000000000000000000000fda14958f27b3f16226c1b4198198647696a551f000000000000000000000000a4d5b3095f0a8c6d4548d7337c28b1732e2d05a700000000000000000000000068b3bf7548c4b30083702d8fe0aef7a648769aa10000000000000000000000005b0ddb959589b1dcfe0b9af1e7bbc672d7e6b3960000000000000000000000000125850dd0b8f8d9729e8a1c6733d46e777598b0000000000000000000000000d361b9cb88e0c7bcea131d38a1590e5625b6f0db0000000000000000000000007be6cdee8c72709fc9dca5706fed91a0b30938e10000000000000000000000009e4de43cf54377f513b9f6bbe5fa6c03aee1bd5e0000000000000000000000003a19672a76b805d7f2578b26cbb62f36e22fa63700000000000000000000000087ede2d274911cac5406e7925b652e35fce4efff000000000000000000000000f7228a23d1b1421e926667be1f4c48f075f5db0b000000000000000000000000ebe91b31c819c1109fa133a852022e83175414bd000000000000000000000000ff65249f5c9b79267dc27327234d70236aa3502d000000000000000000000000f731782e9709807bbb2ee73748a633becb66779e00000000000000000000000063aebd12765c88317b6f7f7a2138c49a925844b8000000000000000000000000d64b36eb6cfe5c0cfa8a72bbdaff6b19ad154907000000000000000000000000e64c256c6c6a007759707372e509475bb7bea3ce00000000000000000000000078ac24968216aa73ed0c547822ccaa191871fc740000000000000000000000005ee39646eebed309ba47057bfcc6284513cdfe03000000000000000000000000e63bd3d86784212a010b65b24828030c616c950500000000000000000000000033930e4fecdea472158fb7eb72ef85cb944bc064000000000000000000000000b191321092498dfd3aeb590c106937b36dd759670000000000000000000000003fe0bec6a99e6cead27592860427403ebb04de520000000000000000000000009c09076ceaea8d109abe3453ab45769928827f67000000000000000000000000b535f5328f3658665f0d7dc1406104729210e3b100000000000000000000000020f309d69ed89ac7d0dfde4cbbd1065d85b4fa420000000000000000000000000adefe8743419ce2307ff76b8f4cd153001c52e3000000000000000000000000abfe4bee59623d000d2773eca0afbf0a48e1810a000000000000000000000000161e6ec3c78cab1842a33997cc74d0612dc763a300000000000000000000000041cff18c9cf9d255d4935b8256d223472b1ebab0000000000000000000000000917d912baa7c1024d79c4239f025abf31e39116d000000000000000000000000c93c7be52e46ac0b77018c4874813bbe31300d26000000000000000000000000c6090e69b2b6bbda4114d40a2fb95ac54a351480000000000000000000000000a1280288904ff1d2c4d0131a439658bc726e387f000000000000000000000000ef1be37fe44ad50f56d93b3621879e078a839968000000000000000000000000b2163ad1c355ab55d9911819d89212063bc7ac3a000000000000000000000000cbead7029fb2e2ccc5f0c42c456fc6987b55232c000000000000000000000000895d442ccece34eb557aa146feab1c77e591b7f3000000000000000000000000a906762047fdca0973b8de92c80ab5fd99f89fdc0000000000000000000000004e3c8e44b8b8152e974b45acf94c13462692a6eb000000000000000000000000d39ee58e7d11671d46027e0ebaeb8167c740546b000000000000000000000000f9095b6a8e0f3d368b89cfcc79e024d75fdedb6c0000000000000000000000007e24d5569fe372628076fff96cad64ff378fd699000000000000000000000000396f6bd2372c70c831809f497e56212a49055f0e0000000000000000000000001788bb1d7bf6c5bc2b3b2c2f14a52e6671353e5f000000000000000000000000ddff44272f4ce0ea683646c34584dd55e281a90900000000000000000000000046e90b2bdaa6ca548ce0eb76d4b5988ebb24f291000000000000000000000000951747868ceb916816853990504a866df4cd0476000000000000000000000000c585234a5982d1ed573e72fd4aa929e06bea03610000000000000000000000002b1e3d6015102dcd1a2130d72c77adfa9271a95f0000000000000000000000008c4e5885b06afcfcf3c0da5af0879ca2d66ddfc80000000000000000000000002fc3533febc9a44eeecb19d3f27f077818b2fcd90000000000000000000000002df6cce98634d3cdac96a2e2f9347fceaa3a58a800000000000000000000000097df672c0c85d164cef9e013f1ada426f18c3c1200000000000000000000000017999a12f39e0e6563b8bab9a83cdfc7c9eae0a8000000000000000000000000794751cedee4b88cdb391af73e48119b818bf58a000000000000000000000000fd69f265eafaf361d9ac9197727d0c0dc3f1ed860000000000000000000000007c3fecf723d88341cd86188a864f5fb91974a5e80000000000000000000000009c1e4b854c16ebb032ec366b1fa82a42a3b5ba9a000000000000000000000000b2267b1729c9d82858dbe2b49b397f88d3e6a35c000000000000000000000000c061891fe5776e96680c1b1b4f72a0737e90ddb5000000000000000000000000054be84feef69b3d35a385aa059a87547560f50f00000000000000000000000027c02bb2792107ef47847c50d66c401e10a08902000000000000000000000000fde8b1be372b6deface04424c1590d07252d99940000000000000000000000004f05c1f8d815d2c8dbadfee32219214127c6c643000000000000000000000000ebcbd809801cb87890c88f1700b8ad62429743e7000000000000000000000000411f63acfd8ea6b0c7c7ec1ada11efffeef9949700000000000000000000000089bc3436f43e19a1423b03e5b809d832c10e432600000000000000000000000093eb316aa13db126f670fd1286c8b7b6bc87d73e0000000000000000000000003ea91146ba34e9f5176969f348fe2b50c0c397d8000000000000000000000000ffcffaa05cde8cebe759c9287c2279e1190029160000000000000000000000007bab3049710af156b7df2b60ffd0fa0fdecd089400000000000000000000000048cc928a67dd75937cbe20c6a79edf2fc54f2ee8000000000000000000000000540e497fe09369318557043ced11802c41ab829b00000000000000000000000042bd819128f83e738fe0091d97bdcc7f6cfabae500000000000000000000000084973f55a388b9631f0f90fee6f463ae282ceb840000000000000000000000005aa3a33db7ec1bd6a93bd3f49c38b7802b095eb6000000000000000000000000016c52d3f03d2d19897b481e9680e69f635c998a000000000000000000000000b85bae004b52e3075f84e215e5f1fd9e41534048000000000000000000000000e1506b658d6dcf580649a44affe3d7011e386e9a000000000000000000000000c13ddcc2ebcf3b354535b9594ee62f1de449c7270000000000000000000000007b0fb07ea3bf61d8ac8341e2b77c6a9bfe9d28a30000000000000000000000003614bfda5cf6e540cf15e86a616c7eb761220c3900000000000000000000000024b8d6cf3ce1c1bcaf920fe43be6d20d923b91280000000000000000000000003557abc8e6040eed714a59e453c6496d9b615399000000000000000000000000e03fa2b03ef0e5c1bc17f47aa7bf518656a675cd000000000000000000000000ce6daf87fe847a2e36c781e2d3544e0890a8a4550000000000000000000000002afc74bfd416ff7214e6a1c069fa5c1ac6c45d1a00000000000000000000000064a42c3cba19d31ba8879c8846d45849e52ae442000000000000000000000000afd6d5102eac291b660fd50e45b28eb2129fd5ce00000000000000000000000098d6905440fb95e022396e88708113d9eaa8202b0000000000000000000000001608df33e410f2bc251e22f035a9e97e230d81ae000000000000000000000000157ba5d0eb50f45f3e0c3c1ef91fc7351bb89fd800000000000000000000000021e52dc9e7881b1c23b37b337037d4808ba0cbbc0000000000000000000000007948602df75c77897c6c4a8ca6db430e8b676389000000000000000000000000adefa2e8730589d7b22bf43c7fc70317c14147a7000000000000000000000000b34a88212d53d85076cd56c32640a7bef1fdef62000000000000000000000000318a5c3d450df9432226c445efe969d5c8c2d06d000000000000000000000000961c457006df307d28b7a81be8cb1c0fb17f5c400000000000000000000000002ad915e201fd4626c4f1067294d05d9fc5a519a60000000000000000000000009cfb67e47f33b7cdf8e107c7adc2b0db531d572e0000000000000000000000001998b48fd0c4b5ab4db9754140de6812561da56e00000000000000000000000075dfbd4e5505de9e0a7caef489981ab2b3d13b4b000000000000000000000000f9ec3768a7648ddc7f5c1b65c7db38303d9ef94c000000000000000000000000a377692ff469f334e30438e0d11c0cbc86934aa100000000000000000000000000b0c79234837779e69d37d0cbea12df06bbfc5e0000000000000000000000007c2dfc2ce1e19f56723edecb504e2f9dd447d86a0000000000000000000000006c187a63aaf8d4296bfa5a7add740df0f20150b702cbc6fb6670dda22bc280c91b6234715ecf2e45280324dbbc7953a02db8c8c8007148c1605802245aa809030508256e05575b07fc8b0163818df84d76bedbff04a387ef5b63ecbdaafc3dc0e7f3402c9c2ae6917099ae9a37f7b0a44df4b7c105e134ba1e08f4220acc72b85a1f069677ba5d2e5f7f55bd9bbf23c41d2639b0020ef128d2669d482a68d61c8a50dc96accb34ea699a4cd290ea781559dc90300751c0fd194771ea880f9a1b38afad1629a1e840b80ab39fb0a523cefec1a184063380c1558d9e32256f8ba792c24a7a84173def05221f1b4e66ac5533b72f470486fc67c16e215c8a8ca5012ad66a8389fd7aa107a20cbe1c78beb751f6e8b9013b2ebd3e22d29464c798abf5a152f80331dcc8296fbc925357e2ddeb0394f10411977c64fd8864959a8d9225b05a4bca804a09f2a057a5575f0ee886616c2307c5891738db968ac183dbc52c9b5ab229950302393c89f73d3bab931b23641605fce41fe0cc77fdbfd1cf53e646ea7e4cdf8d5e9d7ea67d0133c9f9246f6127000b89165946078bd3f6d64e7ecc80d48498cc5ec3f88a3c5452a610600b455d038a76c8e55559d1d647641f6a1b22b980b0b91d2e216fad43975f8ca4c6434c048d203be17126233cce66088b1cb8013c9cdbe9f982093bdfd42d7549ba314a04905e99a53fd48ef5837523a0310d30c6260d8a66d253d0c3a5faea3e152bcc02d316460e5e5c9b6d92025bd52dc7d382dc910afdfd49a3a2adcbec4a0205fe0452d7a1785df6f6fd26844e53834a71d28a4658544575a4146c8b55aa8a8f3203d9290e6f8b9dfe459ab023a74bc805d4d75b0b9014f875760927b10c1e996901db2642c5962ee347c40d401272c483ae0a83600e79885eac09e2b3e23b1cc007289971e5986a47132dc05dcbe2ffe1988e0980b7798d3b2384bbe0a21cf6290485cf4af18f8f2ab10e1b46a42f7954860fea499319ea79f0d9f3b21938f5a202e8c712554738ec69940386f739c6043cf75acc4d2da9b24ebc60f17c021fb8065a68891c2482afa4d0029d6fce57ece33428ecd950a923fb7d674c026ed7da0689a0c8a9d4fec040695705a1ab17700e4d7d78eb743db1a8601c0b3a0bd9df0113cc4d87491aa870c489cec8155ac74ef071790f7999c93cc85ca1ab41b0ba052af7ffb53476b194920b6788217186f63edf15ce79e474a97d2472aa1e617001328f4d570b625e1c805b5fb7331897933d129b568ccd2515c23fcd1c99df5c05d0a113a42ea43280d7dae2750d0e2e9cd75a93ccd914b64fe224ea7afa39530627ba37b15c62d2dba668b1034b26623de7f996dd9533fa73c1586a4c688df206b79b758b80b81978af364c80947ba556f4fc94093466de9c4497c0482a8088042b4da4fae5d31d1e3258d04a135acab1e8b4db8164c2d90be2aaf0ccf4dbf30014ca18940cfd7e39d3e281a4fc0af0accd6be173b24b37fd36e4ff96f76bf20139efc01c086cc7451ce691d4749452697c18efaed17b4a0c63091bb94c62000045003c33494524fa5da82a728d5c4b77ea8e8aa566b64eb60b621e002ebfaa0325def0e0de85449ec1d3d3b83c007b70d9bd0fdf11c71da682625fead350b2015b415e3b9c2dff100255c1dcaa8c7d0d9194b36a14c865089473e6ccd573ea0744d26f320561919ba980db8d2a966371cd8d6175fb3473deb2f2da5a76db2105a23ea653ebb783105f4444783977e4a530090b615ff7df8c8e96394f61b73107f92a4b0c55ec21660aebb5dccc304547bacfabc6af5f60f6500e7c918655280636784ab03e494aa3c7f25834b18c0fba6cbd8e86b282821de150a3b342b2dc0120f00509a1c9e99e84daa8974584808dc6c4dee423502828d18e1ef3f2b8e902a180535708773ebea0bab3d8d1e2fb0cf393eaececcdc3613a78fabaa09079032e7be0c91e6c968183dc8bd5006f19d4d6d5c7090f9089e06c6aacdfe9ed4503b4d64a612824715a3c49ed495ee63dbdd9241d04f853a1dc6228b38b73fb8a073e41cb428d745745a0abc836b694d9ac0dd79f770d62ea52cb976c0b086a5e021a743a069f7f7e4f45080ed7a011664ffb6ed6fd113e3dcc3c417dd0fb089e019311cdd07ece36f0e716f5aa7a34ff7f062eb930da6188070002d8b0a5c30c01c868dd515462fbce29a17482b2b1ae5af5213e2ed8d86963b67c56e6599a7903cea92c42c37554d51fdb948726529d130fe8c117550f72c885435fae5eb56e065d26e67908fa2ffff4487bb1efe151aa41369e7eafbfa564486e836d3bd1ba06402d97e30e80e664ac42b9088a49a001b4552135535039c85a043bb05f4a440269899123d318c4f240d911ca6c2b68073f5a81bb98a97520e871bcce97b12f045a317bc960fb52bf95537927e4f9a4480c7d11d226241d11a8d963bea99322027996e5b6ee2d57746079532a8b97b2aa89dd51aa21507cf499f8e4a2f8adbb059e5539b72111a54904b6b34162a5f841b26d33fcb6dc35b735580ee2f410b3009cc250308c19fd1e07b9e746dfd2a60bdd065e26257df35d2338fec5ef34ae03e969e2687d0c06232f56f5f02a474a73cd179ab762b5af12f8ed90f0a5e75306db0287790689d3060e8bc9ef93d1ffd194d77ecfa86f4af194964ea76693c9061551918d6ad3b5e3696d8b3ea136df25f1c52ee6dfc85bacb6e026284bcd8a0015e9b40cf9c28137d3b78f2c53791bf9b95422f1408ed12ef7a6cd8603baba054b94c8fd6a99443016c409a91ef2df0faa4a1d8052bb9d9051c7e7b544ad9d036f3a641f6bcd75df08efa532d1039bc14f95353ec57b72ffe1ba70e6e0f6770205cb62f3f38c1a008fdcc97626856a1850169ebb0cf35ee674bd5a7d5f0082035d62911c08558a02ce4898839baf8d78fce0b5f2530994b7b9d5f914a9c51f025dff9cff22e49354ece9183b4ac12d5ae6855a187b9c36b35d44a682e3414405f3be5617ea1611563ee875701f5d0f9cc13911d8aa193d97d6f6688526a08f02ee3d6cb0ee1d86fed929dd68a7f6399260d9ddebc4c9d378d704e88531d7e400fa3073ad85e9463a89be96a5567ea872868cb2cdb5c868e8cfe4b56f8c2ea406adafddc1291005b3a7e9fdcb22f3e83fbea944c15af0c903654872370881410635d7858f0292e59bf5b6fe0b432a1ccb07aea99175c1e8ec4eb02d51d4cebc03a8aadf33869c2b779fae1be451635fc13cbe68057839cca867b5eecb36dac5062c6d677436ac5f2a2ed651d7cd053569320e401361423cedcdc129a0aef591062e2f71ff7dfdbd3916c83a55d66601fdf93b9acab92f8a2fb22323c6e735f1031d9abfc367524d747d821c50bb77c88a068055408d41079a10d023c1e1866b00ebf8d2a5382b292893ef1124e543f9dee7b554339f69234987c8d74f2aed6205e7fe8f9a5df722a516b72994c4b89c4e033428ba754fec438770610b0b9a99069eed80de64e1bc58c373777b4fa2491cf1c399601855b7f3b2e0a6830d8ef5038a248b2381bf5c1f0a14698632d210277f080162921ca7a1b7a2738c6c5bbf0205f56db4d17264561bb9381351a4fbc162a1afdcb6fb6fdfaebe8769a4dbba046f339d65775309c48e8b6bb2a058a57b54b401dc87e0cc03efa906d1b38d41056386ebb2f15b2d6d8e4933839110b9f13f1db8e27587e2a6980d0ce8348d3c01ad4878d1ace910a79c01a1bd13e7620a2a7e3a3519731e0f752db918068744033348b2e433d83f60b088428e186e6f3ba9ea4790b299b0a1405eec6a6e55f3070851f095fc5f9b7ff5f9fae0455ddb0bc82847e4c63c0a403d50867c40ba9006d9a851e9f59a76adf610f8d8285c2410fa73c9a91a85a99a16556a5d84355307d1ff28966f528a3ecb7e9ce14d8f3a7bd4cbbb1e6c0877c8a11455eb958c6707a2475c4a250b0015a853c6dd182480a9db112d60f8401e9dd7777eeb71f9c107728d9c07851dadb6b4bdd62f46355cd2e4820705919ebe685b31403d824c6304e120883dc60cb0beb07c3153106d2e5da682d583b156dc10cc809bfbf8025906a284573aebfa0f0f4df25357ff37c37441c774ccf0b66a4dd885e423fa8cbc0403926ef781adbe896e07a2b9f051549bb577be772b66314dc21692d2b01e0a006f31a5e1deac68702bf202f66a0fa624e823adc363d1dfa36c2bd6aef74977008ee59c64c86716fcef0a5d73c472c5ad847715c61e81a90d8d573b0ed2c25a04f6723b3377fd675fd5255ce9a1265d77c72ee1b9ca3ee9dc880610e12282eb077d882266766c096394ca01e57c09295173e59c90bfa72604c980534aaf2cc70033523898db929ddb0e98cc9a5120edc8c001ca5c3de13cb829d14df838bd1d039787075824b191e0e324bce66f200419fae588159859dc879b23d30eb716cc03c95b6009ed41282d2f42bd8d100758bdfa0a8e8a84f81f7b2dabdec725df54057d5266b924d3a1e9d6ad34ebcd9306de478c37ef5e25f1de520bcbd1a6dba70421c1bcd660b174d55882d074e9755a0528a8616373e72903479f428b48078d079ff2d1c32f6512bde817accf266556f97e13bc7b809af30dd27dd2267cc73003afd17e3d9a311dabbc1361965bba8e31c29abc5a3710b8420b3da4ce29479900d215f7e4a55b3c0001dc526d6b9498bd4124350f8c09797ceadda4123f35ee04b0245f4b204f8cfcc9db3d1e5569d2d37cbc7471f77db9971fd83b94ea822d01abf99fe280e80c680f86d7c5fa7572dd966c8f1c3fad650f7c028b62670ae0018e418369655ca90960164b94ff31d8a038c9aea50d5827aa0e622bdf581a3c0000000000000000000000003befb0c9d9b11c902ee122212fbcaecfdaf939e4000000000000000000000000b2ee608ee0a15bf18b776a5c53f1dfaf520a4b8b00000000000000000000000062fde18afc241252bed4ddff3770853bc875fde5000000000000000000000000c7e28ca08be573d5121558312c72509092da6ad0000000000000000000000000f99244cbae6476d2848ba1f18b513d6bad749c61000000000000000000000000c144312c64b33d84891f271656c1a80a34e674390000000000000000000000000264959aa318e44611012db33657d596ab362d8a000000000000000000000000c98124c9ea1b23a2545663006f1968f6b4d8caaa0000000000000000000000007a1276d37ba3defe3977be3eb8b160ce5b4fc838000000000000000000000000b0fa7620b760532fc37cc3f86bfe5b131565b88f000000000000000000000000da5a28cb593c90f59ca2de2baa4f1839d6e9184f000000000000000000000000194d79a96e8ca1d04fcfe1dbf30f221385fd4a44000000000000000000000000c924662987250ecc4eadeb0e201108afaedb6674000000000000000000000000d5b3f790327a493d488701168477f48e727e2a59000000000000000000000000ff27c60212c6d9681c0cac02f327175746933d400000000000000000000000000ef82c21f4c7ec3bab29e9d43c777a2c04afe3b600000000000000000000000001e806d378c56a1ba48601beec7e07b67e26a0fc000000000000000000000000c9c8f7673fe484f87f1f7130a0d3c85ef4a553c4000000000000000000000000e3acfe39f8411e93359044f8ab04e638e3b713820000000000000000000000005bd83d32b1cee2764dab539c677e88a92fd9939a0000000000000000000000009c26d8c22a783bf15bf6d2f2efb0ac3e3855a752000000000000000000000000bf96297495bb7b1f585ae109489138e6c1173135000000000000000000000000ef110ff185637f4c700b2857617a2d12945f1e0b000000000000000000000000be9f9be1ef31e4f47183204d97e46bbf68e2bce9000000000000000000000000dcaa50eaba8aa9be6f52901b206c8b4926820baa00000000000000000000000024a9be357ddc419d41dfc6feb4527b4ca90afc01000000000000000000000000486b15478a363a31a91d813adb6b59ed95dcebbc000000000000000000000000394e30ba4ac16c6bf4e923aaef927ac883413735000000000000000000000000b267a4e04daf3fc4c22e112ce7cacf71514ea6a10000000000000000000000006cdd877bab030c0dbeeb379c6bd7a834aa95c211000000000000000000000000bef06738505d8c57c3d57f43b185aff0695c87ae00000000000000000000000087d2de863c906e8ccd215a01d8204f89269f93fd00000000000000000000000049b6fd60650025b84c3591cbb2b0845a9f0cb46f0000000000000000000000007aa9e9a847cda36a96345389bef5932055037a4400000000000000000000000033c5d8bc43e3247ec8693730c145b760999e0f6a000000000000000000000000418d34f534378f5c2adf80c9071b24658cad56fc000000000000000000000000eb523d72b87518d1aead3012658e3aadaa639cd60000000000000000000000004b36bb379cb3ef4d2276d9b46ea91ddf7c542fb50000000000000000000000002e4a391283fecc6401bdd91c0588632d0c2d8ad70000000000000000000000005b31e9e6d15807c68f5f0805000d85a951d1f042000000000000000000000000b14735e27d5229f7277fbc2c84022b0ac2b321a20000000000000000000000001d4cc7d97d6636e13aa783ce7ed822666e207ce90000000000000000000000007f03b515b9128387f8fffa268c99a5ddee28848f00000000000000000000000064f6f4efed28655bd95d2d664abdf3cc559e4eda0000000000000000000000005dec342890d059c78c2e4b15f2dfa0f36ceaa6b600000000000000000000000034a187235e47d20bf6350d3a0a09aa9a3c270d4b0000000000000000000000006ba77a60f61cfbf2fc9100d2d7201c77dcf86d1900000000000000000000000089c4ae310fd4f536cdfbbea3835d27d3cf44ed82000000000000000000000000eaca0b5b8e90bd69ec42fef8bcddbe10d90b21d700000000000000000000000095304fb94fd75c752e631cc1d3eaade75edc098d000000000000000000000000f24a5925e124e5397474f344ed4941b6d55c8dae0000000000000000000000008e32963d97273d04ef5dd2ecbc3bea8e37c91d89000000000000000000000000fa8d73c77743f94e7a0679cfd9c84d84ad5a77c40000000000000000000000009a193b4ee0161dbb503cc61b5ce92155f4cdc2080000000000000000000000005f452ff491cb090c3b77ad0bb8098d62d7d55a7d00000000000000000000000059461b7643d89f02fd5f1ac70834e6e62da10ee1000000000000000000000000d218fdace7b2c373ffef0372c33e24627609e723000000000000000000000000071765d0b6f5b9c9f50d982668a6b359d22bbc4b0000000000000000000000004a4450a70f63ab7a53bd00e1542d281b0ec314dc0000000000000000000000007ffa22cb8d56656a1f08060f0e36bca52b55c6ba00000000000000000000000080a666fac88fe975bf9d82c7a66dc96f26e4c7ee00000000000000000000000048e6edde08dee919c40bd016fe13ee181fa63d1c0000000000000000000000001fe9e9b0ba82b18ace493d4cca7d5d4f6be5f87d000000000000000000000000c554acb6728f8271a3e002b301424422e733f9810000000000000000000000002351dee945da5eaeb1d50e700fef89e59dd7a9dc000000000000000000000000fca883b6b6b576da0e48af9b8759fcf0fc33ad8d00000000000000000000000014034d3e1bba6cfe98ecd993962304920d2cb711000000000000000000000000d3bc065add0f26901f2a52380f797716d781aa39000000000000000000000000a6242930198665453904cd9ca3b022db9d2d9e8f0000000000000000000000003796ccc7d30a82bbc13c6be212296cf222ce2cd30000000000000000000000001fe4056780a722a40dce23db12c49abafb83467a000000000000000000000000893a4fe83bb814f6a65201dd70018f6be3fdc2210000000000000000000000000eeda626e2bdd9d3826f2386fd9cd9e7d3eb85d30000000000000000000000005344e80c403b45d57d6136f7730ed598c45e06780000000000000000000000002da2d9864d1c9171c0f1eccd152f0758e73389b2000000000000000000000000938756fb1716dd4821ef02966c458819b5de02a5000000000000000000000000cfa9989e795bb335bdc37281f4b6f957af67439f000000000000000000000000449474ba6959cadb3086c16ed2ddc1a2d7835583000000000000000000000000502e5df2b5239cf3873de0fdfe2b268d55aac68f00000000000000000000000069b1599e4ae268d35bc64b0e1cb23c21be37a40f0000000000000000000000003c811b4196dbf472138c332cec2184607ff0892f000000000000000000000000261bdcb6da12c32c1304e85d25c861663986703f000000000000000000000000e446bc410079043420736270b7037c1ff26da1e8000000000000000000000000c77a4c46278fdbd2f3c9c3602ce38cd3c011c906000000000000000000000000668f1170c97f3ab5cefccd74ac6756950a1a025f0000000000000000000000002693f81270ac09a55acb0fdbe47522aa0ec763210000000000000000000000001ac1d68c160db9349f845e0a50970c1f42df7957000000000000000000000000ffa409f063b55f4f96f8cc53ada72633bf32a1720000000000000000000000002e54c1f611cede4248c6998f2262059888d23ecf000000000000000000000000ba4db97cb1da192502d0b4bf282c9b85a993c4c7000000000000000000000000c4d6e2e7648e264f86bd37bcdffdd21d97ae7e0f000000000000000000000000198a21d60909aa41c623ec953791fc00946db58200000000000000000000000081b37eb91f3c3d60a223f7d4ee7c7fb7ff9ebbb1000000000000000000000000e8c5baaec02eea0879d4caf597576898dc6ce043000000000000000000000000254807fe50081544a5aca9d39f2ab7607165693b000000000000000000000000079abc1df88aea57438118fff523eb78281994990000000000000000000000004feb5cdb307d6e5ce36229e72015a0f03cab002e000000000000000000000000f97f6ca824860622679489ce9a44f908d65daf98000000000000000000000000d37f497404701cc748cb360787c6fba25f4e85060000000000000000000000007df724224e550035534439a10dc011bee38dfeef0000000000000000000000000d7503fa3302e0ded889be8a7b1b366d2c5a1b97000000000000000000000000d3aa4472a9684d1286605d7ddd9bf7ef22014da20000000000000000000000009a4415c78d9eb4d39b781b78708e688c367221210000000000000000000000009ca911528aa7a504368d8cd8590db6db598d06f5000000000000000000000000953a34a1e1b3d69fe66cf83b59759290c809af9e000000000000000000000000461ad9273b884ce5a871530dc8729a99a7b9adbb0000000000000000000000004d2771e2971c975ac59fe46120df95d9dd444545000000000000000000000000ae0378f96844d4e82c8ca77a15e9f923362f9e87000000000000000000000000490d49d65218b3ad32a624f246f872a02cc071ed000000000000000000000000bb0b6764cc8aac85c27f7dec2c9215b001aaf9fc000000000000000000000000ad99a09dd889b7494656ba268cf0cc02a4f0371a00000000000000000000000071a2d6db7b3b6c8809af32671403d2c4687c875d00000000000000000000000056a467ed10f7a2b756658eb137934f157f417f3700000000000000000000000051e63fbfcf88fcb15f82ed41bba567bd27326a02000000000000000000000000691f6dd46b000cd51f327e83e3f7aa1f26cfd334000000000000000000000000f56dcb65215e2ddb2440ae887b2e985f9924fd6f000000000000000000000000330017730f4d69823252af4bac137c50a0faf8ae0000000000000000000000005283bd3f01ded79be02576196d02a8e829020fe30000000000000000000000000be3820699933600445f32fd613b5cd4b2ec32ee000000000000000000000000492b8feb21e013c081eafd6ef667fc73c12dac4a000000000000000000000000abfe1c7c56ed213139afa16aa96fdf06ddd19b31000000000000000000000000192391f907acab697b73f046d1b7dd9fc5429f81000000000000000000000000b741a21b5d409dfed44c2fc1d2e7d7be72b1d1f100000000000000000000000052df336b3cbe01151347270690f14cd3d6739883000000000000000000000000b95123ddd7e2cf4880d5fbec119cad6a7b065612000000000000000000000000bb21d733b9d89cbab2f8440e1787aa564fa994e500000000000000000000000061d281a0f59ecfe0add88cc22e4c51f22a8765dd000000000000000000000000318ca96a08a51dbb3474cb9d9b4022b57af98ad9000000000000000000000000bcf7b5b26d97660a8f9183e0afe92a9ad4f526170000000000000000000000004dfeeb9a7b52e711fcf8fdc6d201b360deda69f30000000000000000000000005345980837546ebbb28f55a4fca6ee60a7dc5b0d00000000000000000000000003257e99c72c4f1dadf68a18f4496d3d76d6b3de0000000000000000000000009460ed43729dd3b6014ca612aafa2431513406a90000000000000000000000002039cf06cf6651a7b57db226a6db74debfbc3c81000000000000000000000000750e8c2acd4efbfd0d0204549a5cd0cb7ee88bbb0000000000000000000000001bc8398c5daa705cdca1b60679c6997a77b7da54000000000000000000000000552c3e258166012d07f3d2452fcffc79bff018ac000000000000000000000000ba1de4ba2be958998c3fa6c826bf098202575e80000000000000000000000000e3f484884e5efd779fbb9ebdaa3f9b02917d7c20000000000000000000000000937afd76c95069487b70f9523f0cc0d8ea9620f7000000000000000000000000787a5a4d1d4bd448249353f83ede94844fe262c40000000000000000000000001337a07835018e8ba1349a08a3d3db5727028037000000000000000000000000f1bdda093e50c8bd200e42d5b01ced18065ad92e0000000000000000000000008095d1bd35039c513bc8a876578abb51c52ee18c0000000000000000000000009651ee6da8977b198abdbdcddbd456b0bfa86a60000000000000000000000000a0acf8acc23ade30db34241c3f99e3677b1cc7fc0000000000000000000000007a7f5eee5407c17f6674bf3db66dc7b7e78f0b7c0000000000000000000000004dadfb0686ec8ed373bf5dbffdeef29d2b3d6a75000000000000000000000000e760420a9aa8c01b8f261b20e02c312773c642970000000000000000000000003fa30636d407cf74dd0249c3346af3456f067ed3000000000000000000000000d35c9f5cb8cf6d64fe5e8a513dd8343ca91e98fc00000000000000000000000029ab3b9eb33efb62109514e9498bf0ce8f3bb05a00000000000000000000000062727a6d7e2f744bf23058262dc2eb93e27016e5000000000000000000000000b187155b87365edcd0abbc930ad32e131cb265bc00000000000000000000000091f829b95a612fd71190023b2d805b5304f3a1fd000000000000000000000000f5473b8e56672b4a190664d0aab4a1645f7c45f20000000000000000000000007ad875dd560289db73f57b3c4156ac05cc3594d4000000000000000000000000334247b9efe465ebe6d5ea05f03dd3ecd5b401b200000000000000000000000029d07e2461c9a6b145d38f69cfc1f8da996ba180000000000000000000000000e93958397ba465d1d45952e0b62edfc825068ba700000000000000000000000089ce46c915a9993d0321677d17150503e308b0190000000000000000000000000b63edfca37ef4effdda9ca181e274d9f0c4c268000000000000000000000000a3fff7dc4e925b74d56b1ea2ad051a903fcb889c00000000000000000000000073678fcd9cf29fb2b15dbef32b52b7d86cf487a90000000000000000000000007fd107bf48c0d04725afe24f3a51386f007913e00000000000000000000000003926d3bc941839f1a56517a78a011b32495c367b0000000000000000000000008417a31648504607a67f6b928d9fc4a5a48dc68500000000000000000000000008e38713d7c9c8d05d9d285bed647bb2d902d0c800000000000000000000000084da70bdaddb3c2ab84639183d8165248626e373000000000000000000000000df05adc850e767278f52553d11c579896a83676e0000000000000000000000008086d4091fa84053d2914a05320e0182bd7f953b0000000000000000000000002123cd45ce9cf64a1ffad7f929c72c635b631fec000000000000000000000000391e0cdb48b4d258314d99a39007d2fef876b545000000000000000000000000e29ea1421fd9305cba956d72cd2d10f1add3e40900000000000000000000000022c776bcd497b29da16e1cf76dcee5fb612ae92600000000000000000000000051549dceb63e042bffdc1c4b57ca45e6c81d5479000000000000000000000000a278a890e60b4ee5dee9e8b98504faf8e804d3ae0000000000000000000000007a325a7612fb51d6b86ddcb0c33ec2de57553e8d00000000000000000000000069f49f4deaa41650e4acfa3feeea46f8aa724265000000000000000000000000e057405f3902122a34c0b598ca47b69d5e6913e8000000000000000000000000d03c8fb71bca5b28ec6d4c3e22de31cd89e96623000000000000000000000000651a63fc0ac45359dc3979711039d97b4fea2b1a00000000000000000000000059e6847ef3e698c35dfe17dfb9df0b04bb6aa63b00000000000000000000000083dd8188acba9be2bf2539ceda0126e495d022e6000000000000000000000000e8973a2a13e53c84dfdf89b4bdb4c0253722e3f2000000000000000000000000bcbb93e255bc20b26e7a6b2de6eb33f2c2de9520000000000000000000000000148af848b695bf011e0c9442edb9c190094d5f34000000000000000000000000cd516f732e4563e65b061e417f7ee28659d155f40000000000000000000000000076cb3377ce5f547276f258f93bb88e6a3fa7b0000000000000000000000000dad5576dc007006d8e71c8a124633366fa1bf18200000000000000000000000067cf5a33d2e26d83f38e2a223c8b59971ff96190000000000000000000000000f08e1dc60257832023fc83fc92a634d180de2656000000000000000000000000140a2d733cc6fd14cf43ac47732a9e8cef35bffa0000000000000000000000006a6776f9e4ea14fc72760f66ceb1d31c4c38f6b2000000000000000000000000e5008b30dc052f4b2d6d9567d73c8a1afb6c5c190000000000000000000000000e075e80a4a6c824e0ba341bd649a087006920780000000000000000000000001700558bc1c71a4ba96a5a67f44d8faa620c6f190000000000000000000000004cc7340fad3ba313130b82e6133dd9946456c8e90000000000000000000000008a510b4e11034eb87895c3b20246660003738c21000000000000000000000000c8fcf7a0412d6e4c17bee47096b7ca565b276c4a00000000000000000000000014cad1f42dcc6257d0dfd6f0d6e9f57a5b996c050000000000000000000000009ee20f4ca1c401f4213cb7f6fb4d90bdda78e6a0000000000000000000000000a69a85cc1a212caeaf312d542ce98d9872f64854000000000000000000000000b7deae216917a15e88cf09eecea501286c73d44e0000000000000000000000000e50947d2b46ce3cb36e2d9333d3c0d4b151f0c00000000000000000000000002bc1b26d5f9ac99219b39de5be9d1ae57d6ab952000000000000000000000000df79c8724ad91aeaf2ff4fb3d58cff904ef904fd0000000000000000000000006e89b9aca00f09e0bdcc12a4c85819971c31c97000000000000000000000000062922cab154260165f2c863d76c4537c6e6a6fef0000000000000000000000003d9ed369e7dcc364314ec472b732d33a4d5b7dc400000000000000000000000009c66480968a968df2161a61ec285dee4724a2aa0000000000000000000000001584ab664ad8f22030a9c9231cfa0e9cdd56fe30000000000000000000000000011d679ec512149f6e454d466366e7d12969847000000000000000000000000000581de07be5b8b82b5695324effcb727a676de40000000000000000000000002de4b875d4b7222a2c2e787abfac5392d444df480000000000000000000000007e5681edf3aaea77818da0f9498fcd46c97458a50000000000000000000000002ed9d72736a262043c00ec4b0eabbf44f7c83f660000000000000000000000002c89b3da533ca5b727e4e523a547041a2636892700000000000000000000000049b4efb67e35912e6f743d5d4c3241e481badbe800000000000000000000000026f5594839cc17ce69333904e4e3b42d4004b4d2000000000000000000000000d24ecfc6cb60dbc65eabf422cd4748ba540aef650000000000000000000000002bfb5989ef6817bc456eea3aa2e6a4834457f6fb000000000000000000000000685e925df1428b88d4cd1d8f4a2d2540a57a18d10000000000000000000000008c28e19b605fe9388e33c4d995a90e46b6a0b3a900000000000000000000000051c923f4f3bd5a11f079693f37f3fcfef5be39650000000000000000000000009d995e0cab9598e0972998f203cb7a343d755bd7000000000000000000000000637028dbaa8766399a8bcbad1d27747d7f553d300000000000000000000000004fcc25ebeff1c1ced2042aad850d09e32ff161be0000000000000000000000008b26eaf415163d382773f840edaf337a4c3fc2cf000000000000000000000000bed2d7a416bd93134aa02c21da2d5c632519b7680000000000000000000000003ddabdcdd56d74c1b3aa98a106fd74f888f738dc000000000000000000000000a360bb978f924f19b35859a0789a9c017219736100000000000000000000000042dc9f6bc10cdc59b721e6bd6b4960f6c0077fd7000000000000000000000000fdbb3dd8f2918a26c58d89fa74f2384401c49416000000000000000000000000bac7fdffbb42ed55dbf3e794fdc76c2262eada030000000000000000000000001b77811d7f74e99c31c2c6ebe6a2c49d247dcd9b0000000000000000000000006b373797371af60fce6cefccdca2bba49cfa1cd5000000000000000000000000c6d8018de4557984d286ea401c67fbd5ab56ffde0000000000000000000000007532d4743a0c7c9ef349a71b330000fafe1732640000000000000000000000001d50a75307ddbb368adab1c8760ddb3b855ed739000000000000000000000000eadfbacbb2f0af904a2eb2e7417d8c4138d861ad0000000000000000000000005136a23af32bafb9205b1f83c6a9b03ff1ce30ae0000000000000000000000004912c04b194aa6b248ea2833a02cc82cd78044130000000000000000000000002e45d434f3685d62360bf6674bb10f161412a829000000000000000000000000374933bc52e03585a6cf261d47bf6bc4dcd4773e0000000000000000000000009dbf4668b76f0d602e0a91271db42f0c9c80418b0000000000000000000000003034b9b14ff0ce8d5925e823dd444633aff66a610000000000000000000000006da1be3968839bd81f295b23282fae573af952e80000000000000000000000007a911d831f4423fc346b0ed37b40f92b10a685960000000000000000000000007cbf937fc3d18af3907e0124eb2c841b63dd53820000000000000000000000007384811b9742fa90b48dd41fb89b9defb44d3f44000000000000000000000000023eb2250b05ac360185f6252c256481f46ce781000000000000000000000000f21ec69b89465aa5adc0b8ff75911c42bc5d90f30000000000000000000000002c8c1f9ccbd00c1f46a9dc8dc7fcd5b88aa18ae5000000000000000000000000d467d9edf755232a3569b83397cc942c755a3b60000000000000000000000000265443f6e7839a667232b5508105eea81df9a1de0000000000000000000000001079fb6844f1a079ca886625a856cd18cb18be99000000000000000000000000f66f6d4060a8c5081938c15a5337b5d37a61bb6b000000000000000000000000724407a6e198684f3076dcae7c9dec9ac0f13532000000000000000000000000b649034e5efe408786e2fad481dffeb1eaaa73f8000000000000000000000000945e3efb39035682839475930cbfec69c529827c000000000000000000000000a31621334174e61633084b6b8a6791bf6d81ac0f000000000000000000000000816828f2c37c6ba4e3c310ed9a988c95ff2754ad0000000000000000000000001b8bf14722e0a1e1f5ba5ded2b9694aa77f83921000000000000000000000000a6b3cf3cdcbccaf9834351709e56ee6a569490350000000000000000000000007d32122b57c244b2ab2c775df201d30e3317286300000000000000000000000052c17acd08a513cf6be44652538194d87f8d1cb7000000000000000000000000394d7f483893abf3b38ab3b1b004e8a0c2c29f460000000000000000000000005e3e372657e5da3bd0f9c7edbee201b305eb147d00000000000000000000000009723da1e5b0d2e48ca2c6ad0392ad932c7c6eaf000000000000000000000000724289332f1655d388a7db081d70ab21fe25085d000000000000000000000000af347423166b13bbe13d5128e00ebb242d563e7e0123c4d5099059830b68bdcb303ccb81102a6df0e750327d2bc860efb625761f055422d5da57d8996533804487823c2940f264b95706283ab8cda0bd1356cabe008d680535bb6fca931beb5bf1d2a7c2ace3ecdc4a57e9a26560d69962ee21f90472e8bf68a69e83e4d9d780412b24531dd5e9309ae48c909d385511f69c319b018c3429b2d2e38ad765b391a9a25e1324ae4f64fcb27df865e3131263690f4e049cd585a34b9e7c155976c5c4261a7c8dbaf73338f171095dc90da44762c30502c92dd0d2142e8d71832c73b288ba65dfa5544ad1a4eee2e1e8d18297a671ed00697121612382b464ffa894e3f4213e61f3d2105bf4816a5e389ccfd48425ba07b6697f1f4552bab78064de58f62270393c76c8b3dec47d9ba72cf3ee7df0ad047a78062007e2c54534b196f959753f1f9d1198f68b16a6917914601beb64e206992cab432a8df128b28a1486a57d48e33d36df76e8e853eb7774d136787caa0029c95ad71f7c8392d26b9805f394d195f028bbd5f71985749eab2436a167a207b10ea60923a082600b45a37188bc25c150323116dc4488adf6f10e180867f9064410f01061b7276ceb39634a357ad86800215d41af751d042a89681e5157ad050825e3b0f06212e3f07f9ec15dc738e8a8a48c877732ec01cb63b10288fc0e0036343f466eb89c4ce74c261aecca1a2afdb5dce5b7f8ac97f1cc6ac9dc3e9704204da9cb9556a256954c3d6a58aa21abb91c75b8c50b3fd55fc12f90f6cc8a01b45d4d98768236caff98cf5572d9e83bd9a747e17c1d15521e76971ac09f2d003f6a7239421e85ce403f684b19e47de94336049a00c147f0be11dc964b8721031e1189922721662c01014f2cc3b799322f43623301606aa9108d9f96e772a301adb9b6ff72e455c3bdeb39226f26537493c448814087c8da04b802a0f1107a00fbaab6c9dd8142f20d502827ba330522e95a5eb867e4baee067b5d681a225306b57b6b6fb535f9c80a063c11d266f1900b2ea5e4527231578c5cf67d0b131c07e15a09cea81bb0a9de72de75e3a6096aee630e504590ecc1defd06c6f6c3ce065ed0010d2a1a89849dec86a0257a488b794443b570fb5a94117db1bfc1b6a0052dcb9af3b994ad10b5cd5393f8222334c0da8801a301c806be139e5c3c49bd02d1808e48d45818f6c75fa4047b184ed905ba8f780903c8da454ef8bf88ced003dc5764318919280b6558ef793ad35a7cde8b02211140b42bca95a21e3a645f024328b4e63018991d88525f1ab3be08c12de084e2b22d3550c042c8ab73c76507f776129e5bf5c915df7f163fa0eaf3d565cacb46cb3475c0fda5ad9f17217b01b53867f5c6c2d55e0799c281ac4696ebb221c7dbb0412e5d70c973267ea130004664a982d6fdce2701ea2312acd516faf7c865b99a8c954c39c1a79810b66a070e648fd7e2372efeece253432741eabf05121164e7df909d2ef6b364ef42cb02ccb4d40ef50380527bca54696db7cb3e55e7339858c3323ab724a1e33df8fd017b591b08fdafff5da02e889826df09c28ce833bf5d0675db36de917cf1171903cb864b32dc68559ff399a1ba282f260ca25f8f6c88875e30b896e01fca6ebd007c012666cef12f4a2ddfd9f973514256a44d7a6027edf1bfd9f906aa5f5cc1051561a5350565353424f015ab59aff8aaa639a202d793d72ae7c4c782f14b2100316b934e3d7f11f1fcddbac6c5f761ad7a78b518db8a851491f5932eac4e5807160cbfe83e88ef09423567234fc78e50f829280f9aadebd84791f41d1fdbd5024bc81704f59a520671b02836df7e6e4a4f89bf7af4f6c9e86c07814827634e006872defda56ed0c1a434f30c3918f8e10f442cf71bfae6b834d829ca0e251204544463e04e7994df9d77f924ee45d94bdd431f6186afe8b881c76add5bdcc106fb1e5607e7b64ea4ff7a892909ef4c704e2dbc8730eae0bce86c09fa2cad2900b4408e08ea7bca46d9a8021a486e5f6ff946c355ecae4e394a016bd4603f2502de3d0a037c23ee22981c51c26d7aefeda2125f783773030c9a6c49d5a1fab70495ab5c94702cb39186cf670ebf17f676cd19784824d65f5160d6a5b01adf7505c27d5b363173ebbd534b5b21227c0867ff8eb21c65e2119dcd93dd888dd1aa0387126c74f79b91e7afd7a3819ec542ec3df3c493f0a5deebaae6b58438278906ae3ab3be0c4f8c12d8490e2eb0359f8a380d18479f88789af01993707c14f806fe2e5ceae6c5d6ec4563aea8ef1b77284c54d433e68e3c82cb4853ba8c2d270709e9db02b4bbbbf5f27d745cb2861f93bcb58fc989041ce4b92403be6dd30d053248ef7fd6a78ef4435e3a1c5f3aaf89a4ee686f2acc1bd5be034e791dd87a0268e6cbc046ea6a022930b32bb834492c1b047e0e66351a2c694c2fe3172e420395f7c0db71ee6b66556858803267e996745634f5ea1250ae12187a61c02bdc06819ab0074f14220dc2a106528e581dceba438afbcffbdef2eefabe449014420625462745cfe481f6031490df2a0e5849a7c989ecabc4198ccda4d238993f14053a29b72a62756edf954c2810d3da248fd0057861b275a3104bd6bb72d09c9d045dfe24948085e3eb52267e01f5c805d8e33aaa67047302f5a90f947602351b008acdfabaf4012aaf8a693831efc40750df9dde9b520d1e3a75bf7e07798fd70401ad39ea0b34107d36c14c12e3055f42b5b9e5a0e4d1918a68ae3f55f1196604d93ee473e8a5df35bece9ba88ec70ff3fc299e0cd0cf5df1f18ce4e11434a503d9cca6f5734e711e9314971ecff18f5c40fe1c41bf6c003a53d6719d5660b80015424d174a7a190c86940637f5c0eb333506243625e5ef826a24c4ca45e62e05aebb6a8a5135912003ff30b3c9857542319719ebcdf78ce9c5a1005dce3bf902ccd069f01d6ae5a6486ef121012e66fb77c5d01b901274cf42d45648ebed4d06f4c137b18c01e774953c9a805a83f85537131149f791e96510b4c3bbd06cec024f09f4105f1c3f33408a30d40a0d547df46e1aa89526b80d98c190c93e8ef306b2fdf1cfc13d23ca3c0850702435e3a508ed048700b96edefecd872dba7f5206ef61c72395a202707a2fbcdbe1b2374af6e7542c968957a30323a181d9b61a0188393a10fbc5e386d31e784016bcaec1d7fc713da646e0d85f7a6bf6a38f26011af53a4238c394be9f21e1932dc6edd4aa3001e268d16964028bb88ddef0ee020dcdb85ad598fd7e2f28fab24a1da792a80c3e92b8957b8ca891084b8826520243ceddcda1838d56eac11cf5fae2ee364b36b83280601824521c0bc85908ce03dae1091fb3725b19e8093847a00efdb478ca5c7af11279a032aacb50cce7cb04a7168563a51bf202b10118655df6a2a320cb58617f49a2dedfe75dd5dd8f0203034d1efcadfbee40a1e072f242792d3051cfc444183e3ca511a5a32332609f01b0a4885bf8fb331f496e65ab8e59cb442bf073d52904d352af358927ac459d025f5eadf19d1fa9437cdd1bed37b550df0d73b86c56c7ffca8d5339166b8cc0046499587ce572aa8e778c9c238e07ead155929372e8278f88bb349eff0077bf04c187347a6e3d1890fe634852803b16a43aac6421ec59736469aab1f44aaab80178d4039fecd008007850f40403c7b9ebcfb75fe77474251238d7afbc54dc290614d120fabdd22640c016c01e9db164681d01e36729234c75be5c8a769420a901301787df27f16330f275acd3e0fc9dffc1c4c7fc45ff5bc42c0e5d30827bd904ca610ceb20ad1fe3df0903f7e0099a27b77750d1036a38e6d00d232bcf094702849e2d930d3e5dbf76106c0d45f427bf85db2060d5e309d90e440ffce9bdfc034723ded74d0cffda67fe35357e67476ab9c12be60768bb16080b1c06a74e06013ba798a4a29df523a7a03c06f38bd4d502c9281696e64158d3c127554cfab9029c5a8e3b41acc719c22046aee23b0fb969288d84e67a1eae505d558ef5132e00aeeee7b3a4c98f983c9629314ad45b1e526f5746e541585b24696e3a798996000000000000000000000000a91ed531ffa589d4be581c1ba2347da71b0d2fcb000000000000000000000000f3ed32f37569a22e3d5d813663477e6c9fa526c9000000000000000000000000a791068a7da54fb95357294e4eaba17c7511fbc200000000000000000000000026b3ce979e8c8231a081744a95707ca5577dca5500000000000000000000000073f3480a09ad907b03af953439047f8169a1be6d000000000000000000000000326aa1e060534cfffb3417dd6659dfa18feb7262000000000000000000000000d93fe2d3de51ae93655a32a6b9b258751a98fd74000000000000000000000000815fe8c6369f0cf98d3e11d422f65a87162958b50000000000000000000000003fe47ee7d2350682ae0a18080f0789cc5f30402a000000000000000000000000d58725ab53bc8324eb88136c8e4200cee1ceef3c000000000000000000000000092ec4a713f15161fde6f44b302fe920c47d67c80000000000000000000000001bb66f490d98ee3d1a02c3a269380a08a53f2d05000000000000000000000000e5a2a5960fc57380d0f0a53422137ba370315c36000000000000000000000000764f82348e39d8cd88ba6ab016133529976ddae0000000000000000000000000544c9c42c2e6bce2ee765b1f1b3da37faedf38370000000000000000000000009bf9a04c610db42ee767e62de74e669bbfae5a030000000000000000000000005b6a88c15fdbe1623e25c2f2f2752ad0ffda0ba40000000000000000000000008f5f8c1e19333ec0fbc3d170be0b34b324a3fd630000000000000000000000001c13238c5c63791d62fbb22b222ed6ae2d49f357000000000000000000000000cb9650762cab87315e9fef897de13c822c681f370000000000000000000000004f537776470c8e311f48d3b30998716cf068377000000000000000000000000026264650c0e8bfc70d3646ef63459cba23dcbc1c0000000000000000000000001f92d90bad7e51d6c1c6d985984d841a34e4fb2800000000000000000000000087f5a6c7b1d96951378803c27f22adf8f7c7f193000000000000000000000000700eb554a9b0c007a26d656fd1ca8a7a165ff2300000000000000000000000002270cb3893026aa25dc66845acf3d3328fe1a2d80000000000000000000000003b136662439a29b16f0c09e43001bd19190afb5e000000000000000000000000df090f5ae471eabcf0882ebb194747b3ee75467a0000000000000000000000004bdd99609a3e3e7e39d6139f2d585c6c1dd375e0000000000000000000000000a40376ff7c7bc532b0716ce6d11dd30a36d48036000000000000000000000000567e682329dd8e3686549ae410a811b6dd3c1df80000000000000000000000008ad8a70ab28df24fe2d404cabf0f7a4894d10f2e00000000000000000000000011d8846262730102506dac682a9ef7cf4f309f1a0000000000000000000000009a2fb8bbbd2fc00b7f662677ab98a78ca44e5957000000000000000000000000d1dcc6e5e0981185fb49b36ab65c01a3d7cc7b090000000000000000000000005a4743739dfcf2b006dcb3f8b209adbba9f9bb630000000000000000000000007c0a14605eff5e0b076b6f24e2526f3168562c03000000000000000000000000274bc12125076996c758776a707cb89bdfbfa40b000000000000000000000000310d162899a7a5be7c436c3704b8f54dd1b9bd4d000000000000000000000000fc857578706dbea9a8a498551a0ceaecb27e15aa0000000000000000000000003cab40231c59fa7314bcc543c104de0cacd5e71f0000000000000000000000003c7b8da73f98b92521214fb3ec5f9f7c3599084b00000000000000000000000019324b0a391396bf84a68551688f21002f0bb0f6000000000000000000000000c6510b22a27c642658c87672612d38e2f898e894000000000000000000000000338effec03fc27ab2d7ae9c88a350ce4ca7d422a00000000000000000000000046ff3a3f69559a605802f6f4eaaab368d094cf8f00000000000000000000000071fd90780cfe9207b5ec370672ab19e7663324e0000000000000000000000000bda5e88a5fa38592c486bbb3055c36230388ad750000000000000000000000004ce41bfc076174f89513ef3b44dd8311ec014a42000000000000000000000000e07d4331ae9dc0472c9dd61884162ab9bf1e009600000000000000000000000011b13c4927102e5738ff3f7ff940f2686d2088b0000000000000000000000000bddb38550dc3c8295d169424b05b52bb11f905b60000000000000000000000003d0d098907e56b460ac890547241812b5a02269e000000000000000000000000258ff706bfd1f3cc55160f674298a5492f80c806000000000000000000000000d6542beaca55ba5b48f7ced1a90c8c8b688ec193000000000000000000000000c861bc8adcf0f8e2f41ff6dc21d76e51e61fbfe70000000000000000000000008dc0b9cd2a48b7d2bd8bf745bac8dd588d8aff3200000000000000000000000059818fe3cfedb6bac78199b5c7b00f08441671e60000000000000000000000009e5bfe1fa6b5f278936d3eaece7f819d60dabb8c0000000000000000000000007785d3cae5eb0a14d802ea2b31468d61f0ba7c7d000000000000000000000000342de0cae2b92237b669906bc47ed7dcde2b2cec000000000000000000000000c9f730128e023e83e695a247be4f85dac7e15f55000000000000000000000000a5812df96005c70b0514956fe91005876205d20d000000000000000000000000a80d2eb54980d86de92e7cb7c03979e61ce1c9e2000000000000000000000000b7e6d1b64dbb216e87acb5a2ab8b170dd99d3173000000000000000000000000948fbf321e51c46f353d9e869c2f81311d360666000000000000000000000000520893976f9489b7efab2acabbadf4cb2eaceb73000000000000000000000000fa70d9787a43f432fd97ae96da53f7e29fbe47140000000000000000000000000d1785cae6b772cdcb4520170b2a9a5afa9b9f75000000000000000000000000f68f3bc9d1352dad1c5721c3d99be5a5dd02ac86000000000000000000000000831b1a16fb81b02da2d646951d04cb1d71073c3b0000000000000000000000004f0611fba75a1fbb69d3130bdffa2c1f3bf82876000000000000000000000000650b698a2704f60a941bd4bb634384957a65b884000000000000000000000000d34ac8dfd44e7dd964effaa309d2f77d57d13c1f0000000000000000000000003cfe0de85fc3532397c9afd13d2ae1d1ef3302c30000000000000000000000005482e21d0943031403b7a003f3103cfa36a84a4e000000000000000000000000d170477a7d00d1b3dbd6a6d0a7313d2ca09714f6000000000000000000000000b4bb8fee540e609b35478649c5c32bda2802f4d5000000000000000000000000dd653f10075f673ffc4aded7447babea322898cd00000000000000000000000002dfd5b94ed36658b96dfcf28383381e25b819d7000000000000000000000000ca5a4c5646d38c347f5a131763b9ee543b5e0e1200000000000000000000000002615623e662d3df691dc42bca465f33a050716e00000000000000000000000045f37f3cf21960ca38c9ec60533dca1febf8a62900000000000000000000000015b7db12261ac7ed3195ab718f813039c1c18c020000000000000000000000006feb591e37fb88b750591cd0d6f420ee1c856d9900000000000000000000000017a4b5cae6af24bb1909af873053656b8662ff440000000000000000000000004ea7f24503a9f624fcd5b9cf46c682a2a7f9849b00000000000000000000000059b03f16c189dc33487836f40e43182082a798f9000000000000000000000000ea9357a83c31bfa96e619d5eff80ce60b73f541d000000000000000000000000065b8417c6ba0667a703f92bfda6616e0d3523cf000000000000000000000000b7f148338c7f3f3fb3ea91b50742e3557e2dcb57000000000000000000000000c8b8e563fe885f754483c73d3922ea7cc0106c5e0000000000000000000000000de0f524f291ee393003724edd68c52561f3b1220000000000000000000000000caaaab86036c476081508156931dac953362ffb0000000000000000000000004c7b2020e05d512abd8be53c4dbc0dd480541999000000000000000000000000472e7478e0f230bf662b7176618ec04259cff44e0000000000000000000000006d5a7b00d0f198276b8b2eb65199f526cd29c28600000000000000000000000000e98c0c7e58e7ca2b06efa72c4e332e1e0a34ac0000000000000000000000001a8186941aeb812c59c39d497e718d93eebced800000000000000000000000005b69980b43370646567b4e8fa15b56e798b7d9ca000000000000000000000000de111159a7badd53ea4e0cbe99dd5a5430bb060a000000000000000000000000e467d633ceb1f6910c9a64b3c5c178fe0e2fe1ee000000000000000000000000cd97325268ee2d3bc1a362491811419c30a3c0710000000000000000000000007afeea822616b96238d9b878b2caa2f6d27a66e2000000000000000000000000e57c7e0f35c6fd94104904d3ebac5554a2a53d92000000000000000000000000c7545dd878f7408c371ecc8ac27bb4856d3050b90000000000000000000000001cbc25b19106ab2b846876f0fdaefd31a45c23460000000000000000000000005247b06d194488b3376d482641d703aa5f11c6d60000000000000000000000002ed1d012aefdad42cf2ba8ed62a68dafe5c66fe5000000000000000000000000181f1298c41b7c46408f77a2b45b5e3d4ae7f49f0000000000000000000000001c7ebd970dc10ceba02062421bc972d9ab970b76000000000000000000000000a1224801f90436f5fb5cabab35ba871b95811eb6000000000000000000000000e859e3956a8882ddfaff44cdf00ab8e3e10af876000000000000000000000000aa20c645eb3211b91170b885efcb8ec8976f0e210000000000000000000000007c4d00ede06c5e621e1509d1a9201641f9c233e40000000000000000000000008d1e724774aacff1c6530cece437814480e8f78d000000000000000000000000ea9ceade83240d280819e8c20a62c2585527063500000000000000000000000076aabf2a3cbe8937de3829791d691588b25a95bd0000000000000000000000009bb1d28b03d875d823a2eea5a9baa875cba52bb0000000000000000000000000e3a2019129140f5047f675e9014b49effabcb4ae000000000000000000000000455db1c1c7783088e2534c969b36f44e01f0bc27000000000000000000000000762af41752dfd13226fd6cac43f0adea8d8d7cd8000000000000000000000000cb11f67a31e166ee703c1d0abddc603c28faa8770000000000000000000000008a3ff0fc05d26216d5518970623c9be3c90b5fc3000000000000000000000000e8e3d7ade24db57793dbc8c6f12cfd21d9b882fc00000000000000000000000016ec7db5501231fd81b0f97f7df1ba51dd6ca9a10000000000000000000000009ed4b852ed3dce24a999c6c76b41da04afaf7edd0000000000000000000000007e461962115c3ecb3334d6013a22c4ec77bd8e9900000000000000000000000076a6d16c4c64d07f9a0231011d9fa2b85cb410fe000000000000000000000000c978f97944adac651f1e879c8ee3a0f857329f4c0000000000000000000000008656a0d1c58b597e4561cce6f4842694e2eb28ee000000000000000000000000393dc5181680304c6be7dcc4bd1c4580c8cb67b3000000000000000000000000b8f079fc00913a5f81f406ff92adbf2b970d6743000000000000000000000000c9ec559829674a65b55bc0a3143a72a334f69a85000000000000000000000000fb99f0f998c4f90d3d8fb2a59a265a0abbafb8d60000000000000000000000003b3cb9de32a9662944dcd3df7c6fcc3bb208e702000000000000000000000000fb91b1f13b0037d76498dbc6c3dad1c999ce850200000000000000000000000077f2fc5720a7276ed84a12f8f458a68738e2b06c000000000000000000000000ef95d395439c02b1e1c7fc74aaafa4dc35c925dd00000000000000000000000088fd6bbb01010086e090a91b7789d37353a40d0d000000000000000000000000fb93f39be9db49d87acefbcb0133ba64417c29c500000000000000000000000029f8838de81b0aa3640d4089b7a0cb13f1ed3dbf000000000000000000000000324a92de7ab011dde18fd37a9d693edae3e20713000000000000000000000000223845410cdac73f5cf885a245925720536e75aa000000000000000000000000c57672cbf5afbc5fac7c27243da3dcd7a9aaae40000000000000000000000000ec384801e4cf5a38416d55fd73f0ed6e9d8895f6000000000000000000000000f5985301968c4d705cb1e0f7272d4a7e36e16e93000000000000000000000000bad595cc8628dca20b84a76d392882728063e6380000000000000000000000003d34f985c39c7f291a74108ad29193115c1a00bb000000000000000000000000a5ba304f3a0ec66df53116de08e92c31c5c810c9000000000000000000000000181f4e6fd6af0baebf8ee33c52555c21f35e51b9000000000000000000000000a951ee72408fed76ba1e4f7fdd914bc29d2064a90000000000000000000000009128c87801469024c13199ad991c3780ad4633e7000000000000000000000000b1c74fa01036a6abcdcd5c23c69abba383be51b30000000000000000000000008ebe8e8ecdc3942b60d220b96543fb3f2a2bbae9000000000000000000000000c92b8b68881aa6758715590a36dc07e4a285afc3000000000000000000000000a0b918495b6cb3395306c9283cb8126a50c966ef0000000000000000000000002eaecb4a6f63e8b954fb19cda4faf260469ee748000000000000000000000000297fb0b040c737c6e65b3b56c51fe3a873c05683000000000000000000000000ee8db37b23530729d34960c284e6ebc3854bf630000000000000000000000000452ba2ad2bfa07bc7997a33a565f52affa1402a600000000000000000000000040c51c4a8cd066655e9c88d8532e1d52e6643a6c0000000000000000000000003be47ef91601f6e3b4b4fb9fb7a6bb0efaffa569000000000000000000000000665a95647ff7ac13d3c7e2f8f29d390e15b249b700000000000000000000000004ca7967f109616bfa707de51deeb1880b097857000000000000000000000000f237367ecc968a36307b625017c8ee41f2dc622400000000000000000000000061a7558199b9227bed140b5c9168d0ce7be18061000000000000000000000000bee9f2caeadaa8b1427c99f9e16cc6f14ea57e9e000000000000000000000000537df43ef351dc465507589a88df368fff84151600000000000000000000000077c6a48a0040deab708791b1c128fa1a0828a99400000000000000000000000063de5e98ccc285c17179b9d06d658c276b466572000000000000000000000000e447efb6314c69870c67b667008e7cbbbb98a68c0000000000000000000000001690af577e4438ece191e0614ba116df465349510000000000000000000000001f0c865b899568fd13a0be9a98b17c131122eaf40000000000000000000000007229640e3a1c4a4116d72862e51b12d3fc525cd20000000000000000000000000499cbee3883c04b2ed55252e953a6e1e3203046000000000000000000000000dc7e582f4471143d29ed37136b4a1f85cd3c9272000000000000000000000000df5426218384becf3c2f2be4c6a63d2b76c07ac00000000000000000000000002b1a898961ed97a985619430be279d0b96de3e2900000000000000000000000089eea194b93c8990e831db840d81023c10017382000000000000000000000000142179a859bce85ed5034115ddf945b679058537000000000000000000000000b5ac689fbdd68d57c867aad12d1033373a30f672000000000000000000000000be8305bbaf353e678d2a163826af710be0d0a7dc0000000000000000000000002a828931bbff5fdb9080bf373d9f95e21dc33ab600000000000000000000000050ded9299142389741d0926ee2fde59891421d5d000000000000000000000000ae7180609539bffe3f9e92f8e611c65300fb181e0000000000000000000000002cd5724ea0ba47819e15ac381262d91fbd8e2561000000000000000000000000c3372ba6244d59b0a26fc70315ac00ad0cc3653200000000000000000000000036b12f67f4926722ad91ea7522b320a190888d54000000000000000000000000375de624ba3749f0ba44acd8f55afad35b229d4c0000000000000000000000005d983c69dbb249b589d8ea990af8249bce78e9160000000000000000000000004c2c6a2ba1bbb9a174157e96ea92f2eacbd003de000000000000000000000000c7b4cd3dcc5612c0e597287e193e2e961e835ce300000000000000000000000003d63cd78283057b9215caa66d69dcc167c79d63000000000000000000000000d92ff98928cb22565a3ff7186f16a4869c8195d2000000000000000000000000af84f9f2271ce813c7c36ec21be97b8572e8793f0000000000000000000000006d6d01fc1e88acfde194be3617531c111599181200000000000000000000000032cb78a52a81e113fd0b28a18285dc6e002e45a4000000000000000000000000b04ac023d44cf194fe173c9700682ab1aea70e0d000000000000000000000000b2fbfa11f8de2e997260c723dc6dade39ceafe7e00000000000000000000000054541a1f8e1a2c0ab394fbb798f3d136c9f03c3a000000000000000000000000c354d226d372dda5298b3f7a03649b738164420c000000000000000000000000185287c4ed6603a5f1bf86b71b6fee216f19c9170000000000000000000000000257601e450a8cb79c7463c93b4d4103183969c1000000000000000000000000098d831ff44649937787fea9983b446574fa05b50000000000000000000000001fb25667311cc25a936c50ba66b0ddecbe1a7b4c0000000000000000000000002f5926383ef836a8e0c72a4e0b94d57547b347ac000000000000000000000000b1924691ea35b5b8b9d6761fd7793aa740d244de000000000000000000000000092e710f11f1d3a9f6d8b6441ecefe97c7f1723f000000000000000000000000f2037afdfa9248bfe49165511cdb3ba282157917000000000000000000000000ff40c0a7b693c0f9180dc8ce4e4f2567a73d83a700000000000000000000000066aa9c35651812540ceb4376dc4b3c16c16cd3f3000000000000000000000000e0741446a310c094d39569ea8d590ba89d14a47f000000000000000000000000e6fbdc5eb4edfd9636ecd597454e0dbaefd91c37000000000000000000000000851a636bc10fd675e19dc65a0d349397bae972aa000000000000000000000000ddaf1e2762506751001a7efefb8e8b31690ed862000000000000000000000000f7360bbc4b25fb23c86bc167c09af0bb912a9dd80000000000000000000000006cf484c4df31d068901c27b0cb2e2c88a343223a000000000000000000000000bd4e36737e54037febde50a55587cf9fef73d9d3000000000000000000000000126c7b2872311c9229258e5c2174704b0d644020000000000000000000000000ef5cf9c451f5bf284567341612acb095a3582714000000000000000000000000b6c7dc7c9be3c625273e6f9f49ecdadf6b85fa0d0000000000000000000000004d7b6a08888be2d59b9c17554e5a880c6f01f69a00000000000000000000000098cd556aaf5cae409c00170a375644064e4946a3000000000000000000000000758ef738c3f08569c5c5cbc7423d7c49c9c4f694000000000000000000000000a1b059f7dbe74b51978761ffb6bda7c6e3b83d1600000000000000000000000092b08d4eed329f2876e51dd38c39062f8eda6791000000000000000000000000d1c1c4bf2b48742e19864990e3c48a314ac27d4f000000000000000000000000532af4cb20e046ee2e05d9ef5f331ff59ab19f7a000000000000000000000000c001716dbed0d7f9405c063262c77f1334235246000000000000000000000000c1212b6c16ce3bedb34a299e01151a9ed853160e0000000000000000000000006aab769362baefcbece3dd7730866c9f53c132b000000000000000000000000047380dbf3d96edb485c6d6c53aadae90df3d8d79000000000000000000000000ece89039283c34fbfad11f167d5001ea585bd06a000000000000000000000000471cbfe422da4a07f85c53da923d680a905ac504000000000000000000000000ae9788ba02ea1f53d3d2c32fd7c17b83bdc2f762000000000000000000000000f0356a75ff6ff02d9584ad5350a0bf29b0d8bdf8000000000000000000000000b1246cd85d6f2fefd75633fb024c3a339be667bc0000000000000000000000006e8105f51ceff7ee4c1b865331e0ed911752eb20000000000000000000000000990958eaafa990020e26abb3875d1bb7af6fde4f000000000000000000000000314cd7d5d85827d1d30c4ca4aebb640128355c1f00000000000000000000000088985c56c2b43f5716e0a85fd8aaa98e0442eade000000000000000000000000b126d51195bdb70b8fb57105eee091d3fab7db7f000000000000000000000000544eddcf5f1714009cdaa064821ddac43f6edb5e0000000000000000000000006f91029b1dc28ea88135f4535db29f34efce1dbd00000000000000000000000052613d9a7d24be6d662ee05f3d4b849fe31df67e00000000000000000000000061a4e4d1c242159f2b8443a7a3e6e0e29b5efdc7000000000000000000000000ca2fc9996e2ccab423eab228654ea17532f1ced00000000000000000000000003048fd41efce66c8d7bd8a398cd98aa9354148e000000000000000000000000068cff813ed875a33fde2f22b9453cf689e9f9d31000000000000000000000000190d7e265359c78b8e272390ea875e58256858dd0000000000000000000000003048d72ee4c368eb5792e32b3c0f6622e1955eea000000000000000000000000ad7dbd96c4601e557e55d878b87534ce5c442efd000000000000000000000000a440d0e0c365e60f3022a3156b9e8eadd8390706000000000000000000000000bc8d93f39346a52af7c0454efd96c3739b7aa95b0000000000000000000000000ef28f58aa099a6c7e2a0839bfbaa2467332829700000000000000000000000017f4fde66839849b14459a72b019c7f4880899d0000000000000000000000000b34d352383c4e70eb8b9b7e83b50177ee8b5984a0000000000000000000000004b685cabf929ed33c0b41b80122bf64848e45a44000000000000000000000000cabb361be8102d646c66ed1001aeaeee6b75fe15000000000000000000000000d61a9eda96496f9129f472f2deee78fec2263db1000000000000000000000000f5c6a7ac49f80dd9ad9f71a297ff00bb0092f5d70000000000000000000000008c7df3395cd4c5c7c385245c34429dd2e2b83013000000000000000000000000498f031800b930dc99869248d26ca7b4363938b0000000000000000000000000c43e50e50d5b2d6ce2194ef250ff59171efb15fc000000000000000000000000b8333d0f9558ae3638be130be0fd0fd61908c12500000000000000000000000066374d19f0e5aa7cce82dcfc39b1cd7532b68a220000000000000000000000005ef34c82f19477e18e21bca553a57806d7f31c260000000000000000000000008b7c61f55cf7608e86cddc533e97d78d5d5f5c85000000000000000000000000af90bd4f58d96e678175bd989c6da9f730e954f5000000000000000000000000994f51d4a0c36faae2f023e0c72eb525988c7407000000000000000000000000d615457baf76f54e0e54903efbf3aac8aa1b7a5906f142e33add7c0476775c3f7971509e7a20a25245e970a93ef875fff42de82805632f99667cc7fa7738979880233629a04496c1435c130e7893c9d47a6c89b1057afdc06bff4a9a0cac4e82874e1b9cabdc4e68ea0636830dc26e9f85c43ad9056a7af867d3389f1c8898a6d1bd04683fbf88fc1c7decb19a71a9fe724f954e0437a5946e7a4d5f1f1f6522e89ed7ca62144b1e81fb04068aa35885ad95bd6f008ab386d47296d7db6564c4d541a94910401a3fa99d5b6990fa0b7ef385939c03c21657bf3707883920477d67d92fe83f805717e60bd37ebc76666181cb12a6004077fde55503320d750ee39c81f04d3cfac8bcd2c247597babd5cb2ee71efb063522be998c93a676782d5f6272a127a903f7c666146e39e45b91bea5060709011748fec047fc172c9f30c1233d291553e852596ed36d63dc7633e0605a314a0507637c60f76a4ffcd03cfca285c16ea670a650c5f96ff4f59d7196cebc38140295edffc67c8e03ea7c10336b56d35c07fd0d126e553e5c51e65504c7d6e606009cff9ee3d399c51f8f1c874f95d9e9e8198839fb6384c5538655118ad9642f04aba6234838a1a45d5ca2b7b71b02a42957eb005e75f16b9d5719c5ac4684ad035f2b832be723c522ad2086b5cff0f43cf1fe1afc1b6c92a37157423f94ab2d0006dcd40b3acbff549a5ee61540b28124a5313d961697eaf315616f270f31fc004a545f7409c3b4578369de5db6e62fce191f03e3865368d910a852478f8bc604bcd35e7a86294e0dd34ae4ded3f071423c694acdb9408a25222f8d4623456106a7c017f9a5879b5125e14aaebe1500ff9425dbd8aff2f5ef45c8a8c5e4e608074f3a9bf986c1b521c959d8519b4c2f9afb3e6fd7ba6e4683ba9247634e44490640441d0ec987da6435df694cee4909dd1c52dfaf37a8603feefe907301e63b037bfd694132d720ef70fec22afa28ebf5f99d64b2fd898fc6ed642a8689b79401d467f38a9e734f91b8be41a7175eb95a4c145f9f3368d60282bd37b2db13060089500f615e80dde73aa7fb6b57f12f48c67e82b7c9bbed7ff7e2b7c97b259c01846066e889f92d758f0134fe2c9f5ecca5a4b0f3a6fa961f52f6a38ffc360c00329adb470edd00f8069d9579419c0eaec4f8c03091647d005b5cf9a34c67fd0576533a1355cc7210df601a222cc17da954920434929cd4f09fcdfb3b2cf7e4075335c0fe60596835813f3de0ca706249cde67e8f359e33ad83dd46623be72f06288b094682fa032edd2bb684075bcea6766f9582e322aca1d7d2c886f478fc060a6055da736f53dea778ca41addc19f33e9eea1266514eebbc51b6cb16aa390734d082ea6d956a3635dd34a088b7ec149484d578f63a71ae2c26fffeb3e6ab0029559c5767994b480f9f2809b724a9468098ec099c3b476cd45b2366e1ed0704df15e351c18695e7891a2ac65b5af66bc044d53aeacdd2c94bf628d3356ea5059052fc2cfbf45cd24a0872815e887afe58f01a97ec60113109464e61e37f9b03a976afc475e2f540575fd88395d54e8f4db30601bb323b8f73b9a07a2a71ec016b15f54e98b54091b7263ce9d95227b674b0fa61fc66c15c9d3783a1944bd1073c77e59dd3e5c6a380b9143e7f999482f55c70979ce724c6342479a448286f07683d6f7fc86627a6eb64db139a3ad836443a425bf318a63741c1bf84cfc16d055a2604d6e2787b8353babdb05d2715553076ba4f14c910fb3e0577ccb0e583072baa739aa6be1d9b53edaecf24b7afa56671f665cb2eb212fd2511cd196ceb027bace33b0ef657afccdebcdb27f9db070fff3d3773fced1efda1b2c2d125cc03e522b51802a70570180fb30561c3435bec8a5a5c81e383af38d94cb45731e305cdd47d956c345cf854697abec382e5d3e3e31f5132773bafb0bdf178c246b607a20723f9eeade69391a7e99c3aac14fc6d06bddc84cf11d6f9b69ef5b0f620075cc56045202e11da29247a2d4fb655452566e1168d1225bbc0ddf215f1c6390751adff8cb66bc39d235f5babddaf3c81285a210a0f7bcf8b7b0a88a62264b80484ae970b131880501a3d317dfa2cb8eba3df7c73da33d0c217eee0ccbcac330078ed0b4248f41f56bac1c39142d7b3c02baf20cfc05474bdf063420eb8e34d00b7fbbdfb0be66f04d3ea6cf059bde5a62b5f915d16a503af2b82557fb0549f03e79a5678b1082e385b7432529f6759086eee045ca496d80422de455db3277a078abac60b86037e171004305b31600588d2ec1a15a452c16ca70a01eaf0da2a06ddd4e03b4bc2725159003267aad46385171e5b1dd4cb7c5ad1caa7f507cbcc07aeb0ae98bc5405de3918ea8f3f25276f98a45df79e1f66135c6807e1a313cf03cad6f28af41390fd5824ec1d9956f97cbbb562e02a16fc02afc41e55ac7a2307a353fa32abdf1062e307bcc98e55bb2598a5fd6d516aa85cc36a3c047f0eb5002dde0e4e47338ceac4e3f8cd8f860633449f1bbaca3e042cfa309957291a4d042b9df264e507a68cfb93677237fb4e270e684f1c233738fbc20e136b1c596104aa11af8de2bac07a8482636af4a3e5fc4e3768b0ad0f224db791776d540b1e039b3cb5f74ab92ed5d0556e6b9a7e02c6c6f7a3798ea4ef34d3daf9c6c93a1702580e1cfa8aaed553782339fe0a224ade12c68a50c5164ed099e1fb7dbedfdd04ece2b56123f653ade07c2d3d1f389ef1f7729926304544ef70b861af2e43dc00584b6ba7fb708ab2887e6cf4c231974d46df205a8d1e18fca0ebb55898b0a9066a2be71f9f077d1c8e2185898bf2ed1135ffe9851a8977152dfd5c47fbc17303c0354c7bcb03142808481f5bb8c757bcd39e95169f92b2f4d846eebe4fff470531ee0781128ed1513c6a640d4fc77cc2d1ed7aa6968d416d26483727d789b600a8c36606d44a51f5dc4cf6d218c61829845d18e722ae91aee104557f23817a05466c9dc8f3f7fbc0db619df8c1b88dd7fd5cd8c1940b98b4aa5b3f160f34a307a5af2c239f078cf5719b5980ac0be2714d31fea1e526b5eedcd47aba33ca5e056bbd302b8132bd0e5fbb0de12e8a470d5338d412baa1f8a658ddeadfae20af051237d0df7edafb87c48286ac94ba5360e8fb83e971b981154889242929db120648723b4549ad11a210bb692999e63c2d4adb1470d0cb5abf5b60f47a4db36700319e441af3cc27d5bcddcfb07dd593287db4775bb87b184e779911901bff3406ca1d175ec7f999da007d0c4a0040d1c7bf07a6c18db7b88347584d5844773306e5300de310dfa5c4027982be80931af04811ff12e1ba0bc1496d91d105456b00a95f28339716050ea1d11f3bba35cbc30f860388f55120fc68b35167ab915802164f721d4d1d9d50d0c6ba408547fb573cb12143e05dde65fc793029fad20101ec976501c0d8dac7f45c5f661b5d9e3b8346b830b1b94969f75bce3743b44406d1722ab1ce4d1c1dcfc38d6b9babc0a8aff996f23f758a58b4d2543281782a03f7be4c1653475e04f064a873506c201d0d8faf5df1337848728b2c5f61206500dcd2db62135082ea3ef60f54285db71e21efa5ddf019f1fcd9a6e3f8e6151d043aeaa5b5f78b6a51b35abce6e4480c59a0ca031071c8e83dc6054f68cc9d53049d316183e94a856b037584086defae78e40af94bd08c696d7fdd8b61b05b73012d4c418d5a14862578c51b88736dc79a04edf520dc0e9b2fbc43bb2ac4e3810593df63429826b0a257bd1dc10690a794e785201e35445ec923aaa75a0ed00200c8fc15758b5f215b62f33708e5b2bf94b189a72a62b6f9222a4ad32d10dc660636711615ea4830309c2301f6cb67a67df8bebc78125331b12936140b31b68a07f1f010dc12988eedc460ee42d27581d6f462cf624e95bff7f8c439b2a532cc02c227906e8d7f1cc800711f50c08f149dae8da7b66292b8ae89fbc23e94dca7034d2ed450f9ad8b421b5b07260baf43018ea29a73c971327b4a797bcf863ada020b5b4c9d13f6752ec589e02080603c69af068a69650cfb33d12ab222973e1f00e329509bde2ac716c62ece5c60fc54f37f88366a531a9b86a2016c3b9130f8077cb5dd5ab1c9d752e83415e57bd14b1376e3f13faf37c13d4750130a5519dc02431b98dba907abe8d0052b81d69ba93320436537d280cce165e55e400a78d2045cf710e879121c5cd4845e959fedabb3e3e7dcef86d3ea4c5cc5c4bac5ee960715bc1ba65569590ff35ab257c2ed695f68460757b2ee0b979da2f074ff704603bd8e095a40395cb7f925ad7d516e544543ab63e0aeeb11e710cfe123be0ed50239a81284bd69dff3f09b7d65ab1ce06b6cc70e1af2949a26ffb3fb5c82f237046071ec747df56dca7e9af403948a0f5ff4b9d059a676485cd8bf480ce5a3c606ab5e7f2d845dc802e707504f1421cda9085820059e92d440246e7ee372a2f800b8c7e9e4c3c9ed1ee1c7070472aaf0abb12bbded07f3c05b75c8c79dfafe5d01a9870d3bb1b3604aba0ea8ecbd21d7ab5cc2558ad2a01e17dd444ae204004c044e16a11f4dde27f90919076bb130fc3b7bf73a9e7cb061669fdb2b476b4b1902374d5a94aad49c5bc7b6f75c846352ef74a5360e892ff4d3798d9aef1233da061c73f6510dbf58a617ac8f5cce500236e093e71dfa4a50dc256611b2ee970107729b65f9433a0651c10789201578a6ce6f18218720ed5f17b3402b2d0762cc005309a7101b95835679beb3dc4b1ac0cc575a1e2780ef8fadd428185ba1b55e00442b722aeeee7532310256e4a5af3c21c8f60ace7e131b9dfb77a5203da9b806c33bf2027c0f3c3a027a359273467551ec8dfe461cd9a31547e9addbf937bb03d63ae9584426f6234dd3931e3fe67e73c5f5f67ac62337fc3a12575e96596a03f114752feabe0f958e7d9bbe443eed3df07af023d98fcc1d85837d4ec83509029df67ac612c712f35b73d86322c147415fbc90d2e7faf01d862c808d95e73b0756690ea8ac492317204cf03e6373acc928103ba4f45e81cadd382781be5911028d1160d15490dd460b18f9121509d9061357d7c0563c1346fadc0e88f57ddb0759b11993597c9037f84d26d50fea6611811308b96e1a9460c7d1c823d2e41a02cbc721a235985aa8dfffd4f8e40b0e9c068b8f427bba9aed21cf26da10548803ac096dc96fcdc29b08bc961fb2ab0892f1f4ac41aa821d4219ec2b80f54275022933f65a564887b8ba1a94945713d5af5a8a2983d6f7f8987814f700b804240333c2ff245838e1702102180d598e0eaf64826efba60268b17e6bde094a0dce04e5fc94e71309c5d308075d836f73d7e2f134693722218af00a3c7dd666f2a1069456e1407bc9aa3044007c1112543b44ea03ee195765e172540f335ee6a7c907e300ed181e0307e301f99504f1b06d636b3546bf08b99ac6d16f634ccb90a2066958abf2be37546161a6d0134ac9c7853cfec8744465d0865668cf4e2ce939023121c405ec5da24e86f52fa08468357db6c70814255f5451c574add07f276b063af8fabc4a2ca3ee3a7c8d8d06e6905fad7033c0b327169a3f2a0fc50260440139f569bcb18578a96b1f1b66ab2dd914d6523aaf47553fbb5980272be045210401127fe42af59952b1cd91b942f56103a16c6b115079755ce31e183e26129b01280ccba8cc280eedb14270071419a7e16a7d292d20a5c7d06272574697a9de05606bf4964680fbb0165958f7ca120a97095d2a10f0195d60c783e76cc3fe3d05099c9861b5a1be09b261484e40b363f1ced3cb2526e3ff1ce89a09b6da4fc007284dd0d12d57af58fa59041c29a2de3ef971fb8c301f895ebc3a5bfca0873600e78d392aff20b9e271d852bb92ddd77f456b8771deff4bba1fd125b96dbbae0125180a24656bc92ad394b3125b4770cf620e417f07fee7d80cea28798e775007e40b59f651f7571798157d35813a6df06b947d359d21414517f338ac0664c302e5c1a33a9d6cadf859ce6137c31ac37eee17820e5a24c72eaeae3e63ff4c880519736947d085332e85799fb894654a7597a3d66adccf5663aff8331d4c25080579c699ad9e648494ca1147f7ff14b608307f538b62a576ea6f6419d5989fbe06c608b36e09048419859301090d09fcd35ea53b1e78c53857dbbf0dddb010af02ef1164379e4ea3be1b8122c9b0f684450da6b258f5b89769e0731210e382c700b6ace35c71d619af243e65b4168deee5dedb959f23b6f17b2a605cbdbe32fd04dc7412e47d9b567697615ff7d82c9c10f74240cf07661a4b89d5de7037306a020a0b52d51665456ff623c0555173ce2e9c17452d50015e0772895eb611684e02e04d634e6b9e5bec6b86afe8d71b20331705ee3867516a32b03a1851e8597c06544bf040c3da8474fada1aafb3067748d22184ce219169452eefbae868564c040e68aa91f9abaf9535cc80f52ac3643853d73a6bb3790e83631c7a88d9d776053c2fcfbe7c6c1b10177eae1cdbe78210760afad75d4092dad01514f1b21b0707c949cd827e6644ae8506591f547d64106e93e86df11b3caf7545d465477f1b02009d3af0af3057214743ca78d104ae52fc8cf35d72068579fb8daf6586382602f8a66eecdbe29be4cefaf131c09829d280482d0c65b5ef265a5a8df35fe73300ea87e01f29ceac0dcf07caa9b4dfac1602144034b5662f7001fabac542621e06410ba8d7ce5cecdeb66011a505e758d2840f7149b7b1280d6788d3b39410dc0630e8d017f3937c4a1b4a7cbb1b1bb7f9577a2db136f42b505e573d3cecb921013f15bb530ee0a9fe0f517325e77dfdd83230ca26245afe4959901997d1ab1a058b893c1f8a7df1e58cc6b878b737ffedae5251834f34caa4b32c82d268d95d07ae39314d78da59cd20c37db4303683f05c1e8539b763f3a9e944a4b312b8a404e8bbb86a45957487f317e2064964e6aa9fc659f077bf499f710d028b581183011cca710b99043fe189787c9cdf3104c7ef2d4c46ffbbe1b0de0e0145105f3a0025bfd968d2727e11cec92ddfd9092a5cec0023ccdad205602250ec721e6438037d1e0ca5960c188a3c831bced3d61838b1f6e06ef3dcfe60f846ca28e56c430677b8f80ee88428982016ed11ff91cc8904e60c9e6e71523d90729d19f78ca0022268973a6ece2d7c78eb0392814311f9c89e5fe8e06a0b5c82f69001a4828903e54dd45d42ef5094fb118f8c7eae6af1049ba428425793c90d338b0490e632037ddc7597ce0c89603fd5f1a33a33e975bcef4d43535c10227f56f592ea71d705c2fc81e18553207108f7061adff8ab752254a8bbd0401ab0fb8892d440df6a02bf7cd4d5066b9a2fab889cd705fc6613b135b949a498c01bd4d322a4707bd1038716e297455c2db86b84d3d1e4e68d92dfe94adfdaa452d1097b3ed8b3c79e0410658769077107886c9e820027cbbec13678fadc341569b35483def31a37610462b4bdc484cb073bebdea4d51ea52a7e78cf29327d584d57cbc6853b20d1400769c3b4dec81bdc12821ae8ac66bd0915fe3355f2cb475240ffbe3e83c23a5c053c52af34edb81edb36bf9d3bec6187879427ff2d7b2e7d1e7e3b6f5dc3176d0679ffef7301fabdde615cd2aa41c4e802669bd68342701f2e4456b37ee5888504199f3526b33e142d0201e2d221699a77cce1485d033ac5f7be0c76ec00942401ba2950e6714a9da90327b9d1221f6b8703774b258bda88785efcf3428851d307ae733176fc163332496e0052c5a8f0b0f8420e822da97e81e4ac21361e401e05204eea3ef985b9b45bd513f2200294c310e08bbb97a82468d6c54ff36c56f805e232635dd6610ffba3ace0546aaedcade0e5915e01d22bd94d1f202daeeac4032e598ef238cfdce0c28e801389268b39dabc7c7402b53ae2c319a562bbd01503c7cdc1ae6416b11c93fbcab9995ad581b2cbedac1602a98dbc84a2396f9fc101148b7a2ba33a6cb1422f4eafde09d7c934857c1d5b46cea7dee9ebd177ea1d011e80186097adbe7103a95ca1d277c9c335b82a71854b73909de3451189f7b505262f8f6ea2bb98575157f0dd15bda523ae93ce9658dbdd849c95ea626cf3f207a7c1b8c8a6ba4cf3d9984beb2131f68859671fcd6002eb5753958e4ec1b424036f258ac54fcd44b0b7b6c425e5269b961efe4dbedf41003b4e6b49bfb5d01d0616f844cff06373542562eb3b53bf9c28596bf7f7572edff6b1d1483b5684f406da778ae94c16b3c5e156e45ef3880bfc93d555cf87339106c28661a2fd4d91068c0d76fc06e0a247e6cb38e52ee0916f0509177d9b02b0b4aaea0b55f4fa2603cb8fa75bd419afa94a7b98b6eefc3b7fec7aaa77450f09bb4b6ed654a22f8807c7a1da9f235402cd70535923dcaa9a1460fbe7945213820cbdd70506d39fb302940241fa0468ca22369158071786d220e939d6086a8bf0337686f3cb93086801eb7e7c55d691969deefb09c0d496a6920865031b1a74463624b3e13ea83115046900d6642ed8afe85fcb5e9d8b08306ef4253d80b3fa3434b9977253e569a3003a091b84602cd2ef3c51332c1f679e875d084ce96146fa7c45c9057ff0bf8f0647fdc5c3887dcbf08a334f936eddd5dc3d355f96a1d40ec679a90b57112a1c01508472549ff02e05b48d6b897431929d90c23f38047f9e6c6d0261405e715f02e2cc702e2e678e2c8c9465deff1e723a785982fbd7bf9f27e6b4a551b1b8f60549f554b7a2b3876fc0df9f3bce2ee95c1046bd1551e161df7079978fd036a705631c9bc86424a360c2e670a4ef42b6be441f313f8b5e49f86eb101e019ecb70410c294aa96dc26aaf00ef81c64bc02eb8e7603d2d8232eb3f652dc0b5d930a03c92523ffe0d60a7fe35610f82d61e344683be6bb67320f44d608331b74892b0371cd77230bfbe82081f6625b8182eceea8c33b87192a3f96db18705275f9000756040b031a6713f5abffb1fbe030d5427f640e5df305b95b5da05b884395a60444d8ef8f2d363fe4138ad3b2c777207d5c05b2df29be2376ceeeacda362a850273c18660fdda84a83583f830d1b76a3ff82d439a4f79e5bc27ca0f79c8f00606b0f3a403175b926ceffcc3423033c315ca390d18a534031aca76b33672fde80761e0ecaa84cf9d7b16ce2d3e1cb6224ce15912688ec2ad38353bca6919f9c907463148fa25404a75dd1dd9d8aef3d8d28163c0488a0c71849eff2c77e67d0206d56185a0f8d0f242d25d7e132a1e441a8834088c2a0d827190bbdf56f886b401eeb9d9c037e6dfee29c1b7b85cf614156ba46a518fb47638ad27a08a3d9ea404cb77ee433fc2b56e444c4c5282663d4cb0cd2a89c8a125b105816b8bd1aaad02ef5331b170a59225b55df9fbe9836ff336580b3168e555c5ae6019a46a590b0429eb0792ab17c97d35ab45eec48094e04d1194a34ee7e5208cf677b78d67a707277c0bfdf26dee6f4b21484451b61a3dab44e26dc3ed022b5c020f2b726ded0081fc99475f24fc32d556965f42974ecbc8b8fbc46876ed71bb1dcb37299c0406d11234d22c7999790d9a75ee497e54a7f720cff8b189a37c5ac9421b631ef403546e46afc48a2136b09aca617c5cb40708a34851099769f93df9eff2c4129103adb9bf3ec6a07dc758cc72c6cf438ad225cd2c0dd4465192763e9d7e0ed4570723fff0aa5892b2527ab629b8a06f36cb040af135714c3ae9d7c68d79c7b3140509b0a61349055d0aa69bc96f57c73b9f4e039880d934f2199e54113ed07a0802eebb6c7b1c8deeb6b8f8f60b52eb10bf38f2fb5b893b237a404aeaf03433130214210722aa9298586b9e23d33bbb5ed3e19e0f1e3cc342bdbcf1a79b7b927e0402b51262a4fd6a26655bb507e10ce1630217fe2b1b2636fc1be5573e794fde03e008b884ea89d4132fac8bfa4a9aca9d67624f0c38d300b15a71cdd52dcf83051b609258d15e156f743ff486f742811dae983d196578fbf8361a9c8ba76aff0462e55a425b643126e817385080d3ce60ab11b18a2720594e950852944ca3bc07be342b5c8ead142b88b659f532d0c245805793bc726916046d7707a7acf1e7002ae91782ace96e25dd59ec9e3e595f6effb3ccd0672b0693799329ee0c6a160764d6a4210ace748964d173022fc56a9f14cb80b35ff1f8374ef04f810aa4b703ff206ce0432a26ca3f6d45095e6ebc8914a8feac720d60fe89d30013eb2ada06b9f6adb7ea65d92681fe7f69f8991318e7ea261e696d6473ad48ba91facb21049f7f45f430ef13554817c7e4e1a4d5ea74dddea2c8dcf8dfbe9872a0a864f700ed9b05f35bdfbc81511c506013fd63b08b307b6154c220b00f531afdf8db5304f43e6d29bcb9649e4515c4d471c4c039c9e870a25a92a2388506ca302818950644a009a4ee0649dd07f45043747bc5c67acb4aa36e18792b77a18715ddad8e03bd606ce3b3be83e3f2acaadfaaabfc2a967fe6174d36dfbb257335f3e8be4f06d5ccc5813368ad5d9fe6b5ceb2d91a10f1a4b3744b3bb79a671fdf28fcefa000dde4313b8199caaac2c2e77d17eecadd3e106b3923931db637888d11a49680035162fa9c4cea7859a769e419c3cd24f804218e14a77fc62e458ba8c8588ffb04940ad558d45baef3ac0c0a3afa906a7329e64f89e35ac2458d17297121bbb60350bd2dec9abcd3b0bb59de030897597fb9ff9adeedea0832951e6bdc574f6700e1332a0071d55db19be044c3494b0dfab3359939a421510c428c5b4a63ecdc05837d23dc4999f6454fa7ac529a0a0f0883c975f17d7a79835dd21568b7cac2057fcb56e154d7732cfbc5142dc0f3c22ac849715c11fe8767064d72f895888f02277fcc6e5777b35a00b27b6f0462cdd8ccdb0f333f8b3133f0af8f934470cb05e639271e512996ce66671d79299c991dbdbe21de6b4d6bf45f50f5d86cb46505c115e0b9f181e57c0a3ff3791a09c339aa5f9ffbd30c0bb9cd151a4449ddd200d58746c1b9adef70bc2ba17664f44236a76a29c8dcc206891bbbd89891d9bb0077dc6e951595a05055ca357d5873523857576a98dab6070c8c233405e35fce053d1e3f6c0da564e3ac1afe7a91341401eedbe1b314ad7938d092c8a03ab302028d89e225ece263fa13125252a438626a60a99857f3adcb4e9763668cca0b760511b783f97d03e31cf2f49d4cfb169d666a36a8b6b92332ad764c52d58c78ee04dab15aee8f733e8ebf79996d74f5d4a4c8fdc88963b28f51ce63cec9c5827a06d76dcae28300a1c1c00452d7f7d1daffddc0fdb86e229a61a218fb3501e9cf07407d1dc68ce73da9d4dd999ced2009315f5b7201a204f05e778b654fffcd6904b9fe6b2a595f7b200a92e9883269fa50b427951571dff81a0756ada8abb11d0678b6a93ac3223b1f7165708ad979cbc09f6ab8edcf8657759c4700adc6f36d018f32fb6d664785b95a97674a31501a2ad6cfa0d2816305a1fdd2d808b3bc100483aafef7e77f383b7a6fe70c4c918c04a4772bcbbef2cf9aa1c69f3b391d7f05ad90a055f2442480e9c8fe3f50ac54fac66ddb1e5d1378766dcbdf63cbf7950234dac8b376dc6bccb4a47640df5414e677a8c4dc7a0d511725f72be6acab14032bee92f0b89d3b42ed50d557d42a62922ab568ec4ab1a8a5bc154b639c9f3b0290375648c86fbdbd0ef859783ce37c87f19f32996c0317a9bf312923f14dc7067344ee4a82684e4e123d2babb4c64997fe2835b84db196232fb2372f5ba8c707856e7c60fc6b0549394f65c8ba25cb8b3380618aa7f9a002d9604bcbcfccb705aaca3b096bb84d6e43e10aa1cfe5892b54aa371cedf606d9f83335d014c81c04f83255b398e47de092b39a84d3a061d5432b4d740f6e1ee76ec4ce088a1ab40105e359a995ef297e5bed136b170c19c1d0c19b7c0399ad3a596882920d2640060b9f9d36f51cd210efe77d0828c2077b7db05c6f860a2de369ba80502d18b804db9910997a28289bf97ee54b2721620d26e0f87d72678966537973fe454298025f5b953712f8062c7e068825c6782ef0a8a68523f5f3e0d08e0a355a99203d02cf5d410f625f8ee7bfd085bc29e45aee920bf128eab96bbd09c3b830ac617e059772de04d75aaeda2ab6b0c877d89f7a491fc9c4b719bb4afea4af35b5237f0445b410e6479b1e770eeecaa3e2d5d049274aa68aff82e8b66e84d7ce76adc302cf6715bdd26761f43c2470697d34b1464fc284ce82657e6086c6bc651329e407b5147d10701c559bef14188e98d1f64420c94c06caa909954429cf13d2348b004532a52f8efa77a93ecf6f7b16b6e552d85e4065b2f6a0a7a66d712d8878d701a9aedb7a627e0298461a39e1a06f50989583c9d692c6d4c8b5446662b06a3a052bb392e47244a9fc81628233d23e5704f928eda1588befd5b9d6538f998677019ba9b3beec29ef2f82193e230424b457674e99b4f3c8f5a23782a54d8be87a00b8cad06a2b9005d4ce6b38a0eb18ef309b31be648960ed0e10f0f58e7fce290716dfe3a52bad1c609080de15c06be4535bb28d447de627fe2e6fdd3da9c5130650406df9c726fca723b243dfc6cdb14a6e700e13f6f2b3affc0e9884744a310182a8ae36d7e3a26656525a2463a35c65875c92df7ee30a56b1f021fcdda3e507e8fa07a95b7e4c6121f842f029ca5b159bdafccd130d131cf193956fffefc906291993e70cce66ea0ca26e2d0757ed135b0f91dc4f275285ca9522628d038f061943f7e8bcb20fbef2501d5b15f5ec4624934a634015cb459eb2ec75d779390768808de12eb61fcbd63ce8bd76865cf9d5db5d67c40b0f001c7b2c54a0cac6032fa1f3fe3ffee9e5ad5b26e9f7164f122063c1c6b85e5988d6ed3cb197ff0f04e3b3765d420b587cd359c8ec0f5296e2aee357a12f2b74ed3e4aba2c77c855069e99d8b614dfa09b4eabe1252149864d87f6b112ea34d74429fee38c5d005900e55bd44057d0ff7b92c39f99af5e6a035833a33677249bfa4d17af823c0aa8048cd6969299b661e8f528f54978c85d9fe9399c6b965006830a5778bec4f61f01ff2b12b980a0538d442afc69f59e03a4dfb11e98c27bac6b7e19f30cfcf8f203f670fe283ec259fc04903ca3dd0e81b4b208babb21cc111a972d084be50fc2004da79aacb6b5d32e99a6a53cde1e6f2abe6879880ac859253d01163dff10fa04ce748731e1de2b16d6b3fc2a73a1a80093c7a8fc1d7dd17d17b2c79377efe405feae4bda384d1163e07830a096d59f8a9daf433c249606b21e41ff78ae963104d597e131a3bfc786991357e1ba4d533d484db6ee68332036a117352d1a1c72078854b5d1551b736ec6bf450a6b5d0c7d6cb822f2ba2b4055301427b82c0a35038146643c4899b93bdc9400c6f95e6ed56286847afa4c96d3be2d43bf21ac8f049ca6cd9708a23fd178ca242f5c166d2d16e642d897f40a6dc4e7899ced3e3f063501da3ff6afe277b5352ec910e3e9788e05e182a6b19b8aea4bb8e6bce38903b11240f6c9ae00596ba5028164bcceba12c6af1c26b87c5f9d1d6056ce193a03d576c27801a5a8ce96784504840c7f50048e626bfa4e0c01539483d9e28c84005aa2291f123512e81e682833c8fcaa26d2f5fd7c50c17ec8c944eaa4d2615e07aa6c433bc8e2b2a8a184cfbe279079c562107fd54d41cf46c9892e6f7941c00315e80ea7c016110a13ec966be487b99bd5925c9ba5591765af43f050fd208e0703de6e935820fd8ccf5a36e8bb75a5f60167ef9dcf26065bdd5f853fe4d56502ea87152d5d5c4ac568ba86a25d37d158328b326c839fe105fc0e5954aeb26d01848a3491c07aa97c6665ae237d6f10dbeff42c113d5b848b18944482e1f85907dad39ff0ada278f4a32857dc1e9a9a92b7d230235bc17f020a0d5d24e9f8af07a1af2d69a266e3109b2e17a9f4b3c55889d42eeac2adf11e1f156dce0a999c05bc7e4efeb9833f2ffad2d1e4969429dbba2f3a170379896f41f8aaed44128c0000000000000000000000004f923b38b86f12e0521a6ab47e834093ed134b2d00000000000000000000000013bf130a7da41dd457fd5f0003c36ca57763a7e40000000000000000000000004510d044fd72cdaf56dded4809c08e04ac4aad8b000000000000000000000000299b0fe9600842cc8014914651488d77f26f1a7b000000000000000000000000aaf0c9e73ef5eeef4c3019387efaf8a425736c10000000000000000000000000711cb29faae745505da40ea754695e4b3aeb78c90000000000000000000000004219bf980dac6e16d020bd63d1786ee19565388800000000000000000000000096e8c28fd1ae8ea5a1e0fad5bd1250400c350e0d0000000000000000000000001d40cd67028a45c91b4fc6a324feb1bd0598cae60000000000000000000000004069a95f5f30ccbf8a828f8b4234e4d4132ccafe00000000000000000000000019cc58782ff552adf11aca0a8b197d89c50aebb100000000000000000000000097dcab27499679aff1a802066c840594d22030a40000000000000000000000008305cfcb97730818598b5a4bbba46208ca6ea649000000000000000000000000c541abc75305f0ee2202c45f6eb8bec8d6551d1c000000000000000000000000d880e1833f7562d9b6f4d58b1bb2cab611226b0d0000000000000000000000008ae4e0f3c1faf6bcc844a77afc736882c030b8340000000000000000000000009df95a66b991fdfb2a130ebddcf81fb7a9730781000000000000000000000000244d5a29769c31295a253ca2b74492929ee717390000000000000000000000004973cb0eec46e8a5f1606f21168a0646fee010680000000000000000000000005684789c0e804d14ba223ea70a22daaf9386a15200000000000000000000000024676b95a3b060e217bcd44add893480e98deef3000000000000000000000000b20aa46391c2561f630fd1599398648e56c77f85000000000000000000000000ef941f0b92e698afc0f0adfbbcd0656fd64fd825000000000000000000000000c854cd3a811064966a1454ca61e2e81b941ed04f000000000000000000000000dd4e676a384b9aab4315352f599f5e3f7996b76000000000000000000000000005ff0ed3cf5e537ceb72a5d3da3d3062053c23dd000000000000000000000000683b13ab929bb848202a7fd515930ad86d5383d400000000000000000000000076bd3bafc1dafedb1b23004edc99ffbea611d26a00000000000000000000000094cd17ed6d5ce0f371facf6e37cb896a8afe22c7000000000000000000000000bcb37d08de8946a5b3a76e82287263c92e508193000000000000000000000000a3b8da884170ee77df57ff07b9e10f6976d8d4320000000000000000000000006896ff4ded3729f1126dd333db30286507485a54000000000000000000000000259119d3132868c3c72d4737a3ef0b09addda46c0000000000000000000000007e8e4e6b57540487087a1e97e712d778528e10370000000000000000000000001dba11236fd39819f1a4da1d0f1c59e5961d6797000000000000000000000000cf4963386703267ea237d4a76aa0c1c075f2b633000000000000000000000000d500c4c4b9dc7a07184eeb4ebc6d67f5fe20bc550000000000000000000000002dee0a25c826c8ffad606d157b9855fdd9b8a19500000000000000000000000097dc8e939cb94a41b8149075b509608b098ea2c9000000000000000000000000bdde01951d4e1ad01aa84f1e25fc1b8c796506b300000000000000000000000076d3fa76e0ab5b59da977be53a628230d0131b4b00000000000000000000000046ef7493e34fdda1c10b4a9d58c2b8974bbfc286000000000000000000000000d2bd83bbd67135afffcd3f2f6a0a2c8aa5c81c63000000000000000000000000fb9d95b3043609f7b64b04ac4b00e28c93dc73710000000000000000000000005a1aeab7ac78a37dbf6e755e421ed6c3b6765646000000000000000000000000c7f1a5f81a5fcb91658d971169239bf0601b0bab0000000000000000000000005db4d645dc1e870c7731fb62fd6996ccd365489a000000000000000000000000ddb452209e5db6698e477bc973a5a108ce3f5372000000000000000000000000a25a7e6e258f81a443336983cb1cf76d38bb26e4000000000000000000000000672de5021975dbad47cb57b60e7d5de623a737910000000000000000000000001229396d24e14dd299b13bcf72bfa0ed0ae51e30000000000000000000000000129ab8fdc878858005eee052bc5bd76ed9a440780000000000000000000000007f01a5a682041e691522af6b70ec461c18974be300000000000000000000000015f98ada20877b2bebbdd05e36b3139db5fde718000000000000000000000000ce96f6208883ae4d90a68f16cef3f2c7fea3f0e60000000000000000000000005af580240ce22826e8f3bb0fe0eaa80d610304d7000000000000000000000000c6203b5e2184ef446d232aa0ad29fe3b39d5a81a00000000000000000000000058939bea5f56e523531b7af58b10f3fcc6de63b6000000000000000000000000e943c1b741a1ae20b73afa2ca348e982f20c2e8200000000000000000000000095a66f28482c200bae0288585f8f1afc34a34203000000000000000000000000cbf9d1dc351130773967fe1ded7bb73761b63369000000000000000000000000e8b440fc9c3ec3d93c90d64ffd18a43e3be048fa0000000000000000000000007929a23714a2d49d293447e25344f8c064c0e1df000000000000000000000000f0019ac9e0d2c27017791d260292fece47aef8ab000000000000000000000000088b23f47ff374a80389980ecb3e1bae55467cca0000000000000000000000004556744fa3695e0a11d15f7580bf5bd3c9bec664000000000000000000000000d064d62b42378f5fb9edae2cb5eb643c3a346c1c000000000000000000000000e9790858cc36daaee39665e55d38432df5e7645f0000000000000000000000006e02c5eea5c135770e188c0f00deca78ddfff2af0000000000000000000000007fe9db638e8613904bde4fcce9af24129496c0ca000000000000000000000000ced4fb39f26c0f13ccf3ec95d6a4b5bbac3f453f0000000000000000000000002142685d8731c5c061b657c1e4401827b99a0ea2000000000000000000000000289e4191fa698c2b1d044f8203454f716dd6818a00000000000000000000000000c13bf84db80de84a0cfc4ab555c3a303da375f00000000000000000000000005994e2f3eb31bf5b6f4570bab7b134bfcaaa29a0000000000000000000000003738cece5059dea34b4b3a20018a9d1de30ef8ba000000000000000000000000a44f8f9ae24f01a9508f765c35ab24e4d04461df000000000000000000000000a3c78714c63ce0b5d4464fd9675f58cec867bb73000000000000000000000000eb2887fc273cef488d7fbe62f036228d1a4a65470000000000000000000000003dc08320d8ac28df4ae749d0df079623d62aa0750000000000000000000000002f9804821a169c37ae86edec15d1897d342faac70000000000000000000000009c73a9e849e0ab30a10608b7f2b5d3bbf2749dc7000000000000000000000000e62b34cb08b626622dd564faea13a2ca2a3573c700000000000000000000000015021366ac0440e63fb207dc0d4ccfc95f85b6ff000000000000000000000000f0475f40d0c6c828632db7131c938b77c18f74fc000000000000000000000000607147a88bdfa46ca84b10f521bd9160be3a28b200000000000000000000000016e532d1abeeaf041079f38f5835ddb98b3b885b000000000000000000000000ffd27857d17e0f770be1c058e772405d6db24f4400000000000000000000000022f2dc05a4208d0d7b7b706c9a11508bfa7ba48800000000000000000000000009cfc1a2794111f281bc2c73ed5f35c9895246e6000000000000000000000000e148085f2f03ed5400decba1e86bcbd8c53f7dc50000000000000000000000006a75e97417081d822ddcaa4870f123b11c0fcd2e0000000000000000000000002c8721a2cecaebdeec12a54d395f98c1fdb5df46000000000000000000000000148d478f78b3323c6f05613243b664dec2cfd7a9000000000000000000000000a42316dcda30be3ff4862cad33c3014c1c3dae7c00000000000000000000000016fba099d9a88f7a2757100a348088a111d9263e000000000000000000000000249e8e1620de12539808a5dbf47e159526e1bb2f000000000000000000000000a1aa15835b93caeb710832fa2f5752063da01271000000000000000000000000173af81d5f7a56236b65c4dfcf9c2e8a837a6501000000000000000000000000a58f6850f60c6d7ff19897598de48c9f995ca733000000000000000000000000fd77a7e560da8ee5637cb48b5847d81b3fcd9a660000000000000000000000007c5b037f588527206c1b194b571b7c32488c16cf0000000000000000000000003d86fccc2be0bc9e0565d6b7fcd677c4159bbfb8000000000000000000000000ee3b75f2910f44903d85abee4152528fcb0bc9040000000000000000000000001305f1192467ef6c13355be8d4b80c251eb22d870000000000000000000000005b73f825e320e418057f3b8472367e3a60dca2c90000000000000000000000009e41ec80d5dfb26919083ff16cf69e2ee73e2b16000000000000000000000000aa9b8fb1edcf967018901c1050069f6cd592ac490000000000000000000000006acaac579886fe12b016ee8f25fe6dd8c44777c6000000000000000000000000263c5ec2829f5f7cc9953f3da6ab9008ca217312000000000000000000000000a1b0df62dd745f7138a8eb60ccc3df2675882b4e000000000000000000000000597c8ec88541baa746e9e958792776d871748811000000000000000000000000abb960d5c1e2c464bcb40a93cdbb36288ab0ff47000000000000000000000000ab00c56015d30da3acba9421cab39e6a04797827000000000000000000000000c07a4bf117f26434705a2aa205523264952486760000000000000000000000004e8b3ab93f5478a5d88a3b115e93878f3be350240000000000000000000000007c9431eef622f13b1342fd75126edafe2fed3ebc000000000000000000000000c75f0fdfa8a6e4817827b175fbfba26f17349035000000000000000000000000049311c4ef412873c89ef9c2f681f2bb08785649000000000000000000000000662746669c041e8d2e92aff44af6d3d0f156bac1000000000000000000000000f057c0f555f88e0cbc8d97e85e89cd68277a5bb6000000000000000000000000741888db6f47554526c55bb9cfb333d13813efee000000000000000000000000af79831083447e0415c2a0e3abddddad611b92a8000000000000000000000000c61b167e747b88fbc80d7df579fc7e1f3acf974700000000000000000000000093260a2a2e083a459be32757a15e721e50a8c9b700000000000000000000000010dfe5ca112cc57429a06680d2f80262a8c5cdcc0000000000000000000000002f56298e1e7721b520457272bf80dcbd54e47fd8000000000000000000000000cf661e9e8aaae1a82117aaabbbda22c8132d4ce7000000000000000000000000d5029232159ad30764ff3b3edfdf7751677658e900000000000000000000000022ec63cdac68b85e9c1afdb42096dacb22f4af7b000000000000000000000000dbe2f4dad978be99200d76c1fa12e20c39001fba0000000000000000000000005cba0e6c1771fe3b801db9ce8d8d5d86c7a4d18f00000000000000000000000059e5241d567f5c3cb8544edfd9d5ecefa46a98c4000000000000000000000000a942b2f8abbaab039e2b831a3b351a8e28211a3d000000000000000000000000137b93bd9111c40b912102e4421dadcbcc1dc9c8000000000000000000000000529208d6367e46cb494564421e72850ce0085c2d0000000000000000000000000697a53d05094c36f2893cf5c630b11f13b11cc70000000000000000000000001cc2f6d560a00a25523bc254520cf56a0e0f19080000000000000000000000007ccbef163ab895c8ba8b801814845bc958cff7aa000000000000000000000000de9a8c2417114583e3d9a34ff1601b276325705300000000000000000000000053475279f07af06b236941dca32dbf66a966307700000000000000000000000076816265d1f691d9c805fbc1f53b3107dd5861c6000000000000000000000000a09573e54f138727bf8209a21363ec87b917ea6f000000000000000000000000ea086a02d10a3837164ede954ee28a8f110c5edd000000000000000000000000d54e08bd4c8acc4a09ecb41d60be1780bce6c596000000000000000000000000179fa6fdc5d0b102160f6dc0e6b92a31e509880f00000000000000000000000050be99e13a8d184f1dfcea3ad2d5e7c6f5ef330c00000000000000000000000004c118c399ae7870a55e15c0724764a0b4cdd03d0000000000000000000000004cd86e77b84a8127ae6cb136f6dc47c1aa4035e20000000000000000000000001f499b89c70c6407bbe81995b9a4a7449c8acdbf0000000000000000000000004aa11b71098744eb4ac53c73c0e37a95e9b2b6c3000000000000000000000000f824420d6001bf5329e9cf1cf342e94688538e00000000000000000000000000c6d6fbf36d7c1d430b8e3f95ecb84689002282a2000000000000000000000000d25534f6063c10dba8511bf32d33a18ab2a11451000000000000000000000000a0e598e68db55ac5aa89f0a5cf8be622f46d62160000000000000000000000003b50a24d6a1e5f5bbbf197602be54892038662880000000000000000000000002c3518f6daafaec636bc69d2802cb6c3b793da94000000000000000000000000412af0c346d97a4cb7515c64c943888b51f24f2600000000000000000000000004bc72e1c98b2021fbad1ac21f0b83645a39510a0000000000000000000000007eea70c2bec22a9fcbcfd10f3d032f7cb1471c0700000000000000000000000011907562601c24ab590b86662765834fcb2ca35500000000000000000000000070cf1276c25e743f0fc0773f3ec3fe230552a1f700000000000000000000000070ab92bafc9bbdb9d6c0f57f19f561395de25fa0000000000000000000000000a838a535b3db485de7c546f5832d68f35504862a000000000000000000000000c544f1baa819bac83eac2bf05666c0fde5a3e3e1000000000000000000000000a06f4833a1373b913e9985381ff3e91450fd80bd000000000000000000000000a7fdfae3ab8003d5693b1a102aad5cc1f7f10f5b000000000000000000000000d79d36f7ba96ae63abea165cef5e9418efa5ccbd000000000000000000000000cf9eb0654280448fde75e02478ae5230113c86c500000000000000000000000066ef2cfd5f871b8c1e8d9e2cac7b06d8f6b291890000000000000000000000001f1e6e27f579248f920d0fc52fe34d1f2f05c52f000000000000000000000000738d9f1837e8ea145b639a2b4682cdf4ece6601d0000000000000000000000008b76b092fe3d726c1ffb040944e3aa95d64aa03a000000000000000000000000af9c8787d0f7a068b88d92d351f890ee9e563015000000000000000000000000384d57e5601166bc1584e638feeba767bd46aed900000000000000000000000044d428212ded7d1686a5918c9803792ad6663e1e00000000000000000000000060a27444b86bf86126cec5158d94c06bfc8e65ed0000000000000000000000001ca2c0d81fe5513239f245c2f8511ff9a922948b000000000000000000000000f2b2050a6c816d9f39c7ea652c008083d2ed2148000000000000000000000000a452ea1a3e9c0e60a6547f472db1663173d12daf000000000000000000000000a13baf4711abd6ce8183f8c24f8362a7783246630000000000000000000000008b1e43f69b0d996b506aaa34efeacb0f242c54ff000000000000000000000000d29d4642632933d17c7e5837bd10e0a5b2271cf7000000000000000000000000b9580c8676333be556b5882b6fe8ac9572d9d36c000000000000000000000000a1a057b12a750b68869b8397464f075d19d17434000000000000000000000000b941159a091b4afc9cdb6b2e1f49226a507640a700000000000000000000000000326f951d82794d728d55ba3adb60b8cd91a936000000000000000000000000f7a0a950c03f9bc39465a4e4baf68a01bf8775da000000000000000000000000d907429909d1e0b15e30bb0aa7a33dd5d77d7184000000000000000000000000c9f2167093ad8fd88a76693e138447c60ab4ea35000000000000000000000000ce677925a5a8dd9e0675a343affaf30e3af884230000000000000000000000006db0f00aa9f39098e7c457e4a551d02808e13c0b000000000000000000000000a7b0ac49be7deb4e2f7431d13864a79a4e70860000000000000000000000000002896946b63a0dddff04e82d5cb6ef369d9e243000000000000000000000000034f4f5ea33d3c301dffaec62b5a70931179caeda0000000000000000000000004b9dafe5883ca6b7fbdc1c11bdb10b4f9d03ec4f000000000000000000000000f1b867dadfc6f6b842bca97bf9022467197ae3cc0000000000000000000000002c4d815168747445ad466fa59f01c1fd8f01d37300000000000000000000000050eaeb2cfe0a34c09ddfa8135dcf0e6d60d20d390000000000000000000000009260662d94c473fdb32c5bfeef8eb7dc4a21b4a50000000000000000000000005b1e1b54f8279386c0290342111ae5de6a64b8e7000000000000000000000000c206fa5b8d9edb3dad59efbdef0ed3f341445c720000000000000000000000009e8003d23cba5cb5ec39d081cbb33fbb19d2351200000000000000000000000053c9625cff4162c1f8c34dfd63b5d725cc6fcfa204818bf4caea93cfa3e4331ce99197c7818e8286fb6af6928afedfae7e0ea41b0375034341670aa7dd90e14f93c1318353a242a7ae0364a9e0c5a59c6f91906204ffefb4031fd17985deafb9b5cd7f275aed4f57e3db2e7f06d3611663b0e7fa0400b375474e1a29386537cda5911e24d787aa3b99fdee5457d0c5fe445c286f026b34f2d3c7b8e25c126e9a66ad75102adb818ddd320bdc3fd7f1cfdef5de3b067d1fdca457b575d001369b61da1d760cd9122b6297ba0211b6c2d9a4a5411904126c98a237d035a35757a8ca5f8f561f7a153d2cc053c8f2baa183b4f853660445eb736ff52187bf857cb999fa7fc19897a1302860285d0d72caee7ee64fb401dcebc8902e87106f3b203f83f1eae3a33d34e41567dd080e36724b71b77a4602480f26871e2a4c2e8a42fde0fe092d899205c5cfefe64fa7c02d94ccdb18e502a585e18426629510723dab08ec3ee7573060d22cb19aee8aa323e46da6c1970409d0fd17113bd6dc1c80b4e7f2f0b2ca83d46fdda03ee2c14130c5f908ca1c01b027d8b0bf40483a8843acf0278d785e4de0fcb47da68589dd48181d7e5d1902687b8a468a6551d1ab7a17efdf7e99543e974e969f1308c62ee32ce3c9a16b007c8c990e3d6df024e1e9dfaf26d9710250346c47dfeb5c4d311d363ef6ad7003c8b55013d4cfe9bc18f43989e20a6c28e72fe67f0fc9193203bf61509c48fa059803d1212e92b31dff9027807546e22bbf3db17990fe453d67234c0be90587030296909971d9000422d122cdd3ec4baa891e06ca4a2c1d7fae7061ca7d40e306d7992b3ad7b0b5947ed76f944c0a92c7ab4870cb49e09ecb66810b5ad1cbe6020e6a5fecdc3e076d105498ccb32271ca5b50cce1076f9a6d08c9401456c2f401647a3ea2c3da862b9c8aa7b86ee8dae1b5f50eb2080783b907e3853e6cfc0a050698443a97b51c18e072582bb3e8ed88ad80c88d7663ba8c99033c133b6ea6054bf4e7b473f0c045d07538ddfdf5fa907d30419e36528270de5c2f72d484fb07213459201a3f44d3e9cb67224e2f869dc742086dbfff1199e44a51a91bd1380083b652fea4eed52cddd23485a1ace376f5ed204eb850cf77bbbcd53996a6aa074e490773e0c106fbb04c6b315d2a7d63e3cb8573df09abb9f0696065d2b3f00395f1f295d6b1ce62453e3bcd4c7963abe9f8f16e8d387e9e29f7e896902a4002d296bb3ce2e2fb91eee9c2dbb90430e52c04db1b86509a138046ed71ece22100cc68b70cad64c80e36449f5ec5f4d66da2074ab46f5075a6ce92f2983961c607d2d88c3dd8ebd6bd5b3cf0af2347ce53655eec66e41bbafc6e1cb218029b58052ae535066dbdfb1dc51c934f535b4d71cd6ecb454cd5e3d98c630eebb8d163059ac34ee70af718c2d0a03f05d8be9ec596262e63555db45cac7b6fbd17e74507ee911e74d9ef72b84c5772805476fec83b7ff2db0e2eacb7294ebd5e0d64f30446685f9c5636f6404fb8e906363d0f5881a770ab9204c84ebf3a5c3b758075047ca66f3315a3cafcc569df1caa60f731d6d701abeed72dbfc782d0e7389f1c00659bd4f982fe2623f415d78ad1239e669c7fcb0f1c15dd3cf8475877b4accf026d8868dab2e4afe77bf71793ab313a1654dee999bff415301bdac6a9f7476a02a4a79cd7d2acb8d498b2ea4dc224d3740674455102c863b52e8d6814ac88f20146d48a2d59ba7391e4e25ebf26e14b6266d4382142510305824a758ea11f690006904bd9590feaad86005747f737dbb97c4c70b4953b9fa776e60832f53a4b0456fff42502b6f738bf0b2316a5e927c3568676cea467d40d79a70838d206ad0025bb1d17845b49db2d9d4ffe17ba83fd98fee45e498b3c666db177d467af5404d2a7e65b57d8d2557a3b88fcfc01b5fa4e8bd811a8aea643e70006feb15c1a02a40c04adf95f425c9cadbd41346d21c7a4098cc9604923870b4b0dd97f94b003d9a17ed6fe1c424a29045e8fceac1937f6f79e42fab397689b9cfb38c63b63067ae31ffbc1ddf4a0e5303651adf2c85371b28e842110280f811e8c8375a25d078539a4d63606f6fa5ce9e5b3f60c39faab8fffcf56eba35ae602ef0e7fa82005ae3390ca5e3c5f6131b7f14e4cd157465080c9d03d5a0b686517fb4e0ff4b7010d30166b1a21c00df7ce130616117ac23b1155b660706e97867d15cf74e74b051e06a0d143eab6bd7b1f75409849edb1e731271d60ade7d427613f3ef0c5c006e88d98459bdac00d99317baba73498404c6c9abd69ab9fcd2a30d358dbeb0c060051fe62f0427fce96c238a70e0cc51571ca2ea975fcdf9b4639d8b70865b304f233193dfafd2a088861f7f261ccb467978a4392530f28b865f9588ae131e506bc032a49879a4f7ddc1e8724dd160b2a84b5cbb56858a0bc4516ab11a40a170510e3e7d2ae77e071d15dc1f130efc383ac7509616cc058f238f83d9d62580801d4ce6c06e5bf35c41195d9f0739e91be48ea9aed4713f6d2825aac1dde0a4a00b626e13bbe718e3542f07746c04fecdb32d506b50832921a09fd6d2734cc9d038760ed9a2b05bb2936cd9f36b9d5d36ff934cecec75199a6d58b7a4978e9b6072c4b2c5d89ba43cb68bb898156aa4c054a836b586b9e697715c9b81e7c3a6f015c73e9f1801ce3031cf7432709338ab98b31ae9800ef04c308e2d50730d59502ef03b0c6c38349de8a8af2b92dc1ab92cf958b7a1861ac102f0050ca867bcd04ff236562ef4b06655421ee6b41ae20098cba52d06fbf15b3c15a66822a0c0a027bcb5aa92434160f2b4a97a8d7c05b70643a6823cb711a9069f542042386b903542ba92512bb3d5fcd6dac85eabda9630a9b2daa34b15fd74b5e0e16928838075ee3bb4ca964a544e40c8cae9fd9577c3150c0fb946046bc29043f65ce3de805a49d20c23d46b2ba99b94b81d3b1503e80ff54771515b01f59365c110fac8901de7be48722d683212338cb13d7ec13799725b160d617ba85ab706d958926bb07c6e2775e7b59d49e7437b422994e6976f016df3736ba6a5064ca1bc38599f600e9a035f4815210a170ab12979924075d01bb381b3066a8bcd108fc884108b806b93320b2b3f62e04a5ea1faa70163253d58b8a69c8ef335436b3dd15521f44023d866bb95cbfb6f8ca10a309dcc768335ad1e861021aee7684a604ccd4f139070847668257036f0184aa2f790fc7a850820b426267e6ec22a8266e91e14eaa062c5866f4c64b42426ac0da65d5b2ffc22a9d5c26153e0ab26d119a0ed6843d00ede98b17b6a0c2e4bf7f832b08a0e75f4e9eea06a250958131ca99950633f20195949bb91d2d3edb05c31611480cdc17d1dcbb024f6acecc5815ec978b3b7b04902cc8c8825f9e8cb2519c458b85c6769a4775a64ad04661ae4c5b7729397f07573d9953005abb5b011d371059cec4233c7fac4297108f20155d071f6c1abe05427d222c76bbd71a84587eb26d7c399c63bdfd7fa7cba7e682a0fad8e91c4a068af07745de7fadf2da7bb7e2d9d098831281f2e75693dd11e15e3ff75e2d6405084a891a42a039d78072e8dab6bfb548fcb801b64c93bff9647fb59fd1e8b20016403dc78ece248a275d36213729d946c8c1cc55644dd4129d632d67714454000cb41be278a328c4a78fb0a791b600c31ead173a676d461dfbc798587b599e062064b03a929d712dab6da88aba8d712b4371a504795c585dd028db3677b399055396a76b24c8c700af4bb7190d95700578504779e14b2aa73b89c1a30d773502aa5b96619d4bf59546f306d82c98d3d2c63cf7e5bc0fd62bb9125ae061e83607c96d45fa955943933129b288aa2526cf29d480a6f3df923336b094e41c4c8c02e6cfc89df76f3b742721353220db9a0e5ff853861df3d4f261f59e418aa162045640e5f78fe4f0789791ccf17d7ffae74429c421182b27b566951d1e17a7110213d2e45289a923ec0abdd1f55f4e99e4144b1e85a1e13c7bf7874a3201352e049d0a6e818a976d2d4c5114086a2a7431ab64feb6154992d7819e9d34567964031ccceab1b51c5100269f6a3730faaf4212e87e1a18bddb06fe7bbd136caae80311c0e8f3301d14bfc0f1d969d74d3cbf6abf917af37411b52e3571666a5e0503c603786da4da1b07e83eaecb5e6eb6e0a54ff3f73dbed81f8c8d0ab94d482a075de402e2502c8134a72417ee0862706dc31f0466136c1e463a5c080437d4be0088c0698812ad53a7303a75452cf36f579a845498443eaa432098ee5047f18c06af913fe9671330f73bf3e21b61d39271deaa12d1a1a616150f7880dd19534701f53e65430aea4f2ad70dd302632f43b79b920fdfe64d50ad7d9f6256b1406f0074fcc6146621ea98dc173d97dd9c8ef3f264c16d06fcec6c7c7c85eeb7c52d023578047d4a64adfb821578d5df5cd19effe69aabc89158594c13c0f3a87b3d07aa6b47b83a5b8ab538b811ec7acb30acab013d542cb1ea097313f4457a6394004ec7e6750c97122b93b1c6dbb2f3ddfa195320b804a2ff58e3df06eb01736b008bbcb16536df81433e0cb47fa314f5f7769fd0d777760016c8f77841e3f009077925a1e5378de6131d1c9ba960ea8c40675500927c88a6944c6eb0d5bff63d05afddfbed0180e34bfdc095ea856cb2ed6634531a9db13fca3e512f23258dfa061bcc4cf492c0b246652ef9d101ac58f8b788449739cec87a768fe89b8eb30905a30f8cc0bdafd5ec841259058843a75e20eaf96d7a2393e3446918ab67a3a202ddedce575714016f7edf35a54344d2a6d4acf83f8307eb869c9773fb8061c606f41ef1d624b3c224579d916b64c262e94dfa4920bffd188ad4ca8a6f81ca1607aa3027d172249c28810058de00580f349d7ebcd33948eb131b9be8eda941bd04b6296e72b13988ac3346de9eb56755423aa088ac915729524411b4b503eb8e06be9f1bb71bc1c7d403414051a3b4a609f123ab4be4fddaf4d6a568311d9a4301f1d6546297db7121feeabd33734db5131b6ff6b4c9a6b3056dc85bdac30fbd01b6e10dcd4bf063788fe0067dbd9c32a70f33562f2eb7e59870e0608812ef75031b7f5602f3fe0c63ec28b3036c55b447c17c1227895a8bdb98878712cd81d4063badaa822281b61885aaa980f89eac584798ed6b97fa8b5555759e8667476c00631ef9405e4d9f0f66f47b1cb5370a9ff2fec16c4a61f6a8203320e51e0b320198896616fc804a34c1f6e276c4a60e6abe3acf3a8264c52beb1f8f674a2e4a066d49121e5ddb8c55798afa668f814a418543be384a322f68994983b8c8c1b005299317b64794dc7f52e5e2f4817ed05f0237c19a86e20f764a13cefdc64fa804eb36c85036f3cf33bbf7c33be98892dcbb4a7fb14afab299c22d40c1146d93010c107a8099899822b3e2127f5b313a96dc3c46b497ff27bec4aaa3eeb26c42019e5721404f6a7081c14cffa918889fd22f2f0e68b1e519b2190cf7dbb97e75066df877b5555aabb0165733669f7a351c95a88bd8b3a05e48b057d8ecc29e85020693e6c4cfac80a1bb7b9cd6774b203ac44600b6c31371ee9553c510876dc802e870fa23a5ecbd0229e1307bfe0b6155aa0d7144a02bbd3c6e9dc123390a9800abdfa19a4983883fc639ab8471df3e4420ec0742b4f3b078430906c77ad678019432fd9028ad24130b50e27524c7d5e507ed0ab6e72274139cd868ee65cebd0691423fd14c308b0e20ef4e08e0cfddc7d06ebf6db58e1d1801b14f99b514390231b1bc6c11c4392e0357973e6881e8c2328fbef81b87d162f036535807f4fb007d4eb97817897e6d0276680cc237a8f2678eafa7f6361c89c12e398d99388f061a003de0c4baaeffa22cb5e6e3325e108b93250fdaeacccc4086e983b483b207675932b6ee7e6cdac92365fdb7e5e12fb33a56107cf6703c0c7a28e21a2b47078c5871b301d65613fb155cec39bc84bed40c7bd67857ad772f68ef9c5ebef9022a446e805771ceeb6937fbca5a0996e38ecb21b85e46c364fea817bc3aa3a901fd8b91dec2bbac86aca7d5d11472000f15308c5537b23c1cf794b8b83af60300ec838b7130819cda71cbef5cb5f528fb75a17bc2292cfdf57827235af58cf301dc97f7afc0a56b37c98286e8c3bf7acdb925a9bdcaf66257a389323653269d00e424ccff5971dd50ad2cb9a526ad64c9581f5afdafc679973a31591fd4522404325030516baf6b361ec27b553fa89aeece7d7a35dbe6e44311a104ddc819f7035ce9662d9f44ddcb8bc9e0e0d3b285a86f214cb22772a08ba26dec0296b57106dcf56f6db989d4e1a10c7b4a04eaeb46198106e21791366b4d2cbf7b43ea790698394814a366754b0154f27f9773e11b49eb0228764bf15478451d31e38d7d00ca1bb2f46aa9e2c89ed0c9225ce79c70443c4a26502e3bd30067cd6d718a3407465b02c37b7c567b77fefdba0ddd468fd997aac461276fd32d4350e864a36504baf212a24cf96a9c6e99385d7f65ac58d5b7470d1d231cadaad19973e7fed503a4540672054595ed82ef84ae97d4d33ba072b5b75451ba1ef82da43642b41a023ef6000db5e506df080c1f5d02a4bffe2cde415d0b2f2fdeb9a859493cfa99069d8e36bda6569e0c11830397cd25e75e50888b7bbe6a5503ffb70adc82a1ed0364ca56787db357eb3125f6ecaaa00e658a7978eca2d337b2f1fde7a856650c00b4deb05941bf76bce4b6a1aa167a517df0e64c810cf10c42142dc107faa99000805742a67b14ccfc0cda59613b9f1e4d96762284d00c0adf183cc41f919603062036b3c56279b838254ba76c60211e3724fb4425f0d69840ccb9e8d4d97a4004019e5fda21fc59af665f84513721cfaf26579c9dc5c43ba59499b8e32cae20017297818d94305ef94822cdba6e81918cacc98661167248b664f8bb11bbda98000326270df54e2892c65e455a10a70e71d97924676e2518139598278a41c72604924937d16ebde3153dbc0e32a54acf976ad8784467afb25f91620f1ec6c615034d39d82f12e4d20163034fe19f80f10b38290b496296d7564210de21b2325301b79658b6788d4c072fd3d5c0e38a7956e01cf96564398a45a27eed11bcd87c05906f5563246968327198686f8b67baa92d910497ddaa3e30a832d82e4e81d80537eeeca8bb22c4198eada1e96f28de855b8de7c985c9bc8c00d09a6c076dfe0747f485c9a4d99ace5cd79acca3e53b176956db8e26bd8dc520fe1d928466ab03c79b61dc3b2a783aee258dc8911ab4c712301accee36efe5890d9a9410f2850326fab85d97ea35c3c8a36476122ea3829e1faea21f897a7488bd6a0d6ffec507580e8f6c052d111378562abdceb88dec44fce232159d97e90e3320886030cd062a5ff56bc3e1b28cdb4205a84d0f5fd33ea8d20f6d5d90dd3e2ce6e49ec1e103db985be222287834030fb1d5d6ba139453c375e01c18fc4be37c2c8b8aebea02800121c5b90a82f1377f958055563bb29cf4ebb350938225cc06b0b26699df07b43d3eb33eb51078c53e788c7402302a742d844cc6f54995f895f4827c9e4b025650bb1f5e777c0e020362ca5be50b9b80366f2432018c88c8798160e69ffc052f9526256be94632b8f8cb5c615d297f4e036bcac5992d1d00d0170f709a7b0118819fe3c91262019056381a73c80f31f210d807db4ab4973f5ffb8f42686d05d0922fea98c05b6ff579815210d7ec21cc2b3dcf8140def25269a3e7db46d5079875e2a40198d4700b4186db278431ed794857ee806dcdc38f9e81f9fae3ff07c0574ebdd3a5982fc37d6a1cca2153baa9e9f4689a870f8d08495acc349f550065d3486d5c74589d89a069fdec51af72a063c1cd317b8f4c057e01957f99c30000000000000000000000004b322840442a724c76ee5ffd371e5700020943fc000000000000000000000000a94378dbf3748511182de5d6cbcd66e3a0d12670000000000000000000000000ed4cc43299d28fc3c79c7aa42730eecc38f94805000000000000000000000000c91bed203d79b9d575cb7b9a0a2a82eaa8a1ed5000000000000000000000000062536934159c069a00a002139bd65190a1f63460000000000000000000000000795ed98df2baac60d4b231b2382fec5ca8480fbb000000000000000000000000180213350411e74757c9f0386a30f90dd5412e7a00000000000000000000000083c75d7f421bf8cad41fab81e07904e09dad1c360000000000000000000000005ab2dc9f3b928563e6684595959ad552d24c11d70000000000000000000000000a8ad0a4498abad80cb24103024ae99fdd721bb00000000000000000000000001b03fada5a52649a56cbe055859c4c0e04df22f6000000000000000000000000a7babaffebb501e1e23d5bd626e70c99cb9ab7d2000000000000000000000000cc064f1bfca2ca31af15234b27f5705f2f2c5b61000000000000000000000000d4f6462baabba3a6d17708ea081e88b02bbb2c4800000000000000000000000084c9303689458372be8f06bc8bb3f8996b09dc15000000000000000000000000560d1b146371fc7e7422114ff834b8692f3c3a8100000000000000000000000019d4f143b5bab27b7fc0745769de97d8cf9a906c000000000000000000000000f328fe1777710bf14f4baea445ee3f86eef881920000000000000000000000005b48ce264296b92e773179a42b849dbcc9911db000000000000000000000000075fa491967a0bdf7a92cdd24f7cbcfcbf205ece0000000000000000000000000c0bb0b47dc43569c0fc31b08ab37586080621b970000000000000000000000004ca1b4bd1acd696e77f1ef233926b9494b3903330000000000000000000000003882b6d425f0b7e1172442339bfc4e7d2576b1790000000000000000000000007a049f1c9d4f20820e54dd365d867f63771c0ae90000000000000000000000007870e50d8a79bf07e569e323e033754c0501080d0000000000000000000000007c3ff5661aee06625f4946e2db4bb8ec317418a70000000000000000000000005b7c165d10dc1a547f4a34421a89064e05bb7043000000000000000000000000500cca45929d463de39a738a1327ff0410bcc3de0000000000000000000000007ccdad53e82a55a1331959509ddfa01b77440324000000000000000000000000f34281f0a7fb92c3d0109a4d5894bc3c34b041bb0000000000000000000000002995f0c2021f62748edbaf270b1d1800297e446400000000000000000000000018df975a3e5a2ec36f7a000a9434a21af934954e000000000000000000000000395693ee81d976fef53f9cd74053bbe4aa2319990000000000000000000000008b5579d4799199dbd36fa1deb713fd5f8701696600000000000000000000000014ebd05083f3b25de878a644ca39240443ddbad5000000000000000000000000fc3f9feb6c4f057649e1b6972a6fec4b38a73b380000000000000000000000006cfb9723db0411fec5bcb536edf5b9daf1cf0f03000000000000000000000000055f5e3cf985ef2f7cd73272beff5e88f9fc150d000000000000000000000000879757e40a7d2567ed3ba5ea3fe7d543650022730000000000000000000000009f834964e3b75b43cdcf5f814ba24b4d686f9c940000000000000000000000003f5c4ea2455f1bc5b84c0ff2adced8690401d5920000000000000000000000008d22e7dc6bc48c8793b9006d1da481222f22a432000000000000000000000000ff28f9b9efd568ef03ea44ae16567afbdcc988280000000000000000000000000d5a830f31955e3f242d78f254d28b1798f44ba9000000000000000000000000c1808901ae5cae8ce510a0a10698d320c1bd06f800000000000000000000000085ec859c412453709f8d8a7467ad57452db3250f0000000000000000000000001a05a662fae10fa6a3593695329c5462acf7f1f30000000000000000000000002af4670cd5b18e84fbb61200f8638a1f9430e544000000000000000000000000bc5db1c29c09530fdcbd61c3c60987e92626e853000000000000000000000000d0e9ba218d4346df6d3ae5c3a7295df458f7ace80000000000000000000000004af8d36c66c4adb0f8e9052b35336b8c19c25dba000000000000000000000000d026ea18d31b88fa8942175e59b443f610e6cec90000000000000000000000009c2b4dab7d2c324f6c5cd17089749ac4ff5a59d000000000000000000000000051796d043fb329c8ae5f9cfe8819c7f4e11a1cbb0000000000000000000000001cb139711216c50f1b778ca4beaad6aff9ebb58a0000000000000000000000004fb31b97f3a84be4dc1bb63dc4476bf59d1e36440000000000000000000000009587228be059053d1c8801d19ddcfe5795a9651a000000000000000000000000eaecdb105ab745b98754f068da4eecc472d3e5eb0000000000000000000000008c6f532fc44d824a87011ca09f72781df40f14c90000000000000000000000001ce4d3e03674deda181e1b58f9721d1d1179adfe00000000000000000000000024a8844345be74b9af6a95fba34aeee421e7ae210000000000000000000000004a420631fa0c2c9299aacb8cfab9b99a3357271600000000000000000000000049929c8ed4dc74e2a4f955fb8ff0b037448abc5b000000000000000000000000661580985e98c2d48bc36eb6f142e103af9de0f1000000000000000000000000ac69a4d458dfcaf6234a4beda2ba89173db9e19f000000000000000000000000456d632fd6f6413f9aa59a485cbcbb2264b65ce90000000000000000000000005f1e69d56a3ca25d1afeff661437e8b86c872d740000000000000000000000005b76931dcbf091bf49e79030fdabea7c4c7caa00000000000000000000000000427a257d7f3fc12322894571cf0baece946cac2b0000000000000000000000006ef038ad906db584fdc6973410c117470422d96a0000000000000000000000000f840fb8ec38ec8c916e98702cb46b1d8e28b7ce0000000000000000000000007514f51a90ab40581489fc175d1c4e898ae3e61d0000000000000000000000003aff80290e483c27bf6fa3c7e0c10bbd51b024d80000000000000000000000001d0c309a1d28a90fd8f5eee1981d9088d004560a000000000000000000000000f1ea65da3030725712afb59a296793f8df9601af000000000000000000000000a899453d847f6a02bf250900c914263186982bfd0000000000000000000000000586ba7eb572206418904ba72f2770628d254aa40000000000000000000000008157d04c4c41648056057a9a604f045b9a6b255000000000000000000000000087516f16d69ed03c4efdcb1f1bbb5bcfd9e3f84d00000000000000000000000053aae11ef34f5ecedbf640cfaa9a63b8d47ba8b1000000000000000000000000bae4afdc4717ebd68946c14e11fa32c13d4e1c760000000000000000000000004cea0f18a35b610ad80ff9cf55cf900c7ddde52b00000000000000000000000076affd7d2b5d8357af29b16e00d261fde973ae170000000000000000000000007b1d7984530fff0c83e9738d44fa09075485a19c0000000000000000000000002e1ec655ebd7adce7f3ad46b24e6ae25b126fd8e000000000000000000000000649ff68c642e71b0dd9b01d4e03448bc9e07e74900000000000000000000000095e19d0821128550d80c1c698a9fe62ca286fe1e0000000000000000000000002970f7492bd97c1243c01d500b4e2fabdcc2fa59000000000000000000000000a60c70a1b9a48fc26e8ed020614af146519c5d0a00000000000000000000000070e7285a5a30f71f9d3b9a784d5f6e512f636f18000000000000000000000000404d848ac9623fc2a6ef4bf9a4460a49678992d000000000000000000000000027cdbb669f9dba570958468bfd502d796771e56d000000000000000000000000cb635280469e447196bf6fa33eaa0db163ac50c2000000000000000000000000e880eb64a9463a46fd7bbc86c16b6463631e0626000000000000000000000000030b02f211bb9d580a2f4ee75b3b6e56a4a4c2ee000000000000000000000000df60d42c2c72dd1b83fb37afd4d65f887b9d3fee0000000000000000000000009d10b5702632ef60460c98ce35ab41e2c1d7d9e300000000000000000000000034181f9beb6748c2eaf051689d54557e8e6efa9f000000000000000000000000c9a6a82fdd8a172ae642ae7b85b07d7157792db5000000000000000000000000c256a9c81d1bd6ec76635e3a023641309131f6a60000000000000000000000009f03ee2db82b341a771aa3c636a10ad9a6a10da1000000000000000000000000f2499cae460d466bc67b32321f1efcf9bf0facf3000000000000000000000000d499dfdd2a24c751416abf9690fb56215be7a49c00000000000000000000000039b817aa8b1e48366faebf7a866a5ccd623fb6f400000000000000000000000008c414fa4171d3653ecbf091626cd303ccf47949000000000000000000000000847eefbe8c8cea3566bf3d51b68149ca0b8385f4000000000000000000000000dceb213b26904a5b3804a0f5dedc699523c5a9f4000000000000000000000000c65a17c7bb3b0558717a86ba88cc31f8ae89b4150000000000000000000000005016a65be8b3167e51ca1b1416b63142c715c0ce000000000000000000000000f5958d2c10c023cdb284d095bad5a6841573bf33000000000000000000000000d33482e2e7d41a643813cd9fda5c4152ece58ece000000000000000000000000eb54a89145d6aeab1164cbc68d9e532b2b8552b900000000000000000000000042d6d40b964008f611920693edfc44f3b969847c0000000000000000000000001931c6ca4ef504ad80461cdb8af3c17dccb13fd6000000000000000000000000dd16f290f0904db9958336d55acb40dcaae32771000000000000000000000000f28a4f849f76a5c1d2cccf5d6388b91e0c3976cf000000000000000000000000c3458e1486ec8f1b5f8a0ec7b0ac1bd2926f84b300000000000000000000000072962b8d49234d64a2ad48647c8492258ec3bc18000000000000000000000000bce9a8208005bf0df3d3e6ecf356eea00d4e0b450000000000000000000000001dc33308ff2da69181065c5ff407e9098947b2520000000000000000000000001620d32d86d88a914ac531dfb1cccba7683700ee000000000000000000000000e7f4b6894c8db1c7b4cca83fc96f8302b9e43c9f000000000000000000000000186d5c635d7686a6f8bb99815ef99a71871756e5000000000000000000000000bfce68326dd255edcd61aaa017224b68d142255700000000000000000000000054da0ec8102eb4b38033b1e8f05a1fd00bc4f8a2000000000000000000000000ff5ad4d38d32023c94c900dad9327a6581d6c84c00000000000000000000000096e4bf7cf62a063cca7db5ad0d82346fdbb2cf20000000000000000000000000380ea3739c6f36c5213ac84767cba97509a2f3e0000000000000000000000000c0726c7da12907243c0c44d56a24ca4ffd59b8620000000000000000000000000328cba572aad0ac065326a92258fc5749cc20f9000000000000000000000000f6bdbc2ddd6a622a2143304e9f4fd1989addf7ae000000000000000000000000e9b8c810b6e872d587ef4faaf53eab97069172cb000000000000000000000000ce888c8c04d5f29991fa1f70ac77141003b25b420000000000000000000000005b37509928745a0bf8e0af0ed6d942b5a0f31d340000000000000000000000009cea75e48e0959a0519ca3b4dbf8140565cd66bc000000000000000000000000adbb081d592ae914c75759aae4dd2e7211c052fc000000000000000000000000e1e98c521d5e22a7434da75eaaa703519757f554000000000000000000000000a9086823971c397b0cb8d4ee75db702b6b43978c00000000000000000000000086178cef136efc26ca9f104fc4d55a86a0de1e5c000000000000000000000000ea968be38d560dac4f308cd1f5cfe891f160f5cc000000000000000000000000d69248b0ee059db85f878bb232f52f351c63133a00000000000000000000000039ed4abfecbbd6800354c25b431c9d00be593e8c00000000000000000000000038542942f894b3e8978f9386cae0b1e56556d8b8000000000000000000000000324d059b5b399babe0437cd09e7853ea141ed80000000000000000000000000065c9606cb380b2ceb8c55e185e77854ae25fd727000000000000000000000000418c6e9e3b040a675fdb89340c23f5fa19fb8385000000000000000000000000de7703c167af064a6c000ca6229572c4e5516c4800000000000000000000000079d9aed12592df3c13fafa58b1afbc008b2a383d000000000000000000000000d1a3f33cd314ef86f108ab2519f7dd8b3b06d2c400000000000000000000000094ad512e2468d1d0f97b6db8254644af2076b131000000000000000000000000938ab05bf3be62b86939029c70e81bebe5daa7a3000000000000000000000000105ad815ebfbb6a82bf5113fd82e9435e7ae60240000000000000000000000009d0c0306a4f50eb96a0697224254213c1cf8587e05e119984daad1c9d07c49f91b5b071a5e54b848d3cf193d1f7d64aaa63a9aee0513d6f275d48890111db2c678a69574536d0900c228584c4cc1bde0606684c400044f0462db1a3b92c208c71bef2bb5fcf4d527c4e06b97cd52d482679822dc062445acb9d89812a16320eec42c43277d470690e87c5bf5979897361a52cae205f51cd5f01dbf20082d0e06abd5813491381172191db3c2d28b352857ce854e03b2ae6095de2ec8ff134dcffd89bd5c5e8934b57a9f6209eda74a247e95e056046cbff9e8b634543f92ae01abb87a731477e919600d94954b1eb9c09db4dc4b02f2c8cb4f29892d2ad173c5f7edd05d868bb9e4dc72b907591617f51217198a0456a670dc8cd6dcd16fbdbc2e54715462b982a56bb2012f77a883ec6cbeb6bd0699c3273e675bfeb07bced0a451e3008e54c075ef9d46dc0f3a6bbfda81623900d0965dcd096eeebfba898768c8b4ecd8cd3b7bbb1bdc50991c7b994a9255bc04eb5e00d5fe987fa7461935e21b418024e4651f06df7d516e78a19528dfd6e8063b5e9293519d4c9a055c8a5c5b89f21b5bae9751f2d628d2b325c73e13af99034991b2a597784c940eac296e0e3f894ed5fcba20914b0f0567ece6d7eccda707917629d4922421a61f1bccec2247b95d5d721be9836ee07e11cc2923158afc005b849025f7b51fd7e09a065e44baee1c3b9aa19aae52a0f83bb5b3ea21e9db0092e21504874e7808dd97ba1dc9e17b1a8a3236734c147f894974a49e9a4ab105c677d3de2f659396d38a64a1d8af82485d1361caee3b0c68161b0dc53777920202d5eb37ac79e6191fae35ad2791fadfbbdd0813fb330d612d45f615ce613d0017698a276469ce3b1db27791773e38286996e849b5096ac15f14f5388ff9da0089c6f3f6ae1d8558354d45fd4fc96d881d7ece81f24b788b45f88c235a38250061d368a6e9316afe78a15da5d6e96bc2e2875333383f20a0afeed2cd5269ab01a6bf2016f851c743854d0a8a645e2a699452119d9c0aeb95b16eb333a770e0006c08ed7577e4f68a4dd5ff768d64653fa723355b7184741260eae98abd2038018b1f7401f06bfab2e296ca7dbd7b8af2f6c90c0cc6bba0da814cbcc824c18204549a0e0d331abdb20ce9458e69a3e74b6a330c897c8675ac4bc68c296dca60008292a6e83d6d0812bfca47792f4d9a0919653bf6beb126644b4b4dd57aed3d04b657d332821e641aa89599d4e2c5c8c675a813db7744fdf3ea8f4fcca5dd06036a47926de152528863625f62222861e2a61038027080d9c34396c275be5d0b03a409d924931eccd83623a564b96551761a78f4b24c849841b7b96b0703452602e62f2cc8245bec421a9631e4cef1ca8977401067c0731ad7674392feb8509402ac815a5e3a177b9ba24e81aaa33f7510a7cda9391ab4a7d2510056dc5f7cfd073ad396c05359e31fb0aa54e0bb015499d5298d9f8bc3a116a8dbc0793efd86027aecf732636685a125164d78eb5b1b3e97ce66cbca613ea5b537904299ff3705c6a5717face43e44d75e233178a8042eb596673fd6b9e2d817425263f4ebd906825203a6df3319b9e3e1476636d55f30eaf4d7644e4e49bdc0ac09857a6e23069b29141186c336f0b38f65a5d68d60bf5e9c1c8089176a1fbdeabbc816d13c0235ce6655473a9314b46c6c4eb18e4ed72a5f237c0fbd94b36bdc15894cacdc019060a5caefb2a727a7f41720cfc529f1fcd4706c468f5e97e61df77900ebb100952d50f3edeafe65b9a49a7bb060aaf2a2a8e608272a134853227d87b9df70049692896701991d0c2f40f1cd7f4201035663e1a06a827aa0791aded95f4a1201f911f1265ef1f1cb884da7960fb57ed1c2cfa7b7b07e84ec7c95616c2ea6b20138da3358b3ea214b6bb4cfda4dc690ddbe7d31f5042031913c85978862c36f0069668c015907960008d63d0496e3121d400602d535eec009f713c16262762800f0834cb2f130ec5178279a643aa0af251219d7f5f47ce561bf04f88c29caf40023d6cb08dd14e62b4bf0a61332f150f3b350687b161798104a7893fa230090005fa59f72f00f4502518ba29adedb04cb4a6bdc1312f847027262c7ff81a9f60332ba4a06266c084764780779531479bcc822304fd3e0276d3c4dd117e9a507079ace7556a724f163bf080fab57a896d56c1ef873616bbf383e89ea04988c070583639c8fc0ea2db74b5dc5da10403479cdcca234b482bd647f0a820549369104e0c7b1e47a84c9236e77ec0ba6d02cd003f14a1ecf37062ff99c53fe0341d5003f1648b11cd98620d38f26b3ac0e678c43811d95a771a23f9a67e2feadea1b06d8df4d1492d04a8b4fba7a169677147655d9b9e215d1e59ac82fbaa6c30611027f77124524b2cbba7b00e3465cf9263ccb661102128c11da6c761eaa6705e4066359418126bc55fbd443d0a2e07a084d02b3fc4de3aea669e9cdbe3b4b01d60680dad0862bc3e87cff0ea805a874a4b21aed4f4bc7e7006181bf8a179d81c202052a6d45bff1a1976ee720023510520375e41ab747ce971282c0391a8684c504f45c5f69780ef43b8584e251d8d370bf8d16415eb65d675e63b0a1ca44353203e5df30770063404a7e697177213bd27c9b286b896c1744d4cd73c368db4bbd00a0b9285a8d579f5b424ba9eb12f4f34758d6abb38c858cc5fae1c21759b4e6036e31aca6d7d6ed1221cf16ea29942109e24aac8983cb9a37b5c1fa1f085b180638300e71196716221901792101ec1e331a32a9b2bd843c464f91c503f3712004df8f0a329059d20ab35bd519b3f704d849077c8293b0c2e800171d713ca18a053e9f05240dadfd78038717d8c46b54e9b661ac54c969d952938a3676d1070905e98746c5b2f807a8a7866e19d28351261d11ad6d09365a6c722297a1288967035319e7f20531f2e014d41822ff9c6c15bb6ae9b56fd392a82f69b176b4638903332eb8071e8434f6e96fa5b7d38feab908b4480ff13d46a8d22b13f9167cbe0064b9c0bc365f68e8b8ea04ae05de6b8768707c70894a39ff7938429f55e191031bac42900a66ff8c7b31bd19756ff9570fb39a1a77023d6dfafb4757b01db20066e58f02cce2424f2211c5086584920d574a8b574f57238a5bb71ccdc51e9a02242a702c13e29b87ddc5c8c39bb1d7affc2dc3d0f44a92c82594b1dfeb191102d3d463fe81eec57c004ca3a12c2b109dd6c3b3f36820869023c5bf2978e19d06ca10238aae951f7d833042c5487e16c391d39af42f8ea7de873602c0076f9205c95e3b341f5d8dd85b708afc44442cc0190ae77cad934a740b827e93fdc1ab01ca3392704f93cb20f908e6e9c13aae1af66cc4e81ca662c2d986c521d9ebbc04ad87d21dd44c5e030bdf63778514b722a2d230ac6509b517cade7494ddb99102c47804cfcbfd0811759a117928f8a8b2375c189eb8ffb78ad107069dbfc641030a48cbdd3c8b476cea470e4d2bc78b89f7590e68d112fe1c53b01c6b925202053a7cffe32df578a47ab8ba00a595c5ebdb5dc22274216d038d47e88a2f15c103f989cba094c0679d16870f7f4329c26ef058bd47223f4339827d5843bf93c806f2937b9a355ac402b398ad9425224a03974b209ab8d5853f57b27f247f4e73024d6cebefa85780de436709108986772470cb148eff0ebbc9c361256fd2b5dd010c2054e7d2fe5687159a77715346cc24f85455c0ad2603186b3252eaa4f788045c08a8be30059449cc1395bf7508233f45b390f7412bd90e20c7cc4979d29005894ee1f84e733facf8841e25b3497d4801ad7670230bd0cd742e9fcd04a32702215d764dfb8082b2133253b9aa07a30246a55ac86a63a1ff3a899838517fd5049137f0d0dfd3bf17e76ccff62bc2bab12c69eecfa64b783597930a824eb8c90299bdf9e62c7c18a20d2961ecfa7ea0011eb1cbd88db3daf7d9e9c3a9d50ce30324ff9cc79590567b694bd15bc1942590253e69b9d2e32889539eb29f3398b9004120cc91ea57787f2a03d9fe5f19a949d9dabe38609e8e596d5958f993bb5705256383e2760c62a13626efd37293d45f79a0f96c7c02243c15af3a7a9e236d05619f3cadc3d7d2794fc45a99a0de082819f53aeb4dc35e4dc8bb629ab851e500f57bc718d4a52cbc405eb0981b7d1b13573960d2c6401ac879f83b1d7378560689fb2e4281ad2b292a881f06966942df18fc04edc086285eb719a306acd40c06e8c7133e65b3de37c6f2a91e01193a0f7c6f79296f988dbe7c897870a7936f05a6b61de10bfb406bf27401886a37948bce0e3d27940ee86607c880d902b32f04ee0a3323f9a619b75ed1ed1f88939b131da368151348c0666c329684b1acd8005dbf4fab7871b6b6461ca83d2609165a0087ea11f6a233ac86c432f7bb894f01fc42f34ff2e0f67a8f7b34c43cdab27a30f30c735cee8f1df6dc78431c2d7e071b1e918be681598110add373ac558cd76207d02a6192cd18068fde7adc098a019e3b005e674e38f5af55d852523dcb5cabf0e393fc51ebc0d62ccbe4a7c6180763e4daaada14b8c777a8ac63cbb219dd02401ff771f5296fdbbc2432f5299b02b41e2942f9129af765f5376ed533aeb2e75d9e59df822161050c341e014ef903a333ab127df6e97c94c173949e85fb3efcf5edfce18ecefeeeb02fe016c09d02467a661f7506c42648a18e2899dec56fbbaa878fffa17be7d28e7c8b5e42200379859a13421a166aa1a6dfd7a9f89e133fbf44cd857c2f8aaa593cab4d66e00055e739137c5603a01b6b7d9805bb5c2d6ca15a232ee502373da353e7d041950090d06f7896bf7a8216df931259229e355a58755acdfa983ba5cdb7f09f550f014262f8291ede2ac12813ceeb3cbf196e06c3ebdb6971c9d9da51e12375346201537631a2c94a182bf7e23e4a7153c5a8f1b7792c94445487c5db5fb41b523203b032292577b3647076932cf4423b64c5d024d7cf89238109fc70a984d347050007bd27b5466dfd73cbc9a5aa3f32139eb68dfa277240b11a84979520aa1796007bb67d633c549952269be61b212b1096a583c3f0eb23c30d8947039dde8b8a0376d43d4361b4e7e844f5e894c510863a67c08f8b6a799547d3a121b802a01b04d67279cd0d0e2a0e489117012fc298bdbaa619a934b88d4200d81918df3deb0240f32f0715ed01584e0668486edd7e597eb6a669392b097e45a9f10f0e95040244ce1b8b6197f7e17daf426926af168c2d12477a7d83a97089db6931c3b1fe07687cc3b19145fae318740fa2ae59ee7599c822a6f5535a20f94eb126a91bb303198e9c46f9f8658158caf1ea97c87001b7b9f3c4b74c3a78638613f40f99c502100b6cf74afc4cd9f40ebef1ed071d17f7fe218f341a4f54629172d3d399c80749dcda8f4df272e8420af84e15958a4a453fed51edc795813f4232e0d6b55504af5a8f422808d74508e5214f29f3b3797f96104780ae0e2caf7c36d70d4346045f1c45c50513481f7c05a41fbd5c92f9425cc3a9e6023cba6fea67900d22890634a3d87339c6a604715d7cd47b6b5bef8db828f30e83ba493adb868bc641d3023a2b288ab5353ee0390335f45caa0d565ec91709aa126f8d54cc5bb0b903d1075017cf7515bdd8f096c724af7e13ce35ca11190076b26624cb927dd2a8978204b766574b67455035b5f232feae9b64d422aa2a4090b754dd94c244e06317dd013472ff845413f78a6e03c2e4230469584b308a1ba1e503cdf589d5af9d9828074af940860f863a25ac95103e50fc26ea6dca75e2592df5ecbe449d3c3093bf021f02606bbf85b13e8fd64d14ed7d39d3e7dbdd190be4932b37e386b38cea0a042448eb4ccb1eecc378aa938aaf5e775fa757f2a1d0b36cf13aafb98fe4ca18045ee3fac873e6a69bfc5a11ada23527265f6a37fb6ab4c910390423b440d52e06d7a53b8fb2de7dcb224cd6429b86a2fd27b96fd1bfcc1045852ec57faba397035cb0187bc96582c2022d081d650c1ea5bc05901a185a7d8e67aad3c4efe1810240aa03bc6188dada9c2f64e7ff2ddc3b7e7a09622df809ff656e04db929eac051448f8f2d53a166db1a594fa19199a16b4da8a15634d4d64d252d85514a4f1031522691a8a83b1ca370cf23e4c9767abaffed9ad27e2ec54c9f67ae2fc096603e955182459fb4d7b4fe3311dd29be8c218c01b16718c2bc6dc7db9fd535f0101ab2bc76e00882c5c4f5d8a41ee3eb12b4656e0ab9b53da4514047ff397324505e837ff262b9a983460bbf938e1209f0c0ee3d65bd7f60c522c7a4cace70937054a9a84fb1194e34b04d88f46ccc07c86af2a898fd8353fac6a46eb8cf81c270516b6d7bcbec3ebfb6fff839050576d77113b1b833f72950fe9cb0c52b9bf4a012bd1ab007e0323f77f1127a03bc5e4830895997e45ca3472a3f7e5ddddc8c90215652fc0bf4d850c020db56592afb8ffe337ae8ab0fbecefbcfe6a842108c0014c6263f4a0d8ee50adb08bdb744b1519795bcf6e53e3cacb8d0645ec67f23f07737b7d9a1233ebf498d272fe0ffc647030f3d62a9cbf4e6401a8434cd36ba206878c38a97a4452a01f0e80da7f6c4bf595535d6175a4f338d2d3c01536b90103a2a07f980b4877c74b3cf92a1a69e15a0be96d10b859a01f42b027f32f4f6b0041f4529628a4150ccb16eff32ea69787ab26810e5fb53c23795cb2c7d506b9009065c05c303ffcde7e6dfb3d43bb2404e6c2114e6f744659557b457f381a21060d6c0d76b5a1385ac461549542705f740f82cab0570051471a3647452281310362717203f8863560c4ec6cea239f92567099cea99668b35366497e949600f30400a5f5eb9ac557e846a30ab43a8f00836549cfa71273d7a012a2fc607cea8404dc9f994fe47b34f4474ada14e8850403332cc19db0f2c05a49f145f47d8ed9032636bb49283d26d2b246158958d19b13091ef5136042c62a4342c9fed25ebb066eadb6a14d552939071442004cc2742c62c04dd2ef2f045fa5011647dd1ff80512443c49f5262882847de854a600662f42bef3dc8796c12ed9943f7247ce2a06a046651d751af5e7c0a1889cf12f65ad1a9baf748261c641175e4f37c41cda05d7f642d3b13c17c48a7d844eff801e0fb18f0ae498bee8288d382d5df51d2c01a9a3f123295e883a19c82aa63ebc60126e39f2ce12a9a704a905eaeacc394406b887e8c0d4807dc8cb03dde5a7e11f2270374a6057c336ce559169455b7126066ea0ad598956b4214caf2530f98ef3ae1f82bc9bf0b8b039a014f3c075dee203bfd0fd3c65465b01105fb9fc0935b4a5132502c1075cb20706f5788118597400edf020e3facdfb36931094f293c324f53bddeb1682c6b820bfdb305b8fc0c6014a90834cc131a2fc22dfec7fb95402bb83f668450eaefaf36b8b175a035cb201eb2be4ea32bde6b6f71b5d72d7aa258929b4add889c77ff7e137dcd91b67b80245dae76f0f6ea7863f940ec123eedddc6c0fd14a0856bc350b0645df4553b4029ccb92fe9c1570a9892cea6f6a2a470a30bad85be7e79144c86b29afbd3357074763784c8fe2ee5927007edfe2c4e0c9198c781c382779d45611cdb7f7cab205983b6626238cad1099a5e09bd1e670c871373d8df6d3681f8b5a9a922c962b0239fb6a2ca6499d7b04c24846ed9e76f726fd9dd620af82859a06c1839b410803213de5648b731a5828377765bfdd9f5a55b7b45deca9403a0b6dfe9cb8c1ee017d4c8bbd634c4e2e9967b0a121f54dc720845ace9f2d2efa8e5151cc4020840164edcf1db3f6e04240306d2acec0b61cff40b4e6c18514d0d86a41a94b262c00a7a1346959b993ba08082151d40385f130ff3001a72ee44deb65520fb82fc0000000000000000000000000d7cdf13564bb99064428213dc520f0ddc6fe6a510000000000000000000000007df7082437d7946131d74a75d5e983b12863d0c800000000000000000000000028f93c999e620a714adff60bbe14c31a7fa4cde700000000000000000000000090cd6c79eb848e0e1d3ba1bbbde96177fb7d2783000000000000000000000000efe16e8d8a6a296e706b2938634f095c5f614822000000000000000000000000ed67067192f275e79f35c98f0c3ab3208b0528d20000000000000000000000005157735d63d4d64a4debeb5be421db598103240b000000000000000000000000c168a72475f79eabf5ad67361778a32cdb3f06a4000000000000000000000000f8680f7b5578bcf8d84f03f2bf3c48a9b9d418080000000000000000000000008ff264384b278e9a61201dbff09714f78234f05e000000000000000000000000ad95f08746f2fdf0e6e8b6c05c9465502992ebd20000000000000000000000004ae43e4336fbfe29fc539fc9f01de6d39ebf7c82000000000000000000000000d44176498abbbeba0d4517cb31f25cd9ddc7abcc0000000000000000000000007c9687d8a5c625036d4b7c534901bb105751ac28000000000000000000000000bb0262b402c4744935245871a8519011c1b72308000000000000000000000000bd5fe92667b4d2bec813265ea8a9db8663b4ce3500000000000000000000000076cb3ef9c0e382821ab5d114561c2d167ad5c88e0000000000000000000000009d43644e1d2e6ef1b112ebc1c3309ea6cd2bca4600000000000000000000000046304d6067bae677f638e3a258d3e4945d38bab0000000000000000000000000ecd3c44ce646f41ece2e49a56d1a6ad22a4449c20000000000000000000000009c5ac930a2d7c177ade12cb9919247e6d92fb143000000000000000000000000eb48cd309ee4441bed8ddbaa358b1a38c92fe59f000000000000000000000000b345a22d1e0a7942f4d4bce374a4574e5b002134000000000000000000000000f831f5da14061118bee4dab2578e0312c5a2ce89000000000000000000000000882f38c30b20f7c992e5957edd54d1462e0aa6b900000000000000000000000073fcf5d06ed9ee057a2b9f41eec8f72e82f36332000000000000000000000000f6f8423a246f3ddbf573b77ea5cd6d3c52b51a64000000000000000000000000c47758092dad42f2f1ec7ea1b85cc020fbd6637a000000000000000000000000678e4e4b0c9d91cb05a0d30953fdf436de10c89400000000000000000000000034c968ee9c490ec2ba47c7cbb0eac1c7da486f1700000000000000000000000031c5238560ff1e1fc6cdc6c18581b2ebedd0d49a000000000000000000000000b25ba1cc389aee2536856d9f7661bb8251eee46c000000000000000000000000a4c43f2aa57eea1b9cb3b2d21d72ebfa3c0b42110000000000000000000000004fe6aa3b1fb379995a110604bd3acb83eec49bd60000000000000000000000001b21e4cd1a2b81c6215161d234495b50f8e7fa7000000000000000000000000006c3d181671821a161ccbfd6b2e4cd787b65b441000000000000000000000000756b1cabc281c33f0171cd04e8dfeb14eee7bf7c00000000000000000000000048a18a290154efcf717a69ed4486e1a02a391f8a000000000000000000000000b26a6e5086062583b4dab087161e3837ea5b256b0000000000000000000000005bcd95c3db9c0f774923df5fe44b71899be9baf8000000000000000000000000f7e1914ba14a5d69366db245e8f2a1541e88e7ae0000000000000000000000005132c473543eb54a7bd09229f57e9c55dc640ba8000000000000000000000000257496586c3a52fcd6e174b9d98259e1bf0cbae90000000000000000000000002e0c7faa09b4cf6c0e358f4ca247a570c87216de000000000000000000000000878d86127b03fd85643f3452fd7249cf3ba8f9a0000000000000000000000000428e386c1410df200bd8df74580a5dd0ade190b8000000000000000000000000a1c91e2bf35ae051ab76b0ea3dd38c84e128ee01000000000000000000000000f89ba62a45eeb5f8902adc32a08e664b02e51d9f00000000000000000000000034abaf3c9cd7e06f2d08036efb6d2fe98dead9dc000000000000000000000000b61d0a98a191476dbc66b6832a9948610e917951000000000000000000000000eef60c64261f3ec174693c6d8bf738bbabcd17290000000000000000000000005444d7610b739656570d34f3c225a87f8b43de5100000000000000000000000041612f4a28ccc9073cabc9c3c916389300ab33c8000000000000000000000000252a83a9295abecc43efea0d68d88939551effb10000000000000000000000002724dcb854fe41ee0def08e30e1f89de535748e4000000000000000000000000279a8a9c397ec8d0701c5b0c2d48817862a7170b000000000000000000000000e864660180f8c0a4bd1e80160e61f072acee51a3000000000000000000000000101afe0b89781aa7df41e84ea48789bfc59d03420000000000000000000000002a4ff5e4745876f937dd832cf2942b2b2557291b0000000000000000000000006509aeac08841f2144b8f3165f72805d0bfc1f4b00000000000000000000000040bec24601292abe733a703b508748bd9d76c400000000000000000000000000ac5dc1778779bafb300f5c8f4241a4180d1d93cd000000000000000000000000878be6b9352c56587fbb80820f8ac64c2ba841e0000000000000000000000000df3c2c9b7f970ef1968a5bba8c66caeaa40ae40900000000000000000000000072a1b86915dd6aed348a319161ff3ad1d5949a97000000000000000000000000711b0245f8e8024fc8826ad2f04ad4835cf4aad0000000000000000000000000dbe3fdf7f99807a48fc165e77ba92d4752331d7d000000000000000000000000294372231fbb94dc703ac2cbc8717702480147150000000000000000000000004757fcf005c4907279eed219c97f413cb26d55800000000000000000000000005941f510d02d02e4977857ec4ffe58764156a064000000000000000000000000e4576d8a3482d6d6f7fcc30b2a1fafc137e8a6010000000000000000000000005245e1c9f6068537b2ff8f0053b9aa4a1d5873d100000000000000000000000088411245b3261a288a3d4b824e1138f8e1edcedb000000000000000000000000074541a905b9f2e48265399edda7b873ce7e19b2000000000000000000000000fa56c29fd40a8de81b8b2d52548e42bcc3fb7983000000000000000000000000f611df083ed6f31f8d892735bc530b0decb1fff2000000000000000000000000f4abcd6583d78b2912613983846648351ddad13500000000000000000000000045d19805884bb5148c7a12cd30523e623bdb5fef000000000000000000000000886f92be180cde661c137db3bb687267aece20b8000000000000000000000000b747856fd0861f8b288e66977b74e2fdb0947a28000000000000000000000000f169a9817a44e80402b53e59387af9739ddc14620000000000000000000000001fff4c96780effa45b60b63992f94d69a0981d66000000000000000000000000a81b82c547ee8579200687f303b0ce7cd23a006e0000000000000000000000003fb76052238370e9468441120f0c4f15acc1306300000000000000000000000053b3ce2c2c4f695474cff7dc9f0d5fc34f0eab1500000000000000000000000084d607a7912c0f4eac40db836ab7dab8c6e571e0000000000000000000000000636b1c6431a91a0b273ce13f3d919300084a0cbf000000000000000000000000259e1e7488218be5b8b3109118b77a8da61d7f33000000000000000000000000d3d2649328f6f6441c3b68aa85711fee815b4798000000000000000000000000f0f73e37983afba21eb2270d24b2fb512f5a50060000000000000000000000002eacfd8fa1b89afed517eb8c61ce22b474421e12000000000000000000000000f69f7d3df1bf67c722eaeddd660e73a5ee7f511c00000000000000000000000006b031b76d9bf7853671fa57392153cec4f95b6e0000000000000000000000003f280d652e39ce806b21c19e833e4d9f526f07ae0000000000000000000000000af3fb1d49394fdabbcd5d25b7b31b4009ae5ce400000000000000000000000008a39affdd0cdc41e2474a2d17eb4074877abdab000000000000000000000000adf01103d6931c885d0a68bd206065f5d3e9511000000000000000000000000073d8f098ff1ead9a2fca1b0d2ee3f52350741e49000000000000000000000000a68cadf36d57c02cfbc9a6fb3e7d444c25e72db60000000000000000000000004f63fcf2979b97b475a4bb24bc187ed831f97dbb000000000000000000000000472f3a536ebef658bc85036afb7506a2c218299f000000000000000000000000eff5770ce67ddb18bc67a1ef7483af92d703c150026f3bc3e51c4832efa8381f88ae0a7159919a8dcddb6f58484dcbe40f1b71350320e93e2bfcb56879c4f68cd58bbd45e05578c63c11c760b4d698704872e8b70628e3495384401d1496ba56ac3f0a8110a5fd7b5c7f797b1f677470459e1df101c991985769c17676a1c5e8a36f82ba8473f8db85be1a9d124dc257f5bf8049071a49d5f50e268412e78d7fb89dceb79bdd6e6416848eef4fa0db04841706210221da826f006a1d46cf4096d8a14e1f6e97470c791d4031874a63f9dbede8bb06317582649101bb57831800c721e1940d528977885c4c7ebe025f5c8c44b0590246760699e9fb587821717e5e2ab30c7f0a4bf720087bf1575f1451f578ecb2025c885b09a04910f494749f5d76146893682b58c32c824f7f5b9efcb2182e89016624379d4cd300ab964438578cfbbf464173666aa85897b50dce337e763e85023e06c1a7c4d1d8c8d9f12964fd1ee7dc6bd52818ce0b4dff1840d10769e3550483d077599103abb007a271a47e9e2122b9687ff3bf37fd35ea878ac27a26a704850d3db47410a7cb56372f6d21deb108313d32436b61babc93763c0e04cb1805ca05b91dd47fd2c64f971db75d27740a726eed903e133f81694203f0793b7a02c08e131fa0fe234ad811c3378f6a887aa85009eead509049241c63877da55c06efbe147e3fbae966c7672de8e4916321f3cf85a74fbced5fcb1362605e8c60059c927b066c13b86734aee142893e2a1ce5ff3859e5a0aebd8db00a4ee96728003181cc29461e68c98daa98702d0cfbef40a41dc0d4f41d750d86ca2c3b78aa01498a1f2262318f0b4b8b5fba5170d067cd3f0a0db7783a40a58d86d1402e1101884ca158855809c60a25e4fefe910b1c06754ff5d79db26587bd1e49cc2bdd03aab14ff89d53f9951515a003bfa6dec7b082a2babb9c9dbe161f6ecdecd93b03c9c202112b85c70adf738466fb2b5a355955941fca34c79ef68643866aec6e060bab7b5151b3285c6d5c8c60450161cef252a73e98ce32d22b8bc67e09fc97038d1b623c3b37f803776005424f680d415b84d85555e6c1bc8b03d53b0f20e004f817a87f93eeb889f8eb0be4d05c305c51a28abf624cc650d15a0f4ebafb5e003e527f1b4b3c712a171b97b2742f85196e502c09de4c03c990713726b60e1903c171149597a016868da832421e0e7cfd92201e64f948c8e0b181ac835c664a03870da97bdb7cad0caf7e645deef623dbd12e7921b00b435860c7039b4561b5049e51c1fa439cb99373b27e03d83b572aae9226ba67534aa0712d5a2ae69ba10145c5e3358cc1a37a0bc81796d7968eb2c9879f85e08306789b27085279808802fc458c248447a28e7494bc77944b0386142e3152f2881686173b018eb5fb900253c1ee895ef92d68923c758ae144f95b236cdcab556c69a4b20a48eaea798401ec48a68d5e20463b6d0b2b4468c7c849b0fef5304bd81408240bbc56970a82020b2770ff60df5bfe0ffb6c0d8fbfc82f0ce47d973477a8dc7593c83f326ddc035c402a72221c5ef4214aa5f3d33fad77437f7d389e5bc9134a105e6cb39720031052dac9c7749dbc142c97468c4782b4d33c019b3afbb10b12f8c2af5664ce04f420f083127b813b596190c38988ce35809d27a7f6cb46f647dc9009d05a31063355d446abbb372a03736aa2a347ff535e3aa6adb01e28cef56969dc401d3700d305d0f6aca2428967c7e7667550bb5c37cf780973cd9c343c1323d8dcad9a04f944633e380a8f47c54c70bbc98e2afb73f8fbe1feb849fe00e2793409f78f0143cce905cb9110224520b7dd04e76c95e392106a258b85d876746f10827696044eded16f94b88f8b99a230844f611fbf09ea67800ef2df9dd32c5ed8f5ec5f02fbdd30f0e2dbcf71ef8103af654fe5b224881c4f502f79e12d108bd3f72c460353eedd0558f5a6ab62e4f78e1890a114b6bf1aee48a528b9a0c234ad2f23450404ab8e846a9ff7493b9fb0ba082d1b9812e1e9126c451b80127307cb748d1902285cf17d02d7d5337723296aa0f354abb17886964e9644b1cf26b49f34d4c1079fa1956a62be02a7a7f90bdfe03f458bc53eb67cda5b89f177afe83ede8b37019ed2e12ee3b12e136bc10155f26bc21d60a6738d3614d376b6631a6ce133ea019c416c3ded537a06578298c6ab952bfaa26cf2c130884f8dfe46b3704a770804538b5506beddd326cd457833adf3e71a57970be8d1c65fbbd34182c6bb0ca6051949339a3f7f2045f8535f5f25f1a692a3d2fc7f1f8e0bd2ff2bead4a26f2304bd9e8f1e7e676d17aade7c6f1a6178f3812a9b26740bdb7f0905241eeb0cac00b629ce2bae7bf2cd2c5ade757b55052a147982c60c7582c1cc2da7584bb8a1075f37e66eb411af0b192bcb2538ddccce6f61da0eab7d478470d37c8536a5a0039d2f1a9a4a2bf4e6fa1f79a23408595a6f13f47954faed4940530fd9d3b5e30679fa3b9397a727360706b0445696a9746af67b48862b6efb97db5a68e0954e0376cec110b41e26fefe42ea7d48d55fbc4e61e44567ac976ac593a4de61f9b4044deb6c6d5f012b0997ce0baa35a3aa5a06c058d1bc232b0f31d820375bebe804a7c60767f955af1fcfe07f9477d0cd6f0cf2026a1c0d704441d5e825076a83066351fcc6d668153871a06024f09263a2752260e59917d7824c97f065dd736b0636836134c07915a9e133e03745435bc3e68e70b18d9eeecec3dd1ad5d9a64406c5573cb21c971c06f41353cf00d38cd6c60ec2f7523b6157faa70400bed7ff0495809c7160d11e8fd0e300d1b9f68d492012ec60b7ee02b311a7effb68863a00f61ec9f52a9f7e737b6e00c7996c8d682cdb20a7e9df861b84924bf0a9049204b99c2dce89395134a903b3cce9cb7ecf00cc44d10b5e12280daa203e379a34069bd13bc50dda0e2f120ceb128d7752964110d5b7d8a25500d7a6b2a5eec6bd070555ef795459babf0abab04a6fbe7105ca518ec3c6b23db054ef72086aceff016b3378fb009755048598ed4dbbb0cae9a1d2cb475b9fa2227da75c5df5513406e4cdcf2225d661f7b31b67a2c55f01756177eb3ae49374907e828a59c23a6d0119003acad936f0219af4f81f9f04c6e77378192e617397544f66435748a2d607302df1f5de52769a84b4cbf94b972dd1bbf07ae5f0ca4be1358a0b7931b39802cb1d69b8c51abcb7b527072196c1a470cc103f03d96c00ace4f29e96b12dd4039cea940823c381909af2304bd861333afbb98c686685dfbc94cc499d9c0e7102c353b4ad3a0fe9670d1f00432c7e098ef53087566ba43ed00c0bde4b42b52705daf3970947ac221979864207f4d48a42ee4c8899da7c8045eadf5813bd5b70056ca695a798cd62ede9f5e6fea0cbf65ffc08d433e5c68cc1b5391c5de29298023b408b9f0153635cc8a8297a78bf1350562bed1ebf50739c9a5187640334ad057f66b8ad3bfda5c6eb47906cd76075fc7096fa53f07d1d486455411d9c3254015d957c5e8e2e2ac6f2c99abf352552ea31b3d51909468ffc453861364fab2d05cdf434ceeb975aa92c1ca9ca387c136ab1e684569d493297fc89a9c5a549d203db105ca7f11d291f75037a05858e6f20f183fdf188b909f2fdb6b2fe80cee50140477248e4d88f012a7b7333f01da6c212dfa5a262b9b64e8213885c8035c2060c5f9b30fc9f6a95fc0b98b07ef1231663edc0df05089bc6e1e5784b066fde01d7bc54e983366958877789a283f639a9874065fa78d74a3f682247f6d6b3d107380c87b654e950506dfdeb60cead4056253bdeab06a83cc01ec64ff8356538079c075516ccee164b6e53854adf81afd2ec998c2d44a62c1002f6e97bfc47c506d8d07b635f647bb8ed74a2cc5c8f08632f289cf0ff7d109aa517358f73d9f600ca82cca11edf50bdde379f788399258921da05d9f3d31d97e2da1672a68657023d1ddbbc6e590338f451eac514f14b9d7fbed71effdee5749721ee3853b89a0436a44671fcb850d3279d7da51acffa0495499a449c546613a937079fd3a5c00077d9b15b682bbd951e31b5129af1601d17c0e28f4f539583d6395c0a95dbe3048b207b288d6664da336e3fdad2a472652ed4c3ed9a29e60043fd013aeab1d0025c395857ed99a59307b9a105e60db1abbcfca26f299587e1cb39061f6b4a20071906eb0a4d9721817edd6777df6b22c045d238c361d27bf7d0bc7b30197ea00534003d0010aa9c3db9a0cc72444d9ada43995e2331ad0eb8fc395f2e2cead800df505cd6270a3aaeb145e17532ae9f4ef3a4a4d4fd346fe74edbfd3fcd8bd404254e2c7bb5b1faaaa3659f4f3fc81ea65fa38cd527d36d4d356ed76cb3f6db0312fba03e4954c8ce639f7fb49c07abba828590fce21f13a517395fa0ed185e043b84e0f7f837cab0ae9966e05960cb2a67e2254b3fce7cc8fd6f312deb2c1b008f87dfd9ccdacb4cd3d07e73b71382175d8062c349d6b50e4e1c379192c3ea0256876b5c15db7c00d524072e33825845ecc87a8065f09ea783ad782427c6a902ea4a83c7aadf9455c097adbcbb178bcee38d2640b69c8dd3cbf0ca861e5d2c003b31954d813ab566cda88fbd80ceaada3ca409fa40298813ac68764cfaf6c605ba0b071728d2bf5d993b263f69aa27cbafdf9eaf7c051f6b3c7809256b6040045f631c3ea283518ebaa4893292af512a8cdbaab4cfed8ee7c69e982a707faf05580972e0f0d283e1f8c76b021da845721cb3487f498305c3d34fe07f9f42770009caef541b4d92d68b1b0710ab2b50bc0cea06c684c29efa209c81c169e9640442831d000ccdc0a58f69516bf96d7690cecd8864c3b7ab86748ce09987a79901a3ac30a38db3eacd2270c0b4314c81299d174ffc871d7f55061c30aa861a280626b9a0f3adb6c298e7c649056e20cca47ff572ca8fa4726f9087aa0869fdd004c3139096ad0f10813d2e73e49eb028b39d8f23adec7e93416592aa17dd5df300c5e814feeac32f719e34f780dc2edb769ee5319135d876dc1de8073366ee5101541790a4c0fae53aa8d47dd09177c403ca6d1f775bb558ac810e3f9063b3ba0431d07e985c5efe31b15ca7362b281287fc71b37ee3791e635d24ff88b283b9038e59023977a03aa0255e3103451ebcdcc4514bdac93f00a7a57a29714bb40503279b828cc4b73756b2c8878ccbeead1dc13e261b73ea2870eb439552eeaf9804453d59c635b8c7475d4e5680b58c45acaaad52767554f116da89da9722007801c313f61ec0576fd76b974274b4bc5d77b5b5a5e3609ab89606e78b6e82f3c907912925a534a001597611672c32ac92f9d8319383981d5e7b5bc6b0720caf2907b3fd8af199e1d62d38abb9677993d5fb2106888a56d57f12ba0093719e4e8d07fb5c02da5c6767f4b4ec953e1d8e183d2d2e3431be362a19c18c2366c3c11507834cf88a246b3d197ae3bf58df603da76f686efdf718011b67d292621d7bc200d0d257d4aef18be0a8866279236a94294d151e04893b9b9304720348fbf10906cb67ad71624498645150d7ae531f7975132fccc6abecbe48d7229146d9a8ce01dccc0b7d053f765d1a75ee3bbe99a596b730f7405c6b883d6d5265cc5f34c805bfb2a108877c9ec3c20b965ce90d5f804753bbdbf481b78404ef7bcbf8c9f70769add288e1566944ee57f7e968ce563b32a89008d8c8af87fdb9f3f62d26580747cb78cff27b9bc78e1d6afafec93d20381a855e212b4aea0fca1b0902166701e19aec10a28ffe88960a7fcff79397cc73c039d09fdc769bd56e6b86a7475d0648c81242b88290e7850f884696c6097bb2b86944d9590dcee3cb134b6c3b61076b6c76f64336ff30c15f4320f8a76e35e5445c6219e4efedf56f51b233bbd705e3bb38dce20d1540008d4e442f0c0cf065b083ad56e5949fa4b7b7d2a490b50746c6b12206103564c085f6e85a084285a8c4f5e3d1191bd29f0153129fa9c600bc570c04bfbf93f11839df9c7692f8db9a0d35e5e4b9b3b74dbd35934d50d907ccedb1668ac6d20e6d9223f16145f43069ea018da148ed52f176041b20ed19065b7dc8b6c28c603fc17c7f712a4fb634d8327a4eb714043b9c10deb75ab63c075c6d15544c29c5dba7af48956039665cb89b4083c0f343fdd3e9ed3c15b07c01a58ee0ce4235cefc9b500065e03d37bf3353e51eca6d8bf72e42465c7f587102b41e3d584bfaabb9e93627fe9359b9d85cd8abd88352e905633f29b3973be502dfa1501afb431774faf65900632333ae5ebd93b363bae2c2d6e8ba57366247020704550aaa04672818ae6b70541131b86faab84b467ed2a1b4c5ad83e91d870075291960b929cb331de687086965add0006e914a160c7e00006e8acd748ca9070ceee5d16bbcb6b4888064daa0fac8169141fb64a4826f0f08cd4f7c1cda63040ba3db890d083448bae593b51c4b27a22edb18e55abf76391fb83ac8368841032c649510bb78a04da37689acf93b655a5ad15d796c5f130cd25ea2cd8531580500141142baf82e072d0ec955ab9068d25656b71d5bd651292607e0403ea0070342e2f545e88e3f31e369f8f7f395728ba48c3124faa5be9436ae1bcc9efe230432bb6f1a835cfdca98b2745e3e6a61ab5dece1413cc49bae3e672849b99c240491fd55d19d3bddc7eb6c6d69c7376222bac7b621288f0891f7e93e70aa084f0757ac6f07008059d2a9ae4560cd7683c95aae1573d14b90c31684d2de6e8249008f9fff5be0ed85dd70f77ef059e17d1c7bb9009587e879e74a45089fe1b65904dee6bc60f46ac70b804973f35dc3bf867030e2270d34ca8fbfe46f170d84e302e92bea69daf935cdfde18649e05b5525aceb256526cc1e94561bcfbf7f8e9e03c3d2e9fe2102e1315360df4399d0e77ee63aef9178d92b16fab28604534e54049b876bbbadc899c5ab4bfddded7f314978a84977f51ad46d00c53b75940aaf007f89e0d79ca96413656dc8dbf1b72f767a234e2ba4ca82f9423e30a709e67a07b9111df726470159f517d6031c02e03a9e16103a1beed87206179f7c61704607ced147931ff59193559ae1b5b27612106de5172d2f7a7da860987002b71970013569ef71d6836211efe7af4d1fdd403bfd86521cf0c966b6c92e3b0107a13105a3317cae42629ab4d402df92dfd0419f51b67854da0765d2dc5406840a73ff04d0bfd876f041cbaa828a39b9710825bf97f6882c88ce5f121ac81a3b5301a207fd602ffa3fd7b90e5ff34489778082dedc53cb2f065984dd7e048cf077fe7903207c9e524c068a27edbc5b4c62586f07cb92fc31cc80ed8454005e58ec60910194c4143f7f90d2e6b15c2265bd32b776acbef60d1ceae03f42b0dec2f4edc3048b91517e0584263df0869718633bda96da836853c1e6df1fb6620fd00dec3300f7d8a477d76499934bb151794af0f30b3ab1588c6c182de617d77c3b9953580311afe3800e194740c620e715a6f0cbc17fcd80cdf0f418d820ff86a3869e8507379e803c08012303eda52ad361335f1d662e467b44d76349ebfe18eec55ccb038debd7d16c92d5b73c416e70d3265b9d42bff523553993fee3a815343d26a0067fcad4d5c1a6c6fba4aa482fcd95021e49f2d37d326f06dbecafdc6e61aaad01dd78903e9c318380fb8ad624b1f4990f916340a7277087ca20004f57810c6403dba2c8f5b1cc90203b16efd78de35f1b01d2cdfae7292b559cb3ff195e66fc066cd0f67747d035ab33c1050213f58f006efa497f4cb228170b254bebc8d75e01df6a4afa005d8bafdd1c4fa3f40caec7d79ec20e93c3f8c8b16c84f0a6d2e607ace13777439ac677798b4be08d82d6638c66743073f7f7d99147c95ee258d3000000000000000000000000cba48a60cae274ec1f5579675f570a323dafb3250000000000000000000000007d2fd4f7c9d7e2c21b943d3f490a30a8e18d737d000000000000000000000000954c11be59133fe3e136888efeeed02e477a9f760000000000000000000000004aef9f64730009d20ed29733f18650af499699b400000000000000000000000098c2673b433788f4db7e7a8e43ab4833c0c6e693000000000000000000000000e034467a0a8d5e907b88e1bb8d0623f044c76288000000000000000000000000091be10665c53f687156401adb478279b2447e250000000000000000000000007c9a228983bfbe8f88f5ae343beb1014d75fa426000000000000000000000000fb810ffefffc6d8bc6aeebcfd6ac6a64e1573b11000000000000000000000000cdddf0ae4cf63211f8505300272121297dff299b00000000000000000000000073be1b24873b5307c35540deb8638e80fabe8633000000000000000000000000f6537947aea375588e9f0bac070d0df25bee9421000000000000000000000000267d830f3792abd6a1b93f1125a98451a5e1ccd0000000000000000000000000f73c30e174e1655a144005e9f9374f450096d7600000000000000000000000006d4dc913275f51f4d923b766f34cdc2e9f7b38420000000000000000000000005b6578244d023844ae4827784fcbf90a7554ce9c0000000000000000000000003104394e2d84ed8e0c03f46a1d988e8dc2e576930000000000000000000000003e29bd4dd9ad699dd6eac128be5cd6f6c8e8701e000000000000000000000000ef374190981db9987cc71e17918ed16c294a5108000000000000000000000000bb64d94eb0c07abc1b9396ed446b4378cb4b7ffa00000000000000000000000097549db63ee06d9a03e34bf46d0ec25d4db93eff00000000000000000000000004a242c455c49da1f189d52250d5dcc6da4dbce000000000000000000000000058cf95d5241f51191ad831ca45da3e7e0b1a4d49000000000000000000000000bf3cb501a81b372166aa26f3cd784f8ad8baa57c0000000000000000000000009d2d37aabe836cffc0b450f640a3ad2c4b83b7fa00000000000000000000000028a266050a18e8d2992af69ad001adfec89324390000000000000000000000000653b02ebf1c6051540e4af54170175f8fda8b9d000000000000000000000000840057353556a20eed13c3b9eccd7ae5ff7977c5000000000000000000000000eb82f06d70a4e8d7c5a7176699e4a53adbc45a26000000000000000000000000844730e3b9c596e594f64dbd70579a28e5d9945a00000000000000000000000099f214064112b9231b18b35e0c41041ab050bbdc0000000000000000000000005bc02e0ae637b1d29c01a0be4c5b9f72cf2a1d72000000000000000000000000bb98d61bc487b62b6215eadeb1a7ce097684103b0000000000000000000000009f92dc730ea085972ce3aae7c127fb50d989a2ee000000000000000000000000aedeb35c754fd7383b9c705db7a9726e294a283a000000000000000000000000dafe863e9032beb243062d6d14e640646074fcb3000000000000000000000000823dd43826f3c28a5a03545fe63d455d4e05a74d0000000000000000000000007ec20b089ffb0569d6cf32b4760e8c299a829e3d000000000000000000000000629178efa038929a7696378cc2c327f280accc3d0000000000000000000000001b0f6f1c195037abcc24e78838215390116ea624000000000000000000000000c5da5b6eab552cc01dc560676b91598f4cd86ab2000000000000000000000000ea250ba13ec8836bb2fb808bdee181ad1b0f1d270000000000000000000000000740867ebe4d6af6941673565fbe332c381709470000000000000000000000005a5db9eb2ae303224e050bd9a40df807e16992e2000000000000000000000000c04407a90e65a61b74587d7df7e0b3c93c79468000000000000000000000000019779ed4f60f5b5fe6703beef8cf0fde8fa4aff1000000000000000000000000b4826b0b39406296a722f62d4b50e104814d937d0000000000000000000000000522c33cfb33dab16b99fdc72f776012ab7040ea00000000000000000000000072b181ffa87b0a76408c6f9bc9235b40df44809700000000000000000000000047bb19960be19af2088f6a5dea36440f549f51c2000000000000000000000000bc0a36fd38bfe8a1de7fdb15b892d734245eabb006bacfda28a1e8519c70fdca560a5706c0d9abb1c6e59a4cc3689b340f1c526b056b533fc1375152d71279d68b8e7cc3165428614b49a4527fb2a4c35ef722c104e8dd524d8b9729d5e36dbadfbc5d461d738eabe82074453a798b9188ee447806b980f0f271d433726b4d98e6e02e822268228ad3b4bc07bf18b9bf903147fe0731645713598f84288712d9870b6bd70ba4f027f78ee548065304ec3ce195b20352a8bde5cbd73e994e4dac2a267545dc47f716c44788bb56c34149a96a553402f9da5c2b2e3620a54675d7c78a4ed227858fb70e7c17047eeedba17d62fecb052e76f0462fc70fe89473237e220fb326c06f2d331f7b2d1eb974bebf8429490700116978f1ea14b1a6981070345c29c8e265def71e832490756c060eeca00d034d8c3ce851a922f59a04f5725af6a5841f2f02f6756ff3c0b87660ac95ca7007dc3aa4d827f56426a66b413fa310a37b8cfde5d1f814b261fd6ffeaf49942c038a3b6f511e11069059e937355ce19e92155449775faf4841f530847acad49e002417cd7f4c186777736e85264e7e070c6d72e72811c0ba370b0c7e1494a0f90420c057d8585fecac5a3405ece1e29e6789614d08a6211ee21c7a378ddaf67703d598548676191aba4d24ee981ee93007112030bbad593e9a131268fe95a56503267f41e29caf2a32d5e2a31c69e1f668ee1d9f31a0614175612b8b716ea9cc07f8ffaadd2120e6d0b5ab755556578fc389396aada3dd6c607bf7b5483497cf00ec339e5f57b884f6a5679c67a255004bd1299289b29eebc8ac1376270fd3810524811e8d7e6ba29379d38c2c3f78339b119013630988b6bb6082c9a440991b020ac1a499ea658bb9a8871a9cfd0f454f25e4ade3773037fb899df8cc4ad0b50605656818a65593bad7bb7660124338a531b2247dde85564a3ca44a194e64c4042ce0ed9f1935086d21b9469354a7d5eea6eb54001e3e263069b63e92bc9a970628d34a817596c1406a32054226daf8228cb624023c3e6d5e36f92b4823d0cf074e325fe9fd25ab01841caa6717e43cb8cc84eaa34e7f609672085cc68c5dcf00cca97fb3665ff4dbc6f718d2c66b11131d2fe6c43bd9ab23e6ee95ad5ab023001d36f13744eba88f8c8a6dfa042610670dd9f75febb87c7eaf1956c0a395f20103bff4d565b913c2796339e547ebe73d86ba9ab4d3529de98cea2be2c2525b05da251667ae68bfa48da2bf132e1f196a753eb8ab6bb051f463d70960100d32004995555b9180f202f63d4d88855f05d3db8f39be46a82b1b64d86a63d69b1d02262ecc8948d03abc12131b3a9e6a3518a8e8549af031a2d8396d204906daa505f8684519c6f912500647fd031c69f8af890e24fbaae5c5b8e91583c1d136cc03939e53df665076cc53929ead9029f882df0fc0b8787779ba42b9868f9103d5049e50690be83ea24f247cda6da6a445ff83c6661ab32c82f9cf3b8b14e591a7067bc5e11dc4098e357908cddb503d972a1459adf6578aae9257a5129842b88a03a0c95d0970e31ffda1c8c23f856e6fd2a461ce0c7e08355dfec25e40e85a0800388b5060f637162d52c0e5b37060064fb1456cb86780a9dedc90229838253805e875e83d175e8933fef3e7137062dafa8c733c622983aead58a21931deca3206cc05e15203c61fc122ca92e328b14621152b33b073045e81786ac96a9cae8b037a89d0e32e038d2eca7ed2c77655789b0b38d49de0d7a44ee5a086f3c057b9023603fe866f072cef73ccdffbbfa16b541aa381795ec62940f559cf794975c00182ed6c283243ce0457350f0507375610cc30fac38ffe596e047f7256475afd04fc2dd095fe172ee6e179c72bfa755fb437de7d033a52f1871d7a6255626bd3022ab1dc34f15e5de3c86bc07f1509636112c17fae46be21b69fd3e717f9441a03c05772c98e28ec6d2f5ce5f978a9f27dcf281eada049bd2a6ac4ee3cf36544065f832ee00ba52825602e09225cc7851a55dc8a265604ff11f0ef8caa2696f903c656633a95f33a60d9c9129393be58a8ce3cf1ec1dd071d9e10f1d91ad18df057ca475f498c5563c8df33082f95b41b3d967632f792b6d009d63f00de0fdbb05c4989eb2ec2f8393332089018022ee2117f8abe1cbf7d623078e8f1aa9aba00386bca6f705d9b563aebc9a963216e04aeda179e5473cc92ba489264fb936b30329955a7737c44334b3fd3db3f20faea953ed64cc8cea1482c925cfb55e409507f054871e5425170774cdd3929c00a01b309178d9d6aae035851346e7117aed061122d803815269a6551ea04d813886915626118beaaf36dde67a7ff6064efd061198a8336440fd5075a529e8b9fefc8e5c96f4b6082ef307057df1c2c4bfbd063356dc5e5871190c1bc5cd97e5566e36a4ae389214ac72d01a0644bee7e62d02af3e9f3a893c5f52fe592088c0045a791241c1c3c8e753b9149425f9cd797005143dfa0f6fa380d0f4c15bf1b233ef9f913a5f015ea7be4d9aa1ecf9a90077", + "proof_hex": "0x07ba8e443ab370ec997161fe5e39b88867a5a7bca3cb0b158562807301317738023cfc194da8750284b24a4b4e44ee6c009f52f396cbd0e0adde85cef638ecd80598f9ed8c4b14c177bc2ea118adcf1fd61aa43ef3464b320f8c86a72faef41b005c2ef4506d2c8cdb7c6c765e7535489cde5e8994f2ed01a2274ab53048129c03e202767feeaca3140297ccad4816e930134146c638cfbd05976b12c2fe7efc0771e2cf936e0c872e8e6361074a326bfdaeb034178d3f3704806c46b479202d05da0345e8accd35b4c6a79b91a14908e36ce19d81bf32d9e24a9a814ccd912207b7ba7c522d13986a7cb2ddef68b40ca758bf8614a9a304b25a5edc0188dd12001f841a65ea42ae4519f74c3fdfc13df140a114996b9a24e08384e5f23e4a0c06008be42d9560506800c8979a0cef185a970f606c27c58f5429940570f30c060304a8297b29e597b9a53fac7de889cfa4d78f9e19a889323287b6fe13195c9a04545eb60e28b23e0eeaabf390e01cc4c0060f91bc85b500a5fed2ec6ebcbfe906c1adf22fe45a60c1c9dbd6a04f3372d98ae35cf0a2d44813147a00a67d6f7b06693814cae2ce9095a247ab93e8b19706b32ef1c8d69f55650a8f357e4bf58b013831990d5e82cf56b35f0bde029ffbda3b88fc5e4c7e6ab36a32e2806c762203c5d251f0eb2f13fa63f010f4f1e97034b8dbffe3a5d8224741f351a13a4ca50211d7e18715d6418c218b7fb2f5ea61e4709f5774aced8080feae94ff74720e066e641ab824c8ecf152b691fe94c311ffdc0d673e4f05228f067ff6bad3631c03bff4864a69c795916cb2a2b1f1eff2ed5132dced333cefab7a9cefd4f1051d0192f23224f1e685fb359f273f2d8255d4b5c72d5f7df47a1c90249664ba47b60605930dfa620c775b65d90b9eaf8eb94c17df1114ffbad8f6b3e1636d618b0601e6da5d36859fbaa6f5942f4500c811f22099da8f4432c8b40c15fc3978d60801bf098efd6fbc70f191d46932fea393bd004fce540047f61ced02bcad3be6da001f9899227db520ea4662f9bc443b308506bd45c209e1aeb527807d4a6c124b05068bb4845641d6e498936ee40eba0ec61be28485ae2f47a4bb7ef9d1854ba203a7a5e5e7bb8dfa03253a8103e4b59a9d0013ece3e224edab4f6799f54ace6b0496abbfe96f3ad0cb3f4fb67633f78260c3fde4910c3595f4f4f9d4e0834fc4059ee80086a20b94be1acbfc583aa31bb1f0b37f107cefa62e2a3ce2f672bd1103d35f6afbaeaaf986cdff5049ede4d1936009b56c0e98a670c5365add599dbd00a7301ef95f88f8a1a01f2ceb912381cf076e4ebe52e9c3a35d0b7dfb370ad700621ae4180dc1fd42e5da98c8b31ee034a8141f4824cc129a9d8b88b43f87a700058e95fba99a9ac79644f2049cb985c21692f4b57aac67d5bbb2bd7d2ac0ad061c14a97635a4d175a1db510bc5369ab8e2fdb915f5af8a69508d75cb15849e0605d04972a45fabffd123a812dae1cdd7dacfcb9a4a0deab40e37c5f801621d026eb211071d9341bc1c15e9f7a84cb6cf742496b8d13590fc2ddb060f374b32072db93b1f9b64bf3db8e78dcd5d7dea492f4c5ed492a7518807d5b40093e3de00cab3b600e520ed1bf6d1d91833bb8fca69a287095709bb193fc740a685eda1029a1b397da0c1004bb43ccbf6584e6f4fd1ce94accba15f657cb35c9285221700efd9c37917d8b4105e3482dd0cffa88504a015d6ce88bab555a17bffff392803ca399170f0ee89f66bd56305bab686c9b999cd209d3e58a0c07d13d953c94e07ad0642543c68bfd608089b47873ea27f25d83d52d363506b6f29e8f526b2d406a8ddf9a7896e86bb23d17ccbabe781cf615cf2ed008b9d53a9b36fa1b65e83026d2851000a3e6548904815beee405d800a8ed20922fe406751761beb904f04000c09b4be850744eba6aad77b956c59f4860374581def9876f450d9f8ced20505f9e15fdcdef5e2a953357182f368c61c6980c6df1594220c2913eff3e9dc68049e83dab7254513526a0342aad62a9252adb231471e8ede9d9faad2950d40c300d039904199abac932a2cec64d310da0562f036eec0c8b879afa8c04aaef952027243d98b2695e3c449303879af64e0dd30fd438e4b74da9e1414a6a39c2daa068f8bc70abda9373de42afd2f4bc6f81bf4d8a83dc54ad9b9621a21dbb29b0e06b8f2a2962f10858b9684f203065b0859d9081a665c50da66de135bb9b9823007964b113de36cdd0eadd80f9ed02c65fd165cafce862830eb4752204425d2540296fc5eb0218133ff5f4abcf299e0a7e9d6a40dc2224a90db19a318d16851ad07b2b31ee440a13818ac0498a5ef599d882302f8bf7da4e927d0d31cc9bf77710742b56ccbce2611ace392b962e8c949cef7c5be86ce2b89b86eb191e4433a6204e085d795115f1122f922b4a9541527e79e3e67d2bcf69d0235268de01432c604406cb337278bd2c3df025a119656b4034eb52768a5d6518ccf786445c2ade601bbdbca209a4b086b696b7d4779725bb3fa090a341e1b7402e54ae4c209fa9904f73292f04c78ba9b215ae85b53715c709af1e7876f8f403ef9608cca63b574016e180c82e7291df7404edcc65e52adc30fe3d5cc7971eb40e68228ffa6abc407c28b1b1d781e8a16aab1d25e2b1797e213874b52665a937ea9a2099ff94249008b5b4646edd9583d085d8e8aa9981aefd8361d5a3aa32a7f09d3b481c8138d03f001fb5065b391710495fbb70585fa735e772f793bb7d56843560874059b4a03a521626d7914f7070180bd22a50d10bdd2d904467223d48c7ebe8a3ad25f2a02ab159ba77423d8d77ffe059225734b4115e26d2eca9000e4d423883f11d60c03c5b3c13598197838173be90feafdf9dfe7c385ad7b3c4abf1ff9a19c6dd7f501de5cd0bd63685875360156d950fdc26572bf03112a11200ba49f23d5aef78f07988cddc837353e61373ddc4196cedf1daf3c42238a84c127868ce93781f9a907a2b1e7e7e640154320108af0a1c82df95394e5b2b20188ea0cef9451f9e0870284366e43ca6775dae99c2cdb71bb78b66edda94302d4acea131ec93a66f90a02e05583d6d810bb5e50bf358e57e84ca76ebdaf81ff8398022421171132f30100e47fe4c8d233f5b056ba29ca76b0f7fae832994be4fdad34164a5262d86570078d9c6a6815917906703befe8a12eb478a2343a9b6b578c79eeb063e52a628100abe0b76d86dbd4699c203a89109bbd0dc4cbff83b78ac871b6454bd237789207f79ba2d95bea3796ce7a83585ccd1745ecb18adecd8d33cc0469c93f1850aa04399f40b07adb20b5cbec889d90f4754ecdee5a7f15a1e5df1f5a28dcfe42ca01223e8d091b12f580a9f8dc74d781e6cb7fdbee961775742bc017b0bc2e75a90400d2b9df630defba8495ac9d1d9e564f8bd47a51836afdf94c0468a12c0a28018b6bce3842609f2b2b1d49f76a1a4dbff2aec5cfaa18d8809f66f81fba10f604efed963176b1710b4b02dd6f6abebd5ffdc10bc51656b201c9034d5531f13c05170792d61abf97934634ccda687c2db0d4d3e4b8be51e4fa9fb9d0aa3c468507c660e585ed6ed5cb5696de18602b840cf22d890edd227e8d1b39ae3e1c0ffa02c2299bf6fbbe83543fb53a3e3a085f5b31fd6df06e5b74d200eed7243f47700634c8226f3635fc64b8cedc48fdd812eff1ac9dcb9bb677ef6a61e76b54a06a077e5a5a260269d85c5b86de33dfe4b1760d014ea6f930c8cc71ad68eede5629059edf100b65a01c9fe36b2029e49008c6f5cc401ad24a1242462ed565178f8f00a401bd0a61d7643297a5f13372ada7d097b52a1b209ac6d371bc634319aeb007f834b935d1a0ed0dcf434acaa0e1e85e8b8bd0f5cc18fa2932a4a34a43300901d1bb2029306a2ff356b2be969ac7ff9ea0984f6d4c6a67f397da2606f25b44072cab8465e912f76a6570422454a62b139b42abb3e9abe19079dbea08db435605ad92114b189b1463d15116214cd9102335e3ac747731059da6ddef2ec3ad35074b50c8b7b18972f140f6ecc9d7d0d69a1673ef75e071c172c019b55c6b8dbe05005b990d94563609418127cbbc928cc2d609d3e8468442f3115191dee18e690785f9cabace94e5122b07906799b9a6309b631b2d2c0ba07318b385075fd11201522528ac45f2edf841ae0707988a327dce0539cad7deaeae54ba7654a058a5013a994df6a12273d124cfc23b2d06f3c2fea000ee503ba12d97282a2c57cff9077f610521f7d659a32a67953f64f0bc18b75834f7b9fc8440f2ba85bc8e0b3005c973a4ba8758fffefef68db75df4308649852be721146a4d8703e57a1527f4012fa1378026e290e648ad53d38145a5fba7552366b8eedbff44ab3a67bc260805fc7125b64550fb35355db9973a07d135d60d8d467f376862cb4b09d9c7085104ade6262185985060e7b1ebab8976413172ef6234c6ffd4a54efe5acede69c90215c9d8e42a8ddc81b052135e6d889ebf4bce8a1d5da6fc2afbc9b0124c6d5705f81f6f1483446a24baf472f1d3ca58d2445d75b6f191cb2d0b116244d5a30802a98e11f52126f4d5708de472d603f2772bcd8d612809d27dee40a559db675603a541ffdcde8cecf1dc08ef5afcbc0574661c79e9b5b2a0dcca2c245282e4f7058db217e1b62264673460ecda3c749831d22b879e8108cbda3fc349cc078e38052f41b316f4917db38c14710b823ae23fcf80c4c0b28f0d4776f3874e1463ea02144bf26df449419b9eb464b78aaa67e9a7a2682faab7f9329af654b43e93ca067e096f368b20ea59e4d1b1050c10ccc8c9d7f12f9007c90947e9b55f87100b01913576c1fe0f7f34a97d5e1846bde5f5725ec4616dc2c3717aef5af57d79d7025792d21b5529e96c4efd8c3f4f0678a750f3e62210413c86c01b650c3945e90443da6cf0a19df0dfceff0a56452446e5e8af55d984222622fd7c091f12758d0616ce64dd3df863e9494876e290c09f5a468b56b26da232d6d7d430efee6762033ef36b6ade9736603fe78aa261ad3b7317f4e6d6a7bbb121fab39dd585fbbd005a32cd86e0a4dccca4d72f8e7c7b011644f47065802796a2223cc19e2813de0487082bd4391948077ec5dffa8ad1d8a40f2abca16d2c00a838db3eee22522a04931095a81d9b072cdd71f9e1f7b2940229637084140eb0f8aeeed56968f60f07b219bc66565af937394cb293e841085a9438b4f547fe26c31beed7b4573a7b03047a7cfb5d596c03a3b791288d713fb8bfdaca904c67f53267e5204ab81b2d01039ec0b922dc987595ed7ce612c77649ff9422615030eb0388ad78f55f228805d5f02017f011ff4fe1ef722bd81e3a9907230d040c8430c36e15ba9be6652502cb1fd4225bbbca33120beefd0bc98ed7ad3704cc1f198031479b7a5848743c02c6b455bc10acd050cd309fcfeab7af88d03626d7516149a3dcef3d8cee473d077d27b5aa362f7ae03e22393bcccbc77705c21df150ddb29e7ecd61733feec100188cf4dc09b00e59518e8a1d10b5e3a6a5b793121cde2812026f177705065a05c013290c50656e80cb9ef09eedaf6c13b82460688a9eede8331bc9998d346a07f58d94f472273c56e695f61a1921b712a8926714ee9c27b3ef1c0beded167406f92ddac3d25a9c720220948e5065b8ce37fd5229fe7110a50afd7d2522014206ef4778988818c7ba94b31c9ef89abf9b544b4568fc50fb739edc81c75a27e40262c59a4ff7871aab7a257e9c1cd6c3634901c5f57d03568a6719a6b8756289025cb20bc8835212c009d1ac1b8aeac242727a3b8ad082aaab15c7c5bbba2217000c3e481aadd1452ec4cbb712c27b9e3d376e3faf850238fb9b88f97ee777a1015867baaa4fd692217669b25f9af7d330844894c93e2f0795ec8b06510c77b5057a93e6cd1d52999978605ead8f84b81df9b360c85c05387d3f424992d0d8eb00ce1b1d869a3162fc5b1396fd7b03f97888cd733e84b57f2f7c7f9753b42e6201dd9b772ad90826cfd997c3d06e8a531385af6e8abacebc1cddda0c7e3d34e50091f054bf9a8b57bbca558e20fb8dd6efd8aabd89b6ec915f3f31328ea901450278e83adff051ee76f98d7ca40729049c8965aefabb5f263f786b0cc3def7da05b354ac6167f62c7e30407a65ce1bc9927bfaa423445f5fc3d1713a0b2c6aed04f9109b52640752d5354cb790d31e829bb12aa5e6e91a0703c4bb767708dfc40771d734e62f98977315b5f9a9f1c28dce619b948d0d27a3c1c30d9ce6fa07a4068364650f4284066ca3f5221d55c0396e32c5d723f6f03c0f7ad0337ef4697903ebdf45f08eb4fbbb336fef7f7ef05b99208789a6befa401e3766eba4512b2402075225b94cdc26041eee13a8f5e89889841809388f4572124911dde6f31aa903779d0ff02933d4ed6a4fc3bc7b8da2eb7689bc4b8bc17e86141ff52b52e84604fd9bf7f74ec7a38543290c2368bc7a0eea04ea47921d90c45c5f4d13e8efa102d18a22a2818edb8f591825e783419f555352a226176cc385144770a5fd362402829a3262a82c9ad82524ce01b9058416e15dcad4afec58b620856d9163122d03e4f7fe4caef764089c5e02b1e6c410a43dd4a5fb2af2d54aa98950fc49ba0401218d6cc1c086663b3edeea8e796156594788a15c2382aad80e2af1a539202102d3537b4f154aa94da9a3969c84d3cd3160de24b2082dedb1c339ab506977260673c9f8fcc16fdb495e19c03c7e11e9118cab99f14fd727b70ac8764ecb94ce030bbc234f6d147559a8b09747dfd6b986282eb11feac50079c2b175c47e7d0204ca7ad398a1b48e6103b8b68833eb2c171ad01ec1e06d44fa5d0c2b00c402570644f29dd70269f14dfded410da3ea2697fa72eccc1c84affdfe2b43d945f7d303f2632362840f3032e6eeb86175a890ef46f14ae390ccd8f3ecdb77feb8811302181644f3c5b070651e6be1733f322ad48dd1eb2cf170189223a97c7873083102dcc2de46a80798b55f035e3e98d21371b4a33e4a7152d4119deea9bd320fc706c6ecb2783a7eb6e06fa1b1ff2eeb95dd809821933dfd6b8fd955f8945bbf4e07c401c53a5f5d55bebb992f4d15b39a1a1be37c61c65a0bc12c6595f1d625d206b27db2ab16e954b515bef304be574809d34da0054be56632841accff274ccb0259a2d504f5a3ae705e5a8f81d338ba6483fcf20bc707bd445632cef481c13c055a05081284dee79eed5af3067ecc1ebb15d04b365f3a61838ea721fc1c05020320d34b01a996555abeafac9c3fe1e1618eda00906e88c894be97095053f2ed045a49ebb30f4d4b890aa1130a15978b9bc1f5d78d44f0d0dd838e45fe751f490104697d7222477a22747587152e33c90dfc5c3ab1954076c36eeb036e391d9f0689b6b7c82c5c7023984db3da91acc69b2165cf6cbbf08475c6a0f2efe79dd60061a8222a259a92a9ebaf96da3028b21e47baa42d0194fc431720dcac6043d500fda453f9f3fb5739eba37598aa5c8cbc55f575892d903d1627b2d2c3b093d104d7cd98ea590b69ac7296d62db0b40ff52024f77a5edc34ef9dd9dc91c9d93004f7fb57d47591bd6d62dcef5233a6ee6d8ea0fb8420df76682fac11623536fa073d5dee6a3953f511ac56f59884a1720d86dbed0717c9a1677d4d702a7ceabd002e7aad3ed0a928b2cf6c3f65c32f67a1ccba7d965f436d48415fcd657255dc072fd13a40afc9d1415d13b54099ae13ac48e68fd3f5f149f2cc34686fe541b0012b758bf45bd9d82713eda4357f41e692306e24a6ae58feaf642f1f11e2d4f5074969273d72ece7289a3f7d8519bdec14fb87ca5a3503c80ac9d35ce5c614dc07677b4d61bb9f1e654794e071574d240036135999f48f97f4001c9e6a88b6b806faa9b6d6cf765b1f80d7b7196a40d4b57936c7b800c5175c34d66e0d0c4f0504981119f8eae268ff75a696caed83bacf09b1c74f1f43d5b237c20f5022d17e03a6087947e3baf7e2661eaf2c22bb23973b1615acfee5f038ef9a86a1ed7ba2021d54a072f048639364966182a39ca427d8643fb8cd687aa5894f4851ddff760439defde7c9064445bd7aec6ada437f602edc3afa0f0d467a07e4f61074cd580755bbd48a9ccc75c2f9918a808f8773f541be394d5281c3fe77441a628ca80d05c992e87d867f0b3ef2f82f905a3f64f13b0f98f21c36190ea4d6bcd994d7f800fa20f63b32105ec147d6e25b1383e6a03d38e75f513c35313ea2e4b9d1ed66062477797619bd44d111e68da36e174682d194f523fafef2fc4fd6255a558ee201dec78474ace6d8556519b664351fa0990d25c339056cd803218e38f975f3e80109cd0c5791ff27b41bcec344f9b7de33dabfb7a7daf8a90d975628f78bbebb01b4c7187a6cc9e93eaa11b7dbc886eb465545953e562c21c74b5b7df0cd68c907df562144799c50919b78b4967d52e0e300b924e485224734e30adda232de3706421cce084719e777b34f9f632c8771e37f0fc24dc4194007d7862759e3e1eb0486658aa948ed05217e7f6f274164c2ceade5e533f592776bc55fd45ad209e006031d07d050814939aada2c58ecc14c139deaca147b69dc5779ece5847f6fa3040b1f7868a26a4492aeb5d771c3488aa94ed3f69989a1d089e49c0cbb976cbf04688f6bdb6a9919ba3b7aef328c95c618860db0ffa94dabce2be7f7869600ba05bc0eb411bc887f5268ded7bda43233da59b4d3fb482171ef9d9f4ccc7202450570564ca77ffd844210ca42502b9d3b89edac7c9b2bfdd974789145f421e4bf013c6efe54debe5983bae4e9f1d3569beae488bbf0700b23a5f565a27eeb8c2c004a102f573ceef4c46a69cba11ceba71813bb20e5df08f47173932fee755cfc07aacb293eb68e3a61ffc947b6ea0e249fbca51ef3ac319a3a6f5a627ff9da890521769c91bdf14df080f86719f6d30a7276e753cdbc3849772517c59b037ccc029d106573af5c36512742379125ebb4eeb14f84d5739e09380b3b89cb0baac903e5b58410aa768a6c78a634b5826cf3c32131d7a6058d54da6bf10cdb102f6503f0c0eabf4b473a11e0be574c24220e8bdc5a234261548985d06ca60f9a472a06832d1d85bc95a1e4ee39d33290dd9da8d79d5ee70df7aa3cd41d552d97dfae05a6d1cf0688ee8e52e67cd3248dbf9a92bd07d77ef50e9c13ae43306d65fb8905beaed57f1ec6dd51aa6ff186357b392435ab950569f06ba72a790278772211049833c4d3f95f733de56098472a812e6f111ba6a283ad68b68571577dc92546063cd804ea30dc0788fc8df4eb7db2b7c548053bc49ae7b6973efdc7154110950402b7ca1c57d418ce9eb779c6bac52bc3141eba6e4f1209289bbe5e67e71d2e00510af0d983873cd39b29484758ae4d5faabda9efb3c00747e746d3d40b153800ae4a6e12f8245ea897a27f30fc82a2efc4e859d0b48f6f878a99a01371704a0346af95d12755b857619df02c9d0a41f923cc75ffe8ca19f95747edf10a4c0f0284b3c49a24907fa4458fb0eb5e16efbe549f90f85fde53ea9d5c678c21457200a27dc3f93695fd4db98bb4789c3f0364a94741428ddc8cb00091bd82387c7305726d14426939f3167d9a21891021eae13ec4ac17148b787affa77a916c4178000c0bf52cb8cf1076f737a4eb3780ca83893dd0b494205ca308f871f782c6d4006ca1f53c9afddd4f05baa32e09abc52df87e93f9ca0a1d4efb172500ce2dca03539b0cde5838407a008b6163791ee880731aa50410756faa83aa18d0c167eb003902f42d8414518038f0e2b9cf2eed771296e7aa50bd7ce7a5cbd50d9480cd043a419da9a3e3d30d30fae88d4deeb6c4d99198e0db11953ff464a16ee6e5f0016493267f4f287b670d87c2a7bb36c20661c230e228136d2444eabdcf03bc2c042f7ef44636d674c80664e4d81d9b4e196df3a7c6e7066c5c4100c3c6bdaee307cdfaa06d53d6476b7e69040775b94151d905f48f13efb4da655a9ed710a86d05fab3eac51dd2cca7c996368b6b82f017a81aff149815e1a23a52208da8df07044ebebd2544dcd13092e0e07262f4e3cb3dfe46a5212cad0caf2284b1fc7c5900da2b5b47a4731604f15cec48bbaf84b556150b690d0e22aebd09083d68454e036aedb64faa290f40fb9d828bdb5d2e150b0d89767f4f63357a5e65875541ee06f719da0a2396cd7732239358defc83ea8693da01d22131b8d9de6c3822537c0176ee5488003b82d570e11266768d8744ff275e49770487bdd1ed33d0658a84009cb45e5dcd839a15ba1857f4e1777fe2ee4a5f2955d5d23dd95242d1956ce705b7ced6871bf2f0a4e1fc0573fdf1f24ca76e1f719c6dc371bccf68c92bfa5b05c11de930309a82e6129456d41e66ff06e3f30f9264b683264fde95572de4f30697354dd3a571b4a6701f0168b516b9ded0cc99747cd1c282bf6bef9527ccfc020d52fa311e30dcf0744f7f38fff1dcb8b541a85549d9b022398d809c8af1bb02e4633cca0debc4b185a6e278d7480b5082d1c2f5964ff39e7d7347dec390c904229c9939ef7551c36308de5e7668c6d488d9de8befab4c46e10535843e3a47050b51940dea440e3b22094aab6fe7cabb8a680f62c206cd419b0257136f7e550115ad49629a398c2d029c627733a8a6d4bbe98f5aeafee3881d5fa49bc7bff206c9fb14ac9b2b3ce6c15aec9364605d97c4aa8f950c5008d67e2ac8a61f13f10377fcfac0877b071af89593caff7d7ccd8e30b42746411da53627bd26f20359078dedbb3c94bfe5f09e98daea81586ee0ca183611f780d3becc66eded3ce14f049ac9e40f2d94a9a9d74a4fb14e938037e886edb633d15db669c72494c4618806351ded830a35ca429e7444ad688edf7c007ce5cf839dc456070e438a646fee034ffbb520c5273b21b4f6c1f300b869fa6c0edb86f934de1b58326a2039f5140252e12bbde23c1cdbb1e0ecb2a3092c1b43d171176d0627be682f9056111f76019f7e151dfc041f1c88fde00b5a03773b3efc8868f4025b4dc12a5b6bfc3755011dc75abdb04bc774128b5419e018e16625c9205c2655490cef4df5f7839c8e066e4f7cc97461902a3e40e682d91a41d132063d1217067027e72e067a945b8406407e3da49bd7e4a866ca458fe313d5358bc37d7b238f3bc308930b0b9651740515cb343d9cfae37fe08e55abb7c7e983813c007cbf21d287c9a4315726812201acc706c408bb82a40838d53803eb33af8f125a58d12f3496bd1cfba46911b300640c2b6f1a99b8b596c6649935c82f6d600176943fb4c19af152bef84dbff904d5c5782b9782df51df3320de5d262a78913e4ca8e26cccfdefe6733ea9c5a40193b273bec38441eb68bfac1f7dc49d9f03eda9619f3ed26f3025082b17048b07c94f43c402121d2cc456a163aa92c9513c272b6fe001da97cea10f3106b430022427fe9734fb9e2c0f5066f0562af7f460aca13d5fbdcbff1f7f4b2bf20be20224c86738b129c015af1042aaac37a208bd13e1090e93fc069c746206d927a801fe9db3c3c1a5893411cf79e7ed5d957c31810b7bd10907df3fcdcbe8e4163405523685595aff6283b4194509d6a43bf3ba549babf5ff74a55ec9f7e96f133506b6095e5cecee5bdbea2e68513bccbd663d152b1b652f1da2adfb8c04a19e98026a6db108be16854663a067aef27e64c436541360fe6a929ab8641df36ebd3602876ce4288e10079ddbf6a5a1876c71494a6b3123b47049abfd4f131d325bec00c6598cf7e72f6d4610225675dad2f86830f79dc7ec20016c611541275cca09039ced4d2ca97cdb546d579f3506dbd566b31879f03778fa2ebd3ece04176197063f4a75bb4d55363126f2d8b3b8cfc0462eefcdffde98e01636bbc30f781007054c1062808d28270219fcea01846929de15d39c9de30f4d5b9043dd791da6d3028f065c2de14d1aeedbbff45b7a23bd8b60ddea1405ef95ebbdfc0aa80803d503b83e7d23e6e0ba2166045110e84340a956aff425aa9b2335d8f94f3e0d9a8803607d10851c0a9dd139ccf818104ac22673618b5d4c717d7fbbc9864dc09cb10117d1cff0039b46e621df60a792801a872e74c094b68496e53a307dc92aef0d0235308b72472a5791ad9fcb27ddc20c67da512356b74b662767701d068875da01dd43428eaff34f89e2c8bf201146faf27d8754ab2ea2014f7ea8caec540f2901ce7985bd8359522d605b62d49d07ddb3665819958b3235fb71f196866978a506eb7460c0285e076b91f89058998630b60ed408cf30bec94d083f1ac62fba8e0685f013274f19b4ee88ad652941e39a79791038ef9b3b1f6948d8f5cda4c0a3005d62a9f637e48912f1317f03cbe90238c7275a9652bfb3eb8579eb4853846b031085cc005ac703cca5a322bc631c6649041fd21e00c4b4b95c18e98261ae5d03360252e2337acd4e14222c6222c25bc331f0d7a688d9c2fae27a1b2cd6df84032131be8636878b2a9e2f130ccccbacfe6a64ae24a325eed040a70ea9b0d2ce05641ff99ee3aa8849ff089e5b74a97e3638b2072be8ba043e4cd5149eda0ce207f3f396f6e12ce13dc163cbccc63899dea5d01e1c1217595b3674abc77206e9005990353d67f0715a9233c5b106a204732ca61c85ef9e14bc7621b6d55d92cc0321f2d6abd1818c51937e8ce3df1f9e165e8a2770e2a15389279bd110cc8e4e05ccab1a0e07c40b892283612bb88ff4b990871112dfcf4333cc03d33580a778067f8fe08a0715d6bf06afddd4da4cfdace66f69610df2bd69ac5a87b3eb0c4202e3633b3394d7d7b9eb92a637931487d4cfc1af2e0cb947ed66846591589788060429b5e2fab4a7721e4dc5eb4a2d4f6a5de7252ca68b3ae5a933dc8820a81806a971c5c4b6003654f349ba68ddf901589852b1bb0d6950ef888a05b7e3bfb406de61533da68a81c14ab5f18353fcac953a7154180d5cc5b8bdd153caf95bf6015db36a3ad7bb7283f4841d01f28abd687553ee0f2d5106df7d2741e409dadd02cc9e5e2645179fc80a62db068222b79fc38c45b0e07b1cbd4ecd868c453877036b4e90413ccf59f46da04942bcc882955eb7cf18a2ee08c91e5a759637864c036dd843964f3d74a7baabc63c38e59fc7b76e80cfc2ef922a4ce01ad661d91b042217226d1884eab68e8343ab5b23a97ec64db12fc500cf6a95cad368fd80cd0348646ba0d113a2f1ebdcf3fee33a50c6726d185c4211bec2236912a2302b2f02657e7f6655106b5742bbb08d75bc52dfa17865403db08a2c8a5e5e5e3f9940054a737d19a5cd6d9848f8639c5ff9a6b8d1f7c04ab913cd6d998d659888239305217a5c4cc16a6276a4dea1cc0cf7f55daf9b214f657fa20cd8f0c42ecd7a7e018f855753916aeda04d0b8dfc2ddd8926ca3eab3181994228d323e6b0cfac4302286454ed95f20f3175a303e7ff10bc23eb934d4d727c54c8da605909b3d8a501fa6f07da518d390bc956691be9af025bddb66fed3fc7d334b1cda1fee98e4d075575e629fbca613b588d8795f9e1c35318acecfd273a9e5076d73151f9e0e60528174ab77202afbaf11543639589cc3c65b2724eb6c1686c738ca7c37994300537fa0e8cd7d1d50df4d57b36556c28142ebc71e6e4677a769fc4501e9bb726063f47506b699d246828fa699255a42e06d9b0ced11f8faa1747a9d2b66597bd069e72d09b96a925408ac8c07d117c135c3e551ad0c0833ce14cd51b3e8c5cfd012375d07385c085f1f0886b7550afd8eaff053ba3abbf11441fdc9cde950641046f72f7dafe916100784986654a35b08a93eeb232864fcdf4cb82fea6c2df3103933b69c2c1f2c1bcd479e76f90e7d3c69e896761e19bcd88ff0ad9879d45b3055e5aa2cd7a70a10b2e0760abb5f98e604a0778e84ac1cc310c246f87e5ac2a00be2011319c6abf60c1c1662ff6b8c9788a27f5fecf67650537facf81e598cc03b2d752ca20b85477a46e8bbf5572eb5ab918bedfde8443c16aa6e80ea962950191f979fb91478a4666b8fae07ad7bef1bb0fec3b3188712ba77f702860168902944f7a296274531222958fae15016b0b994fd9519f7499df596ed0689e941d031adb23d3bfc3094aad397955645fe4531ae997d4f973567e66c47ee73b754f04fef2e377da50050ffaa359b117ee8f2fc5a67743d4bb7f7d567f48c4505573042761496917aa297cebf4d5917cf0a7de71876e8a29bdc1a4bd8122dfca9d780581628e44629b5b099b58d03b3ccef6ece6464129cfe7d52c74b7b65e41cac7072a0f9584f03135160cc9d18dcc4cba1e5af81f9bdfaa96b3b3220f3d0f10c203bbb8fe4fb3a8e59927a94ce18f9f814bffbb66d49ee050d8ef14057c3fa25a007561bc71e2c525d5997d4999f7d52a2983600de76f2cb6529c7c82316c81ef02c306b6dda86bab33a0530cfba40eb5207dfdf50e1be71a7761b7b857d84cd307aa96b259017c0a33d221e5d31e4bfb6bcc1f130ddb3f79d37b7432eb40fa7000571a0cd60647c62171871d3afa0daa8b67f9873bfad06c4adc4dc12cb595fa06a91e7d867fbfc59ce9d33374fd5090845358eb6aae523840a2542513d3291901558edd6a65443e3a5b8a8692545f94facf129460287f18c403cfbf6d848cec060b9c54e52e9884141dedbe2149560ca58ceb911334291c72e084049acbd85305e5e08885d55b956e5683fbb10b66ff1ea387a1fc5879e7dcb22e1b647a71460482bb17f9c2788ef923e752c577d7d936687d1e7c7a98144f3a72a65d8bb328041a9024da611df6f2040d907b00878b73083af4a10f260c936edfb2165bf1d205a9a2c162c8233d6e7ff6dcf38c0a31698656bd1114e69f26e41710ba9482ea073bf62ca2333d797d9474f5d0d85866365ec7994e73eb80ec0038143b9a514b07f5405a65e37bc0470ea8524d7be3fe68eabe6401eb0717c3808581824105dd0245566169eeb52b0999d18ee44d248de47d0ee18b141ea16edd0c91778cd1b301cab8afe01d374bc33dabc4a0c49e27a5c6a4d0ad65fafa460456c8d64262f906071a06d0ecb078bfe583e20c1a026a2345b62579d6523ef8d2e72c6616899806be54a97aff158cdaffc67c50441e2bd08962a31bf9dab433ca0c8de0ec3e95063b1a377e679d7fdcd70892ca325afccd96982b2e844e45b8598f6f16839c6207ee96c88401da87ed9386e85966e188d9a3a0a8283fd5d2fd14d8df6ca3d47f0173a7cfba7e17a2e947ea714843500924a7ee3d414b61f355d8d5cfc12125a301d37cc2c40c1d0f0f8a0ec963b24c43661ba01e29f5479ba7504917de85da2c03af0fd1228ececa40ae8b8621c4c47da0ee2229953d032430e78f8d9deb7f0506e344fa73f7b652b31fe64ac0925c307e52ae3fedd62efc3e4203795b7394f307f19284b0ce648da646640dd66ca265d1624a67ebaff87145628b2583ed942406f89546280f13482328f0708bec4748790bff2bb2e7d9599fe1f0f752af724f045d90b647543e9a2132cb6d699e92795747e385a04b3d77611c10f2c1f7688b0408afaf0c2c14d66a6083a51d836b7089629110d73764de71a7b29fa28c911d04c22ce2d61e2463374d49f075aa9425ff70a239b452c45d0c4657ad80fc65b5025dc6705f332c90434c1db87c2c794e94b7cf8b1d54484d351bb79e4a38b6f70504b99c8dbc87f3279a1dcb37d7e53ee9f42f2f9515bdecda5c4e9aa73e407003649587bb63775506a8db7f12a6c66f02f3540864542b19df5c4d943c5d24ea018d054654e7c4d1593be5091dda75f26e7fb14136b5a008d68bca8d446e4a9705058561cd1ec34677132a9537607b47034435c141bade91799dc3bfcec719ba03c412a43d5658e70d79d069c46fb5d882f957fe82d60e48541dd03f7976db1e06112b08983f467455e54d4073d6b1a0c7ede9e934649f7e4d8ea5ada903928401b2134e455a14e70991c2f32da068a784e692ae02c6807de6c8620df916a23707c856952941b380881b27aa6d37edc59bc8f3e5e3ff5dae2fb87f6d428d38d80589ef38e3a212a1513791cc80cb94d0095cb06ab1af92ec7a888a5b4ba7f92107150a87f1c862eae534604f76a00349a5a2234947ff50de90b2c448582e433d075c3064fcc4878c67b5bf625c293dce3c94a16f68623b8fcb629b5e2b1b182102023a452b75109b08f4eea1ac3ffaadbd6a91c8be2eb8badd6df67cce40f7bb01934b26539cdad35a62f017d667a7b711e8093c1453e1e40bca885cde3c649f06e3292110793038605491b7f6558ac5827d6a929d2dc7babcc9ea2351b6b70b020bd39268b097a02d2a3c15bcb43b147718fa0d7de1bc2bf566b3aa547926fb0490c5d9d74c68f76dd61056209e69e58560269bfb2abba1a80eba18c9e8b42b0516a7b87f5b02e80bc30f19f2e0661b2f394987b78003c0ef49d8495a2ce0c40312e8eb77a76f5f39951d9f10c56a21e890891d95c318465b4c1d83f01c6d3001364de906455312f787b8af0f8b841ea172a0363e5e087be95e60a4f2863c15073d71e4a91a4a99223086cff90ce12dc3b2ca69d52a52a3a2d1011ac8d57a7b02c131fadb9fad9e9e39b18dc9b8f76a3108f6065bf94646622d6d4caed0775d02b921a80bf50ca6cd343f64b84472f8903b0d04a810bebbfea3f32eba411bae037ea5e535af1838bfb3692d1d25983bbe62b266037c3592ce33af6ff3849a43079012d175e72e1b7fe9edb31a0ae4a6073d7f4b08bc4da651dc578bd2d4f0f3057ee806bf88833a8f6ca1d9625c9871ec75a796ec9027ca23720a0b54b8b36306f83c21b2c2a6189ba27226d795928032c72645e87ba95c64e9dbc7a638f833028c6726a7855f72dbf3d1e406e069024d88086c887c8ebe1f64f3551a9cbb6607f649a1ee2b167d4c082f17784f4841accf0976bf4156f975a39d42641e3aa100afd4a41da744c00eb3b77d9924ebd1305101dc7cb0e5f8ebf4356bd831a70e05295b918a483e16d492a8ca163a5521bfe1b4852ae8decb9cb53312bdc6d08902da2560cc8afe2b31036042e91297eabd32085dfc3555d772e62f8ade4494070606b5e15215fce142d52884f85bcf2c44622fccbd5d899b00d71d7ebf87063402cf7e8ed5d9149cde36dffbfa70e9e4d9a64827e91bf0c0b6e63fd2935196c800a75075fdb88076c0f3b391bd9a331f35a456d6b4362f505f25323bb9f1539303a419b98fb2843d774f03e35f7de48625cd5ff952f949068acf35b5b7951810048efcd4cb28f8625a59f47ff23aa86497270b1f341fb2272454a33c40cc4bab039650ddc82c7b7a75a8b62fc5fe978eb421d2ffa4fb03fbaa088f2f53c3e43c0175ff3c3a8f37841fe91deb974b844c992db1a0f9513f0c8a03e9687cc2c98205222820ea66e2c14c25889688890c46e7426975182dd57a0f00d4d65ec76582060b5e68851192c7d473b2885fa82c937bacef3892351c8ac41a3ff6ac5da3d5036a79bd1609e43ece9dc3b1a6cb46ee81f040d56820a8bad4e640cab71c51ce02a17b50446f50cc01facaf944a68dfa6dfdc8c209d7f5b74578846292f984ba07d2e805ed342e753db9b22fb525c847a0aca5dfa5f48adb8a8ede6a93c95b4d0444747c57092e8c1fb4b5fcd223d5195eccf96ffbec39e062cba81a575c90b6035b15a97d10299e51ed904961238dfb6e511a37dc582dee9607f118f941d22a05e6b4cd15c00a2e9aa94af287877203d70fdf088dfe5dd325d3366dd8abc499042ebba7ec348405e2cf901634cca058756b25a6991d6d44e5e6c46329ed726f021216fca6937382412bbbb71d85866f78499f1d5ab022e0dc06e365c364976803de02353f3b8d7ea23c5060cb5b15b9cf20e0395c54f7270cbd6da4746185e500250dc1449c5a6a4489bf284bb685d7890dfc4f10eb3e2a1c867ba1b4973b4c068189ff5e687342e0b769714f767ee60403215f33fcf9566a68933c5d63e162057def2800d6eae1eea1c201f73ffc72491ede257f9ee2b84f02e6efbdf818fc039b8acd2b283597a3013d3c75e5d2b1434964e087ba2e4ac0722cc117299b1a01c5685eab7a3312e54afd711fa0f506ce91be57a00e84311f5313df682f0cf404c5f1fbcabd6c58dc07cb52971ee948440ff9c4f325ba930f8aca22ee46974002e747d1a2251dd3c26ecf3b4f09c7d001a9287aa3128d54b6bdaa4fc4dfa56b0006cdab0b9f77e9d3e65db726a4a3182187b502e5f2173181017fc65734ac2c0636ca98fc9d2d17fcc8f500f615ac8a49136e6882ec5f3d22bc6a14450f99da0491198aec97415c09a7a3c7fe1b2533b9d5683d52bc39e9ea97a4df4cf62b400384912b2db79b9d769004252f5799d30af343b6a05372ce12138162b10f0bd906a5108709be4dd957ea14fdcd273d06ab3930da663ded0994f90171bef611b707ae62a6122dd70002fec60cf02d1056a662c1f9eeca3ee1484a45ec13310c9e068b7f6c6da5b48a633ae4a158a93ab4fe40f8f90efadf95fd7a7be9cca5f8cf0071823f36d6c61daf7680719ab27017b50252a1ef3ebb91629d8b141e7e2da3051d2d497a58dd5552b68972e309b04def3603d5593b98d36114a1cbae0e3a86006069b5d2d322b5cf72129e359e897eb9cbd0ec480e02c6a75ad27476faefc20060c744c560b637cdbd8e19b983a73b830bdae8f30a4238084ed08c6cf849f5063da8f798944f948b97c4b597b45522c13d708c3fd2dbf10a38da51ae666f4607c835f77a962a5823633cb9f79ade510371796724c27dccc1c855a61bc3eb840449f87625df98a686cb040bdddbebc611906835c01116028e0e065d450d0833003ff9fd3ca10226e7987500dc9faeb85365330aef5d93234624685e3f99c0e406e72399da5fa982b85667d5741c6daf1861d2a0a1750f029f63cdef1428382e029648b58b458694d2a87558de6a2f4a9aa5c737ad1ea2acbe3357c9ad565202065ed335c392c7d5f54e660c4c364f3166fbd01c7b985893c274ecf7292789d907a1e9392940d108dbbf520423a4cb420813cd3808a19752ffd608fa36e0ffbb00bb51b72e1bc42cab2f1e5b6a4c07dd3fa6b90c0833d25fc288536dec819b21047d99b645f5398bf61b9ae39969cf985dc5aae0fa8e4b209473037015f315be04603afac731501d173bd392b1fa1ef42009831d6e219e4d042ae63480a647a1047d71bf59411d82462369bb5fbe9f8582f83dfb30b1441eaae8b74d3a6df9c9068054116bf2e7ce22b1a7fa29e61828275191303b19ff0bea17c3f7b06dca7d0559f1f62f614be7d231ecfb2aeb7dd1cb2d0744ef5bc22329e6b8a916e0c5b101d21de5ab785eecd07d28386a92d7254888d31a13e865f4887a2649f4ea949004a98a5295bf6d7ca9a50163f59767a4288a2e94a192eff8fc3fd131d221fd580259d5230ef0979fe63e4b10f36e43bafa857c306963e10f7b81a2b36268c18d051169462013b4d4fff071c66391c6771c345bfc73f7f9a94fcc73a8c9e000c401ac4c9296fae3b929f3b859dfd0b7a35689195bad51e99f080a37a38647b55e003535ec496f8c08c25b06c1340958c5ff7e421c812c77086f3ab20cd022fa0100c8a3d19f2a9aea4f26edc5c5579950a196d465756b3501aa6e0130690bb64c069f9897886e8b2cbb739673c07d2932bee657ffa857ae033a00e40f343387e000040452e72c1f6371300fcb84d901aa219da1213902ee88af6e2a6ee234339c03eb2273244d97f52da2272934f9b94aa23b5db3f87877518f3dd3faf8a756b9032a6a607e68e8140efccbdeefe4447feef68da2a9e668a8559b996fb4b8cf150257099dfc981248d220c1edc811545a5818c9fca81eed9a3375b6a67fa2153d030bf806e12bd8e68bd2eaf5f76456f8dc4965c25336d571f82736d3dc04f611048f8d4a1f72ef5fc51f1d76151c8c49670479902daa780d5906e92dcb5caceb00eb243cc7f167ae4a1b990dd065eef19f9e6d227f6eff3fbc1b92308cb3bcbd04abcabc342c2c6da7ace5002caed923aca2c5bb1a71e5a13dbd3fed0eccdd3906c61500123ef0c78c9d087aa85cb0205d1c1450fd0b01777932f241856d959b06a9e558cbbdbbfb1b6d8ed93416b017b26f300568cd0cbd65eb65e4dfc8da66027a81e52e43ce5f78c4ae447788432a14714198e07dc26a9adfe950315b6d4b028ae9c3efd5bfee14c04bf74f03291ab766a82e0f10ae0d6293979b5ed416bb02e5606a7db451bce6fbeae8a807a3b30b701ac499ac9c76e048ab0fa68c6dfb009fb55e6da64bdf5f0ea2ff5143a6ba22d3f9b1737e010ede8b64c1c0a38cde006036313b39db15e0f9e383be64f37082cc6f248969cfc7548c1bc5eedff6370326aa1b0fbcebadd5262c60d6f894727515d555dda191781386436b40b24aaa0451447f1da29871786e03dfb7c5a14959217db4b7e56b220d891504959595780261d6deb470eb72eefbf02186b7f4869dab01fb2fac770f5ad70cd71a38f7360571eba86af59ad48c65fb7180df91d77f4e228d813a0c3ef687c81753451aa007427d7e0f566baad2ecf6fb8aebe3af5ccd086bc0aec66971ee8de80ca403ea044d43707087f58afc87a36671af3290f5f3b9f2fbc4a2cb0fdd866f24ad435107abe44459375b45d6d4e3235283a7bfa5d1e32760fa711670cdd2f1c32dfd8c048b922495076554acf800b93b5913e0f11859ca0fcda2968aa758e98a357eea044b629e31f8940dd44fd3f2e14988acc6234137e2934a7663663693f38e80c6055a241bd658f80f9cfd665e0312d536b955952907b40826849af0cd904c02db044eefe29f0360e38c9465fb8b525567836261836c285cb09d3794e5d012ebad07851f03fa7d0c7faae4c8e8f946f35c8d12da578ec9d6d272442bd835868633016adf21434fede0d9f2e95168a19bfe00411f1bcf9b9248e1195a4c5d1e9c7d07812bcaaf0fc876a59d90628d5e1bd16fac06fbea23d5a8694895ebeea2028e04c95c5e96c5d0b8ace68d19b780954caf39f93fe3936ac8c61d9614085f905003b6fa52334521ec7225d00898fcfd6b453a5f2f6be8636bbc7667aeb4e2f3f401087edbdea0c2253fd54fc0bd61e5fbddb9ce80440a8d1b03884bbfac829a5c001eb952951eb9e9ab19e7f17dc07af1d0a12e13ee1c6fb792b13fca41fbce9203cbaed1f0d5c84938d63ae03dc51269ae2b30bbee5b0ee15daf9a1e98f3ab2b070535b527b9a556b1ddcfbda12a04fd919461647824dda16914b3d4904ac54d05d9a922ef927a1646e34c1efef3a0983fd40325dc90afe76a483e138e27098c07e332e5d17f1318f4889ed67d31653c2134752320a52ab212436e5cce2527fc00e9858b0b2e68bd4ee43ceb6d84db24b90c289acd26f06e4b61c4dab046499803e470f394ddf5fd3c62e04879a706ae554786a669b08a15360c76b615cbdc2304a701a41498366fd60b16edce3d93fa77c051f77ca09b3eaa933146f17f7377050b8a349cd48ad8e5fc6ffba19ef207a644292729ba24a57a54150822d9d95f06dd88ca8f29c41ba8693b0ce31740d048a16a68fba71595fabe5f88154c7aaa03d28ec163e932814f4580d84bf71bb293af5c5ddc7ec916378246e7f153e8bd0110fe63615356f5aeaa0f8e0ecaaca0df565eb1f8ac952fe6bc048cb2eb8cc003dcec2396ba04faee206a2345c3ef29aa4c04d7140119653ba8fe10fb079910012664ce0f7133a1890efb2a4bb0653e062b5c0ebd1d1a566a51a64c619f56970571b492a5f7683cd6436ab0da9fadcfbced594a480505b9c90dbae64a1cc95c05c6f34dd80cac5ed93fc829f0c33f1ce65646dcb1ceea6cae7bbe453e38384c02ef3951f39197afab308b00a16dbb5d0d51777d55d64ac71dce58ed323254090050868f0fff3c4d5fcd675f281807725ce89a9d67cc3cad063363d9da95d36f00fa8d0e8b5965bc5728dd5a2bd7627bed55cacf934a9f90aaec98dcfd8c372606f3184cbbdae60468023b3c41a6d96ce313e6c35da5cdff3a911db1906e72cc00c5c0c07fb135d9c6adec5eead9f3a1759d3991abf011f20c7016f1a7f783bc05b5fcdcd6f708084d9bb61b435df76719d11d6ec77af89c8decad119131f312048f3235dbc9d2a68b1cf625b62ce56484209c32213fd42294117619ed7bc29d022bbaa2389498af814ff22dcf17b451725d291d0c675acc74f80e245b2d1ee20634e838f8e39e559374ee829d44c4146c6a817cf1a94fff287a92e6cc4a339305a4849096362606f318a9a6ece7186254fe18939198a042a4091cea3e9c315003f31d9b65ea71d9385187c271bf337b9a9f34c29c4291eaab9229e27b9b433101fd354aa7832b6af15d4cb2e4a8eb1895f88ba42e1e0b186c54b321b81df92c00415c65e4f74fd633eba899b63eba7aba0c1132113bcf5ce534c2c0debd6bc500599e2800d21f6cfc5fb304d2a4dde8487029c25bce0c935bddf20777d34a18071a3b1129e229b04fa2ed021ad85783aca4c915b7227c56d088d553d2072da404453ec05f52f74989d4fdf7442f3e867d2f79c011981149f2e9ea087ffc5afd043d2e44fe3fe410f0dbb5856cd8bdcc207704b070caaf0f46b6ff16e831394904e0e924d64cfb85effa47fe3d7e2f8672806a0115e855bde17fd670448d6df701af69d6dcb504d1788cd891130b99c81f918e5e57db63b9bc423d0756e132ec04aca1d28121db4570a6df53a856cf7b87c7077cd7a54640d4b6df9b50c3307004575c7f057e8e35bf3e28ee44941f05423c6eaac1131b6a85ebbdbfafae2f9106ac58eb17ec66ee9366e4e2616b0068cfbb55dbd05f1ce65131d548ece03de8034583fd5bbdde47313927235de1907863b019dcbad019f9b01ba17041baa5f305fde400185520e9ffb0391aad23b70ff261f709773cf53f7233b090d41bf6e802e8dbde727f7bde240afb30be0330151114126af95d97d13fcd083bfb8edb4006b875bf1430a409b3ea3b2e2c862cdf792ab95e27a2eca213a3b0def88eb5b6047a6879fc29f13bef4a56ca8306570350ad859c97d4e514108b76ca552cdad30738e3971e0b0cbb30530b5fa6715aa6c92cdefda2477eef3b21b20cbb39436004b7f9d99695fdbae11715665404d98dff55e776a62fbf9b718602a68d9eb4d604cafad72ffcbf8fa534fa8ff290aa22a4e66d463018d3011009a947c183407804eda93b2204e9a6c32f871da53811dd3e3c6a55a5afdae8c29d8af817b08df1004519ad4d6549761143445070649300902f9d33c3730afa1f3a5cc1c0d6c60c0527a6807def7422477afd37213fce437f33830af6aa861800de5311a960ef9404aa27e045c709ffcc63fae17519a63d3a231ded6bcaea2e32306b56c0594ef3042a08dc5c2a33d7027f3bf7300551c804dd487b8a2a3152c0583998a305312905092a07f2087d9886c5d3e1eeb68d75d8cddbd03db7e6cdeba35309b1afd174035e79b94f7825ef9038206b6dd0c4983776a5489b8b32d573dff3d0500ad3bb038a5d9c6682ceeca82ed14e2160390373e795462265fde176eec5609f2270ba076e7c1d86b09c48f18fc0f75e9ecb49fc66cecaf4759386793ea54107d98cd007cce4c05082034c020fcd35aa0dd3b7d2a53d71ea6346821a6b696a2c6a396601f974a9eef8e029176a5da4cfe5f0cdb8c2ea1f52d5ec01f3d9ec6fd08cee700482d7e8f3d547905c60bfce45f30f0738ba1b1e43debd043edf3d1dce19d5c4036726d65c62deaf6e0c4626bbd878bbe5fa167f030d6d09610eda6f8ddb8e2402ec4d440de0f704b69f74b329c3cdab223261684fc8917fa81835ceff0d330603ec336955e4aaa7e862fdacf95c149c80f9f0c639be1efec5476f734eb63a510758075ae12117201a9920ffecdd482c365c9fdeb1090049bb9ad23103eaa44b00e6616abb17b20d7bd741e832beefd7dfd403fcedabea2f721dd8e517e1b7ef02b7c9acf4fc7aca6ccae054174fc12379fec7429c991a4a2eedaffcff0939fa04de67388018663d0e331c9e86c9cd615ff133582b72033876b02571aa84f2400743cba319980d6570963c08a270b61968753f4a7ed7e9c3d52d3b2c68a323c200c8b51ec4c055fb2921e6c21cc78c9ca5cf71e0846ce455102bd43539e7da3207c64840f9901b2226902fb27407b7e02c60f33ec449ea4b406a554ebcc03c9b033231da46f38d1b06b8d5898d2f168150e976d1a5e3f0384a59c97bbe0eb84004fc89cff3a5826e003839e215181e8f42f713cbad67856092fad7ef7a6b796c0436514d69d8f3170b52cd81ebeaa94ca14d34f0a744836a1d265e52c743f17d039e5aa5345f497b535ebc9a1fa3d1e424583ae14f23a989e976bf5ec0583ece06b2e6816f46404b1bd3f7db7f9df8ca35b8c1ea952913bcc7db63c228f608aa06b87d4985aeb727951a45d448eab6dc10547674b3cde8d35fd366c5f6d1e6cf0435117d3a2453916439baf8ac80d62412f2d58297cbbd9d2a38d55e933218b70134959f9bf0fef2658cf9203a9c42ea79369a5e0f88ef48024b81b38c961cd80767efd1d0097b741a240ef610d37cb21e061a31c5f55a031cd5ee1cd1755be00185436af50226148f1a2cb40e39879328b2b343f0b26840350b025e55c69435073edffc3c74c46f182634d24153befb83111a0098f44aff48eb3d8b18772d70007de7a896e514c95ae86d4a0ffab22cde8252c35d09a4688313f1b5e9a0292a0712639be34b91804432b0ea4acaff427e0ec659158a15b7c5ec7bd1074982b20055671103c1f954c39e251ba737362515ad37f1779cd94287d752281a9dcf0302874645abbfebbe466efb91c2e5eac21a3c7c5419255ead5531afd71279d2db0322a8de7eaf5dc633278091f9b930d45e1ea6e54faea4a799bf4a42cadadc68050333457fa88e6164a5fd5ede102363d62bf4e6420ee69137c9892b4e4d3bc805dc4fc87f60671e8a2e1e96de2e5cd7854ce436efcabfb0ca3dc59ac5a5c8ab0537e49c779c3416753e20346adbc429c849f5e8c36e8e61cddeb5f5f4d3c82e009d1807987962635c79253dc0c93255fef602dadcbb34f0f0c4249e7b4585890436c682e13c01aee11c0664f9924adefaf002e6f4356834c669eace113eb2c50252e8994f5a0b21ea7caf254282dd929e8d348bcc98ae826b1e7a00d933176302ba631a59be7824744df46139a1cfe0e2af02607767889e67ae6c02f0625be9008fa00d8dcd6243f978c6893d07162b9e7ff4e6da6d2d08c1f94cadc2fab82e019b84c898fd21ba30c136af4432e02fcede8a4ed334b593640555b462cbe57e04de2d392d5e7320111bd43ea427aa7a97a7fc5c70b8e6ba63d3fd69d747c586014b0d254307417127c3881db1c682fab2e1b5730eecda7d02a75796444bd30c0378db7d347565565c9b68a0845dc24f15aed6fd7970dff533b12171d28fc5e00008c7e52e0d317deaecfd768afc4549132b7c837c5d56cd118b8778aaedb9f40747ed93f19aa14727909c6a25a764200dcfc1b1aa23fc3a097d3190aed3eb3000569dfe4f2cdee0cc2868019c5dd4b76e3fc80eacc707a1cfa2a771b131ae4c079df549490b2f96216b046ba3e04421e6a2d7d442cf99bb8765cc60ebdf673e00c944fa65696c73394c7e047f1a516a0295e58f6bf428d39df16b0469316493066f5c2252e2c58f12efddea324d2399b16f973636652c2e0f954f0122626b2e016667dd65f50d5e1886094161e256d266a0b7dd4d05fa7503f0a29ec9be4e3d01b138f510f434ac1d23e9cf0b57952f7fa33f5733e844a4df41d44e001623c006fbd2b82b0b99af778de59b50c6e6d16e7f5f58d34ebfd7ca521f282da88ddf03f3dff20f2b117e47ced8f807a38c8045262a1ff47f6988fb17bbee72a6ce0900f4db36a83b86acc2602c519d7b207a9724f176b2ed383b3da3c2926b2fcc880746b3373e3533a94f5a354d53e8c946b35524f4dea05dd899c67472ab55e4f007398088c640a175e8e2b2202c1f251fad9047469065a8e8c18062fc8948f1fe07337a573dd54dc7d9c78d7add923408e6a54f1840bdee1b451cdc633dc6949204646090e1b20adc17f4d67856d070c42ab4b1f1a0436d138efd731ac9b9a60b0526418783510585d3a175be49b5e5fb46d32eca453954e45c6922cb744f2c3b021f6bcc915fcbc80084fe0c251cabf67e1528e344c3bf121c46eb6bad79a6e9039820459e8f7d85a7ccbd098393db0dce6d392f9326138592fb0de71914c4ab043cfdf069312146a51b8bcac79dad079cb0b73bdecb331d48a02a6eff9f516b042869fe997fb9a8a4022d42d6b7ca438b0622fc807217a0061e79b92ed7077706a1d9b24893d77eaf645fcb11e5bb739f92b3a26af78ccb37efdc363659ffd5036e12e9e169ad7a23c0d6ffa20795c3d89cf3360bb189da9156681844bd0a1c034b351940b4d242c1e33572908f307e9bb8cb0cd77dae98ad385cb480af8c3704e5109aadb93492a1f9ede6731c4a193c076dd1105157d8b2bde86b229e06b903ab734d12609a2840d1e61ecfa085a51b48874b1c495477652161759ca81023000e844614a39b975a8e0e179c6033f7f1e8713503f3edcf33771143b05f3654075789fa416ad0a403d2926a48ff37d40a813e88041d29ac3ffb272db9afc60b00b69e86fa24663d135b5d71acfcb00bd913fc5f7dbc18397c7ab7c71323619504c1a2da55fc9549dcf4480a09588ca903595df185145c353e8965ac67c0907107add0bd36520fcdf52570c1bcc4f5a03371e69d029f09f183ef787acf89735d05247fd5ccb58ce0bfc8b16677614b0d67612bc185d5e59cde502d055cce12cd07df4e4533c8bd177b27e522852896b4fd38c858ffe38626e815710bb2818c8500e47d286126f35e245989f8c9dab91e600dc821eeec31661c811130c6f56428043616b1da41fc474be388b2e723c5d831bfa79b15204fcf358c9c59cee72b9002c28411206b449cab085eb9b1193abbee3af9be8d8c8118fc1fa02ac70184880250a4e12b917e0052929341095cbf1874e7318caaa885475635fd4b46732df001358f8de770915f09b1f10b14c8e105bfedddf22ea337fd3107d1daf86570aa01b69e67a931cbf50d9458202a6ff7f4b956af1b476f2aba37e7465ea0987a51044454e96f0a79911bcdaadb48be136d1b8c571466938655849f4418d0117dbd00400f93f073bbbc17028e4cb533a331ff4e4bcb414a8199ed05254138d11aad068f492a616acb5c1e0126b2ea5f8ec6c872c08000e7a2f73e0ffa6e38ec005b073159e919ba5ee51d54176fe23351212a5fa3ad0397c9fd840991efddccacc60381012215d3edd09cb0028f2afe5b650affc7a839298919e26f8bedadb13a5607fb0ac69784363b5188d7a5537dd3ab0a2475aa303fdbd51ed57288044cb9dc06d798ad8e3ad95777806fc0f5524091c3fd549385f95348fbb966822ba26b1c04aed22806902255f9434859e520919233ba2e48214f6fd074a534c4477ab1e5030a8320222398cbc843958117b8057183caafc39059720c6bb51444211c1cd000d719c02a0193f2f8172658b2c8f782e669cabe02003e1451148ac750d3401306d70667d0a56af8c04bac8d8696ed2503111e305914b68457084eb31a5609620584d28ce8ecd2b045382d5ea82bd9c87eb4e77301a0bc5513bd63f26109eb7001368ccc1bcac742ed5d402bf6b0aa0492699c17f5e6a70adb70c2922a08468f004edfc51c1a8cf2cb0a9aea53762cccd2fbc7c2093ea4c942223243513c182f05a4cb1cbca7b5b08f5e2c0b040501aef0e3e59499d31a60f5ae1d69d97309cf00f6d1bdde024789efcdabdb2caed9bf6eb83d92776c293253a945ee2e77f3ca02aee62ab30dc0d3b8b9e0ffa4c0cb6ef5b7a0f82e97f0907e7bb059f7ed6e980290860ba5eefc1625bd75e80713f6952b3b99969a9be8a39e74ce75c22c766c007096fd764ee7deeabe52b1a1d4f9474c824b73799bc68aadca553457ecfa91009fc19cfdb2183db09d6a316c4b41c7eeed552ef37898cb031d6abf59ec5cdb0231d92d7fdb15471325bad59d3fdc7e13d6494df92415ff71bf631e7b5463e7068329386af9a64f00a68534d3369891eb4d80a2ef53f9889e7f6565522a072d0170633e0a9f167663d3ed268e33991946ae003fb47832f80820094070e2cf22019d40056a417cade994f223204b218106113a3f9a09c221d81fba0d8a02e05607a3b1174596225523c68fcd9cbfb066bff741e6067fd2fbe25d78146ae6dc18031e51db8abcdff3862e17a58607a136e62daa2f76297a0271cb636d77dfc1100529b31f8e9b3f118d46173436c8e88794f829b9953d3248609b29e1ed76826102e3a5936856363327acccfec014688a0918a764df74fd8fefdc26477b2c57ee037ac8ecca7fa857d4a382f661a00e8e6a34bdc7ea03461ede0ae9598e9a4219031ce18b3505afd9625199e6e533af27e10e09816fc9e0c6b612dfa9c4bef08404723e55c48b765ae5d1b7e5268bd5010300e57ccce9fa044040fc3e592cf29c0566a6d79a5ee2e5f6762dcb892be6d0962194aec5557c3a01fd7de7f13701a0014315d72a35e699495a7a9100f5e5076a31bbd9df27bdbc18ffb825f071eb8c042f7dea2d65c5f7a9d264a6ca319fc29c7664c5a53357a20932da2dc939b3a805ddc8c20e307516e882d32bdb6dfb2fd84a2aa91f02ec0d3632e2611e4658a300be82e59c65d1fbf904d1d818ee0648622166b59906e9fc455feccb8565774307dc31b3284903759fb4324bfd236fd535f6412743d9ff951ccd60a0effc98df02ea62c8c84cce2bef17ed277b0adda79333904baf8909dc431f7323b3973a58061c8509317d4f5d6b000faabf224724673870d6728937ba5354043ecefd0edf0056b5460962430da293b21b9503976434b4f3e1b06e7e03cb3ee6106b925ada047a9a8bd6924dd23657d0ce542c97eb9fca86cc923697f091f17603de4936fa01db6345cfc2cf12aff6756517a3d13c4d0db7a307a2b13e401de6ad18ab4b8200a98cbd46af6b8c13ced630854b47810858f8d39c484a901fd8e45e602368480025c4c12103ee675a48a0f084f67a366821e933fe525b08eafdf375d38eb1d3045fd05e24c115b6c3ba68d65fba4a0f78ed00497ceadbc2825b7b7cd64d8a0201ada1c1a060a5228cb70a582b117dd12547877b2cab33d7c26c526bd5ab185d02f232b1dacc435e0e281595cdb78972cbcf90fb4162eec24a18cb959886034a01a44e45247dde24598835ec18a9c4ecbfd390f94106d762ba5073942359277f0650f7899a6d96e5c96eb2b4ebc067d9d14ebb9d70975a39f7eb5e48267c38f9019581d485f19a92d473e86832bbf6d0b8779361a20af27b299ee54fb4eca61b02721c123611495d85488014d324eb490bd25cd6173929ce9fd0d58ea82a0ade0692a21c14addbae8ddd858aec2cd7dd67096c6374924028a1322753efe995410142b8affc5744de5ee4a2d74b0af4fb67a2661553f0e38c53dca963c87b4bbf00b13626eefc77c405647c4ca60ff290413938270477d7ca015ff6be99a8cfbd064c9194ba6659ed81183ccd2caa98ec612afb1421de3b27ac7bb1435312fdca06de2f15658cf983c924db60dd8d7e2bde1bf09318d568ae392e3785761ddab804281bdbb04e537bac2958fd19db263e19b9a9645518a2369e9828cefbef7f12016a756af3bbb5d619c832b72226477f7970ff134dc12c53921faaa06d11b91a07dcb3301c551f72c5f1694a055070da71ed434a0be66eb17b3176ada962553a052cf6e5de8d4415c3cc0c0581b1f65f2455497f03fae8ea1b275a17b1363c910696164f4d1bb1d4a55fd36d139ed59a523db3d740f9c44e8a5f40d38f43940f017b9f877e6e4980382c281909a2e4adf94297fd51150cfd79fa0a3fc0c69444007c3e7c4ad12d16a024907106b3eb2264edbf9d11a1641d7f61894022d3c89f0283f526157371eed2e882a5d2ef95ddc95b60be2004391a401cec7763a4d68102074633b5321e0e9c2c031019b87dc514a5637d4684d43d3afcfb7042f4921a000b1c72b895ce893f9061701fdc9b70c7c5e110288561ad27f9c86995a113ed02147f2e20009e402bf205288538925222f6c4f12d12efcef80a656bfb243134034a758a5b2ab00015abf079d26a98ad9b234995b24f1cb101fc335122bf08b702fc4230094efac0a3f1c63866d7b36388be34f869c25c7376b60f56cb2325d30093e94a3bb64198fe321205daca0bcc743e313c3adcc57f70a371b780fb0ac6000ac7789eaa00bb43548161298c21a491e99032cefb8e29d23411ad21a5380d02ef26ed238ab321a909667403acc4d05c87a28ce6cd4d989930a50e8656e2e1070fc568712b7674072b5adf7a479773379d4f8b07313db311a7997a5882512300f8996d9390bdf80cdfa65316f47ff78a97f8211333b5bc6da3308292b51621056b6bfab78dad9de7931cb6320951a91d8f4e7ff58ebe3264f155b98d1566e0035df51da22413856a4cc408c60113e32f3b23dd2e6c25fcc709b06a8e660b0800234050ce3c5607581432c9f14cae2376877550e5e9a386c2dfba686e1989df0019ac8c782dea3ebd2c74cd865df4bfdd06e30b4394a4b0a5c9633d40496be9068e2303413d5cdaf4793c52cb7d5b03e34ea85ffda0aeff47c243a8ade6f79a025569ac6d8385817220f6e7c385ac53016cb1d2ae31494ff19d9c2c897ffc8a0005bff1f5d5c03200c1d9e4d62ffb05d672bf46cfca92546659325b76e99f10017cdd209b3533fba52d3c97b0bd886e3c320a9eef3bc15744446b86ac4b6ac603256a2b6a93cda863c214222a7138d1efad86c476b9404c74abfe4550f5df34068faa9b1ee83be4de6df54bb9a1c0ba6fabb2e675f53cd139dbc15a611b599b07c11e73f89f1049be4d35504ff1775fe8d8ce46199614d001c3ac6fa70dfc180221056ea6866252eba5e1b5f6df38714b58a41a6bc388e0ccfea1787aff4e9d07c25c9acf19768318708ca63805a79ae31d44c6ef27092980869c0eebd4a85604a83030948a7d7523046c89bcabc16aca85bb77653c16a62378ce26bfae504b02e67c4e410aa9042cfc203c56a01822e4295f61e61e3647881f15fc090382de0230adaf101d61508747318e7856e8cb8ea04210baf0b3af73918d2502f5de640381e1e6b049def06693e907d7204e1db0607d638a9f98d5d9d28f96e960b19500b875f423629f5858ec5c011997b5d3c8658e2b88c4bb99ccea266fe9e159dc06c0eed9ab0081ee3b5d49c590468507d23b155c91238d461abb5f5f6092b7d2055581d8ef7d7ee088cb81cb2a8ba50f155c3fbee250b8952c5dacec4063a8a105c4f58c15712b9c75ec0f680260d9e99a57ac517f96a40a79b200471839ef3e04f3222f6274e3e1eadde3c3dfe3d87bdd860eafe2effbe504c86f23dbbf781a0588fb47d599a789d04b0694ae6165d59825707ac2598b16129913456ada3a0800c07d16a8efa307c877345c141ce1e90de8221038d5b4fac0ac3f252962673300fb76452a6828ee71bdc8ace16f04d4b8bb6b629b652e46e581fd7271d3022301784825a2bd3625bf700dab4c707bbc0637dd5464fc6eb07886f56dd200c9f80345f3352fd5f215270df57814f3d6f243f784db5bbc53842b066b2a873f57fd07e9ba4ecbf6a6669de5cd265aa6c959497ebbe1283a6a609db40fdf0c9e5e6904aa4e33a88df9fa9c34b192d623e268e93083f96e6d3fb600879d54a9f8c70505797879aa9b691a03fc320a60194e0637deefa947a0b464a087bd20a0fb2bfa037095e9d7d25b4cc6755925d6ada2355f3fa175ccca5a25d2f0c62a1bd2ba3a0104147f8631559f8c1daf89c234558be08ce70bdcfe55bcc824b49c115e12ca0723d32505362cad14b58fd4c08560c27dafb2c98f7e97002014612e8bef3e4b03d2ba29cef62a4598e7625cc83976e81a96ff47221e844323cc427bcd09aeab00ae2194e1cfa80706fe3b6d64c9cbfdd2a9dd93514d0d5fa7bc95c02aeaef36043dd3665b37d9c2d9762346f9c0ff312c3a1bd81e7c7e721a2df4662caa246f03bace895d731a776e98fe9d2eea1f75e1c7445d53251a5784a67d04159192ea07c535ce431d88cdd0b4347767483d575c6a8c74e81099c84d80f5893db0bf3e026cbafa09b18ecd1d78e8d52650f673e94dab116126d18e1470966614c380c9018ad8bf65a9aced13bd2bd9eb508fa58c634c2828157200b4185cc22870649a07947d8546e3ecd049cecd63b903249d30dcded41a5acb981cca54abb27ff9d90121365288ab32dcf2dbecad5ec16f19f5fbb83015ac1a5967d8aafe68c2dde602c6491122475548dd295a746437b35465de496536e5b218cbc8fe12f6412050018125f1b31abbebf1e9dcb030dbd3a6172e90436b53414e413a21f4fa8c8fe8056e95b7e47393a20bc0df0cb59e52788957826f9e61eb16f04adcab928444e2060c144b125625f16c13d682426ec56a9d56d85b9b06eb06d8db26eeba2afcb206807c3886898444349b1d89d612290e8d40609d7ab9911a4c111ff7bbcd99e7040925327c0033db93d3a24115801d6ca2d3dda1ffaf1332c03470be78d22b8b01581ecdf13ddad7ac603c02020d808e7d99c52983922d503c293921e507eda0000612f3b390f71b632b4f7f68e78ad23a7f6ad0028c8e810dbd4792f90c51ac02af3edeabfc46bbe08b0f96bbee5d187d84e0a937f120d0bf70f15c5ea84cd8043a3cd2a8dc52e6304c775ba15f08f254f1855807a4cbd08be313f4a840f7b9055c98c33f7ab5e8de8626200885a5603f78f106835e17201d2869175f39a0210074b50450c1a89d6a2875aaf7d40dd3e9a5b3427194207016f8b7a64a41c9e2073ca049e1f6582b2c9e3a3a2a84a27abd1effb2a111a28fb5dc0311a0b5619c00b2f9a5fd2e317d40583ff65730cde2cb95c1326774b938eb5b295d7063414102f2de498b8c8e220ef35c599f3d29be878fd6026bcf7994ed6c8747785ef27b00e9424b2dc6d4098d32f393bc25222fa978301570663468b3a6594024bee7c10722ac3ab41dfdfe344cc0d341eaea126fd55db3575b3c1235a7aac2efd952bf0500b4875d2f858f240d7d46460f10b9298822ff686362de735ca4f6600d08c903f8340af0add618584a51da8c657b31b26cfba097bdcc5b5664feef72d03ce4013e5bcef31d1854ad614245f4a129e7df28801faeb1eb2f6cf9e68d9406dc5807a97c798c2b22fac85778d774132b8783a368c14512a4d67a18d620e2c0ab1c0666b0746f5c1687ecbb008017b380385c1ef44a64d7e99a97889293cefdaef9075d9c9326e40ea314a84c509d372a0aa7cd2f2366c14e24febf70bb6bc2e181060510f549b789602c291429c28f64d06629914c1e036e3949c5052f5aba19a501fc41fd71e12bd846f695643c091746b4fddc9c9adb8dd37fcf43448bb24f1c02f2c7361e50d21f1b76337ac11487ec7b7776a901662564ce2e965307deb0b4025f7d598f9e289a2f8344bdad2a751141e4750179fa31c3a99b356239a1b183026037d1fa659dd34c79cd5d338d24d10306bffcb2527ebf9193a53c7e0ec81403a126d3c9fbb4d6677314e3cba578263a26f5fdf2214b45a0f51ff6a8d2e95d05f078e38d08c996bcb2da998762f94ae0a167093e36a42ceab6586f92b31698038d3e54bdfa0867496c7d98b0c5a09428a7a5dba90d16fed60eaa28ede696a203d1885c9a16e6cb4394414009c4cfc0d309c46d15453f0d9f3f3b5d91bf654805db1ef441b75fefa9a93ae567c746365d9468a0c7ecf000af5359be41a53fb104b534547bab44f2e31e6ceb92e61c8f5523305e3330a385c7566179c679d27704d3f954dc2ade0b98402874daf401dad1c50a82ea8220183db2a5ce065d1d9905550be7a9fddc42d988e7215553f281aa55f1ce405570b6ced7c09c3e7f68ee061705f8505a6178e6d6ee40ee6e746f0c36e1c8d6b4389881a8cdfb26b8d7c3006edd63b53dc5fafdb0a4f2a7c41cf94b6454d00e4abe1039515cebc0295d6007d69544972515ed629868cd5581919054b9a534ca44977622b674611c5d40440787fb935ff47783965ff5a91f994fe388ab85e5cb0461faec00c676b222c3f3042af12ab0aa8543d084b9b65d788c470dd4622e2e002cbfb6a4feb520a8557c0002436aa57fff8cf933302b5701d43b1d766804a64c9e5573c01dacf8cf39e403726c43fa31863bd8cdbe0e33622a0a2d570e8ccc44e345ad39bdf1dd1c41a1007ecc50abc43d58dea9a93e61f56da72ca3e1b3c1524d33df5ed1464cdc218b04e7c9365cac2f219f33b4f63988b3af86b3d98c49f52c5a1212bb9ab7872f8a058f5ebcb67fafc574517d479c110bd9b615bad9d51837f6396fb4582ed5107a06e32e1a5703ca9e57281eb5f918a8a308c791b4774cf2c70b1ec85851b8450f00658dc607c632b570c530e8c9874fafd62da11e5c7051fa2abb92ec682a825805e28ae11ae80cec782028a86af931b2bd33a1db376d9ff13ac94b542875ccb304ca0674c1b906fdb77c867d2a5587a4fc3feb29a53e0638f70e8fb26e24e8aa04cc675c27feb437b73ba63505cb1badd7efde94da0601f92add6640b107f48201ecfb49731b8a46843877f0100f1675bfdbc07d6feb5321616455cb12e495280127f781eb95635f49a63e2d6f3c4a02b44b188f4d97d6a76f1c742c004045ef01db9d21f659ed87b75de550e97e751714d94624bb85e3e80dd4e56b9fa6d39507d9767a796447b731211861ff0490e86713a09239d579e7dd38d59f28e0e2800442f7ba7de81683216f6186be3821e8ca58d4820eac48ddb484fa94463cd38c01e4e47568a72d00758c1a5c42d470b1be5891681d000eb675b314d689f11ce40759893668ff7e36b88b73b63652f9321c49e67849a836aaa80f2807c1533cb307fac3b6fbd023ee516fed1ce1dd5ae7c5726d970471777c910d424c54dcf8e80744109a975c32b2befb5c57dc5472db96fdb9e5b12dd38274ef6bcced0c291d057e98c419db9f22b99375656cb3384d5cb3f1ae7bc73086ba7780d52a06570b0603b62a9a72231dd4d103a7fa5e711c0ec05f81af38952cbda07000bb07c710077e3c5e8ee14eff2d9499a9e27a5daeacabfb4f92d646148080307db5b8c76d01b46ae50516bb1364539542eb96f26c7f4a27498e39c70e93342fe833e4f4fb0127c836a5827e6cd755d1ccc3fd3fe63319df0442872a2f1311bcb3ea9c5760029e0a8da41b33ef8c1c802236bafb6170208a662b3cb7f009147aa0a67a6520033d61d16267d2978d7f41ba3f8b4230464bc3899bc04c89294654ef88e1ce26021eea2568547bdfaf4df99cc3dc857c7c1972034893d9eee5ffd2874393aaa30101d6f1bf48a6a0365c5e630655ba3be6fb69e8b6ae8dad70711e1e06e1ac9106184557a927379976fcf65317f8a600f245715d7679f84257c7456021ce082901a3d966a013e13947093fbaea941d047ebf66cb2196044094bda1ca4eaf4d3003a2e1a6def693ae00c388ae6db7eac595964c45c1ec2a89c07f8dce03a35c7202faaa9c37b3899747c772b77d7399a5a33c3f24a32bcdada3bf4345addb7402057d17591f3103a0342a456545b5cb5bb4476c247a9accd3cfa3c19e0b85fe5005a6a516064b94d590d13af8acb0e40656c5faca828245f2905974f11841ef2700364673b5ae7169248f39958a58cdd60f9b08eac88310fd13d8147f1c72fa2f00a71fdd55fb7f54795fec9ff8f89d6dd50496333b70525a44dbc39fbf888c27052c4e0bb4da6d84e7d0fd9c85ae8ddbfd22d3c2b3d4e7d3668a07f7d7d90de40183418a7dc9286dae5e2b2f86807513adc2c1b0c350bfa03bea00194bbb40cf02fb767d0d0fb2dcb046480700bdf522645bd47172b6d26823323e6d311028c002c105f687881115e778e6cbc671838f9be2e17a44b124ccc1b43eb37f3eca5103fc5f1d24763cad5edfc5a77506d0e076a21b786ca9d675a752365002b25915022f06690bcbf4f48bbcd280293a495806ab2d03fad0b72cd316c4e8752952f4051e58a0f5a1cbe346e4d6a6563cc348873b8ff4ac614970b84131a9425a502d0012f616f56dc02b2125df809e34ff0fd1b4cc40fb4a42bac540e97de651488f06715267d539c88f3aac06ce5070e0d8aa59c4ba290adede9998e79f7fff42cb01619e61b4593163b3bb8adfa5187edc4c045e6e1e724add61f7b5dc605b1e0c060ff2676399c2f0685ed22101899eb2f24f03584e0cd008028993bfe73a30db06d8647da7d3b8194cd3a9520586ee41776d6a0033848c34d6b16155d1c653b40682b26ac38494e5682f94b1365d19b50cf57d6c9339fe5d314e7f2eb0c6ae570201bbaeb7a9584bcf1c8f0c9af5261514552a239acbfda9b15c91b1aa0e68b70130215d8a8dbc69d6e7fc0088396af9abc637b20f522a1b7eb0005f53b7a8de0596f38dd663b9b00a8413ef3598f6cf44b35970d3f1d918e025089e95bc48c70251f25f07e8239fca62002eed9dfb4a6777897828d50ac5105ccef5256ce3d6018e792aa96f396a2311a192bfc701ae1a7b432048fd0f7bb9f95f7aae7d9e5c03e3a8acff7a9e54d922dbc2f9aa4edc25a11d2708365ae07366fc82906f38bd06294bdca0ce80dfd3dd10c8206687aeec136b9ae184f147306931ebfc22deb7066b5c18709187d3f0cf8e9f2956339e8a53e079d714b8b378195dcf9dce5e7f0598b4c10e245c6c762a7b6c65ba0c662745496a80dd7d37cf4331b55ccaec2003203393520bd6d1db1b0e4424a388681315c569cad7302205c90748c969de48049283c9b77588b59bf66158525cc797ae6b8048f3e0363704e91b31882d40160438a7ecd123cd0eafff7b442af36326706593341f964130ca3702f9ef0a01b400007d31c323d1d0db7953998d696f3f9790e73381e66dff3042aa758e734808033ef43c2fc935bb8df1a3898b49ef9810698e4d1d6773e19aabfcc168e2049101dab7ca7920f09bf5d60b87df3fa2b5925bd0ffbc59bde7c8941d61abd1317404e63e4d997cf15f36ad57925ec30a1ea4593d71c61d34860bb2062a5288498102a52e0b3d90c91eacbe4c6bb4f70693e3d2cd856dce9784e3bac78fa6524b6a049ebebf76e6dff6f4c39e485f7422225ba0b775078426afe1d7711d83e4e68a0732f4a48b6b34b7a38b480735dac47b612bee05748e6c4feabfd7e8ed6eeab302e4a0de681ac4c217fffb6d63993f57942371e19cef84994b05db0bf8747ed106b29130c92e92b5afd07666bb7e61091b542f8a674f7ad7ea4ffd4b2acab3ee072b8a4a6eae101de06d9b6f94b13f070fb22ec4f6ac735e0dcc2269f1613b6f03841098d305a0699c3eff9edb4f000cb3d120c30ea34677a496ea07fb398ebb00e55733d0726fa222987c530b65d74fb42d615ddc5872b0c4082498172816bc02b8759a90028cb14f25c50014d754c3aea9fdd12e83d211c009855ef0666a0f05b24608879ae0e84cdaeae92f9f645a2082222772ff629c0f8f0b16a3687bf404416ceca812425717853c9d708087af3569fcee63a80bf5e5a13dc0906f0915050b5397c5f8f06bad97ee260bc033ef6c2eac38963c5e850e9636e3d8401fee063d3a488ed9d65fa2250b331955f30feb532ebad2da3fb3c8905de304b266fc002f9137530336cf2631b29058fdfd8317d0975aaccc993e83f52cfc77227bb604b8ee9cef35501c8a3ca7003b43790b9fd05bcaa100213e0180f48879285706074b01441c067a1196a980ae089c73cc6757a88d0fc78e0171e477ae13948fa50241029eaf8ef236bd5edf417dea14cb916ce9ced19d2663b8a26415bc97f20c04ac0afe197a85e4f13193aaa884e2de1a158581463ff18cfbf0581359698400018bbf283d0ac2165fafaf41b71df2597ec436dffee1d8515ca660e8f877b7b0033a443830c392bea8baf00c138c412aac84134f569faea1919af90a2d51e6b8022f17490c507dcf28416a78154b3c6b87a967b3249e4c241a9ff4894a0e851301f77a2b724e2abe38a74766d8f76ce8244ab7e9b13473f8ad30da4a6d92138b02ddcbcf42961c80e986788778ba9d632fdd86a6e169938888f9f776468e74fe0332d037dfd06f2f80197a4b792f5c38d4dd6acfb496d067a8bd3d474450b6c8004f9ec6ed944c28e76c512bcad74d42391c722fcc69fccb018adca6e13f49ba008ba72e83edcdbe5d2481c4602315f3142a7ee9e62fe30d5cd184cea00d0cc807e7861a3b2dcd11367c2056c7650aebf52ba880a0725b78577a1435f55f4db906ec0be175f9e32a915c5829b25080458d11a121b5779e2a2239ca94742bf9d100ed5e364ee938a28676e192a5ad950906391f04108542ea65d6e5d3e85873750730b030df99bcdcd901fb2e673d426b6a8b3278365bc6e32e39eb666174f19505618915203d66044a7b97b355e38c1f8af7985d1c7fe8c17f8b4373741ebc6a023ccb547a6bf2345c492f45e9aed836fc1d94d7e6dfbc6716775d6581d65a64058f0b71fff92b2698df172cb94666af37d8162c8b76930cca50147f01ffc334003f505bf85afb4c5e9caf7709e20c17039368cb69464a936f1afb57899562c106407f7a45ea5e566e8897b51752c9281c6600e1d2128cdd5276ce49fd9e72f50369afde5bd2567aa4c155dc1a752fcf9826ab58d6b39b078181afc2276f506100367d2bf76888707b690b73c44497421d10b851c1f6a63e7db0711608f765d3013d2a71162a8e26fa3614818bb55f5d35b631684109583633e378c38c0483ee029617a3b53fa973c0752d8487c0ef71f46a5d675ecf485462b9e5868c819fdb07fd55c7450143077153128159b9eb693cf89ec59e8773fa4abc985bb6f33dea0296ac0405c219ae49538dc40d54b4390001b2689460f4407b7a95fe5db3184701f848cd21e34c0358cc056ded751ec6d6d5d07872fab271cd99ccccab865cab0321c139a17338cce895c57ccbefe2e8412041ca4526626c29293fc40f95ff6405bb83c36961749961e967d1b8f854ac4c0c46c173d0fa4a7b946b94f1671657003768f455fefd8381723add0ad775d56df7f21c5d6aae2f1c498d94666eeb2d0000000000000000000000000000000000000000000000000000000000466bf800ee5eceecb04780f4e0445155fcd588514f21980035cf9ec32c95ddb06d0e2a0086575fd9a91e8f0e08111a11e466fcac35b95a85dd5921200dd6ca95df254f0097fbbdb870716c8564bfe16ec12ccb81cee9927a4cc78f8867c055cd47723c029f6564b2cbfd8e17f112f7d8dd65e581310269b43be6a19958afd01567d13903b2efcc1e620386f1708dbf830d47035184e4314e951bc659223af7f1a6c7ea03263ee0b6da9df2710e75ed8119841bd3e0c4d10485ef9084859c07abd4dd9600ae28703ef02c36a9ddfeb2dd75243a9175e5874714f466c95a74d2e011fb8003732c68d1d8f9c6e60f41d42f46435f896f1ab80fb5677ec7d3de141a9b58b905946644707745d1cda286187d4317865affbf945cf20d4f191281398ecc11f004ae7b126b716a97c082bb0396e83e8c5ab0f07b9cdd84427e7ed69739db872e046096b024abb782cbd7b0601250ed2edc4941c8c1cba0f8962ef39de3cf73cb052ae3a55333310219d7394ee1e0ff2e50e21721088567059b839b55ff2aa62200c21828af21b6c08f7f2af113487c516bc9ddc00e379cea4cf74cf43a31342b005d407ff374e882d1d92904afc3d4a0f75936d6acdcffb19f75187dbb83fe72062b3159264c295f54263a2e9defcfb4bda98d807118f7ad16cdd97f3e8e3a4e01f89368172b81026849e52af76500af2bbcd4c1a2e91fb293aae218f1292bae00b0b7b526468b35c63c5a25ba544bf5d2be5e2d822c1099ab2f9247500383380442cd09e7abd843778bd4967ab6f6147bf1101b93f9c2d1b10a0933f2103f7a01db255f4e593dddc0091385b9f03c13fc0e66c905dd594e78ff3a52702b9fdb016b9b06c667551cd7b9131bb14d20e0bc16357b061a1fe4e014d0266a39a1fd0128933b61ea30ddf16d9842deda966d3305efbe466b8407ee4b00d4b372238201270c8627f206349db166a3ccf149e9ff9d91f826bdfe3d8356c6e5420524ec05499877063c2cbfc3e2d84c058a91e4af061a9f350bb02910f19eb86285da2d0023b2aede6b645e5d8963c693a974124434d0fde97aa50ec110a1d83850c1560672cd8e3b789afdef6348a4d1a0da0fb302b2329b4c42e4be741d8b2f0ade6b068c8c60c0f85389a7e3a52faba9edf082a4863b53b08e23615f8d8d1134be62043fa1bf7f3987d04edc10dd94a4f4145443ef10df8c6a1bdd33a56c8f1c22aa00cba888912857b0b7b09c6c92aa1c5a2b158aae7ca0ab1e1a076013a85fff160260ee2096eef2bf64acb2cbff350c39205d28d38080607af2c7f2a9b840e76d02c1272f5079b12896513e57e0f9f164532086f5242ca4d8f9688229358e0145021015acf64c33186406106bb53e086f868777e7cc0e44bcca73d5e88afa175400770220490fc32786595068714effc36406896ee746a82685a12411e6e80e1d061691528d12aaa21044601865e4364537fbca0a807efb59f552879ebd2a34eb05070c03ff4e287dc53e4d04b35621657de7175d43eb4e5adfd967ed8428633602b7b77ecb30055260f4b5c30512a66e6b2a7af4140870edc90b5b1f00e1a011002fb8609ce6bc1299d50048e18e437ebc079b6dba680c97bdbd8628671da62c0335272e2163b13a9eea54c1cb3d6b441d286e1fc0e6f7b2598c1b19c0780bce02fc3d529be35e496fd8cea59e82fee9f19ae42a6b75e5d0ecde743002415ad2026aa3ed9edf5360e5310fda6c100262c6819470265f6f78431a5c17cb06fce00462334953e7007d36a9cbc4186c613778509c86f60449a1909dfefdab1ef99401dd547887dbdee49aa3ae07a6d8208d8148bf6b301af27eb96e4983f1a4ccbb0171f57760e133fc698f833554b42a0dc8a57b3fa0512f484d7ead8ba8483cbe0387bb84302591e1d1f8a9bf162fced6bed0bba4cfc08cbe2eacc291796d80e70582c64399a28db09ba0c53a8725ac916d9d3926e1dad1bca8b4c34b5257925907e2c72c5ff1447f81329cbc9d5f5099313931720db160ae9638d5a524c4ddd4013deb0dd8d8de8cc4058323205cc02dd2ed21126fe2331f92dfeabfedb0f90a06ef57c41ccd84a0afe8da8bbdaebbb28b9d808363f6a290a3fa9673c889e9a10446283cd26a8e68dbd9f41789258d69fbad927798f8f46e9c51fe3cef21042c07584a35d7ace0dff314e9a4a8fc8a0ab9de9b6f85c50c12c94e22ad8a7395be00ac7e7193ba332d3bb53cae58153b50b27dc9a66ebf7b98e04506c934fc74b903545626c54471b331b1ab75b1bd0257e9f5f22f44f4a3907695b936925f005b032790bccf5a385367af02e1799e4602944127bc2a143643cc7de08ce99a6b0e073781f51234ea02402fcac6f9625def9504304864b308b5da5a0df83fcceb510584db336655a8e219a04d149e3e6e49eeb3f04a56732c28e51a387a4af12afe03e953caa9207aab96fabd196be51169ff580ef43dc7407f59a150161b25578207a093b4bab2221e94c4b719b21286f836f3f6037361d28e1e13959376ed9e2802b2b3bb86c4e9f5b6698e514443f2bded999311b68be4f865b36935947a7089044722ae4e4f2fcdba078b509e87018a80ee2d93ecf99b38116cc62b68651847070f32bd7e23b26d9cd6067991b1a9d9817d1a6a4cb87b03c2f051a84fd6b9b10672607a9868c74b404e14bf9142c6cbe72da1623c0bc2f84d53fe8451e9c88707a2237ab93a4d655bafcae68f705cae4295b2f26f649c08a7720263c85a867e0314bfe8903b2c363b9904cd4f254e88d4a7afc02eed56431119f7e6fdf94bec02e2a5aa221ab3a755e5708d007ffb2b5be761667f19168166cb90f4d787e6a401b56ad347d79e9a80880bed7d4db065d2d8be4c4dc00813e553a9cd3069f48800f7a2785f036857e101626c7afdb2fed09f2d33e7d1580ad0a6135011773fed05caea88042f57b3cf0f1b72a7fd8cb6a1161ba10828cb80b409b4838d2fd9d8060d2838b63898502107595937fbc5783fbf9960d64948d87ad63a193d6d4cd606b045f418fa36a82b9f5a1ca2e69bedfc85341e08857d6fa0e1aab434f8e246053416ae79e81403d616f6db94a35d3e30f58e054c444360d7e45b80070c0ee4076a9258c2c39da55b784aebae137f16316403fce9614a28540f53f39a38125103abfa316a129dfdd6c3fd50caa864e5bd003b866e187e74c087229dfc3eb7c1074544a1159f90b84fed52fffdbfd2971ffee49ec09d00d8142505776a21d7e607788d61bd1c31aae693f4d218733fef077093ed9dc38d1efbbe497be3d485bf03b731580b3ddc4133cfef3eee07c6b4894ff5912dca3f40fac49c0141e9309f018db85b1b1db08e8f3b4456e616cb1878d3ab82dd0701f018f6183091383820077d343f024284218dea1c1e81cd26112128d779e19c4392872f02ff8a8ef0ea0567c3f522c51d191cef3f7c13f218aeda7c9309bfa45e4b924a759321aa55ad02b35cc3fc45d00798a27d571c057a98a762be9d9479470d7edb3588e0d988a50324c42c29448009780d1a5dc92df31e0b2e420da838182231159b22cd2a8d6a02efff27b5f4292384c16baa62ea8056d141e00321c1ff9262a5a2bb02617fbc072facd25456e00dc13954297bbcb3201cf8907c4b7749de8c4b6a83d88bb0f906b2f586a40b8842e8283271ded616e85c86f25095a20489923ce2ccc76cffe603c185ab9d243d0dcdf9a1bdf12ec78a1bd84f333e1bb625cfe676b1fea334a500de807e9ef30bb02ac2a11ec03c8a92aaafee6345eb6c0f38b3501461a3cc820401a6cc790c9165a65fbc204a644f1b8fd69b99ee012db08e030ae14d5f2ab9005eef4db1ae17e8bdcc4fcbec3afb5ded4d940a535487426ddc18b3e0f2ac040432cc21a968ab327cc0d1738b6fc66aea88cf2fccec5b1b4a163cc643da6196015b577a712a8be772737ad2ea9da4de1adda12e4916b63553bf83c03579651c01af65f0d465198578ff4fac67b5f6026d0b91918e0d71bdce66c283834725d90250a6e523177cd070d636906cc5c46c5eaf1b8f9ebf05930058fd0a2b15e77304c97b672a7aab0fc49cf9469e06c9dd50d883929f2005d9929f44192e6836130374c7101d00fee933cc7fefd72dc454ccf200bd5b539f3abe1f6284d11ddf9b0282309dcf8e9aae7157c24b9658bf878454c84ce2f8a6d6e3ecca05c8afd9420455117723d37ff99c572eed814ee4ed1223a0bb190d517dd17010723e3fe0cf076d9d1a00e872859b9358be2f0c1ab3c500e4b726c68bd8030ec5b9ee677242077a7d75b6d46c3d3aa70de4db5f29aaa8d924dbd47e52fe8862059a499abd72067f81910ca518cccb8a579bedc28c7dc07b257d7792e68fe24d1bb66dc02ab204d8bc0a5319ae29acd83adc72a29f5769167ebdc28957fc08675e94165d5bd5050e90ca491874bc92e74dc8b87176bf0ce1a3de6d693d1c80c249123ea419a0046e97215e1a672a308472b1c258b04421e34b0bf9660250a307d932885df26a051f5fb40c5c368bfc391ae5b480f3d1285bab0c9faa97d67604c82d89934bc504749c49254b4e16cb41b9ce9cd4d029b669e9dcb5e7850f253b09b1be3705d0002c2e34862bc6c78d726b97625a07a51d70394a047d0cc05d6f500b707c0b03002703d9550527b3076240e5db55ab26f64bc2c464a029990d77125e9ab600ec01635675487160cfe1c6efbe57f7ef1cde023d2bf3a771cbcff12e343e8ff5e603b1ee13424e8d46239808bc965bf50f05fefaaba1d0abc3f84a80860ae492660649a3974a76a501917876322926afb155ae09afe57d115a98b45ac1e23c375607251321e48a4dc59a09c3a8f1aab8f5ce7bd63dba274da89060dad72874a6a000a601d13da6e2439c685675213cfe407f63b2751e1dc545b481f17a648c40d10072454735f9e45b9f9feab13cf376d83eed28e2eb40c24d59269e1733731b1b03991d88fe8007b052f78a5e4409b16a445970927c7d62a215223e5afa8511fc049ab813fe2bd187b636ab4bd269e074aaa2e150dd3f5ca27e37371f6b1795c707ffd8d7eeebb6ec1a38393b98be25dd052323af57a6a4308da7749ed5dca91b036e46a765ea60fd0c783fd625d61514434c60607393bf8f2bf45e385be89fe905bdca9e0ac20228728077c86c437411ccf27a92b9a0029c5226d423e9fa1f29033d8fe91566dfed9f179fa54d5faf6ab7c38f91148a4438e2fa630dcdae1880051b96ac81017f22916e298dc7ebe612b0a0813f4a1d66ec59b22f499638c9fe0492702ecbdd9ef64b54c3263cacf4a824369f12dc336e859ae69fe255997cec0349b06a719be02efc20b32e2f8d35d2eb66b3b36fbee46814d0f5056e1a89aa0331de570db75d382739b47be95d78b5089f9048a4f7e63b2d1282bee33ebb8e04209cc1f50da67591955f2de2922625087e6740dd534e13a84ce179938b496b00633674f2c265160652b6ecfa2996ee08740d27c756fe2676dcf227eacbb62400c4f6a7692f9cadf3b7d3ef54c3a9dc231ff9b5c72f436157bfd7e57380ef12068fd60fcc7e4131fd6332bc996c9bf3623ec7d4342f55265b100ceab4476814049011d3b49394fee6ef6c6e3e02741819d835edfc6930951db4d6487e4f3f6e052add3ebe8b1faf0d62a8eeeb815f63500bcad88893f31b5b29724df84d750302ab9b2e00bc3713f8e737e418ed1f26c60a56e9204b3c0ca0bebefa1f7edba700bd5784c05e7bf08e7bfa7e1580137726a8f9719c15b9445b93b45b8632657104458d449150b89c14ab5391d1a8a5df957bd5b7b33f7a9c8bc082e480ba370104f715f53a1767512b41677c40212e2bed21ece627f96a9c459610acc92cec0707ca342de45d593d7416ce0e41eb82c85448d003e1edc555d40a24646fb745f405cb7c4b9ce3df56376eebf2653b93140222089678885c15c6f5cf49de86ae71039e02b59b3bd26576097c4dde758d96cf1a4a01079662355ce6c43b7f6c0dea031d52b5846da7db1614f211821fb5ac2a3ff34af49b3a4d03af16b4ceab5c8301dbc90be8b5f08be6eb1b0d8a9e653b026c1072a1d2de9e96dad990c657643f01b253ab40df8ab951282ef8b3de7c394108caed7377bb5be9fa438beba2a0cb018f701cc33e1e4f9413eef1c80c8b2c7b68cd047ace494e1dfe9c4d9bf70e6d004fffe95754db1507341359c019e7a727a59726dc994061de4e752cd3551d96053e365e6344c8cf8a3bfc7edd15fdf50e55a6b08a3633cb702bd95c9b08b8910399b37fbc6c69173929a39851dc5a7064e97155b0c7c3cb0bb85a20df5a8e970161a6bd05e117dbbd5e69d25c831b36aa3f09e2f5a86d876a9bb016b171d2ab0565b8e28b9161be5e4182c4e165c25b137c17e73b91eca8715a8ce5086a632a05e65c6a2f3e4dab3fd04df0ff2514673da4c936165373ccf8b1551e5fc5114600f2966d770d294f9dc91ada31fcc10b3dced31a99d84e52b0a406c383aa536c068da3b99162a32463efb681a1988d6e2d6ac975c3b0f1f2f0e58ad9807ae4f303a3c3d35746a07ecf8b6592e41ad4d3f370906d4bb2f765457192b7dadc1498068fb5f3310225fab8d490e24478cdad9191cf67d922b5c5016d25cbe71c1652049888d281a7cb8ab89df31006a8bc6779bd7b6f9c3a5f211d1e9d5344c1da7004e7480a180491c8834f6bd61985263941629d7325cd74aa7e96ed67a6d97fd900ad78c0beba166ed403cd583ccc0e06472e08155d3ac4bbcb6d577712a1a5c6016831f80e27a1595f74c6f14b418bf76edac51b5b4dda15be97ecf77c04a1fd01e4fb8972f80b9f45504452b99f022aab6bfc007550e578a1e24dfc6b0869ce0400033c42b9ec659244a1471706600ae97956cad07759fd86f476336bf04df906c80fe0d92e1a750cbc81a251d192866c9716fbb824a980448fd87592cdb776051a360105bad221a3aed6bf7b054870b6219ac762f5fea51877eb0d17567e050756baa0c8c2fc617ed91944864ea8bb3be13ba122fba0db50a99a7d4ba858a304abdea50f30b2d7787fcc375b55a90398bcc997140260f21fa0d4cb0ab5324507c1ac74ac658e719ee23fec909c56dd3abd7966e79557414e491ba347985f3d03afb4ac32ddb1ae92dda9c1a371e77e3fe197632bf6c6445c3957881aa7210b04420eba26bf9ee832494a2af796fcf20c1c8f9eea6f4729364715930418ea1703a10362d747901156a5ec6ccd2df792264f448f3b0d93cccf7245c5bfadfe1901b1ee562a8b7a9aebabb81295f08c69c993057a780d7a0ecf7801c0c3f9098a02b1b1925db8fed46da8d05d11d346f929cc528d8dae73e860f848803221a0aa0378d95abf8228d7f572e07f7d331bb4ef7e424549b8abffe7229034e3dde01500e7be64bcaab0fb42ab2de9eb568b2e7144528ae703c7dc1e570c8d821d575d026fba9b8a428369c67f35d58019e8d17f30457a6ea2395a50ff6485348f8bf60476a1e24f72a0d8b65d5fa3147fe3dbb3e1915be3af4ccb5d62301c228ea1d400648c449f963a305a6ded7752b38fef3c22c6d09b10a15e6736f70acdb06b8606cb795ad8a773d908d988d0aa7acef4bbfe31aa5682eb716267709855ca7071046b0d0a162c40ebd82885b098c5bb2202fc63e756a23ab2470c40bb0924fdf303a6b0dd10841275887d86b3a1c25761822e901119684b961cd994566a5ce16e05ba37133e0e3fa6901ce5486a5430ff0cdda182cd4943b7a7d10e8a33ce7bd9003e725e00f12a4ed6cf49d24aebc00044675499dbc21f4e38a89e41c112d9d406a194e079ca46c9bd917ac8ce449ca04908977119de3cad3ca3339bf83f2318028c22f666c0c039d2722d6f996361a3f8de7b631229333a263d4ddc7113872201cafe8daab0d7d1753a63a8a85acc4f073dc53f95f1e6a1d2a43eb23cbe1d9c07e65a906763ef5e6eb9bd8d8fea725c1256d99f995645b448145b6874161bbb02e1632dca647b5985eea43b8718d1ebda1e424beb8f8d773ad79155dbcdf9b50558c5d8846f1736671b3a8d4178913aa89a684568e9c0e386fc8c2e7116ed5f027e71967ac5484de1cd5caef192a2a3f72b8be8582f7f9b5e1affad4d5ffe9801ff81574c50a2224c76d46406731141e414046daf2fa457101f941e5e4c2feb03084c05d9ef04845cc714d7873f26332bceeba036ef4301460e92343118af8000321ae18ab7c82d90501cd675b88bb30e40c79f6cb5d001ac5ec628f77411d904801e9797a347b9213f37d64dbfa3851bdbf52cbb030af041b9987d4d15066503dd741317069a638c1eff9850ffdf151859b2451b2a652ca7fd0a596047287b07000320d233a677a476750fec4bc973a7c12d1e01de209fc744e898afefc55204acc2ab179a8352cacfe97b0639e04aa47c115277b187c61955d58845fa9bcb0624a86dd6e8abed29f60ed05a236888bde040a1c13121fb47a7f2adbff3473804f4dbe25c870135fbaa3797feb1f98a1e6757f5a91c1dcbbe56d39a0a571bf400615d17f9dfdd0962348d89b34cb375600ab97ee5294b6a0d9c8a1469833c9801e99033489e87678f0fb8996094fa91bb34e95fcd75edb6c0c80ba5b04a4d7b0702efe4790a058befd37173df129f57164ebf07dba96ad0e408882c244c87c90540821c87a02fa83769a3d56b558c2793709253687dca59befdf697bc44144707536c90a282e8237ec3375b54ad40c2378d5d964aa839979397fd01abb5637f04d6fb42158f1042f9280c8d87c12c3a7ce86d7981a91fb25e6e5cda658df0fc038e354e45de28a7e8fee77ea02801da314bf6a424fa5f3f2bcd25bfc38371490071a04bdaf85aec403904452655619ad834ae887b0aa400d8ebf400ceea7eab07673d5585dd6a1b55e60965dfd5ae243c4cbda95899e65c674ceff001e703b6009fc39600a518506a819b8231c57d16a16052e8e87fac81038311bc935e4fc2008ca40f5a93f8dcf98ef5651eb114dea87414fb0b6443157dc3e37661d7828f018bc90f8871bed2e3978d6d96913c0d503693366c27438a6d8064c425dd776403201293d519a6473471e0d59d2ca7bbe95a88e0decdc9114a058ecab6b4a51f00622b07526184acf2ca5549734f584cbb470576a561db66f81f52fcebcc5f8404a944b074dd24d0910218103dfd2704d7c4c0c0ac7cdcc60673b8f35e913aa100cb721d8979c285ebbd27531e302c65029c978159add31172c615fd18c114e800d435c56c7b4a451642460cf574120e4abc14846aba49221f62d9799e1f0d8100ed65c8fa53aaa35e190e0988051da315ef915288aefd8929591295419d4b9c005da2723d04fc1dacfee411c998eee4bdeaab844ce15a9a1cfe3cc4c38ba275001a7e18540f341021d553fc7f1d2edb7c7f77a278740ebc11275706632bff0a0056768481725fe8ed2685e7ab6c00a7b4af286ce705f67ddd8d459c5ba819d000b79db9114dcad644a2884d4d52b3cb7d99046a8f0dddd5608df605618d38df00b2228684b8e5bd3784a734191802a17b6bbe9fd0909466957b48ec4c29853900e4dcb0a988f8b36b834f4d8a5f50b4919e224db2d7e60cc4e7d67b6ccb4c7a00986211f00a34702ec14413d39a13ac2a1b48b22756b5abaa3d2547cc0ec5a800a738d88462e0bf69256f7467f7105c5fbb50708544c739772d75d53de1915600f6929d433e32b9fba5530f3f3cdbc7b11a7d500915fa37d25e71fb6f7b4c6600eb02596b83d984efac907048663383c53a0a0605d5936a39cb86b4d9faacda00bd9845925a68150be61b2abf2938143ade9ff9d861ba4af297a7af8d4d95a3003f726810dc51ae0710a29a7b1476fca06bd11e9315d08a3e049d69c601d19800816f4a51d2b81e346c1082b9631bef3b6154966f4b99c217838a65039527cc00caa137c4c30b63a0e01a15985e44e86930c2b9dae65720b48153134b0ce0f000a2569109d112ecc5ba58bd5e4cc78febcad7be8e08f051481509abd9252696005c31b832d64fdb108819402d841125da028e4f0f857fb9971df717f43d59d90062e1a006f476926fd1a028f763025794146a1dee651a790e1f0b34f425c90200bd57cf95dd0c3d26dfa083006d786d61d5fd1591af3ee8f7def80216d11ad0006a169f1e7fe762293d90d6e26bcb154248e8bb0d7bb4e9425766df43dd826200ba674e93e3835de4a33435530282aa28c28f2e74735378106a396a0e887f0e00929a5ee4f288e2931a4820342225bc62720fa7492fce66a06940baa394c86500b81be33b595ec4b8b027e8f71639e6433d1c63e4ecdcba9559e729ad34590500c7152207c3b24bb82e8f2b86467df570c151e9f63ef6283ca6a314e39921a400d35bd4fdd66be036f418276dc149900cd0c6f434da9d5f7be347322270aed70080d66a6059f17ed8d8f15535cdcbfd9e1120a09f1ffae60e1d9c8d54e8e39e00b65db85f3b5140fc2543ff3235829ffa1f2e99acf38238f772d0ad625a31d6002a9ac25cf4f5bbd483b0ad1d8158aaabfe51dc407e9eac943b7eb8fa4d8448005a319a8e00a90f57c041e0d2a79572ab9102c182b2165f97dd0eda611cb19b00386b03b881c6a9126c595d4fbb7b58ffeee9034aae29f647b5b9fe0112b70c00874238ef5f3e97a5125fa105b85c9fd06bcf2f098d1fbcbab6f8506e09759500c38a59a3dec0cb8a27b3eab63cd6d8723ce632be883a00f7ca09beb0071c90002307771dc9c070aa483f11436b2c52f69427980d73d47ef43484fe93fe6adc006b83bfc45232dcc201d35113187b840dc60f666dc746705f49c47615fbfc2a0044f1fae99b7f02d146216b9e807514cb0a3b2bc99d49fe64de5283c2aa5fd900dd7f0728df729c303fe17bb529d5d6c78c674a7c9fcd8b56cc44fa4b805bdd00411846cda9add6f4f0e3f93c6bb236d422be1849adfad2b3b31ee290b11273000adcc529a6719207fe6b40d15065a197e2e6c4d5fbd32d4d31fa5b4abf804f0058a1509df79688f1028ea685e5745e9126bfbcf3f6283f3afeaf96610c81c200b9268721ff92f09b701684c1894341a388e3ff48d358d81456c300278353a800a52fa23bcb0d965791b814ee3d796fd741d64d909fcc986c51354bf5237c4b008fdc3cae04591af9f5b13efb9c1d29e55d19f25cb36b414bd4d48e08cfea2b002eb59c05a96fcdbfabf9f0a60e5919b3b1f65c7f0c7a6cbdd42e44d813a278009850cc42903f88890c47489bd1707f03c616f9b311170aafc31113f3207d6f00d13b2ddd5a01a3e0e2df233e17cdfcbae9c5f643c02ebe5ae4a5e5ffda066b001593a63f20e73920ace991d8af8c723c9d692bafd2b13ea27cb59c12d4cf3a001f563792c5dbf451a00e165682c98749a917395287aa4967f602ca8788ed63005ff4f6710cbbb2515d34c190aa0d42da99756d2b2b68bbea487cfcd4fe501f0035c2e6c7182dc9adcb031022f835d45164b8fdf20905bb1c58d20d56dfdef900e4f11376557bd9520d92e538df72f17cefb54b328bb93752051a0d500dfda1000e126638ecceced721e6644cb6f624a4182c652f0ce5d2c5da0c27ba1a0a8700715dbbbb4a479378442dda29ac319967f003b8e37da39bbadd615c4c5e204000e1a240226c07d56b042b2b8712a66f769b6be0ceef6de03d1528ec2febf9eb0049944c3feba1ffd77779abd60024d357d41ef012b0f39785229e390aba6fa70012acdb6e6f69a0d3fb82b9e453e5e6be9a0e0b64b04be4c1afbcbcae50fab50029b271e3be42685551fd90bbb1429e3baa933b19d1efb8144aa22264cbee9100f8f6cc06a98171aa2caac1fdf6d791d99150604c794763ae976941ed1237580035b18886583de96733e9aa06ce5713bd8691b8136407f7710d920f99bf0dde0045e94846e11bf294384e31de879e189e420ec398e33a44ccf2eedeb556701e006f99f7558e81396c84e52ff9f39bf365d0a4596fd4afe7161a058baf6512ab0073824571da17234e7bfb3799c9b882de9f046ba59b2c6c6bd35e03917da8a6003fa1dccbaa3e91fd08d092240ad4806d0fa7990e4af32398e938728a16f67100298fcea9863b38c50ad865e5fdaa2bfabcca08da2af1255251a60d0cf25a6b002328cbedf1f0d814d11a867a53e613142dbb229733f70291dfbfe883da40f3009d18df702161342c2a5aa7521867343d9c371f83d50b5fa7dadb9d03816ed3003eae73ba4650122441c4d41270d17581e1e0acb94aaad821184ecea51f7a9900d6e1f7036e3cdb36ab78e743949a53839d60e43dd3550d6d62488d707adbce00a7c7ae94e5e116741cfdd4a284a30b797e9a5800e9228b848ee84b577dde56005933afba8cfaaad718465f74f9796822994fecf580355cecfdf87c6b19f1ec006cc5c5088aea3f6e21e82c6efacff7e6c64069633a94d6226ec03246ef039800f0641a5765b3cbeb01acac8e7e29f2a61550985dd70dcc9b8af20b3aa94d8b006e67003b7ad623065651702cc9e8acf444834ddffee9de92410f765c3acf1800519ef03fa455a1d6571c1495403435bf8f058a1d69f84dfbb83d41da8fb3e20073ad4a47d538bfa4795a1623998db7197762662e2dae50179b675ac3fd18c400a9b783964e1053fd659e7bceff1ea25a6809623c965c41c9bcaaf012d461dd00e27531276ad7e55106247142f9cd37ad88a82a6eb14f2c3479f5c41975470f00db6558c9e9c5af0ced7cbf338295ab33b1d9d9f8002de73770fec68cdb613700d273a2020ba26d385be459d4d2b66cb67748f999943b0f88f91a8231b3dc8500ecd5f1f183e91b44151e00afd95b925bbd324d09719b2ae324d61a23f0c06500c81efae921dcff5d3d09215fd47564478d4c9f2b89e96f9e4c704b8c071ebc0084a9e614f9dca7187bf4dee53453eb9f089a1b03e409f70aa1525be1269d5d00210b0636698b4882c37430363e8ae3a89083ef641ab2dadb8972178895a9b900acbcde33a65656781cd5989e5f5e26ad8baec019b6630febf7e4b331a15ade00c7fbec20d3cf9241e5f5505b0b237af6cb2ae843a8643518a55abb1879cc0000a4258fb3d9895ecc260fd230bbcb33cdb0a8c5f979cc667c5491e2d3731d6c009514e9e46803b936f30dd41520683387d850d89e866401328ebb54452ff4db004b0f3370e87d8acbef3c168397810f485622d2e95bac3ad5325509432bd817000b71e04de4a7d12b951ddd32f14b019b4537e0660efc000c44f79d429bf4070089bc6a0d2999cd356c7862d0e500eda7b0ee876b45f10a97ee83e8f38dcffb00595e82858a848262d5d56169e9c7f644fe79a07280e8ff890d3f43d483540100bad38e7fd7a2c1601387abdad8236863cb479fcd28b6d5988dea13f167bbc30044f7b5492bef47d47b7831cd3f178e2b3dd9c7977654175c5777f1ecd8f5770010c5b0ecfceca4ba4b1a18a5ebbc1f1fad9a6af849d9d088334bfaae46e34f00f1b219b307146b5e69f867777088be428b8525a7a6fb49bed5e2907457b0370077363c28cbaeb589c052d7ceb5507d7abb63c1e8805697856ab1a5f65b5b6f00b7c1219f8e62d144bef8af60b1d7e24042cdd1494d8b35ad975e48898f861a002168ce3ce849459aadfd5ffd220b98be7c77cf91c566ebe99b08320710e53900256930dfc24888282478f0f510417f2c4bf594c0a1dd9ac4d1fb6a715781d400a9ba70b10e5fdf804bff08cde079ec9bb3a87d3f1e2d7fcfc3d6aad69565900021de48d0d8ed708373b826d750c7119a211616af1ea9f23d33b6ebb347d7870096017098eab30d70db1a4345dae0956b115bc4316d4ed89495b104327cc99d004a523ff576fe5d75aa2aeea4965a7f9ff1e12cdd315696a822a38412ba029300a0ba9f1b4dad685ca9f13e619d3a57e6df6502db6529ea468fb96f706546d500677ec797af28a2fb378b3a0f51af37f02961168e629a60769f5ee9e10033330017c8b79d3ad328cdd6aaa5bd80378fa87113f87f397ea8c03ad970bc95ba4600b0beb14154b43816d1a3ac0013c5c0f25dfbc34a4e99ff2d178489fc7f14c6000fc770c23348b8d5e4f7e76af37083dad5de81dec712ceced785b6dcfb14e9002691f9e9786c7f33142f761350fe7214e6d75cfd0c60dc27a1cd10f96a8e7900d1a7f98cead41a637f9a20df1f009dd46f6173328118b8bb0c60abc4c4b989006b7ddb473b4593292ba33212d2e432fcda7806c78b49295370a95ada61cf9f00283d9363707544a815b51e82ae777d6f80a70c9062861d5c11d964b99620cc00b8e9e41db6df42e28547c87fac20bd296955c55729e0f5cdaa3560b6d5774f00231e72063ebaf05e9a13cf73b8a2a8d0908a39c5822a487ecae87024f9352b003b7afc12c9bf9558ca326d229d9591274d9eae74a04a0c539126f56dcd83840036cbb22dd47819ae3e4dcde3556c60597ce0518b8a2c796669864482058fca0078d450ca302e53f9ef0106a5f9c30ece7ef109a78f8b9d1893aae145b94c5100d07e41b1fad3c71a3b1ef9c387e0899e856ae901054e76e779d2e8fe84194a00d5aadf1bf4135f9c6d8aa3032e7c78b7870f228bd2e9e8dafca4f15428bb2600cf4b4eff162c5fcca27f3fd6fd2d3412e13980d951a2bc5be01f6d2f0985ba00f7676505fd7a148f846bd35e7cf30b37a627a4366240bf014fccaf4faabfc9003ef8eb94c2c0a006505990a1e952f480cfa538db3d9e6f5c6e8c74d5a3301100772dc542d9725b49391e625f5b0af189b04ed93aa586d89e0e460e248f3aad00064dde6b818b02886faabd9c3cf28d113739af44c9f15d7757ee83d2dd82920026f61ced9affffcf5db785741f00851d860367f71b0dfb2d79c05dad899770003277e1c3ad727d70b7015565171402d3553cabb3f5787865856ec8d5c50bc9009dc2b7346a336b452a46a061f069047f8339dcff9962ccb9c3a7b737551005002384953bdd775a7bbe4f519f43fb9f82775e8d0196d1d4e3447fcfb07d3f0b00ddaed5111b78baae684116256195465d1bfd12ee46ca5a2cf5a467cefbeccd005ab84db26bc1800c5ff88a295449d91633983651191e571f377f9bf03597bb00a15a9ceaebfd9da7c4c3ae04455c0851e5753df52ea4f6ed400d9ec71e628600457c39a30364bee0325915a53e71055c88b8ea4ed27c6fff1f236375819d86004274d68cf67d90b8b485378c60c92b510bcd401bc00709f98ae46a2f17de0100562ceba681c2de2e4e4bd14e590dfcc2a8ab346e307332da88de815ac9f44a0031ae30b3f68f98ba57eeef983b2a9725f6c76dc2c8ecd67a7d5a9744d3a4b200a3a4db50ea70d10d9cfc1bc19a81c219e5745f67f1e2d36d835bee6d4fb89600a71e893073a596ef8fdc5d7ace8b71e6ad5e327cd408cad32dc57a47d5d3500031504e07a84b3293ff7c6e5d5cbdc8b310a28452fa3487eaf208249c977f6600d95b86d277b19bd77151a24c2261cbc3e295b0b5f430402207080c033b767d00e511cbf2a47487e8d16f0d6599ad22f7e85c5b91d7eb56e670d3049f397c2000cfe4c221387b18c0a37789bc3fd6ba646ca1588ba1c268321f1450236c2f7e00e2569662949aa1f94c0d3424fe6bf36a48403ee928eadecdd9d7ca465fadef0092d5902c978021a7bd0b020090cc8f02b65668f5f22a69af6195f67ff00f5d00b303e40b91f52d35ca4fad80be88a97336dc5c15e26c2154b4e3c70d015cf4009c3faaf2ed14521a3f07098d49bfa5c8227350c882d7950d82692b96c425b300e8c4a4eda96becfc199aafe43ae8c538122efd333114d83d1534135a6eb1ff00adf8d4b0037e8039a7691aefcb486264bc3063934c891389bfbe09230580a200afdef5ef68d09a6224b91334dd6eaea502db680a8fe92169631be4ea8e939000525d77494bae3cf113633bb4fdec76e87b2ab9762fa6d5335fdf88618d918a00e9b3a125edb54e81302a83cc91300575903bba64629076f302162ec0489dec00193c6536255617184386353a42518b567a6f254924b9eb0168e431cdcdaabe00b8bb307e26dfdebd8275e4ce47f0dd497c499e6304b781a522075d3504f2aa0053bd7a2388bc25ff20ccca4e2d9dbd1e9981c83166e438f1dc9328be8ec06d00885616c7e2a35b50ced3784cce117b90f78989d494f070b3c5d4dd9f7f5a02003fe9cf099282c05e8d96dd60d65eda3962f86b1929c25f01a0f229be73d3ae009d9f447fe5a95e17a9787707ebf79f1768cc72152c7a3b40fa0bb8a27e3c1700207c39fce331062c0b86c5d3d0d955fc52b0b4257c38334ba4226182a6145400e339c433f4243aea0f8f9ef782f135a0ef267470a1c335938ebb48a1803e8e002710430c3c2a03e1d83fe5f79968bc4bec68c9d5390e7173703004eb09c32300916ea67fad6b4262a01dd69e7908ebad9ff7115630fac2830202993335802a006d2a545b71064662068d0f066677c654d4ba9769873607f4fe8367062ce070006a166d24f1046cc0480fe9ee6a643ad359030783616fe239932582dd39e9c20088d871051ebad60a536dbf06df1ba7516aebc350e99e327f947d23e8b7c6d600e290b1ab4aeb454c052f1ac981245c4abe9417349d9f346439f88b39759add003b3d5711f00ac1addf24f8ce91c1588f489f6f69ed6c838dfeb141f94cb082005610a81c6b8af23725e31f7e8719c63893ea3e9d0b66890a20d8a2c0f69c7a0080689d6c5367fa6cb05f19ccfb1f12f15e0bc41d3c821ce94e0cb91e4e8b31007d7d640ff395694fd6eecebd6b18f79cda19c0b3257643e09794715ee9a9fb0087bdb94e0567c233e8337eb0e4d6a9ace29f96a9479efbc66d64789b62d96400bc5545559b04a092488a178aa337a6aa39f69f6d693fde53aef59b964a685200a1b69c392dcd0cd3b5c63faed72ba8afccc52a4755f917bdfbf115f97990a300243f84b497b390747c8074a68d52469064794a7f96d105dbfba5449d583cce00e4207affb2cccf830f878e4479a0a368b9b74ff9f36dbd126b06b6060a36cb00068a0161fcb24498ec586ae53721927723ce9857fdf3ea6b4d54cbea29761100cc2c4ae2767b8d7a9df05c6ea6549d796ec4a1028957167c5e28a257d706ba0022edbd7fa0ddf271485e65c4f897f1076351f883ec016190bb07fad621aea100bf9d70a58785b017dbf9662381808779ab3733dac7b7e26e570533b3cf9de300abe7220997b53950d5ff86cbc512c477a0404570a995f835b2fa6b7d636d6700c6f3d54e3ca013ac734c2a63669c242074a11caaf1280ef54a52aaa5c8c49c007c38ca5f8db28dde02e54a98b786f9feb39342dcaaecac515628fcc64085e100f72058cbf3fcb9ff09dcc6dcef7780e4feb66d327e07f26ad4a0820cbb524200a963964361f02e9e61f026eb4eaa41bb0132c248bce367a98355882edcbc900002ce145938a229ce6e48778981d5ae51d174c2d6163f3e3bdfdff372ac9bc40058fced1cc651f510617f7deea6481ecffad03acaa4b8bca08fc3abc36c96f300143e5ee50581414b1d2615f275d3cb19e8bb185aa21a63469ea4ffd7feb69600fc15a1b44bd3251986173149a0aa1b3be37b7d5da95e450b9ea5fc893770cb0045395f7d019ad5b8ce46467d28f8ce3cc1fc95fae436260e705e4aaa435c700026ca28dbe959ed124cf32144419a25ace5c6aeef7441c2c1f1b09e52a67822008d3ca9d026251bc9dcc6171a4d7dc35c5bfeaaff0b7877304cb79b1277f0660068aa540cc862a0704d2614e1496a0c2afa757fe3dfc891eca5117b2b32218c00540c4a3372cdbd8c78f479fb09016c62800f44e37991814c5bafdd23ae0360002246bee010494f7b551ba4c896c96723525f94ce6c95c944b5b934dca27c720058cebc97bbc858169cfdd2ddf5d999443efd444712f7f57b08b2c3dd3c36d000a76324af319317534a8bbb75a58b57d18e7df06cfd54692ec8cb58847e927e003ebc8b458b09aa03e1a3d822412d9e65ae3a82134d3e6e6ff8f86b3e4f05db0032ea5a74b859b840efe35e997a6a0c5a159a0cd4da0531536d665685d07af900867b9bcd7f397d4335da8cae744d43d1224d9c341e5ccf74d3ad0d2e5670da0097088d74b114890225dfd9f2a1608bef0254da1698c293a1cc4068197ae607004c6a53c4ef1e7798fd0057465199d4a294abb6fccc2f871e9695eb04bda11c0001eecd585a6ba447a5d3754ff6455733eaef1a586089b819c215270e567166002167982690c37ada49da9ecf5d8015855b843b5128e3bc33bd8e6dc16d4dae008d4cb93b2e341b26a53c3650304b05f21ee0c7f56264670f97ce6fb103c549001f161ccca8deea6515152c2ac3937edde1879427e765e024fbf8f81a00b9ac00cf2a297df5307fbc0eeefd0e5776b40765cedb342cfb33664a3f5ee63293f000e78ce72d58f0df68f4c6456b40cf53da32520215066be360f777561aea75b000bb4c30d8960806cc956a85aa2e41936ce2a27c03051e960fb48639adc17965002061ef026a058c4ec4e3b2725a3303206638d80c3f61accc907213ae1f004b0008bc9229df3cb72701bd723fc83c7e9cb18bf9aa1c701b5abcd819c85926cc00eeaae7fff2cbb8b511b36448a1fd0b1adcf011c019d9855e163207d472aa7b00f86fff2812f141ad306ddb6fac9e61c623d250a9a2cbfc4f924b3db97412df0040cebf2d886c2affec61e5eca0a5506a877c998a1ddb8a8046d472baa1850a00478eb75957527c7ac14e9ba25a5336259388c4dce8f60cf6d85313a6afe9ad00bc4f106ebe48e8f0bb803bfe8554549982200c2383c0672aa1df6e4cc860e000e11d0098dae0e66d004810063077f8eb55a42c3e6fd41b577908d1986e48910038f681043c94a29a81e1f9d250c9402a5a07f5babb33a27342779bdd21c9be00178101a071f10b618716fe9c649964f63e7f02d232a0ce1445dc5ea32f6acf0081d2a21ad9867214b1f83dc30946bf7f15c049ca2ef3b713c6e62b6ce39c9d002fb52b3cbd41fa5f38c0bb491d1f47354790d36b8d18f5605d6aaceacdcc1900db51c4c096be9789700ec7e41f6ddab40f1878c3ebb9dd7d259b420e73fb3300f0aec8d26f5cc1c49bf2437ce852905e717173a3f67d6d7fea801a8dd4ae9800a9022c6f40d0c8270aa7c877f67a75ecb0e54a1d737f8a64a619494f03705c009de94a41484a0a7818acfdfc19b187ed18ba483fcf742fd4796906675ff1f9000fb61fb6c9510826feb5e2287880c5beb06f7eac0dca8883ed86b2f87b38be0057afd63cdcfb7146df7be719663c08091af61ffc45b2c7d7fd9a11bf287e0d005db4c4ba3c431c855319fec43c3b48f40dcec18b32d3792713338ab931fc9f0085e4ed8824cc2e5e3aac85d41142de94eae31a89155a0c54956e2753d5123600811d0b728877f8cc708f2a796cfb55e7af9a4d1f3334b2278377794160c1660007a881ffccaa4e84a99db335634255323d0d03c51ae3c5e5cf97e2926f4cc10058a0fffbbc803abbacfb86c441862c8ac16bd6861945bb0af5ba3555a737d600e6c4a7997d24b7ebad65b0a68bd8473bcb2f4fc9d34ea339273d51f6a8e650008f55e878e291fda6d07eea7dff86926165bb3fa33cc57d463a081d0aed97de00a90bedab41725e5ea49ada2577dfcf22255ac3a7b137b61e78f34d6e6059bd00d41a3c903ae3c37aa722472e7dddf0efcb824b1a42aad1931313f46004278c002e90da8f289131df45bb22e5ce0f4ca034bb06705cc3610f138d65fefffb31009195f83edbd8d3a9072c1d404563ce7efa4dc1b7ab9188be4a633735f71b53009f71218c607b8ac082dccd1d842ba6261254006d6686d8723bef97cd5fb32700326a25c511d8890d6df7703848539627c98a86d24a445fdcc99990e34fa8fd00bc16b594e15ebb7d80084d36783548017a2cc04cc495dc262579066bf754fe0050c90d0a4a882135d9291d851c4932ada8e6e187d905373e6cb96c1d71a97d00eea1f1e3677ba4916d77158da54e1da0fc8894626c899935b5fe10be9bbed500765e7c1b574e68b5776a299f1c35da65df02caea1ea650bc2e8131327795a500829234fe5e929a90a7e85132ec83cba67126f97e7588ed70b9516e4d2d9954004556df17b39d0e1c1eeeb8285c7a39e6f8418b0186bacc55ccc47d5e9741dc00c3b62e8cbd67e4352c46bba32d5c7dd2150881600c5a4424a9e4a0a09475c3003715b0432d256b0b7b38fd13eae83efdbcd57c07c07f5f03a951b51f0de48d003c91c9cf629215c5b811b081b5fd724a182d50edd6a35c670aa69bcfcff77b003fe1db154f159639923da2105cee0dfc7f0461b573bf286d379fd112651f91003d4d7ffcc772a2da198f0411849ed120b55eeb14ec30da3abefd6d4593e728003d386d46a6a303e81bf1321a57367ae1e21b94f8e9efbf9c63543bb37b632a0059cde8eaa184dc2e8d232f6d02b2febced693cc53f4936a4c8a32127979a94003422dc17717c940bd559d4228bebfcfd844cbb1148b09bb0ee13acad49ea23007befae2e65baa5c58aaa4314cf032138b6c87fc3a457ce667f94f1c054b99f00d6f0a9e901b6a83b33d2af052336ef0be3a6835176c78f77e03dd4660f089400dd9e355b5ad33ab590859b467963898c095884041404b0d94e8dc7fb44344d004c039d35a4d2674207e41469096c1e35bafc052f778a18192359a849b5e6150036ed6938cd1f2a0c6dd9950dfbc12e135f4ee41d195c0d55f77c3ef6f981cd00ab6b8f6eede381b4b7ec144b0e1a45a377b280e0c61a6a3b4ed7c664f11e920029d90aa5a43e36ed450577f7b046f24cb91f45ae9d30e5b7069d2e048f38a3007d20d717413531514b9e8b9005f73370f126c33a3903b60cc62bfa492d84800007ea63c780331afa80d4f8cdef2d27d422edec7cc48d9a037467ac8d0fee8f003e060c26cfb51f0a68f85bc679dacef489f8b9b417fc9998d049dd8342224300cadc9f6634452811fb68293b286ff7bb4887a055321629f326bdc74f761ab500573dbb1f264e75a5a3832e8c7afbaf8844c52d8de8e9345651c33e6747b3810067584b608270910786392206fe1b6372772490d0026c5066b7c5f8e18048f200f554f96b8f321f8b3de0328fd909e658de36375d68ef7c4c2a8aececed6aef0025539b10d056dcb04cc91f0a25003fde162457e67b8a43ae3d59bcd38aa111006f9fe1434edcf57ef3c21ed530395c0ebcef1b1c5ecaa3d38dfe91a5c0be450024df21301bc139c5d8c5b467216f7b8775996e3546a9bfd9a10b7dcfe93e2a00342294ae8e8bccacfc74a5f398410bc9a4d3cb549fcc52220cd8f038f280db002b9fa5c13f4b125a0f733ae09946baf13dcb3ef48e6fc1db6dd24233f873e2003cad1878664e07e0c50810cc82b816941f7a8a152304b7e545c200223c27d904c85b0eadab89fb20e7b3e74189fb4016f100297b13dc7d1478c66ed4927bff014901f7a308f20f53b8c6055ba24afa4cb689017fcfcce35dde5e6846ea18d50289a2a294530a13d854ab84aaa202ec4b164fadfd50e67d78700ab79967b94403c89dd19e21a17e3653e10d529882f9b81c4ae4681942411eaec9ff300032b500f8534cb25fdceb9c7cd7ba28803ed33ff1c33929fa68a2c19079d9d503e3d00506c93e6809ff90391119eddd17c2a4b4f5992a3e288b64b9503520eafe1ba901dad1dc20924315e20ab38f2d55983391309053b6e8f1dd722df4f327c2a18e0223dbeea703ffc8ceaea0858d372634beaf56ca5a266fa0372fc728e18f077700f0fb10b030582580b745a90c6d8989a72a7f3ceb235c914cd01d23fbd40ffe012ca61d156fc2235849c1754d0d547b3fb843bb7dedf3244f850e15e2befe1e038fcf3c7c74e1fc09d99db188d6f05e708728b7d2ff68b6b0d62016da130ed20354616c41636018076c5c3aed9d5f44a54ec2038e35648be5bd1c60203c42c905bdc2bb51660500a4f46a1265eae6f84b90a7ab761e48c1c5b4c32b1baf73820429bf0971c6cdc39f30b2be0defc61a6db50e7b5d3dc4ec557e17a3099029a80326e0b3ed222daba567276fe78c27beba7b5702c264fa27273ad7a02edceab104474a4d7fced2957db05b37b4ffdeb843fcb941b3d547a777469930a55c0bb806055918bea875335c464b1b019080a3fb98ea1f6f8d36f8d85879c0577d30d8058d754a1e6a10c7e0e011d216a93d449a81615ad610148777bde5ec0a546b1606c7a755b67c4fc40a9bd816f50dcf067909b38869f9239bcf7a3c3b63a90dbc01f7358136c2368f6b7add15ead525c8560660c7e8b0cb8a344ad2de2994828305a35766bdb96ec979dc90504a5db03ab73a0e2deab338f0e7e5bcf312b48e9f0337ed541e331be4fca195b3f89cfb6c9ae29dffc860a578f35ec8291f2dcf1f041bd70cc9ddde4fd5350752cdefad3477bbc2b8393410de245aa5033119297f05bebee82fb50675d27d7af9a46fdfd067113263a99b58f39f1eb669eef612a100b7443cb3f691078f285fde7bbefa67a6227ec15dc02ff4f5c34ea01a6a6ccd0355ef2d46ba75316123ea3d8cb085eab0e3a755a38b7978a92d6032de68047902c5d815ca42a0d1b0b05d02815f258adfad187ad947a79412c29345a8c6ae07037d6b037c16d14d8b78645ba41bcf36e7b262e8601384040d7a881f606fbf780197c070eafdd779250eff65321c8db6f015500803eca55c65674990c81fb90804b35d0e6c30e0f8922bebc92617c6427ce7dfee7e874a6a0b3bf1b06a89da110425e8e9ff05b4e44d77dbb3e84f4d235844542309e6e6bba6f7b90ea0927b4807e813d63f0b57706d32fcc9cc8c132cefedbb523844ebad92768dd1a33570fd01b0aa81743eccc1a07339bfdb39c42785a9bdc1a93b4ea88b82457226231e89023e26fd222e2eebbad3584f08303c7013744b0ae59fb00a7eccc6433b810d9e01a812f5f3ebe42cf69f12961d468812cf9fb8134b81e6474eb748a56e2775ea06585801b5a15a14e4e25a145d6a8413076d5c2f3d12c015b56f56d5c0d5d8770583d5143cd78a1e1b0deb593b948c831642afe77b22254b42e93f539ff72fbb01c6c3b211e01ac62a675f5a38c3ea5639b1a9a78d390cc793dc9bc3cccc3b1202b42fd9941c0dad4f0b6d05de11df19f9b250bfe29e719de269d7785bb1ed0f012c4ce9ba5030efe3ec5bdd03a662ae6a3e7557143806438f2d988f36c712c807f8f35ec8c268aa0995a04de16c8d0e85a9032d728ef74d7bd5eaa4b22281f4003e66025545ecbae071a48737844e4df7d8f9ab8fdd26f211819a351928a87b02aff8057c38013e23df0b1d20b61715e68607dde0acc42ba851aa9c89a664c00772c1132b127445a6514c84622721f3bd4f98b3c852e2b23cd8cd02e279eb0102bb05ea0b6409471ad1d2b184ae5668d90f7f031b64d1450a8bb4a45ff6829303cdb29a0076b061f439e656400b6ab23afa41997c664a7c1414abea55a8e40103872e74c6bbb3b77ddd81d6680530951b7134a0afbbe8e11de5d92e2cf54035078ccf263206be9b36314369a0f5954c6c6f5a419777b9ed6b6de2a3745f6d2e03e69e2762f8a114af0859cd7f70bab70a89e13e9f3aee040c5bbb68136de95b0271d5ac48c4e9c816232655ab558a3b789fd07286348b766a68c6ef7422a8a0036fd278f706e43b874a746b9ac4792b90247e48608446b2fa25a976c065a52303e18406ff5a4cbf2fac40a56380979cedd6951aa02886378c081ffa79e543ec07802f68b589a21c6a32b6300f0464f98fd1547222be48b27fde4e209e711bd9075c7ad07361f14bc4462f0a65b9e5109948859b63bb4790e5bd60b405c79c840430f20c15ec2b7dc76b2be51f995d4ad7f74197cd875eecee9e2959445595b9008803a2c5c5edbcaefed068cf50649d9bf31161e954138817990c375409eef000fa8fb2251e663a8464e4cae9ec7cb1e7546cca70540d88c079cfd566d259fb00890b390199966d30e0837c74d27f31a5c4ef7d31268905d5a6fc827820e44b01c959dbc1cc595e7325f24b70d4917f1f5193b4259d0f5a36c804f79126d3e70673189e38fba713afe0de5be8d6cdfb21d3444142f5005a6d9096c6a906faf505b99b11b1a379e79121cf54eb2e13e4746997c946ef9fd5a2da985a882ef6c904b9e11d34433e15756318c95a3ca526c0101850672266cba323b4bbe5ed02ea060ffeb033cee8fb9a94e3aa349cd22639a0c8aaedab1957f2eea4c63873cfef04db236486f82e215b1f72b0a756458b76b465729b233ecebd2b312e7b1acb39024ab9bb19441c8e111017b5d8d6b2656e44fc5898dac309493bbafea9848cdb074f2509ae6dfeeeb4e4f24e4172e77ee02e2d67dcaa2dee3c3b58ac955e0aaa051804a746d468944db9e70c87acda577ae390f91cabed3d7b5869c2e4da800d001558633bf6b756b3530ff4842bc6a4efff7d80b884087408c22bc30d863e6c069009e599dda99b9190065ad8a44d321f25f5dada20df9fe49bb1049f8fcb5d06fab23aa61bfda6e7ec3880b2fdab1066b40e533a7f83a42e09284c4a76647a067f2ae901dd7afd88c29d31c1976483f314c5ce2ac609f1c2f1659e6ecbf7240189e0d48cfb73afac19bea99e73e6a5000daa42c175882e7368d9ebc71d0448076501f9396a59d4727b24f3e8936e5329279b6af2254e013f7d02303f85e2d903014259badc39c3916cb94a0bcf03fe40a961a48af555146ec263c9f98dbdb9047ca054cf868bc0eaab5743dfef37ba2107896c3e166b6b38fd92f5567ec13e02b2b92a39f212165654675f58af77422fe4af80763e904abed7393272df241b06dd08356a8207ce5dc38893b8d23f4963f1ee8aa749ceb0234828c68e5c8dac00f5256b0630406285173185d3b584176e3ba1c9088d75d28ba11f8f811c4cc407cc4e0791111f8a5037b8e916b2198e0d37d2e481ab364f742607a6bca867a100ad6d4c53505f1fbbebfcb75de9781d335ade4b8f5f3f5b9916324efa32297b01df00b0057bc884e7dc664fc84e5d79a9ff725d4341080a2cacda4ac374c3520133ca008572491aa0b4c211d8b1c95a3db6bc37521b5aa17cd6aaf71752783e051543c78f3734e86f4a163260a90feead8f6249d288d6b2139b18731ab83ff3069cabc44ba53e59c5af056c7f36cabaab8f22f2a3cf3d569b60702a3a56c045014bd1ffcfd099cb61dc8f85dc3a7014fb8b4ced11006077ad1cc937935587160053c50288a8416bb2428cf28acaae1983d05ecadc816ad04f4f78eba47718d107680d73663b98837e0a49c478187654a9cd270384d84ad069e51282e886b666046683457fe0cca395e58289659550cae9c401cd09fd6a2278206dba8bf3f0e801531c1e3ac9edc2ceeddcb00ee83ae088357e829dc850e37c3228f65f68733605d347a131666d331819e327c06a2333e9ac2adf8bc4595c43c5b2ce7328fe6a05ebf149337a09e83ff1cc28e0a3cc273842e4df440e06c83a64285a4d12789f0500faa86b1f2b02f8eb546fd13955a7ea2f50ac5706576ef497e6d0ed40050b0785859daf4cf7a5ea2c2d5cf27e222a31332e654eeeabb041f62a53112d199c01bea0871cee1628d78db49a074e8477fae3d46b3b9daf97de60c9bebf7967a5022073e10867e5441a51481b4bebafec2bda63c5397bb0f25355993c9127d96501664be3add6b236eb3a21d10f4af33f9dddd3077d55e20389e0f2611b73cf9c07075fb1a9829970f738d198646f93c4627b3f79decd3cb08c41780e4c966c4201a289ad030652f7f1c9680ad54170b7062f678463f82cc431ed287ef8a8dc1406e21a1142f0f8ca67fb010dab403e7f394377cc1d63d8c75d0ee81eed360ad607910c05cb0a611bec9b72cdfe8f83105f1f4e3ee4fd76d9033baac326350b0a07fa56b538749b9b1be2c3562683b863d105e36941165872700dae7e79ddbd55004411a3e0a30b1069795a6f352ef45967215aedf9d7e9bf75bf6160ff4c4184007bbba84965369a413faec1bad2e2bda4d15552a8e7b6da144bd1819f22cf5d0374a4015467a0eaa243e1f37b9d0bc209b226170242fedddfc99d11e9d58eeb0060befab10d64e24e36dc7ce88351bf6f191e783d4ec3890b2834fc1db9537506b7a0a27387a91cb088064297752dff1600b1616fd5c9e8507d1e3e4abd929e0382874b7a526c9a413f0ffc6e91ac384689e2e7428466a1954e6e6032b0ea450771b1d8f76adda8f02d728d7712dfba1f88a07e3c82ca37e081b0d5f2d6c028071cb3a47a7158cec7186c28b7a0083196628216c1ff1ae4ef961f0361ecf0030071ad64bdf2cd3eeb7907efbf00bf879988240e34c9337de539218daadb8b0900fb0d424f1d52b64ecde175c09c2c9b52f48279d29bfe4affa8bade1d40041900bc5a7d860e253305e23301244149f2681bc5904e8810760063b38f9215a6ad00b5ddbd56d8f58b3c7c87eca829e40d6c7b4b1ff1de89e63b0b5d52f30a4b9b004e5d6d4e5419a340b662a0c6d4592567a6c6e3e91fcd43116099ff2b91820a00019696d3c16a86e07ed6073870c54bfca145053c33b9389bde76ae87e5532300616c07252d20003b3573674d69e1a6a5c7ad8fb71466dc6ec7d12d7a90350500a26092110a3ba92d92fdd71d25bd27a1ddea39e6db95ccb613a9e77a6f3d9100cd93836f2737ed5c91bdf3d50aebf5639d4ebc61da6782aa396b179c6a0df80076a19f66b732b6faddf81b0e2111001ee103209222a96b6e79980fb8ca4be100b8ef6467fabc3742d27a6d433d7cbf951940c795a07531a6068022e81770d200bd3a83aca3b3b96e94a4974cfea01a8eee2b94292b6ff94bade147de7d46390045235320c66c4ef49bac77706f593ab4dfca4d78901a129120c99ea91782f500039f1491a1bc2a275d4f44394fa4c2001c523261a34c623e8e445d8a28b0b900197be595a8fda7c2fb87d6d30665abb8767bddc3c56bba2455ba0551f2addb0024a4193ae29fa5bbfaabefdacebfe521a20ba7f04bd0f3e45db780ab8f914e007b827e367faab6027f41f294cd0a40d3de8a153e8ec061661dfaef952aa89600fea75006e5aa8bb85ca0e8e1c781b74ccd6f6a81bcebb0f1a6d04230ebbfac003cd642880441ca6107c9c590dcd62d5d6789cb4b9283476fbe4944859081f00047eb7325e6fa1b4f156363543cbbf962967a4d340cd4b92470960ce51aa23f000c46a28162e7d0326836bd6d428fe22c7cc043df9699c459eb888ed2b9a3c90086950a3c7bc01b263e1c671aeed894b406722223bae73d2127419f156229e600a6f51878d4edfc784cf28ede96bdc9a12e6f6ad3fb845aed38dd0f3679aaf300926c3fb275119234e0c3a8fa3984f798a1dd1853693274643f396d86e9f65b00341b5afe7acaa54ba67c1e088117ac38a9996c63bd213a8b20f0894a7f43c400a0a2262957c8d315ad599f2e2ade94c0ef2f6be20aa5d17f952260500c585400d45f20460f62cae76232d67cb256f3479ae4ed66bc520dbede31db95e683d800c1d3dc2f007753c24daa3119ada380fb6e1f6e635fd07203671708ab92441c00aa6808c8b9724a76805c31a3c4a7a6633899ed5ad0f8920d48170cb79583a800431e6d10d8dfb1fc5b5a69495593de6c9cf4d6a62b449907c017f656d36c4600ff397e5aef20a81c1f8538175d8c864e5bbb7785c2c366f82b62ce58c83d9100c9e45cccc7ad26c505c901574019402376361ecd28c5f2737d4dec171a325700b46e55a4d07cf93de775734435cfcfc494a7940f9ec0a94b91344fdcfbaa3c00eaccb539de007d264d845ce05ec2cabf61404d1ecb68a208a60999264c0b850078bd15410d02f8982ee3936cc7c7bfe43ad3b7f3750625a6c4cab814165d9e0092ad83b33ce83af3793454c0afc186251d8a46f897870bc40e8960258a1baa00eb5b65e00de6f50036dc77d9d49366dd90e8fc45c3bb1c5fded7deed013b4200f2d3257572d2460688a72f525079bcaded0c12b700abdb9790273ede49e66100001024020439c0ab6f204d8a19f10f89882e388f38e589658dad9e1c08a50b00aeef29b9dffdaeaf748b9934933d1d326c1ba491893f00c063dbd06593eeea0011f252be67320d135229878096e8c974fb40ad46b46c92cacc69e4421946a70011ac4f7a41e646610995e384a5f24bc961d78c8052ce67a18508ddf085d943009eb0c923e3632c9a3a93b481773c61b604ffc9f8321da98d084261222d0dfa00452d88502beab3980cf0a6f673ad958bcd1ace53d46562ccfe2ea4158492e600104f030c3a1dc70a5386fdb962dcd25c22d5c0930a4811b472b22cf895364b0009ea670077586bf224fde1a9e18460216d9679ef84e4941f2bf353107df112008da3f98bf976abed46e3a1d9f1b7631b9309fc0ca1321196ad2f41ca27c5830047d9232d711d82c342ddbb256e136b39cb7b06c9fc341ddda77d9174b0f48c00aee6496a515fd7df83f889e67592959e1f58bc1b8f8c78a4bf2a452825f18800e6b24e974ee0dda3675bf24c1c808f817bda4ae3fc8daf6cd5c59299696a94009c0c5bf2ab8f03115cd050cfa126271bb58d5967009ce01b79b020ccc2a7b700694743c0f1c61a87b8bcd099cf0f26f0e7a0ee9972ca321e234f13dea061380012fe19169a006e5b9b5ded679a7391e349e6fa4af15e0f935ef17e2db0867500cd771c7c084ec5b31fbde9770992a1d4f65bd9ab145e5b9f8d81ef248f61b5000669975965cc7dcfdba027f62cd5a5e73cf742b30cd07b7b9c654d2a0dcda800cb301d2fabdae979a244eebba2e2200267762af091ac2145d1c1df590caf560062a6f4a263b1ceb87edc142367610a6896932ca16e8fae779cee9820ed15820050c623542bd71e3af64b4ed324e492c7ba2564c61f3e47f21b984fb7634b13003501b95150894796dd7d56cf04f3263e7510996e41e3b1fa2fec61e7d7fe5900e3b74c0b47983a89ba5f3245eb2dea7b1acfe6ff2a6733ef7cc3002be16bd800688427d93e5ec7af98d10571e9ee36085ed1dedf858f34e7bc2519ea209e2700749d3814e900a85058dc34fb11c85ff87e905c36eb5a563b54ea7f0c54390c001c89d0edb89bfc99578a2fecf5312115e73250db020b4f30e5f35055bd0d34006cf3350895241da50e0ec0230cb1021d9eea921fcd2a62bad4ac94327c3f5b004b89d9ba36b81aa6855ffa8ae8dad9da207d7b399faa66b76fed204a334c340041e6cbce084da13c99729e81ab0992bc44664d560c4297b0091152918a0b0b00c403d655a29789d4cfad5ec7c52e25c7fe0bf23966cf553c14ec402a945fdc0094f3ac19a1143de2066526590e50bc5c21d8571573fc784d30607f8203f09b0088a80c17545b7e53f5be9e355eb6d52c943e438d0f4dc223186185db340694000c504cf3537db8da420cc38fbe50480ab050b3c31afae01124f12ca7b0b90e00f25015ca71a4d76cd8cb03ca7ae58e28e67d685fae4c383b1e8907bf1f0a7300dee4ebb2edc1d44c278cbf834b9b6a5280db0dad86904c643fa62038554b63002f6230efba8395f90fa29a01da60be677ce97ffcb1c7e26dfdbafe4fbbcb5800ac8e6b913b8214977d32136ecd2a69974cfc0b0426dc942f5308a650a0fe790042ff5b8ede43da1b74645869be9c5f51a301b828de660ffd18fb9422dc59b60026e8000a0ac71020e8c469a5cf7480af07a4c5122bf3b7cb216f72fe36fb680072b7b7f9b47fecaac1298bedea9d41d74eb1c70ca7b91882a17a16720805760063269e374b6d616b7b29f8195241ffa1834a6bc2dec9182a3af75b0b1e30c300f860eeac2a872c795c1c7973c3f2e8c226e7c89cebee79ed470d17a093d9280055bd8a671fe9f947889d7ed3275eb7fc21f92f11af753736e42dcb284de37700801d9da5f6c64cd2ab371ba623c275976ef03836f0979b7c4aa9e58350395e009572e24f050a71ddb6cc86b91d6d419d76f9167edeb4c28737ec9d127bd5bb00d9936f711da6012b3bf505e05f35128e98f37b8b74fa8e5128fdc54bfa642c00f666b6092e3f1edf1ad245781de14d5bc86a74efdf3329ac310913e83d244e00bb9b69581773854fbb36aed5fcb6a6ad411e897c3820119baa7c68956d82a600bf7a41708d4bd31d8f5b47daf0bdc03c01fe9a28e6e966e84fd8d3f9a8fcf600584059b31d717a581e15d5f1f7f3e038c36a38fabb635120b2ff2c837b0b3100cc78f24d8a9e404762e04ad6678ce4abec0101b01223f4b525b6250bec05ef00c6c4f522f66d6dd0b0223ffb6e2316d624c45c0ccbf88bc293e151691078ed00de0a27af92b1b901904640b916f39edc60dc2f2a490a952467d1dfc09955e400d488da6eb0734cd56a3c4aab6744c73ffbb75ded080045dfdbab2cb13ab48100955c87533f906ec90a9054ebc099f5f15364d403344a38f8dd63517a6574ea00ce8998da28ccba2ff52e3e3351c30aeea4cadf844a4eaa3b50f695122cb3b700f787278a5e5198b690a27dca066c53d43b6f309b72e95f58b611b1f713fb010066da179267330a37ae937fad65fd4c3368d2cb7a3b06d2b7edd2f250d33be400a24a05e1010fdc9ae41246b94d3ec3c3a5894972afd0310517bff179420f2000f48491f216b270429f205a96619c4f8965449c8ad333733e0929cf067af1f1000d6440f29312e18551c69df5a18f0657a24267018d842fa25b939dd296e6c600f1c742e2c341deca0198b5c4506f99b91a8877375dced68c8a5a4074aaac1d0005670bb2654a9e3d903d24bfe71bfd23ec3ab07f420f2f4d299a057466fb5500f010657b5eac379d8691e27fd0e636e830159005d17382d5cf05b95d8e6630004dbbb27ab3a0173ac80f6176e27d5b13d7da3b754268128fb5a8555d8b37a1002748a2a70da1d9514be7bec0e39e7540feaf2d84616f53cea2fa8fcc7c74b8003ca99ca7f479f3a547cc5531c2088128772f82ae7ede523d2fc53f08ee3f99001b13dfdccf79d5554f93ade924175a9333b62e07ab70f7d8a53d15cadbdf9d00f0a965331dc84bfa7fb43f2824fc75db83582f7b3eb4a6cf25b7e75907070200ddba7cabdf57d251830b3cd3761ae26c1a36902f4ef68aa433f18a182694d500887a878e129aa14b916d742fe2a26102a241700d0998efb77e70b2036d7ff3007668b5c24c1db5a9669f666458ed19832a226e718022d46a9b1edbbb4dfca0008d7743138fdc62f7662a7e9e72159938e48edf92a400649dc24dbc574415a800c33afdf91904ce78600930d2069253e26006527cf0e1a9d55b8910f5167bf2003f6060880e1927ecb7d3c5221d25bfc55cd4369019585d60bb61d7321c40f10087f69c6d07301c41c934e50c7466fc81171a5d243c8a14fbb5d51bb5f97ef400be5418f48dcd149d47b846069a6621d1a8173a9dc90a091210f4ffbb9f68f30089f54b390ec6ac1b990454f57e029aff10ef139912ef6b222e6770ea5f5ff7002a721f9801357de0451fc954a5774f170bc4214f1bbed061175e13291fdf4d00c024adce7409390722df17813f07e3c3400011a5e794a618b5f96b1e4bcbf8002bdd18eac6c926a276fc0c93bb818eea53593fe97ec3c516fe79c1d152710a001ed4dc6d8a36996ad34605492c34b90d828ceb68472231f0d41ff7422f441100a528777dc2ecae925a18588cb6be8e12a86105734c055aba9086a8d098230f003f9f9ec9e18c413ee85f727d3afaa67b9ae8453b3bed0754ef312dd19ed1d900ce90333df6dfbedbe056c424b1d3ae12a3e11ca98b8663804066d9f49c5c7e00059a096007f72c4af6203719ea2a4d07984caee8aa95034fcceca542554a8100ebc1fd6633ea7cd49db9ba05a96e6ec2d8c7024727120bd5d250b83e1053f200b502ced6b9c906995e3bfad1cb4e4a4793e6e71d7f2c21da187ea4bc3690d70078844d63e87fc5e44f41e9e510435b7358d35c0060674f38cd95595390812600538cdaf2a0fd5ce98d61f05ec42c2056060471662a437a4af7fc29cba429a70032a50d39bf4cd456b843289ac941ad858f1e0350e45ee2d1f0f530ccb5dff20047a371f583ee73621be2f839ea878f307abf6099f8e2657b1a203b3d2d51a7003084edb554df3f3e30aaba61c7c23b7b4091b9da640ba8b11980238aa248ed00fdc22274698d5ec9678f9cac4e48406fe37f70f04c415d87d35b43f9262e1900d3844bfd1e65e6d129998fd00b47ed663238205235cff55a28bab7d0a78aba00fa7a5b1dce32e3619a54cf897cf79cf744ccc8354134ce3dd783eb03b13f0a008044e8ed63438dc9dca6cbded1a702b8595ef29236abfae62d87a002cba82a00bfab39b42773153cf83fb3f222b86e4a4bb4e93f2935d7d5a2471e805b8c6500503087388413e47f140c0e1eea3e1d2d7b36d38beb3fdd9c50efd5fcb896a600407217ee5a15a7fc25dc095cf634259d03c26604c7c16d9015aebf0e1dd6d000e451992273e121566cc1f3c4e22365ced3eae9219b78dc470c59fb7aa9b67100069ba62e91cd5ce8b1948a686c782b810d1f57e075de3439f984032f55b43800e7c5cef05997cc68e688ce697fd56dd7a1b636b3408b438b72309b0d043b7b00334278e9205b93963da818847d0ef24c30a91e384ba3be08f649114a5b002f0093cca360f96f1b039344f089be77ce8a8c62309bfa76cd0bc9178b0a0c4a3c0092fa3b9b397d1b45b9161fc9d5f6a069afeb67a1fafc53dbe994c310ec57a700994d97b077843e9dc5f39538402ff7aeb354c840b6c990e834a275f4433bde00b2b7faefd1fe7e4d48076a4df1a46611981cec0c82b75234ca6f861050b90d0067cf8732037ad05bc8a455fe87c308a707ec01b7b94e6226179729c9061965004230bf51ff11ddbfe441688c9eb6c35012b422569ad3a9eb8cfed940323b3400ef98f82611b09e1fd7f66eee2aa776d787d564edd4c47d9b9634b067621f0800315faf5d6da6daf76b02795fdf8278f87d4fe75795dd362e1f80e9d12bc3f3005f9b141f109982f436e1414b7fafedf9e9ec852f11779a54aa42bba973687300710e069c92e49571dc9471b7afb2b8d33d175c0b5cdfdaa96ed8d0311d35c7007dd697e8a681fa2eee9c3919e14df5bad0a559bdf108de6b967cda0a8509da00e38383e870c528df163a04291eaa1ae52758a3521e7d98c791c3ddd29c5a9200e9b8b26690b4a32fa743bef764ad407e5cf46b8883c43e157e9241ec3a0e230088f99f336e7a83b35fc9bfd4c52ab1141091cc9fffdad493a18954880d706e006e7b407afb311e9b071072d76b3c93c83a10a95e889876bf9e8af344c96c39001f499dbf02f222d63d7bf503a238a1c70fb25a6e57feadbe2535989c6cb0ac0022063ac612f485325494bd3773b04fb80ddd5815774e7ccaae9bbd2069065a007bcb407fe342545c949e63d338e49f99ae20a0f65b48dea6bc0dcff4c3d69a00fdfc2f44cb3f2924e8e494ea367ea6e4a9f645632a01707a43e2b3a97a3f0200ff974c691542caa6e1273d7d757e94302fadb033afd1baff58eb61ec871321009b3f55dca6c4343bc41b96108eacdd369ff1070be5f224ea9a2cba80d0e08f00b139413af492a2dbf71ab618b4f8f1b00c5cf4a3449ac0ba028834911da7960065a1ac9002d1edf79bc74032dab8d19255ba4b00362b95f1c1bbdbcc85a951002a702af81c6cb0d35d14acf215a475585edf212a65672aed9dce1ed4f3e63000413a9454e6d405f1550fb5a994010bb1ded8b736813b80a308f7bdc975dd62007535e340b743f20067b8c40fc211a91c48caea1723efc3102db2b8deb32a64008a4b47e8501bb6be68773221564f632b2eb08cb76b7626f7caaf1a95053bfa00429d90fecd28b7c2ea920de8629cf46f989848b77cad072bea8108ba467212001ef456e7817f542e2f66b7e649dc37cb5312dc3bea45eb9ba9ec31187281330052d0d3bc7b73fbc8645595a80c2dba7b4dc9d9ff3e2938d10a01c66be9b995002145a6e970f96e324fa061907000f0c3f22683070e404eb95a75dd3bd7ebf5007974e88cc7ba6ff1047da5fb963d449461b4c376b7e8f03ace7ee32419b71300fadda5aa9384e7834bb1ad39a41bcd2f382d3b08dd671bb57abe44f2a66d9200e76f209355895979c338e7d087eba5f263c1fa15fb9c7164c8c43626f2c79e00d1dd0f626b35048afaa0e2d731341e92b81b86dc951f81095cdfa3c293dd8b005371662a5a289e61e40cdcc652367f82652cc19e4bf2f9565ac92c73f3b4fb00cf18c272dec88b1fb4c13b5370dfbd6f51f1055614d84db06766477def96490084ef5048c5046d6db8f92735cd58cbc4b42435b767d29c24131ac36378093300f527250ba7f2f42761c265bb3921f190c9fb78238d460cec6fa581dc2b521a00ed0fc63c46aee6738336093657f4774a8710eec6af8fadf748a940ef6162b70042d4ac6a52532a71b497cf2e52e652442ea5dafa866a32e2c1b037026b08a100f59124274f1132511ad71d222c2a813d504342d6e00a726dbe0270ba079014005d3db5acb285b2b83cfcfd34cd9f504def839c3c67001d612fb24861e2df02002f2cc933540f91b7d492ad18bd61df562642787d15e34652758762646b868200e08b7782c9b6180d57a87e02f670c7152081c795a03262be6c64921046ce48007123b2f32aa68579496f50b9b9c646a5bd71451a345b17abeef248195cda9c0069a6f50b045f1d4ce68145f8cfaf06a3ada428e14175e7f62960df490710f3002faf9dab2c3ae292e43b4aa5641cae0ec76ee81a0f821ca18a878db5f60ef7009fe8403eee83d0af9f3d2c5614241c0a7d6ccda3bb902da39aaf5a5e1eadc900c44301df5e9509959df6668b01b238fb5b4996734f3c4984f2defb55f0356c006446ff3ac7f42d7ffdb917cb7a49197fde2b3278ba6852150efb6452dfa8fc00a71c3603ba26cfe317e3eeef81d97cf2c1c876f8a3961f4a1afe67413f0ccf00fc2aa70d31362977bfd8948f44a955bff6439dfbdcf1156df8d4ba93ea9d3a0051b9ac99dd2a4e21bbfe15705abb384524979133a29a9ab1852340432e29b1009b80ead6b57dadcbd4920c6c0b1da2c5b5e0c89822c6615e09942a0f40563400f98ed63b69a8680a8fbb349eb7c6aeca6753cfc913b955bd626c7e28e9a57e0089497e6534094c55953abc126c3e358818260b7ab39bea4523cbf53f1858cc009aeb6acc3adaaa24d559e694102ee43ee0cdad3adb17eb90ca01eb6a1ad5f5001ec7c4b015f35bab6783fddf135251fae995615d9059cb3bf9070b7980288800405ffc10ae6acd687102dd8e66bde8a397816065f5a111890d0631bb84d99c00278767b3c37ba39994d05322fef6c6112bcc28e0cedf3dc2c0fac2fb9f808a00b39ac740c68e1927a64e35441306fec9e76405b7120405418ddeee4a80db8200087a516c910e6b28522e311b0c8ecd55cb5121ab4017bb4731443b73ed443d000d4879b1d9bec5e10963aa6f8cd99cda89b923ac5dd7bad006c273df38a97e002a4eda6e5a9cebd8158fe7adeb8ce689df525d27dad6507581480318ef4844005743eed2cff50cb6333bad023e0c843a8d3ebd7527b5ce6f0b111a34105ac600615c0b141af3ae0bb7b138f464d705d6942303781782d60f13fcc4275c919c00a356d3c9a14a338af4be5e494f78fc19c2c6ad9f5056f11b48d2c8de00b26b000c12a7856f07558b0895057d6fc097d483b4da0f92bde1ca5d305c4d18787f00ec97e222aff330b7f73172af509b8e834ff823b1ed546f585e12fa7b371510001ae6d99fd8d67f60a5e823a18a58d937b8251f792243478e9dbb6816f89bc8002ca91732fb632c5bd86092fb6f177c9e0f64f49b52641af244f18c8982b78700a7c38a8a2240d86abbf358000654e6d747adb29a892e8124d0b349a6248d52003ce9ad46e91ef6ee15af4d4e38709685a6c2375af343711e1d6431d091982100a0f62cfaf041898cd3048de6edc097d2751fb4da4f30dfd99131005695e850005ea8a0e7c6a851392214880ba348a4ef82456dad131755e1c83d0244aa3089000932843e464be5b453bc54392bf48d2c7787058e56f08beb78da8624652010004549bc4f4368685feae5d9da84cebe1e1bb8196aeaade0df9a37598a0fcdeb003157529954ed2edcbcf2ad3cabe075cc9fd8ef908e6b8f10f8c5deb3f52b560099521a8b15c6cf39c708e113d2b65db48f7330d20713dd94afd8c8b467012c00d01ded67afca46ae4daf0431b226347b2f347951e5a22f662de3839f97d4c2003f11e937f5284530b6be9230ff692b8f3c3f91dd4dd935f5b49f2ef864efdf00ebc0bd08df4d027f0d87824e231d83814b539412eac02ec16039bfc932b66f007808a2da22a437772adc1c47cc5bcae0b5fb65e7ef28cc5d3a76636d8ef07000130530cd251c1a93baf8392bda58676e963ca41a02ede8b8bba588914b8b57008b990eb1cbacbc1389aee778d65f041d7c73d9cac59ef6df008d5e6211dd6e0087f7d9d39a47da91362e3aa17a10baeb367ef92112a81bac76ccd341733189005f7f653725a61b468f8a5659d647bd5be847d4aa3eea1df84659c027984f56002bee6043c663c5d61dd508749ce311d62298b7b6b69bd1317e03fa5d88d23a00297509982cc8d6064e7f1bf41149761ec3f8590bd56e4f62e92b5f5d5b145a00f7bbd7963c8eac06db761aed9a346de805142594a1cca03f6ac27efd99ce3200cea2495baf1ee6bed776dceb0e2a67ca835c1e1bd92a38ae7ba4e49264c62c00f14ae7d0b18ec3fa3ba4bdd96c7bf7e99aee2862dd07f38307c74a10bc214a00fd26d14e57171b2201504ea5f714ad8d15dd24b30197c55e81eb38ee112661000d24930f295ad2d1c1ca99497585ef1e9f3ad63a01e6d92c05db6c7d09fa880018804fc072b9bdb064d461b534c91936abbf0deec4062ce119043d9ac2453b0015c378f25c53a0ad8db1a6a8fc84025e1500dfdf7ed29f897d0d54c94182bd000b4ec7760e759e91cd10b8e023d47c606ce10f7bc48251bf7d9b0cb4947ddd00b7c182dc6490fa75bd5e753810d1b16cfe69da3065cb2e52903f1a613b9e7e0025f718b1173086883420b91806cf6ded20db9af05caf6736d188036b574b91003a4ba12cc299c5ceff07b4083ab5f4290549447ccacd2e11b10b7b68a294950073fe58b270ccafc8a4455c25b24473fb3814239159b77ab8c3b62369198d3c005a184c1e2fb8864bbe07aef7c5ce532f53f692db49533b9933e2c5aad9b848009d3637f2baafbbbec586c7df569a976e9a4ed48e6e6c39beda0240df0131a7008a7263e574dcb46fac5987a214da04a6387a46162f29788dabeb8d8a9d07d8004606949eee2263e068d8aaedc5a81a7726c51fdd042dee91c86c97f990ea2800b229d0720f00941cc6a409d1bbf30d819d05a50e01279b1c527677e2bc2ffe00da2c494c2757cfde340d26f5d67b327b4c3f489655025f48528703913096b60042cd0f934ec6224ebe4ea3c0448d25f7b875f6b40a7357614dced45aceb6d500d1c3f3fa1b010f6b5813f941b6bbcd3c1c3e193cf2e15b6d13bc5838aad5cc0079187db2d360dfe258066fc686c30a7fe5c4e5dfbab0a72e52f46a8d3e6bc300a6cd143776231566896aee6a7d7eaca833f4d5a0650274f6c6c6019fb7d528003b042ac5354d79907e57e02524f95389411b2ab42ffdbe61f92db7362028bb007f2dfb0cbb50da063aa01813b2d0564fa11e8e0d0d755849423b435e4fe00200db094ca1f4a5bdee0ad55a4682f2f0ed4e9d3b6188c908e9118747d5e6fa8d00265777d2b42fb2aad86a874ba815a1ed5395e69688187629c5001bddbc190c00e0a1cc58349d9419174f477ca0d662615f380a1813eaba5c88d552a159467900b87c05e6304cbdb70286001256b18ce70a2895063a813f565ba818dfb4ef1e0097058078c51ebed3fb9f7f3ff76da0402d7d66974797330451cc9d6e94c77000b51bcd4d46d2ede440733067c37efcb373bc73f818ed13d7d4320a919a3aa8002230c6ad093854bdf8620ef014a671a59576c2224449fe7e80bd2176d26f5d0042314b849416adc9f2cda44113291615b1d1d41e1f7557a16a2acffc08aa4f00c47b463782a366cd2947fbfed73ac19e95147b57673a0e650b707802bdbfcc0032776cc5c111f0900b5622abb6615feb9058398ee5693170827a5f694abac0002f54b2379c470eccd73416f33646652061777d7de111f0c374728b471643f9000cd969ed9e2afdaf15f8794fff8f45df9ad2f8134a6238bef3131576a10e3200b0c1e12c13ee713018c73795c82600ad5d677a85ccaad404ad45c7f92e25270014f5edf6a542370b490839717bec7c224becc2ba67ce7c7b3b1b64cdeebfab009be9875826cd229c49eb3121178a8eb21ef769d19ba5e25c4eca6a90599f1b0068f8ab5da888dc5acbba3e52d306093a19b58a959c9ee4f343719b0c7500a7008ecf4292c47ff8f1e178214ff4986fbdd1df5183ee0dcfdf647723cf98973e04a8d5216d4ca93bb35425815d315117c67ec726e65ad32088e3a4a7f624176903949c02151b09ac04df5dea508def2af84e30767727f0c9c4331035913fcd7800c4a5ca5a86b2404b5af03035b9b111e8ac3c92383b97fb16e47083cc651aa6048b7425ddd7a7043f22ee153176ba6598929a30ad71b4d0b28a1c3894004ac106dfa217d4ec5028430270709c4fe8eaa5ccd089cafeeffd56c799724705f87700107a7de4237ab90584a8dfe9cb4f3b74b376eb48c8fb2970aa0a3b11f2fa5c008e7898ff26afd900b9f66f70d6394a73a7e541f8f824aa648d32c636e1431a051cc1e0fa6b3fd490129d652015cb23212df7f6e0e823143ee777024457ba8c00a4cf42e46e1bfa59b75b8d0cfeb7e04441ffd217853145dbc0f0aa40609448059cf74060e923ecf081524ef62a6322eb0c3d0acbeaf48bdd585c7bcec230a403cdb516b077b0e5e397a747e59b5c9434fc8d263ab0495a0ce0f5d20f73036c06dfc38dafbf1aebb7e3e18a0eb4183c4982e96d067e1bdd131ccf104305e641043d14fae705d72e8e48a7dc7a5665e1931fdf7d87f5d88761f721268d9f72ed02b30de188d81c66b816968d42d5a551850b2784986ab4257221ec94f73957240055a7982a47a68568c9ca352c1d5351980a6d4beb0cfb135e6ebbe0efc0d3f9022c4ec87d688f4ec69a8cdc99b98efe04e2179a21d65863c8f419b236bf7fea03c29d4a4510d8d15f6abbee7c5824b836bbac72b250ecbdd07dd7ff54669d22065a758b7425952b7991cda6462f1bb83bc5d18efdd21c7c0f9588bc4700df4206034219bd332c811e0a7b57e8b84f59e2a70f8e4affe00e5ecfdd8eae6db60905ef93f857c62da907b1c11e072612fc67252c426cfb92be6cee5ebc7801b825036bc0f6d58bbc37cfb53862eb8ed21779af1fd6ddc6b46183d3d3c4de26a74c03c13de212d34596546bce3c75c507bbe5f1f426447d5b3ad53bd613983cc37304b0122f573e7a1225aa495fa9568e38c6f80076e0d30993b7469d19477a253006333c44934e273c0d1b0bfe8873eb828ec4af21340b6a6b1e7ef1c1b3ab2c0000764ec180483ff94dbb28c115ecc175f087ca907eb720f7eb8a6be51c981d8001a930638de226491bad94b79006a91ec9a4d711a57fa2637bbb0e2890b0b8fc025db4d1edda97dc8331e463239a1dcb01535e3468f4ea09cb8b9c9a1f668b1b068fef303b8bfe405bd20cf1724a0e39e1b2b70f6bf8868fcf34393e6788d46e061ed0749417b066d8abe7d3c9c9e193714c8fa46ab0b5c27ea14bd5709f2cc807667a0c2608ff3e1ba6318bf058ac9a3bbd1b28a31002fe2141de8ec5df28e001150983c13f0271fd5aaf47653deb1c44d5352d75215ccbbab5f54df9bec8b307816168d728952578d43ba700bbb9c805109026b6964254a6b304d903b6c8ee04aa7a00382bf0a087543d7563a17fbebdc682e7a0fc4d922a6fa4551c784d2607f45d57927b0610aa9e1da598e779c1229af549ff13ae3d15f0b939a0b0edec05194d1b8d995901b6800ee013bcc35096298e86076bebae450df04838cd4a1d06fe187deaf0aea2df424bdee7b1f5c622559d76436a5e7ffc733b74b67e4bab0013cfd7ae3b5681b581636523af7dc383a86dae659c454fa8aa204a525c5ee900751eeb3eea1f703583cada1d9541531192872900879ead82a39edcbd353e430708f56707cc978772831b361d03efb603bc85e21337649948ab7d2e612039b402964bacd6a66e2433be34ab90bb489bd58f7a151321ab887e508a8954cb1a6800da8af15af14a986d3ec50c42c0d807045a97e8ad44187a1f0563524a36270a058b5e7c55e4f3b9ece59de3864da9cb99e4acaf33fd11f80c7c58aeafc6c67e0712a231cbb179613d7d39c24fc6460abe2dd26e213f5c21920dc38db565c54006192d4396f39960f08c516a84a346bfd262d5a2f1957df1f58b1efe0b3bdd92039618878ac5f8ae2acaec9948463964c6af57ff6a1ffa6dd502b67509d7a1b0071a02153e326384a605c40017534cc92306cd6a71061cb2059d9e59b50dea93026bf0e5ecac1098253aab50320f5f2acac9700b644058c4b253d0795cd1c35f0393bb10abde25f2dccb1c9b4ddbc8fb6d21852f133fdfe7bb22fccaac881c96007e4ddd5d85103fb410e053dd8c9dc2d26b34e8ad2b60d5b8f40e399d4307e7026cb0ece9f43bf0e750452df7a6ba60cef226bcf93dd76411149517242f829606b4fb7e6ad4f6f1d73b47b898162cc08eb3fd8dc29e213b7c2686a988f9416402df3aac09c39de8952fd02ca7a406d82478c22eb1bdbb0e3c6debaac7cebb540747e5e68858175435d0b163aee29034232c9cdf3a822519c1bbed58c8f527240394c6d95b3d99242e405c6d169b1be3f682212f03d741aedd48b725d452d8c9050244de9ece7609ed60bc8adee66cce2ab558c08d63e2fe96a245f37099855a01e94ec698579797fcf0187f67676b78a0349175f7f971d80b5cfd44ec39375b06184e59b36f404cde67a265dd351a2812c84365c1d76c27c662caf2eaca7b6700b6399f6c8dae0742c22c03c0d88e34a46aa462870e4fae380f8214ee776fb4036c089a97dea631dde2b50150de92fc9ebdb99a34d825246ec1ebac73a11f4d048505de9c2ac337e9e25ae54f50e04b07f2d82631cbb7283acdd3f0da76bed9012648b8acd557accdda3d7dc406f968a53d6c40d675d2f8242659921478f338028fec7e83b08f8f0b19c1d49ccb4b141f792c9a64c6731718981d303cd98c9104f23e5910efe23e68c528900774bb64f586d688d0c626c1221dc88f5bdb334e06beec4209f051c7253b94dcca557657e93d5cf707002666e13b790d68655b860592cacb60b32e26ab70a9bc6775aaa4552d49d1ff3aa861459929c328aea0ed01bcc6f1d17600827b4472f8598986b9e77d812bb0c01d4da651e6a16f4d022b073b5069baedc36ed086401bfd44cbe000a3d04a284975efe6c701aee04efdd906fd5cad785754d2709cfde1b5feac8c5838d8a0523c1b46d8bbe72dfb7fcf1406f059485a079a63031c7eb13a7be4b50590c4f80d151626302281a4c8e908f6043b5ff92dfb0cd43ba056d819dcee0ab8b82ebb777c7ebad4b776bc7a78d11c068c3f6ce5bcb31956a8d909a803b5474d2354c22484014b2ed9b7248544787103b9ee7b894c98256507bd8eb13c13af0397260f8dc43ca60475d0628f4e9df504d5facdcc093d6381cfbd792a51ef6079dd019dbea38159c0d6640365c10ac5048011dd549b511ee83d0ef2207089ef54210623cae1e5ac545e49a6d3efe17e0182660d4c1bbe7049222e910b6a8cda08c5482b074c24d856dd72ee9addb2de0034d9cdadea64efdeab7737f1249678e7aa1bee115f434470e81f0a2986699f040dcae3633fa9d1db0576d2b7b8247d305d06aa450babf4f30f36b3428817f30554ef858733c7e9e59ad3b0360584e40e7958e74757c0cb6e4f856d146935550506e4e20709c67d67e1800f28aabd5b7a986462dadb95c0973648373971888006007f4b52834ee236cf627bf59e4a4e10f04bf2045db20377794479a9fa6e80057c47b6533692a258933a945b480f8ae8cb9302896a4ef397302f97981997ab027f5abc1dad7f53133754ccc26d00a1261176b3a56c3dae0d9e9588b5b692e204ae5701a9178277c55e431be88586bdaac952a7c119cecd5da60d65c24c67bb02a58fb70d3e5a00b44b9e07c5ba5d92721ab50d362b10566b56bff547a37aad048721a421925488b246a5276570b297105920a5899dda529f44f361f956f3840608b2861f2ef964624b24bc9e0fdb1f0243a319e51eae16d80e48b6f9f14d7106811793f5fa31ebe78543420b449b8dd64baec072f32b11bcf687bc2ac3fae40047e957c6452f745f23cecd1f7ed7695b17b824e8bea0e245b07d4307172a8e06a0c4fcf4078c8a704311b183b92ac8ac6a92d44b5ac52f19d3b5963909336400633830e85a5ab77c48afaea8f330f651797fd777fef44329f205ff14bf489206dc3e693cad344994b2df8e86e7723ff45abbdd8388eeaab15f42aef3ebecbd06a1499030cdde9471575da53d4029a247388cf5a536530570033ab43e2ff5400089877d1ff97e25ff311659c0a801387bf868f4a3dc1dfdc866b3e9984adeae0034912a746e9a685abcff99cc51a5593a728e0bf59f86de90ca3ff50771485d0043a70a0baeb4eb4d9958c2702d5ce26fda2a1d06f52557dd474a6bab9436da00528933e82483fb2baaa3164951e5a933f61574d26b0fffd20383ef5f977e97003be5f3561e05019db907a0f6ba30360602a4e5b906b0fc9bccfdd7b4a6345700cbcf4da3a3209f78f18945102760ac52ff8973a11b36556cb7205e49df42ba0031ed18f8f927b4efe53d541ae7adde7cc478dbfd94ae23c0875079a024ab560098b9aca248f97a96b847a335002f65de51b153e61d136b48360c315be682c100ad7c34cd4f7e22c31c3442509a35ddbd9d975c3aa5c7e76017113997df7a6f00495cce2b3ac5466496ae16988c4dd89aa708f09562d7000787762f990e7b88001e74538736d914a0784964e80d46a38315fe346e3a1ece70c57370bde30b3d00d9d24e64bb0953580f8ca99cbc4c2342f2a99a25f21113b40a8f84a2618ff3007122c1bb13955016ae38910d00988bf28152327d17cb7863079c88c624ae8c0077f19ce6bcbe7e488403eee248def37dbd889b7a34792cf6cfa632b751067300186ada7ee96117a672b4ffd3474a3661cee282b63d23e78f71a5192cf7423700936b1e1acf0eb402ff28d823d4acaa27829d15f133f26982490a521fe6c88a00487abccb1f12f2264e6c0bda214ef1765a694c19bc16439a032103da01183800a4d0dc404a828ba72b2f001c85f54b15265d6ce9a8bc1f3279ef6e192208ef0071bbe1c44ed6ed458f28316b01201fd247f67e1de7ba97d799d1034837e607001d594b329b4fd297d00eb47d5679ce84e826630fdc5c7c09410c149d8543cb0072946295abf899acebb73cbd5c7074a76a6cc44e2f5fc5fb4ab1c2550190d6008c3a3f3978c12dbc30c799191bf7cc81e12cd7a84323afd4bbb9e43e71c6980013123aeed04960126c560652dc75ce403a63730e74d87ec873a5cc3f2081ac00ebf8b10e0f822e37914c7075126944e71ce60e952919402d928712cf3e77d200f51be039ebe769debde0be5af2f42e44ff01adf9a9fc8cb7b5f9f6f48afd9200cd4098284f8c53b33f1dbe93529a843df02b4a57b4d0a23fc280d2ff7056d000d86d8f40d86096aab2866abceacf1d3910d46f7e1e95dc1fd76c0288944514006c1a61bc5a1123c4a9d1edae22a7cdb3aeaf6a22ecffd0e6db8cb4bbf2b57400fdf96bc9e1b4cb66c17721f3513918528ccd3dd573ed4291b6df57b1964a3f00fda078e6a3e90e2266d56340adbb99c1d42562c995f52b6290aa218dd493b000b92172095b6c7db0349384b2f88887af45ce926212a7f7d9bc0d499ad4c6fe007c67a42224608391eafda14232c027cf27848c0fd82b50c1dca9ed006296dc001d5024097b7725bdd7c7b572f2155494d4156cc1188f549d8d0a7b27c51661004551073e1069bed97486751febf947ae2b367958475bf576d0e200e0dfd1470040723ff1ff373dd7ef19ed82bdd0412ec231d7f931720edaaa18fda40ee7c600d448d9976f58df8cd2f5f14425beb36bdbd11f0e14dd7c8be2cba2cd7c6b2700219d7bdb82e408484231c6ad0bfe180f192e0333677e5cf6accd292931cdd100fc1c726178d17c9d5e5dc56f254954c303d3355f692f432317b7361f5beeb6002663a5329c773fa19a0ef9237cbce019ab860f4905404e792ad0318e5b8d5000e0357ef574c3893ecd2a8b28c10fb138fa211f693ad580dc2c8257a7923b9100c977e8f01727eb5d4c7447209047dc7c50c4208f63ebdce56647ab9c7a63e4001b7b0e29d2d83693aa7ce47b52308e61d115943ede64036fb9c22ccf20ea0a00e4acb36b95c1a1cb7da3ff5448c29d603628ee20ac5a66504ba214364b0ae000c4602d9df2a9c05dcedca5571015f10e2a2f5180eeec014528c78cd8c3c11d00ab0da4f459b7bec1f2c051ffe614053ac4e2530b76cdf67f833c673e3a77cc0034ae69e8b1c28e49c84dbac0554edef4841938a66a5aeb79fa4461944c63ce00b27fd6d3b82b3d3dc0de7d4416c1f9ba6d8d694fb27ac3c96c976f4e7ab3b200b3cfe8eb457434e878bd8d45893984295c290b79fc0fd63524b835fd5bb0ee00d24e3af062cfc9cf678ec36b473d472ff289fe06fcc397561380e6ec63079b00be38685fcc54ce9a9f7990defa3b90294a5d5ebf72dc535e9688e66a4002980051bbcb9bfa8d82462112e6c90af53960554f8d2f6f90b5d0291113a97947fa00af8b56b0f906dfa2a05c30c45a72372532a24519ce5db26346344e551cf78a00984b8675f7fbf48865e7ceabf29432c02fbb55f74d6eb4c44194a6b54d752f001071f32c46538206d9c2c69e5b7ee4a205df2f831f8942c0db55b71a5b0b5b00751747f7c0aa3cce235be2dec6a313a3e94801f37e451668462e48b80a010e008b17de823fe4047cde05a24879627982f2bd554e219d683a9b7266cfb2e7da00afce5df846c341c6c5cb68d61a159b55f6f0264328bf8f06f97fb949bb131900ce3a8f9e0e028a37dafd7889b37f238916831f326bd1a70caa3cb9f88901520026a5c59dfd1617be4d140300fb8fb7bffdecb256abd567c2ea8fefc35865e9009933d8479709db1c636040803ed54f715b5629ba42574fe097c2f389c2f0320021d54e16c5a2dfb51e032bfd5ccd3892780c9c0f54facf33a63779e874a232002439dec29457e67980eaaae00870c2cd33a4a71e9b25cb5d0b19de49965b87005c7c58c033dd4c37fcab8a71fa17241c1ead2465afbf6d74d4adc6bef17cc40015ee8cb12e4c6fca4bf228c51bf51bc23c49a3d1a094068bd599b5f7b3f9ad00dfe47943931ebe4367ce49e6c7f3b781e30ac3ef07fa3548a5ac57062e3aad0030e6883c95a34ba579b4c66d2ac2ccde04ffd67d1094d7d15028ae531a81b2004f01da05663a3d2f2d51a2246fc29fe4610475d81cba9d36f599e4dd072f1c00d029583e9de2a2b21305ff7853dd7f37285c4aaa20fbd1497cde158878b2040078ba7cccc3e017e8a488e6f2d7280aa068e33477b064ca5c93a03ce8c81cef00acae7ef8a17c4f2fff86e2ec68746430311a2a9ebfbc1ac853f6a0a1353c2c001ec4479267cb30fe0626673689d6bd82b9f2e2190adc5a2e133ef3cd96b5dc005dd5e9ef9faac50f0f9139bfac0eb94297bd63ce0952c743d018269acc30ca009432bbd0fee9a83e7fce74eee3a0a2087561f5118e40bff785c86992ff10c000702e59352cb4a740c52fbbd21206f4d39991e6bc975c391605f6869334c019008c4d13f4c08cf548b0d35c67c681e8ca597e95ee904ddc3a5317a696f40eb200aa690d92e2bf1e473bc818bd89cffd8456fa413e2c4d3abf985d2cedb1d60f00e047b846218d149a2aaf114757d43f92aeff5bbdac0138cdb7de5e9cf6947800b393bb7c639006aab956516e7f2969fc6918be5729a7f66f5fd0145bc296dd00b54adf895311812689f8696e25a473c7ede1dd9d314a502872a7cb7a06179c00203046ac5074adead88d36167155d363a9ad034008da93dc5c756a4cb652f30075134cb83e5541edc88dbdcdc149b8e978faaaa510df1df34e58663224550400427957e92582a1ff662efad3ea0b685fb84aebed00bda3022fa2677e891d2c00f8b22defc550485bfa27847eb20491e1ba49a669937e1622a47f24365c6e3100032bdf4d4a6c5eb96543d1cb7800c99b9b2a3f87de3f28e704439ee60e2a5200d58fc09011ffb14d80d5a59e0f99f0dca8706cc0b664c4637429ca1ac7593c00270f04047ce55f5f38b1ef6ec24a1d3b02e276d72f43d430e4bdc5c0ae262d00f32d0bade0ca12e0be6b962c62ad87934b61ce383d4445debc728f88c1f46100dec6165ea9db1b2cfdc3da221fdbfb476952029d5013b868c1bd35fadfabf000767c0baffe9d1fce38dca6543e0d04e90a2dc9940b80ee444a7c450a307b5800a48e19714983ca17e3503bc14116d3e71a183bc5f86468296b080d4208470c00f1e64d04c707299b84b1ad0e9bf2cb93725010cf92cbae4ef8ac0c35f1038f00081f9311bd5d5487f72d42275c7c31fd83ea9ee117073346fbbceea5a2d93e0026923184f5169821d8ef1b872be13d69aa3db2027d8ad5f4b8309c8933efd50062a2e7733f97c2ad218baac5c590730c0cc54fa8209774c8cf00ea4f3071e4003834519effd7bfbafdf072612ca328c09daf2c67161fa3240d4499672daf5100424420dbb9e02d08d8b6e9994b2054cb61f32e24fe7b7bde9811f935401bf6006af8ca9f1604861e55b05ef1b014165b59e92d6639617a6237cded69ff9e8b0002623063843004ff465eeefdfc25244a4b88ac24cffeee7cb99cdef855e5af005b16472fbd75194614aa5b662fde96b75398d44a1a3ab5d734c8f8d8d37bee00c3a26c7d6c1ea6d49954cfc14bc5bf85bff229088ca4ee58704a43b490aaa700a7e394683b4e0d196aa670e66d0dd716249281cb41ffc25c9493af64c535cf007eca6538093018405e75e0ad7f1cf85edd9cf7a7e2faf4d4d122354852303b00812b53710b735b6c424527185461d9e410ed873730dec43c4708756afa9d23006e48e902e98baee2c1e7e76cb8d993d75147f74ede9b8705759e92092e47e10006737e582d44cc15ad2a33c0fd9f8c33b417216275ffc6fdf0bd1eaa051bb1004019f9b801409618e8caf82ccb720bb57ed642f38610d530ddcc7be3c99871005104f304eb8306ef88d448a921ecb68f79e3efab0a9587b6f3fd242a002e62002cf3d1383fc3d9f0aed82dd9e4852e428fe32035e62416855bb0fd14b39d2f00a204047f557790acc0980f36a38fb733c440995fbe7718c8884f6b23c240ad00a16f9f579f228ab8ec0951d70d26b731fbb89fae5ba2bc03bde6a6e9d65d0100fa997ef3ee5bdcd89c1db49a505740f55f19716191efe70675bcd3a45e36f900938fa8b5a3ee8b2309135aee6123b1cbd9e3ea5b31959c738874d371c2046700b5187d4bfb89695412d80b0fa8c978e817cb2739f0429e0b13f7131755a68200364a9c1ceda2a8bcdb1788498e33a5edac241e56e15551395522e676465019006fb398fd4ae31203d7f2617b17590d3e92f57eeb265c11825109424c303d5200502aae442faac0197cd4b52d9effe01728dafb0386a5a3dc3f24889a9f696a00e333635b5d886faeb4d074b127f2eb9a7970c5a189f87167b19a035c9526a10093eee53d08f9c922fd766ebf540ff65ba14966ed71107cc42dcec09df51c4200209f718de1841009a10d0186e7b71a4e0e49b4b00a4fb5e882dbb7666d01e400e99664d0689fb4625c4d045a64879052e7782d20bf94a10bf44b4d4a10899e00e4848589270c96bc3e97199b3cc3b7aac323a7ce894d8fdc7a939465eb5ce100d0918c4068def8868dab2c85308520ae4398b0b5d176ee6ac8317705b72e4300a4ca4b162ecab4bfb32621063034b28a1d8279b015c732478b976916c7f40f0017775a2510a1046a27ca941e8075ea551ea520556cd2f740045b0176fe42b6008462380100b08dee8fda04564bb53b465172b475cca17a860e865c1b99e0f00010623cb2309ee4965d8bd50185ec025dc80fea2c17ead6c34d7035d2109e1c0004604adb084e307d7308b9cd785396e2bbb09bde8e54758704a941f5faa80000ceab20560374b667cc1e6039731db1fb77e7daf8c22e5d175f4b6d22347bb2009b437b5dd67e4d5ba76746ed8c2a6735faf613c032eec7961d22e1dd800aee003ae404db99ef4ff27725abff67c9adef386ae890bdaa834b6e98199d6f2824002a97eb2b5e3c6d9184f1f66af2ed361967c5f8042da269bdad78e420528e040077df90cbf6068017287a9fd59495b2a8cd0ce0d189c8ee80e5949072a0e8b000b3b8f6b1bd0bba23eb96b9f4dde7dda324a15c9284851959d718f484464fb400912fd0d6346673081d18f4e7c03116bcd11dcb6cd3c3a64fe03aee8317aa9b009f34eb41318ec8a3e2351dbf5ef10b69ca7813a4f1fbf367f238ee9b0a72b5002c27bb377d564dc574c0c76c270847b6d9cd7c37e57b3e38273b85f44542930019bab62a84799e35b48747d08011d96a9d928ce94a33d54edb075c3ce46c3e001a3331184682f0e6aeb860e8b1835631f26862740dfb51b5ebc77036cbe1660090b0b51aa5d75354abb396d0ca454e0a1ab768f88d4e0b0c914383faf6279700a1335e7998dbfe240383043c8c9b00aa379cda0cb7210aa94ef7a0b4f759f6006d73967bfce98e3fc80cb0a627464b63dd1c0e7f1d3cfac771f3cb8b47ab4f0008978fcc4b4ffdc774f6fe8b447e85c3977b84cb3a7cc0f21e7745b37e19f400a4ee2a22482e00385d6cda398c202d3c9b0544591ca3fa3d73be9b52465f9f009e29bc2bfe73b1c228511cfca2e9ae5f3a7dc2d876fd11ea77319dda4b5aff00e4b058d7e398cc0296939fd61b461faf768107559545084ad3d03b5f69417d006e106089eb22f00e5c5bde2b843258459ddfa071c594403b2e463c88d4bd1200bbe4f7f4c8d17659dac3fab1c740e0c954d29319d6830beb915fd65c82b3cf007be95cb1c3a92180ed9533dc19b65e30333e603ee9b21610a528c2ce8fafca00652dee9e0b4aaa7021c48431391375938097d450ec807768b5748731b524e400fe4a6539f6fe5167805316d2bf5032aa3e4d4d8502f6d3b5e55bd626db797e0014dd143c618cee0c31169af2b3977f47c56c3c8a2897d8345bc261ec34090a0068eeeb8171aeb193d96c5361d4fc31e3537f9b7abf50744e35fca1b18842190095154f58341c5544390f5bb053d8bf998076f1cd8b69b08709f1a291ba37c200b1c36f7bb23afea6add9d44b5e20fd5911ec9b2a1480b6ff344f021cab597d002367137b3d649abb0986d0a79450e7da27661dfab60f0ea92a0e62bd967ff10056772cb010d4821f1f29cc221a4d95a0b1a88893f942574f6146a021cc6d7100008c4a34627b47ffe3b381504ade04945ff0d2c81034c42a5c79f8201a844200a4c8bde1e5a43adf726bc9df1ee0fc1e8766b1328d56c1da853f0cc110d3d5000dfd2fc4404308213528c924f3cf5f89f39191c534eb82cbd21509879ff2c90073be30d64b0c3009e386a41eba564f2b8b92d27d247e1b3ad8acdd90ea1e6b002fb51cbc9589d4aa7da7b3280848b632c794a9b50f473ea222769f427d6a870085fef4e94a9dd9bd40c15bbe2ffbba890abfaf5b68cd59aa09de0bac6e5308000c39a6d420f59d51ea0e3ee8d336c2dbaea1bbb4f3d8526e22645712dbad6a00850e67d38780886f2b15c2b131fcc3d4cb0f6468b4b11c3d6e9808e0387d3d003179038f17b88c514b8ff71295b9006470f2c88db6410ee20e6bde7f9b314c00de0828bb05008789b053cad62e25c4b9b838507383b3e6b24cf830cafbea4500f255b24d749cae625ca15555317bd2d54bef5fe057bd181cbfcfabf40d218c007d713bf09fbe3d74034247c34e14656a6282d0ea2dd404dd678ae54613c63d00a1e2907c12f06effaa6f25d77a4c4936d76cae975fa0706808dd637f5f8be0005743dcffd531dc8d1cbdc7265f483ada591e76a9622e40c608ff2edca5268000de7adc7d85cefd5f37908f6725039df02b0fe3cceaea718836035340c14bbc0028a49e391a5093ad3d9d80667788963f43c5be63c82d1203a0b138bf5ecdc700d6abf0c8c1307cf33d4ce208cd5f8a0fc61507618697aea584543b266d8e6500134aebc16494df480edffca03451df83d6ac592d776e375375eceeef8b284500a2c54951670ea2c13fc99c850e914fb0805cd3da84698e89ae833d7f75284e00586d26c23a3d111a71a1d9ddebef314c24c6cd213ad6849a6857890726a57b004a5b58369280e252f9c0114c5f468b95833a9ba41cd0a98ddfca155691e8f900eec15b09a1ec07191c64a0be1f011e87985d05369bf21845bb76ecc582c51d00a6b2f425e9c0d9ce84834b6941365535063d7458483d177de3acba0b4b4b2c006be154bd139fc5b37f50ec7b0f98b248fd225d29cca34bbbf735cf54115a130076a1611e287ef57f83c8b241fe180c811d5e96d06750c89c76934ea7eb577800e4be5a423a6b4c5c0e88d0d9f1cdefe9b0b76664168ccc2381576edadac7c2004d630ac5abbb1a581d25ca75edd40120c7b8731a9c0c9d3b6282458749ec1900611d8c175d1adcfed6970d32aa283dca8f320fec9239a35f6a5ede5f1e4ad2009ad35c4e56fd7d9134a3cb327b7d9d9afcad9f9e95428041ae814dd019284d00a38b0f63413b434207896390316157199266ef33953af2f0a1e9c5c6efb545008f34dbb9095907fa4d337854d23a066ef6f019780ab8043f7187680eda2bff00e08e853907b51aef7a827e0874c44787a9792dafa47ad5bedb32ef0afef55a002ebfe2a6a1d28c175f995b04981d3e030248b9501c6267ba26e166465ab77000b954f5bef580ac0c1e969e7d1261fd9366f2596ad6c3e958ec10079600d1ce0052362e3f5094b6ce076703c1f180ddc1c752b8a1820132224201ad60804199000326d355758c4683e5c54c60c20a892ac640d1126c4ec61884a66edd171f79004f88609b08b34a92ab571da30e4bc930997615bcb6ee9e2a2f3d359870f4eb0073ef5b2064620948dc1ae83fbc2d1d8a02aebf25c81494ed0416213a15f2bf0029effd539395dfc835ea9ef5f21a7594e5f5f90bde1f2291494cff246fe92c0044e2f57486da64e2861a36c87dc10f8e07ffd74432c24cd6536cc8b74dfc35009734dc71186d49cfddd3f4ae347d283b94a449f8f2dc3835068d335fcd76000022588fa8623f6124c62c45dfad28e0656403e70a6e1a9176b9e116045714a90012e1ba38fe5df0663075839396f953fd40622d959647e9ba4e3cb85a6c190d00483037a34874fe644ed49b3fc1dfb28121d6f838d577a233c6a8c0bf043771007b056d655fe7d33e3832d5bc5523dad9f0e472a0783fd9bb7afab936d84a1c007eedc9af32d8b04b440d9711167baf15c77df9f5c04a66ca54b89a559e9b4500702e515b916261c54d281938b4350426631da52f343f7fbf851f8eb6fdbcf100f383b64db1b887c0765248215fd3484198b3c8408c978825521115aac6eaf30049e6973df7c430f50c124a30fd0f2237626d6e820937b11558fd9ad9569aa4009b08d37cd547a14ec0dfb37b337f4361f4c7cfa3dad0e4a201615fff8be4a5005aa3f781dbe84a905877bb3115072608b6c805ad1bdd047ecc31ad2da8dc75007f021ef61632684f2bbe08c3fb556f885cd82379f50b5dbb80445b21583c35005f7c9fdaf93d5a69ff5a6ed8694985b0b87c4a9331d25a2aecfbd65cb36f9700cda694f9e06c065998d7051af1b2437ec8fd841e2987df9542e42d7619c7de0000ff85c32b334a208dcb0425b480eedaf23c8e4b3d0bb6f413e84c0ec4725a00a8d3b0d8f24770059d36fafb4911c986ffa5cb17f3f17922802f196e9d277c001c034c967cf60755e97415fcfbf01cf996fdcf47c5fa5462ec2e205a0bd49200568c581f44a9273ea73fa85b69f427a7de080bbb6c709327b03625f7d15513004330da87d8843beb6bc6706755f9705008c08dc6cb07ea81163fec924a4e4800af0f258c5550013c3599ef51c72bf7d27c9b3b7e6f0ad9813e3d1ec0d1ec190070d92c764e3e27e8ffc81c00329a2cdbe0cbf138a53bf95ed274d43f030e1600ef04525be7634a2b768c48bb001b00741c0578cd8b71405558fa5fd8d87a900073dfe298f82afb39a75b84821a3100eda20f8e51821b2008d9541b012c84d20099efbd2e3bd30d77beb28be26fd5c671f375fe49d3704e637b121bd00aaf3400531e9fefe10dfa7e7f3baf74533aa793190f7ddf783d69f45198bf6daa468c006b345d3717c69967d71f0bbb3700a6ac7ad237cdba15734ed7d74e325affa000cd17bacffa6c075e70703dbee0c9afda114e277852c9e1b3f4ae4444d3974100a159115ee874a7019baf09c0e4ff5afd58a880176d253cdb652a3f6f2a917f0009d02fbaf868349523afd65146aa6aecaf361dc82a70f6d3fe3e0ab54ee2e200d13e3962f223ac6a31f39f183ac4f1667b27f869f6a5b74d183f1fafc971370025e928bd37ee21171a75a03b6387795fc47efb5d4430db0830b2bb32a5a12a001d70d0b73f7bddada92d05ad50f3fc355983bc25f7f0a17dee5e0e997a1e37008370c5b2a18b7505f71b14bc4cadc1ce5f6dadb71923b09a5b5cb5784bbe8f007a151cf9a209b7d109a39cbc2ce1c330ee5e689dc037135d0d4a4662ef6fb00017026fc02192ab8da56bba80a2ed9321cd3aaec5eecfe0e59a7e4ef1d573680006f01cb5b93eb2be96993254b7d60ec5a32e2028289b939b88f6ba3aeaef880082fda22afaef1307394ea79a8087b959ee2bbad8c9c30dbca549ef0b27932f00551d16ea507be5c8705656a69838e1fc8361f37b60999634f596d3cf3a784800e1f54e496761bc211aef13174751f6b1f34ca3e665fba5e28ac445e943487600fe149d4a26f45b88984f3d308c0b6d0fd003a4f092aecf39ef9f3a3ed21c91004044556bacf61b2688406c3e37cf805499c10f593f372c624b0a23e9857ba10083a705508ed01a7772459634d007fafeb4d1a2db023dacf37d15acf4ac186800244a6053c5a2ec80d0cde319cfe19d8d1a8c698ca1b13558a8aa08476b86670071bdc64d6657e897e5786e31bb009a0fab5d677f7f4250bf4e595b2ed1e2e700fa15daee1f54c9448cf7c4086c590aaf24e72be528fcf8333041b83b01fee100eda1bb1946541cec1b980c1fc1997516fe69e99682212238368bb2da68490000a221130d0b60e56353fac9d1be7295d8976f21ad0835ebefa359bb5fefd707007d914e57caf1b8ce7948e2b249e1db89c00fab1ea8b0ac048f2ebcafddc90d00293b2bac7c15f7d635722d3a21eb3f041422981a406cc6199f847bf8baa0c1009cd9743b58439464b01207176934547706e042062741ca1c43e411d3ae0d870048183c23a89835a66c7302acfe6015f8622e14e5e160becffac684cdb63544001827dc1cf1c599a349c949a3c33c3fa443ea188d4a3cbad89dbbd616c67f2e000d84a858d0cf6c20934aa70339662d64e33b6cd01cd61d936902136934bc350061bea4269f0f89a7d0754f36b21abd95a5d2d9967214ff8caf77a9c4ba64e50058fff607f8587f62b3f3aebda77ff8ac3306f124fd9f32c3b602752ba6c02100ebfe7acf221f40143ea81cfaef6dad378c04a51ee6e096a2fefbbc46c1817f00a4b4e0148959e23b4fb6687654b6532da9fb763ac20b7ce3e137ae5e367c8600e15cff0e6ac5e19416b721bee3d07caa02cf7c071c88945132ca320d1d85dc0023ddc45befff7655487f79210afdd40ee76d1a82c5f6d42a85339fe8d5d06a008a2bf04d93fee815f7b36f7f89b724fdc827642c18af6c49395c55f5c547b1004cc5c7048f967072eb61a539fbc1d19d0153a83b794aa080f43ebf97357d0b00ef6e5b4c7360caf542bba9607ed96f3d64b0d65342fc72afbf33526707bb14007e694b63a86e4ed5f1d76ee3dadb395ae757d46087649b8631bab60855d9610098e419c607461a5352002b83df8f327c426e8b6cde73fa78f1596037b7ad5400ee5a6edc980e378dd5dd0718707168e5fb55f5627a983828fabd4c399b85da00d23d88047d2f6945382752e18cf1142c90623dd80667e3402da5df973d2cda00259480451368f92efaf04113cb880598680792a671badef71579eba72eb7cb0052c29a449401dda31752e89233a84ed15e8d35b7275b6ce5d4699766cb81e3007d72b1286484ee6d3e29b1b9af719707d4ef9fc97eb63468d81e369802a358002c00c9c7f9805097243916a432ab56927daec9352670adb05eec03e8b5570800a663449bfb75dc0639bfdf607ecb0ff89e2bb5efa51cb5542127601551ee35009dd6d305751b7e6c8d7809e5a4244cfc19df6ffc3227dbdf8fbbceaba98e230005c05b4ee536a16595e33dbbc81275ca3dac5ddc5c50f3c5df3e3b42e92f5a00a8495f27cb240f56fa1d247a12d3967bfc39d9e0c2560c14c8c958b9f79e7d0028f06faf05d651f8bd4858557000b8382ff3746e97e7431739e5b57731dece00c8dbe248c34eef5aa3ee33c28e2050c7e087c2792434b738a8aeebd8dc8b080570f94015c734fd0c77e9d01e8414894250196cc234aa6920eaf7de69657a1a03b02ac71f618dc4edbcb16eaeadf10c12d53c34f3e28b8f72d985deb6ab7e72058b42b6a9609c11ff65daaacd8c5d181885a65594f2464d4f7c0c2ba94a085a06f5da54adff3fba84589eddd6e6bd947db7d0b50cb675102e6e477aa0c1d75201035b0c14c72a70d1304392505b87d7b41828374e738deb73314e4ec5f08615059c1aedc2590a6c6abe57febf9fc9230bdf9125a898918ac700e10f1a6a9da303f35d416c2707489f5fa287ae5f7586d0121a0fb86d05cc5948d5fe54f3643907993fd6a603bbf70799b64223b080af5996c6abb14341c23c2284bd727aabe407c3df1cb7bc75e82aa1c7275ac1b220c3df6466c168e3a2cdf616be92d155bb04c93227ec137db6c6c912cb1b4539a9102eef971da5c3d68a1420989e7830f607781e3efcd53333423e73568cd077fa65008e0cd9f7d70242d043be5c36060303c94919b1be9c040041e6155f30b6ded5a4f3d7935bf97e6ba20a38c459575b048bb610cb19426912d8831720e58c7e73d5b8cc8b0c0721952ebccd69e737fe01b91da9829dd13780a27b6db9eed27d6b2dd50d52ebf7151c051d2e00e8f8fc00fd450248527d5420b517284edbd38e03d31cb4db7cd8be6bfece75dd8fa6fc02938d5394ad3cf3404139d0afb9ac353eb7dc867f631b27bfd97a8b639067d000dc2b0ee3ca16d99188d6033b600e8ee31d45700fb59e3c38e558819d513e2503a3d8ba116795d1297def04113139b4662f1b056bc9e9739d3f0d86c9ca32fb00edbe322b6074a1168295747b0aeb7deae4049fa0147afbe89cca1ea72394a505f6202742b8594b73919189bb88a19bf70fca228415832019cda4e90ad9bd7903e83455c5edd4214fe62d3bc9497ea75a1e52c773e81d9c7d54b7b07740473a0457ed477657e937bf8186d7659bc24175251c691eaaf87043e298e6b2020ca1043266ecb94242c9d705d85e5e44251c689562d7380c1cdb27e08b242d110cce038972bae6c459f355069e62f79fdd69c2060c9ae63e9f66bda58fff25c0b0e10214513eb9d7001bc698d39aac57505448f5f22f2dd187cd1453fdc2dfc58b34022de2d6c1fa725b4cdd9b0e120c3fa8ef58b2bbe4bd9bb728e1a56d3ca5776f037058fba9ec23b10f67b76538080c2928eb26bae47df6647fd246ff5bc8dae305a1d1034bcd811f305c0c4c5d10ddaae8bc1d69e9cdd84fa7847ee7e98cf0cc01a93ead1f9b26d9efe64fc110e0308dbe9d9a87211409efa5eec6dc521f2c62041f9d81a407a2c6be1ebf8a562075e2651d54556589ea58fd1a4c78e13b06760531d55ef6cbf3b3eb7fd5a6711efa05b0cecbfe0fa4f8e7c4fd4c8d02bbed1d07a63caf1c642d33e69fffe067cbb2e74fb5b276473dd0f9a04919c4a36d7d1903600f23b3d731e64865fe8b33925d545524b13a12944bbbef03bc92a3b7495001a2202b631c56cce7222ae0cd18ce7c5043af6f0e321dde75bc29e3cccb495d0531d5620a81384aa62af3bbad35a24ccd4de1a60518df7f7382384950a185010685ead242630e9f97e5b90c90d1343e1a85bec04add9eb7331a77062d93d31e06b362f4addc0bedbbaf5aa441c94e65cad82a1c25db3612e7d206b847506ff40246001f87bbe49011633e2f857eb86973cef171e7157414cd45a6b7fb1733b107241b7ad82a55feee33b96f5e85f3e0d5516b4282d9ea9270e80142c3237ec40568a32cef299a069e3744c0d8d3723ecd52f6009c2b99a41a732929ce41439d0479aed0d07796c6c2e95f20f287cecc6e1901525f6fee24ffc811d3e1c2a2b706bce5c1101223fb1c93a21e5c30964b5a0a480a77f4dd06ef9ed860d1ded56703c7b4c53ea9a79645f06d049a6618b9df96fbfc36cca082cc82b420b15983220263546a2797fc3affb7bc70c5919276e8299d9955f5ea4b2a558485e3cca3d3001adb829d16e753b725da2301eb8ccf7df259982be495245561b8025d8d21b7034e0f8ae4c0ffd4be4c3cec2b76a840f3e3756d00f98ea862cd17afc1747ea5020a885a242d35c597921e253e06b47a2105a6164b41bd297f394146640d0c2d040f3d92ddce6cdda3416a13bf1cdc09575b1a3bf719582d6533ea25cefa59c205be955a1580ec17cf91dd70e4db9f1d68616a1415a7917dbe58e0beae67be8c02b349830dd747769d0bbf7ac8c5ba538569e4a42de33d063bee6d5c27d439c303844e1857c973424f307b807ed103c8a47d3d5b10d9f8029957532b36cc5f69048a842df6e32065e4d798cda5243a42a52648b1244ca3e114b9103e363d947c03f3972b0638cdde718ce72247faf055cce5328c2ebb18e636088096d4e6bc5d03745061e8a82b1cbdffd1302c4c886e61aff759c3d337785c277f2321ddb68307a1cc0a304531b30dcb418608f7718f314184042ca98585652d22e2ae329ac50488e6c01a00c125c606020dfb47632fcf48da82c4289193e945d4e304439f7b01d3194d97022df8cf44bb2702af38fd69e2716502f28ab8b469c0a5ad63f6a1006e959164a18c0a5c03c8ff16b0a309badcb5da2920660d6dcffc15ac0ae8a004effdd8c54aed0d6822179398a25d4755e45dfb62a8de9857dfdd18c91f75db041c78707d5aeb8613986238c893fa88cd548a8342bd264286baf435a4308b670064088a70f4a6f313b6c3fbece4cd0c7a48c052c7d99183fa56c14575ebcfac034f30713827ba16bebe94322d91fa7fbe20dea7b0dc13dc0df0a730e124e3f4005b4153d97eae65f052ee98471b37dd8e0c2ec1d25c2fbc82cb327783a13812032123cb4541c3b3034133fa4325ac6972435ced86ffb3c1a62aab8640a7dd4503fc46e8b11898a92ee2f4b4c2aed64bc45965263714990e325d403d08d60de302d9b543bcac8d89ef4a1621ca223a88a4e3894138f98e3831bf44f3202cd5d003ac75988872b69c493a0d22d7906147337e69fc978431784dbd9078da3044a2059deb7f6d8dd98ce01c7ef961df514a6270e38fe8701b365b3d424f69770fa703c68de771732d8bc062d5e590fd86eac6f95a54aee669aa2f3167878ef2a66d0521fbaf35ef9ff371a035831e14c6d28e48c4ac152b20577b00bc1788b5e6d605b9665911178b62361a209b081669f5da10c6f53e0b1fef6bd0b3ad03593a6705dde9c3b14c5cdefbed81c00cb970ea6168bf123774a1f27cfe15d6155bdd6c03f4e025b63e8770a658cb358802b46bfd852c11f0f2713c717f057860171c6e00a4d68a7e8cbf719321e5d6c9d1ee512857aa0a68ed0bcde157ef84d5c6b39e070488219cd16d58c5055f48c623b061864a449892c5cf7960aee0d42a055fb7019fc8fc233704c64f1e219dc2ca43cd0d348dea27e6c2981dbc2f9e7b0fe6ff05b0f0b5f4a694843e8d698b56ce952a141ba5aa61870f090f2818c69608188803827884dddab5412808145e62f0db990039f0c573bd8d22b9961fedcc1ef10804118e7788ca4a9f27d8b6b2c619f2e677f2f8103daa0c3b8822c795b281d8990515ad18a5f941c8ccf72cdd6b4f67f76139cfd63759e011e23cf5a5f93bb305074ff0b21a6d6c551dc299fbcb68319029bddc86405c722bc61a74cafb4cec3703e4e058366571a43ced1210f73f25d662c874c4dc5bff4a05c5efee71406e69022ac96f03bee0584ea2cd32017d7be4e51f9a95aad61d3672c8691fb55124cf06ec3f9c7d30319028d61f6f623ca45d74b47d15c6ab358d2e7d520e585d62ed00ec0eaa1049082e9e86d2bcfa37d4e2f153789c464a055d7ea22acf9614423106b71a818e85b292c380a4be2070725815a695173d746a06465b2b0fdec9082b042f06722883b239a92406491506d66044f0ad5765add1f55feff680ab7eddd5010814cd27e902924edc94f4e9e1bcc6047bb4e0301f33cee0c5daed9bf79c25000d8eb2c7146f1ee71556cf802738d3b34091d8fb115476050e614a6d29ea2c0423962fb8991a62ba59af0da23fc9c4717be21a2bf4521099625c4f0f6c5211007f2b1199ae919b8f5a2be9d6504f2df5f5aa207dde3c5c0a2e9af19cc7c340076b972ccf7bd345b3e78355a0b80a70a1b803d31274cd00361eea816bb1109703efddb8b843e7773669cf49e6c92d8ba2d9ca050821b863eb03e25805a69ee9064d8710b3e157886292d549f9aa2400d097c628314eb9bb526a1e0bbafb2c810073f1db84fe8175ec9339c19ec9ff510e1dc832e75512b90eb40f96b025068705c9f1e9a7fd0e0f487bbe7253fd605abd716afe02727dde26f7b433c3db51c303976d99292e6db2b66d27abfae7714a234895cf387fcab466efecf75e4377e5019baee493795bd93b98ff6403d02c6eac700390594b3c126039f69941b1cba307343a714ba8bacf774233557eabd68441967821851e1359cf523aa0dccab17907f65c198efeb81f90ea35df909917e425064ba73f7c0c9e0a87e0b433b5c3e0014ed08a206817b192396a01a94fb31a9b7289737dee7dee98e0981adbb8d79802aff48d15e9cc7dbab3d7ad7ef097f0081f62ceba94bdef64f784266ca957c8008c08f45a076eb1f3cffe696e045495e787dbead825a30a285d57cb5dafbe8b00570dcea55e5ef0ff8c41a8487d239cbdfb6a083946109263887eca44d126c8019f133bb25cb155273ea4569a444d2b52bb6e7499f45a65df0cbcad57bd6fa602c82ae55ad6c6a722abee9ef72fc6e7fcb777cbdbfef84931528a6be33da7c000bf3c5640a0689219eb4f390ec5e370413ac8fd41166ef37477e873213ae47105dca8175db40dd36342db59413602dc2e440f3cd319d57e862e408b9ee266d003129c64c78c9b7a9a7706b4c775d15355450f9042a59cedb4f9480b8dc9e8ee018c742819ab26befdba50dc99c08cb94bfa5c9defd3b3a42c526628cd8641a8067a455877a87639706def808dedf902481126cd839a4014fdbeece5131ef3c0050fa3167e6347c0c6cb1b9462faf7f713f442715eb94ff23d4f0a6c46b9f3ad03533976d4d3e40f88afa9795be6f21e327082ebad470d7b2bac2ff869401608056de0f99fa817bb8489443085493d82ec2a2e552fddfb391c72c75600cc3e0005979e14c723a1ed949b3ba9d561c8aad43b5fe36b570486400079716084a83005f63fd710441bc719a630f377dbbd558dc56b9749d96843779b7e61d6cb7ef804a09fc8c10328dfe680378dea566c288a83825e325539f23139a945073212bd01b7efbf1473ee63fe80e69f59233c7440c427600c3f2c18dccc33fc71eb958404121feb9af654448b8a0488f0432e88c10abd5980fbf0f2d215d9c2728f7f4001845d35e13d713633a0c817e9540e87ebade76d8f10190b5f285a0afc544431029a77b7ea4fbe94fa7f1ca7b220517ae062bfd07f5821c81bdd102ac2b153590276650511d04487ad38b416fb1d18891a43b0690c92526fcdfa2161203872a30076837fb697a0090370bad9d2989e5f298ea88ad024e86005214b397fc4c1bb0208b7f94e26b22775d220d41c9928f3d5d5669ffd5305240325b10f26fb4c980184c0745e084afa46c6bc49389357891e864c42b29822f6a665ed3950ffaeb903cbe838b81aae75ddb374c72639204855206b1d559c686aaa735b4b12d2bd0101e97bbfb659d14567bac588cbc2cf8238732bd3b69a79bea4c7411785d54a3c0508edcc0998622a34aa7b1f3483ee23f89b1f5e911f4a1468ee7e66067070c90475c4346b1386d54528fa9dde2903792c0e562085f9ecd4ecfe91887d2aec7c0784fc9950c417bf8f1f58342c362d7893f9ea64a07dabe2958d0a9aca7aae4a02224c2ccd047046f4f838c3e50be7db687950265991b65f224d0cb910a86009049e087ebb4dc56ea6aaefa4f8bc8aa51da5bd6e628bc2fc5dda9384b1552578000d62faee042562565cc5688a628f9aaa2a311e176191e0bd237507e8f8cfee059c575dac947f309825082fcf8cc3660ff85578e2beccf30d5223d5f07af49c057ca709cb2490b414b69338f174963123546d5c2f403f2c3ef11994d13df4d205e64b5181b29488e8bbb02c735a4ed983342a77dcf727b203da66288007c9c705c7fe3267cf53ee845104a54cda5c9b772a1a55db5fe0cd6efe560b73bc731b06d24eec7fd57449e30ba6b060dd28de654f3a257a7a109ddfeed9c1a579725701f22279f1f7d76ff160093e99bd7a50a253a6aebd82991e005d14d9fa71194700f017ee7f5a5309a8f167664ff100feb06e26de8810bf822fb2663719fc8e6a06c99b68d27ad7980fcef3f88fb7e586bd4584c4cd08ce87c78515c6d30b7fc8053a5bf0d96184db2e805c5e3b1457b6552ee1b0701cacf17b780839ef24b8aa03a218bfac3633ab217c8213b47b89e512aae334ff40f3a28da377af5d805aca05da3dcec14879d826074643a6ec2eaf471cf0ba968e0bba9a348d6f4a19a3e705acb60dd7a9b1a8468ddb005288522cf7b51a6076140855af2fd7b8d8252d8b02bebf85096547259107214b2a7b17d9e0d52ed41bbe38d26304f329f63973ba040e2c764af4a9d4118374de605853ee9632dc58287c0fe10f73eb542014523c01e41297d047ca1bed4a450547c7e5513cb4a1c2cf4fb7dd02a26b86398a7490046bfdde04e4430a8c3c0efa14c4e00886b6da9bc1f78aedc37ce0cab95ef30e075be40a830effeea2897a2f2a946b66f067b0aefc46a25e0abea95622698c1000f32a3c0b150b50d08e14183391ecfc96eb26ba0a766401aaa7922316488ffe04f450fe12f753f8e48d294c45b85659f0cb5aa6ab71d3860c1f58a11a45717002fbe6a8bc6edafd38b30e38924d153d9cc7d1b9a7d697a6ee6d772cff8600be059805d2ecb08a71ebf04c24db1b53cca027acc9c12cdad2a30566f6c288f6b207b2a242d4a10a27f7e082a1827cdd47ad022ffb9319ded7c23b172bd5fe465400cc8a8d08eea76838819978021268538241c3ff900b89684be3110152c3aae901a53550da8d7bc712630ea5d6da6371191c3b4d8dce90e88af013cd3d725d50011bc7146c18c7ddcd6775b0bc5a151199ca21dc390d1ecf96fef3b114d24f1f05a3f9ccc2a1ffa1278a1b2a6801d9d5421c011b7d65ee58287ca7bb156190de009b6bd53eb7e2e570377d80e5c14eafffb3b0c3196428bdf8a5e0a96a52e7b702a70f49051ef5c95553b71fa89c9ca0f8052f8381c3b7d46479bfc89e663adb04c821119838328c2c500884702332488a655ec8a2dbea18871edc9347c7eefd0113407dde6951cf82df3c808b68a57d00edbfdcaa4573443512aae8d15688ae04f8b2fb77d0be678620f53f795450c771569dde1628e0639009c569613f44450658541b12985c7e758d69a602133ac2c0ef1ebb5e8cbbab7130384ec42bf87f035e5f4a3354678884eb8690e5a45cf27f3a9c736be96ed8f20622e025ca3f1d057ff20936c8614ab284d94c9c9e047c732c7eda71ef40624e5a325fd97fe24a05e33088e25ae5db087c65ba774dafef79892d328ea3ed7ccf98f839333c03e30744c88c7ac6bd317237b289e30eb46ec7b21d4e2ec3398418d20452e7e9be3e03d44fde76b0a85c0423782c6cde648284a1bc57ab41b44992202e030b0a550a058052dd7eb3489402843011ebfa73c80d27aa14a6d3252f44667e34e27156470182a4704d88f3b9720c2d790e5f17136b9f5246c7d806da9a4b2a248b67197c044c7bd4dc67a7c7a8c63e3a2ed22c300ff0d05a65d9d2eecc87538b7504ffc907cd2d1aed02c70a797e249e4e1b0d27c6023724cf098318e85a953773aa879302a5ea6568156b59568d710b638dfdfaafe77130b8187dd9d43e7e2a77499ece01d8ec121671b34c214ee91c425eb1a5e70a92f53e82c2ee0533d1fe0f7453ca0491429809891c6fe755014820c3c4439d9ece8de412b466f739ce10384c452203bca8d04d7d0631e3b10b3dd96a1a88119118eb642bd877ce8d59eb1191a78a05d75d62a6008d79b4d8ce8e9e8b14a9b6b1180d783f91ab7bda8e80d1b2ec7d04225cccdcfcde426e088b45f565e4a156243a228076c3bf47318a276455670e0546e95bfb0dcb127beab5a8efa0f970017e41d83d02fb73ff49dabde810db9202fda3c929c07c9ab138896039c90e337536d500ae7e1c1e64ed33ea22d81f560052d8e26c521b628ae3ba8a978f53bb4794cc6527af29c269b9a5e0dd22ff5f004534d82ffd938017b4e5c112445656cc5f17022f96299b3877c2be542fb92305434e172c8afc96fe508e38630c2d04ce07a3dda95159e1b9d327779d225f0604ebbf62ea39c9cc607b186802708f5192e276dc4ef8834bc06d229beed8a76502302c3497da6c8921265bfa3d4d4137af3256e3366900a83e4f8732ef307f0e0495a032ffa9f907290575c87bf2182c72c44f3651c74b2f413544412326f6e407cccadcabad357587186e3a162c56f4c2f4f35576c2f557ef7127d936aa80b705b8d94747aa27bb3955b87b84e46382b56475e4db48ff2424299344b10a221304332ae394d6964e2e6c1d18e8c3b6a59d4835c069a7b040cfd69dc85d802c51060a6444447404f02a588b5e7ec956291d0219c5aaac0b474e2ed2af27cc0db8018ef333b9c4816418fc26901dd34f633c9a606dea22548d02e5b234baf6236d0748d4ed678b850cb3326eaae7eb7c787032c822e4745cb57cf86c8cb711d33f07b47c17c2c753c019f177bdd06850944906a724486f787ff6e51b91b2c53fda071e253b2002016c3655882c1cf3c84cf32bdffcf43f55ec7e35196c61c1dd3803c3ecea8d16409db0231f978fdc570e2aeefd0c100f064132f2a257a02e3fc607b406141a55a6e33dee2c8ca977fc577772d437c1822306efa1ae23798992ca038914626d517da1126b2b4b16abe2d75b62fae3483827ef3b225c4a3d4e1eee019e1d08571fd4653dd721a9afcf01b3d0e22a59a49e036214f6b69ec8be7326078420eaac00b35b9329b16dfb62c3a5b165e50cbeb8221d58f92f67f3e4add205d059d7e3cbc1e13eeb43da3bd1f82356b2974e7f36165d4e090b32b2889a580234f487b534b4e568d0846954c41551d097132d6ca371d93882fbe57ca8fc0000941359ae01b0a8e5d6f0e672316bc19bc0232c5433ba1a26c17cd1acb3aefe024891de5407f3e6c6041d2cbb533e5df749b85c248babb80c423d5b868fb38c0717a69b0e88967837db378bac89b7647fd5e0aeb1d119e608cd0ade143747e40135f724fde2e72079912a5c18fd2292e6425ad6c97e1c83ae0bc9ced529abba020517ac0def66894da9ba82e1aabd78160c1c5fbd18bbd2b8ca91d5cb8bb2ec017395a2f849db2964a9028fb4986ba29edde658e5bffb3926a815470e630dbb04616dd8ab0140ba0a59fe317b16d801ba65686ef59a4ab4a30fd00bd7a8033c002647acc6cb8c2df25ccce7bec6d2762759037baf4eb2ddecd43e211870c8f9073168857dd81c8b90cebc22acf87209cfcde3774d400135ed4e997e4c904a600111215c73c6a4466d961a929496753efb105cae8bc5d7848d0d80ee38fe7f0d06dee70f793edbb6676bb90f3e3eb93be64069838ba44bc19394d1f5a3e9526001d48dc1ba581a620f77156cd6a50007bbad5dee3ee035913197a0a7d2317dd20291fe0d234e50d1b8fca148de43ff2119c56ecd880f05e72519c1a73d16d57205a268c96eaf1358270834043f0b82985652124d56339985314f6683846ca96f00c5728a0eff09e15e50ee76e62e0699ff3cc65c640ae4b23d5c6dbe1f89bb050004f6cb40bfa309004a52e534478658b6ee3a8bd9ca3ac2dd98d73f484929ed0480c2928dd03282c04bb2458d57a8597c9a31c721a9172f2db1574492d76def0095ef2014400081e17acae27df500d4b2938e6a742b3be199ab1a121176eade0589108c6ed456888524ad029ee72d681f2824a028e9e9f05b6a98dec3730d30077db0d34c427fff0853e2066966efdf5959c5e802fdd6ec9aa268b2f5ec9f40068eb4690093714ed97436c67cb46f1ce6db6e74cbcb89b8c682470f586bb04a05254fc163defdf75b1ce11bd7dc356ce4e0ce4173c84564e8b3a0541b02fc8d00d90c128c385805d8aff67e06353b3cecf32f0f1ecbee08d7d230b228caa3980576e0f3fbcb3ee4cfbf768d078411b592df6d72f0503356be7a5193930c01d7014983ee0a10f990f9fdcd764df72b1fedf5490a858b96d975a8256d6e89634c05f1f7f39f45dc4c669b296444e3343fa0cade2561b5085e1b3293b954c3cf87073635bca2c92e3d761531d47185b37b5788f35931784ad635b3e4749a26b2fe04a5b183977f69f9aaa94d23b4a50617ed574b0a18752f8230e7747b57848bff00e6abc2665e7e1f9ffdd61186abb78463b4cd0d0f2b4bb467309e63a0954425022742219460d7e621950325db0b78de397a8c3784864197a52e6dc4f99f5f7a045a39f96daee700b3a3ee1ae803d808aa63992c3d48bedb3cdd13aaee8b7673064908ebff083b23cd7f6278ead00bdf90274fbf5664c26bb15e6818edd71cb806674cd3902808aecbf91565ed4fd640129b0e7007e26e4d29eb30349c48a4210570a39fc2ab24aab0e0f25a5425768b21466b7e34ef3a36212be1c4e603ecc0076c55b7a6281c1393661bef54c782088b84f2a93cdd5069b254316658da9fdb05d8d4911489b7becbcb7c77c3db887f3f0aab847d8dd6c50d55e9a7f28f21c403b6ed2988f4bc66906a8d90b0b47075397f8b2315d59e9490f70a82c2fa93fe01f2706564fe8c2632485fedde8c09f200eba96fbd80211744318b8915fd2935018865b96c92a367b860ea866591ed6f3dc7a3e14b95e5f88884a0078a06db5506aeec9a11e7f67a9051c0d531026e4b3b9d97fa49063ad45dabbf43d0b16dca05215ed08b11df155a7f5123d3eafe7aa98aca1e95d36ed0fa81cf2642f675b1007954d6e15a77681c1b65a94cd336a50212c0d681872da27d943fac9e0a0e5905c54fb9102827d8b323c6597f7768d66bf7549497c71dbbc446331e527dd053036f6c2663c3706a2444f2b2bce91e2bdbc6d9705fc953e006315cfbb77f619d041e378873d1e626c52f620da8ae81dd84579b8d1ca904394ad67c8b5f7a731f048a6bbb6a0eaf263839d3ccf0ae3900355d09df59cb029edb167b3d03a57e3d008cd5c1f56f9b9a5927dff0a3cf68a00ff835143e26fc6ecd15ed385d54799103d558237a559f0709051871d13ca4738fb24ecff02a0b3f1b1408bf2f4326730296938ff2cf778fc390ae3bac12a3b56859fea36f6fe2e7c39cf88d493a942a031c11b6f3ea7d23416de40a4deecd7fe49c70020f8a5d957df48f21214cc80205122913a82d8dd0e312f2715057ed8d1ab4e26647dfef3bfc828c1ca1e0b4a20555b878341c6fbe78a47b21e19aa321ded23dd2588abafe527ed6cf3ee89c3a028d18608732bcaf8e3060842c33feb110ca01a2e5b067475a7c3c318d8ed30901d4cf7c7ce8c231348140aca26caf894efb4bfff8108484d50ee272fef9486f010f49700c80d24f01cb40887d5128c309ea71c821f33fad4ca4b1c581dfa22807dbfa2d74800876c6647426fcb1b048bdb04262d4d33dd9e78ef848dc6eb87503cadaecee2b43c15c5260e3f5d1be0ae2a2ac1b201343164cab02a6ad2b108006f4b112818099cb968b87c3968866fb27621e8cbf7667ee8bed9e332a64a649000c84767d957c55a07fd83b429de946487af2fad958651c508eed0a95bb6789053e7bf8fdf68e61974096ee5ac0833df2e7c21bc79fa652abf11623033176610459410720ca7c363b20d4cdba10b4539cda19c9262477b2b17ba9ae2dfbbbe801a0de05d28d617e9e9d9823184a53b130c3e4ee6783fdc6e91ee8f987336d9501595a26445d760ccdbe83dae2aaf47977c2d30d1c9146d5ba54b70c193d965e07cc8b956bcbc3ebd3105f117266b75349cd4d1366f5902fe3babea61babd5f6019816f38c86e46fd3323d1133bef70bdf88dae61688582dc95e71806fffdc6e029234a8f4e901b002db73fd5806dce96cebf43bf4680843adab76c6e85794a70343c4446a016a48a478910583dba94036fe4cbe0b5fc7b722f79ec19f35f2b300ae7e9f72b37304e7b2a70801987b791f37d1be7f2960d7ca6d6fce5e4cb7c4047615ce4e5cd51a3f22fa27008f4954ebdb7ba9fd406b2b1a1da49125c21c4b02a683be9f2f1d830af5224ae813b68c9c51e55dd3a8e9fddf8de3e32baadba6070a53b1a4ab62d0a0206edac7012aff9bdc9f4e89debba2a1bd9e2a160fdc5f004cac71c8db3807b800435f0196a6ef900511552c36d023449ffc75bbe858d502b6a01b55237c5d1367d6e226313aeda9d6d861844c615f3414c1d60c2fbd37037fad7ddbff12cfb6e8c3d2526444ff7b24f007f454b025d69b369adc1b45e8052c8bf6b2bf5897cf796f688796b0fee57d4160761c26d1ab1e103a102f217e014162c371bb11060966bd7dc68bad9f64f16100cdedb5645f8150ff5c76a90705484a35479627d7657b50f56036eeb5a3a7f413f20403ccc461a30ae7e9f31d0489483d0a78d47fed418c1a244d38374dc1ef9cd8741a3e14326641f8f8ce4c01a1f0140bee6adb506fd299af4f4a87959f5655ef313224251f7cd29c90afca05f63e33548cd452079beb486ea1ce41ebfaf433101b4f51aa236736bc2b8d09072e3cc77e2b6cc2ce883dcbef89ad1f55dafc21e7476014c737dab887bd94e30428a84c369d6fa8beacfe2100e8fa8258d54fa5b2e5bdd97cd7a4171b878ea504ad0522d0b5cf303981d8953f6eea17cbf951d71e660b8b7c31a8f9bfb2e58f072ffdaa5935157233a6d534098deb5a337e15f40f9c0ef35aa684de958e54c903bf6a915c6f13f30c46ea13b96e7b5a18273d0f844fdb36d00151a209d3a6ef03ed9a9f9f8d30640b89909cef622a792557090a8f848df6810059d1c9b6c5dd07c5476ee33f1fe4ab12f47509c78b52e2ebb4ac5e6861cf0ace797df32dfc0700084351a432a7713545659bc74818cf4bac21d4bc7c965f6fb246e9faab2c3404ad0fe2a05cc14bad84ea16deec4f1a03700e7a85b5f0fd9f43f2903eb2324e04c1522edeb039f400fac46b458f925bac214df7a94478f748b9dae647d7cf4704baee8f6550e1024da97e5cc1c56bf9bc21b7fbc91758709145fe028d78a03c074d75591df1e033a37c293c440f983456661d44238f6631783757a5b784ae30053ae3efa1a5d3158c48b27e66fee1b2749f46a74238cf8a9d3c3e1fd6f4636b074d32734ae3325f4fc52f95c106c61f304d302248a6b1bb8cba7cbd34788ace05412a219416afa0de933bbab736e24da3c80d2762929e0da4c426cdbe5192620199924987ce69159fee35ba1e4283fba066df74e7c83b969b155230e4f7ddc701e6336cc8e6a7d9bda5c9a5b9d741a38cfab58d9667ebefbc88be52d412ed0705fec23bdab95e42a2ab49b836e7ca20215d29e52607b92076716c5eb5c78ae0055d156fea1f2fbc6c633c03027641d4acc482eab74cf38bb95ca359e09a448d01b850e5b65a5aa742d2c17d34034127616ad239efeb82b6fa397ac6832b8ac8062752b2cfef7a435994c36d6c5a26697b620456d28885c1d015020f6a6abb5705cdef8040934870270dc000db685ff7eb679934f99c442d18761899ebd76e5903a306e6fcf6fb906c595944153ec2f0b8b70be6264569d797d35801f33bb7c2006e5807e19c1494d99378302aa686f171d9a85762b09a72fa8fd09977b12ce30487513efbf4276897f5e8ab6f076c5708038bbcaac6f8ab12558338d0923136050e0d33922ffaafdf0d477462785bf80413b64472c03394a3aff40358ee081f047ab30342090a924f2429b704bdcbc9f496e7b0ba9d00af549ba6a0ea1655e707c18a50eecdc6194dbd607cd957471fdf8db280ff63eb76458fa098d391b15805638613afc65abbe3a1869bb0a3e3737201e796679abac3babf9c8f80924b7d07603bf16107819f6e1b5eb4d8010f7707dbf67c84e56b4f328e3a5654fd2fa8007fddd295242678b0b42855949ea5261ed746a322682e8381947ba04302d27d00b5239a265f046f1e8304920a648b8534c34579d9e643cd15ae0525acccdf41000ece16978a459bd7ecd909163c3631a87811b25b863bbe87d36fbdcfa7f660002f96f6a930a15fc45cb0877f1e3c7a10e8458387f09e5c8f35a0a9837ac85c007174d118f4b2b367d14de1aa587f926e01b688cb91bea8c54d90d729d61834005b1dbe19731a318679d46cb856afc143e76ca5f493858e9b65a807e67a35b3007d980c90a42c7664708bd724f53d94459fecbc2ff967da596f9b445de4e71d0046e17e7aa1881bf2d2b8e797cdc5f53922df6a65bafcd007ebd996cd046cc800a6437d70cf25ab95868bb6808f2665edaa8dbac883b7c38261ae309ad417fd00c155157a8d10d5802f0449278f0cc47355eaa82f36a642fab2229de49fd98e00c392db15036a33dc94a870d14d6ad2d0e214c6ca758412aab34a354b0323ae00e4b7b13efb7f3deda598c8e84c835bded93f2881a288d55b6d56054fb9e8760024557d9b507467b5ec78bb4a7b2a18d6656199f5a6f5ab42607201950bd539003864e18e01bf3b29d7fa63cafbfcfc9a6e702d37d801beee28875f61010e9c004d4bd0e0889dc386770f27adcc1fa8920bf8ba54accaee5a1f537e623294240096f430b37fec579b15e934aab561ddf4e305af8a85ad69c3d91ea91b26f3f50073919de785c47aaccbad91c2d0cc4b3fd9fdff5b9029fc4e8b260658f8c1d400e29277734f90fe643952a91d1f73c9aea3f15132477dac278c63fd7b86c432002a12c9b68d48a6c55da9bdd344455fd87c16ba04e0e6bbe85027b2c5ebe84a003864fd15ee843a55d55142cc7d76b6c782afdbba99f815b3a998782c90e636003cbd70cdde9c529d428e486f0f055832875294f5271e676ee0d72f8444886200c7f088b0e10a964bfcd480e4423badab84b07256f6198ffcad16a6294fce89005d514b5fac3990fa0b5ed2c2012a3d32f849001e87c42f67688c75114cf64d0039a1ad8d4caf6434ebd54ffc965440ec066f54ed1dd778eb59733a788ac6dd00e885eb7ddc4ede4312a58e5b3ceabe0cd4950468a8a5ea7aa2225d1a043f3700794cfa594e7d74e888389573453c4e0503fb228133dfe3e16a5507f74a510b006a73fe32d352f03714cb0036daf0dba5d5258b0e0303d56d62b45243081cfb006e24f6fdf059daaebe551c18887fce129c54a35c677c549d24b0cdd6d8465b008f3f209266de70122e5201d5a65048758c8f3b1ccd428b923b1045410efd47002d6860f49c096fd0c6519676b7f426e72fb38a39a520ffaa5b1b7da19965d50039a9d8cb2312cbda9f337caca2d0feb8051c5feac5c342e247eb0e92527ac0006622f2aa39fbe1b0764cf357978dd9b4a2f8606db053a1df03a8c76ae9f2db00b9a8d24689ec0fbc4ed47309a083854120ef227faa701d6bac87bf960b702000effdbe66f739e4ed3e8923cebff0f5d58c73fe3ff59b13be35c583ed8f4b8500de342c3dad390d374d7248fe1a1c846fec46c68bc6fd8e9912ef30fd9a273b00d00ca1076851b5e296366c1b8fb4c6999194d1af8402cd8491356ad77d36fc006b2190f4b0fd06fe4a5c1e515cb107d88c95949ff2e4cbecb7ef3f13a4e7a5004fe518d7cc71774d075ad14021cf1eb0acb729ff92dbed687080707ff5d36100fb985a79b0d2ffd07452d1afdf5d9ac1cc2ca546ab6cba289803b738506b3300068b55cf82d948d4798fbb13efd5facc012f12a42bbd4d58cc3d576a7e626a007e85a4b772453ec92dcf80e877e708f8b700f38ab235e66d74c2cb847021c600ae0ecc22a24979063fb985a8f5b09a403385ccb6dfa52f54ed970e6d784b22002b61ce984a5986b50d786385aebb2b502f34a486edabf71cfffb5ad54447c700d3768b7163bb24da7b7469e083bc7d76a24d31e546d83430ea96d3e97d192700ac23af883b8e70daf4e3e83d3357cdebe3dce02fc8991998fe483b23674673008494eeb7b175c92ff483e2a023f30fa816a5ad40835d4247c92a352f617f4800ca23a6ead4827ce7b8df146b74fe89c343d9a88118cf26d3e2223b60e8d140000d6a4db8741445fede5d47cdd0923f17ee3aaca45b348271b74f9ab476ef0b00c81bb83bae610601710d13adbd15612f259bfb1aa13440c14fc2bde8847fed00298f423dc7385969223fc0637ef7a0ecc743303a82289037a69b25f11f5bcf00dea6aeddb3074b2ccdbd6f8e80e6d086fe3efa62d3f7d2d48c7bd53ea9c33d00a56ecefc67b49c58faa03fd4ef9e01069857434175140f2a9a65a2e36f095200ef4c0925e91394acc447d804d0a4d7cc639d5b9be642a914ecea0bedfd0bff00e330ddf7ce43d1ade9c55090e73d2bbbf321751b30fe740b2b72ba31d6812b00c316ba4ca45ae1679fb7d604a605d8435d9edd4b313b2f46497f20b181b3de007b8821101497d03d8afa012389c95bfb6ba8e6f5c911a483ffac6422584c92003e2e3e6933f1522a6c35e04a7cdb05617896b181301de21d6e0f84991d9c5300555b38bd0363a5491215a1024816aec5ae629b68995e208cd3e9d398e247db00a251faad8054cf609fb6fa505854557ffb50fc1f365e07356a9458ceb854cf0093e4a915d8b9fd62eaccee817cb172d08d0cc20c7c87a5ec48e90ff93e32d9007840958777271b6ecb4f4e625c82ac9cf0ee01e61462bcea2dae444b7560a50081a516f4bdbc0ea818f62f5a3abc3471854f415f3801db78b410e1b6273a2a00d58e264fc07992b82438d4c165b4f7a19cbd01e278f923267504c02fd5316a003d09918940da17ff6ecfcb79cb3466444da3470f8204c72214d805c8329131009bb9c29e9cffa774a2494918aa37944f810474ed5886fc9bcbc83df6bd2d8900522deca45ee8f7c357d398652b2d5278af7125b3f860637e29b7d0026d824c008fc8e909af8ee24841e9aced73dd0f0eb394110230477d45228736acf13b980042075eea2bbc59cf324d3b49a68f2c71199d76397c3808521517691b95d3680062eddc178eedaa3b7e9945e3f257155daeb87c8a9bb25f6ba1439dd71574350042864f4a8739755c4a6146521063d7d9b1a514fb45790b1ba47e42675ae09f0072dafded9cfc9f5cfef1c8be98eec0ca46a7af0d791a94ce5ce42d60637de5005368da199119f375273b3f58d844087cf8c23282d153cf4512dc554731c8b900ff3431da4f4eed7cdd51058b7483832e0886ce8336d0abd88277cb99894b6c00a89c473fa919208e8e2193e374bc8e50c1a78c6f92407c3d4313994dcd5ffc00682899b693cb3d60b0c5919aed4809f3db5c59982c7d1eafb4e05c197bcc1b000e42a6fa9d838389c61df81ba5c109af5394cbc07d68e2b1891a43bf39457a00f9cc50559bcece99c520d13ad399ea9ee66ca84ddc9a640dcee4908f2cb47900508515fbf07233f1ed3d70194619a2f0117c77c11c4352c5f273e8bf32528e007032fecfd4134260a9e9c4b2f5e9ab86299a193d89aee4f77263b848a25bfd00a5110804bdefc309d825be1903356fb893e1ad2d0f0321a5570bdaa0314c3100b9229420341f5ad1fc1f17d6f53909071cc66cff86cbf8c8ba10a2793d2313007d0b0a64e79bd962d8ec71e6f307e4dad90ba1a84d15d1bf7e7c04393c66490047ab6849c5dfabeb361e8fa2604ba37749fc5df8d9e1e1d43f35e3b17d77ca00a33ca09702dbb4d35ef51fd8312a87c04dbc62c42fa83703af6d7979ccfd1f00aa7ec7a3e5aad6a96434b5099a97b848c0bffd8e73d2d28ac47133dbba34a0009a4578b78506e834154e7588d3e483257013e945808d2ed7c23044bc9c5d3f00d5d6be4270b0679062e295fb1eddfee474b95e51b3087ae92199db29b3b72000cbcdc88d93ab689d33af9c2e7a35e3038337a007e7ac7399b1ff61fa91dbcb00cabd77d81697b52c36de1165594e564dc46d5d1246ef0d4d27761ad266d0c2007bac9ba448a7212e41d5c84ce9c17aa8dcbdae482047a502bd19ce2cd19e8d0042f2f2cf068d72b6b3a1a6712dbc72848ac10b7e4ea22bf1a442c347e0984a000b6cce86e78c905d6fae8eb6196a5e15be99f2ae7569c18d9278fdb9337e13003991b50ad079ee6eee0abecd9ec8858009eae5914ddae05d7fd3ac3e2028f90090636a364b173bef1feda5d869616965a7b75741f54020f02dc6cb95e8d86d00a5cc56f4eddb39142c4ce960da10c1df3ee483d961fed745c82730b9d1482d00f02d99c70b80a80ba01e3947bdd478c25f4e10e5edac9d0fe9995ba0839e800028468877a35ed3bd278f5a47e44b3c413836f5ac70873e242ba861267e1aa40004b2576a67a363777ce9a65ce1bc6c88d89e2b56857e6cb57180a95a13aeca00d3e0bcac8a356c1cdc6ae608ae7b961a5a0b39837831db30338d3c5a9af3b3003896032fb190364442f703704cec0d68ea832761bda974cb769065cae7a75400a4af20c5ffb948508854f95f0cf9442c810824c82b6959f454fb116702214300bb6833c85f7e8f72de5011232d66e3cae708bb8f570d0dc80be296e2bb8ade0067f69b3d456ef6d01efb682d96e0acbfd80c2832114dda730b35d9665b0cde00cc1dddeca594fee2b55be2fd6f0401369c8bd052056facd419e2283c6a21920072110acfba2ffcf85d5427c742596c825b7705acfb8b90f9d5c5920987057d003a54239081ab6c2ee9fc82312beb33ba00782f9dd88e7defbc8fe6c1cba52c003991ed1d2404750d53be424e79ef0e74fb8da0ac3dea871f3583219b4f76b600f10b9c4a1895de46d7b5d4b3467070fb248266f06c9547b0e879a6b3d88fb4007918968b64bf3db3585ef32a4eca55b2d441e5f9f855cda5b780e543caed93003d284ef824f0dab8c9b138379eedf40677d76f6d610cd89a3207caaa6f590500092f22533b97a6c091ca152f67848878009115e1f6c39b857ac0441bca208a00a8d58703aa773a2e5e23da1dabe6302c3507e1f6fde8668f5d981aee5f77b6008979e12cb35d332884d1621cd421beba46eaf820c9d5b0c2d6913fd1b3e7610090f65ec354531021ccf64d445cb1a4dbd326ce0d9f6c645268e2c7405d6e3d00474c7a9c9f07936130887d2a932069a7a485cce6d75e1322825cabc4c56a840067c42346e943bc17a6f454f1f089cb41fd44f85286809c0a08f52fc7d28443009100452a076a2b187260ed48e7c553e868c87b155e40fece80b6c98f6426b5009ccd2790c2cccbba40bd5078a86b57f31e35e4b5673e1d0d79cc89affbefe70072069352840d05c0bfebd7008df143a9a6c2269e980e080e147112db0f72db00d6c9fede5727ef74ad45f7ec588c216c3073ef2e1910eb0287e91376a5f4db009a4570dd42b20e4d2a9f80edb445e0645d594a05b17038a32a030d26bde563007e87eeb78510c323bcd508e4bcc47fe9f8e2add41bc1f01240f1a93345b8ef000e381f6d166dde70dfefda96424cce6be0dd13bb6ed2e71889aa65486e47bd000919de4cc467829ddf76a522e40a705394ef1b95e85863ccd23a0a3b927a4d0098faa98fc76ad139de2d7f71e49ab4849cccbb6a0bd419e351c783a9103fe6001d06724f21c960833c8f73c39d4c25937582888391c90c21b6a076a9e86eeb00c040bdd5e824786427a48721b54f0f2394d4c0962c117f55d11eb97f646f0500dab0670019cff7bfb95c1bb29bfa968fa32ad18f3dda955a51e81e5f8cb28400d88e024707b7693b937dd16efb53f53914e66fec76a89b50769d091885505f009e68d57dc069116653941bbd61f2f1f75cb7c626ba4d4080b2541711dd68d200d8033e5d3c10a37a7099d96e27b98f5611db4f15f44b99cf8bac2b79c0c34c00a520d524e2ab32417fca9f8f4bc42606ace7e27fd16340e2742db92de9bb6d00dd8e0ab3faf939c390459b43d823f2abd0edd7f8ff60ffd6106b32ccb0983700fd7aff7c5307d21d6eee6dfc02b740507b2d0455c94411bdc38217ae6d78b7007e770d8f208700c4771e4f2aa3eb50bd8cc44b0ff56b9c58ff7cff2c8b296800543a137d63d50d898f42f483ec8665e8b9778de75779f4f4606b2bdec0963700bbc7e9b96be95d46a361fb9f5eb255ace2025d07d6cd94dbfe6f4d324d454e0081b028da8f5c7f795edc1f9557ad3e15fd64480857f92ebf9266cc4f447b8b00157bb4bd16d37de4563b44ccf284cf24dffb923fad91e3abb4794a51062f4e00ede6b77b994e09924d46c909dc17599bccce766df3b68ae8b29e410eb629d40078d9e45c412830652d07572a5b1a08ac61ce24ce6e0fa5ea6f7253f3a1ec840066f14f9e0b6c5237a498a67b8da18becadd923e7b59fb2781b19585562eabb0097aa783f79bfb6224ca9146372cc519dc8a26702853295313a468b0ca23dd1006ad7bd3e3792cc067818589a43d3478a6587fb506a6a2ca63fe973f58504b40009a2ff46ee7944caa2c97ad07cb9bd0136fa7f9e11b34bdaebb395c6ac603300901ff56ea15eb197615d9157f55926a683a4794d967e33e0f2a9dc1317b9970087f9638fce8f064adb4309c774269dbdd7914751685e0efee18190970899bb00fd3e7727b16d9d2770f794f3af745fbce5ffbfb738a85f56b56ae2e1ae6a7600025721a3b89f730e7df8666142121346a3f9d59e062fbc7a47e99075b550cc00031fa3d60b5e1b112f3e1d07233178b97f4859748344173543eda8bff267c600c72c27181d51e7a5beebab5f42bd5f1393935be0f3d4035e3e594423a8bd1a0058b6a67f03e7f8a5dcdaa0fd4dd80d44b2f15d8fdf82cd7d7e36f7d55166d9006f9fffb9cb483394007e07f1e0be9cb63067d9a592c053d4b038d0c9aa2e3f00f60f7984b0bac6b165d0d19a6c39437cec475b297a2b6d7386691e3eab5b3f005590932c765ecbeca8f086453b94cd645e345fc09899e11fbd03105189d8ae00dc982d93f6e1922a916a8c6df161c2ab3a6624be519fedfb0618e5acdd632c00e7bcfc904c304d30820ae4038a041724e4f15d83413d09841930a19ff763e7001fc66774ff584185ee1b901df00f11094826f597eabd725015ca2c0e67664d002ece46eee8c52f83ef567b3f2b2d626cf7532d27bbe2f8c0c30d1f5bb383d20092af1073828b0c2b340674d2bb49f1e6ac22812fdee6995758d5cd2260ccfe008160e885ed6be0fbe2a8d713b2c3a82e895b64dcf16eb6c2c1aa35fec2c15000296960daa179159d99c195122f0f47813416ef4075859d3b695a6f141b9a0e00022d3f6be6eeed7665673f7bce576b905ed5eb5e9f79b7936b5424fcb6b8d60026a42965db151606fd843bfd16fdc52692c5d3e7302711161b75a36c4da1f300f659f6a2cd3c211f0f21809d581fa152f987d860aed3e15316d8ebe809f361009475333d5d882727a57c7f6dd82513de7dfa9adf24faec2ee88bc8467a431800d42852733bddd156f73ca866442baf70c6bcad79c2315b057142fc336304b1001e84a625f9f7748db960f2839f78ec669069cd80a91b96345256c0bc451d5400c02fd98d0f8cbbe6ace9d632e38c3e91a6ade6486a98148e3be039ce9da03c00d1f71d9b3f4cc46d8a18730deec771af486c8ef1045260efae83421c754f0400cd4e60c20e5fe3727276aa3fc6a670903c73de7da94cdab1a166519f2e881f007bced40156e178d0ae1d3b4c156b66fb4ea489bac380159ba182f8890324c4004268fe4de82be1a6f86defd388ed6a361faad71b6621dcaaab7ab308588120008e1243455027c250df5565d80de3780ef3262ecb52416be4ce040cd374411c002b4997b0b253cfceab88dcc77ff1d7fc2038a35b13f9ff45b181a9745f8d3800c8b5dca2113730e775820b16e9c00a5f63442abb07c807b626af9fd72d5ece00be95be0f08a3e59e7f4c65a9a686f3eb941706c8738fe8910fc8c42c34fce70016d3e4829597eb9bbce1191ee327cbc013d9bbb571fa46746f6d58853ef3d6000f903aed3f9391f411efd3ff07068aba3a8177c9cd2b941d4d4113b873e0940022e3dc572732666df6bf7a152bec1f468076930667c5693380e278a8da501400ed28091911797e817e5db8617a71572fdf07d9969c1c47095b0e6b3d99dd2b00baf4fdccb075ef239d85c750b7cd2dd99a47efcca7d445fbc5d7287e2ef7ce0076348ba833d39f76e711bdf5a3074a588b2f037a1c69c0ded478b4f19872f9009e9f2272fae4fcad1ea5928087fa60b5a81132d6fda9587e706efc4695df0a00920e13a481a996def822c8c58dbf52149fd8fda17246e33344af5a5523dc190000cd35b52f0cd2e363de2d07314c46fb178705fb2f7d51cd19f33b9680ca5d0001f66da2d91a0de48db8df37566c77f435d385466c63f1785671063aeeab0300017f350f5dfff65463e8ccb4a30b6d97a085c75ade5a1a5d3354ec85ae3871000249a4ae1692e7a22f1d37e1a063858b5728c58de5cfeca0fe9b2312d65057001cd089b5470d6edffcb64a59b38af5bd83dbe7092847046f811d1fb4d736f20003252dbbcd63b8f8c0261868e2f77316ad96ce302e8db702b6cc427b4cc5e200a63f181464dd7e380a3bfd71bc81df0b2ab54a274744740a442da9cc0a5da5004ed7991123d043b417e046f0f71dedc8720fad3ba1d3083e05cf1a387bd7d400c4014eb7e98532420636fdbcefaebe747802ea6636e2327f7942cf9e0336670072bb118bbdd2117fdc9d4431385c8e7cc694ec7a487210094dc3c2d17d98f9007820b0328beb182005a4ff6e1278ac95e53e1ced7fdd3a6e809cbabe922eb300ffb156c4deffc54dca4ccbf846cbc3295ca639cae2b0e76e8dceac11aa785900446f42fcc44939a12e70918a5f7e20981af9e683d5bd91d9f6b9f29fa66005007a80e3f896a473e8906900bf93a55fa32647a0b39b1b883895262a857719d90045aa0d5e4389688d7ed3d5b8ef8eb73ae5b7f24950bbdb5b0201a5e0a2a9ae00ad850f6b9cb78f9e3784d574963e4b38957655186fa7c79c5332c01682ec1000e5879501d0021bbb6e1543a68c6f39aa8407b6183a82ec138393287568c7640002db4bfb04d9fb2369d5c2e0e1587ec34c0eecfd6daf037e6927af8f6400570090ee4b1d9834aa2683dea89df3600dd853805cf7cd05c7310423c1443c02c6070311b62dc57856e1d18ac09485a5fca82922586e717c37d9770b54246dfdce01ce2217105a28d353a78b9459207c007a474715805e4dd527195044e93fdc3303d4188d4cc725744284651337c03ac9150acd8a5d7e5ade78940aeffb31cd9f05448f08c94a99ff1ab333bde40e6c8e694985c118e53112750b9b70d3f3ca6505ef063653c28272242e30b8e1f9916cda4ce6559f6539c61b13d735def1d65b074826fec7d0d32d91381c8865854b4c71676c5fee1140cef0e187d4bb410d0a0513d15aab58f0f2495dc483a26ec3dff7200df59dc693ac423b6c13edb39cea05391297f6d793a79e18df1a8521ecf8e758d4d7046f75aeecd4e2dd5728a825002e2ff293ffaa64fd64cc1f6f9ffc523de005c4428212b2d2169d510906005e07cb6f53e0ff3db9682276c8ff7ca0bcf2e65c4c2ba3a927cfdc23baeb3c08e7054d8625790ae78ab8cd6db09f596edbc178a5ade0d2ac77c0b3178279003b6f00e9c956ba989f53bfb72023dad1a72e01bd27022a75193a3ea2cf08c784232001adc8845a1500690bad882dc11c2d7adfdefb2003c8cdddc729b26a49d34f460309670286d0885e1e0cac46bf945ee2231308ea03072e698f000ea858be90b9039ec13b1c6b1c3077716b4dac0d2fd49c2402d69fd263f10272e098d1e45ed807ea8044558f9ae4e63fdb69d2a53857b1636516f83db3d47aea9c472f20fe620285ac33b63b00c544667a3e77198ce293f748f62221fc5aacc5bc84b1b61e6807f476d92cf0939e40aee61c97533d2ceda5b6c735103acd89599ca32380a54806d5232eaeed0c5a72ee43855cc705d33054f6bb25001404e99b6d65008d267802fa6a8d3fdf42539ce1d273c9686c56d90a175f66e472429ce84a507bf5e8f40729050af8e7e10ce3417d5275724697d0d2e36e396710d4eaca5af10f7b7a77056477d03235c28d4cd4ce40e3f05f7162938e0ffc00f84bfc91dfdcb07f92c705fade063b02281563281cec99deeee9f1bfbb9dc4baaa911e1eb6c4765b4929037f85453713f355abb7fe77c0a71d8980891aac1b669478eb6be34b36cdeb2703514387a16d4cdd64c1503cc605c871d6c4a60defae9827c81700f0bfde59da0248524cf06d62e1a71f23a2c7241aee29ed0e0d034d89b51784fa8286f53f7207fed53aeb29a70c19a7bb7003a805ed04d1b9c6ef118c0c6ccd898ac955198a0486a02f3abe3b7edb6c9f785fad6a1fc18840d8b60fd37bdda2eb17630abcaa07c4d20e7e559b8f838813f4d69ea22fb322739937fb3deb62d176776176240203100775bbba6e5a12ba68a3c407af919c3acac8f71063fdd3eb195e89fc7d4c022b79b98321db3cb2b6f7d01c7468f8e4a7e0efbb230081a3adaa4d7237fd3504397b0ccd03ae5acce29ad50f5e119c401c6ae6e4da643493d7918ae14d21f8055b64440c5f910b5cf7639060c30cc468fe71d3c850bebaa4f538c92134f5b60101674cd5c1d0f2c95f64bc9b5d29e99f68a0219c03d8ff0141ff774a30f41d039e56c45aab3f21d2fb2992a909cf87bac43024351c66d4e55cf93052b5760103599f3924ad060f9f1f9e6153165d067fbbf1375447f45d7e7aa14e92ed8fbc055a141e54e6a8283a178ceec06acd21d86ccb794dc7d49d44a1e8e28dd77ad2042402bb75738fd0627b49903317fb31e54f458b00cf33d0c9c5951be0369dd901091febddaee34c7ff4ebb69108d89035bb9adcb0927f54448ea69d7dc6c75603de7a3655ce625c2871ff214b928a7009513fdaaa7ebd2efddaf51afc6092510744d579f768ea25fc6c50e3a7c3368d4924ad9ce9f1eba3127af81829e9a6ef037a2f2d39d4452c80cc02e43cf65cd4cf1ad2b74aae777ffa9118773688580601d1394f4a2f61ad6c595d45399ad44d83e270c999296d1bbebdafbad2240ceb01665c6a2ad0484c57cf88e0cabce904743e80856658d8024d1ed8a4925267a505cdb3c7cfd52115c03fb948b344054e3698f63348bd6f20d9834cb399c9a44e03571038cf44735d61005d92ce70b115d9361323232a319b2eeddf1c38d6874505df5cc2cafa7db3c08f8b441916ecd0d14b29616d81a0055dc61586ac5249ac0005938792c0d8e28780b519469877b72e0949bc506c9bfd066201d8b12ca649007e144aafa0a5fa8d094aae5a8126a2a014cf29e4882dbc8bc7e582b632b03c065218da8b6c774e7d9d93b389cfb2b29d91d2784fa68b2494072e6a3062f143072200c5203bf7b6ade586259fb8ea73b3138727af02ca022417699a064d7a1105a9164eac1c499e4509ead3ee5dda7011ebdeb39522a7c60025ac4cc013cc5f0050a283d10b50b57556e7c5e7e9a7fc2ab1cd9e0e33ec030f1ef00e76f952d902f4be7a6214ba407040a2b16c486afcc2db4410ce3b8e2d643474f6c74a657404fdfa81694cc0b4d48c7756233e22d192bd3848bbc3b9825da98d84d32b433f062952be9f5f3d70e903cc825548915cfae4258fa71591722fc922efd7a9f0db021dab02e5c030e45a9a66dfc5fdb917116cd09b609d0d06182fd164831053e604539d8ae12c3ea0dbabf0f47c28e5c6fe0143af94eb2a50f38a0757f7c020ba028bef0d5f56fc4a6621312dd5308066ac24547ebf08287378a89ca77c1a146e07ec1768e923dfd039b6954ba335350c189e230c0c6483544e512f85f6656a5b042701b3d021a5338decf9131e8500a0a53343494cccbbfff55f313e4323370a03d60a09dae7869aaef1907bc265e4249cccb8acf358f1353a17cbc890bcc3e100a492d203434c64880a4bcdd1c346c898c7bf1f36f4db87d3d4eb28f6b4759202689ada94beb757bbafc2e123e1fa2115c9d3f73197aad987b9c71cea98407d00b4c89a7e6dacbc73a4d20c867120bf954ad824696ec36d21fa4f224d6c290f05f40efb6c9ccb411470bdff9d1ecabaf7447332e20620d0fe76f38292e75b35007addb5c40c8b4b0f6b69ac7f17cc9f1760780305e2a718c9236e63ac8dc6bc0612eea57ad3cf1198e0d4c7013f294a4cc79690f47d97130c7143c0348c23750780c99a081f7d44282b1cf8fbf2a96b0e658b1c717f6bfdb6ff2f8b50765930066e8f3168ab5f26b4c7b0aaa1f259dc24595fb77b1acbd0270dd53c7484601000cd6547dcb5de5af4e71853580d11b90cd7672e82fb3c4f837d19b1b52368a407df2a1b7b09cb561a391fd931c99ed1b56762cdab1ec68906e844a0d01f493d001153dd442aee27c37d10254842ada7b60dcdb9b46a153073c4d4d38db35af1007f740b8a5d8cde8c6838716e6470c76db7c494c5a4afbca447d5ab9bc68b760003947763d30000def5bff446b2401afda7eadc6661e9ad904ae400e945c7a6004487327a60381514ef8ff43a743541ce5470611d9da1b539fcfcb128ccf90b00e113afa83d92f6ca72fc2aff29e850f68deb5c18f1c955e691385dd30265f60122592847412d52f95b621aa6026e21993bc80e52f0458bc3d28b0f58aa90ca076b60b1cb6f05ccf61fe4bef63bf810c972bec7e274a4a7f104407a5353132706dd7bd13d79f1b994f20511641f7ae4178e752d29f6fb3baaaf4f64cd18d66904502bd99652b9c9f867262ea2f16b6d3d3153c80391b71530c2d52d6e874180022b1cb25d7b13c4c3cb18fc60a05b32c8e710fe485783ee7662c2e67bd7dbb205d09bc2432864758527a5d9711e10a4dc2869a9afe7e5c8963f10ad1002d68f04c87ac9c41b32afcd56333330c52f05194415fcf1fe2bdab333be6f31edd00907f341bb2cf2814628f7da18957ea4f96edfe581cfca3ce1e2ac188921cff7190537b9bea8e24fa77368defe67a9b4e1b42e113dcd4200249eff6c967e82549601d0d9b3efe0fb87ffe20e2abdcb1c58d46cc2644dd1be26414110c883caf4db021a4f7579cdf067f67a196db1bbb1862f547084e675468e50a13b90dce307b2041accfdf6457d8b24ee48fe411d943a602c797d1da3b3bc3107348bd2e8f34b03db7b0cc187cf5d5de780fd0598d48f10733685b42f782832e3bebc4f62a726052ddf511eb4ea6904e1d948f50301978a44017b629b2c9e0402b3c47c12f217029a881f26c5680064aef98066fa6e1624dcfb3a0c0cd9fb8bf36f41e44a204b0780b90a128363db00da8aa73b7ba400a2dcb9564a5f054d8769a6cf4e830b6b06258317d06faad29f26bf79862fc25f17b497d3a32c68c28864eb4f6953baa705ac749662f13b60b1dda93bfd9fc33b2b4f46a5b9e15b05416c94ec6f34e21f00169fcbcb60cd9d6682738fb113d346830953235368c6820067bf9e4aeb0a4d0081c43d65ad2ce04b2ab6548765b06e877a5d9e962a7e5875f5a2420c9898700623b84c3d3104d15b5c7506f4bb468779650fab0d0c89726eb072abeeef847305ed3c05e262bc7523626bc1ef5d6eb609d6e1839ca0ec8a6b73b1e2fd3e13c905499a67f9d5307a14443f7e1809d3b37cba7eb1405bf9f91598f8f40487767b0619d756acc5597cba552fc46ce6fa9f3ad3edc87bff6c2bbb2a7f88ab80123507c744cce573a394e371f3c9ab589c21f2a6f3a5f869611d2f87cf5ec21251df07f939be8d244ad45eaf9b1d2c96cb6b7f613d0897c8d3aaa9dcb198484c242c016eb64b58e7fb85cc0e1917ece6d43df5eafab017376f908abf3c3f7bae055e02bf5446f83b1efe04ded26755f9770f409334c01c38fff4fc22522e5c41f0ab06b76f9b8f31d264d6c9b65f85b8e85b41761cc87acc32abde1e0afdb8ccef7f01e39829d9888056c0a3ce15d302c07fb6206888f01e5849c6c2b436dec8dbe002115fe1be9d1e50d606f93c02435baf9173298aa29b8c11144c7ddd681a15bb067edb38b1609aa673ec16b2484f330bf0d6c0c034f6e824a96c381d4ec8698306d47ec3ff4720a0205c7766568a8dabfc0393c10580df9f4e668f5e45c9e06000354b95a495bccab995c5fba25fe91f4034d9323ee3aa577450ec57ca6c85ed05bba4b70a4ba35b7d730a978b9ba2efdd265e4782be5c70e78f208e4cbd54500267c31b01247015fd44c7ffe75399471eefa7f5e0015a1cd8d49c30c7b0466c048221808b1031361e04d4921ac24715481dbd95dd3441e8cc288f8c7aff5c30027edbac8ec6cd4b615a00995b8be8a6d7d7fc72847f9816e2767a835a8d41db067913d7925457f5dfd1f5b02312ea78c846096c660e1494b954972d86fa3db807b20de77ed9d94dba702084f8ea046c342ee90104ba8f3b68779779671ad1d6077f768208237773e96c7d0ec013f6b69e97ff51efb49f0fc823b79b4487866d06ab1f2bb485e12e51a3088e020b5022bc635f509e22aa0e04d57ac50bbe901200ac785267e14cc0e8d81c102fa454cfeca971188af461107fc5c5379dab1b8e070222047d113f379e27047e66337f89ca9b76549fb0da94619bcc57989873fe0420c9bb45f66b9f22981be0b7853392c7d53983cd66852e1471ee92dd3ee0490598acf37799a86395a502efe8cb4c9b560d05d21740280bf5feccd1a270c4a9004d69a00273c785b592ac83b08541f5a4c0753c066d8d5b149293ee94b01bcd0674d21e887f8c2c8fc2aba76f9973d6eba48b2ddf48397d2fee51515181695901e4fb6637330a6c1854b2883b35958c087ffb133f9e8d6f893ac653cfe5c7ef0633ebb012c500e965843e7ad9082948bf1e63c9ae536ff34e3af2f545b1a405045429fa1bd63e40108d174e129bb1a559d80f68463821964db75288d7f26eb40732196a431e6467b5c525ece79db4002e5310b2b2fa8adf8919453aca6b0e3e02fa26d828bd7cf0376c1f2d988be69d422f2bd337d9bda4c0bc74c706e3b45b05c1e46068b4d8a286f4e92eee674484a9aba15fcb53359bcf9894e5225842670084c093631ec20d98dab13f085f8986aada0cd03e7ce24d9d15ed512b5a8405035a381a405d68dbe0969862219975653f495ba7fdf065d870ed2703c570a3b103eaa7e2c1caf026a085e3e5c2bba7b482ff367c18d60bb746873a9110628cbd013d6a49f84eb6b332afdffcd57ebe70317a3d068e3559039bdccf00c8dd46e4078ead79196e04c801a189208b03bcf3f99aacd4a130b79d8c73fb663ce0317e0038ba8a653024d7f99661059cd6c834e9ec9cf5077c28c1d116427a4784c0a501d2b4c365f31641c8840dec5d0a0f132e86061e1034479d2ed995ab3de4f9c002809edb50e51d589ae87d6f9c19cd211959aa84dded5a00768d6aa57403326803b886ccdd1e03353249e8ed5314ac978bd96997bf37271f8478e51ae7b13f3303ecbfdc23f4fae9f916722ce125f0b2ba12bfc673a6a113d641108269a85579067ee0519775d30f8a62b0e78749750cd6a1a880f099c38802e609cf04c495cb04c3711be85258223f52874bebd8904ce042638b8756afd5544030580a357b5202094d4089022e77b1c1afc2f4c97f8bd0d28e755a5f2c54324b3afdb84716a5013ad3a6f3c00e1bda1c998b9e9ba0cba19d32ee046006c92e38b364f062e91a05cf8eb28762f184fa6bea1c6c18ed14c15d58f0600dc9191fa38f78cddcd558049768bacce0024804df3744055bded59698932bcf5a2dcc2969bad9a1a13555010a939ebf3a77b383857afa80eae29525af320608eeb26ae02a8b8d7b22f02103ed80faad5803ac1169e8dcaa1831adac9cc5c0d2d5bccf79806d61c8229a27021987caf2dbf9922d1aa7c121c3e256066b469bdf64c228a6965a525dbd9cc105464a56c4dbd0ffae6f7b7416e6d1b6afe071223f22fb058f416289d6d36ea1012d33de740b45548976159d15a9d006dda178edba61718f1a4f522b0b0581e80307272e51bd3f6e20ae6cbb076c92b2c8ecdf8d44811377a01e799656d3fee20505deb4c1079f98bc23ed09a553da8c2aa937c5e4e83a24f10b582122cea9b606ec1bb8f3a373c80e64ce6b0073e3bdabd88b5a5f10a6a2c42f5a697285158204b1675d1812aa618b342768bb88e2550101f68a85a25c455d365e1fec6e2ff901f07ac57ac2b08926386510c27a7405b3b4256bf9e262cabc064f4f3df0537a06b9f4e1b06c1c51a7a5e5917a00840511426933d815a9065c450bcac98dcaee025d0e7f1ca9d70a17f60e8c96e596fb1031b2e41d93629a90d31ebf0ad291dd03cfba7ac7dd34de32af973851bf310b7970b7a2caee78837a08bf184f3ddb2707eea1acae2bdf3d1e46b3619eff458f1d457a249fdf1d26e61b94a73d9aa9db0266ccdf6feebbae59f146ebd10705c8d24eded29640e1b4b240ac5efe8ce92c07925f2e94737f76cf31a015258f092f4e499eeeea6fd8dfc3f20dfa4ab6e56e053c8519707b5a4050bf2071052e49d46cfde3ef9dfbe56bb84c1c411cc596840519179aa922826a8f7ee2a2041a82c675d3045873bc9f57bfe0c77e8d21bb780403fd5987076b4acac0b06076bb3c8d3b0aaeacc8320c58ee47ea09ff63eba60468a7d6fe295d610caafb8619937f4e209b6509ce475b575ecdbb9de03f6663025053ae032d0638170ca5260f1105546513d35d194bf59eafe24d5fe320cb64047b85a785c372f41ff17cb3ae505ad3646eb45cb059bcb585470b176625965e049df5b86fff2436859c813056d844557279218c103e69df60cf49607aa8753a006f797deb6b60e9150ff28ca8677bff4a90daf817af0f7a01cf1c00486e42dc05e4e580f315fb84a64029e34fc31ee13cfc2bb93c026b0fe9df72d6e29b7966013b8c7dc25e64e549754c20c7d17127051e3e4e596c1de8860a96802de863e906fdde214ba71efeffdd40abe972bc49ccb5c2285995f4c9b88ed0701c60e80d01db2f2be0e9510365d5d09297e3dc1bb1aaa4188f68b9eef4454a1a7b3654e2000f082f06d5b2a51aa6f4c795746490a653fb5d91bfaab2c31c55bc0abc5f1007147a96ea1126e2e6103998890ef9983239a371cbc3f7187ce299f3215197bf00081d53996ab4b14abfaa0980ab98f238dbf95bbcc052e78c98f7440107f7620001d30b81bc34d9d2a7c047696e2fbbbf1487651335a16d567f6ddd31e7fc5a007c2cda255012d5937f347594dfb4ea9ae951d5b0245a51fe8e3266a2e6832900d8ec9d4e33988322598175872d72ac55a38790f3603749deace0134ff6b561008a3d7bbc7accae19cff8729d4c82dd2788a1a625c24d1cf007c928b717852c0019890597ab1b56b7ba915d16cc0ab2d328e7fd306411088ed34520e0f4b8c20052e4fc6e979ef057ef780a089d2794cef2e41b6cea5d2ccf577da5b02962df0054f69a13a35ecd779e985b1b231ecad34e40eb604be5f731681142bf6d5efe000376ed416bc834910008ccc496e949d608c8f811ad011f2419171df73ea60c00fc6a3d0a08fc4795e30fce20508d4f051a928c16976f96ae2f2207cc70d0c600fd169a9cbc8d1b45c7c6dd4a577f66168b5fd574bdfc4a66ec2c9589b6ecae0019c09ce4be6090328b00a46c27cd5db7644dfb59db7e05af508401eb59bba7004fa46e99e86d3b2d04464a90eb70705b82f203750d04f60384bccee23a9ee000db7afe48fa4016b478e7106703c7984b87c6b6ada1800fc40dc7e22b6783b6005abd48b225b98a81b675888e42e5bc12e2c1981438c9958c39e418eed94f09004bbb187fcdda38e38522905f3d0ba1891500e1986055b0962bf951aeb2d9920093200b701fb669e945f06dbb1e7bc238bda95f96fb51f43f03bc6c5c3c5d65003faa0db94766dcd833ecb3fbd11fe6c4767476d41466be08a6d68baae6972200328bf4fe0e9830b5fa817340a03b0894b34edf63fdda47a1263c8c96170b4d009e9a4995b38d12d6f118f36a1ff3afc88a8b252679a58da082765494d08be6001e81dd682fd68f7ff8574d51e73e14996109dfd8e123356ae996f68b2cdbca008d8186a0d662188dfe0d3418aa342aa3fc5f7038835e69db44a53eb02c48ac006418dc66a3e5b3799877d2fd54de52ccb412b9cf7e85db73ba7835db57600600e6be2101592d0cc9743667e342d90bcacf7df7dd3aeab2f31a6b1635c5dfb9005998e0201b08fdbf31c3c5570e450ea5057077bd7227e8ed73f9b9359c51350045eead2fe7b77b785a4858792368952205e629f35a3e0f2ee948c273770414004411fbdc992b9260e9c073238224144cf11241e37639e8253b53b95360632e00216b7316a93f27b9c9d853fa3ceda79dbf3885ba47ac69757c9e7b4052610b00f4fea5dad237ef40435b6f47f0561d77302035631ddfaffaccff7927f7e21e005607bc83abb5995ddb0e967c74bd8630e71243b0c86e07e64713ca8eab365600dfe6901a7ec1c2463cd71b041e5ece72885e7bdfb86adb5857256c159f248f00b847feba116143b6f60a77ee5efb6cecc0d14002fd505d4676f6611a4cb73600ea54746c92545dbf3dc37aaf341ffed0ead23fe2e7a92c93499b88dc9900fe00acc90ae162a6db18f9f3696e0f2f5240b7df55555a2d83ce430449c40ee00300558e238b5f07ddbb93ab7906b0a5b035e1cfce1ed90f28e8267e06bc22ca0b00ee2489c726033f376b604d0b8c12443d2742d917d948c521dc8fee2231e454007fd0a2f3506d3e618341a48dab54272478f62dbed97ea94657e7fa11be5cb80094aea3802ee9df71f41c69615cd57dfd97f07c6a87574ad2ba8b2b43837b5d00f62ad3d252c2766bd2fa7d90e865405c7c603ca45799f8b2314838ad5e697f00e8371307307a9404b6692a69c09d654050afe588419df97ee6557724483f5000a3856c8502fda95a486e6a6ecb567bce467bf086ea150dba812e50e7ca34a200024b3860e4b82a546f5bc3a1f31a076b51bb25d4663ff782959ab3532a889b00a47d18b477a1d425370fc7e136174375ec5de1ed52001caf53f5d0401e6b4d00ae9591f41beb35361a2fbe2de9d6e0519e63a2799a93e440933e61236bc5c90048e97efa9cd232da43cc91cfdb03bc4925dacd06da471d964a496979d0ddbb0049a70049f6b798868a1769071ab0decd8f90ea69799c2135d7b211ddd05c6d00357a9d1833c8f2e80f762ab3faa558eb63479d72dd44db74e1bf69b2ebf06b00f59e8d245d8942ab70b4d249c11b77340732a60e14e11c7d23cf696936f7b90000c863c7aec6fe7ae8c77fc242802d0aa9c2684746be0bd61d5c1b5a1f9170004b50437cb9bf95bfee32cc262ce4f5be0928a99bbb48013852d973c11260f100d62da321cb5b32274b5cb4c0e9d7f2f5dd8488d6a709e691053a32e711020a00ff0b5f5a8be53f99e8ad1a35d9e25d2e9fa46a81eb269d9cdae4ed78cdff22002efad05ff5c73346860c331db5fe0daada5f107f89129a82b6d2caae3c292a007ffd3a0e14afca4e555b7fad07282f236ab42b80ff601bc95fafdeb296b5070076517f8b4e81729207acea1614a9801ee01320dad67c710cbefbc3e8d015a400ee077a1729a88c332941c77537d2b5879404f4974146a939170e4cf84209c200330bc17b7704313fb0a58eeb29c724587659910e5a586e9fbba04c85f143f800d0cf1bb519af9739cbff3ce4e669d1a8a6c46e6b38a329ebb1725b1e7504240053fc3f96b69d4bd5b28aa4289a38c55183e32ae690f624dfe9f98a437c7b2f006055f17d91d8b9d28f6508bbf8afaac2655011293b7373e29d5ba3a18cb4e500e928e376a87e97c08300f9bf8efe873d73da582c4bb4baceea8a0f5a0dc01f0093f08c3c78dfc40ee2992efcdeedc496f650271eca942331cf3fe60ab6751e005aec79808615c77de20f0298b36701e6f4a55a7b9165320a7c9c7db125f47400c53a7303c1f3647a6ce5c959a155ae9f3cb16b36e5136a788fa20258259f9a009956b44f7da09256e06ad48178377ea3dcab91f484a225c1dabd1f3daacc75004aab31e3cd52a0e0503c767ee77958b3f1ccdf2032fc95d70926819b07125000e90dbb3775aa3971e6504b98a957dd2cef3e42ad0942666b9bb00436520e9400e87eacea947ad979c45c4f22f1c1c36e6744e5e3916f88e1ee0bd5bb2bfcc700060da7d0dc7e889ce53c22756db5165af4389b02f11da4d01f30e6006f9a6f0024c895758dc4bdcd0e6aba367cb59e17cbbb025f8ce719ff3ac7fa0cc4e3aa00e364561e4f60bc997b1bd0b43e44ff57718a60584f8031af0ef98ac750235e006eb38cca77d62587d0c3c7b8c65d171b64def78ce71a28cc30b2b34f51a5cf002be613bd69153edad97eff94bf6a8d7df62202416d435a10541e24b6596f0b005b3954c1167751c9355a6219390f0bcda23ec0b21bf36bf1419b5b2a19769d0017345fe8f856244c689b2823ee8ecbd2fff739766eb62bfc647a0718b81a5a0003f91bf74a48e87082d2f53f28ff3add626abfa515bc6350c536b61969ec4100312c610a6fe78986ce4c65f34541597c9ef816d6f4ddc4890a544dedf4d7f30069e44e9a6219d6d2b5c43085665e495ae85f2544055a47e4f287427aa23ee000431d8cb78d22d10335b346078f067ef0e4918b32140dab3e29fa7c9d5613990068a7ad8bf67f763c277a6b311b3598547d10f8e3f3efe729e4494e7ba7496700ebbb51ce91e29364a82d015c14b405f27d3a7c9386c3ed51f90a6dec93fe5d00584f941d0e50890b7406b6fc1a9e31e668b66c118c5a610028e38b06ab8d1600019710fc3d26a3bfb68140d3de698c6cddc900732ddafaa1c1284a2be13d770039cb9d85f05fc3ce29a942ce01a2cafefbb1437576a3bcb3b15b56e1ed7ef9001ebb9a0090a38d02fbcf99ce8ca02daf16d24a727b3dcb71f42b70e16da3c2002794a557a63d11e5513cfd49560f481feb7f91b2b22f6e975ca25a13a56d310086f5643f50067bfa88690f91d2f4f7b408064903f52e8298bb1746e8ab5cfd003ed464bc0b50d5ce0ceb2698f0c2dd3041fb0a2a910fdeb00b45538ebac5df005ef465d6e445137732c271cfb0b47970cba26051dfa5fbb485ac17a605a6c200b5e15d694b6aa6188d9aaf375debf7b0e181cc94521ffd57f3e4de55aeba760097ace2ff7f1a8c5703150053a1e03d7c804744919f5eb0e0afcff6d06958b20058756d9f5dc479a5666f9169a7295af694ee69632cc2d8b62fb434bb098beb00fa072d9be1eb993e46e1e2bc640a36a1430629387df725cb5f4f4b357240bf00570f1ad695c78284bcfaf5fa3ca82afb60de151371a02ca82c7c154ac4a3af003e406e5ce81ae25425677d6704581d17e4dbd54d3cd9cad66a34b54d1d70170099eb7fb48c196f6048015760c0dd93408b09788230ede1de2b90289ff4235200bcd94c92538106d6085c0562fabf315437b742ff5163398ee0507d8c72a73400a788ede5b8344e14cbf0a1de91c67b5f584c55b3883469464c737600b529ad0053ff66211087d8d1c744c2cef08d7946e8d3d27d8a393b2daa190749a18659007c4e0df5206751f626186b8d6538e2f84d9f1ffaf1736c692294f102e0f2a100885459b20b8657d70b0e148cd335ab27c41b37e6ecf42bb40adda0f498399f002b9918b3b918c6d2bbeb54183a3d546b6aadd119431a8a8e96e6295311be5f0095b4c9dd15ee7ee3ab6169335b8a913435073984aa8243782696935c7eafe0007237a723208afb564cebed00676b857ccdc4bc49dd8eacd0ca05a4f30f3bce00b8d7ba56d4e5311452135ebcb25a7f2b3a0baaae25f6501278d6c698ba131700f28d2fb8c5e29ffdc6fcc0b7d1c87eaec4aed87d40e965726938c62ecd72f8008dd5dd317ea8131e050cbf360644b126b56bde641348806e108c4c42415ab20096b615d147ca62af65a101be3d28e8914f56b74c3866b9b1f9f9d9a78436da00a0a856fab95b9fc01f7d054f8e687f7870f35c6250a2b156efd992312d86f000920cf263b96bb66efc24e072cebd21a9debbfcce9bbc0b0a335c61587add5b0027ba2657a6653ebbeaefe057d892286ae0a916fe65ec44cdbd6e505ba9eece0034969b993d695f6c77d69aa3db5e99677ba17a4860174bb1d50bbdf8ca9c23002a2cf77250af660df5205086a673b6dcef6b53587d860f775d69ef24f9436500817207790ea8f3dfec1b9d023bab3dc5a216a9c2bff05f4ef5188cb67dadfb0099dc03836d0d4a08e175ccb82256bf241629391b8c888c24d2a7419314804b00854f7de78b8c80b6679b459646ef12a5ce75dac2a5894bfec47b43de9b438600796844ae87b9f0773211f9a708c0486246e2e968db31f495873f69f612d59000e97ac41a1c04922b663b20d73af86b5648de50804fa38253c75e58c06a45500021c41e2f4ce58f976dc783732823961dafc83d699a85a4828beca6bd7000c500e58fd237a073d5bb1ccbcbb479f55a30f341a2593716e0e9681124d4dd5ab80020be7fcff6fd3a6db49d86cfc6f417fde4ef21578cac74ab983285455fd5cb0064961d47c59f1968a36dd881f9e52985717ef73f16e64bf6e37db9277e4961009954184e07f5a861bf6222d0012a2524df2c6884193412981c0884f3ea2c4b0021dfa133c496299e6ad2f6f9fd156278950de770adb7dfa5141c5dbdb7407d008a66c1d334eee966084cd0bb962b9308887fe4c1424646b9f87a11b1b82138000460a5f547d4a8981a4055cb167d5cae836272c1303cc2ed007ce7fec12d00009c285ce48878791bba43e6e355337442191ad27eb60298b31e9491522b6c4a004c1c15cb04b9736f436f203a5e1a03305521641da886791a03636408f8ded800f6a025a78d699ee934512a7690f4160367b2db6e8c1efe68447f76e6ea931a00686da63b79ccf47a3183f8dbf05ffac7e74b3a139bef3df7c0bd504c2711d100eb2cb97eecf4bf4fa6c305443d7be650e42b377891b0e86a918091d400815000ff8019e3fb2005489be412b5d0d39c297b74dc892605410d1893fe760b92b80094599b3c87304402a221b9acdca882ed68be676769da808fc50c6ba023260a00c00b5be03d6023859f6b4720d26f8f639f7d7a0e43aacddd3d97feec241cb300d6071d820deab304028cb55ba8ffcf5801c33a3b437b28cbc935a0463e5af400635576e00f9240f8253405536d734b1171b7a62b35a9d4545e09683cb3fdcb009c9cd9d7afc946b781dae785f1b76aeaa169b09b82a26c2235da0deb14e690003a24e3228c0cfc0bff40f3a6d475afa5d58904a8de1e9af14bf914ceac2a3d0036f8b5881bf630fea1fbe9799aa90f2a1446c95ed9cc14f45a134828724caa006954cecc3d25a76eeb78b5b38386efef1d569e91e792e2c4c341c34f0d3b39003c4ddfa16c679d87f088b6489504fe01dc6a85d129f4147356e90c0887c51400d7b8d8db710e51d5c28c118ae086f845f1e7c5e0c5efa03fff2234b46cfa4c0043a3947ee11a47362b7c291c18b1bb26fd70f12f3060d96f9aa258ca0cd5af00528f913dca32ce12045dd8e6da0f3a73868f40c2362794c171e806943b8dfe006f2ddf4c50798b8f3e2bd6f189d96c5d4364310c65b88e7c526031ddebf26e006079c9c741189035d24bd10728bdaca4b75d4774240aaf51de503cb55a30a6007253e3bcd4070d2a76c31d749a17e771d6aadfc566b5a41d87d7a459a07c9c00f1c38ec43c6dd02142137646a9988d2e2aea6a062dcbcb5316bb1474a85ca9005a2c8f2ee78a49e8218f6248ad21660e23e2ecc77cc202b59ea294c7e9d48400c0727976482c425614cac2e45571dced5adfca991cfe0635946dc336f875fd00dfb4d916d1f4d86df31e3989fc7610ba1336a785183a00844db00454e2844d00ebe95ca8216ada6bcdaddd3434bcf1a88458cdec74a1d009870d7b5f54766e008266c0e673f4ca967029236fca611bd8278dcad3ab4179110d1059bca338a606afaedfd83e6cd6417735fbc3d13817e6a57ef8d422a804d1fcace23cb423f30047318b5cd70a8f7a89a4613f6b982dafbf60628e2ef5b334f409bb695ef414048f81596881d4925f5abc49dc20600d2414d81c2d4a004af51b8fc7ccae6a800313a8a00b54585b971a77cc71bbe11ac2c9fddb5015cae11c6284ff94f63c0204e10267512101c78bfbb602828b7b2d0cc6148424a0989a894c144b4b0f4ecb07a3ca117a76bcccd45e8591ddde137709a941464d17a3ae1af74d98f06fcf34049c6760afe03856b348f7c6952e0e29193f6f8a62a29d062b7a16dbac656ff505ae7445def5054c69c3d15e60d5e63600c5a7c14588229a10e42e7a4ea9866503716b6b9071c15ddeeafd64ec47f0400b2cf5689a9191dd3437073d68077f13006f91be75742249af3296cc5069700b7a86aa4c58f45e4863a4b614d19b19cf076839660221764ed8c7bb34826d0c0d84a61c7d454eb3f41704951ad8e8ed0900d12edbbebc678e29e6ce17ef6e30c1d080e5eba9a936e0a3e1e1e1ab4a771a012f308560e4616bfb0cfd5cbacd44f3c1743bad157de97cfbb095d2f0ea7fc3048ef02d6ef3682600561c4e7538d5e104143fb1ac3cf80f89b0577e11cdabb901276f80b6b79eb7d1808788a726514ccb5dea4299b8c3c0f970b146652cae28023f433bce51b5c80049d492a63dc2c3f9ffce3a216918c094e403bca1124fda071e82d20cfd56f245e98d83e27ab2c2330eeb07836d5d0ec560ff2e018d0f7e008b52107bcbe1669c88c1ffa969a23adeed5b0d0dca8edccd1f61e613c8fea4022fab8656d2580d52d60a084870a3a468df805da97b05b84adfc136c1827fde0263a783e6c68c77d95a2dc34cbe9c6a034b53098f95c0473d72e2c62138c3d907719a783f95c00b4c71163820064e4cde35262d36c79f1937ebda47c1fa81c30624422b0513a149e3d24d46983673a17e8ded3fb164ef8e72436a3e4a3a423206adc6c00718bbcb20bf9369dd11fa4d5c412f7c743764e70db15da3123bc17e070a6adeaf00f119d90c0f903424e5a1cf75776d42876b29c85e9613a3b56c6b06b896a14e70da0bebd75924787727e9c1a1192cefbcbf5bb78074b2f4e42d8a0346634067df0127fae6282fe8e36a9f03ab3bede53d974176464b7df582070c067303426a2a0a4e49a312a7b29345ab98c8a912c5ee685ebf33cbad4398c99a025fdc5114026b97fa35ab374ba6304c2b685f8d89fd8a16dfff75547dcd1bf9021609a614a26db905acaabf946cc54cd8bf8c1b5422cc2d26eb21de401d016c00b82a48abb48e5627dd9949e3a5929aa278b1ec7cea660fdd9ea9e44aef2160039266d9ee386c22b5f8df7feb4c70c1d5f9f781493cfa75db5d232decb0df430154f382702b615aabc9437aaf22ef4159145322c02264d894ddd4f82c9e4d490784b13cdba7b846625ed28704193ed5b9b08178dd410928ce860a117ea3ce29078690cfb04f5fa3d5f6e299194c59838bc8e5263c5eeb61d86572f90025956701c48cd97e2d5c2340b573a3d5953d92eb6889700efc4297116ee0e83dc9c54307ba4e4d5f34438e1e1cf6590691c23a882e53f5c85bde43bab82c42b4ca404200a48fc558b95bdc7947b9e0252d82e2750d10c84ffb274a7ef75a4404a36a42032ba0f4e115a10fcc68656f5717ec7202d0e999b34fb1cb03e61ba2d70234ee07746ac0c5c6c47ad5852634988cf97aa637e50c700d272ee06e0dbb43574a510161b2d0c7cc0202ca34597c8c8cf86b592b3034d7755c915b83ce92ba5825ce05d054572ca4618f1a3fb14eb62d3de2b7f4ee8e1f780de8416870233fd3153b031cae5286b168827633bc0f2773857d7cf1d85a4e15223d0840e925eb21e21d012e09947d61a18ca7e097199c43d50013148d7d5839f051aea2af3d5e63fa4101605115cfe43e37965e7f744a4c798c7bf8e1baab575c1afdebd874145964fb06a8aded32894523312ecc645d41340050b021ad983340173f8660d9bf4ef83406f549e83f1d6dac80ed5b79dc785113808caf918404fd29c283147364b4d81807bf06e5f806472da7f26f240181b5b7950c12a5df632f45094eebd11ff5443e0066de82c245aa5943cc909ab852c0323a9d682e10364e38019ab32c08d838970538f3164f579afbce34a6602478d622c9ebf4e952392cc72820a9255a9c7a13001e07026a1e527f5921ec55350ee64d56d73bfb88978e558325eeb4032f414f04bfdd0185f2f1e9cda119c0138db7f8fc9ccccce0219b645248fad668062ea7043f4af83de219dab409f199c82dd88d7e9597f119d4f936664e67ded5e2d52403078286d09eca37d95bd441d4799ddafe8eae210f18c8b26156d876d129661205cf1f3b0c1bb0f8ad54dd739873ea69a86642c247b68f0b826f1f38c83c5dfa003c5512cdc43b5d11bb7c3a1f5e91363cada52c2ec725e5efc607e183dd8272046ad76714774782f824009ba6beebe91d37d28170e7ccc1fa054c6c427fc4a805c60edd0c874e9019233142af9404efe7ea096d903264ac67830ab62990c8b302905237621a575547141ed7404df041754614a7e202430e794fc2b86ba71cb301defc4d82d2ca66ca06050b29af10cd7d10c68b6891af69ef8a095c54c78359076b1493cbc4c0120c8d78a9871b8e6dfe4f8e09368e6aeeb11b5120740606b507c542ed722f7d102e0ad25cf3c3f0c9d4363b92b9bf4dcc50016acad7e7f65007b9d28aeb7a3d45daf23b79cbd06fc03fd3e4f35e16918d28d8038602fff28801dbae588e1badfb3aaffda04568007d90a1ec08aec6ffe64f76090a3fd040410102c1c168f81e504c5d4d342e3fb9b800c408b8e6b55f315cebe4825425003b040b63dbb8e83c2a8e95baea30b5266665d69e0b2300d200639da2e08491197907c014896cd2fab4ad3b61b14c6abeff87b7a99a88d226f6d5274678c1cd51bf062858ae596c33477f0c6b78eebbf0a55d1dd8feb44ba248352fff873a91c27b06b0a183864d809ecb97edd70cd47fc8f8c7b4ca85a23848e176bb9a0df5a1980628465038e613306e4f3162d4e63fb344186602c0b6e748ed46dafa31833b7e047573130a813878019a303ddeea41bb3e0da148cd9e7376db3185314a00757603249e9bdec9128e4b753f515e33c7085cb1aee0b3ce1849b688202f4ecab3e402ade85b593623b1a59fc840e0e5306d1df75239b83071cd5ebe8f5a015f1f66052ccfcb51b1ea99549f66f7d71200548bb8ab263698d1cc782ee27da8c903cb010051e1d3917aae71a52a94ffdfc2205cc6ccc8e00c8013971160d22c4749c302eeebb566c7aba6739ffbf3a29ddc8a3ec1bd604c6f8a41f96fc1d62251a5d704bff5cae89783df6e14a76b7ec723b1ae005c7ce6248bd53f8f42ea0cbdfd770126009ac55756809b76a9bf7c3c6176cced49429abd3be78f419635d98147c403f742975ace321949e493acb556255b143fa0bbb6f54da12f3977589bd9b783069170b45a02715d583c53eeccfef669652320e3cf3ed8e1ae31e74f639c08170192ff4733f7f0dd35fd6cecb0e1313d4c7236d142f45780915f54444d5195ce022e0dadad9a65e9bc89b1ed59cd1327c8783cab7fab4663f4521872fd05be29015d915e1a3191ec01b8c69f4548b126226ec16db600c5c532f9eba1315f43b600ed61ef251a7fccbc6d0ab49bc2db684a273a5a39c76aea23e0e9ea5d3084e6020b6c145463b07f7ad2e35e75b3539ea28689c8cd526268c702effc7c7bedba073a2fa2b831bfe845a6182ebd377e26c3ddd045a11e4df71339441cc98f0dc4078273c0fb089f7eed78f74875fe46357e653a1efd8857d1eb8f0ff07b2f3e8205ca8688d394dd8cf84dc1752a2b070fc6746788367e40b1d4b2ae85431d389c0797b491712c8c260baeb97d81292255393c65aebc35c6eb3d6debef14cfecbd073372b2f711a6d268014f3f43a5a294fec5ff07150650c43edbe0cfd4703bb7043b4d20a80e4f17c0ff3aeaf13737b89dc641d55c27c3a15794f4331b091d2d026554d9db8ae1228961a9a110e6b5c0b75a961c44394a73cfb7f2d0a13ebad304140c0adf35a35e6da73342eb0bfa5b8c1f3cfcd747a0da2e7c2c93b5830b65018a48ad69b5a6a8c65f945e39d9eb0e24d52b16181c9751d97d75d2fa484fde06a76b37ca108efdc5ad9e33b2ce23f9820f571a8a16be349350398eca57e9950216f73455d51b9e84be543ccf6cf44df329e89f33b0ea127ecf297ca0377adc03cae0ba15cd662602baceb61159824e04d58c46c161f21987a84e110ffd5d6602cb70a1359f2fd312bfbaa6f74e2f57106ba97c93bdfeaa6fc438352cf97505014da964420e81e676b432c163f87b1ac45df7d653e434e312ced87a3255aa3d015513aa50bb7b37ece89a12215a9e0679198853475438a2498ed92d1792f9d00482abf3eacac96bb67fd7558066993050ae9d16ba66a3d59439f7501ebba61902caebe11bdfc376fb23cc17fc110b640076e6008af521936a6e83e718d4d0ee05678e18c2a75ea2787dd3284de7db4155c588a1d72bb3cabb2f272020b6bcc10528255f8285ca48940dad43ab88e4ba42d5e292d647f71471fba890e10451b7023116a53a1092bfe7eb2efa3fc4af69a33beda11a2b2344a757317cae74986c07df4f372e879bba34e8d1b6da5d9b419f0c6d8331d3ef427518b79d198ed53404b2dae900a8f43727907db70877369cfbf95cb89b6bde3d4ef5c8b2d4490379072040570102ed6aff5bb577297ea9d5b7988a43f87aa1f2cbc03c7727ee1522015b425e11d7046e58afb4b0aec0abeffea8c4b3c482c2885b97ee193aa13e5b05a48be2e74ad6cff4182ffc047f9077ab163b65e235c4d00faeb1f9ed47fb2502e9eeedd16d69f028916a03ca1487b4639e815049fe81e0e1d632bc7a44b4ae067d15a8e6a4d320fe39f1865be365e214e7ad5682987adfd6a7cd0537d8ed4901f8347061b0d5ea42f195d9642002cfc678317571721f748af3298a94754bf7023e1c8c7da9ed5c9cc876e17f4018c27711d39e1cabf68dfbd435683f60bc2e06b52dd7af08b8a0ea3a9bd8fcde94dc93a65bf81efd43abbd0d50a91804599f068a539ec80d295133c8a4ea297be7ac1e1bae3d0ddcf7d45c141b5fb1a8fefd040a65df97d039ccde8a4bd5c1768458c23158f572a5fd8d377ff7d8e96eaf5d0110977f70a0145dae24237a7635a45c8e92946b7a918c63be0955fff2c656dd07f6056c1c2a39026df4f4ac9709944153ce8800380d3ec67387a7a0e70dce5e006647ec7f109e89275d6d3453118853b3d3e5be6d2d4a94b0759580a6e08c6805bbee8835b88ca39e030118982c728f8bd439d5253cf05976569556d047ade807f9085e4bd5f4bc0b2e280ca505b31793d63972f5346779b8cc64394f85823b07d5bfe5f0b05967cb1f292d14ed73e31570014e51ff21cb8a9844f18d862cb805aec7c83e7ff8415ee7b7f718d6ea4fb161a179dc20b1f600272e52f7803de30445bafff74163252b08b178935ffdaa55893a92cc96ba663c740e6660ca960f054545dddaca82fa6590ec22fcb10374e1fccab52b11de18cb90e4d43989787c059a415d7de922223852f24fd43e494b3a3e52998dbc8f1b917ab720afd18da70598bab43a0ce51f8a80f6a21dafe6c847b71aa8e174e1d18db9825cb389a90504cd99b0a8bef33093c878dbd31cf5a42e8c0a0c50683ddb5ff70bf6d66596f302bb77dc117720651030b3c5be1a2f1ee15e863680af89c09717e59e698dc5a7005f2071bcc9a9dfe7eb15c0d9965bacca7b2d65912013ef698f402338d124440271a18670d3a4b5684eca048c93ef09dcbed7711cf8f1329fa4e0dc8e3aefe906551527924d90d1b01383128d832f7cea3e1df11997b00c017c32277c58c3de0099232b363427d1605bc8ad9b32e9ae8b7878a37ab3f281d0b779368d0b480f02f7360a3b848983a20025f4c7ec6f1608e05d2dcff436e8921ffb933e1651560042ee16921ff69607082c0df900f117faf1c430e7232155796f5c15f7545b570216f8a137e836776872701207988bec6bfd508c1863acd5461b480523be54160429c25f5ca641046e8665a4aebf6b16311838b5cc28627bd07f6288e52165d100221251d2ad55b899b1014ba52e9d41a828dd51789b9107e0f74a363ee8b9fe06321155abd26634c52114163e4ab884d9f664034eda171c43450c62a5cfd9960377bb72bc7a2e489cc1ae730ee8d32fb40f0f5f468e589d2507eaf6f03f3b9607609ee3afc0bd81eac735cc669bb9963fcbb447d9e61c76f752f095d46cba80018a3424119ac34355c75ee8ce1f5e84106d2ffefcd051ba8f25293057d7ab6b07640ce1b7684274b86ad8874ec6bb31822ab2848fc2a677c1ab2a4a22f07cd7074b0fc620e2079808e0df8e349ce5fc8ffab9c5f63e18fe5461e1916eea076802eb1f5930f5d8a020ec4d32677daa9fc106ecae05839496470ad60ba8d7003e00d340102ac9fe38e536544fc21b18f2a7241db5fdccf921d8f48019a204d9ea053d82ea6c48d3be07eab37dd7448227a8c7bd8c2e078e8e67d962b74da90b3502b22d3fc3893d0ab364a2afbb4eeac687455f8c30e71b151305c97fa1beb85f02478138cd372bdd46d49175de7e9148973859a1b822adb896cb5acc858cd68400b9297dfe9db0bb199bd55ad6d22d98c7a9df8834401e62cab454042429e100044eeda15276d1bb517c276742c19bdc8006873e5697864f45e1cd1d49c4b5540620f5e2a6c296b45d672d91ca8c7aae087243c2f6c9fffae3db92d86f17baf40304e58d31f37430806477055f76cafe5557505950d1e541f2a1bc81eb032fb0037792f895b5c084969a0affd6888cc3922b6d966fbca781f759b50b658b7f79046f48993744f5a85aeb56caba7b9f8cc6602d8661bad4e92eb93a12348b36d806d04caf597781bcd956f6206aaf4d2819cb1d0f2654192f043f80c8099d3f1101a13b8d2e47d61013a5ce63e936ec2a3360760a2bbbb83e488baecf8e8c8c9402e075f322df4d8493ef41eb1b5b03e0b62383354621a0573ebaa25de37de79a07898657214d2a324ad0e2adbf5e5f4869a4aca7a87a77034bd66455cc9d43aa076743b92d65b6bcc90758ee5b94a923137da82811a99bc2c2cfdb0f65c3642d06b1ea8738361e6511bcf2a23bee5ad373a53726ae546a9e560539ebd7befb0c04ca4be85a88707ba150d8281673ab7a8b3feb5abb4b38f555e1a0f1ad6e5c79036f69c4120bcf3b9b69c0d4aa2d804a3ee820c011c961a570a3bebd29d6b9ed01a2f27f0faaf1efd8fa05f785cf2654615427eb309feec0081c8cfe93835ae9000ee54b25f142aa1e4bc30c6fa0814af13e324fb8bd5e643fe717dd5d5858f5065d256beab1dd672fa2bde223c183885ade5fd6556ffdfc14e294778e820b9003fa54c362a04bcbad2869dfa3024d112a43534e5f17e680cb7a52f1c8f07f3004f6e8720425033e10e58e6fc94b9a4a0fcd5a34e467cd83a3abbf8d43e7fa0d07a20d882d60d3a7d37e6dc1339aea3a88091df12571c68bad67efa92f3da2d705f8c1776686b1b279197c293639284a0d97ae3c29ea02fe31980b02c03caeac0117eca8dc1b69ab0030febbd89a43f87a1edc871382b1ed67d14cd242ac44f806589538406a7f9340b3f050cf49e6bd637f98dce0ab2a437aa941e906f6f20607827572102552ec1b63ac9a9e409b25e760e12490e61c43748463e7e9b8097d06dec89c5a60a549eb1df11a5d70334e8474bfd210ccf17fc6cf868c98a0c4a2022ca6590b07636bc7e8f9be7e66caa0143a0f9eabee896e5b6df8ff52926eb4056dffab3dd812b4772b218dfb29678038f2947ec2cd52b13723eca0dcde961607a0f44e4331745175640da45f73ef13d387cdf653f78c9fe8d758cc3436755a007ce4cb02ed1b5a9d875f1615795d967401f046f6bf618e215ae438262a12a30017d174817210aa8a0eff9e847185a27dfa6332f657885857f63f5e7c078bf200a4641c60ae935d67ba34261d185bc92d1b6b60014ee74fff53992f6c8b2d07009ac6707e56f7cf1ec0ce83d424a97bc0f8e4521ec21a00f85fb1ea5371b64c00e32477599232c36f445adf26aea57d48f2b477825b61a723f12d9c0df0f5130035b79e03da03e8d7cbb8c8bcd6c421a4a77c8ab62fa69a66b1d650a89ad6760049414cb02e257579192bc80a4c911ac5a1962bb74b5b4e64ec1248b0e3af6c00c3370ee0231324b85e1379ed5e4f5c94862496ee85342157b182e3b353091600c621fd271b0abfb7077e71ccd7ff4d21357c9f71a1d3fe65cb4bf00d0429880008fc2c37188d1479f0aece4a943d3da7b379586665154daf4b168ffeb76a81008418f28aaeb3086c00f0102e22f688e83c9cc16f6f9479b56c4836fd0e183900f603b96efcbe8e55362663ad1d4729b01155be9a183ff1816a0030e0644da800df1301929533c23a493af2a9d0c45675ce5321c409ddeca6452e81fdc3bfbe003fefeab8a003b35024840551d17a088653c0d2a7d28de76a24b6f37ccdef7c00098ebfc6dd630877d3e18f6bc81584d579ce972eb5b29dd897e20c34951e910060170d07c52108e1056407e55c018b64f5ab2e0e8513a508d6062b9e92c6f300c63d9a6b231544c9e4a14c34a78763e9b49b0cdd7470c29779cb780ac49336004e48e191a6e04cb9eeaa17d21c20f81b864dd1cc74c092de430f5856b12b4e00f08e3b21962ad00f4f31bd03f20d473e829cc7644cea8ebb4d07dd8e074a1a0064ff80d34ff3671c43134e287a4352d939f927e1d2db1956fe15d95808445f00efb5043aadd92204d654c157387d083eb085822d55cc0d1d6626a38d62634400bae7f12e22b4982d60e60c8036c060ef5f9058f6bd752f7c818b883ff3374800c456b3766d8885a01995020b86ab881aa7e05d110092a9f5340514aecdd8ff0040f51c45b99e09478d8116bae9280ae1fd8496cf5cf1391e74f9eece9741ba008e1bbb446a9faabc615ead5b0dd7be832cad149fcf3376e19965d1648fdbdf00a7acbbe18bdf8a9c5c7f0e08961040fbd681cc1d00851a3b242207b402b92f0097c09d0f2b998521a94c0f2bcbddd17a1fab66e2486fe28190114d832abb02003445e9119d966e9fd2e660b8f1fa4336f0658122a2a3a318bbdc04a23937cf0095876be695a8daf6aa20d4a43dcf67a3d5c134d6b3b23411a9edc77d68c59a00bcc461221b993c0239fdba63cc3b167aa42b3eb2f4c42b7c0f3c120e3ef9f2001a23efebf00fe763825f6aa3b59ec8ce54ddb448cfb506cf350303aca05a3500703dfc25a447a1696a23726bb5a2597683221c2d7e5293e4d66503972c5bd100667211938282a2368517315f479d2f41e1ca1e1e252594aaf6cf586eeb192000866bb44790861da489855af5b97b702593006da384385587f27f93e980d65d0075dc4e9ae53210b099910f444637c5fd6f3ff801c645bcd6ea54fcc17114ba0049f87d183f2c2046128af26d6296c51cf26fb6ed1ed7c7c0c678f11ed25cb400dd9432db5e8274e7ef2f009ba54739d8edb7448a23716613e86e195094dd3b0097f4cc4bbab98d78a7a143526f1060a33fd5ae6e96304279efc9cc6d86df8500b5a3ef3751d91da5372d55d7f945d9c514594f71fb637574ecc9006c2975610010550cdb6abb1a35da3553d52b9ece06f6d09844e68600b6c1722b6cda5ca800494345febc533aaf3ef799ed746c6c8b523f1053dbace838477ebefc2725e50086a1bbac66c79a29cb8636393ac436454b9b8ffb4ca61069f6fde82c998a98001b10add099806a9750bea319658c457e8983b260fff69c45ef7913934abdc2009e1304fda552a1be0920fd819b9c2d4917ee6ef2d235a1eaf723cd6f97744300541dcf1dde58b519fe617d9716404a2f87f54b89a1892e0f2c99f7bf37e1020003a3f186ff886870b3fc4235b82716422555114d75d846ea7f77f4bfe6309800a94f584fa55e5d6196fd7aa3d16742b69d18de1e926df03bd478d9be93620e00d9ec95e7f1d03426034c89116514a1c9313ff67353717a00ea1075c4e43dff003f5ad7adcd06dd78829888afa48cfd362f26b13f8cca24a586ee17ffb4b51b0021dfa1090c44e85e9fa577d66eba801d5e1f2f60caae428dbd961c3ac61d3a007ab5bf6a2abfe1c9c5ec0929ef6eeba9c1a58c0e1668a6d379190b15d0a385007f0a4b16404e63c62546f7e8ac0c105312496cd8074ecd0d9037812f8be2ad001d1a8a1d55143c50037fcac15f5150ad4fb8981c1df79481e6cbcc5c9f1f3a00b17cf1e5afc5d7d8c1a4e25b96b7897e658e5b2d8ad4fe1060d74da5bd31870038c5f9de52fadadecc165746662890425f39270d886b573365f162dc77725c00b185d9041342aa024409fc1624bee6e94510621e1367aebf6e5a96c98a0e19000b97e5fd46622bc89904264a09292418c733a56aa9a5fff33cb0085f7b9d6600d55d0753b0134d5ceb0e0b36057bbcdc4ed5af96d7e14bdb5610717af6522e00553990726252817dc531183b62bc37ad9df2b8f771c1d3e8024b0d1f9c768300b20cc5728508424f5e71c6e07f0ce42003269178d9a15bd50f74b9c229311400a49a83a8c4872464717f58b2a6d5367b4564d767d6b3fc3596239861c72027004805ac7d28866ea959f19f03490868b75921c0bf5de46899b0781ca91ae9b300005ad5e509b3364610eac2c0d5fea9619917cf7c800828c38424282ddb9b0e00a8cbd942e9067a88d67fdae7d89b985a1232dfd1a68b5453b26bf94487ac8000ff36c3d322a7bfe78542a0bae5c3fb6d7d23e8b1a06cb6f4fdf9520277fdd500bf00b0217e4c763527ab4d0485ce1a38bc3bb43684f0b676412ae3ab67f82d004ddd88a5d9a42fc1e8996e05f5ed32efd72946aa755927fc9c240a39c130f900a6fb7c2aa8713a717e7882b7b35e67f5b3251edd751279ba7f99588b90bc8900ee563378ccac59c1959888a4382d37adc1ab84846e0cab10c8897d323d007500fca2a22ceaa929d4f77e8e01b5e52d864a42f3cead313bd407dac22227e4b300b28fe738cd480ae0427ad994a8bc4f6cfcdac3442a94d4c782059610013cd5003e84d9ef6f27a7d4ad88a1dd0466cd37c97ed80f00747a303c06ffb99e2c59005fa0824a36577990cfade561ea20f4dbb46ff2b221f98f2eb7ea365e971758002f08ff6bdb0f84afab715b8a5dc93abd97f778f2deb0dc92803f4cf7c333fa00c71873dbb5b044cac1384f27313f0434905666018d1cb291874d7aeb5ebc8d00948b910f9badc92737fd54959ffcca21c431d0acf962c5265537eee62f013d0076f87f061fcd962d50a90a7cf5f0000f3b4c30673656693153aeb8eb4cc0e900828ee7e0546cce7ed19df3f47ae61d9cb97e955a6568e1c62b72f17519643300a634ce9a536fbebd754af6cc2a6c20de0bfaf1d0ca9cfe07c44806721b89a000e7a8cea399308ef32acc167d36c6f9aac028ee4d1bb7bfc731fcb49914491700c17fdaf902fe55189677e8fda1612d261134443e7248dccfafffa754e3b13c0095f4ac9ab1bed64840f2284c645ede800026f487ca523791b74db9cd346480004a2d26060d751b0ba131358b6ed0b4938f8c4bf5d0d6a7702f37f7852b9ad40013310518f0b040c2e96a4ee8f3e501e933e04e978542b89c9034fabd01cd3c00b13c0e229a3782aaa8264cf6b0e5c9d0796ecfeb527796ae4264843e056c7c006722baa92986681200666634c74186a9e3419d44fb156fc1ea306f726221cf00d1049d5912e34e8409e04765b581cf525eb35955c63d9d771e4735ecbd8a5900422c7fd4ab93884ed684c923f95eefc2b6b560b58e3bc3ce61cbc62a14cb8400346c0c3ab1794bc276cc86127dcd24c9a1466d573c77ae245196f3915cd7f200a23140d0790f8b73442733cb893cad65a4cb7be7f0f04df43cb693c477664f00242a92de948cfe6d6f190b03a8a2f5fe79156dc5186d5d4b750397a1fa7b0000cd1232d94c5d2c22241f7f0eee514077949f50b2730d3b1882126bdc9781d600ddfb19d4b3f7f045863115f9ecea77d578e325319c9fe22554971b8463d5ba0073cb5eb2a560efa477d60a9e512b675768418a95ff1c89c79ee1ef4c69f2fe00964d30b8f961acb2ae927def017970c97e7e72ad70e365cbe1b251a9a5081c00c8cce870e501e2f486bef30141a7ec1075ccb0ed29a1cdd625ca5625564cc400fe9222f0f3f1ba1b50b28cda3f91f03f986631a50296bcbfc839725fb3e6ed006975f1214b6741246d70aac8c0f5477a0780a7deaf0494aa40adab95d8dbae00290f412f4c71734aad4d16bdb543a28bc0e2843b86ce9d3394e73d61b7908b00d275d4dacec4b5bba0b1a1a961fb6fa5fb2a350e93a078c8128d53d7edfd1000eff3eb2c622cb15ecb5b8dfc890c065bd0081b91f2e27b5855ca1df58307d200dd279e76e4396e1873064f622b2cd7f51b28d73d86c97f9727bcb4ecdb8fb6073b14f0f3f57c6e18b9006e42c554bf143bce832c02aa4b9ed3e058ce00f9f9074d09dd7df858b880ee57d7c305d2ca748ce36f4e3ac826610fa3dd102e963b00c0ba6999073fdbb5df58e49c76f5e7c02d67571cd3c166cc1b0153c8931d1e07bfe407f0c55a82f2b8f9b21ccb13f3cb761a7af7a5acf6f9bec0090d5df4760157570c93647ba8b7190fc059b79c19dfa872e47af757d3f2a502cb68d0367e07779d3002b1588f951556bf5dbc16374bec48e1ef2185a2f4a851ea314febc5047a03225cbcf76eaefb3bc2176562712e0039dba3ca9e0b5d49b68147504bf003b9dcec468eb4fbe96167a068a413f0cdc502ec04b34aef0fcc4ce27948d17803deb3974b439fbf46da3bca75b8f507441e04a038448296209bc934d809e12a04866c2ed70bbbc47eece44bc40dc5fcd16ccdc446e694299ffe9286f9efbd0203668d2a999b542582510382a2a3238a8902b5f1cbf2d681bea250f246a1afc3012132c7037ed1ff579d6adbb4a2cb192cb165c7224d0503a1333a83efb0883d06d56056946852f46ddee1ebc584ad194480d6552a5681fd599f3ac0eac6cf6f01706d111a1d6f8bcc31659cd7f20689d5271eaea8860857d9db49ff26e037ec0090bb0f9c7790b659013c0d258454f5273e4d39081f3848baf375d3a52165ae023140144f510d8ec71cb54d80938342851c61f0a1d59bc89766ac0b70ca0ba303d2280e854701a6aa55396334222e0c4e1c7eec9eb766021bfa9a7edf357e4b005558da0e6e58a8d1eecc2da9bc22accfc5dafa3a80d450e7e25f51893490b4075ba35d9e1cebc3e3426c67fa4e690edce14bb00f99dd033660eda8c734bb670430be675305f90903802b03c08db4899bac724e3e35f61f686aa7e92ed19a2c079183cb1beea2f5ca8e84d8d99fa5adf10fb01cfc9d0dfad36d4441a61d6bf8048e944deb0570eea9666dc03dcf9bd4abdf24f3a93638a60bd2b4915be9e9740224c341ab6cab5443d3607b6beec4f22153582ae4e7458c49ea7bccd0fa163e06a89b0fd761d1a6c87931ae8b623639855ad5b9c0e7ee222f66ee083143f7f9045b3f6a26b7c7659e719fd7c14c1b4ddb0fd83a1895964d3c8fbc8fc2cbfb91070530a4f0bf32a5bd432ddf0139e91c50ee8a651ce726b34b78367c8ed90cd10158ebf2374ad35cefa28d09bcad008b792c04b021f3e4e117c2ad8b5449975d0700afac3ed3fc75757af2ead5cdbcf667ae25bfa91c3ab167c93fb6394c279104cc2e3dcc44ded7d674999dd9f7f4f56b9d23651a77584e9864be0915f583ca02bf3a2f8c12bbcbd36956d38b57be9861c84b1ebf550b3ea3ad7a6c381b31f903b05829a386e6b99b9678afbdd0e93e9ff27d3bdacec511f2728fddc0d2d83104418f24b49811a61384d901670a623d229fb295e58a51ae9458744c4a9c948502ada91acc0fc4cfa99778be4714ea25e41f692225b7eb8c00bd79540d89024d03a0e066034e0b59b5767f540211d0b41a958068d663e5ccfa1fb8d1ec161a66038e093b1c8366bb177566ccc2902a8867c07649411896e7c0b8c6f6743955e60266f8da4c8363a60d4accd00509efe6612603063b394ade343a36ec4bb6af770270df743f4a8168c1c3da91c2082681ebfc5809eb15a5fba502b235b69e4374025a0d079a4047435150657e5191606ccacac736acfb493c1ce99a2e9dc92a38078775a103cddcbc45d1d9fa2cdab3bc9a5289ce0fda3bb4c1dc0b567bd0c96b03e8e1adde26a1c451e8d5ed3be59e0450d3715c82b2eb5336a51bf3a95fb1670125c3a53d506e0b0108c3bff02565c472c4c5de70657b22d5f5a9ae3718b7790323f6d69c5311fa74eff4ae0697831dd798a7b6e13e86bc411d3267eb8befbd0276fabe3af679bac9852de5e27628c69783667632a43234238e23568ee951c10725238eb480718ba0208085bfb1b760ea29b22052ec25a256be226617ab1b0e04d6749e0601b6d25ec7ea66be5fb9e836189561f654621dadce40414da8b8e803c0d98b835a269f47aef97f55f8ec7a18cb3e2b244c90d93ac46d80fbb7dc1e04217c37ba554053469e52fcdbdea5ecc29d96331bf1708f628e63fc0dd6077d02b89d1e5c11d80e41d3da4aa01d4d709bfac8bfc31c1f4ce535b002d6747dec03647a60509783a729901b95196d4e0339ded09187db19990ada7921ff46431907f96acb3f7f44def7753e1f6d3c84170280fe11c721fc2d06a6da1b6413e1330141fd43976b0ef1755b734d69e0414d7f9bfc814de3f9fd7cb8733dc01ddb20069f77b385008b60214b5ae9b6701ab12889fd464da4ba012f5cf402d71e28db00e0d4ca2be8b6978865729dcf167b2e8f5c92335c7ed35293209e6caa1e0632054b070fa91ec3a6a6589b6824871f087644e25eefca9bdbc9f07a4e732a54bd010de5fbe7d9d14621635a5623e18dbf5afe1ec91fb15fdd1a6db369b6cb7d0e0224408595820204b3370f24212dce4c34610d7d20ec1f364a0947b945c7d7bf05600fa79a627930547843c37e5a3162663a2f7cf94e312783885f260a6a4c9205326fee161937549e6f8462d50dd4774147f6d3c70c5d28bbd3117eeefd81e6052b5086799885e60aab03e7a9c48d94d0f0979a2ec4b2f2ef98167931f5b72802d9f6f0d5a153e6f3ac9e46b41a9bd7384708dc9f44ffd2d75a2f29f9158dd40498bd9d6436e63d7269642aea63b9a4aadd8f429009e910d1917019016de6df01e9a8a44696210696b06a08c7bd4e7747422ebc2e322a0cba1e28a83814310b0155f72cba6a255388b8f86f5479308c4161f5a50497a132aa5223142e7dce700413ab7c79e851699c5ef8f0573b66e3f0d6d549f575284b3809a0c4b003d2e007501ecd5f2e6dfb1b9d5c70b1a519f2cbae1a94b3e2ed5122dcdd268c0493df01a78a58f4a73509f182863f7bebbdfc4567b6db1e482c88ec0007bfd1827dc1052dc1a69a3738b26fd0a2ef9fcf531d329eddf75e215cec25a07977fe5634e1072b8381a57f05cc8dfc366a0ee78bb8d40d1d017918d3f4a69dbe5eeafe794507f9ee36816355365006feff754dc5f7d645f517ab1969777d8b05fcc3fc6538040baf59ac07fe87ad3e3b5fea10f9228fe3db9b599738a30283027e3d0963b6009b52348b8d01a90702c621414bcd1239b53b7e737a450db01e67e65c09c76a0495857edf8da392d868ca29dd6011cfcc33b49bd5ca049ee58d20517dfcb8c1078055c2453c758313988e719d711175df9fac7a4a904c35403540a07ca533c306b4c45bed0175a9c369445b52bd623ea5aa2e19648f68be26c1c6cfac6cf18405fdb8176f334462ab6d8466e9e9d4a805d3c6d3d5eb835404adffbbffa039d4050c56cf085bdbeecc51e49c6a6b21ba401a91b29ed27d0702de7c685ac3447f000b7a0d25bdc350a26b164428209008eeff50e68a5f8c5c2527507e065696d1021e8f5765b7b60a9a1dfaec246f506122eb06bd9414c9bd7b63ede76c3ae1b3069e7a2958e5d92c492821ce4baab4af4809fc897d1b17dd11dce114d59ade6702355cfa40c9d2e4c013dd8f2ad13e2ba14040e276b3806f57b2a9b0fdca97a60406473f181f536ac9964c45b1118f75f02bc2c9ea0f42792faa62b2cd85ef1801083cc8964b743835dc8b4e7ea7ce00cda5f7954a344f7920b5ee8a143fae0e078fb3b76985c92fb6823910a47900c3b3df982658f22c7916feaa780d23fba5032b6c90dd5616742293785c2d4d420f5f89076521d3f4e6bd862e26f046a1f6048db04ffe98fce3b496f2fbf1f38c7d72e4c08efc47254c687bd5fcb6fb202e07183850d7ec726da0bc8ce1cf35dd356dec26376ef1d78ac5fca37b4fcabf6c07e75abcd17eb960f00ba5ec6ec0b97c150e536e5c65f52136ff2e04dd0f1364067556fcccb829f8ce1c50a5c1e26824fb3242640a85033b86b4985eb1611654056a756b8c6b3d6d0e0c8c7f4f27728027a082ac6d827979ed3c3fce5984a37b07976fb7dc147af9cce7f895ebda96ea126ec8fbb0706536592a721e61b75ead066a2c2b8ca031bba5d8baf14251386393a90db7d985abf3a5b9c376a3fc5ba801340182abd01d6fa421440a1e1244996024d8571aad8170e6dfac746e9b6544002fe25401d715a6b7ff615762f38e437c3ac5dd903586628cd3d6ebd07d80d803d4bbd88057f6b81380dd2053504a51409cc030b80f3953520a8a248966f79a026195d683b2f033fcee9dd2ba896674a5f8bf86f0983009932fb3286849b5830594caeddb2acfc86a65ff1395952b1abcb38f54000c20fbedd8df708b83a2cf03f5bab1d0c470aa0cda528373cc50a2890cdb110540fea00496b0ff0dabbf9e05dee760e8f9aa2a85877769e9e3bbc565ddbbfdcfd887b0468d655e7105aa5c00505c45678b8e4a99dcc64d4c07a50a964730c17e00fe1c36fbaf773d08858004955c18d5bd63fb12a8fa4b701dffafba84824fae799508cb306419d43f489706de5ebbbfc03a498db9037340e55828a360bab6c31bb99403685975bfe175e206c34fcdae8c8d77f6064db30f1e095f36b08cf6b77c5b2788fd68e9460b89af0492bdfbe7fc3a0d313dcaf5781fc56ed440a6e92d58b5d9690a255f749505ed0676c8272b48b6ca10a7edb558019f9c3bc8cdb70ebaa27cb195a1ed51ed8a7f03e048d9db1f56ec4ae33e468ec58bd353e8e8e29e61092b563b11acc3436e620531f62ec1f954611e765772d107a7c47c7469f39013f60a21b387b573db37d606640f5a8ab0a5cb005ae4232b559c06e7643747d3c2e2c004528eaea350cfe905fd5c6ec6bbd398391215cd15c863939efb987bd77dc8dee0ccdf120dd5badb04082cb22f41a7af0d94f11c5ebc78f41f7d2944a2df44bfb7536675d66d5ae703cde7f9aa2266c37f78e740ccdecb1cac12b64c61b91e4990617b1fe1b14849078b495a171af088510d101a699e180f92fcbd194f718183e30d79bbe0d9fdc103af082f422e53167d987b42721afc056f23224ae47b54f5b192c2baa6962ce805f796dd70c7d887fc9a1b40687782f1950fef88abfe145debdbaebf03d67420034405a12d079cc4a5c08de26d9c894635db9a2f82d918b7e710fe631fa76989079f156c24485f3cf1086fe9fab7e0ebd4de82f2edb2871825f3cda5c85ec55c0565886af598e4ca56c86d0510e97ecdf32a6e722a5d693185832f78248cfab0016bbde39400647a1d4c0cf6a0720620bab44338d4a986a168883664ececca2b049d964bdab99e8e8d0d445350112505d994503e158f9589175badb5524bbf48078ad715bef7ba6367c6f487efa29aef1b6397ac53b2f1311883e2ae019a43a900b51e86ed10a978065071766b57e3d94a37545fd3e11bb677cd68dc08f3267c03479639b5f7076c34efab4a74d99d15f4291d0a69caa8f99badd4fcf1069ce007e895781f27a5ce99b964c86d7fe688e4402028aa08c8d86abcc31d314598cb04bb8ef137d9316f1f23e0069a660f80ac14217cdf4f54400445c1746d3f53fe071e8cf46ab5b1ffd5b7a1ae3531ddb7d9a64d8d555786ed074bd53afcabf556060835a6b6c229a3a33a1dadd4ebeb5cbb77733488d4034f31e3f791d6c2d84f01637444b0ff76fddba21b8a8c0a1aee8e3302100588927827edcc0f716492b80614af802b3b3e04b245cf744e9ff65296fbd4c66f1149df1b58aa0a71d2047702dd6b08b8e0ad4f82f453c5906c98652a949dd98aed229346e13fab8ba2dc5c009953a67fbf0a7b1ef7245215dc4d518f25295face58527cee59f271e4d68a702c653a654d5131e60ed2e628793f28e1f3debda55f2b644e756f23744c95e9202148c1a3782eeffee5072362ab029614f4bff3fcbad5124f3f5329435a3c737006d2449c25703578f6b307556a2fe79f36392b9cf53dd7e0ee4b6a14b015cb302fc30a055b969f18ea099549a987b108fd07f8775eed9b773f5ff9980756ae205405a49837ec3e8af15c0ac56a2ede2bd3ea7dd41fa4df3f4a0c99513deb859078f4ce0ca4f4c9922e3e7d2d98542b99a981e3c5c276c2ad6352fa67203262905459924836cf964b2e124c0fac3d73d7f40a5ab867c77adc0fd8d96e9fec98e0420fb647dea13df897f1383c0591801ad4307e335990d0ec488373f0dbf3cd900bb7e83d2aff2fb63e27574c5ed80bae9f661aab4c7924c7292b18a08c24d41072d323e72fabb0c7620f531fdab8b08fd44b1b777ea0a3544fffbf01351a8ad013c28f6b7f91baaa3bf542f8337b00715ba918a5fe342844bc5340d1aa384e807266f54e0b74c25d556835dacd6a2f958682070860d169d87fea627bce7e83d06cd015cea6fd751917cf10e07b19d11d4dc855bd375bb865aedb164d96b2a9b01a41e8f59438d45a28354c8fb868a120e781e3f1070f9d0d3dd892d8f5916bd072ddbb057b66caf7df941306739d8ab598a5a358ec5ff4f7e7bb28be794455e073061dc961c0959fefe4650bcc9f8e83569f9082d8821e10e6649c388bf3d69051eb3652b8ddfd9f19d0dcedd08291f1c74fef2144947492b33f89924cf4e26010cb32cdc97cbf9c756e29ae131eced266d8e19484b057ce7d8e06d4a5903a806fbd4d32ba1e07a4b5cf1d236e2683ed722e54db50fbaf9360220e17bc689e0022ee7576e60ac40ca5cb2eeb9f0a8e4834afaee57574b24f61607307175722a0364bed71e66ef521c4fa039c28d25cef627ad7344b8d35da883dc88c6ef64c006a79f46a67162367e417006211dc441cbb6e7b23c7e434fd622f68262ce01b60594e94414b685a8bc88b1a699f8e3aa84e1750ced33a1bc1ee7d3163b3738da04bffea1c7efd8019c4d95829aed29daa70685e18e4bf553c4ec18848e1ffd5b0315ba145ad1e75b0dc7023f364e2aef848b397695d4f767f4ceed99fb2c650801c293a052b6eef7333e3b251e0b44e8c90a8b980a2545dae3269de8a7db4f9f0611c8c02ff8067b01ff34602e6f22cebef9d0392be85b66e0dd714aee26ba7907ec3f5c6c2963aa4993a8bc442866e5893b294c719602e478866ed5741b2b18064178bff30fc45089ae44e70d7be9e384f89cf4c56a3173e1c1f990fb78db8c053ae9bc29477a8a75f3a5b46d09ac1964217f483a8b5c13c2f6e2c43d06258304b19e4e696dfcb3a6b116515f2de003f37c71bbea9b042f629137a784c7d429032f54ceac79f938272c4dfe267d38a53562c6ec6ab648e7756005e4a445036700f8fbd4f9b4a0f547add074062b424a0d47fb7fd2748dd092c64340f2d1698d0753126733fd3ecc5841a91ccf4dfa502515e645ce6a8e3ad066e110a46d421504b18df48b67de3be7dbf287bb796680fd133916d89216a436dc54906a8b68f7033e67658b87dfd73ebec69f9c86294025e0bf6739b20aa77d91715311f8a52407cf0aaca1b13ca8aaf551b814fe7c647315d71db71d05ab5196533d23d844e100a467d41d89a300e254f9c872dac9494a6b76131dcc68e368933ec0468960db03068bd0381b38ed08b229d5b8adda1a96ecfc946a25cd49d76235019ae8e12f0120503627cd9c5e87789df9c797d34844e49be26d3a7ed1a6c2bb0381b0e49301b65a5ab0eaa2fbeb75ad24b7e245f3bed95ea13d75e90fbb12ff0906d2e9960121bd7d430fc3a2ec29c82b724fd943228ecb75f3acfdd34a4c0b42c2e8a79903eb13f887885dea57a386938bb646b801f91d6b84a7904249fb01b155a3ceb2043cda6c5861ce4e759a51011ae597fd43b568ed8f181a100bf6f77cfecb704303c51464cd9d124d756959c3a02830ab40153cac24eb863b0172b8885316185501c10ff20694a70860a462abcd9c5fb4f85c83ef88fe7ae423792f763ec12aaf01b36b539cc27e36033bee4c1cb626f33178ff320ec3d1edaafdf2edb8c0878707613f04b785d5a40d577a25bd6d07518abf39b24f6c013ae9f0887744bdf61f00b129cb16e0dc64ff0e3026753978917e20ab800cc3ee01c1fbe9d21c96136000176e1dc85bf365fda5cbb3b39cc02314bed363f2fb951c95a156aa8fb959a5007cd286b768f6e322b1e16ae44545cf5068c8842e0becbb8768b57193f4a3a2000c5cf1b7d3f642433e378ecc4cda1803e52cde38e0973209af9dd8a28dc2760029acc19e1b7d3e8fb58f48f99b23a81872928e46e224dc423c9504d43680b3006d8681ac26579689fd0f611ef26a4442b1cdaabee443d2d4dd8a23dd3f03ca00098100bfb5bab336a8eeaf698b684e5fffe89aee08b2a6449793ec65286fcd008b1d3f80b247ba5b2d19fd29eb5a4e49ff96701d540ee533ad2af85d6746220016f96091b92b7e47d14e87bfbd4cada66668769cc5b4411527e2084179aef900e52216bb2cc4af880510df2fdb33812e276c66e7cb45c654543c8e7c09121a009742e36a3aea1b9662766f85a1f1b90bb3b345ccbb1f9e96354877b19537bd0080984e27532ee2f35b8ecf6c48382396bae9a7691e28766c54cf66e2406a6a009a87e9e5185ea5f4844af5588179c3cca7f266d23b2185d1edced75078ea510005bca28190c0d1652bd274e61c4494383e0194dc31f502689048185daeb936007516c8e2f37b2af1abedaed5d643cda9c7c3d7079dd775ba45786e8033888300df167e0d19540707c70b008fc1ba877038e1bda71bfe66df3c206050ef0f8100942d368b76fb330fba1b9678925ff21a11bb8ab9a34a9a16da8585e55021eb00394a6e5dea89ed90e8583088c4ed3af1ed4e048c76e04e9fed7c5b69e751f80063073f7c8955b3465e31f3bf66d786457935a30efc00eda297f9b63817b02e00732021c1f4fd5bd2e35e9506f5dbee948c7ccb2adc17ad209aa332a015ddbd0046fa360b9f3193b6ebd4312550e48160bd21d1ca925159a8e87d903e95241b00fdb81ec5b14a51071997f405a069aaeb5be67b571c2218302ea137b33b29b800023ce9c7a7643454240794658e48b888e3d4dcc22295fc630152817a6c150f00a0cf8aa4bfafb3b767e7dd89052462852d2b2a757d2277ebb220d39b3c496500c7a0f76a366732ab0b94e5897b844b554580f920bafcc496eb72cf1df968c600bb520966776ff3052e4432ad2bbea9df72be7467464a139b879c559f6d03de00d379a8f5efbd3fa4728b646f58e9a89c5fca6f4d114508c6ce8290da3c7126004d57136528e141e52415686f2050bf72c977935240c46b88f35441ac3e69110045d17ab0f3faa956a126e18c35c2ef615d8abdad875dea7e7b05471ed7788000f706494bdd83ac150ebb9df2fadbb6ac8edbfbd1a4ace08042101e2452cdde002315cdd32940a000a8f9b3c4bb73ff77f04f64b68135ef3a8722d7a1c6b46c00b00a38f626bd3035c4b27a74665e232dd3a9acf9977da06af915a6c5140966008120fb038e59e18cb3d5df8e9df131cbbfe3aac89619a93e6ad310b479e393005a141c78e151c884dfaa01bbd83e28ab9ce8bb099f8028157c8d7a2353159900118d6d961337ac3160b26679e2fed3be745c6fe36baa8e2ab17ddcbdc1c6b100f56bc4e45cd97a5147dc31dd7fefa3f2222adf64fde38ae3b01c1eeba66d3800d978cd4e136f6e1084d5cdfaaf8a802c2584c53f6a6370aba3dfd13cd07b600053a9999f832a76e241fc153c895ac3d8460d2939334b81503756a5f94b83260074c09241428be809ffd37719c09e27605215844d47a669cfa35cecf1d75242003360b4a368254f5e0cd6d1b4dceecd3e93a2291861da7f6ef0900ab5733bf1006a93a71805f3fd3f8cbc92474159d768d4fbeeea782aa260e1d0f1aba9e13f00a55db197e75b0b37b396327748e82837f4614c98771bf8a30279b99b8ddf55002c238599cf1fad311bc31df380ccfc6cee35b75eda1bf72dd30d83fa628aba005fdbde07054f86d3691bf0162c6779b3447e90ded969fad538a2cc1a14767000ebea042568d8b54e52a23b92418487737ba45685b08dd6683b745c6b54421c0010e1488e73dc9e62212cbaa50485f23dc80a6b302a4f914905b50069bdc8a3001635d6ebe67028283f41f63a627c5283027384f65ecf917e51943d4e13b6e300bb5ffbe61c55d0e8fa236ae1ab92419097325a4660a5fb241b45beb234937300e004c3aeae86ac5275f503a95cc48895a103e2a747c192fddcdcdd0094a1d3004596ef2b25d98b59cbfd781666e4c3c0062ddcd402a495f3ad493c7f70d58900f9e770de6f72371bcd5d4d475a466004e45b8f9d6b89627442d64f6cf7b5e70650d287a1fda31cc6231627ffd91bb2f0b973ade8d1f1e749b63cbb241857be02115ded91c804db661f1cc00962ee9c6061f612ca05b6f82fedf34df9eb20f203066ccf50d1aa7001f3b641bbcbdaa79732c54a7ffe8e28d7c49f2c83fa686b01b23a36c8395438f557e2609bc45e9c88723c4b020d57624d0d659972880a4a04a3c4bfbcbfffd8658bb0446118423a4cafc10a5455cb400ee5d46c9a63857203ef8a3c6bbe1b255724f411f05fde1e3f400456e471bee186cbc1d03567922f073c433a633621114719f73a8333f8e4e3014d512c9184515599b682c5c7b4ae036e90ba713a5606d42aae35b2194cfee25d595ac4988ab22c6a1ab6ea7d84870424996624d372254bdcea6bfa463b94d0efbf77e7053dcc3b150a88aa42587705e1b6f947e9cbc0527143b0889a81b8913cb40c1b68571297da2cb79b43d89b017314738f332afec76bd8ddea3a2f41e7ad3be1c1574b1bf23cc212ef01629302dd821bb2d626a66125172a5def548b36befaf3bf583cd012b29171673626690152924d308a5cda5f4a791b1dbd3f66f6b198726da9ee9e2c25df264d8d3e37042e2b14435013fd385964172405f5f8ae1dd233512b267da2b379d1a1b807c205110bc18660eb0c21dc5cc1976c26a776a4c9d09c6fadb8402cc03484717ee00046966004d0d00d009b559bb605b3eb6f8ec791eaf40cd5dd8c020a78cca91200a313d04c5a2c638e9c638905be2fdbd2b216e5805fd080896c110ae1855e7f0236963da3bf23f0fcb685d1b434e4a94b86417ca52602020733d8365827a9d1048b6924505680e59153d57e9165f47ee3c0592870d66604c10001a65a10ca2b05b762f52d8ea751fea3980c852175fb4ad07dca7396b52d2ba19e8c2eac7e0b07c66b9bdfe4ade433e30d4fd1570a7adeac3207881f17eb17d40b9467da24c103a298f242f24b1b18d122c00189225627d43f11b44e2ec737dd1f69b65a7a6406eb47e2dc35401b8f294cbe3b11640a3f9b1d43433d0f34d7b5c7cf85cf8584074a189b6080e58f81dfe97041a47047e5809da37113ce0e603db74630b68f1505fdf1b6ea3471140092b2e1b02c7cb1dacea6007482a5693735d0f3d030bb91066b85ba74f8700ff61d5fdfc98a1e02f7bc6756c4b287de19468a7a2759337007f8c3b9c2479bec49d520354f36af881c9fb58a0370265d921275e73d431e4a015e3d2480559efc472ff580dda4a1d4ac8c63196b7ffdcdde5f5ed9fddfc115045c246b94ad7d2df25964b3777c637e601a5e1ce34e24d406ca918bfe49fc1d073c9bfa6ffb1a26bb0760287af5fc94b1ff7c68e844b9e4626a396e2d23add504523b0db4eb5de7f1f8980c21280fbb3b3e74edc9dba26ad2aa46567d9301b701ea3dbd8020a0eea13a8eb6066b5f3c22bff0d890ca4ab99c81f375d6fb2e9d0220e90c28f5338766e6f7543f7342fa2e42515268a07c23a27480caa1e407a405b6768f014bdc7d9cc823a962c7abc62366a0379682c0047d235827282eb66f00db8a8feac06cdf0307ede420f3a81059128676bc8eb9ef71049374ab7ffa0407a2706b9486ea9f863e41d713db83e4ba9438d3c89198db34f6c959b81158ba04b42df445598a0954d2d6fef33ee16675868796c6da3562eab149fc1648e11c021e733b60a70c393c2c3e17ba5fb6f6a80b3003d3dba70f57fc14ec41c4a865078ae5f2dca25903f9f9b2b8e46db50794a449b61cbc563da173033befc1f8a406649459b93ef4143bc22e86147557c10d7573335b4879eaf03e1670bc269f2603a4ac2b5e42aac670b358763c2a1fde6a7cf4b47e7b2b7b13d6d973debb4130008eb1304c3a56d096f36864bb6a04c0e5ae3ba2b71ec92e182249ccb0f2c24704b12dd37dc7d1e1c291100a26b42a59f46276040dcb8f1f8d416251bd91f4ad059bb327edb939ad84d5a6f9f7cbe49b9a6be0e83dad00ddba2c6a0e0062328203118d167695e9576ee29d69949d027cf6b7a46f19f361166e651f9595cd5294037118594c0e030e567e192f1431370abca07d04ffa64cb3ee9178bfbf42621c05982cd778e45b13807e2535b639457f46d382dac616bb1bcb760185eca57a77031541ae308b35212792ac6b20548426b6abec910a1ecccb1502e1faf7bb3049040437d4e84efda8a4855be5f8d78ebdc1fd4caefb00e1cb88de048fcd64539a0431ccd99426395c6148ca26233c76049a9b7ba4dc9a897fec301adfe96c2c11017103c4c8bf6f9ad51bd97b13de64cafbc7aec4aff8900cd721af08f806321501ff8c3b9c5e23b077e6f9953b323c0aa879879e2b9f1f61ec9f354fae1581dd01ed9aa381736a842784764c368b55b7d48adb24c8f4674051bf9b215ff5d1ab05c7399a50e5b98352dd7cc46f8f5cc8b975268f0b73ddec50fce5ae6aa63e4d077527d4e1c4f647a1dfc4032887649c243503a747fc55494155c5fe1b344a4f01bd4fc73700739f4f3d1f097877bfb4e549b4ce8c73b8c599384b4248b23b23054209c3708fbdd01f3784c2b2a6f85e84ec3d122a7495a465ff815495f74065000c8110fc49fa9be5c4e7f9c3ebe852544f331a0bbeda81dc75f3b08fe4c7dc", "proof_parameters": { "channel_hash": "poseidon3", - "commitment_hash": "blake256_masked160_lsb", + "commitment_hash": "blake256_masked248_lsb", "field": "PrimeField0", "n_verifier_friendly_commitment_layers": 9, "pow_hash": "blake256", @@ -2713,44 +2727,44 @@ "layout": "starknet_with_keccak", "memory_segments": { "bitwise": { - "begin_addr": 13114, - "stop_ptr": 13124 + "begin_addr": 13251, + "stop_ptr": 13261 }, "ec_op": { - "begin_addr": 18234, - "stop_ptr": 18241 + "begin_addr": 18371, + "stop_ptr": 18378 }, "ecdsa": { - "begin_addr": 13050, - "stop_ptr": 13052 + "begin_addr": 13187, + "stop_ptr": 13189 }, "execution": { - "begin_addr": 731, - "stop_ptr": 2800 + "begin_addr": 765, + "stop_ptr": 2937 }, "keccak": { - "begin_addr": 18682, - "stop_ptr": 18698 + "begin_addr": 18819, + "stop_ptr": 18835 }, "output": { - "begin_addr": 2800, - "stop_ptr": 2810 + "begin_addr": 2937, + "stop_ptr": 2947 }, "pedersen": { - "begin_addr": 2810, - "stop_ptr": 3359 + "begin_addr": 2947, + "stop_ptr": 3496 }, "poseidon": { - "begin_addr": 19194, - "stop_ptr": 19200 + "begin_addr": 19331, + "stop_ptr": 19337 }, "program": { "begin_addr": 1, "stop_ptr": 5 }, "range_check": { - "begin_addr": 8954, - "stop_ptr": 8964 + "begin_addr": 9091, + "stop_ptr": 9103 } }, "n_steps": 65536, @@ -2763,7 +2777,7 @@ { "address": 2, "page": 0, - "value": "0x9" + "value": "0xb" }, { "address": 3, @@ -2773,7 +2787,7 @@ { "address": 4, "page": 0, - "value": "0x21e" + "value": "0x2ea" }, { "address": 5, @@ -3948,7 +3962,7 @@ { "address": 239, "page": 0, - "value": "0x1a" + "value": "0x1e" }, { "address": 240, @@ -4103,132 +4117,132 @@ { "address": 270, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x400380097ff9800f" }, { "address": 271, "page": 0, - "value": "0x4826800180008000" + "value": "0x4003800a7ff98010" }, { "address": 272, "page": 0, - "value": "0x6" + "value": "0x480a7ffb7fff8000" }, { "address": 273, "page": 0, - "value": "0x480680017fff8000" + "value": "0x4826800180008000" }, { "address": 274, "page": 0, - "value": "0x9" + "value": "0x6" }, { "address": 275, "page": 0, - "value": "0x480a80037fff8000" + "value": "0x480680017fff8000" }, { "address": 276, "page": 0, - "value": "0x480a80047fff8000" + "value": "0xb" }, { "address": 277, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a80037fff8000" }, { "address": 278, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff13" + "value": "0x480a80047fff8000" }, { "address": 279, "page": 0, - "value": "0x1088800580018000" + "value": "0x1104800180018000" }, { "address": 280, "page": 0, - "value": "0x1104800180018000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff11" }, { "address": 281, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffef1" + "value": "0x1088800580018000" }, { "address": 282, "page": 0, - "value": "0x402a8004800f7fff" + "value": "0x1104800180018000" }, { "address": 283, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeef" }, { "address": 284, "page": 0, - "value": "0x4826800180008000" + "value": "0x402a800480117fff" }, { "address": 285, "page": 0, - "value": "0x10" + "value": "0x480a7ffb7fff8000" }, { "address": 286, "page": 0, - "value": "0x480a80037fff8000" + "value": "0x4826800180008000" }, { "address": 287, "page": 0, - "value": "0x480a800f7fff8000" + "value": "0x12" }, { "address": 288, "page": 0, - "value": "0x480680017fff8000" + "value": "0x480a80037fff8000" }, { "address": 289, "page": 0, - "value": "0x9" + "value": "0x480a80117fff8000" }, { "address": 290, "page": 0, - "value": "0x1104800180018000" + "value": "0x480680017fff8000" }, { "address": 291, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeec" + "value": "0xb" }, { "address": 292, "page": 0, - "value": "0x402a800380047fff" + "value": "0x1104800180018000" }, { "address": 293, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeea" }, { "address": 294, "page": 0, - "value": "0x4826800180008000" + "value": "0x402a800380047fff" }, { "address": 295, "page": 0, - "value": "0x6" + "value": "0x480a7ffa7fff8000" }, { "address": 296, @@ -4238,142 +4252,142 @@ { "address": 297, "page": 0, - "value": "0x10" + "value": "0x6" }, { "address": 298, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x4826800180008000" }, { "address": 299, "page": 0, - "value": "0x480680017fff8000" + "value": "0x12" }, { "address": 300, "page": 0, - "value": "0x9" + "value": "0x480a7ffc7fff8000" }, { "address": 301, "page": 0, - "value": "0x1104800180018000" + "value": "0x480680017fff8000" }, { "address": 302, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff11" + "value": "0xb" }, { "address": 303, "page": 0, - "value": "0x402b800280198010" + "value": "0x1104800180018000" }, { "address": 304, "page": 0, - "value": "0x4003800080028019" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff0f" }, { "address": 305, "page": 0, - "value": "0x4826800180008000" + "value": "0x402b8002801d8012" }, { "address": 306, "page": 0, - "value": "0x10" + "value": "0x400380008002801d" }, { "address": 307, "page": 0, - "value": "0x48127ffe7fff8000" + "value": "0x4826800180008000" }, { "address": 308, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x12" }, { "address": 309, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x48127ffe7fff8000" }, { "address": 310, "page": 0, - "value": "0x1d" + "value": "0x208b7fff7fff7ffe" }, { "address": 311, "page": 0, - "value": "0x402780017ff58001" + "value": "0x40780017fff7fff" }, { "address": 312, "page": 0, - "value": "0x1" + "value": "0x23" }, { "address": 313, "page": 0, - "value": "0x400b7ff67fff8002" + "value": "0x402780017ff38001" }, { "address": 314, "page": 0, - "value": "0x400b80007fff8003" + "value": "0x1" }, { "address": 315, "page": 0, - "value": "0x400b7ff87fff8004" + "value": "0x400b7ff47fff8002" }, { "address": 316, "page": 0, - "value": "0x400b7ff97fff8005" + "value": "0x400b80007fff8003" }, { "address": 317, "page": 0, - "value": "0x400b7ffa7fff8006" + "value": "0x400b7ff67fff8004" }, { "address": 318, "page": 0, - "value": "0x400b7ffb7fff8007" + "value": "0x400b7ff77fff8005" }, { "address": 319, "page": 0, - "value": "0x400b7ffc7fff8008" + "value": "0x400b7ff87fff8006" }, { "address": 320, "page": 0, - "value": "0x400b7ffd7fff8009" + "value": "0x400b7ff97fff8007" }, { "address": 321, "page": 0, - "value": "0x400780017fff800a" + "value": "0x400b7ffa7fff8008" }, { "address": 322, "page": 0, - "value": "0x6f7574707574" + "value": "0x400b7ffb7fff8009" }, { "address": 323, "page": 0, - "value": "0x400780017fff800b" + "value": "0x400b7ffc7fff800a" }, { "address": 324, "page": 0, - "value": "0x706564657273656e" + "value": "0x400b7ffd7fff800b" }, { "address": 325, @@ -4383,7 +4397,7 @@ { "address": 326, "page": 0, - "value": "0x72616e67655f636865636b" + "value": "0x6f7574707574" }, { "address": 327, @@ -4393,7 +4407,7 @@ { "address": 328, "page": 0, - "value": "0x6563647361" + "value": "0x706564657273656e" }, { "address": 329, @@ -4403,7 +4417,7 @@ { "address": 330, "page": 0, - "value": "0x62697477697365" + "value": "0x72616e67655f636865636b" }, { "address": 331, @@ -4413,7 +4427,7 @@ { "address": 332, "page": 0, - "value": "0x65635f6f70" + "value": "0x6563647361" }, { "address": 333, @@ -4423,7 +4437,7 @@ { "address": 334, "page": 0, - "value": "0x6b656363616b" + "value": "0x62697477697365" }, { "address": 335, @@ -4433,7 +4447,7 @@ { "address": 336, "page": 0, - "value": "0x706f736569646f6e" + "value": "0x65635f6f70" }, { "address": 337, @@ -4443,7 +4457,7 @@ { "address": 338, "page": 0, - "value": "0x72616e67655f636865636b3936" + "value": "0x6b656363616b" }, { "address": 339, @@ -4453,7 +4467,7 @@ { "address": 340, "page": 0, - "value": "0x1" + "value": "0x706f736569646f6e" }, { "address": 341, @@ -4463,7 +4477,7 @@ { "address": 342, "page": 0, - "value": "0x3" + "value": "0x72616e67655f636865636b3936" }, { "address": 343, @@ -4473,7 +4487,7 @@ { "address": 344, "page": 0, - "value": "0x1" + "value": "0x6164645f6d6f64" }, { "address": 345, @@ -4483,7 +4497,7 @@ { "address": 346, "page": 0, - "value": "0x2" + "value": "0x6d756c5f6d6f64" }, { "address": 347, @@ -4493,7 +4507,7 @@ { "address": 348, "page": 0, - "value": "0x5" + "value": "0x1" }, { "address": 349, @@ -4503,7 +4517,7 @@ { "address": 350, "page": 0, - "value": "0x7" + "value": "0x3" }, { "address": 351, @@ -4513,7 +4527,7 @@ { "address": 352, "page": 0, - "value": "0x10" + "value": "0x1" }, { "address": 353, @@ -4523,7 +4537,7 @@ { "address": 354, "page": 0, - "value": "0x6" + "value": "0x2" }, { "address": 355, @@ -4533,397 +4547,397 @@ { "address": 356, "page": 0, - "value": "0x1" + "value": "0x5" }, { "address": 357, "page": 0, - "value": "0x1104800180018000" + "value": "0x400780017fff801c" }, { "address": 358, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea3" + "value": "0x7" }, { "address": 359, "page": 0, - "value": "0x482480017ffe8000" + "value": "0x400780017fff801d" }, { "address": 360, "page": 0, - "value": "0x1" + "value": "0x10" }, { "address": 361, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x400780017fff801e" }, { "address": 362, "page": 0, - "value": "0x482480017ffc8000" + "value": "0x6" }, { "address": 363, "page": 0, - "value": "0xa" + "value": "0x400780017fff801f" }, { "address": 364, "page": 0, - "value": "0x482480017ffb8000" + "value": "0x1" }, { "address": 365, "page": 0, - "value": "0x13" + "value": "0x400780017fff8020" }, { "address": 366, "page": 0, - "value": "0x480280007ff58000" + "value": "0x7" }, { "address": 367, "page": 0, - "value": "0x1104800180018000" + "value": "0x400780017fff8021" }, { "address": 368, "page": 0, - "value": "0x24" + "value": "0x7" }, { "address": 369, "page": 0, - "value": "0x400a80007fff7fff" + "value": "0x1104800180018000" }, { "address": 370, "page": 0, - "value": "0x40137ffe7fff801c" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe97" }, { "address": 371, "page": 0, - "value": "0x48028002801c8000" + "value": "0x482480017ffe8000" }, { "address": 372, "page": 0, - "value": "0x48307ffe80007fff" + "value": "0x1" }, { "address": 373, "page": 0, - "value": "0x480680017fff8000" + "value": "0x480a7ff57fff8000" }, { "address": 374, "page": 0, - "value": "0x40" + "value": "0x482480017ffc8000" }, { "address": 375, "page": 0, - "value": "0x1104800180018000" + "value": "0xc" }, { "address": 376, "page": 0, - "value": "0xc" + "value": "0x482480017ffb8000" }, { "address": 377, "page": 0, - "value": "0x48028000801c8000" + "value": "0x17" }, { "address": 378, "page": 0, - "value": "0x48028001801c8000" + "value": "0x480280007ff38000" }, { "address": 379, "page": 0, - "value": "0x48028002801c8000" + "value": "0x1104800180018000" }, { "address": 380, "page": 0, - "value": "0x48028003801c8000" + "value": "0x26" }, { "address": 381, "page": 0, - "value": "0x48028004801c8000" + "value": "0x400a80007fff7fff" }, { "address": 382, "page": 0, - "value": "0x48028005801c8000" + "value": "0x40137ffe7fff8022" }, { "address": 383, "page": 0, - "value": "0x48028006801c8000" + "value": "0x4802800280228000" }, { "address": 384, "page": 0, - "value": "0x48028007801c8000" + "value": "0x48307ffe80007fff" }, { "address": 385, "page": 0, - "value": "0x48028008801c8000" + "value": "0x480680017fff8000" }, { "address": 386, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x40" }, { "address": 387, "page": 0, - "value": "0x20780017fff7ffd" + "value": "0x1104800180018000" }, { "address": 388, "page": 0, - "value": "0x5" + "value": "0xe" }, { "address": 389, "page": 0, - "value": "0x400780017fff7ffc" + "value": "0x4802800080228000" }, { "address": 390, "page": 0, - "value": "0x0" + "value": "0x4802800180228000" }, { "address": 391, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x4802800280228000" }, { "address": 392, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x4802800380228000" }, { "address": 393, "page": 0, - "value": "0x1" + "value": "0x4802800480228000" }, { "address": 394, "page": 0, - "value": "0x48307fff7fff8000" + "value": "0x4802800580228000" }, { "address": 395, "page": 0, - "value": "0x48317fff80007ffc" + "value": "0x4802800680228000" }, { "address": 396, "page": 0, - "value": "0x40507fff7fff7fff" + "value": "0x4802800780228000" }, { "address": 397, "page": 0, - "value": "0x48127ffd7fff8000" + "value": "0x4802800880228000" }, { "address": 398, "page": 0, - "value": "0x482680017ffd8000" + "value": "0x4802800980228000" }, { "address": 399, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x4802800a80228000" }, { "address": 400, "page": 0, - "value": "0x1104800180018000" + "value": "0x208b7fff7fff7ffe" }, { "address": 401, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff4" + "value": "0x20780017fff7ffd" }, { "address": 402, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x5" }, { "address": 403, "page": 0, - "value": "0x20780017fff7ffd" + "value": "0x400780017fff7ffc" }, { "address": 404, "page": 0, - "value": "0x5" + "value": "0x0" }, { "address": 405, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 406, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x40780017fff7fff" }, { "address": 407, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x1" }, { "address": 408, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x48307fff7fff8000" }, { "address": 409, "page": 0, - "value": "0x1" + "value": "0x48317fff80007ffc" }, { "address": 410, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x40507fff7fff7fff" }, { "address": 411, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x48127ffd7fff8000" }, { "address": 412, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x482680017ffd8000" }, { "address": 413, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 414, "page": 0, - "value": "0x48127ffb7fff8000" + "value": "0x1104800180018000" }, { "address": 415, "page": 0, - "value": "0x1104800180018000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff4" }, { "address": 416, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff50" + "value": "0x208b7fff7fff7ffe" }, { "address": 417, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x20780017fff7ffd" }, { "address": 418, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x5" }, { "address": 419, "page": 0, - "value": "0x482680017ffd8000" + "value": "0x480a7ff97fff8000" }, { "address": 420, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x480a7ffa7fff8000" }, { "address": 421, "page": 0, - "value": "0x1104800180018000" + "value": "0x208b7fff7fff7ffe" }, { "address": 422, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef" + "value": "0x40780017fff7fff" }, { "address": 423, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x1" }, { "address": 424, "page": 0, - "value": "0x400380007ffc7ffd" + "value": "0x480a7ff97fff8000" }, { "address": 425, "page": 0, - "value": "0x482680017ffc8000" + "value": "0x480a7ffa7fff8000" }, { "address": 426, "page": 0, - "value": "0x1" + "value": "0x480a7ffb7fff8000" }, { "address": 427, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480a7ffc7fff8000" }, { "address": 428, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x48127ffb7fff8000" }, { "address": 429, "page": 0, - "value": "0x48297ffc80007ffd" + "value": "0x1104800180018000" }, { "address": 430, "page": 0, - "value": "0x1104800180018000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff42" }, { "address": 431, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb" + "value": "0x480a7ffb7fff8000" }, { "address": 432, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480a7ffc7fff8000" }, { "address": 433, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x482680017ffd8000" }, { "address": 434, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 435, @@ -4933,27 +4947,27 @@ { "address": 436, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef" }, { "address": 437, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 438, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x400380007ffc7ffd" }, { "address": 439, "page": 0, - "value": "0x1104800180018000" + "value": "0x482680017ffc8000" }, { "address": 440, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6" + "value": "0x1" }, { "address": 441, @@ -4963,67 +4977,67 @@ { "address": 442, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x480a7ffb7fff8000" }, { "address": 443, "page": 0, - "value": "0x1" + "value": "0x48297ffc80007ffd" }, { "address": 444, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x1104800180018000" }, { "address": 445, "page": 0, - "value": "0x480a80007fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb" }, { "address": 446, "page": 0, - "value": "0x482680017ffc8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 447, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x480a7ffb7fff8000" }, { "address": 448, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a7ffc7fff8000" }, { "address": 449, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2" + "value": "0x1104800180018000" }, { "address": 450, "page": 0, - "value": "0x484a80007ffb8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6" }, { "address": 451, "page": 0, - "value": "0x48327fff7ffa8000" + "value": "0x480a7ffc7fff8000" }, { "address": 452, "page": 0, - "value": "0x400180007fff7ffd" + "value": "0x480a7ffd7fff8000" }, { "address": 453, "page": 0, - "value": "0x48127ffd7fff8000" + "value": "0x1104800180018000" }, { "address": 454, "page": 0, - "value": "0x48127ffe7fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6" }, { "address": 455, @@ -5033,112 +5047,112 @@ { "address": 456, "page": 0, - "value": "0x400380007ffb7ffc" + "value": "0x40780017fff7fff" }, { "address": 457, "page": 0, - "value": "0x400380017ffb7ffd" + "value": "0x1" }, { "address": 458, "page": 0, - "value": "0x482680017ffb8000" + "value": "0x480a7ff97fff8000" }, { "address": 459, "page": 0, - "value": "0x3" + "value": "0x480a80007fff8000" }, { "address": 460, "page": 0, - "value": "0x480280027ffb8000" + "value": "0x482680017ffc8000" }, { "address": 461, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 462, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x1104800180018000" }, { "address": 463, "page": 0, - "value": "0x2" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff2" }, { "address": 464, "page": 0, - "value": "0x1104800180018000" + "value": "0x484a80007ffb8000" }, { "address": 465, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe38" + "value": "0x48327fff7ffa8000" }, { "address": 466, "page": 0, - "value": "0x400780017fff8000" + "value": "0x400180007fff7ffd" }, { "address": 467, "page": 0, - "value": "0x0" + "value": "0x48127ffd7fff8000" }, { "address": 468, "page": 0, - "value": "0x400780017fff8001" + "value": "0x48127ffe7fff8000" }, { "address": 469, "page": 0, - "value": "0x0" + "value": "0x208b7fff7fff7ffe" }, { "address": 470, "page": 0, - "value": "0x48127ffe7fff8000" + "value": "0x400380007ffb7ffc" }, { "address": 471, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x400380017ffb7ffd" }, { "address": 472, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x482680017ffb8000" }, { "address": 473, "page": 0, - "value": "0x2" + "value": "0x3" }, { "address": 474, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x480280027ffb8000" }, { "address": 475, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 476, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x40780017fff7fff" }, { "address": 477, "page": 0, - "value": "0x480280007ffb8000" + "value": "0x2" }, { "address": 478, @@ -5148,267 +5162,267 @@ { "address": 479, "page": 0, - "value": "0x10" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe2a" }, { "address": 480, "page": 0, - "value": "0x1104800180018000" + "value": "0x400780017fff8000" }, { "address": 481, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe28" + "value": "0x0" }, { "address": 482, "page": 0, - "value": "0x40137ffd7fff8000" + "value": "0x400780017fff8001" }, { "address": 483, "page": 0, - "value": "0x480280017ffb8000" + "value": "0x0" }, { "address": 484, "page": 0, - "value": "0x40297ffd7fff8001" + "value": "0x48127ffe7fff8000" }, { "address": 485, "page": 0, - "value": "0x48127ffb7fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 486, "page": 0, - "value": "0x48127ffc7fff8000" + "value": "0x40780017fff7fff" }, { "address": 487, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x2" }, { "address": 488, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x480a7ffa7fff8000" }, { "address": 489, "page": 0, - "value": "0x480280007ffd8000" + "value": "0x480a7ffc7fff8000" }, { "address": 490, "page": 0, - "value": "0x480280017ffd8000" + "value": "0x480a7ffd7fff8000" }, { "address": 491, "page": 0, - "value": "0x1104800180018000" + "value": "0x480280007ffb8000" }, { "address": 492, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde" + "value": "0x1104800180018000" }, { "address": 493, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x10" }, { "address": 494, "page": 0, - "value": "0x20780017fff7ffc" + "value": "0x1104800180018000" }, { "address": 495, "page": 0, - "value": "0x5" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe1a" }, { "address": 496, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x40137ffd7fff8000" }, { "address": 497, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x480280017ffb8000" }, { "address": 498, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x40297ffd7fff8001" }, { "address": 499, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x48127ffb7fff8000" }, { "address": 500, "page": 0, - "value": "0x1" + "value": "0x48127ffc7fff8000" }, { "address": 501, "page": 0, - "value": "0x482680017ffc8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 502, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x480a7ffc7fff8000" }, { "address": 503, "page": 0, - "value": "0x40337fff7ffb8000" + "value": "0x480280007ffd8000" }, { "address": 504, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x480280017ffd8000" }, { "address": 505, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x1104800180018000" }, { "address": 506, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde" }, { "address": 507, "page": 0, - "value": "0x48317ffd80008000" + "value": "0x208b7fff7fff7ffe" }, { "address": 508, "page": 0, - "value": "0x400080007ffd7ffe" + "value": "0x20780017fff7ffc" }, { "address": 509, "page": 0, - "value": "0x480080007ffc8000" + "value": "0x5" }, { "address": 510, "page": 0, - "value": "0x400080017ffc7fff" + "value": "0x480a7ffa7fff8000" }, { "address": 511, "page": 0, - "value": "0x482480017ffb8000" + "value": "0x480a7ffd7fff8000" }, { "address": 512, "page": 0, - "value": "0x1" + "value": "0x208b7fff7fff7ffe" }, { "address": 513, "page": 0, - "value": "0x482480017ffb8000" + "value": "0x40780017fff7fff" }, { "address": 514, "page": 0, - "value": "0x3" + "value": "0x1" }, { "address": 515, "page": 0, - "value": "0x480080027ffa8000" + "value": "0x482680017ffc8000" }, { "address": 516, "page": 0, - "value": "0x20680017fff7ffb" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 517, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8" + "value": "0x40337fff7ffb8000" }, { "address": 518, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480a7ffb7fff8000" }, { "address": 519, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a7ffa7fff8000" }, { "address": 520, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc8" + "value": "0x480a7ffd7fff8000" }, { "address": 521, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x48317ffd80008000" }, { "address": 522, "page": 0, - "value": "0x48127ffe7fff8000" + "value": "0x400080007ffd7ffe" }, { "address": 523, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x480080007ffc8000" }, { "address": 524, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x400080017ffc7fff" }, { "address": 525, "page": 0, - "value": "0x1104800180018000" + "value": "0x482480017ffb8000" }, { "address": 526, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcc" + "value": "0x1" }, { "address": 527, "page": 0, - "value": "0x1104800180018000" + "value": "0x482480017ffb8000" }, { "address": 528, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda" + "value": "0x3" }, { "address": 529, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480080027ffa8000" }, { "address": 530, "page": 0, - "value": "0x20780017fff7ffd" + "value": "0x20680017fff7ffb" }, { "address": 531, "page": 0, - "value": "0x3" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8" }, { "address": 532, @@ -5418,1135 +5432,1325 @@ { "address": 533, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x1104800180018000" }, { "address": 534, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc8" }, { "address": 535, "page": 0, - "value": "0x480080007fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 536, "page": 0, - "value": "0x400080007ffd7fff" + "value": "0x48127ffe7fff8000" }, { "address": 537, "page": 0, - "value": "0x482480017ffd8001" + "value": "0x480a7ffc7fff8000" }, { "address": 538, "page": 0, - "value": "0x1" + "value": "0x480a7ffd7fff8000" }, { "address": 539, "page": 0, - "value": "0x482480017ffd8001" + "value": "0x1104800180018000" }, { "address": 540, "page": 0, - "value": "0x1" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcc" }, { "address": 541, "page": 0, - "value": "0xa0680017fff7ffe" + "value": "0x1104800180018000" }, { "address": 542, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda" }, { "address": 543, "page": 0, - "value": "0x402a7ffc7ffd7fff" + "value": "0x208b7fff7fff7ffe" }, { "address": 544, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x20780017fff7ffd" }, { "address": 545, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x3" }, { "address": 546, "page": 0, - "value": "0xb" + "value": "0x208b7fff7fff7ffe" }, { "address": 547, "page": 0, - "value": "0x480a80007fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 548, "page": 0, - "value": "0x480a7ff67fff8000" + "value": "0x480a7ffc7fff8000" }, { "address": 549, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x480080007fff8000" }, { "address": 550, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x400080007ffd7fff" }, { "address": 551, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x482480017ffd8001" }, { "address": 552, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x1" }, { "address": 553, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x482480017ffd8001" }, { "address": 554, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x1" }, { "address": 555, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0xa0680017fff7ffe" }, { "address": 556, "page": 0, - "value": "0x1104800180018000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffb" }, { "address": 557, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff0a" + "value": "0x402a7ffc7ffd7fff" }, { "address": 558, "page": 0, - "value": "0x40137ff97fff8001" + "value": "0x208b7fff7fff7ffe" }, { "address": 559, "page": 0, - "value": "0x40137ffa7fff8002" + "value": "0x40780017fff7fff" }, { "address": 560, "page": 0, - "value": "0x40137ffb7fff8003" + "value": "0xd" }, { "address": 561, "page": 0, - "value": "0x40137ffc7fff8004" + "value": "0x480a80007fff8000" }, { "address": 562, "page": 0, - "value": "0x40137ffd7fff8005" + "value": "0x480a7ff47fff8000" }, { "address": 563, "page": 0, - "value": "0x40137ffe7fff8006" + "value": "0x480a7ff57fff8000" }, { "address": 564, "page": 0, - "value": "0x40137fff7fff8007" + "value": "0x480a7ff67fff8000" }, { "address": 565, "page": 0, - "value": "0x40137ff77fff8008" + "value": "0x480a7ff77fff8000" }, { "address": 566, "page": 0, - "value": "0x480a7ff57fff8000" + "value": "0x480a7ff87fff8000" }, { "address": 567, "page": 0, - "value": "0x48127ff77fff8000" + "value": "0x480a7ff97fff8000" }, { "address": 568, "page": 0, - "value": "0x480a80097fff8000" + "value": "0x480a7ffa7fff8000" }, { "address": 569, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a7ffb7fff8000" }, { "address": 570, "page": 0, - "value": "0x45" + "value": "0x480a7ffc7fff8000" }, { "address": 571, "page": 0, - "value": "0x40137ffe7fff800a" + "value": "0x480a7ffd7fff8000" }, { "address": 572, "page": 0, - "value": "0x482480017ffe8000" + "value": "0x1104800180018000" }, { "address": 573, "page": 0, - "value": "0x1" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffefc" }, { "address": 574, "page": 0, - "value": "0x48127ffe7fff8000" + "value": "0x40137ff77fff8001" }, { "address": 575, "page": 0, - "value": "0x480a80067fff8000" + "value": "0x40137ff87fff8002" }, { "address": 576, "page": 0, - "value": "0x480a80017fff8000" + "value": "0x40137ff97fff8003" }, { "address": 577, "page": 0, - "value": "0x480680017fff8000" + "value": "0x40137ffa7fff8004" }, { "address": 578, "page": 0, - "value": "0x0" + "value": "0x40137ffb7fff8005" }, { "address": 579, "page": 0, - "value": "0x4826800180008000" + "value": "0x40137ffc7fff8006" }, { "address": 580, "page": 0, - "value": "0x1" + "value": "0x40137ffd7fff8007" }, { "address": 581, "page": 0, - "value": "0x480a80097fff8000" + "value": "0x40137ffe7fff8008" }, { "address": 582, "page": 0, - "value": "0x4802800080008000" + "value": "0x40137fff7fff8009" }, { "address": 583, "page": 0, - "value": "0x1104800180018000" + "value": "0x40137ff57fff800a" }, { "address": 584, "page": 0, - "value": "0xe" + "value": "0x480a7ff37fff8000" }, { "address": 585, "page": 0, - "value": "0x40137fff7fff8008" + "value": "0x48127ff57fff8000" }, { "address": 586, "page": 0, - "value": "0x40028000800a7ffe" + "value": "0x480a800b7fff8000" }, { "address": 587, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x1104800180018000" }, { "address": 588, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x47" }, { "address": 589, "page": 0, - "value": "0x48127ffb7fff8000" + "value": "0x40137ffe7fff800c" }, { "address": 590, "page": 0, - "value": "0x480a80027fff8000" + "value": "0x482480017ffe8000" }, { "address": 591, "page": 0, - "value": "0x480a80037fff8000" + "value": "0x1" }, { "address": 592, "page": 0, - "value": "0x480a80047fff8000" + "value": "0x48127ffe7fff8000" }, { "address": 593, "page": 0, - "value": "0x480a80057fff8000" + "value": "0x480a80067fff8000" }, { "address": 594, "page": 0, - "value": "0x48127ff57fff8000" + "value": "0x480a80017fff8000" }, { "address": 595, "page": 0, - "value": "0x480a80077fff8000" + "value": "0x480680017fff8000" }, { "address": 596, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x0" }, { "address": 597, "page": 0, - "value": "0x20780017fff7ffd" + "value": "0x4826800180008000" }, { "address": 598, "page": 0, - "value": "0x9" + "value": "0x1" }, { "address": 599, "page": 0, - "value": "0x480a7ff67fff8000" + "value": "0x480a800b7fff8000" }, { "address": 600, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x4802800080008000" }, { "address": 601, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x1104800180018000" }, { "address": 602, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x10" }, { "address": 603, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x40137fff7fff800a" }, { "address": 604, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x40028000800c7ffe" }, { "address": 605, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x48127ffa7fff8000" }, { "address": 606, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x48127ffa7fff8000" }, { "address": 607, "page": 0, - "value": "0x0" + "value": "0x48127ffb7fff8000" }, { "address": 608, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x480a80027fff8000" }, { "address": 609, "page": 0, - "value": "0x1" + "value": "0x480a80037fff8000" }, { "address": 610, "page": 0, - "value": "0x20680017fff7fff" + "value": "0x480a80047fff8000" }, { "address": 611, "page": 0, - "value": "0xd" + "value": "0x480a80057fff8000" }, { "address": 612, "page": 0, - "value": "0x480a7ff67fff8000" + "value": "0x48127ff57fff8000" }, { "address": 613, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x480a80077fff8000" }, { "address": 614, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x480a80087fff8000" }, { "address": 615, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x480a80097fff8000" }, { "address": 616, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 617, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x20780017fff7ffd" }, { "address": 618, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x9" }, { "address": 619, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a7ff67fff8000" }, { "address": 620, "page": 0, - "value": "0x23" + "value": "0x480a7ff77fff8000" }, { "address": 621, "page": 0, - "value": "0x10780017fff7fff" + "value": "0x480a7ff87fff8000" }, { "address": 622, "page": 0, - "value": "0xb" + "value": "0x480a7ff97fff8000" }, { "address": 623, "page": 0, - "value": "0x480a7ff67fff8000" + "value": "0x480a7ffa7fff8000" }, { "address": 624, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 625, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 626, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x40780017fff7fff" }, { "address": 627, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x0" }, { "address": 628, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x40780017fff7fff" }, { "address": 629, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x1" }, { "address": 630, "page": 0, - "value": "0x1104800180018000" + "value": "0x20680017fff7fff" }, { "address": 631, "page": 0, - "value": "0x46" + "value": "0xd" }, { "address": 632, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x480a7ff67fff8000" }, { "address": 633, "page": 0, - "value": "0x482680017ffd8000" + "value": "0x480a7ff77fff8000" }, { "address": 634, "page": 0, - "value": "0x800000000000011000000000000000000000000000000000000000000000000" + "value": "0x480a7ff87fff8000" }, { "address": 635, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a7ff97fff8000" }, { "address": 636, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdb" + "value": "0x480a7ffa7fff8000" }, { "address": 637, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480a7ffb7fff8000" }, { "address": 638, "page": 0, - "value": "0x480280007ffd8000" + "value": "0x480a7ffc7fff8000" }, { "address": 639, "page": 0, - "value": "0x400280007ffb7fff" + "value": "0x1104800180018000" }, { "address": 640, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x23" }, { "address": 641, "page": 0, - "value": "0x480280027ffd8000" + "value": "0x10780017fff7fff" }, { "address": 642, "page": 0, - "value": "0x480280017ffd8000" + "value": "0xb" }, { "address": 643, "page": 0, - "value": "0x1104800180018000" + "value": "0x480a7ff67fff8000" }, { "address": 644, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff85" + "value": "0x480a7ff77fff8000" }, { "address": 645, "page": 0, - "value": "0x400280017ffb7fff" + "value": "0x480a7ff87fff8000" }, { "address": 646, "page": 0, - "value": "0x482680017ffb8000" + "value": "0x480a7ff97fff8000" }, { "address": 647, "page": 0, - "value": "0x2" + "value": "0x480a7ffa7fff8000" }, { "address": 648, "page": 0, - "value": "0x48127ffd7fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 649, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480a7ffc7fff8000" }, { "address": 650, "page": 0, - "value": "0x482680017ffd8000" + "value": "0x1104800180018000" }, { "address": 651, "page": 0, - "value": "0x2" + "value": "0x46" }, { "address": 652, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x480a7ffc7fff8000" }, { "address": 653, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x482680017ffd8000" }, { "address": 654, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { "address": 655, "page": 0, - "value": "0x4" + "value": "0x1104800180018000" }, { "address": 656, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdb" }, { "address": 657, "page": 0, - "value": "0x480a80017fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 658, "page": 0, - "value": "0x480a80007fff8000" + "value": "0x480280007ffd8000" }, { "address": 659, "page": 0, - "value": "0x1104800180018000" + "value": "0x400280007ffb7fff" }, { "address": 660, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdc0" + "value": "0x480a7ffc7fff8000" }, { "address": 661, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x480280027ffd8000" }, { "address": 662, "page": 0, - "value": "0x1104800180018000" + "value": "0x480280017ffd8000" }, { "address": 663, "page": 0, - "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff5" + "value": "0x1104800180018000" }, { "address": 664, "page": 0, - "value": "0x480680017fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff7f" }, { "address": 665, "page": 0, - "value": "0x4" + "value": "0x400280017ffb7fff" }, { "address": 666, "page": 0, - "value": "0x400080007ffe7fff" + "value": "0x482680017ffb8000" }, { "address": 667, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x2" }, { "address": 668, "page": 0, - "value": "0x480280027ffd8000" + "value": "0x48127ffd7fff8000" }, { "address": 669, "page": 0, - "value": "0x480680017fff8000" + "value": "0x208b7fff7fff7ffe" }, { "address": 670, "page": 0, - "value": "0x1" + "value": "0x482680017ffd8000" }, { "address": 671, "page": 0, - "value": "0x480280017ffd8000" + "value": "0x2" }, { "address": 672, "page": 0, - "value": "0x480080017ffa8000" + "value": "0x480a7ffd7fff8000" }, { "address": 673, "page": 0, - "value": "0x1104800180018000" + "value": "0x208b7fff7fff7ffe" }, { "address": 674, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1a" + "value": "0x40780017fff7fff" }, { "address": 675, "page": 0, - "value": "0x480280007ffd8000" + "value": "0x4" }, { "address": 676, "page": 0, - "value": "0x400080007fdd7fff" + "value": "0x480a7ff97fff8000" }, { "address": 677, "page": 0, - "value": "0x400080017fdd7fd9" + "value": "0x480a80017fff8000" }, { "address": 678, "page": 0, - "value": "0x402580017fdd8002" + "value": "0x480a80007fff8000" }, { "address": 679, "page": 0, - "value": "0x2" + "value": "0x1104800180018000" }, { "address": 680, "page": 0, - "value": "0x400b80007fff8003" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffdac" }, { "address": 681, "page": 0, - "value": "0x480a7ff77fff8000" + "value": "0x480a7ffc7fff8000" }, { "address": 682, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x1104800180018000" }, { "address": 683, "page": 0, - "value": "0x48127fd67fff8000" + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff5" }, { "address": 684, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x480680017fff8000" }, { "address": 685, "page": 0, - "value": "0x480a7ffb7fff8000" + "value": "0x4" }, { "address": 686, "page": 0, - "value": "0x4826800180008000" + "value": "0x400080007ffe7fff" }, { "address": 687, "page": 0, - "value": "0x1" + "value": "0x480a7ffa7fff8000" }, { "address": 688, "page": 0, - "value": "0x480a7ffd7fff8000" + "value": "0x480280027ffd8000" }, { "address": 689, "page": 0, - "value": "0x4802800080008000" + "value": "0x480680017fff8000" }, { "address": 690, "page": 0, - "value": "0x1104800180018000" + "value": "0x1" }, { "address": 691, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa4" + "value": "0x480280017ffd8000" }, { "address": 692, "page": 0, - "value": "0x402a800180037fff" + "value": "0x480080017ffa8000" }, { "address": 693, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x1104800180018000" }, { "address": 694, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff14" }, { "address": 695, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x480280007ffd8000" }, { "address": 696, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x400080007fdd7fff" }, { "address": 697, "page": 0, - "value": "0x48127ffa7fff8000" + "value": "0x400080017fdd7fd9" }, { "address": 698, "page": 0, - "value": "0x480a80027fff8000" + "value": "0x402580017fdd8002" }, { "address": 699, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x2" }, { "address": 700, "page": 0, - "value": "0x40780017fff7fff" + "value": "0x400b80007fff8003" }, { "address": 701, "page": 0, - "value": "0x2" + "value": "0x480a7ff77fff8000" }, { "address": 702, "page": 0, - "value": "0x480a7ffc7fff8000" + "value": "0x480a7ff87fff8000" }, { "address": 703, "page": 0, - "value": "0x1104800180018000" + "value": "0x48127fd67fff8000" }, { "address": 704, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcc" + "value": "0x48127ffa7fff8000" }, { "address": 705, "page": 0, - "value": "0x40137ffe7fff8000" + "value": "0x480a7ffb7fff8000" }, { "address": 706, "page": 0, - "value": "0x480080007fff8000" + "value": "0x4826800180008000" }, { "address": 707, "page": 0, - "value": "0x400280007ff77fff" + "value": "0x1" }, { "address": 708, "page": 0, - "value": "0x480080017ffe8000" + "value": "0x480a7ffd7fff8000" }, { "address": 709, "page": 0, - "value": "0x400280017ff77fff" + "value": "0x4802800080008000" }, { "address": 710, "page": 0, - "value": "0x480080007ffd8000" + "value": "0x1104800180018000" }, { "address": 711, "page": 0, - "value": "0x402580017fff8001" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa4" }, { "address": 712, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff" + "value": "0x402a800180037fff" }, { "address": 713, "page": 0, - "value": "0x482680017ff78000" + "value": "0x48127ffa7fff8000" }, { "address": 714, "page": 0, - "value": "0x2" + "value": "0x48127ffa7fff8000" }, { "address": 715, "page": 0, - "value": "0x480a80007fff8000" + "value": "0x48127ffa7fff8000" }, { "address": 716, "page": 0, - "value": "0x480a80017fff8000" + "value": "0x48127ffa7fff8000" }, { "address": 717, "page": 0, - "value": "0x1104800180018000" + "value": "0x48127ffa7fff8000" }, { "address": 718, "page": 0, - "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff46" + "value": "0x480a80027fff8000" }, { "address": 719, "page": 0, - "value": "0x482680017ff78000" + "value": "0x208b7fff7fff7ffe" }, { "address": 720, "page": 0, - "value": "0x2" + "value": "0x40780017fff7fff" }, { "address": 721, "page": 0, - "value": "0x482880017fff8000" + "value": "0x2" }, { "address": 722, "page": 0, - "value": "0x480a7ff87fff8000" + "value": "0x480a7ffc7fff8000" }, { "address": 723, "page": 0, - "value": "0x480a7ff97fff8000" + "value": "0x1104800180018000" }, { "address": 724, "page": 0, - "value": "0x480a7ffa7fff8000" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcc" }, { "address": 725, "page": 0, - "value": "0x482680017ffb8000" + "value": "0x40137ffe7fff8000" }, { "address": 726, "page": 0, - "value": "0x1" + "value": "0x480080007fff8000" }, { "address": 727, "page": 0, - "value": "0x482a800180008000" + "value": "0x400280007ff77fff" }, { "address": 728, "page": 0, - "value": "0x208b7fff7fff7ffe" + "value": "0x480080017ffe8000" }, { "address": 729, "page": 0, - "value": "0x2db" + "value": "0x400280017ff77fff" }, { "address": 730, "page": 0, - "value": "0x0" + "value": "0x480080007ffd8000" }, { "address": 731, "page": 0, - "value": "0xaf0" + "value": "0x402580017fff8001" }, { "address": 732, "page": 0, - "value": "0xafa" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff" }, { "address": 733, "page": 0, - "value": "0x22fa" + "value": "0x482680017ff78000" }, { "address": 734, "page": 0, - "value": "0x32fa" + "value": "0x2" }, { "address": 735, "page": 0, - "value": "0x333a" + "value": "0x480a80007fff8000" }, { "address": 736, "page": 0, - "value": "0x473a" + "value": "0x480a80017fff8000" }, { "address": 737, "page": 0, - "value": "0x48fa" + "value": "0x1104800180018000" }, { "address": 738, "page": 0, - "value": "0x4afa" + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff40" }, { "address": 739, "page": 0, + "value": "0x482680017ff78000" + }, + { + "address": 740, + "page": 0, + "value": "0x2" + }, + { + "address": 741, + "page": 0, + "value": "0x482880017fff8000" + }, + { + "address": 742, + "page": 0, + "value": "0x480a7ff87fff8000" + }, + { + "address": 743, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 744, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 745, + "page": 0, + "value": "0x482680017ffb8000" + }, + { + "address": 746, + "page": 0, + "value": "0x1" + }, + { + "address": 747, + "page": 0, + "value": "0x482a800180008000" + }, + { + "address": 748, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 749, + "page": 0, + "value": "0x480a7ff37fff8000" + }, + { + "address": 750, + "page": 0, + "value": "0x480a7ff47fff8000" + }, + { + "address": 751, + "page": 0, + "value": "0x480a7ff57fff8000" + }, + { + "address": 752, + "page": 0, + "value": "0x480a7ff67fff8000" + }, + { + "address": 753, + "page": 0, + "value": "0x480a7ff77fff8000" + }, + { + "address": 754, + "page": 0, + "value": "0x480a7ff87fff8000" + }, + { + "address": 755, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 756, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 757, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 758, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 759, + "page": 0, + "value": "0x480a7ffd7fff8000" + }, + { + "address": 760, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 761, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff38" + }, + { + "address": 762, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 763, + "page": 0, + "value": "0x2fd" + }, + { + "address": 764, + "page": 0, + "value": "0x0" + }, + { + "address": 765, + "page": 0, + "value": "0xb79" + }, + { + "address": 766, + "page": 0, + "value": "0xb83" + }, + { + "address": 767, + "page": 0, + "value": "0x2383" + }, + { + "address": 768, + "page": 0, + "value": "0x3383" + }, + { + "address": 769, + "page": 0, + "value": "0x33c3" + }, + { + "address": 770, + "page": 0, + "value": "0x47c3" + }, + { + "address": 771, + "page": 0, + "value": "0x4983" + }, + { + "address": 772, + "page": 0, + "value": "0x4b83" + }, + { + "address": 773, + "page": 0, + "value": "0x0" + }, + { + "address": 774, + "page": 0, "value": "0x0" }, { - "address": 2791, + "address": 775, "page": 0, - "value": "0xafa" + "value": "0x0" + }, + { + "address": 2926, + "page": 0, + "value": "0xb83" + }, + { + "address": 2927, + "page": 0, + "value": "0xda8" + }, + { + "address": 2928, + "page": 0, + "value": "0x238f" }, { - "address": 2792, + "address": 2929, "page": 0, - "value": "0xd1f" + "value": "0x3385" }, { - "address": 2793, + "address": 2930, "page": 0, - "value": "0x2304" + "value": "0x33cd" }, { - "address": 2794, + "address": 2931, "page": 0, - "value": "0x32fc" + "value": "0x47ca" }, { - "address": 2795, + "address": 2932, "page": 0, - "value": "0x3344" + "value": "0x4993" }, { - "address": 2796, + "address": 2933, "page": 0, - "value": "0x4741" + "value": "0x4b89" }, { - "address": 2797, + "address": 2934, "page": 0, - "value": "0x490a" + "value": "0x0" }, { - "address": 2798, + "address": 2935, "page": 0, - "value": "0x4b00" + "value": "0x0" }, { - "address": 2799, + "address": 2936, "page": 0, "value": "0x0" }, { - "address": 2800, + "address": 2937, "page": 0, "value": "0x0" }, { - "address": 2801, + "address": 2938, "page": 0, "value": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804" }, { - "address": 2802, + "address": 2939, "page": 0, "value": "0x1" }, { - "address": 2803, + "address": 2940, "page": 0, "value": "0x7" }, { - "address": 2804, + "address": 2941, "page": 0, "value": "0x7d268240f9c37113ddb500261001f7268e8da0c5beeaa2bc3a02a1ea6e7b9aa" }, { - "address": 2805, + "address": 2942, "page": 1, "value": "0x5c9d88a1de4e8a88f3a14ee67d10cc244cf6eb630751faf26a6c83a86205e0" }, { - "address": 2806, + "address": 2943, "page": 2, "value": "0x4d2" }, { - "address": 2807, + "address": 2944, "page": 2, "value": "0x10e1" }, { - "address": 2808, + "address": 2945, "page": 3, "value": "0x3e8" }, { - "address": 2809, + "address": 2946, "page": 3, "value": "0x7d0" } ], - "rc_max": 32796, + "rc_max": 32802, "rc_min": 0 }, "version": { @@ -6554,294 +6758,294 @@ "statement_name": "INVALID_NAME" }, "extra_annotations": [ - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16778573: Hash(0x00000000000000000000000024976f3c39f970999e1c9c11900adf50f33b91a3)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16933390: Hash(0x000000000000000000000000253939c13f55b2ffe3cc671d046cce646b64853d)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17104648: Hash(0x000000000000000000000000ce6056fdc10ac147a872393ad209e4bb4f3de90a)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19013419: Hash(0x0000000000000000000000005e599acd646f36d1676541f719e58322086ed440)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22871006: Hash(0x000000000000000000000000b7d0cb853c54a88bce0e0e6c82fec3d827b4451a)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23099427: Hash(0x0000000000000000000000007ab8bc2181360ff5d3cd2daff084440c4693887a)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23403655: Hash(0x00000000000000000000000034e009a5a8620f64903b0664e92bcd354a49e6db)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24128237: Hash(0x000000000000000000000000d219d0af6a0c17ec0f88aa0d5d6c8c3b7c2339a3)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26356431: Hash(0x000000000000000000000000a9da9f39287f827301054060b7cbeb3806fc9015)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26989761: Hash(0x0000000000000000000000009f66bef3fc51ef159cf0238235d4f1771a16aa48)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27844599: Hash(0x00000000000000000000000000e293af96e5ee80603d901087b5735be0f38647)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28490292: Hash(0x000000000000000000000000efd8dcd9361a723cf3b5b6dd93ca3da8c36a1815)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28852327: Hash(0x0000000000000000000000001610e5c3df97eaf2d7a0f1278e036c961bb1fd5c)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30374014: Hash(0x000000000000000000000000fe14610757216c5e1ee710fe23339da346a12072)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30523415: Hash(0x00000000000000000000000081cfc1c672a413a83390aed91ea333ea27aca91d)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30772604: Hash(0x000000000000000000000000cec37bcf9441043a328963c67630e2eee8cd0ef8)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31525314: Hash(0x0000000000000000000000003f9577f66f989757d3f6ef543cd562ae4332e369)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16778573: Hash(0x00000000000000000000000079d108a3f64d789453bf2009d15d499188501621)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16933390: Hash(0x000000000000000000000000c7a91d80acedd31f070c66df0389ca154de8a1f0)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17104648: Hash(0x000000000000000000000000a7de8504db0effaa5d688a9a99fd3716db237a7c)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19013419: Hash(0x00000000000000000000000007901d83a39ee7f4f671e9e2ee743f0a19477a52)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22871006: Hash(0x00000000000000000000000086753d8b956dba4acd418900e94a1b4a4f60e1a5)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23099427: Hash(0x0000000000000000000000000b49e9ca22fd6ef3e5ab933d5a9894055166cbfb)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23403655: Hash(0x00000000000000000000000058402ac78d3f758ac3b835975a5840cc66b4e27b)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24128237: Hash(0x000000000000000000000000f5d1b7e24a046ae8d46f61905cf0464aa33e6336)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26356431: Hash(0x0000000000000000000000001f8b184ca185c1f99dd16d443dc9bbd53767d011)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26989761: Hash(0x000000000000000000000000157170b8fb57117312723f006e0e4b178a981916)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27844599: Hash(0x00000000000000000000000004b5c38274ae93dca5790a651053b9794f383f9c)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28490292: Hash(0x0000000000000000000000000737c2cabfcdac68fd0ea3b5a109be45c432c649)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28852327: Hash(0x0000000000000000000000005f7320bee5112f74e7ca1f7caffb5ab9a76ae44d)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30374014: Hash(0x000000000000000000000000771ca8111c133e4997db5d977ac376b95ccc5e5f)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30523415: Hash(0x000000000000000000000000e84726a166c6390fcf29f733d308c367c0d80585)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30772604: Hash(0x00000000000000000000000037362003bdad987d5c2127deff6c8f144bf34c37)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31525314: Hash(0x000000000000000000000000a5db17872510de69c5fdd2fda18fd251448357d4)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16778573: Hash(0x000000000000000000000000c85d304d15177266bb9cd60f9e0c87a418ef0a25)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16933390: Hash(0x000000000000000000000000b3266a6328674b517a9ace69581452c5344b1770)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17104648: Hash(0x000000000000000000000000e36437c0fd6fb681942f86b97e593b77890b099e)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19013419: Hash(0x000000000000000000000000a0d512a33000d23adf25b42c972e968423102e35)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22871006: Hash(0x000000000000000000000000dc542113b287b67eee709e21427fa46536e3ac31)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23099427: Hash(0x00000000000000000000000026704a447ff1cdd3bf05f31b93a24ae8d5db0cd4)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23403655: Hash(0x000000000000000000000000e327f1fadf246ae86d70268748e4911a602a9f15)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24128237: Hash(0x000000000000000000000000d3980437720b0743222fffa285594c5f1ef17d3b)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26356431: Hash(0x000000000000000000000000b09181ad866cb586405c588b26639e3ffa2dde70)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26989761: Hash(0x0000000000000000000000000f9bf7ebbce14ed0518be234f06f50a466a2832b)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27844599: Hash(0x00000000000000000000000039f5fb5089443bbc842f0862c9e7b6f20b1e716c)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28490292: Hash(0x00000000000000000000000082a5e23ea01592e453bf74452f4c6fecf70a5c91)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28852327: Hash(0x000000000000000000000000580b74f9b4ccc837783e62873e866d081b0194b2)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30374014: Hash(0x000000000000000000000000010ef34a1eb4b4f240a7a0d824fcaedf24524d80)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30523415: Hash(0x0000000000000000000000002af8c2097db46a234a5ae289461714e04b7c4526)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30772604: Hash(0x0000000000000000000000009e6db3c124e6fd64f1b684ee7ac8ba00a53239e9)", - "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31525314: Hash(0x000000000000000000000000270c17a05004cb4fee3629828dc36b13e072b4f8)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 84, Column 13: Field Element(0x1e6af5d4053c457520d3b6af16160e97660926ddbc7291233a92714ba54186)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 1357: Field Element(0x13fdb379a8f8f661c48acc91eca6449368bc1a0ee4b0a55ca5af1915afd76cd)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 9760, Column 14: Field Element(0x26de4af811b330a20a6930639b421b1e5d95d97bac5cf640bcfbb9f79df1d1)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 156174: Field Element(0x5b12412efc83a5f294183f36ce35fc8ed4da4250c12588f9af53c4b05a4a62f)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 20464, Column 8: Field Element(0x48a7ed0463c5af13631b23f701cd43ac19eeb993f7d6e60f587d4d962503431)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 327432: Field Element(0x6ba55c40b823fad6251fd8f9e0973f143c6da9fbf4c98d76d2b2fb67db3ec91)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 139762, Column 11: Field Element(0x70caa4eee62a43b9316859ee4dc6a73bcfa9b6a4cb7dbf3d825cf170c9a307b)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 2236203: Field Element(0x7b7c1affea39a117422e709335e6da9aaa30c079c7e9054ef4ca585e557a442)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 380861, Column 14: Field Element(0x40353edc463b36acab978fe2d8345649ed0e26cd514f30bf6a630bad04aac38)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 6093790: Field Element(0x5afc29310a5bbfa4ccbc7e6a8de0e7fd35aeea46dbb080908e299cf906665f7)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 395138, Column 3: Field Element(0x17d963e84571a81c8268d254cb91e5e095e5ce9201820e2ce2194a38f70f182)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 6322211: Field Element(0x70d5e3bbbb9ec02d2b9890b8d929638a71251d5db25ed5e1fbf72d04ebd1361)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 414152, Column 7: Field Element(0x72fbb26c57e76a3e1ce5412fdd9e60ef1662898fb90c8a27dfccce57c5fb04d)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 6626439: Field Element(0x1bb99daca4ae94b40d23c62d517fb10b4e0db7a62b8617910d0eba1d2c9f82a)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 459438, Column 13: Field Element(0x54eecccfb574e9d099c04b9cc065842bdf130eefc659e5d65ec4222f6a2de49)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 7351021: Field Element(0x606601c17ef552152248e83f48dde7eb8eda914f63f5c0ba5a978b48c22bb89)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 598700, Column 15: Field Element(0x663927ff51871cc1681ccd7c0b7a669a39df9617dc53eb471ac04b5b990f4d)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 9579215: Field Element(0x5e330be8f36777e9eca991b6dcb9399f0eb356ca927953e636b70cc1340cbb6)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 638284, Column 1: Field Element(0x40aab3d392aef5b74fa16370fd6e978a852a9a10e9f6b8fa6448d0355b9bea0)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 10212545: Field Element(0x7f2f0b1472b8ae08475c1a24484a4948abc2f837b97eaae5090f7c0709c473b)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 691711, Column 7: Field Element(0x1230f7dd39084b33bd53d8e685ebc67047d4dd9a2e2c56ec249eeb65deddf20)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 11067383: Field Element(0x653bd4bc70aa5674bff69c1113808c82e7b3e27adf3627ff96b4986f0320352)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 732067, Column 4: Field Element(0x158759019e8bd19b3b6aa88367163cb59f3434330484c227bbec278bbe3beab)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 11713076: Field Element(0x29ea939ce98651496a425eab1ea40c1ef48562ab28cc528e220544937598311)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 754694, Column 7: Field Element(0x354e59ad304e229f09ddffdf0a41d4e2c103e7a61f2f0f89c6e3a3597b2f054)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 12075111: Field Element(0x5f1d955819f176995268671629684f0d6157ef684cc5c68857a1530c0c5824c)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 849799, Column 14: Field Element(0x4515aa18c1798ecd20e237015c829c77f3e361bf39e63b565bf6c7eba1c3a98)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 13596798: Field Element(0x5f5b333106f538b5f5960e046e93379945550602a9b6caccd1aecff773679a3)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 859137, Column 7: Field Element(0x7237586d2b68682c7ae08a1cb047449d779ee9fbfbc364318cbd41234ccf544)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 13746199: Field Element(0x3b939f311fabdb730970db81c13a121c75272690a42c0b707c1d6a276434940)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 874711, Column 12: Field Element(0x65cd3e4204d397b864bf29108f08a5196104177f20ac07093ec207f449fc97c)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 13995388: Field Element(0x3f6ef2c47c1e512026684ef4f2bdeff6aebbc7d895076c735b666311ea2ecc9)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 921756, Column 2: Field Element(0x4478c67b2135a2f4b174ea943b9eb4a95389e937d55efbdba3dfba85956eb76)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 14748098: Field Element(0x1892ea72973ef33fe876ea0d38e1bbacd1c19a5f7547522f8d091085f70ca11)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1048660: Hash(0x000000000000000000000000b4a26dd50dc5c5086fb1609f9adb8b68eb36769c)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1058336: Hash(0x000000000000000000000000708831cea41bb190f5cbb1ede5ab011aebe62efb)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1069040: Hash(0x00000000000000000000000063403cec260819b5ffcfca947c743f606b1a09ad)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1188338: Hash(0x0000000000000000000000008f61dfdf6820b92fac4523d12a0d42e603056817)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1429437: Hash(0x00000000000000000000000075320e8d6e4a0fc2d7636a26088cf4e3b6456cd9)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1443714: Hash(0x000000000000000000000000915e7dbda04361ac6dce092d126d110c2d52015f)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1462728: Hash(0x000000000000000000000000b7f87cef4cc6326f7919ad8b6638e61cd305ef00)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1508014: Hash(0x000000000000000000000000efe8fb0f665a99ceb8f7591e45a9ce810cacbbcc)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1647276: Hash(0x000000000000000000000000578d434f54c5b17c1ccf2abd28930784061c907e)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1686860: Hash(0x000000000000000000000000be1be736e7adbe4c9cc355eab3edead51acb372f)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1740287: Hash(0x00000000000000000000000085a86eb171723d9927047fa174b13587add6fc33)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1780643: Hash(0x0000000000000000000000002e32b5f81cbcbef10836994443a9fc5c28cf91cc)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1803270: Hash(0x00000000000000000000000020dcd9018cad75d30d41cb951459f16b65b75457)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1898375: Hash(0x000000000000000000000000ec45bd5a3d7cb2377fd13bec81e9a97b32650b3c)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1907713: Hash(0x000000000000000000000000a7e7fbdbd628afaf9675303559d4d0b76230635a)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1923287: Hash(0x00000000000000000000000017608cf832e2b4d5f64ba51f9b620ee99b189ef0)", - "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1970332: Hash(0x00000000000000000000000074897244cf60c4ce18262957dd386a83eae6a122)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 10, Column 4: Field Element(0x303002a4e72ca6a3945991c61c8cfe04b7dbafc2279bf074d7bd91c6942e16e)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 84: Field Element(0x1264420ea68c7cae9f4bde0c56392ee54c89c8dbd26e56a3e329534394e3791)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 1220, Column 0: Field Element(0x1dec3935185d16fc0d86ce90b3c7fbc787957bb5882d43fc4d69222e8f4406d)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 9760: Field Element(0x388723097461485dac50b93a5d82fe7face388385ec0f1ae4b2e2dadb9880b0)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 2558, Column 0: Field Element(0x4e092a317e8118b36734c331b4b4cd142f66912ebdb47316284e87399caf231)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 20464: Field Element(0x488b5d06e99c38120744c43127913b956611f628ea5d3fec26f8376b6a5a202)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 17470, Column 2: Field Element(0x2035a39aba8f0d3b62387e401dbcee01f43194ee616bb19bb0c313db3f39fa)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 139762: Field Element(0x29a8d87b5776b404895c45be3259921cb5049aa23c51fed73a75f59a4392909)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 47607, Column 5: Field Element(0x4edc9c5a0f5f71cdcf2ec7e424f16a80d65d7b98bf2b600abf7e9ab3cfd8633)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 380861: Field Element(0x1abf9effd4d3ec8043b31790727b05aea450aceebdab9f2f507bc559c55ec2e)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 49392, Column 2: Field Element(0x2f1f72cf5319f2b23f5025c0515b0e9a5574ae24534059f1f587eef29c6f42d)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 395138: Field Element(0x640e7a0f3133cfa951f77df61b62c2acd51939fd5093b15a1e89326acc5c5fd)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 51769, Column 0: Field Element(0x1d222299829aee5bd77c630cc814f6a84390a6fa021bd5aa4b212c0dc96316e)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 414152: Field Element(0x7be2eccd8b6730b5e5937707a6f2407284e3044b5039662c89dd16181771f5a)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 57429, Column 6: Field Element(0xc12e5f084c8dde152d421784414655effd91bc97dd6f2b728c34093cb4eddf)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 459438: Field Element(0x7475dc10abd4a9e7904b7ad5fc882a3742d3c0aef80a9d804d04f8c4797b45)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 74837, Column 4: Field Element(0x7ecab77c778a0e49a665a9b5a61105472b977aa143034df9624a758d44cb73e)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 598700: Field Element(0xdce811f953ba21016b50d0fba779fb10cef71e640382fa48c37fecc37602d4)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 79785, Column 4: Field Element(0x3857dac697c6bafc6ca1a49d16787a4d9e3be022e14220c0c6f422c3f925d15)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 638284: Field Element(0x473a96d21925eeec0924473bb46af1f682ebd41f2760ccf38b7886980fdead5)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 86463, Column 7: Field Element(0x4e78d069791d9b04138d3a0f7d61cacfc39c2dcd245505ff6759d26b8452cd5)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 691711: Field Element(0x12469f222f246717808f4f40902ffc2a914cde4b8ca0b2648315c6050cd69f3)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 91508, Column 3: Field Element(0x431569866d89da0dc1124c5e2aead354b58e4dfa3cd94c06eeae1ba4c04c4cb)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 732067: Field Element(0x6a7259319db001af993748f1fff647895c8a49fdfb1a699928bd0e7fd67f9ff)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 94336, Column 6: Field Element(0x5ce1f5bdc89aadf9970d2a847120a3ae5fca2efa921ec04de494eaee64e5b9f)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 754694: Field Element(0x71e4c5ec3991f6d54405064c1f94f6ae2ae14691f0c3d6088c0ae998a3ceee3)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 106224, Column 7: Field Element(0x2360c81b217d2f3be9d1ffdca259535ac1b6b31100b3916981fda8b2ef9b7ae)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 849799: Field Element(0x94504b48d1f98d2d5a54137fb21c72b8b41cd302b97c6e79f67502a7ae04c1)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 107392, Column 1: Field Element(0x139304c9ca8b4419dc98db37badafec90a3078fd47ebd5543ca17efff6a2c73)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 859137: Field Element(0x2ecabe3e043f0e4c409b8c0d0847a9a2f91d9600447561e43de7d6a25e270a1)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 109338, Column 7: Field Element(0x26f76d83f30204c94baa8a54a47c4e996febef6558bf0f8e203249c3e9699ef)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 874711: Field Element(0x18a2e8a4bf2d72c4df40c28eb9f9aecdbc23dc08804f2ca5722456d1673165f)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 115219, Column 4: Field Element(0x690026f43aec1ef1d8de337b4b146480c89a06baa4f9033f585d9f79c1274a2)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 921756: Field Element(0x5fb14dc2f1ec2815440aabaaba2458d44db3e6c180b9cc6ff2ea2c06de81e28)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 131082: Hash(0x000000000000000000000000b350db3e4d6cadcde20663ab39655f55276e97bf)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 132292: Hash(0x0000000000000000000000009a6e0bb0fda0a88122239decf5bd38f0945f6c32)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 133630: Hash(0x00000000000000000000000008561b0c0bd7b1d1d1fe84813f82b97bbca79f0a)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 148542: Hash(0x00000000000000000000000089fc47ffaa87de87cae7a58aad0a05d85a7f828e)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 178679: Hash(0x000000000000000000000000365bc87ea8515c3df737930143d7528c421656b3)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 180464: Hash(0x0000000000000000000000006c81d5467c2a6559bca1439564a83304fc194bbb)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 182841: Hash(0x0000000000000000000000008cf0e16a8badf3427f13e9c36498a9d011d75d64)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 188501: Hash(0x000000000000000000000000fef75b2c3ddc76db142089ca6f390a1ff308c4e6)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 205909: Hash(0x0000000000000000000000000ac65b7315905c6b34fb2b49ff0b91d2af949ae4)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 210857: Hash(0x000000000000000000000000c2cddbe27922eb3fc0ac9e0e2039aed2bc83cd35)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 217535: Hash(0x0000000000000000000000000fc60c9d7f29475ae4dc68141c0221dfdc476945)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 222580: Hash(0x0000000000000000000000007cd9fbbb54e91006e6b80f2b27a3c78feecf49ae)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 225408: Hash(0x000000000000000000000000f1320d29ac3c3f42ec09c5f07966bb7c3ec4c601)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 237296: Hash(0x000000000000000000000000f7a6691aa70cb0d792708981a57ab661d4860061)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 238464: Hash(0x00000000000000000000000091573e503593d4d95ed9577a3ef4e265b9684fd4)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 240410: Hash(0x000000000000000000000000dd5a8b23103a88e038b7dcaf7ce3ff6f87e122f4)", - "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 246291: Hash(0x00000000000000000000000040e06589a4b9b4538938e5fae72151c8f3f0c7cb)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 1, Column 2: Field Element(0x14310f1e80854a4cb6a452f69a2e919e587860e3d6057e4136389c5511762a4)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 10: Field Element(0x7f4ab8a6173b92fda7237f0f6e190c41c78777feabad31a0f35f63161a8e0af)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 152, Column 4: Field Element(0x38511fb5c0be7a8e7bf5d34e9720445f4cab38d147cd2046864dfddf7af98e4)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 1220: Field Element(0x1bccefde1688ca09700af95ab2028b86ab36b66def7eeaea3b87a26ab949468)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 319, Column 6: Field Element(0x4da741ed153261c1624e4397a58b03a746882a4ddd30701f5dd0c7fcc5180c6)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 2558: Field Element(0xb6589994a857272707d4be9f8222a8d1b085794c161dd7212a2264aaa0af13)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 2183, Column 6: Field Element(0x35572a3b979e43089daed8c99f49391b5f2c0942332bedbfdd12f9621ce63d5)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 17470: Field Element(0x4babb436a29e022234ce28c8035968101002187f9961f95b0251c5e9e274084)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 5950, Column 7: Field Element(0x3768739edd3124940b660aa3f231464755e77d258c0311a9f43d107c1c73599)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 47607: Field Element(0x5c3f72584da075534007e671f77e564761fe3f17defa28fdf97a4dd04ac56bb)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 6174, Column 0: Field Element(0x50a5f28e834d43bbd131e724cd73a80f352545ddaf155cada8406ec614570cf)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 49392: Field Element(0x56b6c211967230aa89f618c14bfcac2b873b0a7a5087c3e0a09d0ece7069f17)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 6471, Column 1: Field Element(0x260d6f631c36018a854e98482c0a07b313755915acff018432f31b1f42e1081)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 51769: Field Element(0x5d17a8d7dd18f28557a4f129d295070a96c57cbdc3ab71c11208fa103b65ffa)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 7178, Column 5: Field Element(0x2f7714e3d0ca6e2785b63fe701fcdf8bc790352492526263dcf12172c9c3871)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 57429: Field Element(0x1d2a14c3d356d0e94e7d36a11a6ef9b3156825f62b1b531252ba147c75853ff)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 9354, Column 5: Field Element(0x3c6b310e0199465510cd11224c6ec13b7ba7ff12c80a9860cf534b0c2bbe66f)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 74837: Field Element(0x54bea468807d343aaba9cc3b5aaa3b1cd572bef452806e1caa02d7fdbe7896d)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 9973, Column 1: Field Element(0x794267c074b71d7152fc552a93807b19ec0cea770dcc68c1c5a5cee3f131132)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 79785: Field Element(0x4d64bc7d8cee2f5d195a9a3b5c01389e9327028c33d7b7c3fabb8de84a3b9bf)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 10807, Column 7: Field Element(0x112e95ed55c2fa0b913b243899a92bd46381d84ee010f9d38b15e89eaf68035)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 86463: Field Element(0x6dec9539862b7c68f1eace9dceee0c1c69961dcb205389fae525810d0ac03f6)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 11438, Column 4: Field Element(0x62717728e2301f9a298dad458de62702d0951ef4b1042d9254e46a7047c9d19)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 91508: Field Element(0x1ca5636e01a08a1bf1dbc7f94167d2803cce626d13b0f7f294156f1145d7d28)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 11792, Column 0: Field Element(0x2f6e41c63c3d16c2cd8a8806e7fbdc21749ed13425cc95fab3c048418573487)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 94336: Field Element(0x3d252db1e9d8dc879e58fa0edfae3d372740016644dde0a5917b6e0d0ac6936)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 13278, Column 0: Field Element(0x7f3a33594a9db729518aa1050634daaa290d8f1748f87b82b7a7d6f236252dd)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 106224: Field Element(0xbefd96f7c173b0f25b935bfa979b0fc94c02ef7fc4ae51c8912b01612ea175)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 13424, Column 0: Field Element(0x4f891a70741868060ecb4eabbfe4e9b3025c3f38d38a7e99957a51fd389b334)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 107392: Field Element(0x34c222521449c3d073c68a92fae7eb2467ea1bca7b0f6a3180c44a79dfbb760)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 13667, Column 2: Field Element(0x3a13d2a5210af5ec565810c069506703afac36d05b25a931e02bad4f7b41a6a)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 109338: Field Element(0x2b00017f2a0929c22e494727d90f841cd668d92e14aa29707bb0d103e5ec28c)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 14402, Column 3: Field Element(0x1f9eda89a4acd0919c186cfd0aa044abdfd44bf65b504cbbd52bf0fa18eb324)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 115219: Field Element(0x1b9bfaec91d57998225698015e35d06d7151b64fcc034688d64b753b23a9a34)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 16385: Hash(0x000000000000000000000000f23042ddaa101c78549ef68aa0752601b6351a40)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 16536: Hash(0x000000000000000000000000677f8543729a6a4dadc94c023d59168c001fd199)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 16703: Hash(0x000000000000000000000000d697384e6efa297bbbfd72904fbbace1c81e262e)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 18567: Hash(0x00000000000000000000000059d1775a2749475d5ed2f8bb97b4ea61a1fe7890)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 22334: Hash(0x000000000000000000000000409f51b62ed0c4f6de49b332986000168eec7c3f)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 22558: Hash(0x0000000000000000000000002d06a63f58f6f8ed6e49fd6514bc57aecacb2711)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 22855: Hash(0x000000000000000000000000d06af062f011878d3fb291ec94915a6b12c74743)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 23562: Hash(0x00000000000000000000000033c4af4ea5299baab7035064f03c58bae18644ed)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 25738: Hash(0x000000000000000000000000564b8c841a65dd020b683199ff6090bf153188ca)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 26357: Hash(0x000000000000000000000000e2611999c26326369e39a3e0b6de771044b7d81b)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 27191: Hash(0x00000000000000000000000080d6bd2599238a4be55e980fb8c507489bae3c2f)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 27822: Hash(0x000000000000000000000000175e98d119ce6f5f8a7658c4b68eb1bc0b3ed8e6)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 28176: Hash(0x00000000000000000000000005642f7d058a0a0bc511ffcf4dfa6b65fe41e87f)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 29662: Hash(0x000000000000000000000000936bfc0e9e7b7516a65d4cecf503e03477d60ee5)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 29808: Hash(0x0000000000000000000000003908d37d7914ed5e2f5c4d1719a6d6676a72869d)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 30051: Hash(0x00000000000000000000000015ccf29d3bd5ad342327ee51f244de166b44f926)", - "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 30786: Hash(0x0000000000000000000000007e9758d41b6bd7d826582de0ade43e56d02ffc79)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 0, Column 1: Field Element(0x7fc6334d9fcc04eb08e64ca8bf4dcc1954b9f45f8f407e31a8dbc07819955c3)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 1: Field Element(0x800000000000011000000000000000000000000000000000000000000000000)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 19, Column 0: Field Element(0x37948ea55ce1fef980618eaca28f315aa1cfe7267bd9d8a6239a589a9b57e6c)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 152: Field Element(0x1cc90705440740fccf4c60df78c22f00b3ace4c771686843c84d8fc5c375362)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 39, Column 7: Field Element(0x733d53c16732bc6314adaaae1ffea093c82a6f51a20af250474714fbe14bcc4)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 319: Field Element(0x32f4a55caedb3b7c2584f28da83cd7927d429ac8f7c3dadbe912619681b662f)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 272, Column 7: Field Element(0x4abaeb42c9a4fedf81e5b1d6cfbd6886dbc45f362d8df67c19f9f6777ea2c58)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 2183: Field Element(0x6ca3f9e8df388a6f4676f36453150fdbfe66a2e7ada7a6bc2077f7b662c9bb6)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 743, Column 6: Field Element(0x30b00dd22ae4496dd5e1eac9a329bb8f7343639d12179280a0e9dd99fbabfd8)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 5950: Field Element(0x51463b166bc5265cb00a7d8b4e44efe63c8767c95cde35d8c5165d40c71bba8)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 771, Column 6: Field Element(0x559ac323db39d1624cc9d8307841c10f3d0d348de9d987fb61be272f7da9673)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 6174: Field Element(0x6c1d39ac81630a670499a52aed65a1a5e3a07d2fd97e8064292a4ddd7bf9a6b)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 808, Column 7: Field Element(0x6c96eca0c09317527214a4c2c3dfeb7a2040848b69025b83d2f324963e84875)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 6471: Field Element(0x3f5d426e4290937afca9b4c9f16dd233da770efd32985f0090f06dc1d30bdf0)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 897, Column 2: Field Element(0x2544b9b65da300a45eccbcfe38e51339871b276ea7130e0cbdca5235f5986fc)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 7178: Field Element(0x6575c8b7d71ec2fe11f990c07a3bb1a1f048e45b5224f555898727f919bb16c)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1169, Column 2: Field Element(0x494abeb99edc8ab698b6843466835cc634c7a9f60deb85f8711c742a4573634)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 9354: Field Element(0x6ec3a91761205412cce4cae141825a8a5a5de264acc2ae131fd72dfc086d78f)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1246, Column 5: Field Element(0x72a89dcdd27826a08912d2003d7f79e949133f58fa20c97b08b25a5fc04049d)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 9973: Field Element(0x373ee3dc62b139f157f8d4c285f19fb31dbe55a99ed52e70a996eefee13e9c4)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1350, Column 7: Field Element(0x4fb8280b2333f458995c0c13c41dbb7249622cb20a060e4347cc815a3797a5f)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 10807: Field Element(0x6de564aa558946ccd2e0a9ce48215c4dd4f251a46d899176f8dfbb4e79078d)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1429, Column 6: Field Element(0x763b86bdd609a6516d55ed892b5119694d84274fc5c4b30a6fb436f5db09f70)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 11438: Field Element(0x3e63f7fd5df2e0250f08c3a8471044f4afbab3e12d7e0297622de193b3af4c7)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1474, Column 0: Field Element(0x33c3ebc1020ea1371452cd599fc06babe192051cde361e52f2a89e45f018596)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 11792: Field Element(0x223241000e5aab104c01a34653961de865e5ecc5837202224bc9b0fb2583241)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1659, Column 6: Field Element(0x4eb3d8f8394b184c92ff82a9d0f0c8c7dfd6b6a5246e9709afc007da70b2c1)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 13278: Field Element(0x62f980d505320a3451333525fd34cec7af87180b5ee9148bedbd8511e4d867c)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1678, Column 0: Field Element(0x1ec47275a1527266a696e2558159da81e694737a8ac40f6e7a084bc02463f53)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 13424: Field Element(0x4762471889757acc9317b77911e651147b9208527bfe48762ad245f5dee8d77)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1708, Column 3: Field Element(0x3188e79b6d1775c910076b0d1ae30e1ef786c9e5f46c7a759828c2a94dc7150)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 13667: Field Element(0x39438780bfac23c9e8c4d0bd72ae3374b11ebdadb87f3980a9ca74c4836191f)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1800, Column 2: Field Element(0x2be21bff233d0ba67d7ff339f9728b364fabf2b19820b46cb75b386d0ef43d0)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 14402: Field Element(0xffd5dc02b1f7189d6a2efccd3dacd07a58a7b4c7b5b7fe360a18d80f947eee)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2048: Hash(0x000000000000000000000000e695a8ef610abc72a10918da730fcc596e3bc6f2)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2067: Hash(0x000000000000000000000000b2b61d0d523c0ef7b0770ed2e01a99ef1254410a)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2087: Hash(0x0000000000000000000000004abaa915c57fbe357501743237afee06e04bc60a)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2320: Hash(0x0000000000000000000000009751ce6b693943ddb805117d47dd0d6a1753e9b3)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2791: Hash(0x00000000000000000000000000969afcce29a873d2bf5aeee795d3ed880b05be)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2819: Hash(0x0000000000000000000000000016abae04230b4955fdada41aed011cabcf53ac)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2856: Hash(0x00000000000000000000000045776e0bb3ec56a13e47799da9de0bcb82c1feb7)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2945: Hash(0x0000000000000000000000008badc445e6a7c58ee8009fda554b750b309d2368)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3217: Hash(0x000000000000000000000000d40576ce4faed4b984acfb1d67d02d61d6a7e319)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3294: Hash(0x0000000000000000000000003b43bc1669edc9fbcc6d66fba5afd20d3a5a30d1)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3398: Hash(0x000000000000000000000000aad69180e8f40ac22f7424dce669b965c2e24599)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3477: Hash(0x000000000000000000000000824ea4485cb2062c7effa7e8dcc4162708150ec5)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3522: Hash(0x0000000000000000000000008b09f4aab525a7f5a44ca48c68aa9718eda1f197)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3707: Hash(0x000000000000000000000000d5cd7684a884c8277c06172a382d306d0f23e864)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3726: Hash(0x000000000000000000000000af319dd1a3bfecaf454a4b2cdd3d873d22992fa1)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3756: Hash(0x000000000000000000000000be68829ccd44431dd01dc0c9ac48ca1456a6095f)", - "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3848: Hash(0x00000000000000000000000050c8be1f5ca84ecd13b2340794ace479c8dbd6a8)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 0, Column 0: Field Element(0x1bb279cfb2037eeb740ce53af0e96cc1bc410de7564c2ca4efb6f5dcd6f85b5)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 0: Field Element(0x1)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 19, Column 0: Field Element(0x4705a187c62cbe68b68987af3df39efefff161e4f4c020106d4f0dcbb4de81f)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 19: Field Element(0x35b01f2f03b33a0e6416301ed24191cb5b5db5ad8831dda32f035d1bcc1cc71)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 39, Column 0: Field Element(0xf028f007a2facda0492d14dd6ef3cfa2a1d8200ecbfcdea8bfdb29a9bc16af)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 39: Field Element(0x4a44b0df399815cc4b2a4e3c2f8755f750774e2e9ec857782aa7feba1d98b1e)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 272, Column 0: Field Element(0x525bea55796cbc791b84322f7921f2e7d33a59402901ce57a301213fdb33cdc)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 272: Field Element(0x5e1c9fc3ea2f99171dcfef545d3d43064ff5843cc60f78b516a1d8825636cef)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 743, Column 0: Field Element(0x7eac40634c0c68940fc575f6d0396650c44831654fde851590d524d815a312c)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 743: Field Element(0x5729d841655b95574489623516d9485029e7b070bb47297743b0ff806511def)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 771, Column 0: Field Element(0x44ce697515de75ea1b04e0664ed68aacc7105021808d70fbd3b82ab6a93e795)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 771: Field Element(0x57a1df96773e509490918421626917b8f20ad3a0402d52232a57bfffabc0231)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 808, Column 0: Field Element(0x38b9c10e3383fb8d630a39fa16c62a67859b9821b4e84369b01968fab5a9f7)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 808: Field Element(0x5c72bd9bfa5096d5215915f7b5df86f9b948ca205cb39adbc411f771076fc4f)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 897, Column 0: Field Element(0x738574d4501f09312051687735dc7ab307ea929a105def924ae2b30cbf8eee8)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 897: Field Element(0x3aff13c6dccdb1e34f4ea6af9eaa1f62f69fffd78f39876df76538d8d852a1b)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1169, Column 0: Field Element(0x29f22efc588d1627e30dc4eef26688a9748bb79c86e7a3338124b76309c3660)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1169: Field Element(0x6f41c94d91a34dd100548f1c58bfcf27cac54c468380d5ccf2c0eff357f5428)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1246, Column 0: Field Element(0x11696858a87572fa73c21edc604f2a32d3aa37a5003de73f0aa134d32a5f8ec)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1246: Field Element(0x5c0da121cff554a369c15a5c10fb6258cd2f11462dc3549d3141109555064f3)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1350, Column 0: Field Element(0x39ad587908fd2d30afe82ab2ec89dd6052018ea6a9bda85646036c78e111de0)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1350: Field Element(0x2bca845d1aa6846b39661b35d6e3484487041076f9a82dee2e9f9ece4f9b883)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1429, Column 0: Field Element(0x56ebd6b1283e242ebac29c0d193b9abc0090c0706ed5b57cc9120656b21c755)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1429: Field Element(0x4e29d1f3d2460949ae15ed1d55b4af3d7f99571da8adbc9a8656affe1fff5dd)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1474, Column 0: Field Element(0x183790ac7acc52f6689fa5fd7c44f9ce80578b8ab9387d5432847c286d208c)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1474: Field Element(0x19e3c48f1924ba1b61bd6b38ebdf3d506e62284504059d70bd97c0baa7e5b04)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1659, Column 0: Field Element(0x699eab7f97ce1edacfdc54287b228a46271180e1bf6bf94b31ba1e44d2d0e4)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1659: Field Element(0x69a44dc2bad42e6ebe9c0580922761ba214704f371dcdd875f4ea0d7780b118)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1678, Column 0: Field Element(0x327b0e0c29af3c025c4fc39a1a9d5ff999570a6e86b773cc23d44144949114a)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1678: Field Element(0x654b8ee458f1d3442f817870a8e0dc5e05fcce43e9df8b0ba1db3407cd41b9a)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1708, Column 0: Field Element(0x2f860b1cb60dc680b63dc7ab2f739957d5cb61abcfd65054c3f196e3f6f732d)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1708: Field Element(0x7065189c47bcb28cc291a064e64538f8fe57da849e3dab7c2cdf0268318725b)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1800, Column 0: Field Element(0x564b3b74c66a81f14cb0328f30c1db615f32f0b13630cd165ed5544095bf43a)", - "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1800: Field Element(0x7d4e0aab2505e1db495b1a3a6d589f818e1ff08e063be361b3aad38136feba4)" + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17618716: Hash(0x003cac1f9daeac1add489f2589688f993be8a62acd9b6ad41f84a42406e2e53b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17759837: Hash(0x00cd16498ccddd410fc52d012b82c008ff8fb6f8d1cd4eb52b3ccf4f289f13f0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 18833228: Hash(0x009d0318eec388c6143fa466b6fb787f324a5a485d29a1cab0120220d3a8746a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22597774: Hash(0x008916b1794dc8a7869ad82a17a57fc0c8523ddd15dc42fe59d9209047176e70)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23721689: Hash(0x00743343d7bb143a64f47e14e27ad217a1372a6400284c0d0af61fb0d32b2731)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24207088: Hash(0x000440280708bff8cb8051286350817ad3163f820b481d2976d469548d3d020e)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24885483: Hash(0x004aae0a7c7f20c24017248c73514b88080226197cc0e6a17a8938411ffa88ce)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26076385: Hash(0x0060fd8d338eaac9c1e6604c79424e64d3e8ecd7a5d749ecb8cf994906813779)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26558224: Hash(0x000c8770ef658fb0896a8c2915d38205c75e201085906396ba8b240fa6458fc9)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26759607: Hash(0x00f04509619a2026a42fb86d4a679af7b41fafeac0ffc3f1ae6be465fe02bbe2)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27327461: Hash(0x003cd626c3089b3607c9d084491f52f39a1b561dbcbf9c02a4c8048f688b18b3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27575397: Hash(0x00dac1d00690288ed2cbdb5df1930dafe5ab3ea11b4df40cb96c608a81439686)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28927110: Hash(0x004bbe097393fc0b6e18d0a66ed295dbcc982a940c73cfe552a4151e26e91b50)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31002259: Hash(0x004a17a5af8ae0a1cb67152f28fa60d6893815c0083639bd44f46bb83eb1c391)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32389594: Hash(0x004971df7079d46c447d6cce25bc87fd377d8c73e260fd75485364cb083d7591)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33023190: Hash(0x00fd17a129a547a6d11898fbbd0af2ef2d61ba830e0e5e39b5837eeb177f2ec1)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33144135: Hash(0x00e10e678c148ffe86a73482fdae30747807521dc6d6f5ae9ed3fb60f5c444f0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17618716: Hash(0x00745560103a1968d0aee84f52d04f7efe3e570ff1182bec1619ee490d0682c1)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17759837: Hash(0x007a0b067be7cfbb6ae839862f671504a33c410fc9b8b1a0c4df359f0e456305)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 18833228: Hash(0x00f284af453b0546a94c72c71c1652faf432e01e03ef8a78448c9659fcc46664)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22597774: Hash(0x00dceb3cd75e82f378485451446505d936276ec358d33cebc7d6bbb96e2acb4b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23721689: Hash(0x00934f340964a7a675db62b959972413da0accc6190ebb8151fe92b84c38b1f0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24207088: Hash(0x00784aec651cd1be284b36fb46971bb3992b679919545e9adc66701702134fe3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24885483: Hash(0x000714c9b731682cdb22089458b234a6db715e5de349908fdaf17ffc061ce4f0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26076385: Hash(0x006450ef1c8e8ad4756f03ad1691a654ac20c49021ae507c794447a7c7cc0f2b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26558224: Hash(0x00a07c7519a0b6f0fa4c69f2d78054f6b43ceb4d6adb2f7281dff3fb366d76d4)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26759607: Hash(0x00169301fcc34b7b884265b5cc1d8cca44784d6ceaf74c997137a130cfab4702)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27327461: Hash(0x005b9126fa43ad2b0b6256a1a6617197cbec58569fb655db29dd8b2be6e0ca72)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27575397: Hash(0x00051ba25e693adc989965eeff225abfe4c82f7cce40c2d52ffb8452d380ec3a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28927110: Hash(0x00d5bb8d6ea19f66a184f375c465b649b6a567aef81b1f8e4b9ea97f489d663b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31002259: Hash(0x0017dd76918a456cf5efe70b8d50fd558abe4083f31f1ebac7542ddbce8e0b3d)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32389594: Hash(0x0097bfd09fe99736daaad03b6a77392d16de155ec699c2de2a0cc046e8940cd6)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33023190: Hash(0x00457ff8dea3ba2b6ad5be48a6cd817f027e21c175f751437487fc8e027323a4)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33144135: Hash(0x004c44152afb78bf24867b0eab542eac20386e3e9c8dec9e881c3eec27c615b9)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17618716: Hash(0x005f3ea2f1e8d286db049ce08bdd3bd7484596bc66644e7c31b0dfbce7d05673)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17759837: Hash(0x00d2b4ee8ba8ba03e59df208a7760d149a63b8cd69096f49d7ddca2d7f13fb3d)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 18833228: Hash(0x0053c72187e4ca71ae89bd4fe90833e830d91e2d23ab5bd38d2458bf0c2067b0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22597774: Hash(0x00d2735751ff6513dac529352cc9d26b5129ede8419e41d8392a1c484c148d4f)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23721689: Hash(0x009b8dea2a4740002952be868b1c7a05864eaf7e3a18737ab792362b43b67adf)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24207088: Hash(0x00b28d29cb7f6dee586c070ec00c87a93485401c2e601376fd7b2a9f7d8d7a8d)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24885483: Hash(0x007e7caffefcfe807ec30103a43edd4b328a854eb76b66ea24a257faba1018a5)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26076385: Hash(0x00124a2b4627f691e21c53b22b81fff956058eeb51bdabaf1ddc449fd57bb26f)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26558224: Hash(0x00bfe5e432c897a225b98def551db185e0480c5c915992d77c0ab678a1c0a93f)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26759607: Hash(0x0035f3c179422b0fb83d0e88cdbda34e126019ef40f045c724901bae1d3300d5)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27327461: Hash(0x00eb5fadfc35aed70ca7d65c704d537bbc9e994da8f95f45d753df15eb8d3791)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27575397: Hash(0x00d5e8ea11829aefd9e8e99df42991f99ae14445158cb3792275f0492ef28453)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28927110: Hash(0x0032f0a79019db430409a088e9e0494d7a7004073abcfdc08f3842d59a8b891b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31002259: Hash(0x0034b22120dbd74980b2bea9cb8103e0769820c281f80386cc481b489b40da8a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32389594: Hash(0x0053cb7533d2364c5b756b7a9407ecb588901c3e3c904e3c7ce97ab7b1a2def5)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33023190: Hash(0x009e12d92d7e750dfec93b9b2d713497018afcfceadf67a6a010873b37ff0ab3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33144135: Hash(0x0075c45f91c5affad96151c3a184013f3cb93e2d937d3a266ee2a4ba60c2c618)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 52593, Column 12: Field Element(0x3e020534e7b211392e910e87180c7e25944c48a547bdcc060847e2489525d11)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 841500: Field Element(0x37ea736155e51c6b17fb5ec7fda4ac367bde39a3d3896fd27cd1a11c4cc47b1)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 61413, Column 13: Field Element(0x2a9e5d08ce08a7adf94cd0ce4973799125129263a5cc7ebba8edd781ad7924e)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 982621: Field Element(0x5a8a8c0c9426adc5cf248fe7c14fef9b96885731804f3d909b1084af43729c)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 128500, Column 12: Field Element(0x7bb3aaaa14a6583ca8e9103db1558d42a9195b32bf0b4751558449b14b5c454)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 2056012: Field Element(0x5d1ba63726407a7a6331be6991ba95762720805e34b28c5047aeac2236820bb)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 363784, Column 14: Field Element(0x75f4f8099bebd893f7fc83c9ad9564293bc1a1519817c8e2f8771348f73dc78)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 5820558: Field Element(0x292ab6c1b2b9115d03f56bf9c12da2926a03a78ec48bba99747193c214eebed)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 434029, Column 9: Field Element(0x344f2717df9b520264b9981910d0515d427a4163f274fe89f2125577a182aa2)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 6944473: Field Element(0x76df9bef14ceb8f8a452bb738aab40bee8703c11048ce6c4762ee787c88450e)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 464367, Column 0: Field Element(0x572be0df4f4c08f465a3ae5c21ea9fd35ea6f1744a2420f6f34d6144821b4b4)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 7429872: Field Element(0x3ce9b85fad996a6abdfaec7cc491782794569596163f6fcd98d6510002bea0a)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 506766, Column 11: Field Element(0x3ef9b61c1c5a778ce45569af81ae75a1a245d3d8d93bc69a4b61328993d5025)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 8108267: Field Element(0x2452de884faa13b23df54d93b5f7b1d3b8ab4fbcc4ee398f58fcde02a0e66de)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 581198, Column 1: Field Element(0x60fbc27e1251176c80931a61a0873ab65f7ab6f41fcd899383356781730a78e)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 9299169: Field Element(0x799f86f83253285ae1e5ce95577b5b9b48b70f68d56912a531ae82afae26f44)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 611313, Column 0: Field Element(0x30c45b87529cae62c3b3ad6e4092153c8a7ebf36b46a0fbd342f84aa8838792)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 9781008: Field Element(0x4430e4b96f1907a69c4be235d3ffe5648ad77e650665c29f6e07bdc7aab0d39)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 623899, Column 7: Field Element(0x1d23d13afec18a52e386ff371645134e3e6a25971a57c513e39ed89a2a33aa3)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 9982391: Field Element(0x59142f60708e43d39c77cbbf7ed00f6c5866f2ad8f09891b1cbfbfa7871fea7)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 659390, Column 5: Field Element(0x9bc000594acf579d98929313caa3c70acf4373356555eb4e7e980c238e0383)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 10550245: Field Element(0x2ceb34701ecdde6d914f4f92901716b7e8c5661e51ff0e672270bd35150bbcc)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 674886, Column 5: Field Element(0x5104b8719b565153fb304b321fe7d705126fc0e908b4fbf661a330504b0fed5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 10798181: Field Element(0x6891e8e8c8953b1f1c6f4283e7965b510436d1787d6aa176d4275128aef42ee)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 759368, Column 6: Field Element(0x20ce89587665ea96d838acdd3aaa5adeddb2dc43eeda2962954a04ea647c0cc)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 12149894: Field Element(0x4b784ae230f6d5fd17162595a327fc3f12e9c947e14cda19b357c96323eae70)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 889065, Column 3: Field Element(0x2bade5bbbe4ff1b679bac7bc1c044bd809790b98ceb198b1f47db66e94bcdd7)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 14225043: Field Element(0x1294882435edbb81a77d43537ac6c420f38ecd72f541fb07159251c80977615)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 975773, Column 10: Field Element(0x15879821a639f266e6185df183ffcde621e52908722bc6a2b12739eda7c2386)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 15612378: Field Element(0x5a49286327e4144f39a683c8f2ee62cdc0819e2beaaeb420342d4c266dc600b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 1015373, Column 6: Field Element(0xe9e2772aba8714a37110aa30915daa3d7073d540a72939a6c1ddd31b7478d8)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 16245974: Field Element(0x265059121d77c63b1b0985d79d52dfac7d23850351b7eec649ac3577e9d1aab)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 1022932, Column 7: Field Element(0x43b508c283e0fe8ffc89f749528e8e025eca0d9f7b10cb0d0c67b5f822f6b2a)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 16366919: Field Element(0x4f231547dbca3c512c4ec91cffde4ee6077496be2c59147cc42c9b0dd60dbbe)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1101169: Hash(0x0063a754c2036aeee891d9a1d9035753af52002e8ebe492acd3d672a85835df6)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1109989: Hash(0x00764919a49eb5c4fcdbb988d3c9edeb15cb5c99ad1521ca7453980f42e33748)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1177076: Hash(0x00eecc265f16e03e11d0a5c5c896868d5bc1eb7cc56459512fdd96a403ea0e8f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1412360: Hash(0x00f2cd951d04b3302c8b7b4717619881234e9f9f60c4e3ad07994dfae7418b74)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1482605: Hash(0x00780883477927b76fa97e6cce3e6969661b09ea55c204f3329dd2b91e315ce3)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1512943: Hash(0x002dcd829af1b569737956efa163caf96e76a3298e23a02778037d5ba85c171d)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1555342: Hash(0x00ddc36f5b8003409a189c6d3326f6351b2856317dc5a3f1579b4a393516e75f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1629774: Hash(0x005f2078dda18b59cbe3630b7fd548ce8a4dc3d599db16069da82ca38ba20c6f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1659889: Hash(0x00ff5ed8882337d2a334f03a135175139cf4ecfaeb9a682eb1734b7fe0782ab5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1672475: Hash(0x0063088e02921a7c2d2b8c3a7a4c4031296dd8ff303d9705616223d150c99db3)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1707966: Hash(0x007605517e8a1e735ca0bfd5fb9f2daf8f14cfddf0f0339e9a5be2c09962c762)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1723462: Hash(0x00ea3b47a178c00c43b3df5e27d53e124eb415580cf181750c9b6f0bdc3073d0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1807944: Hash(0x000bd7c629302e2bfb91ab9b5502d3841fc35812fa1e00d22174e10062f5dad9)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 1937641: Hash(0x00400da8e862bedce5eac7f7fb8d277efb1694d0d014e209f64a1d676f485abc)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 2024349: Hash(0x00885517df342ed65915d33f5ea20207cc0c8aba4bc1d7b1fd30bc6b438d446f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 2063949: Hash(0x00add88dce2796fc0a5005f5750bad80992f42a92c94434b5070ad821960e6d5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 2071508: Hash(0x0048db6759fd8ef77ced8d705b7ddc169cd1c3b634278338057f0cc0b3481906)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6574, Column 1: Field Element(0xf6321a420e25ca731cfb93bda0b009b17f45e4337ff8468a64f44efe5da12e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 52593: Field Element(0x641b966e3bc2498101cc8af9f0d7e256a9e8c14f6a998b3b3d7c39ffdb77c24)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 7676, Column 5: Field Element(0x6cac155b6829d8483d671ca765537c3b0fe95b849b90c7a604e987cf4872a5f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 61413: Field Element(0x56b0712a1b5f74e5d9dc41b65269b45e1b316638ab9ca9a98e8a402661edbe3)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 16062, Column 4: Field Element(0x643c1470de9049f894a076a096ada087c1169fd2a8b6a372d1573e5b0a86773)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 128500: Field Element(0x3f92bdca813c3526b5e2e18dfcf69ec824ca8e47a8476d0ccaf2b7f1f550802)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 45473, Column 0: Field Element(0x741b7431bb4950af7e1c49be51edcc8f03a00158c7fdbac6ea0766111b6ec4)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 363784: Field Element(0x72c74f435c17bbb12a7554365c2429d6a89dfba89a9c9ef8eed83dab20b78bf)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 54253, Column 5: Field Element(0x5876f5248908ff9ef1c82300c0f6f543683d2cacfae6e0a1dd0463c37c882c6)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 434029: Field Element(0x1c66b53d8e5d7a48d3fe29f224915f3a974de234727298c1e3d5c4cef6fcfdd)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 58045, Column 7: Field Element(0x39371e148c699b3f1571cd11ebd225adb8f615f997048528fb21cd86cae91fc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 464367: Field Element(0x3eaf514d70747a54337245f2029e88fa9dd43349f5dd8a2180aab0923483842)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 63345, Column 6: Field Element(0x14f74d750cf4a5407ce96b5c54b59059510a0cef413fbd8515752676bdca20e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 506766: Field Element(0x52c4050955a7a2ead21c8beac601d29cd841e7af20d4f2496b4486ce8b1f1fc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 72649, Column 6: Field Element(0x7d5193a5ef4f339f895ffbb7c98c22f8390d2ad85fb30f9b6b908888e74f3b8)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 581198: Field Element(0x1acd0bcb2ec2f44b27e1db52072dd8a7573653e23d974a1c5cd2637fccb233f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 76414, Column 1: Field Element(0x15dbae85fd003c3df0e45e3712faf899f257bf23c7750f9e7e6a7e85560763f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 611313: Field Element(0x1ade02dedff439f90fecc50fad2d8d6f07c1ddeb3d2c96a6014ef3165797589)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 77987, Column 3: Field Element(0x11b287c25aa9736a10b3e64605c927f0b70a291c681cf04c76a8af47c1551c4)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 623899: Field Element(0x23743cbb64529b5ec1170ebb758059ba325bdcf49f731610b3edd2e677a0653)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 82423, Column 6: Field Element(0x5b27da77443a65a0c3abfb646270a49b4fae583ad7048b38eedd22110e027dc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 659390: Field Element(0x206421d6a73d2c5d9e0f6f7d09226e7335d60626448233a4c2c0616b7388620)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 84360, Column 6: Field Element(0x34e85df9c3cce7ae7c3a02ca8e8ac9c61b46d68849ab409849829590cdcd52c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 674886: Field Element(0x251be4904ca30b6d7a475ab98361ed7785c24b6dc0819a03613c302290949d1)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 94921, Column 0: Field Element(0x3a319beb47c79b957a4575a04f4e1f6c7189093ab65e472118d774c777c0d94)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 759368: Field Element(0x200324a6ab7e99ae65492afd7d0336ac62a377252d1bf351354216a118ae1e8)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 111133, Column 1: Field Element(0x706cb5358688b430fcbc65f145230318eb0894fe4169ac3a9feffd3d5f5adba)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 889065: Field Element(0x2f76904eb07eba8937b354f8ee0c276a187469e8bec7a476d19c19c575d5a71)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 121971, Column 5: Field Element(0x297233f19217a1a05883adf7bbbd971f9880f670653c1bbda74a504f8bf5f52)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 975773: Field Element(0xed553995fdbc77d0398df4c563249f17b209755ecd1846355d0c3d1d6a5e31)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 126921, Column 5: Field Element(0x5b18d1c4062f4218c6df1f37455c72c6236fb9e968dfe621c9c8db9a5304b6a)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 1015373: Field Element(0x7017d25e1032bdc030ef0c84f2bf95604a2a6955a4a357b8214722f0bcef3db)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 127866, Column 4: Field Element(0x70a8cefe33153b0cd01b6978aa6aa506ffb41502864d4fcdc26c3aefa9df027)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 1022932: Field Element(0x6a391a52363c4428bde1276684f30388203262bde9a369adeaa8360f28e4897)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 137646: Hash(0x006240f919ab01d61470f5a2d0adfae0978e88977cab213cd15df9f00b71f863)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 138748: Hash(0x00074d21aee4bc5bfb50014215ea4b99c0218bcc6d3626865d9364873aca284c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 147134: Hash(0x005d6728fef5863e4a44a3e5c4f4bbe1845f5f286edc6b0ff343b24671550d29)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 176545: Hash(0x00a397b9c099772ed9a1debe6742db81d44855d76ef070121366fae50528a9b7)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 185325: Hash(0x001686e361f52121c2579a87503774b251a0f0aa805ea0d9c70fb1b7ab1a7bb0)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 189117: Hash(0x004445aab2bb358f443ad60fb2e904b556e68efa0c673570c4d7705e94316912)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 194417: Hash(0x001004a1a2a4af6662402708bd4804adec89e792df5c9fa5e2adb832f723c541)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 203721: Hash(0x00cd67b7fa019c2790946d130128fb2693054f5b5c40da972a446c5add7aa982)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 207486: Hash(0x00c714a95a5ab514925807ade614b8e77950b662bbd892281aa9ff90d82cc34b)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 209059: Hash(0x002b7ecee9778d63a5fbde45ef22260b57b8cf5286e354ad56128cf4a8a3c90b)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 213495: Hash(0x007b35f3b29f9b4280f6eb8a149f05a6b262caea64df4ab423f90d5c1fc72d6e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 215432: Hash(0x0094a0b26c9e4cdf11d6ca657db10ea21dbb80316b3f612a48bfdbb4251e5a52)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 225993: Hash(0x000bb431aaa7ff1590f24e3b9a1ed6c99d3393bf827eb2b3d3c9c9a889c37c8f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 242205: Hash(0x008f524415a20ce9294e3a760dadd38883232de9653a9840749effa929865eb1)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 253043: Hash(0x00442a4183302c07987754bf987bb94583d606245688bc6feb8dc9dca6d31a85)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 257993: Hash(0x00e76c99b9a95b462a350a14f3f562a0a4cf700ff425b7fc17e487ba0f519bf7)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 258938: Hash(0x00023113b63ef2a1a0ad8c439cc97453089db438fd3f5c09d78ca587de5a32f7)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 821, Column 6: Field Element(0x1eaa0ca0cee9e63bcbf6baa1ce934646610f36fb9f53b6fa2803f6e4caff2ae)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6574: Field Element(0x5d97ecc2e552c3bee9e0d2e66995428f3548f6331bb93810b2746c315c1d300)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 959, Column 4: Field Element(0x10e1a958304b58b750f57818bc969c78a6fbf3ae57b6bdd63f96a3a235fec34)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 7676: Field Element(0x1500c6fb935a175ddd44cb40b4cc06668e5226d0ac0a0772a32c8e9dc098637)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 2007, Column 6: Field Element(0x47564f275c4246489d9792a377bfb5b504f5d6fead2e4a93dd088521fa19afa)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 16062: Field Element(0x7aeb450fd1e41f4dfb35007c2f422e894aaedf6e83d343eedffa3f80b317358)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 5684, Column 1: Field Element(0x79abbe9f716142594ab2266fdeea1c984b4f878e384941d53e412cedd3c515a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 45473: Field Element(0x528d6d3ed881cc7b97f2622100d27b2bd165502dc23f5d8d86d323dc2e5de0f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 6781, Column 5: Field Element(0x6d8e59926ee4c9b0c19d5c064f6e06ef0ddec3c4357b72d44d7964169dcd375)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 54253: Field Element(0x27afa35d6cb09fb12d16adc76258e1a2620ddb604778023a903e66a31d3f1bc)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 7255, Column 5: Field Element(0x6e64473686c2742d4850e0dc4e5df13d1d1f2ed6626d5d457fb9ec32aa0702f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 58045: Field Element(0x11eddb1c371a8832b69986ec4e449acdf96c49ce04921f64f46f3641908decd)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 7918, Column 1: Field Element(0x56874d6407448f3883244be4093153d6b2a82d40ca1f49233991c69ab92ecbc)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 63345: Field Element(0x5a49f3c0a25d28f887df61dbc418c43daef140c2bc282d0f4c42eddbb829d7c)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 9081, Column 1: Field Element(0x27fb445c3dbfd7191b538f8ce142a2dd27cf3fed8ad5bee41dd959fe7f2b05a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 72649: Field Element(0x3bdb4c09ccc6248a27fe7199ad8b52988ef2c82cb72b98b9e8f44bedf027ee6)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 9551, Column 6: Field Element(0x2c1891f6966cd7f1f1405b5d9940e8d4947f6a2405e33d86b79b841965c3283)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 76414: Field Element(0x338597608d91517b77d6fd5ecc0b25acd25d8a5017c1bd8a97989bb41d64a9a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 9748, Column 3: Field Element(0x7b9abf53129e12af6c30aa4583c0302624d8768af277ab07027835d37a675d5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 77987: Field Element(0x4af1d0d0f16ac26ee86e1e9ec1b6fcfbb65b6f28a19850aea5653cd33a11f0f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 10302, Column 7: Field Element(0x1a5d5cd2f001d3cfa6b69513d0c4cb39267a99d90635fb385d4dd460f93f5c3)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 82423: Field Element(0x1309a4256586ac645ffeeb36b05576ff5c01092b684b74f32ce7ad475bb208a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 10545, Column 0: Field Element(0x2c8cb768534517e0de447bdea97bdc7ae5423306ca84cf94a78eb48730077a5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 84360: Field Element(0x4ebab6754fcb6fa9b393d637987b7f05572972aa9519f780c5802ec45bba8cd)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 11865, Column 1: Field Element(0x7d05960eb4c3f89c43bdee4ebf7c3fc062c5a7c533dc1b74f84e40e012577a4)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 94921: Field Element(0x42adde8dafa0bca70aeb4c0870da85c3b97c733ed2b55ac192916892d378d68)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 13891, Column 5: Field Element(0x5b676ee38e30168a9a7c5b765183b618ce1e5abf3a462c045b7461b0e0fdf83)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 111133: Field Element(0x794b03cbfdc878e2cbbdcd90cc11844580779d5f310197aa9b1b44d622f2fa2)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 15246, Column 3: Field Element(0x2a4e76da3bd6107521facae481d7f1153a9ceb9d85dbac6a4b0d4c402114956)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 121971: Field Element(0x30cd5f60aad7f48ae48b064a6cb7e380bb6f9c0ee1ed3851a57ccad6bb2e03e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 15865, Column 1: Field Element(0x7d6d9976b3af3c68bcbe9570d6f204b7ede35b3cadf5fb263b7851a5f527e55)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 126921: Field Element(0x650d58182453af99f12f6b125dba742eb6ead72107245e3c9895a9e2b94fe19)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 15983, Column 2: Field Element(0x42127930bbfcc8be8f745b29485e8ba56e65f8724b0bebbc5ad608596fbb553)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 127866: Field Element(0x2156ed5915c3da2aac5bd24835c4790a5f8dc2582b2d716c04baeacec47616d)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 17205: Hash(0x00181fcdd6f61768107389671b650bd77e62047f80345f7a60ac96d9ace62d4a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 17343: Hash(0x008fc508f86cebd56d229dc51ac44b9a90d529795f5cf3e1f5b91d108c40c2a7)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 18391: Hash(0x00dc17e6073f1ecd6d005b17bb1b2bb8a83c02db3659af525c48c614bddf9d2e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 22068: Hash(0x008f762ba7d529fef39b67332efb1dad41b28462175ccdcf607fe67464dcf82b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 23165: Hash(0x00437b26b7d8589edaee91eac0b4ab19f525f6c6355618fa07f8199b8ee69cc5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 23639: Hash(0x00cde97f19e729bd9c7e257bda79708d40459f25c618961e29a6e42ae8b624fa)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 24302: Hash(0x00d4bcf7c34c3d9000641e5f4ea514b8f8fd8df6917bb4d88aa6927ba8416b1a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 25465: Hash(0x003662333a5eb50513e8b87337756d534fb06813b316e2101427cf9d25a8991b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 25935: Hash(0x001e96861fb06665d8fe4fb85ce037479c66a0972b773df802c76625de8eab02)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 26132: Hash(0x007102daa26a344078e7a270adb72e40bc19b0863c56287249790a3eee704b21)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 26686: Hash(0x006b19e413c47dc9c2cc702f2e77aff446c7a61a11aaf8311e82c6b5d7f49563)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 26929: Hash(0x00588ef51d0d186f44b2b436ccfb22a06497a2c0b507f3d73794bc4efe542899)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 28249: Hash(0x00b88d720589659eafec640328e733e9e871a57697464ae60d5ab6d9dea1dcf2)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 30275: Hash(0x00c83d1968f8a673bb7fdfedc34f81851f45bc88202facdd78a68b03348c3403)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 31630: Hash(0x0019d6df004d061ede9e1ffc360075426366f3d3e70013e971b0ff8ba6450df1)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 32249: Hash(0x007b404d6d3a2ac8183977640273e4b66edd1767b83662ec291eb8f19b5064e4)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 32367: Hash(0x00a0974c4f93ca285bbaddf70d41702ebfb956c01ab85d8b11e00040f0599f6b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 102, Column 5: Field Element(0x23fd62b2080d3f1fa5cc3a20ab9f002305008ccb58c2d8f21a8a85b1f328324)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 821: Field Element(0x505600b327d65a0c42d6f629778caf27d59f21c0fb30d414d0d8727450050f4)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 119, Column 7: Field Element(0x595659ebc93fec2831eae7c6b7a1c06b15ef7e9bf84aea62601ac957f45356e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 959: Field Element(0x1a2c1cf3119ed6cc42caab5675560e315801b71ace01e162b7de23317147e5f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 250, Column 7: Field Element(0x1aefed76e5e9ef000735975e61a1dedd42872d3437971b01aff24d1794142d8)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 2007: Field Element(0x459a1f0520a88ce8fe68e9d2e11b7acd2aa1b388df8f19a85f66d5b9b883b30)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 710, Column 4: Field Element(0x6ff0bcd2b9d0a87d58e5143f5f47eeef7bae29fa2e25b4d95f2d412c01def5f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 5684: Field Element(0x2c899f02cd21a2fc132ff52edd6dd0d644f62e7b938f0fa507b51b13cbdd09d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 847, Column 5: Field Element(0x1e68d77b1a92f5d24f436267e1e817bc33473823c2a2909f8d7d9d4620e04d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 6781: Field Element(0x5a67d24569bc0c812589dd8a98d2b9df16181cda1292132cab8f1ecb85aa32b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 906, Column 7: Field Element(0x1432fa3771bd28e525d212589f9a41efcc661fc8affbb933209892ff45e69eb)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 7255: Field Element(0x202a036b83b58492b3eaf4e7b205cb12c9cf69f481e774ce86df88934eecbad)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 989, Column 6: Field Element(0x67b0ef1759a054bcf31b9870b735940941ce9633a3e93ebb9ffb282bcc2ebd0)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 7918: Field Element(0x203b4324386b2d0ee08d5ca4f0028467f299ca3618f230d5ab84c1030221a7a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1135, Column 1: Field Element(0x68e30faec4e38cd7eb5a6e7223c2cee1da5d75d59d127a8c6085a85b3674216)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 9081: Field Element(0x40ea7cf830db4d945f473602e23f3addfa1245b7b7d7f576791768437085ddc)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1193, Column 7: Field Element(0x2fa21fc3cef0a418d8bc814634739a10e435a11eafd67e9d1b46bc01568ca7f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 9551: Field Element(0x4257bca909a2e72786f7f420d758e6f2b5be654438c222947b2caca013b4f48)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1218, Column 4: Field Element(0x24d3311c2dd0db765dad3b623104e230922405d3f7b4c93e64ad3707eb99455)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 9748: Field Element(0x2972d574e1bcff3f11578d7c8205e9494574ea70e8326391e41ac83c9b8c1ae)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1287, Column 6: Field Element(0x763f7ff1603a6dc82dc90273cb5d2930f6dbdce0c1a6768b9daff7c9869c09c)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 10302: Field Element(0x308d8d1e0d740a6a684a7c7c92f5b752bf45bc369d737ef7185ae5aaf1c95e1)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 1: Field Element(0x2562f267a52b80b66971ed672193abd6f823cc0b74d21d2cbb57b419012e19b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 10545: Field Element(0x4b9bbccba7312c34fcf84df5e19f689c958f0d53d6ccc01e62bcfe867448eb2)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1483, Column 1: Field Element(0x279a10da55794d1a5b7d7018b49b784ef8d337c2e57cf98aedc1f1eeaa63935)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 11865: Field Element(0x57b78563ebd92fe2b312a6335db956c5b1f8dcc967f46b898dc8050a4c17fbc)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1736, Column 3: Field Element(0x1e7a601e36577d7e22fbe46803c57e898049ae20ec06d386dfbcb133885a644)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 13891: Field Element(0x2ad695bf26b28c559c0745797446cae71e33c250a1a819a5013f797907694f0)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1905, Column 6: Field Element(0x1e72179465f725cc29536578bdae2947497f5661f777157c10f3f248f15ad69)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 15246: Field Element(0x6e978bc47b0b2ccc665410928fc787d4b79e5f5657e1122b94fcccb9d950f0f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1983, Column 1: Field Element(0x1f97510b88dd854758662f4299bb4436682910de86ba31c8ac101907ee3b446)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 15865: Field Element(0x76c96adbd97329cfd1c5c9407a0bf8f0f2eca43d8054d6807c41658f664d29b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 1997, Column 7: Field Element(0x347255089f643d4090f0b95f3c15282bf151f90333117cd90f42d561ccff40a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 15983: Field Element(0x37fd87c7946f82ef75f92813e01414642e3cf14fe2f1c7803d3cca9d5210e4)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2150: Hash(0x00379aaa5c89a3a907ad0043e86aba52d5141c0cecc5b0b28b4b89b62b9c3993)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2167: Hash(0x00b68f4273513e9eb15cccf6b2026bf9b6293f92072c053532a0cb8293fffd45)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2298: Hash(0x00401552ca0b0a1a535a6c2eaa2a7a6e19100e462d2fdd5edd08edb593c5ea8f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2758: Hash(0x003efa6d339ef452e6861c59cc7b5e5aaf6c69336a83d7c698261a80d1b62f42)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2895: Hash(0x004aa22ebffedcf547878d8cfd2fe8f4f749c4745de2aa3e1050d9c3ba229f36)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 2954: Hash(0x00284ffe85c9b89660ba7f098cefda8848d68f37545f9aa4d4002b6506f9e872)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3037: Hash(0x00b693e7f566a8a242350d62ca2c2a27b91f46e0729d2f899e75577c8ee25b32)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3183: Hash(0x00f4984ad08dda62842615eacd3db00cb6e8c10208a61e0c981cf050bca02f1f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3241: Hash(0x00562cebc3b2a41a44ec41aa656dfddef49a37d3606af0a2e5e1f03d1e47f6cb)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3266: Hash(0x00a10ca401bd766055b91b9bb5419360e1781686b05d8fc7528818b3471366a2)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3335: Hash(0x0063818257787539fb1039dbe11f493af56838a4b57e84cf77be7d08eec37fef)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3366: Hash(0x00cddf44bbaaf68a6a78b9d4673d725db67ab97b967361301dbe149b151bbca3)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3531: Hash(0x00ed21a380906b7bdc711e94add8b208c63d5fe99c71e1532e8bb7765724bfee)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3784: Hash(0x00f8a7e3a8ec8f7fa05392b789cdd31310ed91ecadc1c52fc54bce1dc381e74c)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 3953: Hash(0x00c89e28e74aea02bd2e2d80885cdea129ebfd370b9070e5afc2e4943ed334c4)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 4031: Hash(0x0084517c8bbcc4f74e869aa2f0fcaca0cdf247821d9d8a6800e121d9540a544d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 4045: Hash(0x00731298fc90da2a4e94ba6b66f63b11f62b99a2c58410a1897ffdcfb1ffb08c)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 102, Column 0: Field Element(0x2b91c1721db5f624f2f4b5043da66ff9ecd61322614d51e5c894a39925f29d1)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 102: Field Element(0x72e325c01d2a4a7d273bf250cc7fe86609ea8efb4e966154aa31bfdeaed25fa)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 119, Column 0: Field Element(0x148ed9945d34acd5835780d00b1250a2322ff0730f7c83fa8ca9c30306c6623)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 119: Field Element(0x34e756b96dfd6d11e1abf6197ffdd1048805538cb63bc3ca9de77271c426432)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 250, Column 0: Field Element(0x13d7baf61ab740c5ed8e1e04e2ffa2cfc82102a44b0b9561c2648aedddf50bf)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 250: Field Element(0x565a0ae8e0b5ebe74ef1c2e8f35c0e9f0c3302bc09568797f7b81da378d8afb)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 710, Column 0: Field Element(0x2e0ec8fae62d692009b1153d256d3e30b9e4b7ae382515e7940d93fc55b4b54)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 710: Field Element(0x6d5003272a2d8b1bc5052bdd1a8996f344e085bd4d083cd7215091240f34a5b)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 847, Column 0: Field Element(0x401ce915f62aff6cd89bf822d98d65ec57c5937f8269c8896713c01bef00ca4)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 847: Field Element(0x533181254aab0cf6c63a95f96b254755ac5e0ee93fe097245a9448a9a04cfce)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 906, Column 0: Field Element(0x4d70841cd020267aaaf8113a745c1179cc890c24a675798937422b83be869c)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 906: Field Element(0x419adc0f03c9dbff1348305b2d22ae01b5329162e9aefa85ef52fe6f7505728)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 989, Column 0: Field Element(0x731b06545281d7ffbe3002e5b80fc5529cb0878b2c0934549af1e46d889962)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 989: Field Element(0x70db67a3e0d32c05ee4d501776752c186abbd7ddec0333e7d46208cc2530349)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1135, Column 0: Field Element(0xa3995004888bd5fad7df749c74be36050fe7728d292769e96e24f3307d7938)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1135: Field Element(0x35c2e080ea44de8d66c73f84dd89298123adf7d4c961d6230d7e31caea078a4)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1193, Column 0: Field Element(0x348822b7f61e6e7f17e0e732249591b32f22101a78cb5f5eaa6af5f4ccc064e)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1193: Field Element(0x324dd2b508f190e8fbd29fec48a8f5cbad178ef5301f64fb1884a5d34340177)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1218, Column 0: Field Element(0x29ee73822cb4f4ab0953d1802e11967b8a9aad1bbc680026ab7423a154912ae)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1218: Field Element(0x15726a2fa88016591d7627c99c31586b491ca37d73cf844949ac8636257a34e)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1287, Column 0: Field Element(0x4e5fd6ce5788e32f68d6019c0cca513ac067ab25c80a1d8c7efbdb86d046e89)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1287: Field Element(0x79f9287701422b8da7647fe907ea5595c258275b8aa376441284a35a75045f2)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1318, Column 0: Field Element(0x2988e46fdd9831cb27fea0a265827d9ed53e8dc4e0635764037510cfe218899)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1318: Field Element(0x4bfe5e249a72afb0e09059f22d70cd216806079cf243f5e7d4c6455f96d85a8)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1483, Column 0: Field Element(0x35f0ba1c35412078e3653124f3d694b119d7a20eb36df3d21fce52fb6050078)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1483: Field Element(0x9992ac8b26a13fbcbcc6bc300561abe9e3bf0a5c01d51371fcbd48c3ffde54)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1736, Column 0: Field Element(0x5b8291f6d49f58d298fc39b52c70c7860a8f25fb8d62bf4e476e246ce2fa1c2)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1736: Field Element(0x509c9454369193805b08d69611e46588021bf07bc688ad2061632fa276071c3)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1905, Column 0: Field Element(0x415fba38f8c4073a006efe2dd4457a7797dc8df72851e4b49ce4654631cadfb)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1905: Field Element(0x1769236d9b937e57e45824bbedb10c9367c63c1ef9bca407130711cb8b733c4)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1983, Column 0: Field Element(0x4b0709ae730a5841b828670f4f0b5e4a7d1209c3423d6f861b75fa246eb4627)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1983: Field Element(0xd597dcb58c7b19e54fec2a9cf30ca61d03bc44fd6351e921a9f6e5877d9bd8)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 1997, Column 0: Field Element(0xa37c105c6c4742a95dfe6ab54c76984ba512270dd83c05351c8093c57bc7d7)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 1997: Field Element(0x6bb50da5f4e94fe64c162d177a2a4c8d48e4333897e0feef8f9a2f61846c5ca)" ] } diff --git a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/autogenerated.cairo index 12684ac0..c5011e01 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/autogenerated.cairo @@ -3,8 +3,8 @@ from starkware.cairo.common.math import safe_div, safe_mult from starkware.cairo.common.pow import pow const N_DYNAMIC_PARAMS = 0; -const N_CONSTRAINTS = 350; -const MASK_SIZE = 743; +const N_CONSTRAINTS = 419; +const MASK_SIZE = 920; const CPU_COMPONENT_STEP = 1; const CPU_COMPONENT_HEIGHT = 16; const PUBLIC_MEMORY_STEP = 16; @@ -39,6 +39,14 @@ const POSEIDON__ROUNDS_PARTIAL = 83; const RANGE_CHECK96_BUILTIN_RATIO = 8; const RANGE_CHECK96_BUILTIN_ROW_RATIO = 128; const RANGE_CHECK96_N_PARTS = 6; +const ADD_MOD__ROW_RATIO = 2048; +const ADD_MOD__WORD_BIT_LEN = 96; +const ADD_MOD__N_WORDS = 4; +const ADD_MOD__BATCH_SIZE = 1; +const MUL_MOD__ROW_RATIO = 4096; +const MUL_MOD__WORD_BIT_LEN = 96; +const MUL_MOD__N_WORDS = 4; +const MUL_MOD__BATCH_SIZE = 1; const HAS_OUTPUT_BUILTIN = 1; const HAS_PEDERSEN_BUILTIN = 1; const HAS_RANGE_CHECK_BUILTIN = 1; @@ -48,6 +56,8 @@ const HAS_EC_OP_BUILTIN = 1; const HAS_KECCAK_BUILTIN = 1; const HAS_POSEIDON_BUILTIN = 1; const HAS_RANGE_CHECK96_BUILTIN = 1; +const HAS_ADD_MOD_BUILTIN = 1; +const HAS_MUL_MOD_BUILTIN = 1; const LAYOUT_CODE = 0x616c6c5f636169726f; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; @@ -7492,320 +7502,497 @@ func eval_composition_polynomial{range_check_ptr}( tempvar column4_row27 = mask_values[426]; tempvar column4_row42 = mask_values[427]; tempvar column4_row43 = mask_values[428]; - tempvar column4_row74 = mask_values[429]; - tempvar column4_row75 = mask_values[430]; - tempvar column4_row106 = mask_values[431]; - tempvar column4_row138 = mask_values[432]; - tempvar column4_row139 = mask_values[433]; - tempvar column4_row154 = mask_values[434]; - tempvar column4_row171 = mask_values[435]; - tempvar column4_row202 = mask_values[436]; - tempvar column4_row234 = mask_values[437]; - tempvar column4_row235 = mask_values[438]; - tempvar column4_row266 = mask_values[439]; - tempvar column4_row267 = mask_values[440]; - tempvar column4_row298 = mask_values[441]; - tempvar column4_row522 = mask_values[442]; - tempvar column4_row523 = mask_values[443]; - tempvar column4_row778 = mask_values[444]; - tempvar column4_row779 = mask_values[445]; - tempvar column4_row1034 = mask_values[446]; - tempvar column4_row1035 = mask_values[447]; - tempvar column4_row1290 = mask_values[448]; - tempvar column4_row1291 = mask_values[449]; - tempvar column4_row1546 = mask_values[450]; - tempvar column4_row1547 = mask_values[451]; - tempvar column4_row2058 = mask_values[452]; - tempvar column4_row2059 = mask_values[453]; - tempvar column4_row2314 = mask_values[454]; - tempvar column4_row2315 = mask_values[455]; - tempvar column4_row2826 = mask_values[456]; - tempvar column4_row2827 = mask_values[457]; - tempvar column4_row3082 = mask_values[458]; - tempvar column4_row3083 = mask_values[459]; - tempvar column4_row3338 = mask_values[460]; - tempvar column4_row3339 = mask_values[461]; - tempvar column4_row3594 = mask_values[462]; - tempvar column4_row3595 = mask_values[463]; - tempvar column4_row4106 = mask_values[464]; - tempvar column4_row4618 = mask_values[465]; - tempvar column4_row4619 = mask_values[466]; - tempvar column4_row5643 = mask_values[467]; - tempvar column4_row7178 = mask_values[468]; - tempvar column4_row7179 = mask_values[469]; - tempvar column4_row7691 = mask_values[470]; - tempvar column4_row8714 = mask_values[471]; - tempvar column4_row8715 = mask_values[472]; - tempvar column4_row9739 = mask_values[473]; - tempvar column4_row11274 = mask_values[474]; - tempvar column4_row11275 = mask_values[475]; - tempvar column4_row11787 = mask_values[476]; - tempvar column4_row12810 = mask_values[477]; - tempvar column4_row12811 = mask_values[478]; - tempvar column4_row13835 = mask_values[479]; - tempvar column4_row15370 = mask_values[480]; - tempvar column4_row15371 = mask_values[481]; - tempvar column4_row15883 = mask_values[482]; - tempvar column4_row17931 = mask_values[483]; - tempvar column4_row19466 = mask_values[484]; - tempvar column4_row19467 = mask_values[485]; - tempvar column4_row19979 = mask_values[486]; - tempvar column4_row22027 = mask_values[487]; - tempvar column4_row24075 = mask_values[488]; - tempvar column4_row26123 = mask_values[489]; - tempvar column4_row27658 = mask_values[490]; - tempvar column4_row28171 = mask_values[491]; - tempvar column4_row30219 = mask_values[492]; - tempvar column4_row32267 = mask_values[493]; - tempvar column4_row35850 = mask_values[494]; - tempvar column5_row0 = mask_values[495]; - tempvar column5_row1 = mask_values[496]; - tempvar column5_row2 = mask_values[497]; - tempvar column5_row3 = mask_values[498]; - tempvar column5_row4 = mask_values[499]; - tempvar column5_row8 = mask_values[500]; - tempvar column5_row12 = mask_values[501]; - tempvar column5_row18 = mask_values[502]; - tempvar column5_row28 = mask_values[503]; - tempvar column5_row34 = mask_values[504]; - tempvar column5_row44 = mask_values[505]; - tempvar column5_row60 = mask_values[506]; - tempvar column5_row66 = mask_values[507]; - tempvar column5_row76 = mask_values[508]; - tempvar column5_row82 = mask_values[509]; - tempvar column5_row92 = mask_values[510]; - tempvar column5_row98 = mask_values[511]; - tempvar column5_row108 = mask_values[512]; - tempvar column5_row124 = mask_values[513]; - tempvar column6_row0 = mask_values[514]; - tempvar column6_row1 = mask_values[515]; - tempvar column6_row2 = mask_values[516]; - tempvar column6_row3 = mask_values[517]; - tempvar column7_row0 = mask_values[518]; - tempvar column7_row1 = mask_values[519]; - tempvar column7_row2 = mask_values[520]; - tempvar column7_row3 = mask_values[521]; - tempvar column7_row4 = mask_values[522]; - tempvar column7_row5 = mask_values[523]; - tempvar column7_row6 = mask_values[524]; - tempvar column7_row7 = mask_values[525]; - tempvar column7_row8 = mask_values[526]; - tempvar column7_row10 = mask_values[527]; - tempvar column7_row11 = mask_values[528]; - tempvar column7_row12 = mask_values[529]; - tempvar column7_row15 = mask_values[530]; - tempvar column7_row17 = mask_values[531]; - tempvar column7_row19 = mask_values[532]; - tempvar column7_row27 = mask_values[533]; - tempvar column7_row69 = mask_values[534]; - tempvar column7_row133 = mask_values[535]; - tempvar column7_row241 = mask_values[536]; - tempvar column7_row249 = mask_values[537]; - tempvar column7_row257 = mask_values[538]; - tempvar column7_row273 = mask_values[539]; - tempvar column7_row497 = mask_values[540]; - tempvar column7_row505 = mask_values[541]; - tempvar column7_row1538 = mask_values[542]; - tempvar column7_row1546 = mask_values[543]; - tempvar column7_row1570 = mask_values[544]; - tempvar column7_row1578 = mask_values[545]; - tempvar column7_row2010 = mask_values[546]; - tempvar column7_row2018 = mask_values[547]; - tempvar column7_row2040 = mask_values[548]; - tempvar column7_row2044 = mask_values[549]; - tempvar column7_row2046 = mask_values[550]; - tempvar column7_row2048 = mask_values[551]; - tempvar column7_row2050 = mask_values[552]; - tempvar column7_row2052 = mask_values[553]; - tempvar column7_row2053 = mask_values[554]; - tempvar column7_row2117 = mask_values[555]; - tempvar column7_row2181 = mask_values[556]; - tempvar column7_row4088 = mask_values[557]; - tempvar column7_row4101 = mask_values[558]; - tempvar column7_row4165 = mask_values[559]; - tempvar column7_row4229 = mask_values[560]; - tempvar column7_row6401 = mask_values[561]; - tempvar column7_row6417 = mask_values[562]; - tempvar column7_row7809 = mask_values[563]; - tempvar column7_row8001 = mask_values[564]; - tempvar column7_row8065 = mask_values[565]; - tempvar column7_row8129 = mask_values[566]; - tempvar column7_row8193 = mask_values[567]; - tempvar column7_row8197 = mask_values[568]; - tempvar column7_row8209 = mask_values[569]; - tempvar column7_row8433 = mask_values[570]; - tempvar column7_row8441 = mask_values[571]; - tempvar column7_row10245 = mask_values[572]; - tempvar column7_row12293 = mask_values[573]; - tempvar column7_row16001 = mask_values[574]; - tempvar column7_row16193 = mask_values[575]; - tempvar column7_row24193 = mask_values[576]; - tempvar column7_row32385 = mask_values[577]; - tempvar column7_row66305 = mask_values[578]; - tempvar column7_row66321 = mask_values[579]; - tempvar column7_row67589 = mask_values[580]; - tempvar column7_row75781 = mask_values[581]; - tempvar column7_row75845 = mask_values[582]; - tempvar column7_row75909 = mask_values[583]; - tempvar column7_row132609 = mask_values[584]; - tempvar column7_row132625 = mask_values[585]; - tempvar column7_row159749 = mask_values[586]; - tempvar column7_row167941 = mask_values[587]; - tempvar column7_row179841 = mask_values[588]; - tempvar column7_row196417 = mask_values[589]; - tempvar column7_row196481 = mask_values[590]; - tempvar column7_row196545 = mask_values[591]; - tempvar column7_row198913 = mask_values[592]; - tempvar column7_row198929 = mask_values[593]; - tempvar column7_row204805 = mask_values[594]; - tempvar column7_row204869 = mask_values[595]; - tempvar column7_row204933 = mask_values[596]; - tempvar column7_row237377 = mask_values[597]; - tempvar column7_row265217 = mask_values[598]; - tempvar column7_row265233 = mask_values[599]; - tempvar column7_row296965 = mask_values[600]; - tempvar column7_row303109 = mask_values[601]; - tempvar column7_row321541 = mask_values[602]; - tempvar column7_row331521 = mask_values[603]; - tempvar column7_row331537 = mask_values[604]; - tempvar column7_row354309 = mask_values[605]; - tempvar column7_row360453 = mask_values[606]; - tempvar column7_row384833 = mask_values[607]; - tempvar column7_row397825 = mask_values[608]; - tempvar column7_row397841 = mask_values[609]; - tempvar column7_row409217 = mask_values[610]; - tempvar column7_row409605 = mask_values[611]; - tempvar column7_row446469 = mask_values[612]; - tempvar column7_row458757 = mask_values[613]; - tempvar column7_row464129 = mask_values[614]; - tempvar column7_row464145 = mask_values[615]; - tempvar column7_row482945 = mask_values[616]; - tempvar column7_row507713 = mask_values[617]; - tempvar column7_row512005 = mask_values[618]; - tempvar column7_row512069 = mask_values[619]; - tempvar column7_row512133 = mask_values[620]; - tempvar column7_row516097 = mask_values[621]; - tempvar column7_row516113 = mask_values[622]; - tempvar column7_row516337 = mask_values[623]; - tempvar column7_row516345 = mask_values[624]; - tempvar column7_row520197 = mask_values[625]; - tempvar column8_row0 = mask_values[626]; - tempvar column8_row2 = mask_values[627]; - tempvar column8_row4 = mask_values[628]; - tempvar column8_row6 = mask_values[629]; - tempvar column8_row8 = mask_values[630]; - tempvar column8_row10 = mask_values[631]; - tempvar column8_row12 = mask_values[632]; - tempvar column8_row14 = mask_values[633]; - tempvar column8_row18 = mask_values[634]; - tempvar column8_row20 = mask_values[635]; - tempvar column8_row22 = mask_values[636]; - tempvar column8_row26 = mask_values[637]; - tempvar column8_row28 = mask_values[638]; - tempvar column8_row30 = mask_values[639]; - tempvar column8_row34 = mask_values[640]; - tempvar column8_row36 = mask_values[641]; - tempvar column8_row38 = mask_values[642]; - tempvar column8_row42 = mask_values[643]; - tempvar column8_row44 = mask_values[644]; - tempvar column8_row46 = mask_values[645]; - tempvar column8_row50 = mask_values[646]; - tempvar column8_row52 = mask_values[647]; - tempvar column8_row54 = mask_values[648]; - tempvar column8_row58 = mask_values[649]; - tempvar column8_row60 = mask_values[650]; - tempvar column8_row66 = mask_values[651]; - tempvar column8_row68 = mask_values[652]; - tempvar column8_row74 = mask_values[653]; - tempvar column8_row76 = mask_values[654]; - tempvar column8_row78 = mask_values[655]; - tempvar column8_row82 = mask_values[656]; - tempvar column8_row84 = mask_values[657]; - tempvar column8_row86 = mask_values[658]; - tempvar column8_row92 = mask_values[659]; - tempvar column8_row98 = mask_values[660]; - tempvar column8_row100 = mask_values[661]; - tempvar column8_row108 = mask_values[662]; - tempvar column8_row110 = mask_values[663]; - tempvar column8_row114 = mask_values[664]; - tempvar column8_row116 = mask_values[665]; - tempvar column8_row118 = mask_values[666]; - tempvar column8_row138 = mask_values[667]; - tempvar column8_row150 = mask_values[668]; - tempvar column8_row158 = mask_values[669]; - tempvar column8_row174 = mask_values[670]; - tempvar column8_row178 = mask_values[671]; - tempvar column8_row182 = mask_values[672]; - tempvar column8_row206 = mask_values[673]; - tempvar column8_row214 = mask_values[674]; - tempvar column8_row238 = mask_values[675]; - tempvar column8_row242 = mask_values[676]; - tempvar column8_row286 = mask_values[677]; - tempvar column8_row302 = mask_values[678]; - tempvar column8_row334 = mask_values[679]; - tempvar column8_row366 = mask_values[680]; - tempvar column8_row462 = mask_values[681]; - tempvar column8_row494 = mask_values[682]; - tempvar column8_row622 = mask_values[683]; - tempvar column8_row750 = mask_values[684]; - tempvar column8_row878 = mask_values[685]; - tempvar column8_row1566 = mask_values[686]; - tempvar column8_row1646 = mask_values[687]; - tempvar column8_row1774 = mask_values[688]; - tempvar column8_row1822 = mask_values[689]; - tempvar column8_row1902 = mask_values[690]; - tempvar column8_row2030 = mask_values[691]; - tempvar column8_row2158 = mask_values[692]; - tempvar column8_row2286 = mask_values[693]; - tempvar column8_row2414 = mask_values[694]; - tempvar column8_row2478 = mask_values[695]; - tempvar column8_row2510 = mask_values[696]; - tempvar column8_row2606 = mask_values[697]; - tempvar column8_row2638 = mask_values[698]; - tempvar column8_row2734 = mask_values[699]; - tempvar column8_row2766 = mask_values[700]; - tempvar column8_row3614 = mask_values[701]; - tempvar column8_row3694 = mask_values[702]; - tempvar column8_row3822 = mask_values[703]; - tempvar column8_row3870 = mask_values[704]; - tempvar column8_row3950 = mask_values[705]; - tempvar column8_row3954 = mask_values[706]; - tempvar column8_row4018 = mask_values[707]; - tempvar column8_row4078 = mask_values[708]; - tempvar column8_row4082 = mask_values[709]; - tempvar column8_row12306 = mask_values[710]; - tempvar column8_row12370 = mask_values[711]; - tempvar column8_row12562 = mask_values[712]; - tempvar column8_row12626 = mask_values[713]; - tempvar column8_row16082 = mask_values[714]; - tempvar column8_row16146 = mask_values[715]; - tempvar column8_row16322 = mask_values[716]; - tempvar column8_row16326 = mask_values[717]; - tempvar column8_row16340 = mask_values[718]; - tempvar column8_row16346 = mask_values[719]; - tempvar column8_row16354 = mask_values[720]; - tempvar column8_row16358 = mask_values[721]; - tempvar column8_row16362 = mask_values[722]; - tempvar column8_row16372 = mask_values[723]; - tempvar column8_row16378 = mask_values[724]; - tempvar column8_row16388 = mask_values[725]; - tempvar column8_row16420 = mask_values[726]; - tempvar column8_row32654 = mask_values[727]; - tempvar column8_row32662 = mask_values[728]; - tempvar column8_row32710 = mask_values[729]; - tempvar column8_row32724 = mask_values[730]; - tempvar column8_row32726 = mask_values[731]; - tempvar column8_row32742 = mask_values[732]; - tempvar column8_row32756 = mask_values[733]; - tempvar column8_row32758 = mask_values[734]; - tempvar column9_inter1_row0 = mask_values[735]; - tempvar column9_inter1_row1 = mask_values[736]; - tempvar column10_inter1_row0 = mask_values[737]; - tempvar column10_inter1_row1 = mask_values[738]; - tempvar column11_inter1_row0 = mask_values[739]; - tempvar column11_inter1_row1 = mask_values[740]; - tempvar column11_inter1_row2 = mask_values[741]; - tempvar column11_inter1_row3 = mask_values[742]; + tempvar column4_row58 = mask_values[429]; + tempvar column4_row59 = mask_values[430]; + tempvar column4_row74 = mask_values[431]; + tempvar column4_row75 = mask_values[432]; + tempvar column4_row90 = mask_values[433]; + tempvar column4_row91 = mask_values[434]; + tempvar column4_row106 = mask_values[435]; + tempvar column4_row138 = mask_values[436]; + tempvar column4_row139 = mask_values[437]; + tempvar column4_row154 = mask_values[438]; + tempvar column4_row171 = mask_values[439]; + tempvar column4_row186 = mask_values[440]; + tempvar column4_row187 = mask_values[441]; + tempvar column4_row202 = mask_values[442]; + tempvar column4_row218 = mask_values[443]; + tempvar column4_row219 = mask_values[444]; + tempvar column4_row234 = mask_values[445]; + tempvar column4_row235 = mask_values[446]; + tempvar column4_row266 = mask_values[447]; + tempvar column4_row267 = mask_values[448]; + tempvar column4_row298 = mask_values[449]; + tempvar column4_row314 = mask_values[450]; + tempvar column4_row315 = mask_values[451]; + tempvar column4_row346 = mask_values[452]; + tempvar column4_row347 = mask_values[453]; + tempvar column4_row442 = mask_values[454]; + tempvar column4_row443 = mask_values[455]; + tempvar column4_row474 = mask_values[456]; + tempvar column4_row475 = mask_values[457]; + tempvar column4_row522 = mask_values[458]; + tempvar column4_row523 = mask_values[459]; + tempvar column4_row570 = mask_values[460]; + tempvar column4_row571 = mask_values[461]; + tempvar column4_row602 = mask_values[462]; + tempvar column4_row603 = mask_values[463]; + tempvar column4_row698 = mask_values[464]; + tempvar column4_row699 = mask_values[465]; + tempvar column4_row730 = mask_values[466]; + tempvar column4_row731 = mask_values[467]; + tempvar column4_row778 = mask_values[468]; + tempvar column4_row779 = mask_values[469]; + tempvar column4_row826 = mask_values[470]; + tempvar column4_row827 = mask_values[471]; + tempvar column4_row858 = mask_values[472]; + tempvar column4_row859 = mask_values[473]; + tempvar column4_row954 = mask_values[474]; + tempvar column4_row955 = mask_values[475]; + tempvar column4_row986 = mask_values[476]; + tempvar column4_row987 = mask_values[477]; + tempvar column4_row1034 = mask_values[478]; + tempvar column4_row1035 = mask_values[479]; + tempvar column4_row1082 = mask_values[480]; + tempvar column4_row1083 = mask_values[481]; + tempvar column4_row1114 = mask_values[482]; + tempvar column4_row1115 = mask_values[483]; + tempvar column4_row1210 = mask_values[484]; + tempvar column4_row1211 = mask_values[485]; + tempvar column4_row1242 = mask_values[486]; + tempvar column4_row1243 = mask_values[487]; + tempvar column4_row1290 = mask_values[488]; + tempvar column4_row1291 = mask_values[489]; + tempvar column4_row1338 = mask_values[490]; + tempvar column4_row1339 = mask_values[491]; + tempvar column4_row1370 = mask_values[492]; + tempvar column4_row1371 = mask_values[493]; + tempvar column4_row1466 = mask_values[494]; + tempvar column4_row1467 = mask_values[495]; + tempvar column4_row1498 = mask_values[496]; + tempvar column4_row1499 = mask_values[497]; + tempvar column4_row1546 = mask_values[498]; + tempvar column4_row1547 = mask_values[499]; + tempvar column4_row1594 = mask_values[500]; + tempvar column4_row1595 = mask_values[501]; + tempvar column4_row1626 = mask_values[502]; + tempvar column4_row1627 = mask_values[503]; + tempvar column4_row1722 = mask_values[504]; + tempvar column4_row1723 = mask_values[505]; + tempvar column4_row1754 = mask_values[506]; + tempvar column4_row1755 = mask_values[507]; + tempvar column4_row1802 = mask_values[508]; + tempvar column4_row1803 = mask_values[509]; + tempvar column4_row1850 = mask_values[510]; + tempvar column4_row1851 = mask_values[511]; + tempvar column4_row1882 = mask_values[512]; + tempvar column4_row1883 = mask_values[513]; + tempvar column4_row1978 = mask_values[514]; + tempvar column4_row1979 = mask_values[515]; + tempvar column4_row2010 = mask_values[516]; + tempvar column4_row2011 = mask_values[517]; + tempvar column4_row2058 = mask_values[518]; + tempvar column4_row2059 = mask_values[519]; + tempvar column4_row2139 = mask_values[520]; + tempvar column4_row2234 = mask_values[521]; + tempvar column4_row2235 = mask_values[522]; + tempvar column4_row2314 = mask_values[523]; + tempvar column4_row2315 = mask_values[524]; + tempvar column4_row2395 = mask_values[525]; + tempvar column4_row2490 = mask_values[526]; + tempvar column4_row2491 = mask_values[527]; + tempvar column4_row2570 = mask_values[528]; + tempvar column4_row2571 = mask_values[529]; + tempvar column4_row2651 = mask_values[530]; + tempvar column4_row2746 = mask_values[531]; + tempvar column4_row2747 = mask_values[532]; + tempvar column4_row2826 = mask_values[533]; + tempvar column4_row2827 = mask_values[534]; + tempvar column4_row2874 = mask_values[535]; + tempvar column4_row2875 = mask_values[536]; + tempvar column4_row3002 = mask_values[537]; + tempvar column4_row3003 = mask_values[538]; + tempvar column4_row3082 = mask_values[539]; + tempvar column4_row3083 = mask_values[540]; + tempvar column4_row3163 = mask_values[541]; + tempvar column4_row3258 = mask_values[542]; + tempvar column4_row3259 = mask_values[543]; + tempvar column4_row3338 = mask_values[544]; + tempvar column4_row3339 = mask_values[545]; + tempvar column4_row3386 = mask_values[546]; + tempvar column4_row3387 = mask_values[547]; + tempvar column4_row3419 = mask_values[548]; + tempvar column4_row3514 = mask_values[549]; + tempvar column4_row3515 = mask_values[550]; + tempvar column4_row3594 = mask_values[551]; + tempvar column4_row3595 = mask_values[552]; + tempvar column4_row3675 = mask_values[553]; + tempvar column4_row3770 = mask_values[554]; + tempvar column4_row3771 = mask_values[555]; + tempvar column4_row3850 = mask_values[556]; + tempvar column4_row3851 = mask_values[557]; + tempvar column4_row3898 = mask_values[558]; + tempvar column4_row3899 = mask_values[559]; + tempvar column4_row4106 = mask_values[560]; + tempvar column4_row4618 = mask_values[561]; + tempvar column4_row4619 = mask_values[562]; + tempvar column4_row4923 = mask_values[563]; + tempvar column4_row5435 = mask_values[564]; + tempvar column4_row5643 = mask_values[565]; + tempvar column4_row5947 = mask_values[566]; + tempvar column4_row6666 = mask_values[567]; + tempvar column4_row6667 = mask_values[568]; + tempvar column4_row6971 = mask_values[569]; + tempvar column4_row7178 = mask_values[570]; + tempvar column4_row7179 = mask_values[571]; + tempvar column4_row7483 = mask_values[572]; + tempvar column4_row7691 = mask_values[573]; + tempvar column4_row7995 = mask_values[574]; + tempvar column4_row8714 = mask_values[575]; + tempvar column4_row8715 = mask_values[576]; + tempvar column4_row9739 = mask_values[577]; + tempvar column4_row11274 = mask_values[578]; + tempvar column4_row11275 = mask_values[579]; + tempvar column4_row11787 = mask_values[580]; + tempvar column4_row12810 = mask_values[581]; + tempvar column4_row12811 = mask_values[582]; + tempvar column4_row13835 = mask_values[583]; + tempvar column4_row15370 = mask_values[584]; + tempvar column4_row15371 = mask_values[585]; + tempvar column4_row15883 = mask_values[586]; + tempvar column4_row17931 = mask_values[587]; + tempvar column4_row19466 = mask_values[588]; + tempvar column4_row19467 = mask_values[589]; + tempvar column4_row19979 = mask_values[590]; + tempvar column4_row22027 = mask_values[591]; + tempvar column4_row24075 = mask_values[592]; + tempvar column4_row26123 = mask_values[593]; + tempvar column4_row27658 = mask_values[594]; + tempvar column4_row28171 = mask_values[595]; + tempvar column4_row30219 = mask_values[596]; + tempvar column4_row32267 = mask_values[597]; + tempvar column4_row35850 = mask_values[598]; + tempvar column5_row0 = mask_values[599]; + tempvar column5_row1 = mask_values[600]; + tempvar column5_row2 = mask_values[601]; + tempvar column5_row3 = mask_values[602]; + tempvar column5_row4 = mask_values[603]; + tempvar column5_row8 = mask_values[604]; + tempvar column5_row10 = mask_values[605]; + tempvar column5_row12 = mask_values[606]; + tempvar column5_row18 = mask_values[607]; + tempvar column5_row28 = mask_values[608]; + tempvar column5_row34 = mask_values[609]; + tempvar column5_row44 = mask_values[610]; + tempvar column5_row50 = mask_values[611]; + tempvar column5_row60 = mask_values[612]; + tempvar column5_row66 = mask_values[613]; + tempvar column5_row76 = mask_values[614]; + tempvar column5_row82 = mask_values[615]; + tempvar column5_row92 = mask_values[616]; + tempvar column5_row98 = mask_values[617]; + tempvar column5_row108 = mask_values[618]; + tempvar column5_row114 = mask_values[619]; + tempvar column5_row124 = mask_values[620]; + tempvar column5_row178 = mask_values[621]; + tempvar column5_row242 = mask_values[622]; + tempvar column5_row306 = mask_values[623]; + tempvar column5_row370 = mask_values[624]; + tempvar column5_row434 = mask_values[625]; + tempvar column5_row498 = mask_values[626]; + tempvar column5_row562 = mask_values[627]; + tempvar column5_row626 = mask_values[628]; + tempvar column5_row690 = mask_values[629]; + tempvar column5_row754 = mask_values[630]; + tempvar column5_row818 = mask_values[631]; + tempvar column5_row882 = mask_values[632]; + tempvar column5_row946 = mask_values[633]; + tempvar column5_row1010 = mask_values[634]; + tempvar column5_row1074 = mask_values[635]; + tempvar column5_row1138 = mask_values[636]; + tempvar column5_row1202 = mask_values[637]; + tempvar column5_row1266 = mask_values[638]; + tempvar column5_row1330 = mask_values[639]; + tempvar column5_row1394 = mask_values[640]; + tempvar column5_row1458 = mask_values[641]; + tempvar column5_row1522 = mask_values[642]; + tempvar column5_row1586 = mask_values[643]; + tempvar column5_row1650 = mask_values[644]; + tempvar column5_row1714 = mask_values[645]; + tempvar column5_row1778 = mask_values[646]; + tempvar column5_row1842 = mask_values[647]; + tempvar column5_row1906 = mask_values[648]; + tempvar column5_row1970 = mask_values[649]; + tempvar column5_row2034 = mask_values[650]; + tempvar column5_row2058 = mask_values[651]; + tempvar column5_row2098 = mask_values[652]; + tempvar column5_row2162 = mask_values[653]; + tempvar column5_row2226 = mask_values[654]; + tempvar column5_row2290 = mask_values[655]; + tempvar column5_row2354 = mask_values[656]; + tempvar column5_row2418 = mask_values[657]; + tempvar column5_row2482 = mask_values[658]; + tempvar column5_row2546 = mask_values[659]; + tempvar column5_row2610 = mask_values[660]; + tempvar column5_row2674 = mask_values[661]; + tempvar column5_row2738 = mask_values[662]; + tempvar column5_row2802 = mask_values[663]; + tempvar column5_row2866 = mask_values[664]; + tempvar column5_row2930 = mask_values[665]; + tempvar column5_row2994 = mask_values[666]; + tempvar column5_row3058 = mask_values[667]; + tempvar column5_row3122 = mask_values[668]; + tempvar column5_row3186 = mask_values[669]; + tempvar column5_row3250 = mask_values[670]; + tempvar column5_row3314 = mask_values[671]; + tempvar column5_row3378 = mask_values[672]; + tempvar column5_row3442 = mask_values[673]; + tempvar column5_row3506 = mask_values[674]; + tempvar column5_row3570 = mask_values[675]; + tempvar column5_row3634 = mask_values[676]; + tempvar column5_row3698 = mask_values[677]; + tempvar column5_row3762 = mask_values[678]; + tempvar column5_row3826 = mask_values[679]; + tempvar column5_row3890 = mask_values[680]; + tempvar column5_row3954 = mask_values[681]; + tempvar column5_row4018 = mask_values[682]; + tempvar column5_row4082 = mask_values[683]; + tempvar column6_row0 = mask_values[684]; + tempvar column6_row1 = mask_values[685]; + tempvar column6_row2 = mask_values[686]; + tempvar column6_row3 = mask_values[687]; + tempvar column7_row0 = mask_values[688]; + tempvar column7_row1 = mask_values[689]; + tempvar column7_row2 = mask_values[690]; + tempvar column7_row3 = mask_values[691]; + tempvar column7_row4 = mask_values[692]; + tempvar column7_row5 = mask_values[693]; + tempvar column7_row6 = mask_values[694]; + tempvar column7_row7 = mask_values[695]; + tempvar column7_row8 = mask_values[696]; + tempvar column7_row10 = mask_values[697]; + tempvar column7_row11 = mask_values[698]; + tempvar column7_row12 = mask_values[699]; + tempvar column7_row15 = mask_values[700]; + tempvar column7_row17 = mask_values[701]; + tempvar column7_row19 = mask_values[702]; + tempvar column7_row27 = mask_values[703]; + tempvar column7_row69 = mask_values[704]; + tempvar column7_row133 = mask_values[705]; + tempvar column7_row241 = mask_values[706]; + tempvar column7_row249 = mask_values[707]; + tempvar column7_row257 = mask_values[708]; + tempvar column7_row273 = mask_values[709]; + tempvar column7_row497 = mask_values[710]; + tempvar column7_row505 = mask_values[711]; + tempvar column7_row1538 = mask_values[712]; + tempvar column7_row1546 = mask_values[713]; + tempvar column7_row1570 = mask_values[714]; + tempvar column7_row1578 = mask_values[715]; + tempvar column7_row2010 = mask_values[716]; + tempvar column7_row2018 = mask_values[717]; + tempvar column7_row2040 = mask_values[718]; + tempvar column7_row2044 = mask_values[719]; + tempvar column7_row2046 = mask_values[720]; + tempvar column7_row2048 = mask_values[721]; + tempvar column7_row2050 = mask_values[722]; + tempvar column7_row2052 = mask_values[723]; + tempvar column7_row2053 = mask_values[724]; + tempvar column7_row2117 = mask_values[725]; + tempvar column7_row2181 = mask_values[726]; + tempvar column7_row4088 = mask_values[727]; + tempvar column7_row4101 = mask_values[728]; + tempvar column7_row4165 = mask_values[729]; + tempvar column7_row4229 = mask_values[730]; + tempvar column7_row6401 = mask_values[731]; + tempvar column7_row6417 = mask_values[732]; + tempvar column7_row7809 = mask_values[733]; + tempvar column7_row8001 = mask_values[734]; + tempvar column7_row8065 = mask_values[735]; + tempvar column7_row8129 = mask_values[736]; + tempvar column7_row8193 = mask_values[737]; + tempvar column7_row8197 = mask_values[738]; + tempvar column7_row8209 = mask_values[739]; + tempvar column7_row8433 = mask_values[740]; + tempvar column7_row8441 = mask_values[741]; + tempvar column7_row10245 = mask_values[742]; + tempvar column7_row12293 = mask_values[743]; + tempvar column7_row16001 = mask_values[744]; + tempvar column7_row16193 = mask_values[745]; + tempvar column7_row24193 = mask_values[746]; + tempvar column7_row32385 = mask_values[747]; + tempvar column7_row66305 = mask_values[748]; + tempvar column7_row66321 = mask_values[749]; + tempvar column7_row67589 = mask_values[750]; + tempvar column7_row75781 = mask_values[751]; + tempvar column7_row75845 = mask_values[752]; + tempvar column7_row75909 = mask_values[753]; + tempvar column7_row132609 = mask_values[754]; + tempvar column7_row132625 = mask_values[755]; + tempvar column7_row159749 = mask_values[756]; + tempvar column7_row167941 = mask_values[757]; + tempvar column7_row179841 = mask_values[758]; + tempvar column7_row196417 = mask_values[759]; + tempvar column7_row196481 = mask_values[760]; + tempvar column7_row196545 = mask_values[761]; + tempvar column7_row198913 = mask_values[762]; + tempvar column7_row198929 = mask_values[763]; + tempvar column7_row204805 = mask_values[764]; + tempvar column7_row204869 = mask_values[765]; + tempvar column7_row204933 = mask_values[766]; + tempvar column7_row237377 = mask_values[767]; + tempvar column7_row265217 = mask_values[768]; + tempvar column7_row265233 = mask_values[769]; + tempvar column7_row296965 = mask_values[770]; + tempvar column7_row303109 = mask_values[771]; + tempvar column7_row321541 = mask_values[772]; + tempvar column7_row331521 = mask_values[773]; + tempvar column7_row331537 = mask_values[774]; + tempvar column7_row354309 = mask_values[775]; + tempvar column7_row360453 = mask_values[776]; + tempvar column7_row384833 = mask_values[777]; + tempvar column7_row397825 = mask_values[778]; + tempvar column7_row397841 = mask_values[779]; + tempvar column7_row409217 = mask_values[780]; + tempvar column7_row409605 = mask_values[781]; + tempvar column7_row446469 = mask_values[782]; + tempvar column7_row458757 = mask_values[783]; + tempvar column7_row464129 = mask_values[784]; + tempvar column7_row464145 = mask_values[785]; + tempvar column7_row482945 = mask_values[786]; + tempvar column7_row507713 = mask_values[787]; + tempvar column7_row512005 = mask_values[788]; + tempvar column7_row512069 = mask_values[789]; + tempvar column7_row512133 = mask_values[790]; + tempvar column7_row516097 = mask_values[791]; + tempvar column7_row516113 = mask_values[792]; + tempvar column7_row516337 = mask_values[793]; + tempvar column7_row516345 = mask_values[794]; + tempvar column7_row520197 = mask_values[795]; + tempvar column8_row0 = mask_values[796]; + tempvar column8_row2 = mask_values[797]; + tempvar column8_row4 = mask_values[798]; + tempvar column8_row6 = mask_values[799]; + tempvar column8_row8 = mask_values[800]; + tempvar column8_row10 = mask_values[801]; + tempvar column8_row12 = mask_values[802]; + tempvar column8_row14 = mask_values[803]; + tempvar column8_row18 = mask_values[804]; + tempvar column8_row20 = mask_values[805]; + tempvar column8_row22 = mask_values[806]; + tempvar column8_row26 = mask_values[807]; + tempvar column8_row28 = mask_values[808]; + tempvar column8_row30 = mask_values[809]; + tempvar column8_row34 = mask_values[810]; + tempvar column8_row36 = mask_values[811]; + tempvar column8_row38 = mask_values[812]; + tempvar column8_row42 = mask_values[813]; + tempvar column8_row44 = mask_values[814]; + tempvar column8_row46 = mask_values[815]; + tempvar column8_row50 = mask_values[816]; + tempvar column8_row52 = mask_values[817]; + tempvar column8_row54 = mask_values[818]; + tempvar column8_row58 = mask_values[819]; + tempvar column8_row60 = mask_values[820]; + tempvar column8_row66 = mask_values[821]; + tempvar column8_row68 = mask_values[822]; + tempvar column8_row74 = mask_values[823]; + tempvar column8_row76 = mask_values[824]; + tempvar column8_row78 = mask_values[825]; + tempvar column8_row82 = mask_values[826]; + tempvar column8_row84 = mask_values[827]; + tempvar column8_row86 = mask_values[828]; + tempvar column8_row92 = mask_values[829]; + tempvar column8_row98 = mask_values[830]; + tempvar column8_row100 = mask_values[831]; + tempvar column8_row108 = mask_values[832]; + tempvar column8_row110 = mask_values[833]; + tempvar column8_row114 = mask_values[834]; + tempvar column8_row116 = mask_values[835]; + tempvar column8_row118 = mask_values[836]; + tempvar column8_row138 = mask_values[837]; + tempvar column8_row150 = mask_values[838]; + tempvar column8_row158 = mask_values[839]; + tempvar column8_row174 = mask_values[840]; + tempvar column8_row178 = mask_values[841]; + tempvar column8_row182 = mask_values[842]; + tempvar column8_row206 = mask_values[843]; + tempvar column8_row214 = mask_values[844]; + tempvar column8_row238 = mask_values[845]; + tempvar column8_row242 = mask_values[846]; + tempvar column8_row286 = mask_values[847]; + tempvar column8_row302 = mask_values[848]; + tempvar column8_row334 = mask_values[849]; + tempvar column8_row366 = mask_values[850]; + tempvar column8_row414 = mask_values[851]; + tempvar column8_row462 = mask_values[852]; + tempvar column8_row494 = mask_values[853]; + tempvar column8_row622 = mask_values[854]; + tempvar column8_row670 = mask_values[855]; + tempvar column8_row750 = mask_values[856]; + tempvar column8_row878 = mask_values[857]; + tempvar column8_row926 = mask_values[858]; + tempvar column8_row1182 = mask_values[859]; + tempvar column8_row1438 = mask_values[860]; + tempvar column8_row1566 = mask_values[861]; + tempvar column8_row1646 = mask_values[862]; + tempvar column8_row1694 = mask_values[863]; + tempvar column8_row1774 = mask_values[864]; + tempvar column8_row1822 = mask_values[865]; + tempvar column8_row1902 = mask_values[866]; + tempvar column8_row1950 = mask_values[867]; + tempvar column8_row2030 = mask_values[868]; + tempvar column8_row2158 = mask_values[869]; + tempvar column8_row2286 = mask_values[870]; + tempvar column8_row2414 = mask_values[871]; + tempvar column8_row2478 = mask_values[872]; + tempvar column8_row2510 = mask_values[873]; + tempvar column8_row2606 = mask_values[874]; + tempvar column8_row2638 = mask_values[875]; + tempvar column8_row2734 = mask_values[876]; + tempvar column8_row2766 = mask_values[877]; + tempvar column8_row3614 = mask_values[878]; + tempvar column8_row3694 = mask_values[879]; + tempvar column8_row3822 = mask_values[880]; + tempvar column8_row3870 = mask_values[881]; + tempvar column8_row3950 = mask_values[882]; + tempvar column8_row3954 = mask_values[883]; + tempvar column8_row4018 = mask_values[884]; + tempvar column8_row4078 = mask_values[885]; + tempvar column8_row4082 = mask_values[886]; + tempvar column8_row12306 = mask_values[887]; + tempvar column8_row12370 = mask_values[888]; + tempvar column8_row12562 = mask_values[889]; + tempvar column8_row12626 = mask_values[890]; + tempvar column8_row16082 = mask_values[891]; + tempvar column8_row16146 = mask_values[892]; + tempvar column8_row16322 = mask_values[893]; + tempvar column8_row16326 = mask_values[894]; + tempvar column8_row16340 = mask_values[895]; + tempvar column8_row16346 = mask_values[896]; + tempvar column8_row16354 = mask_values[897]; + tempvar column8_row16358 = mask_values[898]; + tempvar column8_row16362 = mask_values[899]; + tempvar column8_row16372 = mask_values[900]; + tempvar column8_row16378 = mask_values[901]; + tempvar column8_row16388 = mask_values[902]; + tempvar column8_row16420 = mask_values[903]; + tempvar column8_row32654 = mask_values[904]; + tempvar column8_row32662 = mask_values[905]; + tempvar column8_row32710 = mask_values[906]; + tempvar column8_row32724 = mask_values[907]; + tempvar column8_row32726 = mask_values[908]; + tempvar column8_row32742 = mask_values[909]; + tempvar column8_row32756 = mask_values[910]; + tempvar column8_row32758 = mask_values[911]; + tempvar column9_inter1_row0 = mask_values[912]; + tempvar column9_inter1_row1 = mask_values[913]; + tempvar column10_inter1_row0 = mask_values[914]; + tempvar column10_inter1_row1 = mask_values[915]; + tempvar column11_inter1_row0 = mask_values[916]; + tempvar column11_inter1_row1 = mask_values[917]; + tempvar column11_inter1_row2 = mask_values[918]; + tempvar column11_inter1_row3 = mask_values[919]; // Compute intermediate values. tempvar cpu__decode__opcode_range_check__bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -8045,6 +8232,42 @@ func eval_composition_polynomial{range_check_ptr}( global_values.offset_size + column5_row18; tempvar range_check96_builtin__value5_0 = range_check96_builtin__value4_0 * global_values.offset_size + column5_row82; + tempvar mul_mod__p_multiplier1_0 = column5_row1586 + 65536 * column5_row3634 + 4294967296 * + column5_row306 + 281474976710656 * column5_row2354 + 18446744073709551616 * + column5_row1330 + 1208925819614629174706176 * column5_row3378; + tempvar mul_mod__p_multiplier2_0 = column5_row818 + 65536 * column5_row2866 + 4294967296 * + column5_row1842 + 281474976710656 * column5_row3890 + 18446744073709551616 * + column5_row178 + 1208925819614629174706176 * column5_row2226; + tempvar mul_mod__p_multiplier3_0 = column5_row1202 + 65536 * column5_row3250 + 4294967296 * + column5_row690 + 281474976710656 * column5_row2738 + 18446744073709551616 * + column5_row1714 + 1208925819614629174706176 * column5_row3762; + tempvar mul_mod__p_multiplier0_0 = column5_row50 + 65536 * column5_row2098 + 4294967296 * + column5_row1074 + 281474976710656 * column5_row3122 + 18446744073709551616 * + column5_row562 + 1208925819614629174706176 * column5_row2610; + tempvar mul_mod__carry1_0 = column5_row4018 + 65536 * column5_row114 + 4294967296 * + column5_row2162 + 281474976710656 * column5_row1138 + 18446744073709551616 * + column5_row3186 + 1208925819614629174706176 * column5_row626 + + 79228162514264337593543950336 * column5_row2674; + tempvar mul_mod__carry2_0 = column5_row1650 + 65536 * column5_row3698 + 4294967296 * + column5_row370 + 281474976710656 * column5_row2418 + 18446744073709551616 * + column5_row1394 + 1208925819614629174706176 * column5_row3442 + + 79228162514264337593543950336 * column5_row882; + tempvar mul_mod__carry3_0 = column5_row2930 + 65536 * column5_row1906 + 4294967296 * + column5_row3954 + 281474976710656 * column5_row242 + 18446744073709551616 * + column5_row2290 + 1208925819614629174706176 * column5_row1266 + + 79228162514264337593543950336 * column5_row3314; + tempvar mul_mod__carry4_0 = column5_row754 + 65536 * column5_row2802 + 4294967296 * + column5_row1778 + 281474976710656 * column5_row3826 + 18446744073709551616 * + column5_row498 + 1208925819614629174706176 * column5_row2546 + + 79228162514264337593543950336 * column5_row1522; + tempvar mul_mod__carry5_0 = column5_row3570 + 65536 * column5_row1010 + 4294967296 * + column5_row3058 + 281474976710656 * column5_row2034 + 18446744073709551616 * + column5_row4082 + 1208925819614629174706176 * column5_row10 + + 79228162514264337593543950336 * column5_row2058; + tempvar mul_mod__carry0_0 = column5_row434 + 65536 * column5_row2482 + 4294967296 * + column5_row1458 + 281474976710656 * column5_row3506 + 18446744073709551616 * + column5_row946 + 1208925819614629174706176 * column5_row2994 + + 79228162514264337593543950336 * column5_row1970; // Sum constraints. tempvar total_sum = 0; @@ -10358,6 +10581,395 @@ func eval_composition_polynomial{range_check_ptr}( tempvar value = (column4_row26 - global_values.initial_range_check96_addr) / domain143; tempvar total_sum = total_sum + constraint_coefficients[349] * value; + // Constraint: add_mod/init_p0_address. + tempvar value = (column4_row1802 - global_values.add_mod__initial_mod_addr) / domain143; + tempvar total_sum = total_sum + constraint_coefficients[350] * value; + + // Constraint: add_mod/step_p1_addr. + tempvar value = (column4_row90 - (column4_row1802 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[351] * value; + + // Constraint: add_mod/step_p2_addr. + tempvar value = (column4_row1114 - (column4_row90 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[352] * value; + + // Constraint: add_mod/step_p3_addr. + tempvar value = (column4_row602 - (column4_row1114 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[353] * value; + + // Constraint: add_mod/step_values_ptr_addr. + tempvar value = (column4_row1626 - (column4_row602 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[354] * value; + + // Constraint: add_mod/step_offsets_ptr_addr. + tempvar value = (column4_row346 - (column4_row1626 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[355] * value; + + // Constraint: add_mod/step_n_addr. + tempvar value = (column4_row1370 - (column4_row346 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[356] * value; + + // Constraint: add_mod/step_p0_addr. + tempvar value = (column4_row3850 - (column4_row1370 + 1)) * domain151 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[357] * value; + + // Constraint: add_mod/step_p0_value. + tempvar value = ((column4_row3851 - column4_row1803) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[358] * value; + + // Constraint: add_mod/step_p1_value. + tempvar value = ((column4_row2139 - column4_row91) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[359] * value; + + // Constraint: add_mod/step_p2_value. + tempvar value = ((column4_row3163 - column4_row1115) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[360] * value; + + // Constraint: add_mod/step_p3_value. + tempvar value = ((column4_row2651 - column4_row603) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[361] * value; + + // Constraint: add_mod/step_values_ptr_value. + tempvar value = ((column4_row3675 - column4_row1627) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[362] * value; + + // Constraint: add_mod/step_offsets_ptr_value. + tempvar value = ((column4_row2395 - (column4_row347 + 3)) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[363] * value; + + // Constraint: add_mod/step_n_value. + tempvar value = ((column4_row3419 + 1 - column4_row1371) * (column4_row1371 - 1)) * domain151 / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[364] * value; + + // Constraint: add_mod/a_offset0. + tempvar value = (column4_row858 - column4_row347) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[365] * value; + + // Constraint: add_mod/b_offset. + tempvar value = (column4_row1882 - (column4_row858 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[366] * value; + + // Constraint: add_mod/c_offset. + tempvar value = (column4_row218 - (column4_row1882 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[367] * value; + + // Constraint: add_mod/a0_value_ind0. + tempvar value = (column4_row1242 - (column4_row859 + column4_row1627)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[368] * value; + + // Constraint: add_mod/a1_value. + tempvar value = (column4_row730 - (column4_row1242 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[369] * value; + + // Constraint: add_mod/a2_value. + tempvar value = (column4_row1754 - (column4_row730 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[370] * value; + + // Constraint: add_mod/a3_value. + tempvar value = (column4_row474 - (column4_row1754 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[371] * value; + + // Constraint: add_mod/b0_value_ind0. + tempvar value = (column4_row1498 - (column4_row1883 + column4_row1627)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[372] * value; + + // Constraint: add_mod/b1_value. + tempvar value = (column4_row986 - (column4_row1498 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[373] * value; + + // Constraint: add_mod/b2_value. + tempvar value = (column4_row2010 - (column4_row986 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[374] * value; + + // Constraint: add_mod/b3_value. + tempvar value = (column4_row58 - (column4_row2010 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[375] * value; + + // Constraint: add_mod/c0_value_ind0. + tempvar value = (column4_row1082 - (column4_row219 + column4_row1627)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[376] * value; + + // Constraint: add_mod/c1_value. + tempvar value = (column4_row570 - (column4_row1082 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[377] * value; + + // Constraint: add_mod/c2_value. + tempvar value = (column4_row1594 - (column4_row570 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[378] * value; + + // Constraint: add_mod/c3_value. + tempvar value = (column4_row314 - (column4_row1594 + 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[379] * value; + + // Constraint: add_mod/sub_p_bit. + tempvar value = (column8_row1182 * (column8_row1182 - 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[380] * value; + + // Constraint: add_mod/carry1_bit. + tempvar value = (column8_row670 * (column8_row670 - 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[381] * value; + + // Constraint: add_mod/carry1_sign. + tempvar value = (column8_row1438 * column8_row1438 - 1) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[382] * value; + + // Constraint: add_mod/carry2_bit. + tempvar value = (column8_row1694 * (column8_row1694 - 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[383] * value; + + // Constraint: add_mod/carry2_sign. + tempvar value = (column8_row926 * column8_row926 - 1) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[384] * value; + + // Constraint: add_mod/carry3_bit. + tempvar value = (column8_row414 * (column8_row414 - 1)) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[385] * value; + + // Constraint: add_mod/carry3_sign. + tempvar value = (column8_row1950 * column8_row1950 - 1) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[386] * value; + + // Constraint: add_mod/addition_constraint_0. + tempvar value = ( + ( + column4_row731 + + (column4_row1755 + column4_row475 * global_values.add_mod__interaction_elm) * + global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + column4_row1243 + + ( + column4_row987 + + (column4_row2011 + column4_row59 * global_values.add_mod__interaction_elm) * + global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + column4_row1499 + + ( + ( + column8_row1694 * column8_row926 + + column8_row414 * column8_row1950 * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + column8_row670 * column8_row1438 + ) * (global_values.add_mod__interaction_elm - 79228162514264337593543950336) - + ( + ( + column4_row571 + + (column4_row1595 + column4_row315 * global_values.add_mod__interaction_elm) * + global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + column4_row1083 + + ( + ( + column4_row91 + + (column4_row1115 + column4_row603 * global_values.add_mod__interaction_elm) * + global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + column4_row1803 + ) * column8_row1182 + ) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[387] * value; + + // Constraint: mul_mod/init_p0_address. + tempvar value = (column4_row2570 - global_values.mul_mod__initial_mod_addr) / domain143; + tempvar total_sum = total_sum + constraint_coefficients[388] * value; + + // Constraint: mul_mod/step_p1_addr. + tempvar value = (column4_row1338 - (column4_row2570 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[389] * value; + + // Constraint: mul_mod/step_p2_addr. + tempvar value = (column4_row3386 - (column4_row1338 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[390] * value; + + // Constraint: mul_mod/step_p3_addr. + tempvar value = (column4_row826 - (column4_row3386 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[391] * value; + + // Constraint: mul_mod/step_values_ptr_addr. + tempvar value = (column4_row2874 - (column4_row826 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[392] * value; + + // Constraint: mul_mod/step_offsets_ptr_addr. + tempvar value = (column4_row1850 - (column4_row2874 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[393] * value; + + // Constraint: mul_mod/step_n_addr. + tempvar value = (column4_row3898 - (column4_row1850 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[394] * value; + + // Constraint: mul_mod/step_p0_addr. + tempvar value = (column4_row6666 - (column4_row3898 + 1)) * domain146 / domain17; + tempvar total_sum = total_sum + constraint_coefficients[395] * value; + + // Constraint: mul_mod/step_p0_value. + tempvar value = ((column4_row6667 - column4_row2571) * (column4_row3899 - 1)) * domain146 / + domain17; + tempvar total_sum = total_sum + constraint_coefficients[396] * value; + + // Constraint: mul_mod/step_p1_value. + tempvar value = ((column4_row5435 - column4_row1339) * (column4_row3899 - 1)) * domain146 / + domain17; + tempvar total_sum = total_sum + constraint_coefficients[397] * value; + + // Constraint: mul_mod/step_p2_value. + tempvar value = ((column4_row7483 - column4_row3387) * (column4_row3899 - 1)) * domain146 / + domain17; + tempvar total_sum = total_sum + constraint_coefficients[398] * value; + + // Constraint: mul_mod/step_p3_value. + tempvar value = ((column4_row4923 - column4_row827) * (column4_row3899 - 1)) * domain146 / + domain17; + tempvar total_sum = total_sum + constraint_coefficients[399] * value; + + // Constraint: mul_mod/step_values_ptr_value. + tempvar value = ((column4_row6971 - column4_row2875) * (column4_row3899 - 1)) * domain146 / + domain17; + tempvar total_sum = total_sum + constraint_coefficients[400] * value; + + // Constraint: mul_mod/step_offsets_ptr_value. + tempvar value = ((column4_row5947 - (column4_row1851 + 3)) * (column4_row3899 - 1)) * + domain146 / domain17; + tempvar total_sum = total_sum + constraint_coefficients[401] * value; + + // Constraint: mul_mod/step_n_value. + tempvar value = ((column4_row7995 + 1 - column4_row3899) * (column4_row3899 - 1)) * domain146 / + domain17; + tempvar total_sum = total_sum + constraint_coefficients[402] * value; + + // Constraint: mul_mod/a_offset0. + tempvar value = (column4_row186 - column4_row1851) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[403] * value; + + // Constraint: mul_mod/b_offset. + tempvar value = (column4_row2234 - (column4_row186 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[404] * value; + + // Constraint: mul_mod/c_offset. + tempvar value = (column4_row1210 - (column4_row2234 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[405] * value; + + // Constraint: mul_mod/a0_value_ind0. + tempvar value = (column4_row3258 - (column4_row187 + column4_row2875)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[406] * value; + + // Constraint: mul_mod/a1_value. + tempvar value = (column4_row698 - (column4_row3258 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[407] * value; + + // Constraint: mul_mod/a2_value. + tempvar value = (column4_row2746 - (column4_row698 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[408] * value; + + // Constraint: mul_mod/a3_value. + tempvar value = (column4_row1722 - (column4_row2746 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[409] * value; + + // Constraint: mul_mod/b0_value_ind0. + tempvar value = (column4_row3770 - (column4_row2235 + column4_row2875)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[410] * value; + + // Constraint: mul_mod/b1_value. + tempvar value = (column4_row442 - (column4_row3770 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[411] * value; + + // Constraint: mul_mod/b2_value. + tempvar value = (column4_row2490 - (column4_row442 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[412] * value; + + // Constraint: mul_mod/b3_value. + tempvar value = (column4_row1466 - (column4_row2490 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[413] * value; + + // Constraint: mul_mod/c0_value_ind0. + tempvar value = (column4_row3514 - (column4_row1211 + column4_row2875)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[414] * value; + + // Constraint: mul_mod/c1_value. + tempvar value = (column4_row954 - (column4_row3514 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[415] * value; + + // Constraint: mul_mod/c2_value. + tempvar value = (column4_row3002 - (column4_row954 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[416] * value; + + // Constraint: mul_mod/c3_value. + tempvar value = (column4_row1978 - (column4_row3002 + 1)) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[417] * value; + + // Constraint: mul_mod/multiplication_constraint_0. + tempvar value = ( + ( + ( + column4_row699 + + (column4_row2747 + column4_row1723 * global_values.mul_mod__interaction_elm) * + global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + column4_row3259 + ) * ( + ( + column4_row443 + + (column4_row2491 + column4_row1467 * global_values.mul_mod__interaction_elm) * + global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + column4_row3771 + ) + + ( + ( + mul_mod__carry1_0 + + ( + mul_mod__carry2_0 + + ( + mul_mod__carry3_0 + + ( + mul_mod__carry4_0 + + (mul_mod__carry5_0 - 316912650057057350374175801344) * + global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm + + mul_mod__carry0_0 - + 316912650057057350374175801344 + ) * (global_values.mul_mod__interaction_elm - 79228162514264337593543950336) - + ( + ( + column4_row955 + + (column4_row3003 + column4_row1979 * global_values.mul_mod__interaction_elm) * + global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + column4_row3515 + + ( + ( + column4_row1339 + + (column4_row3387 + column4_row827 * global_values.mul_mod__interaction_elm) * + global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + column4_row2571 + ) * ( + ( + mul_mod__p_multiplier1_0 + + ( + mul_mod__p_multiplier2_0 + + mul_mod__p_multiplier3_0 * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + mul_mod__p_multiplier0_0 + ) + ) + ) / domain17; + tempvar total_sum = total_sum + constraint_coefficients[418] * value; + return (res=total_sum); } @@ -10380,632 +10992,798 @@ func eval_oods_polynomial{range_check_ptr}( let (local pow4) = pow(trace_generator, 446469); let (local pow5) = pow(trace_generator, 409605); let (local pow6) = pow(trace_generator, 397825); - let (local pow7) = pow(trace_generator, 384833); - let (local pow8) = pow(trace_generator, 331521); - let (local pow9) = pow(trace_generator, 321541); - let (local pow10) = pow(trace_generator, 265217); - let (local pow11) = pow(trace_generator, 198913); - let (local pow12) = pow(trace_generator, 196417); - let (local pow13) = pow(trace_generator, 159749); - let (local pow14) = pow(trace_generator, 132609); - let (local pow15) = pow(trace_generator, 515843); - let (local pow16) = pow(trace_generator, 513027); - let (local pow17) = pow(trace_generator, 507457); - let (local pow18) = pow(trace_generator, 506305); - let (local pow19) = pow(trace_generator, 502019); - let (local pow20) = pow(trace_generator, 476934); - let (local pow21) = pow(trace_generator, 455939); - let (local pow22) = pow(trace_generator, 451267); - let (local pow23) = pow(trace_generator, 451011); - let (local pow24) = pow(trace_generator, 450755); - let (local pow25) = pow(trace_generator, 445190); - let (local pow26) = pow(trace_generator, 383425); - let (local pow27) = pow(trace_generator, 370691); - let (local pow28) = pow(trace_generator, 359621); - let (local pow29) = pow(trace_generator, 341763); - let (local pow30) = pow(trace_generator, 338115); - let (local pow31) = pow(trace_generator, 337859); - let (local pow32) = pow(trace_generator, 337603); - let (local pow33) = pow(trace_generator, 325893); - let (local pow34) = pow(trace_generator, 325123); - let (local pow35) = pow(trace_generator, 320963); - let (local pow36) = pow(trace_generator, 320707); - let (local pow37) = pow(trace_generator, 320451); - let (local pow38) = pow(trace_generator, 228163); - let (local pow39) = pow(trace_generator, 225027); - let (local pow40) = pow(trace_generator, 207875); - let (local pow41) = pow(trace_generator, 195009); - let (local pow42) = pow(trace_generator, 178433); - let (local pow43) = pow(trace_generator, 172803); - let (local pow44) = pow(trace_generator, 155397); - let (local pow45) = pow(trace_generator, 151043); - let (local pow46) = pow(trace_generator, 130435); - let (local pow47) = pow(trace_generator, 127491); - let (local pow48) = pow(trace_generator, 122246); - let (local pow49) = pow(trace_generator, 115715); - let (local pow50) = pow(trace_generator, 89283); - let (local pow51) = pow(trace_generator, 86275); - let (local pow52) = pow(trace_generator, 80133); - let (local pow53) = pow(trace_generator, 55939); - let (local pow54) = pow(trace_generator, 51971); - let (local pow55) = pow(trace_generator, 30977); - let (local pow56) = pow(trace_generator, 1); - local pow57 = pow56 * pow56; // pow(trace_generator, 2). - local pow58 = pow42 * pow57; // pow(trace_generator, 178435). - local pow59 = pow56 * pow57; // pow(trace_generator, 3). - local pow60 = pow56 * pow59; // pow(trace_generator, 4). - local pow61 = pow56 * pow60; // pow(trace_generator, 5). - local pow62 = pow56 * pow61; // pow(trace_generator, 6). - local pow63 = pow56 * pow62; // pow(trace_generator, 7). - local pow64 = pow56 * pow63; // pow(trace_generator, 8). - local pow65 = pow56 * pow64; // pow(trace_generator, 9). - local pow66 = pow56 * pow65; // pow(trace_generator, 10). - local pow67 = pow56 * pow66; // pow(trace_generator, 11). - local pow68 = pow56 * pow67; // pow(trace_generator, 12). - local pow69 = pow56 * pow68; // pow(trace_generator, 13). - local pow70 = pow56 * pow69; // pow(trace_generator, 14). - local pow71 = pow56 * pow70; // pow(trace_generator, 15). - local pow72 = pow56 * pow71; // pow(trace_generator, 16). - local pow73 = pow14 * pow72; // pow(trace_generator, 132625). - local pow74 = pow56 * pow72; // pow(trace_generator, 17). - local pow75 = pow56 * pow74; // pow(trace_generator, 18). - local pow76 = pow56 * pow75; // pow(trace_generator, 19). - local pow77 = pow56 * pow76; // pow(trace_generator, 20). - local pow78 = pow57 * pow77; // pow(trace_generator, 22). - local pow79 = pow57 * pow78; // pow(trace_generator, 24). - local pow80 = pow11 * pow72; // pow(trace_generator, 198929). - local pow81 = pow57 * pow79; // pow(trace_generator, 26). - local pow82 = pow56 * pow81; // pow(trace_generator, 27). - local pow83 = pow56 * pow82; // pow(trace_generator, 28). - local pow84 = pow57 * pow83; // pow(trace_generator, 30). - local pow85 = pow57 * pow84; // pow(trace_generator, 32). - local pow86 = pow57 * pow85; // pow(trace_generator, 34). - local pow87 = pow57 * pow86; // pow(trace_generator, 36). - local pow88 = pow57 * pow87; // pow(trace_generator, 38). - local pow89 = pow57 * pow88; // pow(trace_generator, 40). - local pow90 = pow57 * pow89; // pow(trace_generator, 42). - local pow91 = pow56 * pow90; // pow(trace_generator, 43). - local pow92 = pow56 * pow91; // pow(trace_generator, 44). - local pow93 = pow57 * pow92; // pow(trace_generator, 46). - local pow94 = pow57 * pow93; // pow(trace_generator, 48). - local pow95 = pow57 * pow94; // pow(trace_generator, 50). - local pow96 = pow57 * pow95; // pow(trace_generator, 52). - local pow97 = pow57 * pow96; // pow(trace_generator, 54). - local pow98 = pow57 * pow97; // pow(trace_generator, 56). - local pow99 = pow57 * pow98; // pow(trace_generator, 58). - local pow100 = pow57 * pow99; // pow(trace_generator, 60). - local pow101 = pow60 * pow100; // pow(trace_generator, 64). - local pow102 = pow21 * pow101; // pow(trace_generator, 456003). - local pow103 = pow29 * pow101; // pow(trace_generator, 341827). - local pow104 = pow34 * pow101; // pow(trace_generator, 325187). - local pow105 = pow41 * pow101; // pow(trace_generator, 195073). - local pow106 = pow52 * pow101; // pow(trace_generator, 80197). - local pow107 = pow57 * pow101; // pow(trace_generator, 66). - local pow108 = pow57 * pow107; // pow(trace_generator, 68). - local pow109 = pow56 * pow108; // pow(trace_generator, 69). - local pow110 = pow12 * pow101; // pow(trace_generator, 196481). - local pow111 = pow61 * pow109; // pow(trace_generator, 74). - local pow112 = pow56 * pow111; // pow(trace_generator, 75). - local pow113 = pow56 * pow112; // pow(trace_generator, 76). - local pow114 = pow57 * pow113; // pow(trace_generator, 78). - local pow115 = pow60 * pow114; // pow(trace_generator, 82). - local pow116 = pow57 * pow115; // pow(trace_generator, 84). - local pow117 = pow57 * pow116; // pow(trace_generator, 86). - local pow118 = pow62 * pow117; // pow(trace_generator, 92). - local pow119 = pow62 * pow118; // pow(trace_generator, 98). - local pow120 = pow57 * pow119; // pow(trace_generator, 100). - local pow121 = pow62 * pow120; // pow(trace_generator, 106). - local pow122 = pow57 * pow121; // pow(trace_generator, 108). - local pow123 = pow57 * pow122; // pow(trace_generator, 110). - local pow124 = pow60 * pow123; // pow(trace_generator, 114). - local pow125 = pow57 * pow124; // pow(trace_generator, 116). - local pow126 = pow57 * pow125; // pow(trace_generator, 118). - local pow127 = pow62 * pow126; // pow(trace_generator, 124). - local pow128 = pow60 * pow127; // pow(trace_generator, 128). - local pow129 = pow21 * pow128; // pow(trace_generator, 456067). - local pow130 = pow29 * pow128; // pow(trace_generator, 341891). - local pow131 = pow34 * pow128; // pow(trace_generator, 325251). - local pow132 = pow41 * pow128; // pow(trace_generator, 195137). - local pow133 = pow52 * pow128; // pow(trace_generator, 80261). - local pow134 = pow57 * pow128; // pow(trace_generator, 130). - local pow135 = pow59 * pow134; // pow(trace_generator, 133). - local pow136 = pow12 * pow128; // pow(trace_generator, 196545). - local pow137 = pow61 * pow135; // pow(trace_generator, 138). - local pow138 = pow56 * pow137; // pow(trace_generator, 139). - local pow139 = pow67 * pow138; // pow(trace_generator, 150). - local pow140 = pow60 * pow139; // pow(trace_generator, 154). - local pow141 = pow60 * pow140; // pow(trace_generator, 158). - local pow142 = pow69 * pow141; // pow(trace_generator, 171). - local pow143 = pow59 * pow142; // pow(trace_generator, 174). - local pow144 = pow57 * pow143; // pow(trace_generator, 176). - local pow145 = pow57 * pow144; // pow(trace_generator, 178). - local pow146 = pow57 * pow145; // pow(trace_generator, 180). - local pow147 = pow57 * pow146; // pow(trace_generator, 182). - local pow148 = pow57 * pow147; // pow(trace_generator, 184). - local pow149 = pow60 * pow148; // pow(trace_generator, 188). - local pow150 = pow60 * pow149; // pow(trace_generator, 192). - local pow151 = pow57 * pow150; // pow(trace_generator, 194). - local pow152 = pow55 * pow151; // pow(trace_generator, 31171). - local pow153 = pow56 * pow151; // pow(trace_generator, 195). - local pow154 = pow59 * pow153; // pow(trace_generator, 198). - local pow155 = pow60 * pow154; // pow(trace_generator, 202). - local pow156 = pow60 * pow155; // pow(trace_generator, 206). - local pow157 = pow64 * pow156; // pow(trace_generator, 214). - local pow158 = pow77 * pow157; // pow(trace_generator, 234). - local pow159 = pow56 * pow158; // pow(trace_generator, 235). - local pow160 = pow59 * pow159; // pow(trace_generator, 238). - local pow161 = pow57 * pow160; // pow(trace_generator, 240). - local pow162 = pow56 * pow161; // pow(trace_generator, 241). - local pow163 = pow56 * pow162; // pow(trace_generator, 242). - local pow164 = pow57 * pow163; // pow(trace_generator, 244). - local pow165 = pow60 * pow164; // pow(trace_generator, 248). - local pow166 = pow56 * pow165; // pow(trace_generator, 249). - local pow167 = pow59 * pow166; // pow(trace_generator, 252). - local pow168 = pow61 * pow167; // pow(trace_generator, 257). - local pow169 = pow57 * pow168; // pow(trace_generator, 259). - local pow170 = pow19 * pow169; // pow(trace_generator, 502278). - local pow171 = pow59 * pow169; // pow(trace_generator, 262). - local pow172 = pow60 * pow171; // pow(trace_generator, 266). - local pow173 = pow56 * pow172; // pow(trace_generator, 267). - local pow174 = pow62 * pow173; // pow(trace_generator, 273). - local pow175 = pow69 * pow174; // pow(trace_generator, 286). - local pow176 = pow68 * pow175; // pow(trace_generator, 298). - local pow177 = pow60 * pow176; // pow(trace_generator, 302). - local pow178 = pow145 * pow174; // pow(trace_generator, 451). - local pow179 = pow85 * pow177; // pow(trace_generator, 334). - local pow180 = pow67 * pow178; // pow(trace_generator, 462). - local pow181 = pow85 * pow179; // pow(trace_generator, 366). - local pow182 = pow85 * pow180; // pow(trace_generator, 494). - local pow183 = pow59 * pow182; // pow(trace_generator, 497). - local pow184 = pow64 * pow183; // pow(trace_generator, 505). - local pow185 = pow66 * pow184; // pow(trace_generator, 515). - local pow186 = pow59 * pow185; // pow(trace_generator, 518). - local pow187 = pow60 * pow186; // pow(trace_generator, 522). - local pow188 = pow56 * pow187; // pow(trace_generator, 523). - local pow189 = pow148 * pow188; // pow(trace_generator, 707). - local pow190 = pow120 * pow187; // pow(trace_generator, 622). - local pow191 = pow91 * pow189; // pow(trace_generator, 750). - local pow192 = pow76 * pow191; // pow(trace_generator, 769). - local pow193 = pow57 * pow192; // pow(trace_generator, 771). - local pow194 = pow57 * pow193; // pow(trace_generator, 773). - local pow195 = pow167 * pow194; // pow(trace_generator, 1025). - local pow196 = pow56 * pow194; // pow(trace_generator, 774). - local pow197 = pow60 * pow196; // pow(trace_generator, 778). - local pow198 = pow56 * pow197; // pow(trace_generator, 779). - local pow199 = pow148 * pow198; // pow(trace_generator, 963). - local pow200 = pow57 * pow195; // pow(trace_generator, 1027). - local pow201 = pow57 * pow200; // pow(trace_generator, 1029). - local pow202 = pow59 * pow198; // pow(trace_generator, 782). - local pow203 = pow56 * pow201; // pow(trace_generator, 1030). - local pow204 = pow60 * pow203; // pow(trace_generator, 1034). - local pow205 = pow56 * pow204; // pow(trace_generator, 1035). - local pow206 = pow148 * pow205; // pow(trace_generator, 1219). - local pow207 = pow101 * pow206; // pow(trace_generator, 1283). - local pow208 = pow59 * pow205; // pow(trace_generator, 1038). - local pow209 = pow59 * pow207; // pow(trace_generator, 1286). - local pow210 = pow60 * pow209; // pow(trace_generator, 1290). - local pow211 = pow56 * pow210; // pow(trace_generator, 1291). - local pow212 = pow148 * pow211; // pow(trace_generator, 1475). - local pow213 = pow165 * pow210; // pow(trace_generator, 1538). - local pow214 = pow56 * pow213; // pow(trace_generator, 1539). - local pow215 = pow59 * pow214; // pow(trace_generator, 1542). - local pow216 = pow60 * pow215; // pow(trace_generator, 1546). - local pow217 = pow56 * pow216; // pow(trace_generator, 1547). - local pow218 = pow148 * pow217; // pow(trace_generator, 1731). - local pow219 = pow76 * pow217; // pow(trace_generator, 1566). - local pow220 = pow60 * pow219; // pow(trace_generator, 1570). - local pow221 = pow64 * pow220; // pow(trace_generator, 1578). - local pow222 = pow108 * pow221; // pow(trace_generator, 1646). - local pow223 = pow91 * pow218; // pow(trace_generator, 1774). - local pow224 = pow128 * pow223; // pow(trace_generator, 1902). - local pow225 = pow101 * pow218; // pow(trace_generator, 1795). - local pow226 = pow150 * pow225; // pow(trace_generator, 1987). - local pow227 = pow59 * pow225; // pow(trace_generator, 1798). - local pow228 = pow79 * pow227; // pow(trace_generator, 1822). - local pow229 = pow122 * pow224; // pow(trace_generator, 2010). - local pow230 = pow64 * pow229; // pow(trace_generator, 2018). - local pow231 = pow68 * pow230; // pow(trace_generator, 2030). - local pow232 = pow66 * pow231; // pow(trace_generator, 2040). - local pow233 = pow60 * pow232; // pow(trace_generator, 2044). - local pow234 = pow57 * pow233; // pow(trace_generator, 2046). - local pow235 = pow57 * pow234; // pow(trace_generator, 2048). - local pow236 = pow57 * pow235; // pow(trace_generator, 2050). - local pow237 = pow56 * pow236; // pow(trace_generator, 2051). - local pow238 = pow56 * pow237; // pow(trace_generator, 2052). - local pow239 = pow56 * pow238; // pow(trace_generator, 2053). - local pow240 = pow56 * pow239; // pow(trace_generator, 2054). - local pow241 = pow60 * pow240; // pow(trace_generator, 2058). - local pow242 = pow56 * pow241; // pow(trace_generator, 2059). - local pow243 = pow148 * pow242; // pow(trace_generator, 2243). - local pow244 = pow99 * pow242; // pow(trace_generator, 2117). - local pow245 = pow101 * pow244; // pow(trace_generator, 2181). - local pow246 = pow101 * pow243; // pow(trace_generator, 2307). - local pow247 = pow56 * pow244; // pow(trace_generator, 2118). - local pow248 = pow89 * pow247; // pow(trace_generator, 2158). - local pow249 = pow91 * pow243; // pow(trace_generator, 2286). - local pow250 = pow56 * pow245; // pow(trace_generator, 2182). - local pow251 = pow59 * pow246; // pow(trace_generator, 2310). - local pow252 = pow60 * pow251; // pow(trace_generator, 2314). - local pow253 = pow56 * pow252; // pow(trace_generator, 2315). - local pow254 = pow148 * pow253; // pow(trace_generator, 2499). - local pow255 = pow101 * pow254; // pow(trace_generator, 2563). - local pow256 = pow150 * pow255; // pow(trace_generator, 2755). - local pow257 = pow101 * pow256; // pow(trace_generator, 2819). - local pow258 = pow120 * pow197; // pow(trace_generator, 878). - local pow259 = pow120 * pow252; // pow(trace_generator, 2414). - local pow260 = pow101 * pow259; // pow(trace_generator, 2478). - local pow261 = pow67 * pow254; // pow(trace_generator, 2510). - local pow262 = pow59 * pow255; // pow(trace_generator, 2566). - local pow263 = pow89 * pow262; // pow(trace_generator, 2606). - local pow264 = pow128 * pow263; // pow(trace_generator, 2734). - local pow265 = pow85 * pow263; // pow(trace_generator, 2638). - local pow266 = pow67 * pow256; // pow(trace_generator, 2766). - local pow267 = pow59 * pow257; // pow(trace_generator, 2822). - local pow268 = pow60 * pow267; // pow(trace_generator, 2826). - local pow269 = pow56 * pow268; // pow(trace_generator, 2827). - local pow270 = pow148 * pow269; // pow(trace_generator, 3011). - local pow271 = pow101 * pow270; // pow(trace_generator, 3075). - local pow272 = pow59 * pow271; // pow(trace_generator, 3078). - local pow273 = pow60 * pow272; // pow(trace_generator, 3082). - local pow274 = pow56 * pow273; // pow(trace_generator, 3083). - local pow275 = pow165 * pow274; // pow(trace_generator, 3331). - local pow276 = pow59 * pow275; // pow(trace_generator, 3334). - local pow277 = pow60 * pow276; // pow(trace_generator, 3338). - local pow278 = pow56 * pow277; // pow(trace_generator, 3339). - local pow279 = pow165 * pow278; // pow(trace_generator, 3587). - local pow280 = pow59 * pow279; // pow(trace_generator, 3590). - local pow281 = pow60 * pow280; // pow(trace_generator, 3594). - local pow282 = pow56 * pow281; // pow(trace_generator, 3595). - local pow283 = pow165 * pow282; // pow(trace_generator, 3843). - local pow284 = pow76 * pow282; // pow(trace_generator, 3614). - local pow285 = pow89 * pow284; // pow(trace_generator, 3654). - local pow286 = pow89 * pow285; // pow(trace_generator, 3694). - local pow287 = pow79 * pow286; // pow(trace_generator, 3718). - local pow288 = pow128 * pow286; // pow(trace_generator, 3822). - local pow289 = pow59 * pow283; // pow(trace_generator, 3846). - local pow290 = pow79 * pow289; // pow(trace_generator, 3870). - local pow291 = pow89 * pow290; // pow(trace_generator, 3910). - local pow292 = pow89 * pow291; // pow(trace_generator, 3950). - local pow293 = pow60 * pow292; // pow(trace_generator, 3954). - local pow294 = pow77 * pow293; // pow(trace_generator, 3974). - local pow295 = pow92 * pow294; // pow(trace_generator, 4018). - local pow296 = pow100 * pow295; // pow(trace_generator, 4078). - local pow297 = pow60 * pow296; // pow(trace_generator, 4082). - local pow298 = pow62 * pow297; // pow(trace_generator, 4088). - local pow299 = pow211 * pow298; // pow(trace_generator, 5379). - local pow300 = pow101 * pow299; // pow(trace_generator, 5443). - local pow301 = pow101 * pow300; // pow(trace_generator, 5507). - local pow302 = pow128 * pow301; // pow(trace_generator, 5635). - local pow303 = pow67 * pow298; // pow(trace_generator, 4099). - local pow304 = pow57 * pow303; // pow(trace_generator, 4101). - local pow305 = pow101 * pow304; // pow(trace_generator, 4165). - local pow306 = pow101 * pow305; // pow(trace_generator, 4229). - local pow307 = pow56 * pow304; // pow(trace_generator, 4102). - local pow308 = pow60 * pow307; // pow(trace_generator, 4106). - local pow309 = pow184 * pow308; // pow(trace_generator, 4611). - local pow310 = pow166 * pow308; // pow(trace_generator, 4355). - local pow311 = pow234 * pow310; // pow(trace_generator, 6401). - local pow312 = pow59 * pow309; // pow(trace_generator, 4614). - local pow313 = pow60 * pow312; // pow(trace_generator, 4618). - local pow314 = pow184 * pow313; // pow(trace_generator, 5123). - local pow315 = pow56 * pow313; // pow(trace_generator, 4619). - local pow316 = pow165 * pow315; // pow(trace_generator, 4867). - local pow317 = pow59 * pow299; // pow(trace_generator, 5382). - local pow318 = pow59 * pow300; // pow(trace_generator, 5446). - local pow319 = pow59 * pow301; // pow(trace_generator, 5510). - local pow320 = pow59 * pow302; // pow(trace_generator, 5638). - local pow321 = pow59 * pow314; // pow(trace_generator, 5126). - local pow322 = pow59 * pow316; // pow(trace_generator, 4870). - local pow323 = pow61 * pow320; // pow(trace_generator, 5643). - local pow324 = pow98 * pow323; // pow(trace_generator, 5699). - local pow325 = pow101 * pow324; // pow(trace_generator, 5763). - local pow326 = pow128 * pow325; // pow(trace_generator, 5891). - local pow327 = pow101 * pow326; // pow(trace_generator, 5955). - local pow328 = pow101 * pow327; // pow(trace_generator, 6019). - local pow329 = pow128 * pow328; // pow(trace_generator, 6147). - local pow330 = pow101 * pow329; // pow(trace_generator, 6211). - local pow331 = pow101 * pow330; // pow(trace_generator, 6275). - local pow332 = pow57 * pow311; // pow(trace_generator, 6403). - local pow333 = pow57 * pow332; // pow(trace_generator, 6405). - local pow334 = pow59 * pow329; // pow(trace_generator, 6150). - local pow335 = pow59 * pow326; // pow(trace_generator, 5894). - local pow336 = pow27 * pow324; // pow(trace_generator, 376390). - local pow337 = pow59 * pow310; // pow(trace_generator, 4358). - local pow338 = pow56 * pow333; // pow(trace_generator, 6406). - local pow339 = pow67 * pow338; // pow(trace_generator, 6417). - local pow340 = pow96 * pow339; // pow(trace_generator, 6469). - local pow341 = pow101 * pow340; // pow(trace_generator, 6533). - local pow342 = pow100 * pow341; // pow(trace_generator, 6593). - local pow343 = pow57 * pow342; // pow(trace_generator, 6595). - local pow344 = pow57 * pow343; // pow(trace_generator, 6597). - local pow345 = pow100 * pow344; // pow(trace_generator, 6657). - local pow346 = pow44 * pow345; // pow(trace_generator, 162054). - local pow347 = pow101 * pow345; // pow(trace_generator, 6721). - local pow348 = pow101 * pow347; // pow(trace_generator, 6785). - local pow349 = pow57 * pow348; // pow(trace_generator, 6787). - local pow350 = pow57 * pow349; // pow(trace_generator, 6789). - local pow351 = pow149 * pow350; // pow(trace_generator, 6977). - local pow352 = pow57 * pow351; // pow(trace_generator, 6979). - local pow353 = pow57 * pow352; // pow(trace_generator, 6981). - local pow354 = pow149 * pow353; // pow(trace_generator, 7169). - local pow355 = pow56 * pow340; // pow(trace_generator, 6470). - local pow356 = pow56 * pow341; // pow(trace_generator, 6534). - local pow357 = pow57 * pow354; // pow(trace_generator, 7171). - local pow358 = pow57 * pow357; // pow(trace_generator, 7173). - local pow359 = pow56 * pow344; // pow(trace_generator, 6598). - local pow360 = pow61 * pow345; // pow(trace_generator, 6662). - local pow361 = pow61 * pow347; // pow(trace_generator, 6726). - local pow362 = pow56 * pow350; // pow(trace_generator, 6790). - local pow363 = pow56 * pow353; // pow(trace_generator, 6982). - local pow364 = pow56 * pow358; // pow(trace_generator, 7174). - local pow365 = pow60 * pow364; // pow(trace_generator, 7178). - local pow366 = pow56 * pow365; // pow(trace_generator, 7179). - local pow367 = pow147 * pow366; // pow(trace_generator, 7361). - local pow368 = pow57 * pow367; // pow(trace_generator, 7363). - local pow369 = pow57 * pow368; // pow(trace_generator, 7365). - local pow370 = pow149 * pow369; // pow(trace_generator, 7553). - local pow371 = pow57 * pow370; // pow(trace_generator, 7555). - local pow372 = pow57 * pow371; // pow(trace_generator, 7557). - local pow373 = pow56 * pow369; // pow(trace_generator, 7366). - local pow374 = pow56 * pow372; // pow(trace_generator, 7558). - local pow375 = pow135 * pow374; // pow(trace_generator, 7691). - local pow376 = pow97 * pow375; // pow(trace_generator, 7745). - local pow377 = pow57 * pow376; // pow(trace_generator, 7747). - local pow378 = pow57 * pow377; // pow(trace_generator, 7749). - local pow379 = pow100 * pow378; // pow(trace_generator, 7809). - local pow380 = pow128 * pow379; // pow(trace_generator, 7937). - local pow381 = pow57 * pow380; // pow(trace_generator, 7939). - local pow382 = pow57 * pow381; // pow(trace_generator, 7941). - local pow383 = pow6 * pow382; // pow(trace_generator, 405766). - local pow384 = pow100 * pow382; // pow(trace_generator, 8001). - local pow385 = pow101 * pow384; // pow(trace_generator, 8065). - local pow386 = pow101 * pow385; // pow(trace_generator, 8129). - local pow387 = pow101 * pow386; // pow(trace_generator, 8193). - local pow388 = pow57 * pow387; // pow(trace_generator, 8195). - local pow389 = pow57 * pow388; // pow(trace_generator, 8197). - local pow390 = pow358 * pow389; // pow(trace_generator, 15370). - local pow391 = pow56 * pow378; // pow(trace_generator, 7750). - local pow392 = pow56 * pow382; // pow(trace_generator, 7942). - local pow393 = pow65 * pow389; // pow(trace_generator, 8206). - local pow394 = pow59 * pow393; // pow(trace_generator, 8209). - local pow395 = pow160 * pow388; // pow(trace_generator, 8433). - local pow396 = pow64 * pow395; // pow(trace_generator, 8441). - local pow397 = pow172 * pow396; // pow(trace_generator, 8707). - local pow398 = pow213 * pow397; // pow(trace_generator, 10245). - local pow399 = pow201 * pow398; // pow(trace_generator, 11274). - local pow400 = pow56 * pow399; // pow(trace_generator, 11275). - local pow401 = pow63 * pow397; // pow(trace_generator, 8714). - local pow402 = pow195 * pow401; // pow(trace_generator, 9739). - local pow403 = pow215 * pow398; // pow(trace_generator, 11787). - local pow404 = pow56 * pow401; // pow(trace_generator, 8715). - local pow405 = pow232 * pow404; // pow(trace_generator, 10755). - local pow406 = pow213 * pow405; // pow(trace_generator, 12293). - local pow407 = pow56 * pow390; // pow(trace_generator, 15371). - local pow408 = pow69 * pow406; // pow(trace_generator, 12306). - local pow409 = pow101 * pow408; // pow(trace_generator, 12370). - local pow410 = pow150 * pow409; // pow(trace_generator, 12562). - local pow411 = pow101 * pow410; // pow(trace_generator, 12626). - local pow412 = pow148 * pow411; // pow(trace_generator, 12810). - local pow413 = pow195 * pow412; // pow(trace_generator, 13835). - local pow414 = pow235 * pow413; // pow(trace_generator, 15883). - local pow415 = pow99 * pow414; // pow(trace_generator, 15941). - local pow416 = pow100 * pow415; // pow(trace_generator, 16001). - local pow417 = pow56 * pow412; // pow(trace_generator, 12811). - local pow418 = pow194 * pow407; // pow(trace_generator, 16144). - local pow419 = pow56 * pow418; // pow(trace_generator, 16145). - local pow420 = pow2 * pow101; // pow(trace_generator, 16146). - local pow421 = pow56 * pow420; // pow(trace_generator, 16147). - local pow422 = pow2 * pow107; // pow(trace_generator, 16148). - local pow423 = pow56 * pow422; // pow(trace_generator, 16149). - local pow424 = pow2 * pow108; // pow(trace_generator, 16150). - local pow425 = pow2 * pow109; // pow(trace_generator, 16151). - local pow426 = pow2 * pow114; // pow(trace_generator, 16160). - local pow427 = pow56 * pow426; // pow(trace_generator, 16161). - local pow428 = pow56 * pow427; // pow(trace_generator, 16162). - local pow429 = pow56 * pow428; // pow(trace_generator, 16163). - local pow430 = pow2 * pow115; // pow(trace_generator, 16164). - local pow431 = pow56 * pow430; // pow(trace_generator, 16165). - local pow432 = pow2 * pow116; // pow(trace_generator, 16166). - local pow433 = pow56 * pow432; // pow(trace_generator, 16167). - local pow434 = pow65 * pow433; // pow(trace_generator, 16176). - local pow435 = pow2 * pow123; // pow(trace_generator, 16192). - local pow436 = pow56 * pow435; // pow(trace_generator, 16193). - local pow437 = pow71 * pow436; // pow(trace_generator, 16208). - local pow438 = pow72 * pow437; // pow(trace_generator, 16224). - local pow439 = pow2 * pow141; // pow(trace_generator, 16240). - local pow440 = pow2 * pow143; // pow(trace_generator, 16256). - local pow441 = pow72 * pow440; // pow(trace_generator, 16272). - local pow442 = pow2 * pow156; // pow(trace_generator, 16288). - local pow443 = pow72 * pow442; // pow(trace_generator, 16304). - local pow444 = pow2 * pow160; // pow(trace_generator, 16320). - local pow445 = pow2 * pow161; // pow(trace_generator, 16322). - local pow446 = pow2 * pow164; // pow(trace_generator, 16326). - local pow447 = pow66 * pow446; // pow(trace_generator, 16336). - local pow448 = pow60 * pow447; // pow(trace_generator, 16340). - local pow449 = pow62 * pow448; // pow(trace_generator, 16346). - local pow450 = pow62 * pow449; // pow(trace_generator, 16352). - local pow451 = pow57 * pow450; // pow(trace_generator, 16354). - local pow452 = pow60 * pow451; // pow(trace_generator, 16358). - local pow453 = pow1 * pow64; // pow(trace_generator, 32662). - local pow454 = pow60 * pow452; // pow(trace_generator, 16362). - local pow455 = pow2 * pow175; // pow(trace_generator, 16368). - local pow456 = pow13 * pow56; // pow(trace_generator, 159750). - local pow457 = pow66 * pow396; // pow(trace_generator, 8451). - local pow458 = pow60 * pow455; // pow(trace_generator, 16372). - local pow459 = pow62 * pow458; // pow(trace_generator, 16378). - local pow460 = pow2 * pow177; // pow(trace_generator, 16384). - local pow461 = pow399 * pow460; // pow(trace_generator, 27658). - local pow462 = pow397 * pow460; // pow(trace_generator, 25091). - local pow463 = pow311 * pow460; // pow(trace_generator, 22785). - local pow464 = pow236 * pow463; // pow(trace_generator, 24835). - local pow465 = pow329 * pow460; // pow(trace_generator, 22531). - local pow466 = pow234 * pow465; // pow(trace_generator, 24577). - local pow467 = pow57 * pow466; // pow(trace_generator, 24579). - local pow468 = pow101 * pow465; // pow(trace_generator, 22595). - local pow469 = pow101 * pow468; // pow(trace_generator, 22659). - local pow470 = pow270 * pow460; // pow(trace_generator, 19395). - local pow471 = pow256 * pow460; // pow(trace_generator, 19139). - local pow472 = pow254 * pow460; // pow(trace_generator, 18883). - local pow473 = pow186 * pow460; // pow(trace_generator, 16902). - local pow474 = pow201 * pow473; // pow(trace_generator, 17931). - local pow475 = pow235 * pow474; // pow(trace_generator, 19979). - local pow476 = pow235 * pow475; // pow(trace_generator, 22027). - local pow477 = pow210 * pow463; // pow(trace_generator, 24075). - local pow478 = pow126 * pow477; // pow(trace_generator, 24193). - local pow479 = pow60 * pow460; // pow(trace_generator, 16388). - local pow480 = pow272 * pow479; // pow(trace_generator, 19466). - local pow481 = pow56 * pow480; // pow(trace_generator, 19467). - local pow482 = pow85 * pow479; // pow(trace_generator, 16420). - local pow483 = pow57 * pow467; // pow(trace_generator, 24581). - local pow484 = pow65 * pow483; // pow(trace_generator, 24590). - local pow485 = pow1 * pow98; // pow(trace_generator, 32710). - local pow486 = pow215 * pow483; // pow(trace_generator, 26123). - local pow487 = pow165 * pow486; // pow(trace_generator, 26371). - local pow488 = pow283 * pow487; // pow(trace_generator, 30214). - local pow489 = pow70 * pow485; // pow(trace_generator, 32724). - local pow490 = pow57 * pow489; // pow(trace_generator, 32726). - local pow491 = pow72 * pow490; // pow(trace_generator, 32742). - local pow492 = pow70 * pow491; // pow(trace_generator, 32756). - local pow493 = pow57 * pow492; // pow(trace_generator, 32758). - local pow494 = pow1 * pow124; // pow(trace_generator, 32768). - local pow495 = pow494 * pow494; // pow(trace_generator, 65536). - local pow496 = pow494 * pow495; // pow(trace_generator, 98304). - local pow497 = pow494 * pow496; // pow(trace_generator, 131072). - local pow498 = pow494 * pow497; // pow(trace_generator, 163840). - local pow499 = pow494 * pow498; // pow(trace_generator, 196608). - local pow500 = pow494 * pow499; // pow(trace_generator, 229376). - local pow501 = pow342 * pow500; // pow(trace_generator, 235969). - local pow502 = pow207 * pow500; // pow(trace_generator, 230659). - local pow503 = pow494 * pow500; // pow(trace_generator, 262144). - local pow504 = pow494 * pow503; // pow(trace_generator, 294912). - local pow505 = pow494 * pow504; // pow(trace_generator, 327680). - local pow506 = pow494 * pow505; // pow(trace_generator, 360448). - local pow507 = pow494 * pow506; // pow(trace_generator, 393216). - local pow508 = pow61 * pow506; // pow(trace_generator, 360453). - local pow509 = pow13 * pow506; // pow(trace_generator, 520197). - local pow510 = pow367 * pow506; // pow(trace_generator, 367809). - local pow511 = pow342 * pow508; // pow(trace_generator, 367046). - local pow512 = pow357 * pow504; // pow(trace_generator, 302083). - local pow513 = pow494 * pow507; // pow(trace_generator, 425984). - local pow514 = pow42 * pow500; // pow(trace_generator, 407809). - local pow515 = pow384 * pow500; // pow(trace_generator, 237377). - local pow516 = pow494 * pow513; // pow(trace_generator, 458752). - local pow517 = pow494 * pow516; // pow(trace_generator, 491520). - local pow518 = pow18 * pow435; // pow(trace_generator, 522497). - local pow519 = pow436 * pow517; // pow(trace_generator, 507713). - local pow520 = pow463 * pow516; // pow(trace_generator, 481537). - local pow521 = pow377 * pow516; // pow(trace_generator, 466499). - local pow522 = pow316 * pow516; // pow(trace_generator, 463619). - local pow523 = pow26 * pow106; // pow(trace_generator, 463622). - local pow524 = pow478 * pow516; // pow(trace_generator, 482945). - local pow525 = pow370 * pow500; // pow(trace_generator, 236929). - local pow526 = pow389 * pow499; // pow(trace_generator, 204805). - local pow527 = pow342 * pow526; // pow(trace_generator, 211398). - local pow528 = pow101 * pow526; // pow(trace_generator, 204869). - local pow529 = pow101 * pow528; // pow(trace_generator, 204933). - local pow530 = pow40 * pow279; // pow(trace_generator, 211462). - local pow531 = pow101 * pow530; // pow(trace_generator, 211526). - local pow532 = pow372 * pow498; // pow(trace_generator, 171397). - local pow533 = pow214 * pow498; // pow(trace_generator, 165379). - local pow534 = pow316 * pow533; // pow(trace_generator, 170246). - local pow535 = pow59 * pow533; // pow(trace_generator, 165382). - local pow536 = pow416 * pow498; // pow(trace_generator, 179841). - local pow537 = pow416 * pow507; // pow(trace_generator, 409217). - local pow538 = pow5 * pow342; // pow(trace_generator, 416198). - local pow539 = pow40 * pow40; // pow(trace_generator, 415750). - local pow540 = pow304 * pow498; // pow(trace_generator, 167941). - local pow541 = pow61 * pow516; // pow(trace_generator, 458757). - local pow542 = pow31 * pow47; // pow(trace_generator, 465350). - local pow543 = pow389 * pow504; // pow(trace_generator, 303109). - local pow544 = pow342 * pow543; // pow(trace_generator, 309702). - local pow545 = pow192 * pow495; // pow(trace_generator, 66305). - local pow546 = pow72 * pow545; // pow(trace_generator, 66321). - local pow547 = pow398 * pow495; // pow(trace_generator, 75781). - local pow548 = pow101 * pow547; // pow(trace_generator, 75845). - local pow549 = pow101 * pow548; // pow(trace_generator, 75909). - local pow550 = pow380 * pow495; // pow(trace_generator, 73473). - local pow551 = pow333 * pow495; // pow(trace_generator, 71941). - local pow552 = pow333 * pow504; // pow(trace_generator, 301317). - local pow553 = pow275 * pow495; // pow(trace_generator, 68867). - local pow554 = pow255 * pow553; // pow(trace_generator, 71430). - local pow555 = pow239 * pow495; // pow(trace_generator, 67589). - local pow556 = pow56 * pow547; // pow(trace_generator, 75782). - local pow557 = pow56 * pow548; // pow(trace_generator, 75846). - local pow558 = pow56 * pow549; // pow(trace_generator, 75910). - local pow559 = pow239 * pow504; // pow(trace_generator, 296965). - local pow560 = pow234 * pow559; // pow(trace_generator, 299011). - local pow561 = pow195 * pow543; // pow(trace_generator, 304134). - local pow562 = pow4 * pow495; // pow(trace_generator, 512005). - local pow563 = pow101 * pow562; // pow(trace_generator, 512069). - local pow564 = pow101 * pow563; // pow(trace_generator, 512133). - local pow565 = pow273 * pow494; // pow(trace_generator, 35850). - local pow566 = pow462 * pow494; // pow(trace_generator, 57859). - local pow567 = pow462 * pow496; // pow(trace_generator, 123395). - local pow568 = pow553 * pow567; // pow(trace_generator, 192262). - local pow569 = pow101 * pow568; // pow(trace_generator, 192326). - local pow570 = pow101 * pow569; // pow(trace_generator, 192390). - local pow571 = pow38 * pow254; // pow(trace_generator, 230662). - local pow572 = pow462 * pow500; // pow(trace_generator, 254467). - local pow573 = pow47 * pow572; // pow(trace_generator, 381958). - local pow574 = pow6 * pow72; // pow(trace_generator, 397841). - local pow575 = pow462 * pow505; // pow(trace_generator, 352771). - local pow576 = pow33 * pow55; // pow(trace_generator, 356870). - local pow577 = pow464 * pow494; // pow(trace_generator, 57603). - local pow578 = pow464 * pow496; // pow(trace_generator, 123139). - local pow579 = pow43 * pow246; // pow(trace_generator, 175110). - local pow580 = pow464 * pow500; // pow(trace_generator, 254211). - local pow581 = pow466 * pow494; // pow(trace_generator, 57345). - local pow582 = pow14 * pow52; // pow(trace_generator, 212742). - local pow583 = pow466 * pow496; // pow(trace_generator, 122881). - local pow584 = pow33 * pow583; // pow(trace_generator, 448774). - local pow585 = pow3 * pow72; // pow(trace_generator, 464145). - local pow586 = pow16 * pow207; // pow(trace_generator, 514310). - local pow587 = pow101 * pow586; // pow(trace_generator, 514374). - local pow588 = pow17 * pow353; // pow(trace_generator, 514438). - local pow589 = pow57 * pow581; // pow(trace_generator, 57347). - local pow590 = pow16 * pow169; // pow(trace_generator, 513286). - local pow591 = pow101 * pow590; // pow(trace_generator, 513350). - local pow592 = pow57 * pow583; // pow(trace_generator, 122883). - local pow593 = pow43 * pow592; // pow(trace_generator, 295686). - local pow594 = pow14 * pow547; // pow(trace_generator, 208390). - local pow595 = pow14 * pow548; // pow(trace_generator, 208454). - local pow596 = pow14 * pow549; // pow(trace_generator, 208518). - local pow597 = pow57 * pow589; // pow(trace_generator, 57349). - local pow598 = pow57 * pow592; // pow(trace_generator, 122885). - local pow599 = pow101 * pow591; // pow(trace_generator, 513414). - local pow600 = pow466 * pow500; // pow(trace_generator, 253953). - local pow601 = pow466 * pow517; // pow(trace_generator, 516097). - local pow602 = pow57 * pow600; // pow(trace_generator, 253955). - local pow603 = pow553 * pow602; // pow(trace_generator, 322822). - local pow604 = pow8 * pow72; // pow(trace_generator, 331537). - local pow605 = pow57 * pow601; // pow(trace_generator, 516099). - local pow606 = pow57 * pow602; // pow(trace_generator, 253957). - local pow607 = pow57 * pow605; // pow(trace_generator, 516101). - local pow608 = pow15 * pow169; // pow(trace_generator, 516102). - local pow609 = pow33 * pow494; // pow(trace_generator, 358661). - local pow610 = pow33 * pow499; // pow(trace_generator, 522501). - local pow611 = pow18 * pow460; // pow(trace_generator, 522689). - local pow612 = pow169 * pow506; // pow(trace_generator, 360707). - local pow613 = pow237 * pow612; // pow(trace_generator, 362758). - local pow614 = pow9 * pow494; // pow(trace_generator, 354309). - local pow615 = pow235 * pow486; // pow(trace_generator, 28171). - local pow616 = pow61 * pow488; // pow(trace_generator, 30219). - local pow617 = pow55 * pow210; // pow(trace_generator, 32267). - local pow618 = pow126 * pow617; // pow(trace_generator, 32385). - local pow619 = pow65 * pow597; // pow(trace_generator, 57358). - local pow620 = pow49 * pow366; // pow(trace_generator, 122894). - local pow621 = pow10 * pow72; // pow(trace_generator, 265233). - local pow622 = pow65 * pow606; // pow(trace_generator, 253966). - local pow623 = pow15 * pow173; // pow(trace_generator, 516110). - local pow624 = pow15 * pow178; // pow(trace_generator, 516294). - local pow625 = pow15 * pow182; // pow(trace_generator, 516337). - local pow626 = pow64 * pow625; // pow(trace_generator, 516345). - local pow627 = pow172 * pow626; // pow(trace_generator, 516611). - local pow628 = pow59 * pow623; // pow(trace_generator, 516113). - local pow629 = pow66 * pow626; // pow(trace_generator, 516355). - local pow630 = pow15 * pow185; // pow(trace_generator, 516358). - local pow631 = pow56 * pow610; // pow(trace_generator, 522502). - local pow632 = pow61 * pow611; // pow(trace_generator, 522694). + let (local pow7) = pow(trace_generator, 331521); + let (local pow8) = pow(trace_generator, 321541); + let (local pow9) = pow(trace_generator, 265217); + let (local pow10) = pow(trace_generator, 198913); + let (local pow11) = pow(trace_generator, 196417); + let (local pow12) = pow(trace_generator, 159749); + let (local pow13) = pow(trace_generator, 132609); + let (local pow14) = pow(trace_generator, 515843); + let (local pow15) = pow(trace_generator, 513027); + let (local pow16) = pow(trace_generator, 507457); + let (local pow17) = pow(trace_generator, 506305); + let (local pow18) = pow(trace_generator, 502019); + let (local pow19) = pow(trace_generator, 476934); + let (local pow20) = pow(trace_generator, 455939); + let (local pow21) = pow(trace_generator, 451267); + let (local pow22) = pow(trace_generator, 451011); + let (local pow23) = pow(trace_generator, 450755); + let (local pow24) = pow(trace_generator, 445190); + let (local pow25) = pow(trace_generator, 370691); + let (local pow26) = pow(trace_generator, 359621); + let (local pow27) = pow(trace_generator, 341763); + let (local pow28) = pow(trace_generator, 338115); + let (local pow29) = pow(trace_generator, 337859); + let (local pow30) = pow(trace_generator, 337603); + let (local pow31) = pow(trace_generator, 325893); + let (local pow32) = pow(trace_generator, 325123); + let (local pow33) = pow(trace_generator, 320963); + let (local pow34) = pow(trace_generator, 320707); + let (local pow35) = pow(trace_generator, 320451); + let (local pow36) = pow(trace_generator, 228163); + let (local pow37) = pow(trace_generator, 225027); + let (local pow38) = pow(trace_generator, 207875); + let (local pow39) = pow(trace_generator, 178433); + let (local pow40) = pow(trace_generator, 172803); + let (local pow41) = pow(trace_generator, 155397); + let (local pow42) = pow(trace_generator, 151043); + let (local pow43) = pow(trace_generator, 130435); + let (local pow44) = pow(trace_generator, 127491); + let (local pow45) = pow(trace_generator, 122246); + let (local pow46) = pow(trace_generator, 115715); + let (local pow47) = pow(trace_generator, 89283); + let (local pow48) = pow(trace_generator, 86275); + let (local pow49) = pow(trace_generator, 80133); + let (local pow50) = pow(trace_generator, 55939); + let (local pow51) = pow(trace_generator, 51971); + let (local pow52) = pow(trace_generator, 30977); + let (local pow53) = pow(trace_generator, 1); + local pow54 = pow53 * pow53; // pow(trace_generator, 2). + local pow55 = pow39 * pow54; // pow(trace_generator, 178435). + local pow56 = pow53 * pow54; // pow(trace_generator, 3). + local pow57 = pow53 * pow56; // pow(trace_generator, 4). + local pow58 = pow53 * pow57; // pow(trace_generator, 5). + local pow59 = pow53 * pow58; // pow(trace_generator, 6). + local pow60 = pow53 * pow59; // pow(trace_generator, 7). + local pow61 = pow53 * pow60; // pow(trace_generator, 8). + local pow62 = pow53 * pow61; // pow(trace_generator, 9). + local pow63 = pow53 * pow62; // pow(trace_generator, 10). + local pow64 = pow53 * pow63; // pow(trace_generator, 11). + local pow65 = pow53 * pow64; // pow(trace_generator, 12). + local pow66 = pow53 * pow65; // pow(trace_generator, 13). + local pow67 = pow53 * pow66; // pow(trace_generator, 14). + local pow68 = pow53 * pow67; // pow(trace_generator, 15). + local pow69 = pow53 * pow68; // pow(trace_generator, 16). + local pow70 = pow13 * pow69; // pow(trace_generator, 132625). + local pow71 = pow53 * pow69; // pow(trace_generator, 17). + local pow72 = pow53 * pow71; // pow(trace_generator, 18). + local pow73 = pow53 * pow72; // pow(trace_generator, 19). + local pow74 = pow53 * pow73; // pow(trace_generator, 20). + local pow75 = pow54 * pow74; // pow(trace_generator, 22). + local pow76 = pow54 * pow75; // pow(trace_generator, 24). + local pow77 = pow54 * pow76; // pow(trace_generator, 26). + local pow78 = pow53 * pow77; // pow(trace_generator, 27). + local pow79 = pow53 * pow78; // pow(trace_generator, 28). + local pow80 = pow54 * pow79; // pow(trace_generator, 30). + local pow81 = pow54 * pow80; // pow(trace_generator, 32). + local pow82 = pow54 * pow81; // pow(trace_generator, 34). + local pow83 = pow54 * pow82; // pow(trace_generator, 36). + local pow84 = pow54 * pow83; // pow(trace_generator, 38). + local pow85 = pow54 * pow84; // pow(trace_generator, 40). + local pow86 = pow54 * pow85; // pow(trace_generator, 42). + local pow87 = pow53 * pow86; // pow(trace_generator, 43). + local pow88 = pow53 * pow87; // pow(trace_generator, 44). + local pow89 = pow54 * pow88; // pow(trace_generator, 46). + local pow90 = pow54 * pow89; // pow(trace_generator, 48). + local pow91 = pow54 * pow90; // pow(trace_generator, 50). + local pow92 = pow54 * pow91; // pow(trace_generator, 52). + local pow93 = pow54 * pow92; // pow(trace_generator, 54). + local pow94 = pow54 * pow93; // pow(trace_generator, 56). + local pow95 = pow54 * pow94; // pow(trace_generator, 58). + local pow96 = pow53 * pow95; // pow(trace_generator, 59). + local pow97 = pow53 * pow96; // pow(trace_generator, 60). + local pow98 = pow57 * pow97; // pow(trace_generator, 64). + local pow99 = pow20 * pow98; // pow(trace_generator, 456003). + local pow100 = pow27 * pow98; // pow(trace_generator, 341827). + local pow101 = pow32 * pow98; // pow(trace_generator, 325187). + local pow102 = pow49 * pow98; // pow(trace_generator, 80197). + local pow103 = pow11 * pow98; // pow(trace_generator, 196481). + local pow104 = pow54 * pow98; // pow(trace_generator, 66). + local pow105 = pow54 * pow104; // pow(trace_generator, 68). + local pow106 = pow53 * pow105; // pow(trace_generator, 69). + local pow107 = pow58 * pow106; // pow(trace_generator, 74). + local pow108 = pow53 * pow107; // pow(trace_generator, 75). + local pow109 = pow53 * pow108; // pow(trace_generator, 76). + local pow110 = pow54 * pow109; // pow(trace_generator, 78). + local pow111 = pow57 * pow110; // pow(trace_generator, 82). + local pow112 = pow54 * pow111; // pow(trace_generator, 84). + local pow113 = pow54 * pow112; // pow(trace_generator, 86). + local pow114 = pow57 * pow113; // pow(trace_generator, 90). + local pow115 = pow53 * pow114; // pow(trace_generator, 91). + local pow116 = pow53 * pow115; // pow(trace_generator, 92). + local pow117 = pow59 * pow116; // pow(trace_generator, 98). + local pow118 = pow54 * pow117; // pow(trace_generator, 100). + local pow119 = pow59 * pow118; // pow(trace_generator, 106). + local pow120 = pow54 * pow119; // pow(trace_generator, 108). + local pow121 = pow54 * pow120; // pow(trace_generator, 110). + local pow122 = pow57 * pow121; // pow(trace_generator, 114). + local pow123 = pow54 * pow122; // pow(trace_generator, 116). + local pow124 = pow54 * pow123; // pow(trace_generator, 118). + local pow125 = pow59 * pow124; // pow(trace_generator, 124). + local pow126 = pow57 * pow125; // pow(trace_generator, 128). + local pow127 = pow20 * pow126; // pow(trace_generator, 456067). + local pow128 = pow27 * pow126; // pow(trace_generator, 341891). + local pow129 = pow32 * pow126; // pow(trace_generator, 325251). + local pow130 = pow49 * pow126; // pow(trace_generator, 80261). + local pow131 = pow11 * pow126; // pow(trace_generator, 196545). + local pow132 = pow54 * pow126; // pow(trace_generator, 130). + local pow133 = pow56 * pow132; // pow(trace_generator, 133). + local pow134 = pow58 * pow133; // pow(trace_generator, 138). + local pow135 = pow53 * pow134; // pow(trace_generator, 139). + local pow136 = pow64 * pow135; // pow(trace_generator, 150). + local pow137 = pow57 * pow136; // pow(trace_generator, 154). + local pow138 = pow57 * pow137; // pow(trace_generator, 158). + local pow139 = pow66 * pow138; // pow(trace_generator, 171). + local pow140 = pow56 * pow139; // pow(trace_generator, 174). + local pow141 = pow54 * pow140; // pow(trace_generator, 176). + local pow142 = pow54 * pow141; // pow(trace_generator, 178). + local pow143 = pow54 * pow142; // pow(trace_generator, 180). + local pow144 = pow54 * pow143; // pow(trace_generator, 182). + local pow145 = pow54 * pow144; // pow(trace_generator, 184). + local pow146 = pow54 * pow145; // pow(trace_generator, 186). + local pow147 = pow53 * pow146; // pow(trace_generator, 187). + local pow148 = pow53 * pow147; // pow(trace_generator, 188). + local pow149 = pow57 * pow148; // pow(trace_generator, 192). + local pow150 = pow54 * pow149; // pow(trace_generator, 194). + local pow151 = pow52 * pow150; // pow(trace_generator, 31171). + local pow152 = pow53 * pow150; // pow(trace_generator, 195). + local pow153 = pow56 * pow152; // pow(trace_generator, 198). + local pow154 = pow57 * pow153; // pow(trace_generator, 202). + local pow155 = pow57 * pow154; // pow(trace_generator, 206). + local pow156 = pow61 * pow155; // pow(trace_generator, 214). + local pow157 = pow57 * pow156; // pow(trace_generator, 218). + local pow158 = pow53 * pow157; // pow(trace_generator, 219). + local pow159 = pow68 * pow158; // pow(trace_generator, 234). + local pow160 = pow53 * pow159; // pow(trace_generator, 235). + local pow161 = pow56 * pow160; // pow(trace_generator, 238). + local pow162 = pow54 * pow161; // pow(trace_generator, 240). + local pow163 = pow53 * pow162; // pow(trace_generator, 241). + local pow164 = pow53 * pow163; // pow(trace_generator, 242). + local pow165 = pow54 * pow164; // pow(trace_generator, 244). + local pow166 = pow57 * pow165; // pow(trace_generator, 248). + local pow167 = pow53 * pow166; // pow(trace_generator, 249). + local pow168 = pow56 * pow167; // pow(trace_generator, 252). + local pow169 = pow58 * pow168; // pow(trace_generator, 257). + local pow170 = pow54 * pow169; // pow(trace_generator, 259). + local pow171 = pow18 * pow170; // pow(trace_generator, 502278). + local pow172 = pow56 * pow170; // pow(trace_generator, 262). + local pow173 = pow57 * pow172; // pow(trace_generator, 266). + local pow174 = pow53 * pow173; // pow(trace_generator, 267). + local pow175 = pow59 * pow174; // pow(trace_generator, 273). + local pow176 = pow66 * pow175; // pow(trace_generator, 286). + local pow177 = pow65 * pow176; // pow(trace_generator, 298). + local pow178 = pow57 * pow177; // pow(trace_generator, 302). + local pow179 = pow57 * pow178; // pow(trace_generator, 306). + local pow180 = pow61 * pow179; // pow(trace_generator, 314). + local pow181 = pow53 * pow180; // pow(trace_generator, 315). + local pow182 = pow73 * pow181; // pow(trace_generator, 334). + local pow183 = pow65 * pow182; // pow(trace_generator, 346). + local pow184 = pow53 * pow183; // pow(trace_generator, 347). + local pow185 = pow73 * pow184; // pow(trace_generator, 366). + local pow186 = pow57 * pow185; // pow(trace_generator, 370). + local pow187 = pow88 * pow186; // pow(trace_generator, 414). + local pow188 = pow74 * pow187; // pow(trace_generator, 434). + local pow189 = pow61 * pow188; // pow(trace_generator, 442). + local pow190 = pow53 * pow189; // pow(trace_generator, 443). + local pow191 = pow61 * pow190; // pow(trace_generator, 451). + local pow192 = pow64 * pow191; // pow(trace_generator, 462). + local pow193 = pow65 * pow192; // pow(trace_generator, 474). + local pow194 = pow53 * pow193; // pow(trace_generator, 475). + local pow195 = pow73 * pow194; // pow(trace_generator, 494). + local pow196 = pow56 * pow195; // pow(trace_generator, 497). + local pow197 = pow53 * pow196; // pow(trace_generator, 498). + local pow198 = pow60 * pow197; // pow(trace_generator, 505). + local pow199 = pow63 * pow198; // pow(trace_generator, 515). + local pow200 = pow56 * pow199; // pow(trace_generator, 518). + local pow201 = pow57 * pow200; // pow(trace_generator, 522). + local pow202 = pow85 * pow201; // pow(trace_generator, 562). + local pow203 = pow61 * pow202; // pow(trace_generator, 570). + local pow204 = pow81 * pow203; // pow(trace_generator, 602). + local pow205 = pow53 * pow201; // pow(trace_generator, 523). + local pow206 = pow53 * pow203; // pow(trace_generator, 571). + local pow207 = pow53 * pow204; // pow(trace_generator, 603). + local pow208 = pow73 * pow207; // pow(trace_generator, 622). + local pow209 = pow57 * pow208; // pow(trace_generator, 626). + local pow210 = pow88 * pow209; // pow(trace_generator, 670). + local pow211 = pow74 * pow210; // pow(trace_generator, 690). + local pow212 = pow61 * pow211; // pow(trace_generator, 698). + local pow213 = pow81 * pow212; // pow(trace_generator, 730). + local pow214 = pow53 * pow212; // pow(trace_generator, 699). + local pow215 = pow61 * pow214; // pow(trace_generator, 707). + local pow216 = pow53 * pow213; // pow(trace_generator, 731). + local pow217 = pow73 * pow216; // pow(trace_generator, 750). + local pow218 = pow57 * pow217; // pow(trace_generator, 754). + local pow219 = pow68 * pow218; // pow(trace_generator, 769). + local pow220 = pow54 * pow219; // pow(trace_generator, 771). + local pow221 = pow54 * pow220; // pow(trace_generator, 773). + local pow222 = pow53 * pow221; // pow(trace_generator, 774). + local pow223 = pow57 * pow222; // pow(trace_generator, 778). + local pow224 = pow53 * pow223; // pow(trace_generator, 779). + local pow225 = pow56 * pow224; // pow(trace_generator, 782). + local pow226 = pow83 * pow225; // pow(trace_generator, 818). + local pow227 = pow61 * pow226; // pow(trace_generator, 826). + local pow228 = pow81 * pow227; // pow(trace_generator, 858). + local pow229 = pow53 * pow227; // pow(trace_generator, 827). + local pow230 = pow53 * pow228; // pow(trace_generator, 859). + local pow231 = pow73 * pow230; // pow(trace_generator, 878). + local pow232 = pow57 * pow231; // pow(trace_generator, 882). + local pow233 = pow88 * pow232; // pow(trace_generator, 926). + local pow234 = pow74 * pow233; // pow(trace_generator, 946). + local pow235 = pow61 * pow234; // pow(trace_generator, 954). + local pow236 = pow81 * pow235; // pow(trace_generator, 986). + local pow237 = pow53 * pow235; // pow(trace_generator, 955). + local pow238 = pow61 * pow237; // pow(trace_generator, 963). + local pow239 = pow53 * pow236; // pow(trace_generator, 987). + local pow240 = pow76 * pow236; // pow(trace_generator, 1010). + local pow241 = pow68 * pow240; // pow(trace_generator, 1025). + local pow242 = pow54 * pow241; // pow(trace_generator, 1027). + local pow243 = pow54 * pow242; // pow(trace_generator, 1029). + local pow244 = pow53 * pow243; // pow(trace_generator, 1030). + local pow245 = pow57 * pow244; // pow(trace_generator, 1034). + local pow246 = pow53 * pow245; // pow(trace_generator, 1035). + local pow247 = pow56 * pow246; // pow(trace_generator, 1038). + local pow248 = pow83 * pow247; // pow(trace_generator, 1074). + local pow249 = pow61 * pow248; // pow(trace_generator, 1082). + local pow250 = pow81 * pow249; // pow(trace_generator, 1114). + local pow251 = pow53 * pow249; // pow(trace_generator, 1083). + local pow252 = pow53 * pow250; // pow(trace_generator, 1115). + local pow253 = pow76 * pow250; // pow(trace_generator, 1138). + local pow254 = pow88 * pow253; // pow(trace_generator, 1182). + local pow255 = pow74 * pow254; // pow(trace_generator, 1202). + local pow256 = pow61 * pow255; // pow(trace_generator, 1210). + local pow257 = pow81 * pow256; // pow(trace_generator, 1242). + local pow258 = pow53 * pow256; // pow(trace_generator, 1211). + local pow259 = pow61 * pow258; // pow(trace_generator, 1219). + local pow260 = pow53 * pow257; // pow(trace_generator, 1243). + local pow261 = pow76 * pow257; // pow(trace_generator, 1266). + local pow262 = pow71 * pow261; // pow(trace_generator, 1283). + local pow263 = pow56 * pow262; // pow(trace_generator, 1286). + local pow264 = pow57 * pow263; // pow(trace_generator, 1290). + local pow265 = pow53 * pow264; // pow(trace_generator, 1291). + local pow266 = pow85 * pow264; // pow(trace_generator, 1330). + local pow267 = pow61 * pow266; // pow(trace_generator, 1338). + local pow268 = pow81 * pow267; // pow(trace_generator, 1370). + local pow269 = pow76 * pow268; // pow(trace_generator, 1394). + local pow270 = pow88 * pow269; // pow(trace_generator, 1438). + local pow271 = pow74 * pow270; // pow(trace_generator, 1458). + local pow272 = pow61 * pow271; // pow(trace_generator, 1466). + local pow273 = pow81 * pow272; // pow(trace_generator, 1498). + local pow274 = pow76 * pow273; // pow(trace_generator, 1522). + local pow275 = pow69 * pow274; // pow(trace_generator, 1538). + local pow276 = pow53 * pow267; // pow(trace_generator, 1339). + local pow277 = pow53 * pow272; // pow(trace_generator, 1467). + local pow278 = pow53 * pow268; // pow(trace_generator, 1371). + local pow279 = pow61 * pow277; // pow(trace_generator, 1475). + local pow280 = pow53 * pow273; // pow(trace_generator, 1499). + local pow281 = pow53 * pow275; // pow(trace_generator, 1539). + local pow282 = pow56 * pow281; // pow(trace_generator, 1542). + local pow283 = pow57 * pow282; // pow(trace_generator, 1546). + local pow284 = pow53 * pow283; // pow(trace_generator, 1547). + local pow285 = pow73 * pow284; // pow(trace_generator, 1566). + local pow286 = pow57 * pow285; // pow(trace_generator, 1570). + local pow287 = pow61 * pow286; // pow(trace_generator, 1578). + local pow288 = pow61 * pow287; // pow(trace_generator, 1586). + local pow289 = pow61 * pow288; // pow(trace_generator, 1594). + local pow290 = pow81 * pow289; // pow(trace_generator, 1626). + local pow291 = pow53 * pow289; // pow(trace_generator, 1595). + local pow292 = pow53 * pow290; // pow(trace_generator, 1627). + local pow293 = pow73 * pow292; // pow(trace_generator, 1646). + local pow294 = pow57 * pow293; // pow(trace_generator, 1650). + local pow295 = pow88 * pow294; // pow(trace_generator, 1694). + local pow296 = pow74 * pow295; // pow(trace_generator, 1714). + local pow297 = pow61 * pow296; // pow(trace_generator, 1722). + local pow298 = pow81 * pow297; // pow(trace_generator, 1754). + local pow299 = pow53 * pow297; // pow(trace_generator, 1723). + local pow300 = pow61 * pow299; // pow(trace_generator, 1731). + local pow301 = pow53 * pow298; // pow(trace_generator, 1755). + local pow302 = pow73 * pow301; // pow(trace_generator, 1774). + local pow303 = pow57 * pow302; // pow(trace_generator, 1778). + local pow304 = pow71 * pow303; // pow(trace_generator, 1795). + local pow305 = pow56 * pow304; // pow(trace_generator, 1798). + local pow306 = pow57 * pow305; // pow(trace_generator, 1802). + local pow307 = pow53 * pow306; // pow(trace_generator, 1803). + local pow308 = pow73 * pow307; // pow(trace_generator, 1822). + local pow309 = pow74 * pow308; // pow(trace_generator, 1842). + local pow310 = pow61 * pow309; // pow(trace_generator, 1850). + local pow311 = pow53 * pow310; // pow(trace_generator, 1851). + local pow312 = pow81 * pow310; // pow(trace_generator, 1882). + local pow313 = pow53 * pow312; // pow(trace_generator, 1883). + local pow314 = pow73 * pow313; // pow(trace_generator, 1902). + local pow315 = pow57 * pow314; // pow(trace_generator, 1906). + local pow316 = pow88 * pow315; // pow(trace_generator, 1950). + local pow317 = pow74 * pow316; // pow(trace_generator, 1970). + local pow318 = pow61 * pow317; // pow(trace_generator, 1978). + local pow319 = pow81 * pow318; // pow(trace_generator, 2010). + local pow320 = pow53 * pow318; // pow(trace_generator, 1979). + local pow321 = pow61 * pow320; // pow(trace_generator, 1987). + local pow322 = pow53 * pow319; // pow(trace_generator, 2011). + local pow323 = pow60 * pow322; // pow(trace_generator, 2018). + local pow324 = pow65 * pow323; // pow(trace_generator, 2030). + local pow325 = pow57 * pow324; // pow(trace_generator, 2034). + local pow326 = pow59 * pow325; // pow(trace_generator, 2040). + local pow327 = pow57 * pow326; // pow(trace_generator, 2044). + local pow328 = pow54 * pow327; // pow(trace_generator, 2046). + local pow329 = pow54 * pow328; // pow(trace_generator, 2048). + local pow330 = pow252 * pow329; // pow(trace_generator, 3163). + local pow331 = pow54 * pow329; // pow(trace_generator, 2050). + local pow332 = pow53 * pow331; // pow(trace_generator, 2051). + local pow333 = pow53 * pow332; // pow(trace_generator, 2052). + local pow334 = pow53 * pow333; // pow(trace_generator, 2053). + local pow335 = pow53 * pow334; // pow(trace_generator, 2054). + local pow336 = pow57 * pow335; // pow(trace_generator, 2058). + local pow337 = pow53 * pow336; // pow(trace_generator, 2059). + local pow338 = pow85 * pow336; // pow(trace_generator, 2098). + local pow339 = pow73 * pow338; // pow(trace_generator, 2117). + local pow340 = pow75 * pow339; // pow(trace_generator, 2139). + local pow341 = pow53 * pow339; // pow(trace_generator, 2118). + local pow342 = pow73 * pow340; // pow(trace_generator, 2158). + local pow343 = pow57 * pow342; // pow(trace_generator, 2162). + local pow344 = pow73 * pow343; // pow(trace_generator, 2181). + local pow345 = pow156 * pow344; // pow(trace_generator, 2395). + local pow346 = pow53 * pow344; // pow(trace_generator, 2182). + local pow347 = pow88 * pow346; // pow(trace_generator, 2226). + local pow348 = pow61 * pow347; // pow(trace_generator, 2234). + local pow349 = pow53 * pow348; // pow(trace_generator, 2235). + local pow350 = pow61 * pow349; // pow(trace_generator, 2243). + local pow351 = pow87 * pow350; // pow(trace_generator, 2286). + local pow352 = pow57 * pow351; // pow(trace_generator, 2290). + local pow353 = pow71 * pow352; // pow(trace_generator, 2307). + local pow354 = pow56 * pow353; // pow(trace_generator, 2310). + local pow355 = pow57 * pow354; // pow(trace_generator, 2314). + local pow356 = pow85 * pow355; // pow(trace_generator, 2354). + local pow357 = pow73 * pow345; // pow(trace_generator, 2414). + local pow358 = pow57 * pow357; // pow(trace_generator, 2418). + local pow359 = pow97 * pow358; // pow(trace_generator, 2478). + local pow360 = pow57 * pow359; // pow(trace_generator, 2482). + local pow361 = pow61 * pow360; // pow(trace_generator, 2490). + local pow362 = pow53 * pow355; // pow(trace_generator, 2315). + local pow363 = pow53 * pow361; // pow(trace_generator, 2491). + local pow364 = pow61 * pow363; // pow(trace_generator, 2499). + local pow365 = pow64 * pow364; // pow(trace_generator, 2510). + local pow366 = pow83 * pow365; // pow(trace_generator, 2546). + local pow367 = pow71 * pow366; // pow(trace_generator, 2563). + local pow368 = pow56 * pow367; // pow(trace_generator, 2566). + local pow369 = pow57 * pow368; // pow(trace_generator, 2570). + local pow370 = pow83 * pow369; // pow(trace_generator, 2606). + local pow371 = pow57 * pow370; // pow(trace_generator, 2610). + local pow372 = pow79 * pow371; // pow(trace_generator, 2638). + local pow373 = pow83 * pow372; // pow(trace_generator, 2674). + local pow374 = pow97 * pow373; // pow(trace_generator, 2734). + local pow375 = pow66 * pow372; // pow(trace_generator, 2651). + local pow376 = pow57 * pow374; // pow(trace_generator, 2738). + local pow377 = pow61 * pow376; // pow(trace_generator, 2746). + local pow378 = pow53 * pow369; // pow(trace_generator, 2571). + local pow379 = pow53 * pow377; // pow(trace_generator, 2747). + local pow380 = pow61 * pow379; // pow(trace_generator, 2755). + local pow381 = pow64 * pow380; // pow(trace_generator, 2766). + local pow382 = pow83 * pow381; // pow(trace_generator, 2802). + local pow383 = pow71 * pow382; // pow(trace_generator, 2819). + local pow384 = pow56 * pow383; // pow(trace_generator, 2822). + local pow385 = pow57 * pow384; // pow(trace_generator, 2826). + local pow386 = pow53 * pow385; // pow(trace_generator, 2827). + local pow387 = pow85 * pow385; // pow(trace_generator, 2866). + local pow388 = pow61 * pow387; // pow(trace_generator, 2874). + local pow389 = pow53 * pow388; // pow(trace_generator, 2875). + local pow390 = pow94 * pow388; // pow(trace_generator, 2930). + local pow391 = pow98 * pow390; // pow(trace_generator, 2994). + local pow392 = pow61 * pow391; // pow(trace_generator, 3002). + local pow393 = pow53 * pow392; // pow(trace_generator, 3003). + local pow394 = pow61 * pow393; // pow(trace_generator, 3011). + local pow395 = pow94 * pow392; // pow(trace_generator, 3058). + local pow396 = pow71 * pow395; // pow(trace_generator, 3075). + local pow397 = pow56 * pow396; // pow(trace_generator, 3078). + local pow398 = pow57 * pow397; // pow(trace_generator, 3082). + local pow399 = pow53 * pow398; // pow(trace_generator, 3083). + local pow400 = pow85 * pow398; // pow(trace_generator, 3122). + local pow401 = pow98 * pow400; // pow(trace_generator, 3186). + local pow402 = pow98 * pow401; // pow(trace_generator, 3250). + local pow403 = pow61 * pow402; // pow(trace_generator, 3258). + local pow404 = pow53 * pow403; // pow(trace_generator, 3259). + local pow405 = pow94 * pow403; // pow(trace_generator, 3314). + local pow406 = pow71 * pow405; // pow(trace_generator, 3331). + local pow407 = pow56 * pow406; // pow(trace_generator, 3334). + local pow408 = pow57 * pow407; // pow(trace_generator, 3338). + local pow409 = pow53 * pow408; // pow(trace_generator, 3339). + local pow410 = pow85 * pow408; // pow(trace_generator, 3378). + local pow411 = pow61 * pow410; // pow(trace_generator, 3386). + local pow412 = pow53 * pow411; // pow(trace_generator, 3387). + local pow413 = pow81 * pow412; // pow(trace_generator, 3419). + local pow414 = pow94 * pow411; // pow(trace_generator, 3442). + local pow415 = pow98 * pow414; // pow(trace_generator, 3506). + local pow416 = pow61 * pow415; // pow(trace_generator, 3514). + local pow417 = pow53 * pow416; // pow(trace_generator, 3515). + local pow418 = pow94 * pow416; // pow(trace_generator, 3570). + local pow419 = pow71 * pow418; // pow(trace_generator, 3587). + local pow420 = pow56 * pow419; // pow(trace_generator, 3590). + local pow421 = pow57 * pow420; // pow(trace_generator, 3594). + local pow422 = pow53 * pow421; // pow(trace_generator, 3595). + local pow423 = pow292 * pow329; // pow(trace_generator, 3675). + local pow424 = pow73 * pow422; // pow(trace_generator, 3614). + local pow425 = pow74 * pow424; // pow(trace_generator, 3634). + local pow426 = pow74 * pow425; // pow(trace_generator, 3654). + local pow427 = pow73 * pow423; // pow(trace_generator, 3694). + local pow428 = pow57 * pow427; // pow(trace_generator, 3698). + local pow429 = pow74 * pow428; // pow(trace_generator, 3718). + local pow430 = pow88 * pow429; // pow(trace_generator, 3762). + local pow431 = pow61 * pow430; // pow(trace_generator, 3770). + local pow432 = pow92 * pow431; // pow(trace_generator, 3822). + local pow433 = pow57 * pow432; // pow(trace_generator, 3826). + local pow434 = pow71 * pow433; // pow(trace_generator, 3843). + local pow435 = pow53 * pow431; // pow(trace_generator, 3771). + local pow436 = pow56 * pow434; // pow(trace_generator, 3846). + local pow437 = pow57 * pow436; // pow(trace_generator, 3850). + local pow438 = pow53 * pow437; // pow(trace_generator, 3851). + local pow439 = pow73 * pow438; // pow(trace_generator, 3870). + local pow440 = pow74 * pow439; // pow(trace_generator, 3890). + local pow441 = pow61 * pow440; // pow(trace_generator, 3898). + local pow442 = pow53 * pow441; // pow(trace_generator, 3899). + local pow443 = pow64 * pow442; // pow(trace_generator, 3910). + local pow444 = pow85 * pow443; // pow(trace_generator, 3950). + local pow445 = pow57 * pow444; // pow(trace_generator, 3954). + local pow446 = pow74 * pow445; // pow(trace_generator, 3974). + local pow447 = pow88 * pow446; // pow(trace_generator, 4018). + local pow448 = pow97 * pow447; // pow(trace_generator, 4078). + local pow449 = pow57 * pow448; // pow(trace_generator, 4082). + local pow450 = pow59 * pow449; // pow(trace_generator, 4088). + local pow451 = pow265 * pow450; // pow(trace_generator, 5379). + local pow452 = pow94 * pow451; // pow(trace_generator, 5435). + local pow453 = pow61 * pow452; // pow(trace_generator, 5443). + local pow454 = pow98 * pow453; // pow(trace_generator, 5507). + local pow455 = pow126 * pow454; // pow(trace_generator, 5635). + local pow456 = pow64 * pow450; // pow(trace_generator, 4099). + local pow457 = pow54 * pow456; // pow(trace_generator, 4101). + local pow458 = pow53 * pow457; // pow(trace_generator, 4102). + local pow459 = pow57 * pow458; // pow(trace_generator, 4106). + local pow460 = pow96 * pow459; // pow(trace_generator, 4165). + local pow461 = pow98 * pow460; // pow(trace_generator, 4229). + local pow462 = pow198 * pow459; // pow(trace_generator, 4611). + local pow463 = pow167 * pow459; // pow(trace_generator, 4355). + local pow464 = pow56 * pow462; // pow(trace_generator, 4614). + local pow465 = pow57 * pow464; // pow(trace_generator, 4618). + local pow466 = pow198 * pow465; // pow(trace_generator, 5123). + local pow467 = pow53 * pow465; // pow(trace_generator, 4619). + local pow468 = pow166 * pow467; // pow(trace_generator, 4867). + local pow469 = pow56 * pow451; // pow(trace_generator, 5382). + local pow470 = pow56 * pow466; // pow(trace_generator, 5126). + local pow471 = pow56 * pow468; // pow(trace_generator, 4870). + local pow472 = pow94 * pow468; // pow(trace_generator, 4923). + local pow473 = pow56 * pow453; // pow(trace_generator, 5446). + local pow474 = pow237 * pow473; // pow(trace_generator, 6401). + local pow475 = pow56 * pow454; // pow(trace_generator, 5510). + local pow476 = pow56 * pow455; // pow(trace_generator, 5638). + local pow477 = pow58 * pow476; // pow(trace_generator, 5643). + local pow478 = pow94 * pow477; // pow(trace_generator, 5699). + local pow479 = pow98 * pow478; // pow(trace_generator, 5763). + local pow480 = pow126 * pow479; // pow(trace_generator, 5891). + local pow481 = pow56 * pow480; // pow(trace_generator, 5894). + local pow482 = pow25 * pow478; // pow(trace_generator, 376390). + local pow483 = pow94 * pow480; // pow(trace_generator, 5947). + local pow484 = pow61 * pow483; // pow(trace_generator, 5955). + local pow485 = pow98 * pow484; // pow(trace_generator, 6019). + local pow486 = pow126 * pow485; // pow(trace_generator, 6147). + local pow487 = pow98 * pow486; // pow(trace_generator, 6211). + local pow488 = pow98 * pow487; // pow(trace_generator, 6275). + local pow489 = pow54 * pow474; // pow(trace_generator, 6403). + local pow490 = pow54 * pow489; // pow(trace_generator, 6405). + local pow491 = pow56 * pow463; // pow(trace_generator, 4358). + local pow492 = pow53 * pow490; // pow(trace_generator, 6406). + local pow493 = pow56 * pow486; // pow(trace_generator, 6150). + local pow494 = pow64 * pow492; // pow(trace_generator, 6417). + local pow495 = pow92 * pow494; // pow(trace_generator, 6469). + local pow496 = pow98 * pow495; // pow(trace_generator, 6533). + local pow497 = pow53 * pow495; // pow(trace_generator, 6470). + local pow498 = pow53 * pow496; // pow(trace_generator, 6534). + local pow499 = pow96 * pow498; // pow(trace_generator, 6593). + local pow500 = pow54 * pow499; // pow(trace_generator, 6595). + local pow501 = pow54 * pow500; // pow(trace_generator, 6597). + local pow502 = pow53 * pow501; // pow(trace_generator, 6598). + local pow503 = pow96 * pow502; // pow(trace_generator, 6657). + local pow504 = pow41 * pow503; // pow(trace_generator, 162054). + local pow505 = pow58 * pow503; // pow(trace_generator, 6662). + local pow506 = pow57 * pow505; // pow(trace_generator, 6666). + local pow507 = pow53 * pow506; // pow(trace_generator, 6667). + local pow508 = pow93 * pow507; // pow(trace_generator, 6721). + local pow509 = pow58 * pow508; // pow(trace_generator, 6726). + local pow510 = pow96 * pow509; // pow(trace_generator, 6785). + local pow511 = pow54 * pow510; // pow(trace_generator, 6787). + local pow512 = pow54 * pow511; // pow(trace_generator, 6789). + local pow513 = pow144 * pow512; // pow(trace_generator, 6971). + local pow514 = pow53 * pow512; // pow(trace_generator, 6790). + local pow515 = pow59 * pow513; // pow(trace_generator, 6977). + local pow516 = pow54 * pow515; // pow(trace_generator, 6979). + local pow517 = pow54 * pow516; // pow(trace_generator, 6981). + local pow518 = pow53 * pow517; // pow(trace_generator, 6982). + local pow519 = pow147 * pow518; // pow(trace_generator, 7169). + local pow520 = pow54 * pow519; // pow(trace_generator, 7171). + local pow521 = pow54 * pow520; // pow(trace_generator, 7173). + local pow522 = pow53 * pow521; // pow(trace_generator, 7174). + local pow523 = pow57 * pow522; // pow(trace_generator, 7178). + local pow524 = pow53 * pow523; // pow(trace_generator, 7179). + local pow525 = pow144 * pow524; // pow(trace_generator, 7361). + local pow526 = pow54 * pow525; // pow(trace_generator, 7363). + local pow527 = pow54 * pow526; // pow(trace_generator, 7365). + local pow528 = pow124 * pow527; // pow(trace_generator, 7483). + local pow529 = pow53 * pow527; // pow(trace_generator, 7366). + local pow530 = pow147 * pow529; // pow(trace_generator, 7553). + local pow531 = pow54 * pow530; // pow(trace_generator, 7555). + local pow532 = pow54 * pow531; // pow(trace_generator, 7557). + local pow533 = pow53 * pow532; // pow(trace_generator, 7558). + local pow534 = pow133 * pow533; // pow(trace_generator, 7691). + local pow535 = pow93 * pow534; // pow(trace_generator, 7745). + local pow536 = pow54 * pow535; // pow(trace_generator, 7747). + local pow537 = pow54 * pow536; // pow(trace_generator, 7749). + local pow538 = pow53 * pow537; // pow(trace_generator, 7750). + local pow539 = pow96 * pow538; // pow(trace_generator, 7809). + local pow540 = pow126 * pow539; // pow(trace_generator, 7937). + local pow541 = pow54 * pow540; // pow(trace_generator, 7939). + local pow542 = pow54 * pow541; // pow(trace_generator, 7941). + local pow543 = pow6 * pow542; // pow(trace_generator, 405766). + local pow544 = pow53 * pow542; // pow(trace_generator, 7942). + local pow545 = pow93 * pow542; // pow(trace_generator, 7995). + local pow546 = pow59 * pow545; // pow(trace_generator, 8001). + local pow547 = pow98 * pow546; // pow(trace_generator, 8065). + local pow548 = pow98 * pow547; // pow(trace_generator, 8129). + local pow549 = pow98 * pow548; // pow(trace_generator, 8193). + local pow550 = pow54 * pow549; // pow(trace_generator, 8195). + local pow551 = pow54 * pow550; // pow(trace_generator, 8197). + local pow552 = pow521 * pow551; // pow(trace_generator, 15370). + local pow553 = pow62 * pow551; // pow(trace_generator, 8206). + local pow554 = pow161 * pow550; // pow(trace_generator, 8433). + local pow555 = pow61 * pow554; // pow(trace_generator, 8441). + local pow556 = pow56 * pow553; // pow(trace_generator, 8209). + local pow557 = pow173 * pow555; // pow(trace_generator, 8707). + local pow558 = pow275 * pow557; // pow(trace_generator, 10245). + local pow559 = pow243 * pow558; // pow(trace_generator, 11274). + local pow560 = pow53 * pow559; // pow(trace_generator, 11275). + local pow561 = pow60 * pow557; // pow(trace_generator, 8714). + local pow562 = pow241 * pow561; // pow(trace_generator, 9739). + local pow563 = pow282 * pow558; // pow(trace_generator, 11787). + local pow564 = pow12 * pow53; // pow(trace_generator, 159750). + local pow565 = pow63 * pow555; // pow(trace_generator, 8451). + local pow566 = pow53 * pow561; // pow(trace_generator, 8715). + local pow567 = pow326 * pow566; // pow(trace_generator, 10755). + local pow568 = pow275 * pow567; // pow(trace_generator, 12293). + local pow569 = pow66 * pow568; // pow(trace_generator, 12306). + local pow570 = pow98 * pow569; // pow(trace_generator, 12370). + local pow571 = pow149 * pow570; // pow(trace_generator, 12562). + local pow572 = pow98 * pow571; // pow(trace_generator, 12626). + local pow573 = pow145 * pow572; // pow(trace_generator, 12810). + local pow574 = pow241 * pow573; // pow(trace_generator, 13835). + local pow575 = pow53 * pow573; // pow(trace_generator, 12811). + local pow576 = pow329 * pow574; // pow(trace_generator, 15883). + local pow577 = pow53 * pow552; // pow(trace_generator, 15371). + local pow578 = pow221 * pow577; // pow(trace_generator, 16144). + local pow579 = pow53 * pow578; // pow(trace_generator, 16145). + local pow580 = pow2 * pow98; // pow(trace_generator, 16146). + local pow581 = pow95 * pow576; // pow(trace_generator, 15941). + local pow582 = pow97 * pow581; // pow(trace_generator, 16001). + local pow583 = pow53 * pow580; // pow(trace_generator, 16147). + local pow584 = pow2 * pow104; // pow(trace_generator, 16148). + local pow585 = pow53 * pow584; // pow(trace_generator, 16149). + local pow586 = pow2 * pow105; // pow(trace_generator, 16150). + local pow587 = pow2 * pow106; // pow(trace_generator, 16151). + local pow588 = pow2 * pow110; // pow(trace_generator, 16160). + local pow589 = pow53 * pow588; // pow(trace_generator, 16161). + local pow590 = pow53 * pow589; // pow(trace_generator, 16162). + local pow591 = pow53 * pow590; // pow(trace_generator, 16163). + local pow592 = pow2 * pow111; // pow(trace_generator, 16164). + local pow593 = pow53 * pow592; // pow(trace_generator, 16165). + local pow594 = pow2 * pow112; // pow(trace_generator, 16166). + local pow595 = pow53 * pow594; // pow(trace_generator, 16167). + local pow596 = pow62 * pow595; // pow(trace_generator, 16176). + local pow597 = pow2 * pow121; // pow(trace_generator, 16192). + local pow598 = pow53 * pow597; // pow(trace_generator, 16193). + local pow599 = pow68 * pow598; // pow(trace_generator, 16208). + local pow600 = pow69 * pow599; // pow(trace_generator, 16224). + local pow601 = pow2 * pow138; // pow(trace_generator, 16240). + local pow602 = pow2 * pow140; // pow(trace_generator, 16256). + local pow603 = pow69 * pow602; // pow(trace_generator, 16272). + local pow604 = pow2 * pow155; // pow(trace_generator, 16288). + local pow605 = pow69 * pow604; // pow(trace_generator, 16304). + local pow606 = pow2 * pow161; // pow(trace_generator, 16320). + local pow607 = pow2 * pow162; // pow(trace_generator, 16322). + local pow608 = pow2 * pow165; // pow(trace_generator, 16326). + local pow609 = pow63 * pow608; // pow(trace_generator, 16336). + local pow610 = pow57 * pow609; // pow(trace_generator, 16340). + local pow611 = pow59 * pow610; // pow(trace_generator, 16346). + local pow612 = pow59 * pow611; // pow(trace_generator, 16352). + local pow613 = pow54 * pow612; // pow(trace_generator, 16354). + local pow614 = pow57 * pow613; // pow(trace_generator, 16358). + local pow615 = pow1 * pow61; // pow(trace_generator, 32662). + local pow616 = pow57 * pow614; // pow(trace_generator, 16362). + local pow617 = pow2 * pow176; // pow(trace_generator, 16368). + local pow618 = pow57 * pow617; // pow(trace_generator, 16372). + local pow619 = pow59 * pow618; // pow(trace_generator, 16378). + local pow620 = pow2 * pow178; // pow(trace_generator, 16384). + local pow621 = pow557 * pow620; // pow(trace_generator, 25091). + local pow622 = pow474 * pow620; // pow(trace_generator, 22785). + local pow623 = pow331 * pow622; // pow(trace_generator, 24835). + local pow624 = pow486 * pow620; // pow(trace_generator, 22531). + local pow625 = pow328 * pow624; // pow(trace_generator, 24577). + local pow626 = pow54 * pow625; // pow(trace_generator, 24579). + local pow627 = pow98 * pow624; // pow(trace_generator, 22595). + local pow628 = pow98 * pow627; // pow(trace_generator, 22659). + local pow629 = pow394 * pow620; // pow(trace_generator, 19395). + local pow630 = pow380 * pow620; // pow(trace_generator, 19139). + local pow631 = pow364 * pow620; // pow(trace_generator, 18883). + local pow632 = pow200 * pow620; // pow(trace_generator, 16902). + local pow633 = pow559 * pow620; // pow(trace_generator, 27658). + local pow634 = pow2 * pow179; // pow(trace_generator, 16388). + local pow635 = pow54 * pow626; // pow(trace_generator, 24581). + local pow636 = pow81 * pow634; // pow(trace_generator, 16420). + local pow637 = pow397 * pow634; // pow(trace_generator, 19466). + local pow638 = pow53 * pow637; // pow(trace_generator, 19467). + local pow639 = pow243 * pow632; // pow(trace_generator, 17931). + local pow640 = pow329 * pow639; // pow(trace_generator, 19979). + local pow641 = pow329 * pow640; // pow(trace_generator, 22027). + local pow642 = pow264 * pow622; // pow(trace_generator, 24075). + local pow643 = pow124 * pow642; // pow(trace_generator, 24193). + local pow644 = pow282 * pow635; // pow(trace_generator, 26123). + local pow645 = pow166 * pow644; // pow(trace_generator, 26371). + local pow646 = pow434 * pow645; // pow(trace_generator, 30214). + local pow647 = pow329 * pow644; // pow(trace_generator, 28171). + local pow648 = pow58 * pow646; // pow(trace_generator, 30219). + local pow649 = pow52 * pow264; // pow(trace_generator, 32267). + local pow650 = pow124 * pow649; // pow(trace_generator, 32385). + local pow651 = pow1 * pow94; // pow(trace_generator, 32710). + local pow652 = pow67 * pow651; // pow(trace_generator, 32724). + local pow653 = pow54 * pow652; // pow(trace_generator, 32726). + local pow654 = pow69 * pow653; // pow(trace_generator, 32742). + local pow655 = pow67 * pow654; // pow(trace_generator, 32756). + local pow656 = pow54 * pow655; // pow(trace_generator, 32758). + local pow657 = pow1 * pow122; // pow(trace_generator, 32768). + local pow658 = pow657 * pow657; // pow(trace_generator, 65536). + local pow659 = pow657 * pow658; // pow(trace_generator, 98304). + local pow660 = pow657 * pow659; // pow(trace_generator, 131072). + local pow661 = pow657 * pow660; // pow(trace_generator, 163840). + local pow662 = pow657 * pow661; // pow(trace_generator, 196608). + local pow663 = pow657 * pow662; // pow(trace_generator, 229376). + local pow664 = pow499 * pow663; // pow(trace_generator, 235969). + local pow665 = pow262 * pow663; // pow(trace_generator, 230659). + local pow666 = pow657 * pow663; // pow(trace_generator, 262144). + local pow667 = pow657 * pow666; // pow(trace_generator, 294912). + local pow668 = pow657 * pow667; // pow(trace_generator, 327680). + local pow669 = pow26 * pow229; // pow(trace_generator, 360448). + local pow670 = pow58 * pow669; // pow(trace_generator, 360453). + local pow671 = pow657 * pow669; // pow(trace_generator, 393216). + local pow672 = pow12 * pow669; // pow(trace_generator, 520197). + local pow673 = pow525 * pow669; // pow(trace_generator, 367809). + local pow674 = pow499 * pow670; // pow(trace_generator, 367046). + local pow675 = pow520 * pow667; // pow(trace_generator, 302083). + local pow676 = pow657 * pow671; // pow(trace_generator, 425984). + local pow677 = pow546 * pow663; // pow(trace_generator, 237377). + local pow678 = pow39 * pow663; // pow(trace_generator, 407809). + local pow679 = pow657 * pow676; // pow(trace_generator, 458752). + local pow680 = pow657 * pow679; // pow(trace_generator, 491520). + local pow681 = pow17 * pow597; // pow(trace_generator, 522497). + local pow682 = pow171 * pow452; // pow(trace_generator, 507713). + local pow683 = pow622 * pow679; // pow(trace_generator, 481537). + local pow684 = pow468 * pow679; // pow(trace_generator, 463619). + local pow685 = pow643 * pow679; // pow(trace_generator, 482945). + local pow686 = pow530 * pow663; // pow(trace_generator, 236929). + local pow687 = pow551 * pow662; // pow(trace_generator, 204805). + local pow688 = pow499 * pow687; // pow(trace_generator, 211398). + local pow689 = pow98 * pow687; // pow(trace_generator, 204869). + local pow690 = pow38 * pow419; // pow(trace_generator, 211462). + local pow691 = pow98 * pow689; // pow(trace_generator, 204933). + local pow692 = pow98 * pow690; // pow(trace_generator, 211526). + local pow693 = pow532 * pow661; // pow(trace_generator, 171397). + local pow694 = pow281 * pow661; // pow(trace_generator, 165379). + local pow695 = pow468 * pow694; // pow(trace_generator, 170246). + local pow696 = pow56 * pow694; // pow(trace_generator, 165382). + local pow697 = pow582 * pow661; // pow(trace_generator, 179841). + local pow698 = pow582 * pow671; // pow(trace_generator, 409217). + local pow699 = pow5 * pow499; // pow(trace_generator, 416198). + local pow700 = pow38 * pow38; // pow(trace_generator, 415750). + local pow701 = pow457 * pow661; // pow(trace_generator, 167941). + local pow702 = pow58 * pow679; // pow(trace_generator, 458757). + local pow703 = pow551 * pow667; // pow(trace_generator, 303109). + local pow704 = pow29 * pow44; // pow(trace_generator, 465350). + local pow705 = pow499 * pow703; // pow(trace_generator, 309702). + local pow706 = pow540 * pow658; // pow(trace_generator, 73473). + local pow707 = pow490 * pow658; // pow(trace_generator, 71941). + local pow708 = pow490 * pow667; // pow(trace_generator, 301317). + local pow709 = pow4 * pow658; // pow(trace_generator, 512005). + local pow710 = pow98 * pow709; // pow(trace_generator, 512069). + local pow711 = pow98 * pow710; // pow(trace_generator, 512133). + local pow712 = pow558 * pow658; // pow(trace_generator, 75781). + local pow713 = pow98 * pow712; // pow(trace_generator, 75845). + local pow714 = pow98 * pow713; // pow(trace_generator, 75909). + local pow715 = pow334 * pow658; // pow(trace_generator, 67589). + local pow716 = pow53 * pow712; // pow(trace_generator, 75782). + local pow717 = pow334 * pow667; // pow(trace_generator, 296965). + local pow718 = pow328 * pow717; // pow(trace_generator, 299011). + local pow719 = pow241 * pow703; // pow(trace_generator, 304134). + local pow720 = pow219 * pow658; // pow(trace_generator, 66305). + local pow721 = pow69 * pow720; // pow(trace_generator, 66321). + local pow722 = pow366 * pow721; // pow(trace_generator, 68867). + local pow723 = pow53 * pow713; // pow(trace_generator, 75846). + local pow724 = pow53 * pow714; // pow(trace_generator, 75910). + local pow725 = pow367 * pow722; // pow(trace_generator, 71430). + local pow726 = pow621 * pow657; // pow(trace_generator, 57859). + local pow727 = pow621 * pow659; // pow(trace_generator, 123395). + local pow728 = pow722 * pow727; // pow(trace_generator, 192262). + local pow729 = pow10 * pow69; // pow(trace_generator, 198929). + local pow730 = pow379 * pow728; // pow(trace_generator, 195009). + local pow731 = pow98 * pow728; // pow(trace_generator, 192326). + local pow732 = pow98 * pow731; // pow(trace_generator, 192390). + local pow733 = pow98 * pow730; // pow(trace_generator, 195073). + local pow734 = pow98 * pow733; // pow(trace_generator, 195137). + local pow735 = pow36 * pow364; // pow(trace_generator, 230662). + local pow736 = pow621 * pow663; // pow(trace_generator, 254467). + local pow737 = pow44 * pow736; // pow(trace_generator, 381958). + local pow738 = pow277 * pow737; // pow(trace_generator, 383425). + local pow739 = pow56 * pow684; // pow(trace_generator, 463622). + local pow740 = pow389 * pow737; // pow(trace_generator, 384833). + local pow741 = pow6 * pow69; // pow(trace_generator, 397841). + local pow742 = pow621 * pow668; // pow(trace_generator, 352771). + local pow743 = pow31 * pow52; // pow(trace_generator, 356870). + local pow744 = pow623 * pow657; // pow(trace_generator, 57603). + local pow745 = pow623 * pow659; // pow(trace_generator, 123139). + local pow746 = pow40 * pow353; // pow(trace_generator, 175110). + local pow747 = pow623 * pow663; // pow(trace_generator, 254211). + local pow748 = pow625 * pow657; // pow(trace_generator, 57345). + local pow749 = pow13 * pow49; // pow(trace_generator, 212742). + local pow750 = pow625 * pow659; // pow(trace_generator, 122881). + local pow751 = pow31 * pow750; // pow(trace_generator, 448774). + local pow752 = pow3 * pow69; // pow(trace_generator, 464145). + local pow753 = pow356 * pow752; // pow(trace_generator, 466499). + local pow754 = pow15 * pow262; // pow(trace_generator, 514310). + local pow755 = pow98 * pow754; // pow(trace_generator, 514374). + local pow756 = pow16 * pow517; // pow(trace_generator, 514438). + local pow757 = pow54 * pow748; // pow(trace_generator, 57347). + local pow758 = pow15 * pow170; // pow(trace_generator, 513286). + local pow759 = pow98 * pow758; // pow(trace_generator, 513350). + local pow760 = pow54 * pow750; // pow(trace_generator, 122883). + local pow761 = pow40 * pow760; // pow(trace_generator, 295686). + local pow762 = pow13 * pow712; // pow(trace_generator, 208390). + local pow763 = pow13 * pow713; // pow(trace_generator, 208454). + local pow764 = pow13 * pow714; // pow(trace_generator, 208518). + local pow765 = pow54 * pow757; // pow(trace_generator, 57349). + local pow766 = pow54 * pow760; // pow(trace_generator, 122885). + local pow767 = pow98 * pow759; // pow(trace_generator, 513414). + local pow768 = pow625 * pow663; // pow(trace_generator, 253953). + local pow769 = pow299 * pow755; // pow(trace_generator, 516097). + local pow770 = pow54 * pow768; // pow(trace_generator, 253955). + local pow771 = pow722 * pow770; // pow(trace_generator, 322822). + local pow772 = pow7 * pow69; // pow(trace_generator, 331537). + local pow773 = pow54 * pow769; // pow(trace_generator, 516099). + local pow774 = pow54 * pow770; // pow(trace_generator, 253957). + local pow775 = pow54 * pow773; // pow(trace_generator, 516101). + local pow776 = pow14 * pow170; // pow(trace_generator, 516102). + local pow777 = pow8 * pow657; // pow(trace_generator, 354309). + local pow778 = pow398 * pow657; // pow(trace_generator, 35850). + local pow779 = pow31 * pow657; // pow(trace_generator, 358661). + local pow780 = pow31 * pow662; // pow(trace_generator, 522501). + local pow781 = pow170 * pow669; // pow(trace_generator, 360707). + local pow782 = pow332 * pow781; // pow(trace_generator, 362758). + local pow783 = pow62 * pow635; // pow(trace_generator, 24590). + local pow784 = pow62 * pow765; // pow(trace_generator, 57358). + local pow785 = pow46 * pow524; // pow(trace_generator, 122894). + local pow786 = pow9 * pow69; // pow(trace_generator, 265233). + local pow787 = pow62 * pow774; // pow(trace_generator, 253966). + local pow788 = pow14 * pow174; // pow(trace_generator, 516110). + local pow789 = pow14 * pow191; // pow(trace_generator, 516294). + local pow790 = pow14 * pow195; // pow(trace_generator, 516337). + local pow791 = pow61 * pow790; // pow(trace_generator, 516345). + local pow792 = pow56 * pow788; // pow(trace_generator, 516113). + local pow793 = pow173 * pow791; // pow(trace_generator, 516611). + local pow794 = pow63 * pow791; // pow(trace_generator, 516355). + local pow795 = pow14 * pow199; // pow(trace_generator, 516358). + local pow796 = pow53 * pow780; // pow(trace_generator, 522502). + local pow797 = pow17 * pow620; // pow(trace_generator, 522689). + local pow798 = pow58 * pow797; // pow(trace_generator, 522694). // Fetch columns. tempvar column0 = column_values[0]; @@ -11027,2244 +11805,2775 @@ func eval_oods_polynomial{range_check_ptr}( tempvar value = (column0 - oods_values[0]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[0] * value; - tempvar value = (column0 - oods_values[1]) / (point - pow56 * oods_point); + tempvar value = (column0 - oods_values[1]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[1] * value; - tempvar value = (column0 - oods_values[2]) / (point - pow57 * oods_point); + tempvar value = (column0 - oods_values[2]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[2] * value; - tempvar value = (column0 - oods_values[3]) / (point - pow59 * oods_point); + tempvar value = (column0 - oods_values[3]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[3] * value; - tempvar value = (column0 - oods_values[4]) / (point - pow60 * oods_point); + tempvar value = (column0 - oods_values[4]) / (point - pow57 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[4] * value; - tempvar value = (column0 - oods_values[5]) / (point - pow61 * oods_point); + tempvar value = (column0 - oods_values[5]) / (point - pow58 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[5] * value; - tempvar value = (column0 - oods_values[6]) / (point - pow62 * oods_point); + tempvar value = (column0 - oods_values[6]) / (point - pow59 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[6] * value; - tempvar value = (column0 - oods_values[7]) / (point - pow63 * oods_point); + tempvar value = (column0 - oods_values[7]) / (point - pow60 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[7] * value; - tempvar value = (column0 - oods_values[8]) / (point - pow64 * oods_point); + tempvar value = (column0 - oods_values[8]) / (point - pow61 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[8] * value; - tempvar value = (column0 - oods_values[9]) / (point - pow65 * oods_point); + tempvar value = (column0 - oods_values[9]) / (point - pow62 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[9] * value; - tempvar value = (column0 - oods_values[10]) / (point - pow66 * oods_point); + tempvar value = (column0 - oods_values[10]) / (point - pow63 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[10] * value; - tempvar value = (column0 - oods_values[11]) / (point - pow67 * oods_point); + tempvar value = (column0 - oods_values[11]) / (point - pow64 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[11] * value; - tempvar value = (column0 - oods_values[12]) / (point - pow68 * oods_point); + tempvar value = (column0 - oods_values[12]) / (point - pow65 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[12] * value; - tempvar value = (column0 - oods_values[13]) / (point - pow69 * oods_point); + tempvar value = (column0 - oods_values[13]) / (point - pow66 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[13] * value; - tempvar value = (column0 - oods_values[14]) / (point - pow70 * oods_point); + tempvar value = (column0 - oods_values[14]) / (point - pow67 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[14] * value; - tempvar value = (column0 - oods_values[15]) / (point - pow71 * oods_point); + tempvar value = (column0 - oods_values[15]) / (point - pow68 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[15] * value; tempvar value = (column1 - oods_values[16]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[16] * value; - tempvar value = (column1 - oods_values[17]) / (point - pow56 * oods_point); + tempvar value = (column1 - oods_values[17]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[17] * value; - tempvar value = (column1 - oods_values[18]) / (point - pow57 * oods_point); + tempvar value = (column1 - oods_values[18]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[18] * value; - tempvar value = (column1 - oods_values[19]) / (point - pow59 * oods_point); + tempvar value = (column1 - oods_values[19]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[19] * value; - tempvar value = (column1 - oods_values[20]) / (point - pow60 * oods_point); + tempvar value = (column1 - oods_values[20]) / (point - pow57 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[20] * value; - tempvar value = (column1 - oods_values[21]) / (point - pow61 * oods_point); + tempvar value = (column1 - oods_values[21]) / (point - pow58 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[21] * value; - tempvar value = (column1 - oods_values[22]) / (point - pow62 * oods_point); + tempvar value = (column1 - oods_values[22]) / (point - pow59 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[22] * value; - tempvar value = (column1 - oods_values[23]) / (point - pow64 * oods_point); + tempvar value = (column1 - oods_values[23]) / (point - pow61 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[23] * value; - tempvar value = (column1 - oods_values[24]) / (point - pow68 * oods_point); + tempvar value = (column1 - oods_values[24]) / (point - pow65 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[24] * value; - tempvar value = (column1 - oods_values[25]) / (point - pow70 * oods_point); + tempvar value = (column1 - oods_values[25]) / (point - pow67 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[25] * value; - tempvar value = (column1 - oods_values[26]) / (point - pow72 * oods_point); + tempvar value = (column1 - oods_values[26]) / (point - pow69 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[26] * value; - tempvar value = (column1 - oods_values[27]) / (point - pow77 * oods_point); + tempvar value = (column1 - oods_values[27]) / (point - pow74 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[27] * value; - tempvar value = (column1 - oods_values[28]) / (point - pow79 * oods_point); + tempvar value = (column1 - oods_values[28]) / (point - pow76 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[28] * value; - tempvar value = (column1 - oods_values[29]) / (point - pow83 * oods_point); + tempvar value = (column1 - oods_values[29]) / (point - pow79 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[29] * value; - tempvar value = (column1 - oods_values[30]) / (point - pow85 * oods_point); + tempvar value = (column1 - oods_values[30]) / (point - pow81 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[30] * value; - tempvar value = (column1 - oods_values[31]) / (point - pow87 * oods_point); + tempvar value = (column1 - oods_values[31]) / (point - pow83 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[31] * value; - tempvar value = (column1 - oods_values[32]) / (point - pow89 * oods_point); + tempvar value = (column1 - oods_values[32]) / (point - pow85 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[32] * value; - tempvar value = (column1 - oods_values[33]) / (point - pow92 * oods_point); + tempvar value = (column1 - oods_values[33]) / (point - pow88 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[33] * value; - tempvar value = (column1 - oods_values[34]) / (point - pow94 * oods_point); + tempvar value = (column1 - oods_values[34]) / (point - pow90 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[34] * value; - tempvar value = (column1 - oods_values[35]) / (point - pow96 * oods_point); + tempvar value = (column1 - oods_values[35]) / (point - pow92 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[35] * value; - tempvar value = (column1 - oods_values[36]) / (point - pow98 * oods_point); + tempvar value = (column1 - oods_values[36]) / (point - pow94 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[36] * value; - tempvar value = (column1 - oods_values[37]) / (point - pow100 * oods_point); + tempvar value = (column1 - oods_values[37]) / (point - pow97 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[37] * value; - tempvar value = (column1 - oods_values[38]) / (point - pow101 * oods_point); + tempvar value = (column1 - oods_values[38]) / (point - pow98 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[38] * value; - tempvar value = (column1 - oods_values[39]) / (point - pow107 * oods_point); + tempvar value = (column1 - oods_values[39]) / (point - pow104 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[39] * value; - tempvar value = (column1 - oods_values[40]) / (point - pow128 * oods_point); + tempvar value = (column1 - oods_values[40]) / (point - pow126 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[40] * value; - tempvar value = (column1 - oods_values[41]) / (point - pow134 * oods_point); + tempvar value = (column1 - oods_values[41]) / (point - pow132 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[41] * value; - tempvar value = (column1 - oods_values[42]) / (point - pow144 * oods_point); + tempvar value = (column1 - oods_values[42]) / (point - pow141 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[42] * value; - tempvar value = (column1 - oods_values[43]) / (point - pow146 * oods_point); + tempvar value = (column1 - oods_values[43]) / (point - pow143 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[43] * value; - tempvar value = (column1 - oods_values[44]) / (point - pow148 * oods_point); + tempvar value = (column1 - oods_values[44]) / (point - pow145 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[44] * value; - tempvar value = (column1 - oods_values[45]) / (point - pow149 * oods_point); + tempvar value = (column1 - oods_values[45]) / (point - pow148 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[45] * value; - tempvar value = (column1 - oods_values[46]) / (point - pow150 * oods_point); + tempvar value = (column1 - oods_values[46]) / (point - pow149 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[46] * value; - tempvar value = (column1 - oods_values[47]) / (point - pow151 * oods_point); + tempvar value = (column1 - oods_values[47]) / (point - pow150 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[47] * value; - tempvar value = (column1 - oods_values[48]) / (point - pow153 * oods_point); + tempvar value = (column1 - oods_values[48]) / (point - pow152 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[48] * value; - tempvar value = (column1 - oods_values[49]) / (point - pow154 * oods_point); + tempvar value = (column1 - oods_values[49]) / (point - pow153 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[49] * value; - tempvar value = (column1 - oods_values[50]) / (point - pow161 * oods_point); + tempvar value = (column1 - oods_values[50]) / (point - pow162 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[50] * value; - tempvar value = (column1 - oods_values[51]) / (point - pow164 * oods_point); + tempvar value = (column1 - oods_values[51]) / (point - pow165 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[51] * value; - tempvar value = (column1 - oods_values[52]) / (point - pow165 * oods_point); + tempvar value = (column1 - oods_values[52]) / (point - pow166 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[52] * value; - tempvar value = (column1 - oods_values[53]) / (point - pow167 * oods_point); + tempvar value = (column1 - oods_values[53]) / (point - pow168 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[53] * value; - tempvar value = (column1 - oods_values[54]) / (point - pow169 * oods_point); + tempvar value = (column1 - oods_values[54]) / (point - pow170 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[54] * value; - tempvar value = (column1 - oods_values[55]) / (point - pow171 * oods_point); + tempvar value = (column1 - oods_values[55]) / (point - pow172 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[55] * value; - tempvar value = (column1 - oods_values[56]) / (point - pow178 * oods_point); + tempvar value = (column1 - oods_values[56]) / (point - pow191 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[56] * value; - tempvar value = (column1 - oods_values[57]) / (point - pow185 * oods_point); + tempvar value = (column1 - oods_values[57]) / (point - pow199 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[57] * value; - tempvar value = (column1 - oods_values[58]) / (point - pow186 * oods_point); + tempvar value = (column1 - oods_values[58]) / (point - pow200 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[58] * value; - tempvar value = (column1 - oods_values[59]) / (point - pow189 * oods_point); + tempvar value = (column1 - oods_values[59]) / (point - pow215 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[59] * value; - tempvar value = (column1 - oods_values[60]) / (point - pow192 * oods_point); + tempvar value = (column1 - oods_values[60]) / (point - pow219 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[60] * value; - tempvar value = (column1 - oods_values[61]) / (point - pow193 * oods_point); + tempvar value = (column1 - oods_values[61]) / (point - pow220 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[61] * value; - tempvar value = (column1 - oods_values[62]) / (point - pow194 * oods_point); + tempvar value = (column1 - oods_values[62]) / (point - pow221 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[62] * value; - tempvar value = (column1 - oods_values[63]) / (point - pow196 * oods_point); + tempvar value = (column1 - oods_values[63]) / (point - pow222 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[63] * value; - tempvar value = (column1 - oods_values[64]) / (point - pow202 * oods_point); + tempvar value = (column1 - oods_values[64]) / (point - pow225 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[64] * value; - tempvar value = (column1 - oods_values[65]) / (point - pow199 * oods_point); + tempvar value = (column1 - oods_values[65]) / (point - pow238 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[65] * value; - tempvar value = (column1 - oods_values[66]) / (point - pow195 * oods_point); + tempvar value = (column1 - oods_values[66]) / (point - pow241 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[66] * value; - tempvar value = (column1 - oods_values[67]) / (point - pow200 * oods_point); + tempvar value = (column1 - oods_values[67]) / (point - pow242 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[67] * value; - tempvar value = (column1 - oods_values[68]) / (point - pow201 * oods_point); + tempvar value = (column1 - oods_values[68]) / (point - pow243 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[68] * value; - tempvar value = (column1 - oods_values[69]) / (point - pow203 * oods_point); + tempvar value = (column1 - oods_values[69]) / (point - pow244 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[69] * value; - tempvar value = (column1 - oods_values[70]) / (point - pow208 * oods_point); + tempvar value = (column1 - oods_values[70]) / (point - pow247 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[70] * value; - tempvar value = (column1 - oods_values[71]) / (point - pow206 * oods_point); + tempvar value = (column1 - oods_values[71]) / (point - pow259 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[71] * value; - tempvar value = (column1 - oods_values[72]) / (point - pow207 * oods_point); + tempvar value = (column1 - oods_values[72]) / (point - pow262 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[72] * value; - tempvar value = (column1 - oods_values[73]) / (point - pow209 * oods_point); + tempvar value = (column1 - oods_values[73]) / (point - pow263 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[73] * value; - tempvar value = (column1 - oods_values[74]) / (point - pow212 * oods_point); + tempvar value = (column1 - oods_values[74]) / (point - pow279 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[74] * value; - tempvar value = (column1 - oods_values[75]) / (point - pow214 * oods_point); + tempvar value = (column1 - oods_values[75]) / (point - pow281 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[75] * value; - tempvar value = (column1 - oods_values[76]) / (point - pow215 * oods_point); + tempvar value = (column1 - oods_values[76]) / (point - pow282 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[76] * value; - tempvar value = (column1 - oods_values[77]) / (point - pow218 * oods_point); + tempvar value = (column1 - oods_values[77]) / (point - pow300 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[77] * value; - tempvar value = (column1 - oods_values[78]) / (point - pow225 * oods_point); + tempvar value = (column1 - oods_values[78]) / (point - pow304 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[78] * value; - tempvar value = (column1 - oods_values[79]) / (point - pow227 * oods_point); + tempvar value = (column1 - oods_values[79]) / (point - pow305 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[79] * value; - tempvar value = (column1 - oods_values[80]) / (point - pow226 * oods_point); + tempvar value = (column1 - oods_values[80]) / (point - pow321 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[80] * value; - tempvar value = (column1 - oods_values[81]) / (point - pow237 * oods_point); + tempvar value = (column1 - oods_values[81]) / (point - pow332 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[81] * value; - tempvar value = (column1 - oods_values[82]) / (point - pow240 * oods_point); + tempvar value = (column1 - oods_values[82]) / (point - pow335 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[82] * value; - tempvar value = (column1 - oods_values[83]) / (point - pow247 * oods_point); + tempvar value = (column1 - oods_values[83]) / (point - pow341 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[83] * value; - tempvar value = (column1 - oods_values[84]) / (point - pow250 * oods_point); + tempvar value = (column1 - oods_values[84]) / (point - pow346 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[84] * value; - tempvar value = (column1 - oods_values[85]) / (point - pow243 * oods_point); + tempvar value = (column1 - oods_values[85]) / (point - pow350 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[85] * value; - tempvar value = (column1 - oods_values[86]) / (point - pow246 * oods_point); + tempvar value = (column1 - oods_values[86]) / (point - pow353 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[86] * value; - tempvar value = (column1 - oods_values[87]) / (point - pow251 * oods_point); + tempvar value = (column1 - oods_values[87]) / (point - pow354 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[87] * value; - tempvar value = (column1 - oods_values[88]) / (point - pow254 * oods_point); + tempvar value = (column1 - oods_values[88]) / (point - pow364 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[88] * value; - tempvar value = (column1 - oods_values[89]) / (point - pow255 * oods_point); + tempvar value = (column1 - oods_values[89]) / (point - pow367 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[89] * value; - tempvar value = (column1 - oods_values[90]) / (point - pow262 * oods_point); + tempvar value = (column1 - oods_values[90]) / (point - pow368 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[90] * value; - tempvar value = (column1 - oods_values[91]) / (point - pow256 * oods_point); + tempvar value = (column1 - oods_values[91]) / (point - pow380 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[91] * value; - tempvar value = (column1 - oods_values[92]) / (point - pow257 * oods_point); + tempvar value = (column1 - oods_values[92]) / (point - pow383 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[92] * value; - tempvar value = (column1 - oods_values[93]) / (point - pow267 * oods_point); + tempvar value = (column1 - oods_values[93]) / (point - pow384 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[93] * value; - tempvar value = (column1 - oods_values[94]) / (point - pow270 * oods_point); + tempvar value = (column1 - oods_values[94]) / (point - pow394 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[94] * value; - tempvar value = (column1 - oods_values[95]) / (point - pow271 * oods_point); + tempvar value = (column1 - oods_values[95]) / (point - pow396 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[95] * value; - tempvar value = (column1 - oods_values[96]) / (point - pow272 * oods_point); + tempvar value = (column1 - oods_values[96]) / (point - pow397 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[96] * value; - tempvar value = (column1 - oods_values[97]) / (point - pow275 * oods_point); + tempvar value = (column1 - oods_values[97]) / (point - pow406 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[97] * value; - tempvar value = (column1 - oods_values[98]) / (point - pow276 * oods_point); + tempvar value = (column1 - oods_values[98]) / (point - pow407 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[98] * value; - tempvar value = (column1 - oods_values[99]) / (point - pow279 * oods_point); + tempvar value = (column1 - oods_values[99]) / (point - pow419 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[99] * value; - tempvar value = (column1 - oods_values[100]) / (point - pow280 * oods_point); + tempvar value = (column1 - oods_values[100]) / (point - pow420 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[100] * value; - tempvar value = (column1 - oods_values[101]) / (point - pow285 * oods_point); + tempvar value = (column1 - oods_values[101]) / (point - pow426 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[101] * value; - tempvar value = (column1 - oods_values[102]) / (point - pow287 * oods_point); + tempvar value = (column1 - oods_values[102]) / (point - pow429 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[102] * value; - tempvar value = (column1 - oods_values[103]) / (point - pow283 * oods_point); + tempvar value = (column1 - oods_values[103]) / (point - pow434 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[103] * value; - tempvar value = (column1 - oods_values[104]) / (point - pow289 * oods_point); + tempvar value = (column1 - oods_values[104]) / (point - pow436 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[104] * value; - tempvar value = (column1 - oods_values[105]) / (point - pow291 * oods_point); + tempvar value = (column1 - oods_values[105]) / (point - pow443 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[105] * value; - tempvar value = (column1 - oods_values[106]) / (point - pow294 * oods_point); + tempvar value = (column1 - oods_values[106]) / (point - pow446 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[106] * value; - tempvar value = (column1 - oods_values[107]) / (point - pow303 * oods_point); + tempvar value = (column1 - oods_values[107]) / (point - pow456 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[107] * value; - tempvar value = (column1 - oods_values[108]) / (point - pow307 * oods_point); + tempvar value = (column1 - oods_values[108]) / (point - pow458 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[108] * value; - tempvar value = (column1 - oods_values[109]) / (point - pow310 * oods_point); + tempvar value = (column1 - oods_values[109]) / (point - pow463 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[109] * value; - tempvar value = (column1 - oods_values[110]) / (point - pow337 * oods_point); + tempvar value = (column1 - oods_values[110]) / (point - pow491 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[110] * value; - tempvar value = (column1 - oods_values[111]) / (point - pow309 * oods_point); + tempvar value = (column1 - oods_values[111]) / (point - pow462 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[111] * value; - tempvar value = (column1 - oods_values[112]) / (point - pow312 * oods_point); + tempvar value = (column1 - oods_values[112]) / (point - pow464 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[112] * value; - tempvar value = (column1 - oods_values[113]) / (point - pow316 * oods_point); + tempvar value = (column1 - oods_values[113]) / (point - pow468 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[113] * value; - tempvar value = (column1 - oods_values[114]) / (point - pow322 * oods_point); + tempvar value = (column1 - oods_values[114]) / (point - pow471 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[114] * value; - tempvar value = (column1 - oods_values[115]) / (point - pow314 * oods_point); + tempvar value = (column1 - oods_values[115]) / (point - pow466 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[115] * value; - tempvar value = (column1 - oods_values[116]) / (point - pow321 * oods_point); + tempvar value = (column1 - oods_values[116]) / (point - pow470 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[116] * value; - tempvar value = (column1 - oods_values[117]) / (point - pow299 * oods_point); + tempvar value = (column1 - oods_values[117]) / (point - pow451 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[117] * value; - tempvar value = (column1 - oods_values[118]) / (point - pow317 * oods_point); + tempvar value = (column1 - oods_values[118]) / (point - pow469 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[118] * value; - tempvar value = (column1 - oods_values[119]) / (point - pow300 * oods_point); + tempvar value = (column1 - oods_values[119]) / (point - pow453 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[119] * value; - tempvar value = (column1 - oods_values[120]) / (point - pow318 * oods_point); + tempvar value = (column1 - oods_values[120]) / (point - pow473 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[120] * value; - tempvar value = (column1 - oods_values[121]) / (point - pow301 * oods_point); + tempvar value = (column1 - oods_values[121]) / (point - pow454 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[121] * value; - tempvar value = (column1 - oods_values[122]) / (point - pow319 * oods_point); + tempvar value = (column1 - oods_values[122]) / (point - pow475 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[122] * value; - tempvar value = (column1 - oods_values[123]) / (point - pow302 * oods_point); + tempvar value = (column1 - oods_values[123]) / (point - pow455 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[123] * value; - tempvar value = (column1 - oods_values[124]) / (point - pow320 * oods_point); + tempvar value = (column1 - oods_values[124]) / (point - pow476 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[124] * value; - tempvar value = (column1 - oods_values[125]) / (point - pow324 * oods_point); + tempvar value = (column1 - oods_values[125]) / (point - pow478 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[125] * value; - tempvar value = (column1 - oods_values[126]) / (point - pow325 * oods_point); + tempvar value = (column1 - oods_values[126]) / (point - pow479 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[126] * value; - tempvar value = (column1 - oods_values[127]) / (point - pow326 * oods_point); + tempvar value = (column1 - oods_values[127]) / (point - pow480 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[127] * value; - tempvar value = (column1 - oods_values[128]) / (point - pow335 * oods_point); + tempvar value = (column1 - oods_values[128]) / (point - pow481 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[128] * value; - tempvar value = (column1 - oods_values[129]) / (point - pow327 * oods_point); + tempvar value = (column1 - oods_values[129]) / (point - pow484 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[129] * value; - tempvar value = (column1 - oods_values[130]) / (point - pow328 * oods_point); + tempvar value = (column1 - oods_values[130]) / (point - pow485 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[130] * value; - tempvar value = (column1 - oods_values[131]) / (point - pow329 * oods_point); + tempvar value = (column1 - oods_values[131]) / (point - pow486 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[131] * value; - tempvar value = (column1 - oods_values[132]) / (point - pow334 * oods_point); + tempvar value = (column1 - oods_values[132]) / (point - pow493 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[132] * value; - tempvar value = (column1 - oods_values[133]) / (point - pow330 * oods_point); + tempvar value = (column1 - oods_values[133]) / (point - pow487 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[133] * value; - tempvar value = (column1 - oods_values[134]) / (point - pow331 * oods_point); + tempvar value = (column1 - oods_values[134]) / (point - pow488 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[134] * value; - tempvar value = (column1 - oods_values[135]) / (point - pow311 * oods_point); + tempvar value = (column1 - oods_values[135]) / (point - pow474 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[135] * value; - tempvar value = (column1 - oods_values[136]) / (point - pow332 * oods_point); + tempvar value = (column1 - oods_values[136]) / (point - pow489 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[136] * value; - tempvar value = (column1 - oods_values[137]) / (point - pow333 * oods_point); + tempvar value = (column1 - oods_values[137]) / (point - pow490 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[137] * value; - tempvar value = (column1 - oods_values[138]) / (point - pow338 * oods_point); + tempvar value = (column1 - oods_values[138]) / (point - pow492 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[138] * value; - tempvar value = (column1 - oods_values[139]) / (point - pow340 * oods_point); + tempvar value = (column1 - oods_values[139]) / (point - pow495 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[139] * value; - tempvar value = (column1 - oods_values[140]) / (point - pow355 * oods_point); + tempvar value = (column1 - oods_values[140]) / (point - pow497 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[140] * value; - tempvar value = (column1 - oods_values[141]) / (point - pow341 * oods_point); + tempvar value = (column1 - oods_values[141]) / (point - pow496 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[141] * value; - tempvar value = (column1 - oods_values[142]) / (point - pow356 * oods_point); + tempvar value = (column1 - oods_values[142]) / (point - pow498 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[142] * value; - tempvar value = (column1 - oods_values[143]) / (point - pow342 * oods_point); + tempvar value = (column1 - oods_values[143]) / (point - pow499 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[143] * value; - tempvar value = (column1 - oods_values[144]) / (point - pow343 * oods_point); + tempvar value = (column1 - oods_values[144]) / (point - pow500 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[144] * value; - tempvar value = (column1 - oods_values[145]) / (point - pow344 * oods_point); + tempvar value = (column1 - oods_values[145]) / (point - pow501 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[145] * value; - tempvar value = (column1 - oods_values[146]) / (point - pow359 * oods_point); + tempvar value = (column1 - oods_values[146]) / (point - pow502 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[146] * value; - tempvar value = (column1 - oods_values[147]) / (point - pow345 * oods_point); + tempvar value = (column1 - oods_values[147]) / (point - pow503 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[147] * value; - tempvar value = (column1 - oods_values[148]) / (point - pow360 * oods_point); + tempvar value = (column1 - oods_values[148]) / (point - pow505 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[148] * value; - tempvar value = (column1 - oods_values[149]) / (point - pow347 * oods_point); + tempvar value = (column1 - oods_values[149]) / (point - pow508 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[149] * value; - tempvar value = (column1 - oods_values[150]) / (point - pow361 * oods_point); + tempvar value = (column1 - oods_values[150]) / (point - pow509 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[150] * value; - tempvar value = (column1 - oods_values[151]) / (point - pow348 * oods_point); + tempvar value = (column1 - oods_values[151]) / (point - pow510 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[151] * value; - tempvar value = (column1 - oods_values[152]) / (point - pow349 * oods_point); + tempvar value = (column1 - oods_values[152]) / (point - pow511 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[152] * value; - tempvar value = (column1 - oods_values[153]) / (point - pow350 * oods_point); + tempvar value = (column1 - oods_values[153]) / (point - pow512 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[153] * value; - tempvar value = (column1 - oods_values[154]) / (point - pow362 * oods_point); + tempvar value = (column1 - oods_values[154]) / (point - pow514 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[154] * value; - tempvar value = (column1 - oods_values[155]) / (point - pow351 * oods_point); + tempvar value = (column1 - oods_values[155]) / (point - pow515 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[155] * value; - tempvar value = (column1 - oods_values[156]) / (point - pow352 * oods_point); + tempvar value = (column1 - oods_values[156]) / (point - pow516 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[156] * value; - tempvar value = (column1 - oods_values[157]) / (point - pow353 * oods_point); + tempvar value = (column1 - oods_values[157]) / (point - pow517 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[157] * value; - tempvar value = (column1 - oods_values[158]) / (point - pow363 * oods_point); + tempvar value = (column1 - oods_values[158]) / (point - pow518 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[158] * value; - tempvar value = (column1 - oods_values[159]) / (point - pow354 * oods_point); + tempvar value = (column1 - oods_values[159]) / (point - pow519 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[159] * value; - tempvar value = (column1 - oods_values[160]) / (point - pow357 * oods_point); + tempvar value = (column1 - oods_values[160]) / (point - pow520 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[160] * value; - tempvar value = (column1 - oods_values[161]) / (point - pow358 * oods_point); + tempvar value = (column1 - oods_values[161]) / (point - pow521 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[161] * value; - tempvar value = (column1 - oods_values[162]) / (point - pow364 * oods_point); + tempvar value = (column1 - oods_values[162]) / (point - pow522 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[162] * value; - tempvar value = (column1 - oods_values[163]) / (point - pow367 * oods_point); + tempvar value = (column1 - oods_values[163]) / (point - pow525 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[163] * value; - tempvar value = (column1 - oods_values[164]) / (point - pow368 * oods_point); + tempvar value = (column1 - oods_values[164]) / (point - pow526 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[164] * value; - tempvar value = (column1 - oods_values[165]) / (point - pow369 * oods_point); + tempvar value = (column1 - oods_values[165]) / (point - pow527 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[165] * value; - tempvar value = (column1 - oods_values[166]) / (point - pow373 * oods_point); + tempvar value = (column1 - oods_values[166]) / (point - pow529 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[166] * value; - tempvar value = (column1 - oods_values[167]) / (point - pow370 * oods_point); + tempvar value = (column1 - oods_values[167]) / (point - pow530 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[167] * value; - tempvar value = (column1 - oods_values[168]) / (point - pow371 * oods_point); + tempvar value = (column1 - oods_values[168]) / (point - pow531 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[168] * value; - tempvar value = (column1 - oods_values[169]) / (point - pow372 * oods_point); + tempvar value = (column1 - oods_values[169]) / (point - pow532 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[169] * value; - tempvar value = (column1 - oods_values[170]) / (point - pow374 * oods_point); + tempvar value = (column1 - oods_values[170]) / (point - pow533 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[170] * value; - tempvar value = (column1 - oods_values[171]) / (point - pow376 * oods_point); + tempvar value = (column1 - oods_values[171]) / (point - pow535 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[171] * value; - tempvar value = (column1 - oods_values[172]) / (point - pow377 * oods_point); + tempvar value = (column1 - oods_values[172]) / (point - pow536 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[172] * value; - tempvar value = (column1 - oods_values[173]) / (point - pow378 * oods_point); + tempvar value = (column1 - oods_values[173]) / (point - pow537 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[173] * value; - tempvar value = (column1 - oods_values[174]) / (point - pow391 * oods_point); + tempvar value = (column1 - oods_values[174]) / (point - pow538 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[174] * value; - tempvar value = (column1 - oods_values[175]) / (point - pow380 * oods_point); + tempvar value = (column1 - oods_values[175]) / (point - pow540 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[175] * value; - tempvar value = (column1 - oods_values[176]) / (point - pow381 * oods_point); + tempvar value = (column1 - oods_values[176]) / (point - pow541 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[176] * value; - tempvar value = (column1 - oods_values[177]) / (point - pow382 * oods_point); + tempvar value = (column1 - oods_values[177]) / (point - pow542 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[177] * value; - tempvar value = (column1 - oods_values[178]) / (point - pow392 * oods_point); + tempvar value = (column1 - oods_values[178]) / (point - pow544 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[178] * value; - tempvar value = (column1 - oods_values[179]) / (point - pow387 * oods_point); + tempvar value = (column1 - oods_values[179]) / (point - pow549 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[179] * value; - tempvar value = (column1 - oods_values[180]) / (point - pow388 * oods_point); + tempvar value = (column1 - oods_values[180]) / (point - pow550 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[180] * value; - tempvar value = (column1 - oods_values[181]) / (point - pow389 * oods_point); + tempvar value = (column1 - oods_values[181]) / (point - pow551 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[181] * value; - tempvar value = (column1 - oods_values[182]) / (point - pow393 * oods_point); + tempvar value = (column1 - oods_values[182]) / (point - pow553 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[182] * value; - tempvar value = (column1 - oods_values[183]) / (point - pow457 * oods_point); + tempvar value = (column1 - oods_values[183]) / (point - pow565 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[183] * value; - tempvar value = (column1 - oods_values[184]) / (point - pow397 * oods_point); + tempvar value = (column1 - oods_values[184]) / (point - pow557 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[184] * value; - tempvar value = (column1 - oods_values[185]) / (point - pow405 * oods_point); + tempvar value = (column1 - oods_values[185]) / (point - pow567 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[185] * value; - tempvar value = (column1 - oods_values[186]) / (point - pow415 * oods_point); + tempvar value = (column1 - oods_values[186]) / (point - pow581 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[186] * value; - tempvar value = (column1 - oods_values[187]) / (point - pow473 * oods_point); + tempvar value = (column1 - oods_values[187]) / (point - pow632 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[187] * value; - tempvar value = (column1 - oods_values[188]) / (point - pow472 * oods_point); + tempvar value = (column1 - oods_values[188]) / (point - pow631 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[188] * value; - tempvar value = (column1 - oods_values[189]) / (point - pow471 * oods_point); + tempvar value = (column1 - oods_values[189]) / (point - pow630 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[189] * value; - tempvar value = (column1 - oods_values[190]) / (point - pow470 * oods_point); + tempvar value = (column1 - oods_values[190]) / (point - pow629 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[190] * value; - tempvar value = (column1 - oods_values[191]) / (point - pow465 * oods_point); + tempvar value = (column1 - oods_values[191]) / (point - pow624 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[191] * value; - tempvar value = (column1 - oods_values[192]) / (point - pow468 * oods_point); + tempvar value = (column1 - oods_values[192]) / (point - pow627 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[192] * value; - tempvar value = (column1 - oods_values[193]) / (point - pow469 * oods_point); + tempvar value = (column1 - oods_values[193]) / (point - pow628 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[193] * value; - tempvar value = (column1 - oods_values[194]) / (point - pow463 * oods_point); + tempvar value = (column1 - oods_values[194]) / (point - pow622 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[194] * value; - tempvar value = (column1 - oods_values[195]) / (point - pow466 * oods_point); + tempvar value = (column1 - oods_values[195]) / (point - pow625 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[195] * value; - tempvar value = (column1 - oods_values[196]) / (point - pow467 * oods_point); + tempvar value = (column1 - oods_values[196]) / (point - pow626 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[196] * value; - tempvar value = (column1 - oods_values[197]) / (point - pow483 * oods_point); + tempvar value = (column1 - oods_values[197]) / (point - pow635 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[197] * value; - tempvar value = (column1 - oods_values[198]) / (point - pow484 * oods_point); + tempvar value = (column1 - oods_values[198]) / (point - pow783 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[198] * value; - tempvar value = (column1 - oods_values[199]) / (point - pow464 * oods_point); + tempvar value = (column1 - oods_values[199]) / (point - pow623 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[199] * value; - tempvar value = (column1 - oods_values[200]) / (point - pow462 * oods_point); + tempvar value = (column1 - oods_values[200]) / (point - pow621 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[200] * value; - tempvar value = (column1 - oods_values[201]) / (point - pow487 * oods_point); + tempvar value = (column1 - oods_values[201]) / (point - pow645 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[201] * value; - tempvar value = (column1 - oods_values[202]) / (point - pow488 * oods_point); + tempvar value = (column1 - oods_values[202]) / (point - pow646 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[202] * value; - tempvar value = (column1 - oods_values[203]) / (point - pow55 * oods_point); + tempvar value = (column1 - oods_values[203]) / (point - pow52 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[203] * value; - tempvar value = (column1 - oods_values[204]) / (point - pow152 * oods_point); + tempvar value = (column1 - oods_values[204]) / (point - pow151 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[204] * value; - tempvar value = (column1 - oods_values[205]) / (point - pow54 * oods_point); + tempvar value = (column1 - oods_values[205]) / (point - pow51 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[205] * value; - tempvar value = (column1 - oods_values[206]) / (point - pow53 * oods_point); + tempvar value = (column1 - oods_values[206]) / (point - pow50 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[206] * value; - tempvar value = (column1 - oods_values[207]) / (point - pow581 * oods_point); + tempvar value = (column1 - oods_values[207]) / (point - pow748 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[207] * value; - tempvar value = (column1 - oods_values[208]) / (point - pow589 * oods_point); + tempvar value = (column1 - oods_values[208]) / (point - pow757 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[208] * value; - tempvar value = (column1 - oods_values[209]) / (point - pow597 * oods_point); + tempvar value = (column1 - oods_values[209]) / (point - pow765 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[209] * value; - tempvar value = (column1 - oods_values[210]) / (point - pow619 * oods_point); + tempvar value = (column1 - oods_values[210]) / (point - pow784 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[210] * value; - tempvar value = (column1 - oods_values[211]) / (point - pow577 * oods_point); + tempvar value = (column1 - oods_values[211]) / (point - pow744 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[211] * value; - tempvar value = (column1 - oods_values[212]) / (point - pow566 * oods_point); + tempvar value = (column1 - oods_values[212]) / (point - pow726 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[212] * value; - tempvar value = (column1 - oods_values[213]) / (point - pow553 * oods_point); + tempvar value = (column1 - oods_values[213]) / (point - pow722 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[213] * value; - tempvar value = (column1 - oods_values[214]) / (point - pow554 * oods_point); + tempvar value = (column1 - oods_values[214]) / (point - pow725 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[214] * value; - tempvar value = (column1 - oods_values[215]) / (point - pow551 * oods_point); + tempvar value = (column1 - oods_values[215]) / (point - pow707 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[215] * value; - tempvar value = (column1 - oods_values[216]) / (point - pow550 * oods_point); + tempvar value = (column1 - oods_values[216]) / (point - pow706 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[216] * value; - tempvar value = (column1 - oods_values[217]) / (point - pow556 * oods_point); + tempvar value = (column1 - oods_values[217]) / (point - pow716 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[217] * value; - tempvar value = (column1 - oods_values[218]) / (point - pow557 * oods_point); + tempvar value = (column1 - oods_values[218]) / (point - pow723 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[218] * value; - tempvar value = (column1 - oods_values[219]) / (point - pow558 * oods_point); + tempvar value = (column1 - oods_values[219]) / (point - pow724 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[219] * value; - tempvar value = (column1 - oods_values[220]) / (point - pow52 * oods_point); + tempvar value = (column1 - oods_values[220]) / (point - pow49 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[220] * value; - tempvar value = (column1 - oods_values[221]) / (point - pow106 * oods_point); + tempvar value = (column1 - oods_values[221]) / (point - pow102 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[221] * value; - tempvar value = (column1 - oods_values[222]) / (point - pow133 * oods_point); + tempvar value = (column1 - oods_values[222]) / (point - pow130 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[222] * value; - tempvar value = (column1 - oods_values[223]) / (point - pow51 * oods_point); + tempvar value = (column1 - oods_values[223]) / (point - pow48 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[223] * value; - tempvar value = (column1 - oods_values[224]) / (point - pow50 * oods_point); + tempvar value = (column1 - oods_values[224]) / (point - pow47 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[224] * value; - tempvar value = (column1 - oods_values[225]) / (point - pow49 * oods_point); + tempvar value = (column1 - oods_values[225]) / (point - pow46 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[225] * value; - tempvar value = (column1 - oods_values[226]) / (point - pow48 * oods_point); + tempvar value = (column1 - oods_values[226]) / (point - pow45 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[226] * value; - tempvar value = (column1 - oods_values[227]) / (point - pow583 * oods_point); + tempvar value = (column1 - oods_values[227]) / (point - pow750 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[227] * value; - tempvar value = (column1 - oods_values[228]) / (point - pow592 * oods_point); + tempvar value = (column1 - oods_values[228]) / (point - pow760 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[228] * value; - tempvar value = (column1 - oods_values[229]) / (point - pow598 * oods_point); + tempvar value = (column1 - oods_values[229]) / (point - pow766 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[229] * value; - tempvar value = (column1 - oods_values[230]) / (point - pow620 * oods_point); + tempvar value = (column1 - oods_values[230]) / (point - pow785 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[230] * value; - tempvar value = (column1 - oods_values[231]) / (point - pow578 * oods_point); + tempvar value = (column1 - oods_values[231]) / (point - pow745 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[231] * value; - tempvar value = (column1 - oods_values[232]) / (point - pow567 * oods_point); + tempvar value = (column1 - oods_values[232]) / (point - pow727 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[232] * value; - tempvar value = (column1 - oods_values[233]) / (point - pow47 * oods_point); + tempvar value = (column1 - oods_values[233]) / (point - pow44 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[233] * value; - tempvar value = (column1 - oods_values[234]) / (point - pow46 * oods_point); + tempvar value = (column1 - oods_values[234]) / (point - pow43 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[234] * value; - tempvar value = (column1 - oods_values[235]) / (point - pow45 * oods_point); + tempvar value = (column1 - oods_values[235]) / (point - pow42 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[235] * value; - tempvar value = (column1 - oods_values[236]) / (point - pow44 * oods_point); + tempvar value = (column1 - oods_values[236]) / (point - pow41 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[236] * value; - tempvar value = (column1 - oods_values[237]) / (point - pow456 * oods_point); + tempvar value = (column1 - oods_values[237]) / (point - pow564 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[237] * value; - tempvar value = (column1 - oods_values[238]) / (point - pow346 * oods_point); + tempvar value = (column1 - oods_values[238]) / (point - pow504 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[238] * value; - tempvar value = (column1 - oods_values[239]) / (point - pow533 * oods_point); + tempvar value = (column1 - oods_values[239]) / (point - pow694 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[239] * value; - tempvar value = (column1 - oods_values[240]) / (point - pow535 * oods_point); + tempvar value = (column1 - oods_values[240]) / (point - pow696 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[240] * value; - tempvar value = (column1 - oods_values[241]) / (point - pow534 * oods_point); + tempvar value = (column1 - oods_values[241]) / (point - pow695 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[241] * value; - tempvar value = (column1 - oods_values[242]) / (point - pow532 * oods_point); + tempvar value = (column1 - oods_values[242]) / (point - pow693 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[242] * value; - tempvar value = (column1 - oods_values[243]) / (point - pow43 * oods_point); + tempvar value = (column1 - oods_values[243]) / (point - pow40 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[243] * value; - tempvar value = (column1 - oods_values[244]) / (point - pow579 * oods_point); + tempvar value = (column1 - oods_values[244]) / (point - pow746 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[244] * value; - tempvar value = (column1 - oods_values[245]) / (point - pow42 * oods_point); + tempvar value = (column1 - oods_values[245]) / (point - pow39 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[245] * value; - tempvar value = (column1 - oods_values[246]) / (point - pow58 * oods_point); + tempvar value = (column1 - oods_values[246]) / (point - pow55 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[246] * value; - tempvar value = (column1 - oods_values[247]) / (point - pow568 * oods_point); + tempvar value = (column1 - oods_values[247]) / (point - pow728 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[247] * value; - tempvar value = (column1 - oods_values[248]) / (point - pow569 * oods_point); + tempvar value = (column1 - oods_values[248]) / (point - pow731 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[248] * value; - tempvar value = (column1 - oods_values[249]) / (point - pow570 * oods_point); + tempvar value = (column1 - oods_values[249]) / (point - pow732 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[249] * value; - tempvar value = (column1 - oods_values[250]) / (point - pow41 * oods_point); + tempvar value = (column1 - oods_values[250]) / (point - pow730 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[250] * value; - tempvar value = (column1 - oods_values[251]) / (point - pow105 * oods_point); + tempvar value = (column1 - oods_values[251]) / (point - pow733 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[251] * value; - tempvar value = (column1 - oods_values[252]) / (point - pow132 * oods_point); + tempvar value = (column1 - oods_values[252]) / (point - pow734 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[252] * value; - tempvar value = (column1 - oods_values[253]) / (point - pow40 * oods_point); + tempvar value = (column1 - oods_values[253]) / (point - pow38 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[253] * value; - tempvar value = (column1 - oods_values[254]) / (point - pow594 * oods_point); + tempvar value = (column1 - oods_values[254]) / (point - pow762 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[254] * value; - tempvar value = (column1 - oods_values[255]) / (point - pow595 * oods_point); + tempvar value = (column1 - oods_values[255]) / (point - pow763 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[255] * value; - tempvar value = (column1 - oods_values[256]) / (point - pow596 * oods_point); + tempvar value = (column1 - oods_values[256]) / (point - pow764 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[256] * value; - tempvar value = (column1 - oods_values[257]) / (point - pow527 * oods_point); + tempvar value = (column1 - oods_values[257]) / (point - pow688 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[257] * value; - tempvar value = (column1 - oods_values[258]) / (point - pow530 * oods_point); + tempvar value = (column1 - oods_values[258]) / (point - pow690 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[258] * value; - tempvar value = (column1 - oods_values[259]) / (point - pow531 * oods_point); + tempvar value = (column1 - oods_values[259]) / (point - pow692 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[259] * value; - tempvar value = (column1 - oods_values[260]) / (point - pow582 * oods_point); + tempvar value = (column1 - oods_values[260]) / (point - pow749 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[260] * value; - tempvar value = (column1 - oods_values[261]) / (point - pow39 * oods_point); + tempvar value = (column1 - oods_values[261]) / (point - pow37 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[261] * value; - tempvar value = (column1 - oods_values[262]) / (point - pow38 * oods_point); + tempvar value = (column1 - oods_values[262]) / (point - pow36 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[262] * value; - tempvar value = (column1 - oods_values[263]) / (point - pow502 * oods_point); + tempvar value = (column1 - oods_values[263]) / (point - pow665 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[263] * value; - tempvar value = (column1 - oods_values[264]) / (point - pow571 * oods_point); + tempvar value = (column1 - oods_values[264]) / (point - pow735 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[264] * value; - tempvar value = (column1 - oods_values[265]) / (point - pow501 * oods_point); + tempvar value = (column1 - oods_values[265]) / (point - pow664 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[265] * value; - tempvar value = (column1 - oods_values[266]) / (point - pow525 * oods_point); + tempvar value = (column1 - oods_values[266]) / (point - pow686 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[266] * value; - tempvar value = (column1 - oods_values[267]) / (point - pow600 * oods_point); + tempvar value = (column1 - oods_values[267]) / (point - pow768 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[267] * value; - tempvar value = (column1 - oods_values[268]) / (point - pow602 * oods_point); + tempvar value = (column1 - oods_values[268]) / (point - pow770 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[268] * value; - tempvar value = (column1 - oods_values[269]) / (point - pow606 * oods_point); + tempvar value = (column1 - oods_values[269]) / (point - pow774 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[269] * value; - tempvar value = (column1 - oods_values[270]) / (point - pow622 * oods_point); + tempvar value = (column1 - oods_values[270]) / (point - pow787 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[270] * value; - tempvar value = (column1 - oods_values[271]) / (point - pow580 * oods_point); + tempvar value = (column1 - oods_values[271]) / (point - pow747 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[271] * value; - tempvar value = (column1 - oods_values[272]) / (point - pow572 * oods_point); + tempvar value = (column1 - oods_values[272]) / (point - pow736 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[272] * value; - tempvar value = (column1 - oods_values[273]) / (point - pow593 * oods_point); + tempvar value = (column1 - oods_values[273]) / (point - pow761 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[273] * value; - tempvar value = (column1 - oods_values[274]) / (point - pow560 * oods_point); + tempvar value = (column1 - oods_values[274]) / (point - pow718 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[274] * value; - tempvar value = (column1 - oods_values[275]) / (point - pow552 * oods_point); + tempvar value = (column1 - oods_values[275]) / (point - pow708 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[275] * value; - tempvar value = (column1 - oods_values[276]) / (point - pow512 * oods_point); + tempvar value = (column1 - oods_values[276]) / (point - pow675 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[276] * value; - tempvar value = (column1 - oods_values[277]) / (point - pow561 * oods_point); + tempvar value = (column1 - oods_values[277]) / (point - pow719 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[277] * value; - tempvar value = (column1 - oods_values[278]) / (point - pow544 * oods_point); + tempvar value = (column1 - oods_values[278]) / (point - pow705 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[278] * value; - tempvar value = (column1 - oods_values[279]) / (point - pow37 * oods_point); + tempvar value = (column1 - oods_values[279]) / (point - pow35 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[279] * value; - tempvar value = (column1 - oods_values[280]) / (point - pow36 * oods_point); + tempvar value = (column1 - oods_values[280]) / (point - pow34 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[280] * value; - tempvar value = (column1 - oods_values[281]) / (point - pow35 * oods_point); + tempvar value = (column1 - oods_values[281]) / (point - pow33 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[281] * value; - tempvar value = (column1 - oods_values[282]) / (point - pow603 * oods_point); + tempvar value = (column1 - oods_values[282]) / (point - pow771 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[282] * value; - tempvar value = (column1 - oods_values[283]) / (point - pow34 * oods_point); + tempvar value = (column1 - oods_values[283]) / (point - pow32 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[283] * value; - tempvar value = (column1 - oods_values[284]) / (point - pow104 * oods_point); + tempvar value = (column1 - oods_values[284]) / (point - pow101 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[284] * value; - tempvar value = (column1 - oods_values[285]) / (point - pow131 * oods_point); + tempvar value = (column1 - oods_values[285]) / (point - pow129 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[285] * value; - tempvar value = (column1 - oods_values[286]) / (point - pow33 * oods_point); + tempvar value = (column1 - oods_values[286]) / (point - pow31 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[286] * value; - tempvar value = (column1 - oods_values[287]) / (point - pow32 * oods_point); + tempvar value = (column1 - oods_values[287]) / (point - pow30 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[287] * value; - tempvar value = (column1 - oods_values[288]) / (point - pow31 * oods_point); + tempvar value = (column1 - oods_values[288]) / (point - pow29 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[288] * value; - tempvar value = (column1 - oods_values[289]) / (point - pow30 * oods_point); + tempvar value = (column1 - oods_values[289]) / (point - pow28 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[289] * value; - tempvar value = (column1 - oods_values[290]) / (point - pow29 * oods_point); + tempvar value = (column1 - oods_values[290]) / (point - pow27 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[290] * value; - tempvar value = (column1 - oods_values[291]) / (point - pow103 * oods_point); + tempvar value = (column1 - oods_values[291]) / (point - pow100 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[291] * value; - tempvar value = (column1 - oods_values[292]) / (point - pow130 * oods_point); + tempvar value = (column1 - oods_values[292]) / (point - pow128 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[292] * value; - tempvar value = (column1 - oods_values[293]) / (point - pow575 * oods_point); + tempvar value = (column1 - oods_values[293]) / (point - pow742 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[293] * value; - tempvar value = (column1 - oods_values[294]) / (point - pow576 * oods_point); + tempvar value = (column1 - oods_values[294]) / (point - pow743 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[294] * value; - tempvar value = (column1 - oods_values[295]) / (point - pow609 * oods_point); + tempvar value = (column1 - oods_values[295]) / (point - pow779 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[295] * value; - tempvar value = (column1 - oods_values[296]) / (point - pow28 * oods_point); + tempvar value = (column1 - oods_values[296]) / (point - pow26 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[296] * value; - tempvar value = (column1 - oods_values[297]) / (point - pow612 * oods_point); + tempvar value = (column1 - oods_values[297]) / (point - pow781 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[297] * value; - tempvar value = (column1 - oods_values[298]) / (point - pow613 * oods_point); + tempvar value = (column1 - oods_values[298]) / (point - pow782 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[298] * value; - tempvar value = (column1 - oods_values[299]) / (point - pow511 * oods_point); + tempvar value = (column1 - oods_values[299]) / (point - pow674 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[299] * value; - tempvar value = (column1 - oods_values[300]) / (point - pow510 * oods_point); + tempvar value = (column1 - oods_values[300]) / (point - pow673 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[300] * value; - tempvar value = (column1 - oods_values[301]) / (point - pow27 * oods_point); + tempvar value = (column1 - oods_values[301]) / (point - pow25 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[301] * value; - tempvar value = (column1 - oods_values[302]) / (point - pow336 * oods_point); + tempvar value = (column1 - oods_values[302]) / (point - pow482 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[302] * value; - tempvar value = (column1 - oods_values[303]) / (point - pow573 * oods_point); + tempvar value = (column1 - oods_values[303]) / (point - pow737 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[303] * value; - tempvar value = (column1 - oods_values[304]) / (point - pow26 * oods_point); + tempvar value = (column1 - oods_values[304]) / (point - pow738 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[304] * value; - tempvar value = (column1 - oods_values[305]) / (point - pow383 * oods_point); + tempvar value = (column1 - oods_values[305]) / (point - pow543 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[305] * value; - tempvar value = (column1 - oods_values[306]) / (point - pow514 * oods_point); + tempvar value = (column1 - oods_values[306]) / (point - pow678 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[306] * value; - tempvar value = (column1 - oods_values[307]) / (point - pow539 * oods_point); + tempvar value = (column1 - oods_values[307]) / (point - pow700 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[307] * value; - tempvar value = (column1 - oods_values[308]) / (point - pow538 * oods_point); + tempvar value = (column1 - oods_values[308]) / (point - pow699 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[308] * value; - tempvar value = (column1 - oods_values[309]) / (point - pow25 * oods_point); + tempvar value = (column1 - oods_values[309]) / (point - pow24 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[309] * value; - tempvar value = (column1 - oods_values[310]) / (point - pow584 * oods_point); + tempvar value = (column1 - oods_values[310]) / (point - pow751 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[310] * value; - tempvar value = (column1 - oods_values[311]) / (point - pow24 * oods_point); + tempvar value = (column1 - oods_values[311]) / (point - pow23 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[311] * value; - tempvar value = (column1 - oods_values[312]) / (point - pow23 * oods_point); + tempvar value = (column1 - oods_values[312]) / (point - pow22 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[312] * value; - tempvar value = (column1 - oods_values[313]) / (point - pow22 * oods_point); + tempvar value = (column1 - oods_values[313]) / (point - pow21 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[313] * value; - tempvar value = (column1 - oods_values[314]) / (point - pow21 * oods_point); + tempvar value = (column1 - oods_values[314]) / (point - pow20 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[314] * value; - tempvar value = (column1 - oods_values[315]) / (point - pow102 * oods_point); + tempvar value = (column1 - oods_values[315]) / (point - pow99 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[315] * value; - tempvar value = (column1 - oods_values[316]) / (point - pow129 * oods_point); + tempvar value = (column1 - oods_values[316]) / (point - pow127 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[316] * value; - tempvar value = (column1 - oods_values[317]) / (point - pow522 * oods_point); + tempvar value = (column1 - oods_values[317]) / (point - pow684 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[317] * value; - tempvar value = (column1 - oods_values[318]) / (point - pow523 * oods_point); + tempvar value = (column1 - oods_values[318]) / (point - pow739 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[318] * value; - tempvar value = (column1 - oods_values[319]) / (point - pow542 * oods_point); + tempvar value = (column1 - oods_values[319]) / (point - pow704 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[319] * value; - tempvar value = (column1 - oods_values[320]) / (point - pow521 * oods_point); + tempvar value = (column1 - oods_values[320]) / (point - pow753 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[320] * value; - tempvar value = (column1 - oods_values[321]) / (point - pow20 * oods_point); + tempvar value = (column1 - oods_values[321]) / (point - pow19 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[321] * value; - tempvar value = (column1 - oods_values[322]) / (point - pow520 * oods_point); + tempvar value = (column1 - oods_values[322]) / (point - pow683 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[322] * value; - tempvar value = (column1 - oods_values[323]) / (point - pow19 * oods_point); + tempvar value = (column1 - oods_values[323]) / (point - pow18 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[323] * value; - tempvar value = (column1 - oods_values[324]) / (point - pow170 * oods_point); + tempvar value = (column1 - oods_values[324]) / (point - pow171 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[324] * value; - tempvar value = (column1 - oods_values[325]) / (point - pow18 * oods_point); + tempvar value = (column1 - oods_values[325]) / (point - pow17 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[325] * value; - tempvar value = (column1 - oods_values[326]) / (point - pow17 * oods_point); + tempvar value = (column1 - oods_values[326]) / (point - pow16 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[326] * value; - tempvar value = (column1 - oods_values[327]) / (point - pow16 * oods_point); + tempvar value = (column1 - oods_values[327]) / (point - pow15 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[327] * value; - tempvar value = (column1 - oods_values[328]) / (point - pow590 * oods_point); + tempvar value = (column1 - oods_values[328]) / (point - pow758 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[328] * value; - tempvar value = (column1 - oods_values[329]) / (point - pow591 * oods_point); + tempvar value = (column1 - oods_values[329]) / (point - pow759 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[329] * value; - tempvar value = (column1 - oods_values[330]) / (point - pow599 * oods_point); + tempvar value = (column1 - oods_values[330]) / (point - pow767 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[330] * value; - tempvar value = (column1 - oods_values[331]) / (point - pow586 * oods_point); + tempvar value = (column1 - oods_values[331]) / (point - pow754 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[331] * value; - tempvar value = (column1 - oods_values[332]) / (point - pow587 * oods_point); + tempvar value = (column1 - oods_values[332]) / (point - pow755 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[332] * value; - tempvar value = (column1 - oods_values[333]) / (point - pow588 * oods_point); + tempvar value = (column1 - oods_values[333]) / (point - pow756 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[333] * value; - tempvar value = (column1 - oods_values[334]) / (point - pow15 * oods_point); + tempvar value = (column1 - oods_values[334]) / (point - pow14 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[334] * value; - tempvar value = (column1 - oods_values[335]) / (point - pow601 * oods_point); + tempvar value = (column1 - oods_values[335]) / (point - pow769 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[335] * value; - tempvar value = (column1 - oods_values[336]) / (point - pow605 * oods_point); + tempvar value = (column1 - oods_values[336]) / (point - pow773 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[336] * value; - tempvar value = (column1 - oods_values[337]) / (point - pow607 * oods_point); + tempvar value = (column1 - oods_values[337]) / (point - pow775 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[337] * value; - tempvar value = (column1 - oods_values[338]) / (point - pow608 * oods_point); + tempvar value = (column1 - oods_values[338]) / (point - pow776 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[338] * value; - tempvar value = (column1 - oods_values[339]) / (point - pow623 * oods_point); + tempvar value = (column1 - oods_values[339]) / (point - pow788 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[339] * value; - tempvar value = (column1 - oods_values[340]) / (point - pow624 * oods_point); + tempvar value = (column1 - oods_values[340]) / (point - pow789 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[340] * value; - tempvar value = (column1 - oods_values[341]) / (point - pow629 * oods_point); + tempvar value = (column1 - oods_values[341]) / (point - pow794 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[341] * value; - tempvar value = (column1 - oods_values[342]) / (point - pow630 * oods_point); + tempvar value = (column1 - oods_values[342]) / (point - pow795 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[342] * value; - tempvar value = (column1 - oods_values[343]) / (point - pow627 * oods_point); + tempvar value = (column1 - oods_values[343]) / (point - pow793 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[343] * value; - tempvar value = (column1 - oods_values[344]) / (point - pow518 * oods_point); + tempvar value = (column1 - oods_values[344]) / (point - pow681 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[344] * value; - tempvar value = (column1 - oods_values[345]) / (point - pow610 * oods_point); + tempvar value = (column1 - oods_values[345]) / (point - pow780 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[345] * value; - tempvar value = (column1 - oods_values[346]) / (point - pow631 * oods_point); + tempvar value = (column1 - oods_values[346]) / (point - pow796 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[346] * value; - tempvar value = (column1 - oods_values[347]) / (point - pow611 * oods_point); + tempvar value = (column1 - oods_values[347]) / (point - pow797 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[347] * value; - tempvar value = (column1 - oods_values[348]) / (point - pow632 * oods_point); + tempvar value = (column1 - oods_values[348]) / (point - pow798 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[348] * value; tempvar value = (column2 - oods_values[349]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[349] * value; - tempvar value = (column2 - oods_values[350]) / (point - pow56 * oods_point); + tempvar value = (column2 - oods_values[350]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[350] * value; tempvar value = (column3 - oods_values[351]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[351] * value; - tempvar value = (column3 - oods_values[352]) / (point - pow56 * oods_point); + tempvar value = (column3 - oods_values[352]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[352] * value; - tempvar value = (column3 - oods_values[353]) / (point - pow57 * oods_point); + tempvar value = (column3 - oods_values[353]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[353] * value; - tempvar value = (column3 - oods_values[354]) / (point - pow59 * oods_point); + tempvar value = (column3 - oods_values[354]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[354] * value; - tempvar value = (column3 - oods_values[355]) / (point - pow60 * oods_point); + tempvar value = (column3 - oods_values[355]) / (point - pow57 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[355] * value; - tempvar value = (column3 - oods_values[356]) / (point - pow61 * oods_point); + tempvar value = (column3 - oods_values[356]) / (point - pow58 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[356] * value; - tempvar value = (column3 - oods_values[357]) / (point - pow62 * oods_point); + tempvar value = (column3 - oods_values[357]) / (point - pow59 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[357] * value; - tempvar value = (column3 - oods_values[358]) / (point - pow63 * oods_point); + tempvar value = (column3 - oods_values[358]) / (point - pow60 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[358] * value; - tempvar value = (column3 - oods_values[359]) / (point - pow64 * oods_point); + tempvar value = (column3 - oods_values[359]) / (point - pow61 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[359] * value; - tempvar value = (column3 - oods_values[360]) / (point - pow65 * oods_point); + tempvar value = (column3 - oods_values[360]) / (point - pow62 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[360] * value; - tempvar value = (column3 - oods_values[361]) / (point - pow66 * oods_point); + tempvar value = (column3 - oods_values[361]) / (point - pow63 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[361] * value; - tempvar value = (column3 - oods_values[362]) / (point - pow67 * oods_point); + tempvar value = (column3 - oods_values[362]) / (point - pow64 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[362] * value; - tempvar value = (column3 - oods_values[363]) / (point - pow68 * oods_point); + tempvar value = (column3 - oods_values[363]) / (point - pow65 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[363] * value; - tempvar value = (column3 - oods_values[364]) / (point - pow69 * oods_point); + tempvar value = (column3 - oods_values[364]) / (point - pow66 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[364] * value; - tempvar value = (column3 - oods_values[365]) / (point - pow70 * oods_point); + tempvar value = (column3 - oods_values[365]) / (point - pow67 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[365] * value; - tempvar value = (column3 - oods_values[366]) / (point - pow71 * oods_point); + tempvar value = (column3 - oods_values[366]) / (point - pow68 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[366] * value; - tempvar value = (column3 - oods_values[367]) / (point - pow418 * oods_point); + tempvar value = (column3 - oods_values[367]) / (point - pow578 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[367] * value; - tempvar value = (column3 - oods_values[368]) / (point - pow419 * oods_point); + tempvar value = (column3 - oods_values[368]) / (point - pow579 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[368] * value; - tempvar value = (column3 - oods_values[369]) / (point - pow420 * oods_point); + tempvar value = (column3 - oods_values[369]) / (point - pow580 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[369] * value; - tempvar value = (column3 - oods_values[370]) / (point - pow421 * oods_point); + tempvar value = (column3 - oods_values[370]) / (point - pow583 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[370] * value; - tempvar value = (column3 - oods_values[371]) / (point - pow422 * oods_point); + tempvar value = (column3 - oods_values[371]) / (point - pow584 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[371] * value; - tempvar value = (column3 - oods_values[372]) / (point - pow423 * oods_point); + tempvar value = (column3 - oods_values[372]) / (point - pow585 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[372] * value; - tempvar value = (column3 - oods_values[373]) / (point - pow424 * oods_point); + tempvar value = (column3 - oods_values[373]) / (point - pow586 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[373] * value; - tempvar value = (column3 - oods_values[374]) / (point - pow425 * oods_point); + tempvar value = (column3 - oods_values[374]) / (point - pow587 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[374] * value; - tempvar value = (column3 - oods_values[375]) / (point - pow426 * oods_point); + tempvar value = (column3 - oods_values[375]) / (point - pow588 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[375] * value; - tempvar value = (column3 - oods_values[376]) / (point - pow427 * oods_point); + tempvar value = (column3 - oods_values[376]) / (point - pow589 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[376] * value; - tempvar value = (column3 - oods_values[377]) / (point - pow428 * oods_point); + tempvar value = (column3 - oods_values[377]) / (point - pow590 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[377] * value; - tempvar value = (column3 - oods_values[378]) / (point - pow429 * oods_point); + tempvar value = (column3 - oods_values[378]) / (point - pow591 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[378] * value; - tempvar value = (column3 - oods_values[379]) / (point - pow430 * oods_point); + tempvar value = (column3 - oods_values[379]) / (point - pow592 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[379] * value; - tempvar value = (column3 - oods_values[380]) / (point - pow431 * oods_point); + tempvar value = (column3 - oods_values[380]) / (point - pow593 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[380] * value; - tempvar value = (column3 - oods_values[381]) / (point - pow432 * oods_point); + tempvar value = (column3 - oods_values[381]) / (point - pow594 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[381] * value; - tempvar value = (column3 - oods_values[382]) / (point - pow433 * oods_point); + tempvar value = (column3 - oods_values[382]) / (point - pow595 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[382] * value; - tempvar value = (column3 - oods_values[383]) / (point - pow434 * oods_point); + tempvar value = (column3 - oods_values[383]) / (point - pow596 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[383] * value; - tempvar value = (column3 - oods_values[384]) / (point - pow435 * oods_point); + tempvar value = (column3 - oods_values[384]) / (point - pow597 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[384] * value; - tempvar value = (column3 - oods_values[385]) / (point - pow437 * oods_point); + tempvar value = (column3 - oods_values[385]) / (point - pow599 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[385] * value; - tempvar value = (column3 - oods_values[386]) / (point - pow438 * oods_point); + tempvar value = (column3 - oods_values[386]) / (point - pow600 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[386] * value; - tempvar value = (column3 - oods_values[387]) / (point - pow439 * oods_point); + tempvar value = (column3 - oods_values[387]) / (point - pow601 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[387] * value; - tempvar value = (column3 - oods_values[388]) / (point - pow440 * oods_point); + tempvar value = (column3 - oods_values[388]) / (point - pow602 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[388] * value; - tempvar value = (column3 - oods_values[389]) / (point - pow441 * oods_point); + tempvar value = (column3 - oods_values[389]) / (point - pow603 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[389] * value; - tempvar value = (column3 - oods_values[390]) / (point - pow442 * oods_point); + tempvar value = (column3 - oods_values[390]) / (point - pow604 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[390] * value; - tempvar value = (column3 - oods_values[391]) / (point - pow443 * oods_point); + tempvar value = (column3 - oods_values[391]) / (point - pow605 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[391] * value; - tempvar value = (column3 - oods_values[392]) / (point - pow444 * oods_point); + tempvar value = (column3 - oods_values[392]) / (point - pow606 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[392] * value; - tempvar value = (column3 - oods_values[393]) / (point - pow447 * oods_point); + tempvar value = (column3 - oods_values[393]) / (point - pow609 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[393] * value; - tempvar value = (column3 - oods_values[394]) / (point - pow450 * oods_point); + tempvar value = (column3 - oods_values[394]) / (point - pow612 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[394] * value; - tempvar value = (column3 - oods_values[395]) / (point - pow455 * oods_point); + tempvar value = (column3 - oods_values[395]) / (point - pow617 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[395] * value; - tempvar value = (column3 - oods_values[396]) / (point - pow460 * oods_point); + tempvar value = (column3 - oods_values[396]) / (point - pow620 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[396] * value; - tempvar value = (column3 - oods_values[397]) / (point - pow494 * oods_point); + tempvar value = (column3 - oods_values[397]) / (point - pow657 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[397] * value; - tempvar value = (column3 - oods_values[398]) / (point - pow495 * oods_point); + tempvar value = (column3 - oods_values[398]) / (point - pow658 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[398] * value; - tempvar value = (column3 - oods_values[399]) / (point - pow496 * oods_point); + tempvar value = (column3 - oods_values[399]) / (point - pow659 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[399] * value; - tempvar value = (column3 - oods_values[400]) / (point - pow497 * oods_point); + tempvar value = (column3 - oods_values[400]) / (point - pow660 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[400] * value; - tempvar value = (column3 - oods_values[401]) / (point - pow498 * oods_point); + tempvar value = (column3 - oods_values[401]) / (point - pow661 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[401] * value; - tempvar value = (column3 - oods_values[402]) / (point - pow499 * oods_point); + tempvar value = (column3 - oods_values[402]) / (point - pow662 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[402] * value; - tempvar value = (column3 - oods_values[403]) / (point - pow500 * oods_point); + tempvar value = (column3 - oods_values[403]) / (point - pow663 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[403] * value; - tempvar value = (column3 - oods_values[404]) / (point - pow503 * oods_point); + tempvar value = (column3 - oods_values[404]) / (point - pow666 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[404] * value; - tempvar value = (column3 - oods_values[405]) / (point - pow504 * oods_point); + tempvar value = (column3 - oods_values[405]) / (point - pow667 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[405] * value; - tempvar value = (column3 - oods_values[406]) / (point - pow505 * oods_point); + tempvar value = (column3 - oods_values[406]) / (point - pow668 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[406] * value; - tempvar value = (column3 - oods_values[407]) / (point - pow506 * oods_point); + tempvar value = (column3 - oods_values[407]) / (point - pow669 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[407] * value; - tempvar value = (column3 - oods_values[408]) / (point - pow507 * oods_point); + tempvar value = (column3 - oods_values[408]) / (point - pow671 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[408] * value; - tempvar value = (column3 - oods_values[409]) / (point - pow513 * oods_point); + tempvar value = (column3 - oods_values[409]) / (point - pow676 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[409] * value; - tempvar value = (column3 - oods_values[410]) / (point - pow516 * oods_point); + tempvar value = (column3 - oods_values[410]) / (point - pow679 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[410] * value; - tempvar value = (column3 - oods_values[411]) / (point - pow517 * oods_point); + tempvar value = (column3 - oods_values[411]) / (point - pow680 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[411] * value; tempvar value = (column4 - oods_values[412]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[412] * value; - tempvar value = (column4 - oods_values[413]) / (point - pow56 * oods_point); + tempvar value = (column4 - oods_values[413]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[413] * value; - tempvar value = (column4 - oods_values[414]) / (point - pow57 * oods_point); + tempvar value = (column4 - oods_values[414]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[414] * value; - tempvar value = (column4 - oods_values[415]) / (point - pow59 * oods_point); + tempvar value = (column4 - oods_values[415]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[415] * value; - tempvar value = (column4 - oods_values[416]) / (point - pow60 * oods_point); + tempvar value = (column4 - oods_values[416]) / (point - pow57 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[416] * value; - tempvar value = (column4 - oods_values[417]) / (point - pow61 * oods_point); + tempvar value = (column4 - oods_values[417]) / (point - pow58 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[417] * value; - tempvar value = (column4 - oods_values[418]) / (point - pow64 * oods_point); + tempvar value = (column4 - oods_values[418]) / (point - pow61 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[418] * value; - tempvar value = (column4 - oods_values[419]) / (point - pow65 * oods_point); + tempvar value = (column4 - oods_values[419]) / (point - pow62 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[419] * value; - tempvar value = (column4 - oods_values[420]) / (point - pow66 * oods_point); + tempvar value = (column4 - oods_values[420]) / (point - pow63 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[420] * value; - tempvar value = (column4 - oods_values[421]) / (point - pow67 * oods_point); + tempvar value = (column4 - oods_values[421]) / (point - pow64 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[421] * value; - tempvar value = (column4 - oods_values[422]) / (point - pow68 * oods_point); + tempvar value = (column4 - oods_values[422]) / (point - pow65 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[422] * value; - tempvar value = (column4 - oods_values[423]) / (point - pow69 * oods_point); + tempvar value = (column4 - oods_values[423]) / (point - pow66 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[423] * value; - tempvar value = (column4 - oods_values[424]) / (point - pow72 * oods_point); + tempvar value = (column4 - oods_values[424]) / (point - pow69 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[424] * value; - tempvar value = (column4 - oods_values[425]) / (point - pow81 * oods_point); + tempvar value = (column4 - oods_values[425]) / (point - pow77 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[425] * value; - tempvar value = (column4 - oods_values[426]) / (point - pow82 * oods_point); + tempvar value = (column4 - oods_values[426]) / (point - pow78 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[426] * value; - tempvar value = (column4 - oods_values[427]) / (point - pow90 * oods_point); + tempvar value = (column4 - oods_values[427]) / (point - pow86 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[427] * value; - tempvar value = (column4 - oods_values[428]) / (point - pow91 * oods_point); + tempvar value = (column4 - oods_values[428]) / (point - pow87 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[428] * value; - tempvar value = (column4 - oods_values[429]) / (point - pow111 * oods_point); + tempvar value = (column4 - oods_values[429]) / (point - pow95 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[429] * value; - tempvar value = (column4 - oods_values[430]) / (point - pow112 * oods_point); + tempvar value = (column4 - oods_values[430]) / (point - pow96 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[430] * value; - tempvar value = (column4 - oods_values[431]) / (point - pow121 * oods_point); + tempvar value = (column4 - oods_values[431]) / (point - pow107 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[431] * value; - tempvar value = (column4 - oods_values[432]) / (point - pow137 * oods_point); + tempvar value = (column4 - oods_values[432]) / (point - pow108 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[432] * value; - tempvar value = (column4 - oods_values[433]) / (point - pow138 * oods_point); + tempvar value = (column4 - oods_values[433]) / (point - pow114 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[433] * value; - tempvar value = (column4 - oods_values[434]) / (point - pow140 * oods_point); + tempvar value = (column4 - oods_values[434]) / (point - pow115 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[434] * value; - tempvar value = (column4 - oods_values[435]) / (point - pow142 * oods_point); + tempvar value = (column4 - oods_values[435]) / (point - pow119 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[435] * value; - tempvar value = (column4 - oods_values[436]) / (point - pow155 * oods_point); + tempvar value = (column4 - oods_values[436]) / (point - pow134 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[436] * value; - tempvar value = (column4 - oods_values[437]) / (point - pow158 * oods_point); + tempvar value = (column4 - oods_values[437]) / (point - pow135 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[437] * value; - tempvar value = (column4 - oods_values[438]) / (point - pow159 * oods_point); + tempvar value = (column4 - oods_values[438]) / (point - pow137 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[438] * value; - tempvar value = (column4 - oods_values[439]) / (point - pow172 * oods_point); + tempvar value = (column4 - oods_values[439]) / (point - pow139 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[439] * value; - tempvar value = (column4 - oods_values[440]) / (point - pow173 * oods_point); + tempvar value = (column4 - oods_values[440]) / (point - pow146 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[440] * value; - tempvar value = (column4 - oods_values[441]) / (point - pow176 * oods_point); + tempvar value = (column4 - oods_values[441]) / (point - pow147 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[441] * value; - tempvar value = (column4 - oods_values[442]) / (point - pow187 * oods_point); + tempvar value = (column4 - oods_values[442]) / (point - pow154 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[442] * value; - tempvar value = (column4 - oods_values[443]) / (point - pow188 * oods_point); + tempvar value = (column4 - oods_values[443]) / (point - pow157 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[443] * value; - tempvar value = (column4 - oods_values[444]) / (point - pow197 * oods_point); + tempvar value = (column4 - oods_values[444]) / (point - pow158 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[444] * value; - tempvar value = (column4 - oods_values[445]) / (point - pow198 * oods_point); + tempvar value = (column4 - oods_values[445]) / (point - pow159 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[445] * value; - tempvar value = (column4 - oods_values[446]) / (point - pow204 * oods_point); + tempvar value = (column4 - oods_values[446]) / (point - pow160 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[446] * value; - tempvar value = (column4 - oods_values[447]) / (point - pow205 * oods_point); + tempvar value = (column4 - oods_values[447]) / (point - pow173 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[447] * value; - tempvar value = (column4 - oods_values[448]) / (point - pow210 * oods_point); + tempvar value = (column4 - oods_values[448]) / (point - pow174 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[448] * value; - tempvar value = (column4 - oods_values[449]) / (point - pow211 * oods_point); + tempvar value = (column4 - oods_values[449]) / (point - pow177 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[449] * value; - tempvar value = (column4 - oods_values[450]) / (point - pow216 * oods_point); + tempvar value = (column4 - oods_values[450]) / (point - pow180 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[450] * value; - tempvar value = (column4 - oods_values[451]) / (point - pow217 * oods_point); + tempvar value = (column4 - oods_values[451]) / (point - pow181 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[451] * value; - tempvar value = (column4 - oods_values[452]) / (point - pow241 * oods_point); + tempvar value = (column4 - oods_values[452]) / (point - pow183 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[452] * value; - tempvar value = (column4 - oods_values[453]) / (point - pow242 * oods_point); + tempvar value = (column4 - oods_values[453]) / (point - pow184 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[453] * value; - tempvar value = (column4 - oods_values[454]) / (point - pow252 * oods_point); + tempvar value = (column4 - oods_values[454]) / (point - pow189 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[454] * value; - tempvar value = (column4 - oods_values[455]) / (point - pow253 * oods_point); + tempvar value = (column4 - oods_values[455]) / (point - pow190 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[455] * value; - tempvar value = (column4 - oods_values[456]) / (point - pow268 * oods_point); + tempvar value = (column4 - oods_values[456]) / (point - pow193 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[456] * value; - tempvar value = (column4 - oods_values[457]) / (point - pow269 * oods_point); + tempvar value = (column4 - oods_values[457]) / (point - pow194 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[457] * value; - tempvar value = (column4 - oods_values[458]) / (point - pow273 * oods_point); + tempvar value = (column4 - oods_values[458]) / (point - pow201 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[458] * value; - tempvar value = (column4 - oods_values[459]) / (point - pow274 * oods_point); + tempvar value = (column4 - oods_values[459]) / (point - pow205 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[459] * value; - tempvar value = (column4 - oods_values[460]) / (point - pow277 * oods_point); + tempvar value = (column4 - oods_values[460]) / (point - pow203 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[460] * value; - tempvar value = (column4 - oods_values[461]) / (point - pow278 * oods_point); + tempvar value = (column4 - oods_values[461]) / (point - pow206 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[461] * value; - tempvar value = (column4 - oods_values[462]) / (point - pow281 * oods_point); + tempvar value = (column4 - oods_values[462]) / (point - pow204 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[462] * value; - tempvar value = (column4 - oods_values[463]) / (point - pow282 * oods_point); + tempvar value = (column4 - oods_values[463]) / (point - pow207 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[463] * value; - tempvar value = (column4 - oods_values[464]) / (point - pow308 * oods_point); + tempvar value = (column4 - oods_values[464]) / (point - pow212 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[464] * value; - tempvar value = (column4 - oods_values[465]) / (point - pow313 * oods_point); + tempvar value = (column4 - oods_values[465]) / (point - pow214 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[465] * value; - tempvar value = (column4 - oods_values[466]) / (point - pow315 * oods_point); + tempvar value = (column4 - oods_values[466]) / (point - pow213 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[466] * value; - tempvar value = (column4 - oods_values[467]) / (point - pow323 * oods_point); + tempvar value = (column4 - oods_values[467]) / (point - pow216 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[467] * value; - tempvar value = (column4 - oods_values[468]) / (point - pow365 * oods_point); + tempvar value = (column4 - oods_values[468]) / (point - pow223 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[468] * value; - tempvar value = (column4 - oods_values[469]) / (point - pow366 * oods_point); + tempvar value = (column4 - oods_values[469]) / (point - pow224 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[469] * value; - tempvar value = (column4 - oods_values[470]) / (point - pow375 * oods_point); + tempvar value = (column4 - oods_values[470]) / (point - pow227 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[470] * value; - tempvar value = (column4 - oods_values[471]) / (point - pow401 * oods_point); + tempvar value = (column4 - oods_values[471]) / (point - pow229 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[471] * value; - tempvar value = (column4 - oods_values[472]) / (point - pow404 * oods_point); + tempvar value = (column4 - oods_values[472]) / (point - pow228 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[472] * value; - tempvar value = (column4 - oods_values[473]) / (point - pow402 * oods_point); + tempvar value = (column4 - oods_values[473]) / (point - pow230 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[473] * value; - tempvar value = (column4 - oods_values[474]) / (point - pow399 * oods_point); + tempvar value = (column4 - oods_values[474]) / (point - pow235 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[474] * value; - tempvar value = (column4 - oods_values[475]) / (point - pow400 * oods_point); + tempvar value = (column4 - oods_values[475]) / (point - pow237 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[475] * value; - tempvar value = (column4 - oods_values[476]) / (point - pow403 * oods_point); + tempvar value = (column4 - oods_values[476]) / (point - pow236 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[476] * value; - tempvar value = (column4 - oods_values[477]) / (point - pow412 * oods_point); + tempvar value = (column4 - oods_values[477]) / (point - pow239 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[477] * value; - tempvar value = (column4 - oods_values[478]) / (point - pow417 * oods_point); + tempvar value = (column4 - oods_values[478]) / (point - pow245 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[478] * value; - tempvar value = (column4 - oods_values[479]) / (point - pow413 * oods_point); + tempvar value = (column4 - oods_values[479]) / (point - pow246 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[479] * value; - tempvar value = (column4 - oods_values[480]) / (point - pow390 * oods_point); + tempvar value = (column4 - oods_values[480]) / (point - pow249 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[480] * value; - tempvar value = (column4 - oods_values[481]) / (point - pow407 * oods_point); + tempvar value = (column4 - oods_values[481]) / (point - pow251 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[481] * value; - tempvar value = (column4 - oods_values[482]) / (point - pow414 * oods_point); + tempvar value = (column4 - oods_values[482]) / (point - pow250 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[482] * value; - tempvar value = (column4 - oods_values[483]) / (point - pow474 * oods_point); + tempvar value = (column4 - oods_values[483]) / (point - pow252 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[483] * value; - tempvar value = (column4 - oods_values[484]) / (point - pow480 * oods_point); + tempvar value = (column4 - oods_values[484]) / (point - pow256 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[484] * value; - tempvar value = (column4 - oods_values[485]) / (point - pow481 * oods_point); + tempvar value = (column4 - oods_values[485]) / (point - pow258 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[485] * value; - tempvar value = (column4 - oods_values[486]) / (point - pow475 * oods_point); + tempvar value = (column4 - oods_values[486]) / (point - pow257 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[486] * value; - tempvar value = (column4 - oods_values[487]) / (point - pow476 * oods_point); + tempvar value = (column4 - oods_values[487]) / (point - pow260 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[487] * value; - tempvar value = (column4 - oods_values[488]) / (point - pow477 * oods_point); + tempvar value = (column4 - oods_values[488]) / (point - pow264 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[488] * value; - tempvar value = (column4 - oods_values[489]) / (point - pow486 * oods_point); + tempvar value = (column4 - oods_values[489]) / (point - pow265 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[489] * value; - tempvar value = (column4 - oods_values[490]) / (point - pow461 * oods_point); + tempvar value = (column4 - oods_values[490]) / (point - pow267 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[490] * value; - tempvar value = (column4 - oods_values[491]) / (point - pow615 * oods_point); + tempvar value = (column4 - oods_values[491]) / (point - pow276 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[491] * value; - tempvar value = (column4 - oods_values[492]) / (point - pow616 * oods_point); + tempvar value = (column4 - oods_values[492]) / (point - pow268 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[492] * value; - tempvar value = (column4 - oods_values[493]) / (point - pow617 * oods_point); + tempvar value = (column4 - oods_values[493]) / (point - pow278 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[493] * value; - tempvar value = (column4 - oods_values[494]) / (point - pow565 * oods_point); + tempvar value = (column4 - oods_values[494]) / (point - pow272 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[494] * value; - tempvar value = (column5 - oods_values[495]) / (point - pow0 * oods_point); + tempvar value = (column4 - oods_values[495]) / (point - pow277 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[495] * value; - tempvar value = (column5 - oods_values[496]) / (point - pow56 * oods_point); + tempvar value = (column4 - oods_values[496]) / (point - pow273 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[496] * value; - tempvar value = (column5 - oods_values[497]) / (point - pow57 * oods_point); + tempvar value = (column4 - oods_values[497]) / (point - pow280 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[497] * value; - tempvar value = (column5 - oods_values[498]) / (point - pow59 * oods_point); + tempvar value = (column4 - oods_values[498]) / (point - pow283 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[498] * value; - tempvar value = (column5 - oods_values[499]) / (point - pow60 * oods_point); + tempvar value = (column4 - oods_values[499]) / (point - pow284 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[499] * value; - tempvar value = (column5 - oods_values[500]) / (point - pow64 * oods_point); + tempvar value = (column4 - oods_values[500]) / (point - pow289 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[500] * value; - tempvar value = (column5 - oods_values[501]) / (point - pow68 * oods_point); + tempvar value = (column4 - oods_values[501]) / (point - pow291 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[501] * value; - tempvar value = (column5 - oods_values[502]) / (point - pow75 * oods_point); + tempvar value = (column4 - oods_values[502]) / (point - pow290 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[502] * value; - tempvar value = (column5 - oods_values[503]) / (point - pow83 * oods_point); + tempvar value = (column4 - oods_values[503]) / (point - pow292 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[503] * value; - tempvar value = (column5 - oods_values[504]) / (point - pow86 * oods_point); + tempvar value = (column4 - oods_values[504]) / (point - pow297 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[504] * value; - tempvar value = (column5 - oods_values[505]) / (point - pow92 * oods_point); + tempvar value = (column4 - oods_values[505]) / (point - pow299 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[505] * value; - tempvar value = (column5 - oods_values[506]) / (point - pow100 * oods_point); + tempvar value = (column4 - oods_values[506]) / (point - pow298 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[506] * value; - tempvar value = (column5 - oods_values[507]) / (point - pow107 * oods_point); + tempvar value = (column4 - oods_values[507]) / (point - pow301 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[507] * value; - tempvar value = (column5 - oods_values[508]) / (point - pow113 * oods_point); + tempvar value = (column4 - oods_values[508]) / (point - pow306 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[508] * value; - tempvar value = (column5 - oods_values[509]) / (point - pow115 * oods_point); + tempvar value = (column4 - oods_values[509]) / (point - pow307 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[509] * value; - tempvar value = (column5 - oods_values[510]) / (point - pow118 * oods_point); + tempvar value = (column4 - oods_values[510]) / (point - pow310 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[510] * value; - tempvar value = (column5 - oods_values[511]) / (point - pow119 * oods_point); + tempvar value = (column4 - oods_values[511]) / (point - pow311 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[511] * value; - tempvar value = (column5 - oods_values[512]) / (point - pow122 * oods_point); + tempvar value = (column4 - oods_values[512]) / (point - pow312 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[512] * value; - tempvar value = (column5 - oods_values[513]) / (point - pow127 * oods_point); + tempvar value = (column4 - oods_values[513]) / (point - pow313 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[513] * value; - tempvar value = (column6 - oods_values[514]) / (point - pow0 * oods_point); + tempvar value = (column4 - oods_values[514]) / (point - pow318 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[514] * value; - tempvar value = (column6 - oods_values[515]) / (point - pow56 * oods_point); + tempvar value = (column4 - oods_values[515]) / (point - pow320 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[515] * value; - tempvar value = (column6 - oods_values[516]) / (point - pow57 * oods_point); + tempvar value = (column4 - oods_values[516]) / (point - pow319 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[516] * value; - tempvar value = (column6 - oods_values[517]) / (point - pow59 * oods_point); + tempvar value = (column4 - oods_values[517]) / (point - pow322 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[517] * value; - tempvar value = (column7 - oods_values[518]) / (point - pow0 * oods_point); + tempvar value = (column4 - oods_values[518]) / (point - pow336 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[518] * value; - tempvar value = (column7 - oods_values[519]) / (point - pow56 * oods_point); + tempvar value = (column4 - oods_values[519]) / (point - pow337 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[519] * value; - tempvar value = (column7 - oods_values[520]) / (point - pow57 * oods_point); + tempvar value = (column4 - oods_values[520]) / (point - pow340 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[520] * value; - tempvar value = (column7 - oods_values[521]) / (point - pow59 * oods_point); + tempvar value = (column4 - oods_values[521]) / (point - pow348 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[521] * value; - tempvar value = (column7 - oods_values[522]) / (point - pow60 * oods_point); + tempvar value = (column4 - oods_values[522]) / (point - pow349 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[522] * value; - tempvar value = (column7 - oods_values[523]) / (point - pow61 * oods_point); + tempvar value = (column4 - oods_values[523]) / (point - pow355 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[523] * value; - tempvar value = (column7 - oods_values[524]) / (point - pow62 * oods_point); + tempvar value = (column4 - oods_values[524]) / (point - pow362 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[524] * value; - tempvar value = (column7 - oods_values[525]) / (point - pow63 * oods_point); + tempvar value = (column4 - oods_values[525]) / (point - pow345 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[525] * value; - tempvar value = (column7 - oods_values[526]) / (point - pow64 * oods_point); + tempvar value = (column4 - oods_values[526]) / (point - pow361 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[526] * value; - tempvar value = (column7 - oods_values[527]) / (point - pow66 * oods_point); + tempvar value = (column4 - oods_values[527]) / (point - pow363 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[527] * value; - tempvar value = (column7 - oods_values[528]) / (point - pow67 * oods_point); + tempvar value = (column4 - oods_values[528]) / (point - pow369 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[528] * value; - tempvar value = (column7 - oods_values[529]) / (point - pow68 * oods_point); + tempvar value = (column4 - oods_values[529]) / (point - pow378 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[529] * value; - tempvar value = (column7 - oods_values[530]) / (point - pow71 * oods_point); + tempvar value = (column4 - oods_values[530]) / (point - pow375 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[530] * value; - tempvar value = (column7 - oods_values[531]) / (point - pow74 * oods_point); + tempvar value = (column4 - oods_values[531]) / (point - pow377 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[531] * value; - tempvar value = (column7 - oods_values[532]) / (point - pow76 * oods_point); + tempvar value = (column4 - oods_values[532]) / (point - pow379 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[532] * value; - tempvar value = (column7 - oods_values[533]) / (point - pow82 * oods_point); + tempvar value = (column4 - oods_values[533]) / (point - pow385 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[533] * value; - tempvar value = (column7 - oods_values[534]) / (point - pow109 * oods_point); + tempvar value = (column4 - oods_values[534]) / (point - pow386 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[534] * value; - tempvar value = (column7 - oods_values[535]) / (point - pow135 * oods_point); + tempvar value = (column4 - oods_values[535]) / (point - pow388 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[535] * value; - tempvar value = (column7 - oods_values[536]) / (point - pow162 * oods_point); + tempvar value = (column4 - oods_values[536]) / (point - pow389 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[536] * value; - tempvar value = (column7 - oods_values[537]) / (point - pow166 * oods_point); + tempvar value = (column4 - oods_values[537]) / (point - pow392 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[537] * value; - tempvar value = (column7 - oods_values[538]) / (point - pow168 * oods_point); + tempvar value = (column4 - oods_values[538]) / (point - pow393 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[538] * value; - tempvar value = (column7 - oods_values[539]) / (point - pow174 * oods_point); + tempvar value = (column4 - oods_values[539]) / (point - pow398 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[539] * value; - tempvar value = (column7 - oods_values[540]) / (point - pow183 * oods_point); + tempvar value = (column4 - oods_values[540]) / (point - pow399 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[540] * value; - tempvar value = (column7 - oods_values[541]) / (point - pow184 * oods_point); + tempvar value = (column4 - oods_values[541]) / (point - pow330 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[541] * value; - tempvar value = (column7 - oods_values[542]) / (point - pow213 * oods_point); + tempvar value = (column4 - oods_values[542]) / (point - pow403 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[542] * value; - tempvar value = (column7 - oods_values[543]) / (point - pow216 * oods_point); + tempvar value = (column4 - oods_values[543]) / (point - pow404 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[543] * value; - tempvar value = (column7 - oods_values[544]) / (point - pow220 * oods_point); + tempvar value = (column4 - oods_values[544]) / (point - pow408 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[544] * value; - tempvar value = (column7 - oods_values[545]) / (point - pow221 * oods_point); + tempvar value = (column4 - oods_values[545]) / (point - pow409 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[545] * value; - tempvar value = (column7 - oods_values[546]) / (point - pow229 * oods_point); + tempvar value = (column4 - oods_values[546]) / (point - pow411 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[546] * value; - tempvar value = (column7 - oods_values[547]) / (point - pow230 * oods_point); + tempvar value = (column4 - oods_values[547]) / (point - pow412 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[547] * value; - tempvar value = (column7 - oods_values[548]) / (point - pow232 * oods_point); + tempvar value = (column4 - oods_values[548]) / (point - pow413 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[548] * value; - tempvar value = (column7 - oods_values[549]) / (point - pow233 * oods_point); + tempvar value = (column4 - oods_values[549]) / (point - pow416 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[549] * value; - tempvar value = (column7 - oods_values[550]) / (point - pow234 * oods_point); + tempvar value = (column4 - oods_values[550]) / (point - pow417 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[550] * value; - tempvar value = (column7 - oods_values[551]) / (point - pow235 * oods_point); + tempvar value = (column4 - oods_values[551]) / (point - pow421 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[551] * value; - tempvar value = (column7 - oods_values[552]) / (point - pow236 * oods_point); + tempvar value = (column4 - oods_values[552]) / (point - pow422 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[552] * value; - tempvar value = (column7 - oods_values[553]) / (point - pow238 * oods_point); + tempvar value = (column4 - oods_values[553]) / (point - pow423 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[553] * value; - tempvar value = (column7 - oods_values[554]) / (point - pow239 * oods_point); + tempvar value = (column4 - oods_values[554]) / (point - pow431 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[554] * value; - tempvar value = (column7 - oods_values[555]) / (point - pow244 * oods_point); + tempvar value = (column4 - oods_values[555]) / (point - pow435 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[555] * value; - tempvar value = (column7 - oods_values[556]) / (point - pow245 * oods_point); + tempvar value = (column4 - oods_values[556]) / (point - pow437 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[556] * value; - tempvar value = (column7 - oods_values[557]) / (point - pow298 * oods_point); + tempvar value = (column4 - oods_values[557]) / (point - pow438 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[557] * value; - tempvar value = (column7 - oods_values[558]) / (point - pow304 * oods_point); + tempvar value = (column4 - oods_values[558]) / (point - pow441 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[558] * value; - tempvar value = (column7 - oods_values[559]) / (point - pow305 * oods_point); + tempvar value = (column4 - oods_values[559]) / (point - pow442 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[559] * value; - tempvar value = (column7 - oods_values[560]) / (point - pow306 * oods_point); + tempvar value = (column4 - oods_values[560]) / (point - pow459 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[560] * value; - tempvar value = (column7 - oods_values[561]) / (point - pow311 * oods_point); + tempvar value = (column4 - oods_values[561]) / (point - pow465 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[561] * value; - tempvar value = (column7 - oods_values[562]) / (point - pow339 * oods_point); + tempvar value = (column4 - oods_values[562]) / (point - pow467 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[562] * value; - tempvar value = (column7 - oods_values[563]) / (point - pow379 * oods_point); + tempvar value = (column4 - oods_values[563]) / (point - pow472 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[563] * value; - tempvar value = (column7 - oods_values[564]) / (point - pow384 * oods_point); + tempvar value = (column4 - oods_values[564]) / (point - pow452 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[564] * value; - tempvar value = (column7 - oods_values[565]) / (point - pow385 * oods_point); + tempvar value = (column4 - oods_values[565]) / (point - pow477 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[565] * value; - tempvar value = (column7 - oods_values[566]) / (point - pow386 * oods_point); + tempvar value = (column4 - oods_values[566]) / (point - pow483 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[566] * value; - tempvar value = (column7 - oods_values[567]) / (point - pow387 * oods_point); + tempvar value = (column4 - oods_values[567]) / (point - pow506 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[567] * value; - tempvar value = (column7 - oods_values[568]) / (point - pow389 * oods_point); + tempvar value = (column4 - oods_values[568]) / (point - pow507 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[568] * value; - tempvar value = (column7 - oods_values[569]) / (point - pow394 * oods_point); + tempvar value = (column4 - oods_values[569]) / (point - pow513 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[569] * value; - tempvar value = (column7 - oods_values[570]) / (point - pow395 * oods_point); + tempvar value = (column4 - oods_values[570]) / (point - pow523 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[570] * value; - tempvar value = (column7 - oods_values[571]) / (point - pow396 * oods_point); + tempvar value = (column4 - oods_values[571]) / (point - pow524 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[571] * value; - tempvar value = (column7 - oods_values[572]) / (point - pow398 * oods_point); + tempvar value = (column4 - oods_values[572]) / (point - pow528 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[572] * value; - tempvar value = (column7 - oods_values[573]) / (point - pow406 * oods_point); + tempvar value = (column4 - oods_values[573]) / (point - pow534 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[573] * value; - tempvar value = (column7 - oods_values[574]) / (point - pow416 * oods_point); + tempvar value = (column4 - oods_values[574]) / (point - pow545 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[574] * value; - tempvar value = (column7 - oods_values[575]) / (point - pow436 * oods_point); + tempvar value = (column4 - oods_values[575]) / (point - pow561 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[575] * value; - tempvar value = (column7 - oods_values[576]) / (point - pow478 * oods_point); + tempvar value = (column4 - oods_values[576]) / (point - pow566 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[576] * value; - tempvar value = (column7 - oods_values[577]) / (point - pow618 * oods_point); + tempvar value = (column4 - oods_values[577]) / (point - pow562 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[577] * value; - tempvar value = (column7 - oods_values[578]) / (point - pow545 * oods_point); + tempvar value = (column4 - oods_values[578]) / (point - pow559 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[578] * value; - tempvar value = (column7 - oods_values[579]) / (point - pow546 * oods_point); + tempvar value = (column4 - oods_values[579]) / (point - pow560 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[579] * value; - tempvar value = (column7 - oods_values[580]) / (point - pow555 * oods_point); + tempvar value = (column4 - oods_values[580]) / (point - pow563 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[580] * value; - tempvar value = (column7 - oods_values[581]) / (point - pow547 * oods_point); + tempvar value = (column4 - oods_values[581]) / (point - pow573 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[581] * value; - tempvar value = (column7 - oods_values[582]) / (point - pow548 * oods_point); + tempvar value = (column4 - oods_values[582]) / (point - pow575 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[582] * value; - tempvar value = (column7 - oods_values[583]) / (point - pow549 * oods_point); + tempvar value = (column4 - oods_values[583]) / (point - pow574 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[583] * value; - tempvar value = (column7 - oods_values[584]) / (point - pow14 * oods_point); + tempvar value = (column4 - oods_values[584]) / (point - pow552 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[584] * value; - tempvar value = (column7 - oods_values[585]) / (point - pow73 * oods_point); + tempvar value = (column4 - oods_values[585]) / (point - pow577 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[585] * value; - tempvar value = (column7 - oods_values[586]) / (point - pow13 * oods_point); + tempvar value = (column4 - oods_values[586]) / (point - pow576 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[586] * value; - tempvar value = (column7 - oods_values[587]) / (point - pow540 * oods_point); + tempvar value = (column4 - oods_values[587]) / (point - pow639 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[587] * value; - tempvar value = (column7 - oods_values[588]) / (point - pow536 * oods_point); + tempvar value = (column4 - oods_values[588]) / (point - pow637 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[588] * value; - tempvar value = (column7 - oods_values[589]) / (point - pow12 * oods_point); + tempvar value = (column4 - oods_values[589]) / (point - pow638 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[589] * value; - tempvar value = (column7 - oods_values[590]) / (point - pow110 * oods_point); + tempvar value = (column4 - oods_values[590]) / (point - pow640 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[590] * value; - tempvar value = (column7 - oods_values[591]) / (point - pow136 * oods_point); + tempvar value = (column4 - oods_values[591]) / (point - pow641 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[591] * value; - tempvar value = (column7 - oods_values[592]) / (point - pow11 * oods_point); + tempvar value = (column4 - oods_values[592]) / (point - pow642 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[592] * value; - tempvar value = (column7 - oods_values[593]) / (point - pow80 * oods_point); + tempvar value = (column4 - oods_values[593]) / (point - pow644 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[593] * value; - tempvar value = (column7 - oods_values[594]) / (point - pow526 * oods_point); + tempvar value = (column4 - oods_values[594]) / (point - pow633 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[594] * value; - tempvar value = (column7 - oods_values[595]) / (point - pow528 * oods_point); + tempvar value = (column4 - oods_values[595]) / (point - pow647 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[595] * value; - tempvar value = (column7 - oods_values[596]) / (point - pow529 * oods_point); + tempvar value = (column4 - oods_values[596]) / (point - pow648 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[596] * value; - tempvar value = (column7 - oods_values[597]) / (point - pow515 * oods_point); + tempvar value = (column4 - oods_values[597]) / (point - pow649 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[597] * value; - tempvar value = (column7 - oods_values[598]) / (point - pow10 * oods_point); + tempvar value = (column4 - oods_values[598]) / (point - pow778 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[598] * value; - tempvar value = (column7 - oods_values[599]) / (point - pow621 * oods_point); + tempvar value = (column5 - oods_values[599]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[599] * value; - tempvar value = (column7 - oods_values[600]) / (point - pow559 * oods_point); + tempvar value = (column5 - oods_values[600]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[600] * value; - tempvar value = (column7 - oods_values[601]) / (point - pow543 * oods_point); + tempvar value = (column5 - oods_values[601]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[601] * value; - tempvar value = (column7 - oods_values[602]) / (point - pow9 * oods_point); + tempvar value = (column5 - oods_values[602]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[602] * value; - tempvar value = (column7 - oods_values[603]) / (point - pow8 * oods_point); + tempvar value = (column5 - oods_values[603]) / (point - pow57 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[603] * value; - tempvar value = (column7 - oods_values[604]) / (point - pow604 * oods_point); + tempvar value = (column5 - oods_values[604]) / (point - pow61 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[604] * value; - tempvar value = (column7 - oods_values[605]) / (point - pow614 * oods_point); + tempvar value = (column5 - oods_values[605]) / (point - pow63 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[605] * value; - tempvar value = (column7 - oods_values[606]) / (point - pow508 * oods_point); + tempvar value = (column5 - oods_values[606]) / (point - pow65 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[606] * value; - tempvar value = (column7 - oods_values[607]) / (point - pow7 * oods_point); + tempvar value = (column5 - oods_values[607]) / (point - pow72 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[607] * value; - tempvar value = (column7 - oods_values[608]) / (point - pow6 * oods_point); + tempvar value = (column5 - oods_values[608]) / (point - pow79 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[608] * value; - tempvar value = (column7 - oods_values[609]) / (point - pow574 * oods_point); + tempvar value = (column5 - oods_values[609]) / (point - pow82 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[609] * value; - tempvar value = (column7 - oods_values[610]) / (point - pow537 * oods_point); + tempvar value = (column5 - oods_values[610]) / (point - pow88 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[610] * value; - tempvar value = (column7 - oods_values[611]) / (point - pow5 * oods_point); + tempvar value = (column5 - oods_values[611]) / (point - pow91 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[611] * value; - tempvar value = (column7 - oods_values[612]) / (point - pow4 * oods_point); + tempvar value = (column5 - oods_values[612]) / (point - pow97 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[612] * value; - tempvar value = (column7 - oods_values[613]) / (point - pow541 * oods_point); + tempvar value = (column5 - oods_values[613]) / (point - pow104 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[613] * value; - tempvar value = (column7 - oods_values[614]) / (point - pow3 * oods_point); + tempvar value = (column5 - oods_values[614]) / (point - pow109 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[614] * value; - tempvar value = (column7 - oods_values[615]) / (point - pow585 * oods_point); + tempvar value = (column5 - oods_values[615]) / (point - pow111 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[615] * value; - tempvar value = (column7 - oods_values[616]) / (point - pow524 * oods_point); + tempvar value = (column5 - oods_values[616]) / (point - pow116 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[616] * value; - tempvar value = (column7 - oods_values[617]) / (point - pow519 * oods_point); + tempvar value = (column5 - oods_values[617]) / (point - pow117 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[617] * value; - tempvar value = (column7 - oods_values[618]) / (point - pow562 * oods_point); + tempvar value = (column5 - oods_values[618]) / (point - pow120 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[618] * value; - tempvar value = (column7 - oods_values[619]) / (point - pow563 * oods_point); + tempvar value = (column5 - oods_values[619]) / (point - pow122 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[619] * value; - tempvar value = (column7 - oods_values[620]) / (point - pow564 * oods_point); + tempvar value = (column5 - oods_values[620]) / (point - pow125 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[620] * value; - tempvar value = (column7 - oods_values[621]) / (point - pow601 * oods_point); + tempvar value = (column5 - oods_values[621]) / (point - pow142 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[621] * value; - tempvar value = (column7 - oods_values[622]) / (point - pow628 * oods_point); + tempvar value = (column5 - oods_values[622]) / (point - pow164 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[622] * value; - tempvar value = (column7 - oods_values[623]) / (point - pow625 * oods_point); + tempvar value = (column5 - oods_values[623]) / (point - pow179 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[623] * value; - tempvar value = (column7 - oods_values[624]) / (point - pow626 * oods_point); + tempvar value = (column5 - oods_values[624]) / (point - pow186 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[624] * value; - tempvar value = (column7 - oods_values[625]) / (point - pow509 * oods_point); + tempvar value = (column5 - oods_values[625]) / (point - pow188 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[625] * value; - tempvar value = (column8 - oods_values[626]) / (point - pow0 * oods_point); + tempvar value = (column5 - oods_values[626]) / (point - pow197 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[626] * value; - tempvar value = (column8 - oods_values[627]) / (point - pow57 * oods_point); + tempvar value = (column5 - oods_values[627]) / (point - pow202 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[627] * value; - tempvar value = (column8 - oods_values[628]) / (point - pow60 * oods_point); + tempvar value = (column5 - oods_values[628]) / (point - pow209 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[628] * value; - tempvar value = (column8 - oods_values[629]) / (point - pow62 * oods_point); + tempvar value = (column5 - oods_values[629]) / (point - pow211 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[629] * value; - tempvar value = (column8 - oods_values[630]) / (point - pow64 * oods_point); + tempvar value = (column5 - oods_values[630]) / (point - pow218 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[630] * value; - tempvar value = (column8 - oods_values[631]) / (point - pow66 * oods_point); + tempvar value = (column5 - oods_values[631]) / (point - pow226 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[631] * value; - tempvar value = (column8 - oods_values[632]) / (point - pow68 * oods_point); + tempvar value = (column5 - oods_values[632]) / (point - pow232 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[632] * value; - tempvar value = (column8 - oods_values[633]) / (point - pow70 * oods_point); + tempvar value = (column5 - oods_values[633]) / (point - pow234 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[633] * value; - tempvar value = (column8 - oods_values[634]) / (point - pow75 * oods_point); + tempvar value = (column5 - oods_values[634]) / (point - pow240 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[634] * value; - tempvar value = (column8 - oods_values[635]) / (point - pow77 * oods_point); + tempvar value = (column5 - oods_values[635]) / (point - pow248 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[635] * value; - tempvar value = (column8 - oods_values[636]) / (point - pow78 * oods_point); + tempvar value = (column5 - oods_values[636]) / (point - pow253 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[636] * value; - tempvar value = (column8 - oods_values[637]) / (point - pow81 * oods_point); + tempvar value = (column5 - oods_values[637]) / (point - pow255 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[637] * value; - tempvar value = (column8 - oods_values[638]) / (point - pow83 * oods_point); + tempvar value = (column5 - oods_values[638]) / (point - pow261 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[638] * value; - tempvar value = (column8 - oods_values[639]) / (point - pow84 * oods_point); + tempvar value = (column5 - oods_values[639]) / (point - pow266 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[639] * value; - tempvar value = (column8 - oods_values[640]) / (point - pow86 * oods_point); + tempvar value = (column5 - oods_values[640]) / (point - pow269 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[640] * value; - tempvar value = (column8 - oods_values[641]) / (point - pow87 * oods_point); + tempvar value = (column5 - oods_values[641]) / (point - pow271 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[641] * value; - tempvar value = (column8 - oods_values[642]) / (point - pow88 * oods_point); + tempvar value = (column5 - oods_values[642]) / (point - pow274 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[642] * value; - tempvar value = (column8 - oods_values[643]) / (point - pow90 * oods_point); + tempvar value = (column5 - oods_values[643]) / (point - pow288 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[643] * value; - tempvar value = (column8 - oods_values[644]) / (point - pow92 * oods_point); + tempvar value = (column5 - oods_values[644]) / (point - pow294 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[644] * value; - tempvar value = (column8 - oods_values[645]) / (point - pow93 * oods_point); + tempvar value = (column5 - oods_values[645]) / (point - pow296 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[645] * value; - tempvar value = (column8 - oods_values[646]) / (point - pow95 * oods_point); + tempvar value = (column5 - oods_values[646]) / (point - pow303 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[646] * value; - tempvar value = (column8 - oods_values[647]) / (point - pow96 * oods_point); + tempvar value = (column5 - oods_values[647]) / (point - pow309 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[647] * value; - tempvar value = (column8 - oods_values[648]) / (point - pow97 * oods_point); + tempvar value = (column5 - oods_values[648]) / (point - pow315 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[648] * value; - tempvar value = (column8 - oods_values[649]) / (point - pow99 * oods_point); + tempvar value = (column5 - oods_values[649]) / (point - pow317 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[649] * value; - tempvar value = (column8 - oods_values[650]) / (point - pow100 * oods_point); + tempvar value = (column5 - oods_values[650]) / (point - pow325 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[650] * value; - tempvar value = (column8 - oods_values[651]) / (point - pow107 * oods_point); + tempvar value = (column5 - oods_values[651]) / (point - pow336 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[651] * value; - tempvar value = (column8 - oods_values[652]) / (point - pow108 * oods_point); + tempvar value = (column5 - oods_values[652]) / (point - pow338 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[652] * value; - tempvar value = (column8 - oods_values[653]) / (point - pow111 * oods_point); + tempvar value = (column5 - oods_values[653]) / (point - pow343 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[653] * value; - tempvar value = (column8 - oods_values[654]) / (point - pow113 * oods_point); + tempvar value = (column5 - oods_values[654]) / (point - pow347 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[654] * value; - tempvar value = (column8 - oods_values[655]) / (point - pow114 * oods_point); + tempvar value = (column5 - oods_values[655]) / (point - pow352 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[655] * value; - tempvar value = (column8 - oods_values[656]) / (point - pow115 * oods_point); + tempvar value = (column5 - oods_values[656]) / (point - pow356 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[656] * value; - tempvar value = (column8 - oods_values[657]) / (point - pow116 * oods_point); + tempvar value = (column5 - oods_values[657]) / (point - pow358 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[657] * value; - tempvar value = (column8 - oods_values[658]) / (point - pow117 * oods_point); + tempvar value = (column5 - oods_values[658]) / (point - pow360 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[658] * value; - tempvar value = (column8 - oods_values[659]) / (point - pow118 * oods_point); + tempvar value = (column5 - oods_values[659]) / (point - pow366 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[659] * value; - tempvar value = (column8 - oods_values[660]) / (point - pow119 * oods_point); + tempvar value = (column5 - oods_values[660]) / (point - pow371 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[660] * value; - tempvar value = (column8 - oods_values[661]) / (point - pow120 * oods_point); + tempvar value = (column5 - oods_values[661]) / (point - pow373 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[661] * value; - tempvar value = (column8 - oods_values[662]) / (point - pow122 * oods_point); + tempvar value = (column5 - oods_values[662]) / (point - pow376 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[662] * value; - tempvar value = (column8 - oods_values[663]) / (point - pow123 * oods_point); + tempvar value = (column5 - oods_values[663]) / (point - pow382 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[663] * value; - tempvar value = (column8 - oods_values[664]) / (point - pow124 * oods_point); + tempvar value = (column5 - oods_values[664]) / (point - pow387 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[664] * value; - tempvar value = (column8 - oods_values[665]) / (point - pow125 * oods_point); + tempvar value = (column5 - oods_values[665]) / (point - pow390 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[665] * value; - tempvar value = (column8 - oods_values[666]) / (point - pow126 * oods_point); + tempvar value = (column5 - oods_values[666]) / (point - pow391 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[666] * value; - tempvar value = (column8 - oods_values[667]) / (point - pow137 * oods_point); + tempvar value = (column5 - oods_values[667]) / (point - pow395 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[667] * value; - tempvar value = (column8 - oods_values[668]) / (point - pow139 * oods_point); + tempvar value = (column5 - oods_values[668]) / (point - pow400 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[668] * value; - tempvar value = (column8 - oods_values[669]) / (point - pow141 * oods_point); + tempvar value = (column5 - oods_values[669]) / (point - pow401 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[669] * value; - tempvar value = (column8 - oods_values[670]) / (point - pow143 * oods_point); + tempvar value = (column5 - oods_values[670]) / (point - pow402 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[670] * value; - tempvar value = (column8 - oods_values[671]) / (point - pow145 * oods_point); + tempvar value = (column5 - oods_values[671]) / (point - pow405 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[671] * value; - tempvar value = (column8 - oods_values[672]) / (point - pow147 * oods_point); + tempvar value = (column5 - oods_values[672]) / (point - pow410 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[672] * value; - tempvar value = (column8 - oods_values[673]) / (point - pow156 * oods_point); + tempvar value = (column5 - oods_values[673]) / (point - pow414 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[673] * value; - tempvar value = (column8 - oods_values[674]) / (point - pow157 * oods_point); + tempvar value = (column5 - oods_values[674]) / (point - pow415 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[674] * value; - tempvar value = (column8 - oods_values[675]) / (point - pow160 * oods_point); + tempvar value = (column5 - oods_values[675]) / (point - pow418 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[675] * value; - tempvar value = (column8 - oods_values[676]) / (point - pow163 * oods_point); + tempvar value = (column5 - oods_values[676]) / (point - pow425 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[676] * value; - tempvar value = (column8 - oods_values[677]) / (point - pow175 * oods_point); + tempvar value = (column5 - oods_values[677]) / (point - pow428 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[677] * value; - tempvar value = (column8 - oods_values[678]) / (point - pow177 * oods_point); + tempvar value = (column5 - oods_values[678]) / (point - pow430 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[678] * value; - tempvar value = (column8 - oods_values[679]) / (point - pow179 * oods_point); + tempvar value = (column5 - oods_values[679]) / (point - pow433 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[679] * value; - tempvar value = (column8 - oods_values[680]) / (point - pow181 * oods_point); + tempvar value = (column5 - oods_values[680]) / (point - pow440 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[680] * value; - tempvar value = (column8 - oods_values[681]) / (point - pow180 * oods_point); + tempvar value = (column5 - oods_values[681]) / (point - pow445 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[681] * value; - tempvar value = (column8 - oods_values[682]) / (point - pow182 * oods_point); + tempvar value = (column5 - oods_values[682]) / (point - pow447 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[682] * value; - tempvar value = (column8 - oods_values[683]) / (point - pow190 * oods_point); + tempvar value = (column5 - oods_values[683]) / (point - pow449 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[683] * value; - tempvar value = (column8 - oods_values[684]) / (point - pow191 * oods_point); + tempvar value = (column6 - oods_values[684]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[684] * value; - tempvar value = (column8 - oods_values[685]) / (point - pow258 * oods_point); + tempvar value = (column6 - oods_values[685]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[685] * value; - tempvar value = (column8 - oods_values[686]) / (point - pow219 * oods_point); + tempvar value = (column6 - oods_values[686]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[686] * value; - tempvar value = (column8 - oods_values[687]) / (point - pow222 * oods_point); + tempvar value = (column6 - oods_values[687]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[687] * value; - tempvar value = (column8 - oods_values[688]) / (point - pow223 * oods_point); + tempvar value = (column7 - oods_values[688]) / (point - pow0 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[688] * value; - tempvar value = (column8 - oods_values[689]) / (point - pow228 * oods_point); + tempvar value = (column7 - oods_values[689]) / (point - pow53 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[689] * value; - tempvar value = (column8 - oods_values[690]) / (point - pow224 * oods_point); + tempvar value = (column7 - oods_values[690]) / (point - pow54 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[690] * value; - tempvar value = (column8 - oods_values[691]) / (point - pow231 * oods_point); + tempvar value = (column7 - oods_values[691]) / (point - pow56 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[691] * value; - tempvar value = (column8 - oods_values[692]) / (point - pow248 * oods_point); + tempvar value = (column7 - oods_values[692]) / (point - pow57 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[692] * value; - tempvar value = (column8 - oods_values[693]) / (point - pow249 * oods_point); + tempvar value = (column7 - oods_values[693]) / (point - pow58 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[693] * value; - tempvar value = (column8 - oods_values[694]) / (point - pow259 * oods_point); + tempvar value = (column7 - oods_values[694]) / (point - pow59 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[694] * value; - tempvar value = (column8 - oods_values[695]) / (point - pow260 * oods_point); + tempvar value = (column7 - oods_values[695]) / (point - pow60 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[695] * value; - tempvar value = (column8 - oods_values[696]) / (point - pow261 * oods_point); + tempvar value = (column7 - oods_values[696]) / (point - pow61 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[696] * value; - tempvar value = (column8 - oods_values[697]) / (point - pow263 * oods_point); + tempvar value = (column7 - oods_values[697]) / (point - pow63 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[697] * value; - tempvar value = (column8 - oods_values[698]) / (point - pow265 * oods_point); + tempvar value = (column7 - oods_values[698]) / (point - pow64 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[698] * value; - tempvar value = (column8 - oods_values[699]) / (point - pow264 * oods_point); + tempvar value = (column7 - oods_values[699]) / (point - pow65 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[699] * value; - tempvar value = (column8 - oods_values[700]) / (point - pow266 * oods_point); + tempvar value = (column7 - oods_values[700]) / (point - pow68 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[700] * value; - tempvar value = (column8 - oods_values[701]) / (point - pow284 * oods_point); + tempvar value = (column7 - oods_values[701]) / (point - pow71 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[701] * value; - tempvar value = (column8 - oods_values[702]) / (point - pow286 * oods_point); + tempvar value = (column7 - oods_values[702]) / (point - pow73 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[702] * value; - tempvar value = (column8 - oods_values[703]) / (point - pow288 * oods_point); + tempvar value = (column7 - oods_values[703]) / (point - pow78 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[703] * value; - tempvar value = (column8 - oods_values[704]) / (point - pow290 * oods_point); + tempvar value = (column7 - oods_values[704]) / (point - pow106 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[704] * value; - tempvar value = (column8 - oods_values[705]) / (point - pow292 * oods_point); + tempvar value = (column7 - oods_values[705]) / (point - pow133 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[705] * value; - tempvar value = (column8 - oods_values[706]) / (point - pow293 * oods_point); + tempvar value = (column7 - oods_values[706]) / (point - pow163 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[706] * value; - tempvar value = (column8 - oods_values[707]) / (point - pow295 * oods_point); + tempvar value = (column7 - oods_values[707]) / (point - pow167 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[707] * value; - tempvar value = (column8 - oods_values[708]) / (point - pow296 * oods_point); + tempvar value = (column7 - oods_values[708]) / (point - pow169 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[708] * value; - tempvar value = (column8 - oods_values[709]) / (point - pow297 * oods_point); + tempvar value = (column7 - oods_values[709]) / (point - pow175 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[709] * value; - tempvar value = (column8 - oods_values[710]) / (point - pow408 * oods_point); + tempvar value = (column7 - oods_values[710]) / (point - pow196 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[710] * value; - tempvar value = (column8 - oods_values[711]) / (point - pow409 * oods_point); + tempvar value = (column7 - oods_values[711]) / (point - pow198 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[711] * value; - tempvar value = (column8 - oods_values[712]) / (point - pow410 * oods_point); + tempvar value = (column7 - oods_values[712]) / (point - pow275 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[712] * value; - tempvar value = (column8 - oods_values[713]) / (point - pow411 * oods_point); + tempvar value = (column7 - oods_values[713]) / (point - pow283 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[713] * value; - tempvar value = (column8 - oods_values[714]) / (point - pow2 * oods_point); + tempvar value = (column7 - oods_values[714]) / (point - pow286 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[714] * value; - tempvar value = (column8 - oods_values[715]) / (point - pow420 * oods_point); + tempvar value = (column7 - oods_values[715]) / (point - pow287 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[715] * value; - tempvar value = (column8 - oods_values[716]) / (point - pow445 * oods_point); + tempvar value = (column7 - oods_values[716]) / (point - pow319 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[716] * value; - tempvar value = (column8 - oods_values[717]) / (point - pow446 * oods_point); + tempvar value = (column7 - oods_values[717]) / (point - pow323 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[717] * value; - tempvar value = (column8 - oods_values[718]) / (point - pow448 * oods_point); + tempvar value = (column7 - oods_values[718]) / (point - pow326 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[718] * value; - tempvar value = (column8 - oods_values[719]) / (point - pow449 * oods_point); + tempvar value = (column7 - oods_values[719]) / (point - pow327 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[719] * value; - tempvar value = (column8 - oods_values[720]) / (point - pow451 * oods_point); + tempvar value = (column7 - oods_values[720]) / (point - pow328 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[720] * value; - tempvar value = (column8 - oods_values[721]) / (point - pow452 * oods_point); + tempvar value = (column7 - oods_values[721]) / (point - pow329 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[721] * value; - tempvar value = (column8 - oods_values[722]) / (point - pow454 * oods_point); + tempvar value = (column7 - oods_values[722]) / (point - pow331 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[722] * value; - tempvar value = (column8 - oods_values[723]) / (point - pow458 * oods_point); + tempvar value = (column7 - oods_values[723]) / (point - pow333 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[723] * value; - tempvar value = (column8 - oods_values[724]) / (point - pow459 * oods_point); + tempvar value = (column7 - oods_values[724]) / (point - pow334 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[724] * value; - tempvar value = (column8 - oods_values[725]) / (point - pow479 * oods_point); + tempvar value = (column7 - oods_values[725]) / (point - pow339 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[725] * value; - tempvar value = (column8 - oods_values[726]) / (point - pow482 * oods_point); + tempvar value = (column7 - oods_values[726]) / (point - pow344 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[726] * value; - tempvar value = (column8 - oods_values[727]) / (point - pow1 * oods_point); + tempvar value = (column7 - oods_values[727]) / (point - pow450 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[727] * value; - tempvar value = (column8 - oods_values[728]) / (point - pow453 * oods_point); + tempvar value = (column7 - oods_values[728]) / (point - pow457 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[728] * value; - tempvar value = (column8 - oods_values[729]) / (point - pow485 * oods_point); + tempvar value = (column7 - oods_values[729]) / (point - pow460 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[729] * value; - tempvar value = (column8 - oods_values[730]) / (point - pow489 * oods_point); + tempvar value = (column7 - oods_values[730]) / (point - pow461 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[730] * value; - tempvar value = (column8 - oods_values[731]) / (point - pow490 * oods_point); + tempvar value = (column7 - oods_values[731]) / (point - pow474 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[731] * value; - tempvar value = (column8 - oods_values[732]) / (point - pow491 * oods_point); + tempvar value = (column7 - oods_values[732]) / (point - pow494 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[732] * value; - tempvar value = (column8 - oods_values[733]) / (point - pow492 * oods_point); + tempvar value = (column7 - oods_values[733]) / (point - pow539 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[733] * value; - tempvar value = (column8 - oods_values[734]) / (point - pow493 * oods_point); + tempvar value = (column7 - oods_values[734]) / (point - pow546 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[734] * value; - tempvar value = (column9 - oods_values[735]) / (point - pow0 * oods_point); + tempvar value = (column7 - oods_values[735]) / (point - pow547 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[735] * value; - tempvar value = (column9 - oods_values[736]) / (point - pow56 * oods_point); + tempvar value = (column7 - oods_values[736]) / (point - pow548 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[736] * value; - tempvar value = (column10 - oods_values[737]) / (point - pow0 * oods_point); + tempvar value = (column7 - oods_values[737]) / (point - pow549 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[737] * value; - tempvar value = (column10 - oods_values[738]) / (point - pow56 * oods_point); + tempvar value = (column7 - oods_values[738]) / (point - pow551 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[738] * value; - tempvar value = (column11 - oods_values[739]) / (point - pow0 * oods_point); + tempvar value = (column7 - oods_values[739]) / (point - pow556 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[739] * value; - tempvar value = (column11 - oods_values[740]) / (point - pow56 * oods_point); + tempvar value = (column7 - oods_values[740]) / (point - pow554 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[740] * value; - tempvar value = (column11 - oods_values[741]) / (point - pow57 * oods_point); + tempvar value = (column7 - oods_values[741]) / (point - pow555 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[741] * value; - tempvar value = (column11 - oods_values[742]) / (point - pow59 * oods_point); + tempvar value = (column7 - oods_values[742]) / (point - pow558 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[742] * value; + tempvar value = (column7 - oods_values[743]) / (point - pow568 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[743] * value; + + tempvar value = (column7 - oods_values[744]) / (point - pow582 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[744] * value; + + tempvar value = (column7 - oods_values[745]) / (point - pow598 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[745] * value; + + tempvar value = (column7 - oods_values[746]) / (point - pow643 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[746] * value; + + tempvar value = (column7 - oods_values[747]) / (point - pow650 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[747] * value; + + tempvar value = (column7 - oods_values[748]) / (point - pow720 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[748] * value; + + tempvar value = (column7 - oods_values[749]) / (point - pow721 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[749] * value; + + tempvar value = (column7 - oods_values[750]) / (point - pow715 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[750] * value; + + tempvar value = (column7 - oods_values[751]) / (point - pow712 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[751] * value; + + tempvar value = (column7 - oods_values[752]) / (point - pow713 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[752] * value; + + tempvar value = (column7 - oods_values[753]) / (point - pow714 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[753] * value; + + tempvar value = (column7 - oods_values[754]) / (point - pow13 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[754] * value; + + tempvar value = (column7 - oods_values[755]) / (point - pow70 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[755] * value; + + tempvar value = (column7 - oods_values[756]) / (point - pow12 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[756] * value; + + tempvar value = (column7 - oods_values[757]) / (point - pow701 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[757] * value; + + tempvar value = (column7 - oods_values[758]) / (point - pow697 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[758] * value; + + tempvar value = (column7 - oods_values[759]) / (point - pow11 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[759] * value; + + tempvar value = (column7 - oods_values[760]) / (point - pow103 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[760] * value; + + tempvar value = (column7 - oods_values[761]) / (point - pow131 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[761] * value; + + tempvar value = (column7 - oods_values[762]) / (point - pow10 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[762] * value; + + tempvar value = (column7 - oods_values[763]) / (point - pow729 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[763] * value; + + tempvar value = (column7 - oods_values[764]) / (point - pow687 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[764] * value; + + tempvar value = (column7 - oods_values[765]) / (point - pow689 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[765] * value; + + tempvar value = (column7 - oods_values[766]) / (point - pow691 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[766] * value; + + tempvar value = (column7 - oods_values[767]) / (point - pow677 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[767] * value; + + tempvar value = (column7 - oods_values[768]) / (point - pow9 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[768] * value; + + tempvar value = (column7 - oods_values[769]) / (point - pow786 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[769] * value; + + tempvar value = (column7 - oods_values[770]) / (point - pow717 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[770] * value; + + tempvar value = (column7 - oods_values[771]) / (point - pow703 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[771] * value; + + tempvar value = (column7 - oods_values[772]) / (point - pow8 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[772] * value; + + tempvar value = (column7 - oods_values[773]) / (point - pow7 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[773] * value; + + tempvar value = (column7 - oods_values[774]) / (point - pow772 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[774] * value; + + tempvar value = (column7 - oods_values[775]) / (point - pow777 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[775] * value; + + tempvar value = (column7 - oods_values[776]) / (point - pow670 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[776] * value; + + tempvar value = (column7 - oods_values[777]) / (point - pow740 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[777] * value; + + tempvar value = (column7 - oods_values[778]) / (point - pow6 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[778] * value; + + tempvar value = (column7 - oods_values[779]) / (point - pow741 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[779] * value; + + tempvar value = (column7 - oods_values[780]) / (point - pow698 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[780] * value; + + tempvar value = (column7 - oods_values[781]) / (point - pow5 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[781] * value; + + tempvar value = (column7 - oods_values[782]) / (point - pow4 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[782] * value; + + tempvar value = (column7 - oods_values[783]) / (point - pow702 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[783] * value; + + tempvar value = (column7 - oods_values[784]) / (point - pow3 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[784] * value; + + tempvar value = (column7 - oods_values[785]) / (point - pow752 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[785] * value; + + tempvar value = (column7 - oods_values[786]) / (point - pow685 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[786] * value; + + tempvar value = (column7 - oods_values[787]) / (point - pow682 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[787] * value; + + tempvar value = (column7 - oods_values[788]) / (point - pow709 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[788] * value; + + tempvar value = (column7 - oods_values[789]) / (point - pow710 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[789] * value; + + tempvar value = (column7 - oods_values[790]) / (point - pow711 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[790] * value; + + tempvar value = (column7 - oods_values[791]) / (point - pow769 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[791] * value; + + tempvar value = (column7 - oods_values[792]) / (point - pow792 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[792] * value; + + tempvar value = (column7 - oods_values[793]) / (point - pow790 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[793] * value; + + tempvar value = (column7 - oods_values[794]) / (point - pow791 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[794] * value; + + tempvar value = (column7 - oods_values[795]) / (point - pow672 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[795] * value; + + tempvar value = (column8 - oods_values[796]) / (point - pow0 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[796] * value; + + tempvar value = (column8 - oods_values[797]) / (point - pow54 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[797] * value; + + tempvar value = (column8 - oods_values[798]) / (point - pow57 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[798] * value; + + tempvar value = (column8 - oods_values[799]) / (point - pow59 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[799] * value; + + tempvar value = (column8 - oods_values[800]) / (point - pow61 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[800] * value; + + tempvar value = (column8 - oods_values[801]) / (point - pow63 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[801] * value; + + tempvar value = (column8 - oods_values[802]) / (point - pow65 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[802] * value; + + tempvar value = (column8 - oods_values[803]) / (point - pow67 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[803] * value; + + tempvar value = (column8 - oods_values[804]) / (point - pow72 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[804] * value; + + tempvar value = (column8 - oods_values[805]) / (point - pow74 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[805] * value; + + tempvar value = (column8 - oods_values[806]) / (point - pow75 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[806] * value; + + tempvar value = (column8 - oods_values[807]) / (point - pow77 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[807] * value; + + tempvar value = (column8 - oods_values[808]) / (point - pow79 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[808] * value; + + tempvar value = (column8 - oods_values[809]) / (point - pow80 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[809] * value; + + tempvar value = (column8 - oods_values[810]) / (point - pow82 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[810] * value; + + tempvar value = (column8 - oods_values[811]) / (point - pow83 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[811] * value; + + tempvar value = (column8 - oods_values[812]) / (point - pow84 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[812] * value; + + tempvar value = (column8 - oods_values[813]) / (point - pow86 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[813] * value; + + tempvar value = (column8 - oods_values[814]) / (point - pow88 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[814] * value; + + tempvar value = (column8 - oods_values[815]) / (point - pow89 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[815] * value; + + tempvar value = (column8 - oods_values[816]) / (point - pow91 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[816] * value; + + tempvar value = (column8 - oods_values[817]) / (point - pow92 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[817] * value; + + tempvar value = (column8 - oods_values[818]) / (point - pow93 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[818] * value; + + tempvar value = (column8 - oods_values[819]) / (point - pow95 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[819] * value; + + tempvar value = (column8 - oods_values[820]) / (point - pow97 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[820] * value; + + tempvar value = (column8 - oods_values[821]) / (point - pow104 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[821] * value; + + tempvar value = (column8 - oods_values[822]) / (point - pow105 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[822] * value; + + tempvar value = (column8 - oods_values[823]) / (point - pow107 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[823] * value; + + tempvar value = (column8 - oods_values[824]) / (point - pow109 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[824] * value; + + tempvar value = (column8 - oods_values[825]) / (point - pow110 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[825] * value; + + tempvar value = (column8 - oods_values[826]) / (point - pow111 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[826] * value; + + tempvar value = (column8 - oods_values[827]) / (point - pow112 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[827] * value; + + tempvar value = (column8 - oods_values[828]) / (point - pow113 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[828] * value; + + tempvar value = (column8 - oods_values[829]) / (point - pow116 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[829] * value; + + tempvar value = (column8 - oods_values[830]) / (point - pow117 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[830] * value; + + tempvar value = (column8 - oods_values[831]) / (point - pow118 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[831] * value; + + tempvar value = (column8 - oods_values[832]) / (point - pow120 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[832] * value; + + tempvar value = (column8 - oods_values[833]) / (point - pow121 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[833] * value; + + tempvar value = (column8 - oods_values[834]) / (point - pow122 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[834] * value; + + tempvar value = (column8 - oods_values[835]) / (point - pow123 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[835] * value; + + tempvar value = (column8 - oods_values[836]) / (point - pow124 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[836] * value; + + tempvar value = (column8 - oods_values[837]) / (point - pow134 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[837] * value; + + tempvar value = (column8 - oods_values[838]) / (point - pow136 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[838] * value; + + tempvar value = (column8 - oods_values[839]) / (point - pow138 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[839] * value; + + tempvar value = (column8 - oods_values[840]) / (point - pow140 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[840] * value; + + tempvar value = (column8 - oods_values[841]) / (point - pow142 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[841] * value; + + tempvar value = (column8 - oods_values[842]) / (point - pow144 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[842] * value; + + tempvar value = (column8 - oods_values[843]) / (point - pow155 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[843] * value; + + tempvar value = (column8 - oods_values[844]) / (point - pow156 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[844] * value; + + tempvar value = (column8 - oods_values[845]) / (point - pow161 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[845] * value; + + tempvar value = (column8 - oods_values[846]) / (point - pow164 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[846] * value; + + tempvar value = (column8 - oods_values[847]) / (point - pow176 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[847] * value; + + tempvar value = (column8 - oods_values[848]) / (point - pow178 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[848] * value; + + tempvar value = (column8 - oods_values[849]) / (point - pow182 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[849] * value; + + tempvar value = (column8 - oods_values[850]) / (point - pow185 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[850] * value; + + tempvar value = (column8 - oods_values[851]) / (point - pow187 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[851] * value; + + tempvar value = (column8 - oods_values[852]) / (point - pow192 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[852] * value; + + tempvar value = (column8 - oods_values[853]) / (point - pow195 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[853] * value; + + tempvar value = (column8 - oods_values[854]) / (point - pow208 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[854] * value; + + tempvar value = (column8 - oods_values[855]) / (point - pow210 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[855] * value; + + tempvar value = (column8 - oods_values[856]) / (point - pow217 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[856] * value; + + tempvar value = (column8 - oods_values[857]) / (point - pow231 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[857] * value; + + tempvar value = (column8 - oods_values[858]) / (point - pow233 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[858] * value; + + tempvar value = (column8 - oods_values[859]) / (point - pow254 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[859] * value; + + tempvar value = (column8 - oods_values[860]) / (point - pow270 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[860] * value; + + tempvar value = (column8 - oods_values[861]) / (point - pow285 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[861] * value; + + tempvar value = (column8 - oods_values[862]) / (point - pow293 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[862] * value; + + tempvar value = (column8 - oods_values[863]) / (point - pow295 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[863] * value; + + tempvar value = (column8 - oods_values[864]) / (point - pow302 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[864] * value; + + tempvar value = (column8 - oods_values[865]) / (point - pow308 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[865] * value; + + tempvar value = (column8 - oods_values[866]) / (point - pow314 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[866] * value; + + tempvar value = (column8 - oods_values[867]) / (point - pow316 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[867] * value; + + tempvar value = (column8 - oods_values[868]) / (point - pow324 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[868] * value; + + tempvar value = (column8 - oods_values[869]) / (point - pow342 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[869] * value; + + tempvar value = (column8 - oods_values[870]) / (point - pow351 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[870] * value; + + tempvar value = (column8 - oods_values[871]) / (point - pow357 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[871] * value; + + tempvar value = (column8 - oods_values[872]) / (point - pow359 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[872] * value; + + tempvar value = (column8 - oods_values[873]) / (point - pow365 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[873] * value; + + tempvar value = (column8 - oods_values[874]) / (point - pow370 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[874] * value; + + tempvar value = (column8 - oods_values[875]) / (point - pow372 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[875] * value; + + tempvar value = (column8 - oods_values[876]) / (point - pow374 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[876] * value; + + tempvar value = (column8 - oods_values[877]) / (point - pow381 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[877] * value; + + tempvar value = (column8 - oods_values[878]) / (point - pow424 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[878] * value; + + tempvar value = (column8 - oods_values[879]) / (point - pow427 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[879] * value; + + tempvar value = (column8 - oods_values[880]) / (point - pow432 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[880] * value; + + tempvar value = (column8 - oods_values[881]) / (point - pow439 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[881] * value; + + tempvar value = (column8 - oods_values[882]) / (point - pow444 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[882] * value; + + tempvar value = (column8 - oods_values[883]) / (point - pow445 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[883] * value; + + tempvar value = (column8 - oods_values[884]) / (point - pow447 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[884] * value; + + tempvar value = (column8 - oods_values[885]) / (point - pow448 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[885] * value; + + tempvar value = (column8 - oods_values[886]) / (point - pow449 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[886] * value; + + tempvar value = (column8 - oods_values[887]) / (point - pow569 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[887] * value; + + tempvar value = (column8 - oods_values[888]) / (point - pow570 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[888] * value; + + tempvar value = (column8 - oods_values[889]) / (point - pow571 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[889] * value; + + tempvar value = (column8 - oods_values[890]) / (point - pow572 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[890] * value; + + tempvar value = (column8 - oods_values[891]) / (point - pow2 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[891] * value; + + tempvar value = (column8 - oods_values[892]) / (point - pow580 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[892] * value; + + tempvar value = (column8 - oods_values[893]) / (point - pow607 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[893] * value; + + tempvar value = (column8 - oods_values[894]) / (point - pow608 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[894] * value; + + tempvar value = (column8 - oods_values[895]) / (point - pow610 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[895] * value; + + tempvar value = (column8 - oods_values[896]) / (point - pow611 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[896] * value; + + tempvar value = (column8 - oods_values[897]) / (point - pow613 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[897] * value; + + tempvar value = (column8 - oods_values[898]) / (point - pow614 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[898] * value; + + tempvar value = (column8 - oods_values[899]) / (point - pow616 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[899] * value; + + tempvar value = (column8 - oods_values[900]) / (point - pow618 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[900] * value; + + tempvar value = (column8 - oods_values[901]) / (point - pow619 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[901] * value; + + tempvar value = (column8 - oods_values[902]) / (point - pow634 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[902] * value; + + tempvar value = (column8 - oods_values[903]) / (point - pow636 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[903] * value; + + tempvar value = (column8 - oods_values[904]) / (point - pow1 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[904] * value; + + tempvar value = (column8 - oods_values[905]) / (point - pow615 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[905] * value; + + tempvar value = (column8 - oods_values[906]) / (point - pow651 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[906] * value; + + tempvar value = (column8 - oods_values[907]) / (point - pow652 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[907] * value; + + tempvar value = (column8 - oods_values[908]) / (point - pow653 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[908] * value; + + tempvar value = (column8 - oods_values[909]) / (point - pow654 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[909] * value; + + tempvar value = (column8 - oods_values[910]) / (point - pow655 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[910] * value; + + tempvar value = (column8 - oods_values[911]) / (point - pow656 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[911] * value; + + tempvar value = (column9 - oods_values[912]) / (point - pow0 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[912] * value; + + tempvar value = (column9 - oods_values[913]) / (point - pow53 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[913] * value; + + tempvar value = (column10 - oods_values[914]) / (point - pow0 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[914] * value; + + tempvar value = (column10 - oods_values[915]) / (point - pow53 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[915] * value; + + tempvar value = (column11 - oods_values[916]) / (point - pow0 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[916] * value; + + tempvar value = (column11 - oods_values[917]) / (point - pow53 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[917] * value; + + tempvar value = (column11 - oods_values[918]) / (point - pow54 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[918] * value; + + tempvar value = (column11 - oods_values[919]) / (point - pow56 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[919] * value; + // Sum the OODS boundary constraints on the composition polynomials. let (oods_point_to_deg) = pow(oods_point, CONSTRAINT_DEGREE); - tempvar value = (column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - oods_values[743]) / ( + tempvar value = (column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - oods_values[920]) / ( point - oods_point_to_deg ); - tempvar total_sum = total_sum + constraint_coefficients[743] * value; + tempvar total_sum = total_sum + constraint_coefficients[920] * value; - tempvar value = (column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - oods_values[744]) / + tempvar value = (column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - oods_values[921]) / (point - oods_point_to_deg); - tempvar total_sum = total_sum + constraint_coefficients[744] * value; + tempvar total_sum = total_sum + constraint_coefficients[921] * value; - static_assert 745 == MASK_SIZE + CONSTRAINT_DEGREE; + static_assert 922 == MASK_SIZE + CONSTRAINT_DEGREE; return (res=total_sum); } diff --git a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/composition.cairo b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/composition.cairo index f3f0618b..e62a1cb8 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/composition.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/composition.cairo @@ -156,6 +156,8 @@ func traces_eval_composition_polynomial{range_check_ptr}( initial_keccak_addr=public_input.segments[segments.KECCAK].begin_addr, initial_poseidon_addr=public_input.segments[segments.POSEIDON].begin_addr, initial_range_check96_addr=public_input.segments[segments.RANGE_CHECK96].begin_addr, + add_mod__initial_mod_addr=public_input.segments[segments.ADD_MOD].begin_addr, + mul_mod__initial_mod_addr=public_input.segments[segments.MUL_MOD].begin_addr, range_check_min=public_input.range_check_min, range_check_max=public_input.range_check_max, offset_size=2 ** 16, @@ -193,6 +195,8 @@ func traces_eval_composition_polynomial{range_check_ptr}( ), diluted_check__interaction_z=diluted_z, diluted_check__interaction_alpha=diluted_alpha, + add_mod__interaction_elm=interaction_elements.add_mod__interaction_elm, + mul_mod__interaction_elm=interaction_elements.mul_mod__interaction_elm, memory__multi_column_perm__perm__public_memory_prod=public_memory_prod_ratio, range_check16__perm__public_memory_prod=1, diluted_check__first_elm=0, diff --git a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/global_values.cairo b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/global_values.cairo index b7693f8e..e91dc64c 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/global_values.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/global_values.cairo @@ -30,6 +30,8 @@ struct GlobalValues { initial_keccak_addr: felt, initial_poseidon_addr: felt, initial_range_check96_addr: felt, + add_mod__initial_mod_addr: felt, + mul_mod__initial_mod_addr: felt, range_check_min: felt, range_check_max: felt, @@ -65,6 +67,8 @@ struct GlobalValues { diluted_check__permutation__interaction_elm: felt, diluted_check__interaction_z: felt, diluted_check__interaction_alpha: felt, + add_mod__interaction_elm: felt, + mul_mod__interaction_elm: felt, // Permutation products. memory__multi_column_perm__perm__public_memory_prod: felt, @@ -83,4 +87,6 @@ struct InteractionElements { diluted_check__permutation__interaction_elm: felt, diluted_check__interaction_z: felt, diluted_check__interaction_alpha: felt, + add_mod__interaction_elm: felt, + mul_mod__interaction_elm: felt, } diff --git a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/public_verify.cairo b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/public_verify.cairo index 7632e81a..87d38b2b 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/public_verify.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/all_cairo/public_verify.cairo @@ -3,6 +3,7 @@ from starkware.cairo.common.pow import pow from starkware.cairo.common.registers import get_label_location from starkware.cairo.stark_verifier.air.layout import AirWithLayout from starkware.cairo.stark_verifier.air.layouts.all_cairo.autogenerated import ( + ADD_MOD__ROW_RATIO, BITWISE__ROW_RATIO, CPU_COMPONENT_HEIGHT, CPU_COMPONENT_STEP, @@ -10,6 +11,7 @@ from starkware.cairo.stark_verifier.air.layouts.all_cairo.autogenerated import ( ECDSA_BUILTIN_ROW_RATIO, KECCAK__ROW_RATIO, LAYOUT_CODE, + MUL_MOD__ROW_RATIO, PEDERSEN_BUILTIN_ROW_RATIO, POSEIDON__ROW_RATIO, RANGE_CHECK96_BUILTIN_ROW_RATIO, @@ -34,7 +36,9 @@ namespace segments { const KECCAK = 8; const POSEIDON = 9; const RANGE_CHECK96 = 10; - const N_SEGMENTS = 11; + const ADD_MOD = 11; + const MUL_MOD = 12; + const N_SEGMENTS = 13; } const INITIAL_PC = 1; @@ -43,7 +47,7 @@ const FINAL_PC = INITIAL_PC + 4; // Returns a zero-terminated list of builtins supported by this layout. func get_layout_builtins() -> (n_builtins: felt, builtins: felt*) { let (builtins_address) = get_label_location(data); - let n_builtins = 9; + let n_builtins = 11; assert builtins_address[n_builtins] = 0; return (n_builtins=n_builtins, builtins=builtins_address); @@ -57,6 +61,8 @@ func get_layout_builtins() -> (n_builtins: felt, builtins: felt*) { dw 'keccak'; dw 'poseidon'; dw 'range_check96'; + dw 'add_mod'; + dw 'mul_mod'; dw 0; } @@ -184,5 +190,25 @@ func public_input_validate{range_check_ptr}( // RANGE_CHECK96_BUILTIN_ROW_RATIO. assert_nn_le(n_range_check96_uses, n_range_check96_copies); + let n_add_mod_copies = trace_length / ADD_MOD__ROW_RATIO; + let n_add_mod_uses = ( + public_input.segments[segments.ADD_MOD].stop_ptr - + public_input.segments[segments.ADD_MOD].begin_addr + ) / 7; + // Note that the following call implies that trace_length is divisible by + // ADD_MOD__ROW_RATIO + // and that stop_ptr - begin_addr is divisible by 7. + assert_nn_le(n_add_mod_uses, n_add_mod_copies); + + let n_mul_mod_copies = trace_length / MUL_MOD__ROW_RATIO; + let n_mul_mod_uses = ( + public_input.segments[segments.MUL_MOD].stop_ptr - + public_input.segments[segments.MUL_MOD].begin_addr + ) / 7; + // Note that the following call implies that trace_length is divisible by + // MUL_MOD__ROW_RATIO + // and that stop_ptr - begin_addr is divisible by 7. + assert_nn_le(n_mul_mod_uses, n_mul_mod_copies); + return (); } diff --git a/src/starkware/cairo/stark_verifier/air/layouts/dex/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/dex/autogenerated.cairo index 4e818829..0448b539 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/dex/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/dex/autogenerated.cairo @@ -29,6 +29,8 @@ const HAS_EC_OP_BUILTIN = 0; const HAS_KECCAK_BUILTIN = 0; const HAS_POSEIDON_BUILTIN = 0; const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_ADD_MOD_BUILTIN = 0; +const HAS_MUL_MOD_BUILTIN = 0; const LAYOUT_CODE = 0x646578; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; diff --git a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/autogenerated.cairo index 5acba6eb..09ae395b 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/autogenerated.cairo @@ -6,9 +6,9 @@ from starkware.cairo.common.pow import pow from starkware.cairo.stark_verifier.air.layout import DynamicLayout from starkware.cairo.stark_verifier.core.domains import StarkDomains -const N_DYNAMIC_PARAMS = 203; -const N_CONSTRAINTS = 347; -const MASK_SIZE = 755; +const N_DYNAMIC_PARAMS = 340; +const N_CONSTRAINTS = 419; +const MASK_SIZE = 941; const CPU_COMPONENT_HEIGHT = 16; const PUBLIC_MEMORY_FRACTION = 8; const HAS_DILUTED_POOL = 1; @@ -25,6 +25,13 @@ const EC_OP_N_BITS = 252; const POSEIDON__M = 3; const POSEIDON__ROUNDS_FULL = 8; const POSEIDON__ROUNDS_PARTIAL = 83; +const RANGE_CHECK96_N_PARTS = 6; +const ADD_MOD__WORD_BIT_LEN = 96; +const ADD_MOD__N_WORDS = 4; +const ADD_MOD__BATCH_SIZE = 1; +const MUL_MOD__WORD_BIT_LEN = 96; +const MUL_MOD__N_WORDS = 4; +const MUL_MOD__BATCH_SIZE = 1; const HAS_OUTPUT_BUILTIN = 1; const HAS_PEDERSEN_BUILTIN = 1; const HAS_RANGE_CHECK_BUILTIN = 1; @@ -33,12 +40,51 @@ const HAS_BITWISE_BUILTIN = 1; const HAS_EC_OP_BUILTIN = 1; const HAS_KECCAK_BUILTIN = 1; const HAS_POSEIDON_BUILTIN = 1; -const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_RANGE_CHECK96_BUILTIN = 1; +const HAS_ADD_MOD_BUILTIN = 1; +const HAS_MUL_MOD_BUILTIN = 1; const LAYOUT_CODE = 0x64796e616d6963; const CONSTRAINT_DEGREE = 2; const IS_DYNAMIC_AIR = 1; struct DynamicParams { + add_mod__a0_suboffset: felt, + add_mod__a1_suboffset: felt, + add_mod__a2_suboffset: felt, + add_mod__a3_suboffset: felt, + add_mod__a_offset_suboffset: felt, + add_mod__b0_suboffset: felt, + add_mod__b1_suboffset: felt, + add_mod__b2_suboffset: felt, + add_mod__b3_suboffset: felt, + add_mod__b_offset_suboffset: felt, + add_mod__c0_suboffset: felt, + add_mod__c1_suboffset: felt, + add_mod__c2_suboffset: felt, + add_mod__c3_suboffset: felt, + add_mod__c_offset_suboffset: felt, + add_mod__carry1_bit_column: felt, + add_mod__carry1_bit_offset: felt, + add_mod__carry1_sign_column: felt, + add_mod__carry1_sign_offset: felt, + add_mod__carry2_bit_column: felt, + add_mod__carry2_bit_offset: felt, + add_mod__carry2_sign_column: felt, + add_mod__carry2_sign_offset: felt, + add_mod__carry3_bit_column: felt, + add_mod__carry3_bit_offset: felt, + add_mod__carry3_sign_column: felt, + add_mod__carry3_sign_offset: felt, + add_mod__n_suboffset: felt, + add_mod__offsets_ptr_suboffset: felt, + add_mod__p0_suboffset: felt, + add_mod__p1_suboffset: felt, + add_mod__p2_suboffset: felt, + add_mod__p3_suboffset: felt, + add_mod__row_ratio: felt, + add_mod__sub_p_bit_column: felt, + add_mod__sub_p_bit_offset: felt, + add_mod__values_ptr_suboffset: felt, bitwise__diluted_var_pool_suboffset: felt, bitwise__row_ratio: felt, bitwise__trim_unpacking192_suboffset: felt, @@ -182,6 +228,95 @@ struct DynamicParams { memory__sorted__value_column: felt, memory__sorted__value_offset: felt, memory_units_row_ratio: felt, + mul_mod__a0_suboffset: felt, + mul_mod__a1_suboffset: felt, + mul_mod__a2_suboffset: felt, + mul_mod__a3_suboffset: felt, + mul_mod__a_offset_suboffset: felt, + mul_mod__b0_suboffset: felt, + mul_mod__b1_suboffset: felt, + mul_mod__b2_suboffset: felt, + mul_mod__b3_suboffset: felt, + mul_mod__b_offset_suboffset: felt, + mul_mod__c0_suboffset: felt, + mul_mod__c1_suboffset: felt, + mul_mod__c2_suboffset: felt, + mul_mod__c3_suboffset: felt, + mul_mod__c_offset_suboffset: felt, + mul_mod__carry0__part0_suboffset: felt, + mul_mod__carry0__part1_suboffset: felt, + mul_mod__carry0__part2_suboffset: felt, + mul_mod__carry0__part3_suboffset: felt, + mul_mod__carry0__part4_suboffset: felt, + mul_mod__carry0__part5_suboffset: felt, + mul_mod__carry0__part6_suboffset: felt, + mul_mod__carry1__part0_suboffset: felt, + mul_mod__carry1__part1_suboffset: felt, + mul_mod__carry1__part2_suboffset: felt, + mul_mod__carry1__part3_suboffset: felt, + mul_mod__carry1__part4_suboffset: felt, + mul_mod__carry1__part5_suboffset: felt, + mul_mod__carry1__part6_suboffset: felt, + mul_mod__carry2__part0_suboffset: felt, + mul_mod__carry2__part1_suboffset: felt, + mul_mod__carry2__part2_suboffset: felt, + mul_mod__carry2__part3_suboffset: felt, + mul_mod__carry2__part4_suboffset: felt, + mul_mod__carry2__part5_suboffset: felt, + mul_mod__carry2__part6_suboffset: felt, + mul_mod__carry3__part0_suboffset: felt, + mul_mod__carry3__part1_suboffset: felt, + mul_mod__carry3__part2_suboffset: felt, + mul_mod__carry3__part3_suboffset: felt, + mul_mod__carry3__part4_suboffset: felt, + mul_mod__carry3__part5_suboffset: felt, + mul_mod__carry3__part6_suboffset: felt, + mul_mod__carry4__part0_suboffset: felt, + mul_mod__carry4__part1_suboffset: felt, + mul_mod__carry4__part2_suboffset: felt, + mul_mod__carry4__part3_suboffset: felt, + mul_mod__carry4__part4_suboffset: felt, + mul_mod__carry4__part5_suboffset: felt, + mul_mod__carry4__part6_suboffset: felt, + mul_mod__carry5__part0_suboffset: felt, + mul_mod__carry5__part1_suboffset: felt, + mul_mod__carry5__part2_suboffset: felt, + mul_mod__carry5__part3_suboffset: felt, + mul_mod__carry5__part4_suboffset: felt, + mul_mod__carry5__part5_suboffset: felt, + mul_mod__carry5__part6_suboffset: felt, + mul_mod__n_suboffset: felt, + mul_mod__offsets_ptr_suboffset: felt, + mul_mod__p0_suboffset: felt, + mul_mod__p1_suboffset: felt, + mul_mod__p2_suboffset: felt, + mul_mod__p3_suboffset: felt, + mul_mod__p_multiplier0__part0_suboffset: felt, + mul_mod__p_multiplier0__part1_suboffset: felt, + mul_mod__p_multiplier0__part2_suboffset: felt, + mul_mod__p_multiplier0__part3_suboffset: felt, + mul_mod__p_multiplier0__part4_suboffset: felt, + mul_mod__p_multiplier0__part5_suboffset: felt, + mul_mod__p_multiplier1__part0_suboffset: felt, + mul_mod__p_multiplier1__part1_suboffset: felt, + mul_mod__p_multiplier1__part2_suboffset: felt, + mul_mod__p_multiplier1__part3_suboffset: felt, + mul_mod__p_multiplier1__part4_suboffset: felt, + mul_mod__p_multiplier1__part5_suboffset: felt, + mul_mod__p_multiplier2__part0_suboffset: felt, + mul_mod__p_multiplier2__part1_suboffset: felt, + mul_mod__p_multiplier2__part2_suboffset: felt, + mul_mod__p_multiplier2__part3_suboffset: felt, + mul_mod__p_multiplier2__part4_suboffset: felt, + mul_mod__p_multiplier2__part5_suboffset: felt, + mul_mod__p_multiplier3__part0_suboffset: felt, + mul_mod__p_multiplier3__part1_suboffset: felt, + mul_mod__p_multiplier3__part2_suboffset: felt, + mul_mod__p_multiplier3__part3_suboffset: felt, + mul_mod__p_multiplier3__part4_suboffset: felt, + mul_mod__p_multiplier3__part5_suboffset: felt, + mul_mod__row_ratio: felt, + mul_mod__values_ptr_suboffset: felt, num_columns_first: felt, num_columns_second: felt, orig__public_memory_suboffset: felt, @@ -231,16 +366,27 @@ struct DynamicParams { range_check16__sorted_offset: felt, range_check16_pool_column: felt, range_check16_pool_offset: felt, + range_check96_builtin__inner_range_check0_suboffset: felt, + range_check96_builtin__inner_range_check1_suboffset: felt, + range_check96_builtin__inner_range_check2_suboffset: felt, + range_check96_builtin__inner_range_check3_suboffset: felt, + range_check96_builtin__inner_range_check4_suboffset: felt, + range_check96_builtin__inner_range_check5_suboffset: felt, + range_check96_builtin__mem_suboffset: felt, + range_check96_builtin_row_ratio: felt, range_check_builtin__inner_range_check_suboffset: felt, range_check_builtin__mem_suboffset: felt, range_check_builtin_row_ratio: felt, range_check_units_row_ratio: felt, + uses_add_mod_builtin: felt, uses_bitwise_builtin: felt, uses_ec_op_builtin: felt, uses_ecdsa_builtin: felt, uses_keccak_builtin: felt, + uses_mul_mod_builtin: felt, uses_pedersen_builtin: felt, uses_poseidon_builtin: felt, + uses_range_check96_builtin: felt, uses_range_check_builtin: felt, } func eval_composition_polynomial{range_check_ptr}( @@ -254,6 +400,43 @@ func eval_composition_polynomial{range_check_ptr}( // Fetch dynamic params. tempvar dynamic_params = cast(global_values.dynamic_params, DynamicParams*); + local add_mod__a0_suboffset = dynamic_params.add_mod__a0_suboffset; + local add_mod__a1_suboffset = dynamic_params.add_mod__a1_suboffset; + local add_mod__a2_suboffset = dynamic_params.add_mod__a2_suboffset; + local add_mod__a3_suboffset = dynamic_params.add_mod__a3_suboffset; + local add_mod__a_offset_suboffset = dynamic_params.add_mod__a_offset_suboffset; + local add_mod__b0_suboffset = dynamic_params.add_mod__b0_suboffset; + local add_mod__b1_suboffset = dynamic_params.add_mod__b1_suboffset; + local add_mod__b2_suboffset = dynamic_params.add_mod__b2_suboffset; + local add_mod__b3_suboffset = dynamic_params.add_mod__b3_suboffset; + local add_mod__b_offset_suboffset = dynamic_params.add_mod__b_offset_suboffset; + local add_mod__c0_suboffset = dynamic_params.add_mod__c0_suboffset; + local add_mod__c1_suboffset = dynamic_params.add_mod__c1_suboffset; + local add_mod__c2_suboffset = dynamic_params.add_mod__c2_suboffset; + local add_mod__c3_suboffset = dynamic_params.add_mod__c3_suboffset; + local add_mod__c_offset_suboffset = dynamic_params.add_mod__c_offset_suboffset; + local add_mod__carry1_bit_column = dynamic_params.add_mod__carry1_bit_column; + local add_mod__carry1_bit_offset = dynamic_params.add_mod__carry1_bit_offset; + local add_mod__carry1_sign_column = dynamic_params.add_mod__carry1_sign_column; + local add_mod__carry1_sign_offset = dynamic_params.add_mod__carry1_sign_offset; + local add_mod__carry2_bit_column = dynamic_params.add_mod__carry2_bit_column; + local add_mod__carry2_bit_offset = dynamic_params.add_mod__carry2_bit_offset; + local add_mod__carry2_sign_column = dynamic_params.add_mod__carry2_sign_column; + local add_mod__carry2_sign_offset = dynamic_params.add_mod__carry2_sign_offset; + local add_mod__carry3_bit_column = dynamic_params.add_mod__carry3_bit_column; + local add_mod__carry3_bit_offset = dynamic_params.add_mod__carry3_bit_offset; + local add_mod__carry3_sign_column = dynamic_params.add_mod__carry3_sign_column; + local add_mod__carry3_sign_offset = dynamic_params.add_mod__carry3_sign_offset; + local add_mod__n_suboffset = dynamic_params.add_mod__n_suboffset; + local add_mod__offsets_ptr_suboffset = dynamic_params.add_mod__offsets_ptr_suboffset; + local add_mod__p0_suboffset = dynamic_params.add_mod__p0_suboffset; + local add_mod__p1_suboffset = dynamic_params.add_mod__p1_suboffset; + local add_mod__p2_suboffset = dynamic_params.add_mod__p2_suboffset; + local add_mod__p3_suboffset = dynamic_params.add_mod__p3_suboffset; + local add_mod__row_ratio = dynamic_params.add_mod__row_ratio; + local add_mod__sub_p_bit_column = dynamic_params.add_mod__sub_p_bit_column; + local add_mod__sub_p_bit_offset = dynamic_params.add_mod__sub_p_bit_offset; + local add_mod__values_ptr_suboffset = dynamic_params.add_mod__values_ptr_suboffset; local bitwise__diluted_var_pool_suboffset = dynamic_params.bitwise__diluted_var_pool_suboffset; local bitwise__row_ratio = dynamic_params.bitwise__row_ratio; local bitwise__trim_unpacking192_suboffset = dynamic_params.bitwise__trim_unpacking192_suboffset; @@ -397,6 +580,95 @@ func eval_composition_polynomial{range_check_ptr}( local memory__sorted__value_column = dynamic_params.memory__sorted__value_column; local memory__sorted__value_offset = dynamic_params.memory__sorted__value_offset; local memory_units_row_ratio = dynamic_params.memory_units_row_ratio; + local mul_mod__a0_suboffset = dynamic_params.mul_mod__a0_suboffset; + local mul_mod__a1_suboffset = dynamic_params.mul_mod__a1_suboffset; + local mul_mod__a2_suboffset = dynamic_params.mul_mod__a2_suboffset; + local mul_mod__a3_suboffset = dynamic_params.mul_mod__a3_suboffset; + local mul_mod__a_offset_suboffset = dynamic_params.mul_mod__a_offset_suboffset; + local mul_mod__b0_suboffset = dynamic_params.mul_mod__b0_suboffset; + local mul_mod__b1_suboffset = dynamic_params.mul_mod__b1_suboffset; + local mul_mod__b2_suboffset = dynamic_params.mul_mod__b2_suboffset; + local mul_mod__b3_suboffset = dynamic_params.mul_mod__b3_suboffset; + local mul_mod__b_offset_suboffset = dynamic_params.mul_mod__b_offset_suboffset; + local mul_mod__c0_suboffset = dynamic_params.mul_mod__c0_suboffset; + local mul_mod__c1_suboffset = dynamic_params.mul_mod__c1_suboffset; + local mul_mod__c2_suboffset = dynamic_params.mul_mod__c2_suboffset; + local mul_mod__c3_suboffset = dynamic_params.mul_mod__c3_suboffset; + local mul_mod__c_offset_suboffset = dynamic_params.mul_mod__c_offset_suboffset; + local mul_mod__carry0__part0_suboffset = dynamic_params.mul_mod__carry0__part0_suboffset; + local mul_mod__carry0__part1_suboffset = dynamic_params.mul_mod__carry0__part1_suboffset; + local mul_mod__carry0__part2_suboffset = dynamic_params.mul_mod__carry0__part2_suboffset; + local mul_mod__carry0__part3_suboffset = dynamic_params.mul_mod__carry0__part3_suboffset; + local mul_mod__carry0__part4_suboffset = dynamic_params.mul_mod__carry0__part4_suboffset; + local mul_mod__carry0__part5_suboffset = dynamic_params.mul_mod__carry0__part5_suboffset; + local mul_mod__carry0__part6_suboffset = dynamic_params.mul_mod__carry0__part6_suboffset; + local mul_mod__carry1__part0_suboffset = dynamic_params.mul_mod__carry1__part0_suboffset; + local mul_mod__carry1__part1_suboffset = dynamic_params.mul_mod__carry1__part1_suboffset; + local mul_mod__carry1__part2_suboffset = dynamic_params.mul_mod__carry1__part2_suboffset; + local mul_mod__carry1__part3_suboffset = dynamic_params.mul_mod__carry1__part3_suboffset; + local mul_mod__carry1__part4_suboffset = dynamic_params.mul_mod__carry1__part4_suboffset; + local mul_mod__carry1__part5_suboffset = dynamic_params.mul_mod__carry1__part5_suboffset; + local mul_mod__carry1__part6_suboffset = dynamic_params.mul_mod__carry1__part6_suboffset; + local mul_mod__carry2__part0_suboffset = dynamic_params.mul_mod__carry2__part0_suboffset; + local mul_mod__carry2__part1_suboffset = dynamic_params.mul_mod__carry2__part1_suboffset; + local mul_mod__carry2__part2_suboffset = dynamic_params.mul_mod__carry2__part2_suboffset; + local mul_mod__carry2__part3_suboffset = dynamic_params.mul_mod__carry2__part3_suboffset; + local mul_mod__carry2__part4_suboffset = dynamic_params.mul_mod__carry2__part4_suboffset; + local mul_mod__carry2__part5_suboffset = dynamic_params.mul_mod__carry2__part5_suboffset; + local mul_mod__carry2__part6_suboffset = dynamic_params.mul_mod__carry2__part6_suboffset; + local mul_mod__carry3__part0_suboffset = dynamic_params.mul_mod__carry3__part0_suboffset; + local mul_mod__carry3__part1_suboffset = dynamic_params.mul_mod__carry3__part1_suboffset; + local mul_mod__carry3__part2_suboffset = dynamic_params.mul_mod__carry3__part2_suboffset; + local mul_mod__carry3__part3_suboffset = dynamic_params.mul_mod__carry3__part3_suboffset; + local mul_mod__carry3__part4_suboffset = dynamic_params.mul_mod__carry3__part4_suboffset; + local mul_mod__carry3__part5_suboffset = dynamic_params.mul_mod__carry3__part5_suboffset; + local mul_mod__carry3__part6_suboffset = dynamic_params.mul_mod__carry3__part6_suboffset; + local mul_mod__carry4__part0_suboffset = dynamic_params.mul_mod__carry4__part0_suboffset; + local mul_mod__carry4__part1_suboffset = dynamic_params.mul_mod__carry4__part1_suboffset; + local mul_mod__carry4__part2_suboffset = dynamic_params.mul_mod__carry4__part2_suboffset; + local mul_mod__carry4__part3_suboffset = dynamic_params.mul_mod__carry4__part3_suboffset; + local mul_mod__carry4__part4_suboffset = dynamic_params.mul_mod__carry4__part4_suboffset; + local mul_mod__carry4__part5_suboffset = dynamic_params.mul_mod__carry4__part5_suboffset; + local mul_mod__carry4__part6_suboffset = dynamic_params.mul_mod__carry4__part6_suboffset; + local mul_mod__carry5__part0_suboffset = dynamic_params.mul_mod__carry5__part0_suboffset; + local mul_mod__carry5__part1_suboffset = dynamic_params.mul_mod__carry5__part1_suboffset; + local mul_mod__carry5__part2_suboffset = dynamic_params.mul_mod__carry5__part2_suboffset; + local mul_mod__carry5__part3_suboffset = dynamic_params.mul_mod__carry5__part3_suboffset; + local mul_mod__carry5__part4_suboffset = dynamic_params.mul_mod__carry5__part4_suboffset; + local mul_mod__carry5__part5_suboffset = dynamic_params.mul_mod__carry5__part5_suboffset; + local mul_mod__carry5__part6_suboffset = dynamic_params.mul_mod__carry5__part6_suboffset; + local mul_mod__n_suboffset = dynamic_params.mul_mod__n_suboffset; + local mul_mod__offsets_ptr_suboffset = dynamic_params.mul_mod__offsets_ptr_suboffset; + local mul_mod__p0_suboffset = dynamic_params.mul_mod__p0_suboffset; + local mul_mod__p1_suboffset = dynamic_params.mul_mod__p1_suboffset; + local mul_mod__p2_suboffset = dynamic_params.mul_mod__p2_suboffset; + local mul_mod__p3_suboffset = dynamic_params.mul_mod__p3_suboffset; + local mul_mod__p_multiplier0__part0_suboffset = dynamic_params.mul_mod__p_multiplier0__part0_suboffset; + local mul_mod__p_multiplier0__part1_suboffset = dynamic_params.mul_mod__p_multiplier0__part1_suboffset; + local mul_mod__p_multiplier0__part2_suboffset = dynamic_params.mul_mod__p_multiplier0__part2_suboffset; + local mul_mod__p_multiplier0__part3_suboffset = dynamic_params.mul_mod__p_multiplier0__part3_suboffset; + local mul_mod__p_multiplier0__part4_suboffset = dynamic_params.mul_mod__p_multiplier0__part4_suboffset; + local mul_mod__p_multiplier0__part5_suboffset = dynamic_params.mul_mod__p_multiplier0__part5_suboffset; + local mul_mod__p_multiplier1__part0_suboffset = dynamic_params.mul_mod__p_multiplier1__part0_suboffset; + local mul_mod__p_multiplier1__part1_suboffset = dynamic_params.mul_mod__p_multiplier1__part1_suboffset; + local mul_mod__p_multiplier1__part2_suboffset = dynamic_params.mul_mod__p_multiplier1__part2_suboffset; + local mul_mod__p_multiplier1__part3_suboffset = dynamic_params.mul_mod__p_multiplier1__part3_suboffset; + local mul_mod__p_multiplier1__part4_suboffset = dynamic_params.mul_mod__p_multiplier1__part4_suboffset; + local mul_mod__p_multiplier1__part5_suboffset = dynamic_params.mul_mod__p_multiplier1__part5_suboffset; + local mul_mod__p_multiplier2__part0_suboffset = dynamic_params.mul_mod__p_multiplier2__part0_suboffset; + local mul_mod__p_multiplier2__part1_suboffset = dynamic_params.mul_mod__p_multiplier2__part1_suboffset; + local mul_mod__p_multiplier2__part2_suboffset = dynamic_params.mul_mod__p_multiplier2__part2_suboffset; + local mul_mod__p_multiplier2__part3_suboffset = dynamic_params.mul_mod__p_multiplier2__part3_suboffset; + local mul_mod__p_multiplier2__part4_suboffset = dynamic_params.mul_mod__p_multiplier2__part4_suboffset; + local mul_mod__p_multiplier2__part5_suboffset = dynamic_params.mul_mod__p_multiplier2__part5_suboffset; + local mul_mod__p_multiplier3__part0_suboffset = dynamic_params.mul_mod__p_multiplier3__part0_suboffset; + local mul_mod__p_multiplier3__part1_suboffset = dynamic_params.mul_mod__p_multiplier3__part1_suboffset; + local mul_mod__p_multiplier3__part2_suboffset = dynamic_params.mul_mod__p_multiplier3__part2_suboffset; + local mul_mod__p_multiplier3__part3_suboffset = dynamic_params.mul_mod__p_multiplier3__part3_suboffset; + local mul_mod__p_multiplier3__part4_suboffset = dynamic_params.mul_mod__p_multiplier3__part4_suboffset; + local mul_mod__p_multiplier3__part5_suboffset = dynamic_params.mul_mod__p_multiplier3__part5_suboffset; + local mul_mod__row_ratio = dynamic_params.mul_mod__row_ratio; + local mul_mod__values_ptr_suboffset = dynamic_params.mul_mod__values_ptr_suboffset; local num_columns_first = dynamic_params.num_columns_first; local num_columns_second = dynamic_params.num_columns_second; local orig__public_memory_suboffset = dynamic_params.orig__public_memory_suboffset; @@ -446,16 +718,27 @@ func eval_composition_polynomial{range_check_ptr}( local range_check16__sorted_offset = dynamic_params.range_check16__sorted_offset; local range_check16_pool_column = dynamic_params.range_check16_pool_column; local range_check16_pool_offset = dynamic_params.range_check16_pool_offset; + local range_check96_builtin__inner_range_check0_suboffset = dynamic_params.range_check96_builtin__inner_range_check0_suboffset; + local range_check96_builtin__inner_range_check1_suboffset = dynamic_params.range_check96_builtin__inner_range_check1_suboffset; + local range_check96_builtin__inner_range_check2_suboffset = dynamic_params.range_check96_builtin__inner_range_check2_suboffset; + local range_check96_builtin__inner_range_check3_suboffset = dynamic_params.range_check96_builtin__inner_range_check3_suboffset; + local range_check96_builtin__inner_range_check4_suboffset = dynamic_params.range_check96_builtin__inner_range_check4_suboffset; + local range_check96_builtin__inner_range_check5_suboffset = dynamic_params.range_check96_builtin__inner_range_check5_suboffset; + local range_check96_builtin__mem_suboffset = dynamic_params.range_check96_builtin__mem_suboffset; + local range_check96_builtin_row_ratio = dynamic_params.range_check96_builtin_row_ratio; local range_check_builtin__inner_range_check_suboffset = dynamic_params.range_check_builtin__inner_range_check_suboffset; local range_check_builtin__mem_suboffset = dynamic_params.range_check_builtin__mem_suboffset; local range_check_builtin_row_ratio = dynamic_params.range_check_builtin_row_ratio; local range_check_units_row_ratio = dynamic_params.range_check_units_row_ratio; + local uses_add_mod_builtin = dynamic_params.uses_add_mod_builtin; local uses_bitwise_builtin = dynamic_params.uses_bitwise_builtin; local uses_ec_op_builtin = dynamic_params.uses_ec_op_builtin; local uses_ecdsa_builtin = dynamic_params.uses_ecdsa_builtin; local uses_keccak_builtin = dynamic_params.uses_keccak_builtin; + local uses_mul_mod_builtin = dynamic_params.uses_mul_mod_builtin; local uses_pedersen_builtin = dynamic_params.uses_pedersen_builtin; local uses_poseidon_builtin = dynamic_params.uses_poseidon_builtin; + local uses_range_check96_builtin = dynamic_params.uses_range_check96_builtin; local uses_range_check_builtin = dynamic_params.uses_range_check_builtin; // Compute powers. @@ -484,6 +767,15 @@ func eval_composition_polynomial{range_check_ptr}( ); local pow11; local pow12; + if (uses_add_mod_builtin != 0) { + let (temp11) = pow(point, (safe_div(global_values.trace_length, add_mod__row_ratio))); + assert pow11 = temp11; + let (temp12) = pow(trace_generator, global_values.trace_length - add_mod__row_ratio); + assert pow12 = temp12; + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } local pow13; local pow14; local pow15; @@ -501,97 +793,97 @@ func eval_composition_polynomial{range_check_ptr}( local pow27; local pow28; local pow29; + local pow30; + local pow31; if (uses_bitwise_builtin != 0) { - let (temp11) = pow(point, (safe_div(global_values.trace_length, bitwise__row_ratio))); - assert pow11 = temp11; - let (temp12) = pow( + let (temp13) = pow(point, (safe_div(global_values.trace_length, bitwise__row_ratio))); + assert pow13 = temp13; + let (temp14) = pow( point, (safe_div((safe_mult(4, global_values.trace_length)), bitwise__row_ratio)) ); - assert pow12 = temp12; - let (temp13) = pow(trace_generator, global_values.trace_length - bitwise__row_ratio); - assert pow13 = temp13; - let (temp14) = pow(trace_generator, (safe_div(global_values.trace_length, 64))); assert pow14 = temp14; - assert pow15 = pow14 * pow14; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). - assert pow16 = pow14 * pow15; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 64))). - assert pow17 = pow14 * pow16; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). - assert pow18 = pow14 * pow17; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 64))). - assert pow19 = pow14 * pow18; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). - assert pow20 = pow14 * pow19; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). - assert pow21 = pow14 * pow20; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). - assert pow22 = pow14 * pow21; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). - assert pow23 = pow14 * pow22; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow24 = pow14 * pow23; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 64))). - assert pow25 = pow14 * pow24; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow26 = pow14 * pow25; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 64))). - assert pow27 = pow14 * pow26; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow28 = pow14 * pow27; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). - let (temp29) = pow( + let (temp15) = pow(trace_generator, global_values.trace_length - bitwise__row_ratio); + assert pow15 = temp15; + let (temp16) = pow(trace_generator, (safe_div(global_values.trace_length, 64))); + assert pow16 = temp16; + assert pow17 = pow16 * pow16; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). + assert pow18 = pow16 * pow17; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 64))). + assert pow19 = pow16 * pow18; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). + assert pow20 = pow16 * pow19; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 64))). + assert pow21 = pow16 * pow20; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). + assert pow22 = pow16 * pow21; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). + assert pow23 = pow16 * pow22; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). + assert pow24 = pow16 * pow23; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). + assert pow25 = pow16 * pow24; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow26 = pow16 * pow25; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 64))). + assert pow27 = pow16 * pow26; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow28 = pow16 * pow27; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 64))). + assert pow29 = pow16 * pow28; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow30 = pow16 * pow29; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). + let (temp31) = pow( trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4)) ); - assert pow29 = temp29; + assert pow31 = temp31; tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; } - local pow30; - local pow31; local pow32; local pow33; local pow34; + local pow35; + local pow36; if (uses_ec_op_builtin != 0) { - let (temp30) = pow(point, (safe_div(global_values.trace_length, ec_op_builtin_row_ratio))); - assert pow30 = temp30; - let (temp31) = pow( - point, (safe_div((safe_mult(256, global_values.trace_length)), ec_op_builtin_row_ratio)) - ); - assert pow31 = temp31; - let (temp32) = pow(trace_generator, global_values.trace_length - ec_op_builtin_row_ratio); + let (temp32) = pow(point, (safe_div(global_values.trace_length, ec_op_builtin_row_ratio))); assert pow32 = temp32; let (temp33) = pow( - trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64)) + point, (safe_div((safe_mult(256, global_values.trace_length)), ec_op_builtin_row_ratio)) ); assert pow33 = temp33; - let (temp34) = pow( + let (temp34) = pow(trace_generator, global_values.trace_length - ec_op_builtin_row_ratio); + assert pow34 = temp34; + let (temp35) = pow( + trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64)) + ); + assert pow35 = temp35; + let (temp36) = pow( trace_generator, (safe_div((safe_mult(255, global_values.trace_length)), 256)) ); - assert pow34 = temp34; + assert pow36 = temp36; tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; } - local pow35; - local pow36; local pow37; local pow38; local pow39; local pow40; local pow41; + local pow42; + local pow43; if (uses_ecdsa_builtin != 0) { - let (temp35) = pow(point, (safe_div(global_values.trace_length, ecdsa_builtin_row_ratio))); - assert pow35 = temp35; - assert pow36 = pow35 * pow35; // pow(point, (safe_div((safe_mult(2, global_values.trace_length)), ecdsa_builtin_row_ratio))). - let (temp37) = pow( + let (temp37) = pow(point, (safe_div(global_values.trace_length, ecdsa_builtin_row_ratio))); + assert pow37 = temp37; + assert pow38 = pow37 * pow37; // pow(point, (safe_div((safe_mult(2, global_values.trace_length)), ecdsa_builtin_row_ratio))). + let (temp39) = pow( point, (safe_div((safe_mult(256, global_values.trace_length)), ecdsa_builtin_row_ratio)) ); - assert pow37 = temp37; - assert pow38 = pow37 * pow37; // pow(point, (safe_div((safe_mult(512, global_values.trace_length)), ecdsa_builtin_row_ratio))). - let (temp39) = pow(trace_generator, global_values.trace_length - ecdsa_builtin_row_ratio); assert pow39 = temp39; - let (temp40) = pow( + assert pow40 = pow39 * pow39; // pow(point, (safe_div((safe_mult(512, global_values.trace_length)), ecdsa_builtin_row_ratio))). + let (temp41) = pow(trace_generator, global_values.trace_length - ecdsa_builtin_row_ratio); + assert pow41 = temp41; + let (temp42) = pow( trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 256)) ); - assert pow40 = temp40; - let (temp41) = pow( + assert pow42 = temp42; + let (temp43) = pow( trace_generator, (safe_div((safe_mult(255, global_values.trace_length)), 256)) ); - assert pow41 = temp41; + assert pow43 = temp43; tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; } - local pow42; - local pow43; local pow44; local pow45; local pow46; @@ -3941,3422 +4233,3431 @@ func eval_composition_polynomial{range_check_ptr}( local pow3390; local pow3391; local pow3392; + local pow3393; + local pow3394; if (uses_keccak_builtin != 0) { - let (temp42) = pow( - point, (safe_div(global_values.trace_length, (safe_mult(16, keccak__row_ratio)))) - ); - assert pow42 = temp42; - let (temp43) = pow(point, (safe_div(global_values.trace_length, keccak__row_ratio))); - assert pow43 = temp43; let (temp44) = pow( - point, (safe_div((safe_mult(4, global_values.trace_length)), keccak__row_ratio)) + point, (safe_div(global_values.trace_length, (safe_mult(16, keccak__row_ratio)))) ); assert pow44 = temp44; - let (temp45) = pow( - point, (safe_div((safe_mult(16, global_values.trace_length)), keccak__row_ratio)) - ); + let (temp45) = pow(point, (safe_div(global_values.trace_length, keccak__row_ratio))); assert pow45 = temp45; let (temp46) = pow( - point, (safe_div((safe_mult(128, global_values.trace_length)), keccak__row_ratio)) + point, (safe_div((safe_mult(4, global_values.trace_length)), keccak__row_ratio)) ); assert pow46 = temp46; let (temp47) = pow( - point, (safe_div((safe_mult(4096, global_values.trace_length)), keccak__row_ratio)) + point, (safe_div((safe_mult(16, global_values.trace_length)), keccak__row_ratio)) ); assert pow47 = temp47; let (temp48) = pow( - trace_generator, global_values.trace_length - (safe_div(keccak__row_ratio, 16)) + point, (safe_div((safe_mult(128, global_values.trace_length)), keccak__row_ratio)) ); assert pow48 = temp48; - let (temp49) = pow(trace_generator, (safe_div(global_values.trace_length, 524288))); + let (temp49) = pow( + point, (safe_div((safe_mult(4096, global_values.trace_length)), keccak__row_ratio)) + ); assert pow49 = temp49; - assert pow50 = pow49 * pow49; // pow(trace_generator, (safe_div(global_values.trace_length, 262144))). - assert pow51 = pow49 * pow50; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 524288))). - assert pow52 = pow49 * pow51; // pow(trace_generator, (safe_div(global_values.trace_length, 131072))). - assert pow53 = pow49 * pow52; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 524288))). - assert pow54 = pow49 * pow53; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 262144))). - assert pow55 = pow49 * pow54; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 524288))). - assert pow56 = pow49 * pow55; // pow(trace_generator, (safe_div(global_values.trace_length, 65536))). - assert pow57 = pow49 * pow56; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 524288))). - assert pow58 = pow49 * pow57; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 262144))). - assert pow59 = pow49 * pow58; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 524288))). - assert pow60 = pow49 * pow59; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 131072))). - assert pow61 = pow49 * pow60; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 524288))). - assert pow62 = pow49 * pow61; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 262144))). - assert pow63 = pow49 * pow62; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 524288))). - assert pow64 = pow49 * pow63; // pow(trace_generator, (safe_div(global_values.trace_length, 32768))). - assert pow65 = pow56 * pow64; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 65536))). - assert pow66 = pow56 * pow65; // pow(trace_generator, (safe_div(global_values.trace_length, 16384))). - assert pow67 = pow56 * pow66; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 65536))). - assert pow68 = pow56 * pow67; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32768))). - assert pow69 = pow56 * pow68; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 65536))). - assert pow70 = pow56 * pow69; // pow(trace_generator, (safe_div(global_values.trace_length, 8192))). - assert pow71 = pow56 * pow70; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 65536))). - assert pow72 = pow56 * pow71; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32768))). - assert pow73 = pow56 * pow72; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 65536))). - assert pow74 = pow56 * pow73; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16384))). - assert pow75 = pow56 * pow74; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 65536))). - assert pow76 = pow56 * pow75; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32768))). - assert pow77 = pow56 * pow76; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 65536))). - assert pow78 = pow56 * pow77; // pow(trace_generator, (safe_div(global_values.trace_length, 4096))). - assert pow79 = pow56 * pow78; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 65536))). - assert pow80 = pow56 * pow79; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32768))). - assert pow81 = pow56 * pow80; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 65536))). - assert pow82 = pow56 * pow81; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16384))). - assert pow83 = pow56 * pow82; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 65536))). - assert pow84 = pow56 * pow83; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32768))). - assert pow85 = pow56 * pow84; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 65536))). - assert pow86 = pow56 * pow85; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 8192))). - assert pow87 = pow56 * pow86; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 65536))). - assert pow88 = pow56 * pow87; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 32768))). - assert pow89 = pow56 * pow88; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 65536))). - assert pow90 = pow56 * pow89; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 16384))). - assert pow91 = pow56 * pow90; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 65536))). - assert pow92 = pow56 * pow91; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 32768))). - assert pow93 = pow56 * pow92; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 65536))). - assert pow94 = pow56 * pow93; // pow(trace_generator, (safe_div(global_values.trace_length, 2048))). - assert pow95 = pow56 * pow94; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 65536))). - assert pow96 = pow56 * pow95; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 32768))). - assert pow97 = pow56 * pow96; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 65536))). - assert pow98 = pow56 * pow97; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 16384))). - assert pow99 = pow56 * pow98; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 65536))). - assert pow100 = pow56 * pow99; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32768))). - assert pow101 = pow56 * pow100; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 65536))). - assert pow102 = pow56 * pow101; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8192))). - assert pow103 = pow56 * pow102; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 65536))). - assert pow104 = pow56 * pow103; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32768))). - assert pow105 = pow56 * pow104; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 65536))). - assert pow106 = pow56 * pow105; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16384))). - assert pow107 = pow56 * pow106; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 65536))). - assert pow108 = pow56 * pow107; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32768))). - assert pow109 = pow56 * pow108; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 65536))). - assert pow110 = pow56 * pow109; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4096))). - assert pow111 = pow56 * pow110; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 65536))). - assert pow112 = pow56 * pow111; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32768))). - assert pow113 = pow56 * pow112; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 65536))). - assert pow114 = pow56 * pow113; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16384))). - assert pow115 = pow56 * pow114; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 65536))). - assert pow116 = pow56 * pow115; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32768))). - assert pow117 = pow56 * pow116; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 65536))). - assert pow118 = pow56 * pow117; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8192))). - assert pow119 = pow56 * pow118; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 65536))). - assert pow120 = pow56 * pow119; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32768))). - assert pow121 = pow56 * pow120; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 65536))). - assert pow122 = pow56 * pow121; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16384))). - assert pow123 = pow56 * pow122; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 65536))). - assert pow124 = pow65 * pow123; // pow(trace_generator, (safe_div(global_values.trace_length, 1024))). - assert pow125 = pow56 * pow124; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 65536))). - assert pow126 = pow56 * pow125; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 32768))). - assert pow127 = pow56 * pow126; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 65536))). - assert pow128 = pow56 * pow127; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 16384))). - assert pow129 = pow56 * pow128; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 65536))). - assert pow130 = pow56 * pow129; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 32768))). - assert pow131 = pow56 * pow130; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 65536))). - assert pow132 = pow56 * pow131; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 8192))). - assert pow133 = pow56 * pow132; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 65536))). - assert pow134 = pow56 * pow133; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 32768))). - assert pow135 = pow56 * pow134; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 65536))). - assert pow136 = pow56 * pow135; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 16384))). - assert pow137 = pow56 * pow136; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 65536))). - assert pow138 = pow56 * pow137; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 32768))). - assert pow139 = pow56 * pow138; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 65536))). - assert pow140 = pow56 * pow139; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 4096))). - assert pow141 = pow56 * pow140; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 65536))). - assert pow142 = pow56 * pow141; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 32768))). - assert pow143 = pow56 * pow142; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 65536))). - assert pow144 = pow56 * pow143; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 16384))). - assert pow145 = pow56 * pow144; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 65536))). - assert pow146 = pow56 * pow145; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 32768))). - assert pow147 = pow56 * pow146; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 65536))). - assert pow148 = pow56 * pow147; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 8192))). - assert pow149 = pow56 * pow148; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 65536))). - assert pow150 = pow56 * pow149; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 32768))). - assert pow151 = pow56 * pow150; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 65536))). - assert pow152 = pow56 * pow151; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 16384))). - assert pow153 = pow56 * pow152; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 65536))). - assert pow154 = pow65 * pow153; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 2048))). - assert pow155 = pow56 * pow154; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 65536))). - assert pow156 = pow56 * pow155; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 32768))). - assert pow157 = pow56 * pow156; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 65536))). - assert pow158 = pow56 * pow157; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 16384))). - assert pow159 = pow56 * pow158; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 65536))). - assert pow160 = pow56 * pow159; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 32768))). - assert pow161 = pow56 * pow160; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 65536))). - assert pow162 = pow56 * pow161; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 8192))). - assert pow163 = pow56 * pow162; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 65536))). - assert pow164 = pow56 * pow163; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 32768))). - assert pow165 = pow56 * pow164; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 65536))). - assert pow166 = pow56 * pow165; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 16384))). - assert pow167 = pow56 * pow166; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 65536))). - assert pow168 = pow56 * pow167; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 32768))). - assert pow169 = pow56 * pow168; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 65536))). - assert pow170 = pow56 * pow169; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 4096))). - assert pow171 = pow56 * pow170; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 65536))). - assert pow172 = pow56 * pow171; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 32768))). - assert pow173 = pow56 * pow172; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 65536))). - assert pow174 = pow56 * pow173; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 16384))). - assert pow175 = pow56 * pow174; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 65536))). - assert pow176 = pow56 * pow175; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 32768))). - assert pow177 = pow56 * pow176; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 65536))). - assert pow178 = pow56 * pow177; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 8192))). - assert pow179 = pow56 * pow178; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 65536))). - assert pow180 = pow56 * pow179; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 32768))). - assert pow181 = pow56 * pow180; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 65536))). - assert pow182 = pow56 * pow181; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 16384))). - assert pow183 = pow56 * pow182; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 65536))). - assert pow184 = pow65 * pow183; // pow(trace_generator, (safe_div(global_values.trace_length, 512))). - assert pow185 = pow56 * pow184; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 65536))). - assert pow186 = pow56 * pow185; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 32768))). - assert pow187 = pow56 * pow186; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 65536))). - assert pow188 = pow56 * pow187; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 16384))). - assert pow189 = pow56 * pow188; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 65536))). - assert pow190 = pow56 * pow189; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 32768))). - assert pow191 = pow56 * pow190; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 65536))). - assert pow192 = pow56 * pow191; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 8192))). - assert pow193 = pow56 * pow192; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 65536))). - assert pow194 = pow56 * pow193; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 32768))). - assert pow195 = pow56 * pow194; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 65536))). - assert pow196 = pow56 * pow195; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 16384))). - assert pow197 = pow56 * pow196; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 65536))). - assert pow198 = pow56 * pow197; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 32768))). - assert pow199 = pow56 * pow198; // pow(trace_generator, (safe_div((safe_mult(143, global_values.trace_length)), 65536))). - assert pow200 = pow56 * pow199; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 4096))). - assert pow201 = pow56 * pow200; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 65536))). - assert pow202 = pow56 * pow201; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 32768))). - assert pow203 = pow56 * pow202; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 65536))). - assert pow204 = pow56 * pow203; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 16384))). - assert pow205 = pow56 * pow204; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 65536))). - assert pow206 = pow56 * pow205; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 32768))). - assert pow207 = pow56 * pow206; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 65536))). - assert pow208 = pow56 * pow207; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 8192))). - assert pow209 = pow56 * pow208; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 65536))). - assert pow210 = pow56 * pow209; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 32768))). - assert pow211 = pow56 * pow210; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 65536))). - assert pow212 = pow56 * pow211; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 16384))). - assert pow213 = pow56 * pow212; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 65536))). - assert pow214 = pow65 * pow213; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 2048))). - assert pow215 = pow56 * pow214; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 65536))). - assert pow216 = pow56 * pow215; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 32768))). - assert pow217 = pow56 * pow216; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 65536))). - assert pow218 = pow56 * pow217; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 16384))). - assert pow219 = pow56 * pow218; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 65536))). - assert pow220 = pow56 * pow219; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 32768))). - assert pow221 = pow56 * pow220; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 65536))). - assert pow222 = pow56 * pow221; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 8192))). - assert pow223 = pow56 * pow222; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 65536))). - assert pow224 = pow56 * pow223; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 32768))). - assert pow225 = pow56 * pow224; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 65536))). - assert pow226 = pow56 * pow225; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 16384))). - assert pow227 = pow56 * pow226; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 65536))). - assert pow228 = pow56 * pow227; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 32768))). - assert pow229 = pow56 * pow228; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 65536))). - assert pow230 = pow56 * pow229; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 4096))). - assert pow231 = pow56 * pow230; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 65536))). - assert pow232 = pow56 * pow231; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 32768))). - assert pow233 = pow56 * pow232; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 65536))). - assert pow234 = pow56 * pow233; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 16384))). - assert pow235 = pow56 * pow234; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 65536))). - assert pow236 = pow56 * pow235; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 32768))). - assert pow237 = pow56 * pow236; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 65536))). - assert pow238 = pow56 * pow237; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 8192))). - assert pow239 = pow56 * pow238; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 65536))). - assert pow240 = pow56 * pow239; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 32768))). - assert pow241 = pow56 * pow240; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 65536))). - assert pow242 = pow56 * pow241; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 16384))). - assert pow243 = pow56 * pow242; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 65536))). - assert pow244 = pow65 * pow243; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024))). - assert pow245 = pow56 * pow244; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 65536))). - assert pow246 = pow56 * pow245; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 32768))). - assert pow247 = pow56 * pow246; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 65536))). - assert pow248 = pow56 * pow247; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 16384))). - assert pow249 = pow56 * pow248; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 65536))). - assert pow250 = pow56 * pow249; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 32768))). - assert pow251 = pow56 * pow250; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 65536))). - assert pow252 = pow56 * pow251; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 8192))). - assert pow253 = pow56 * pow252; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 65536))). - assert pow254 = pow56 * pow253; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 32768))). - assert pow255 = pow56 * pow254; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 65536))). - assert pow256 = pow56 * pow255; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 16384))). - assert pow257 = pow56 * pow256; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 65536))). - assert pow258 = pow56 * pow257; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 32768))). - assert pow259 = pow56 * pow258; // pow(trace_generator, (safe_div((safe_mult(207, global_values.trace_length)), 65536))). - assert pow260 = pow56 * pow259; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 4096))). - assert pow261 = pow56 * pow260; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 65536))). - assert pow262 = pow56 * pow261; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 32768))). - assert pow263 = pow56 * pow262; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 65536))). - assert pow264 = pow56 * pow263; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 16384))). - assert pow265 = pow56 * pow264; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 65536))). - assert pow266 = pow56 * pow265; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 32768))). - assert pow267 = pow56 * pow266; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 65536))). - assert pow268 = pow56 * pow267; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 8192))). - assert pow269 = pow56 * pow268; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 65536))). - assert pow270 = pow56 * pow269; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 32768))). - assert pow271 = pow56 * pow270; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 65536))). - assert pow272 = pow56 * pow271; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 16384))). - assert pow273 = pow56 * pow272; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 65536))). - assert pow274 = pow65 * pow273; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 2048))). - assert pow275 = pow56 * pow274; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 65536))). - assert pow276 = pow56 * pow275; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 32768))). - assert pow277 = pow56 * pow276; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 65536))). - assert pow278 = pow56 * pow277; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 16384))). - assert pow279 = pow56 * pow278; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 65536))). - assert pow280 = pow56 * pow279; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 32768))). - assert pow281 = pow56 * pow280; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 65536))). - assert pow282 = pow56 * pow281; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 8192))). - assert pow283 = pow56 * pow282; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 65536))). - assert pow284 = pow56 * pow283; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 32768))). - assert pow285 = pow56 * pow284; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 65536))). - assert pow286 = pow56 * pow285; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 16384))). - assert pow287 = pow56 * pow286; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 65536))). - assert pow288 = pow56 * pow287; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 32768))). - assert pow289 = pow56 * pow288; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 65536))). - assert pow290 = pow56 * pow289; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 4096))). - assert pow291 = pow56 * pow290; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 65536))). - assert pow292 = pow56 * pow291; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 32768))). - assert pow293 = pow56 * pow292; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 65536))). - assert pow294 = pow56 * pow293; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 16384))). - assert pow295 = pow56 * pow294; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 65536))). - assert pow296 = pow56 * pow295; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 32768))). - assert pow297 = pow56 * pow296; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 65536))). - assert pow298 = pow56 * pow297; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 8192))). - assert pow299 = pow56 * pow298; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 65536))). - assert pow300 = pow56 * pow299; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 32768))). - assert pow301 = pow56 * pow300; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 65536))). - assert pow302 = pow56 * pow301; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 16384))). - assert pow303 = pow56 * pow302; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 65536))). - assert pow304 = pow65 * pow303; // pow(trace_generator, (safe_div(global_values.trace_length, 256))). - assert pow305 = pow56 * pow304; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 65536))). - assert pow306 = pow56 * pow305; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 32768))). - assert pow307 = pow56 * pow306; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 65536))). - assert pow308 = pow56 * pow307; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 16384))). - assert pow309 = pow56 * pow308; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 65536))). - assert pow310 = pow56 * pow309; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 32768))). - assert pow311 = pow56 * pow310; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 65536))). - assert pow312 = pow56 * pow311; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 8192))). - assert pow313 = pow56 * pow312; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 65536))). - assert pow314 = pow56 * pow313; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 32768))). - assert pow315 = pow56 * pow314; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 65536))). - assert pow316 = pow56 * pow315; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 16384))). - assert pow317 = pow56 * pow316; // pow(trace_generator, (safe_div((safe_mult(269, global_values.trace_length)), 65536))). - assert pow318 = pow56 * pow317; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 32768))). - assert pow319 = pow56 * pow318; // pow(trace_generator, (safe_div((safe_mult(271, global_values.trace_length)), 65536))). - assert pow320 = pow56 * pow319; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 4096))). - assert pow321 = pow56 * pow320; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 65536))). - assert pow322 = pow56 * pow321; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 32768))). - assert pow323 = pow56 * pow322; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 65536))). - assert pow324 = pow56 * pow323; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 16384))). - assert pow325 = pow56 * pow324; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 65536))). - assert pow326 = pow56 * pow325; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 32768))). - assert pow327 = pow56 * pow326; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 65536))). - assert pow328 = pow56 * pow327; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 8192))). - assert pow329 = pow56 * pow328; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 65536))). - assert pow330 = pow56 * pow329; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 32768))). - assert pow331 = pow56 * pow330; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 65536))). - assert pow332 = pow56 * pow331; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 16384))). - assert pow333 = pow56 * pow332; // pow(trace_generator, (safe_div((safe_mult(285, global_values.trace_length)), 65536))). - assert pow334 = pow65 * pow333; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 2048))). - assert pow335 = pow56 * pow334; // pow(trace_generator, (safe_div((safe_mult(289, global_values.trace_length)), 65536))). - assert pow336 = pow56 * pow335; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 32768))). - assert pow337 = pow56 * pow336; // pow(trace_generator, (safe_div((safe_mult(291, global_values.trace_length)), 65536))). - assert pow338 = pow56 * pow337; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 16384))). - assert pow339 = pow56 * pow338; // pow(trace_generator, (safe_div((safe_mult(293, global_values.trace_length)), 65536))). - assert pow340 = pow56 * pow339; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 32768))). - assert pow341 = pow56 * pow340; // pow(trace_generator, (safe_div((safe_mult(295, global_values.trace_length)), 65536))). - assert pow342 = pow56 * pow341; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 8192))). - assert pow343 = pow56 * pow342; // pow(trace_generator, (safe_div((safe_mult(297, global_values.trace_length)), 65536))). - assert pow344 = pow56 * pow343; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 32768))). - assert pow345 = pow56 * pow344; // pow(trace_generator, (safe_div((safe_mult(299, global_values.trace_length)), 65536))). - assert pow346 = pow56 * pow345; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 16384))). - assert pow347 = pow56 * pow346; // pow(trace_generator, (safe_div((safe_mult(301, global_values.trace_length)), 65536))). - assert pow348 = pow56 * pow347; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 32768))). - assert pow349 = pow56 * pow348; // pow(trace_generator, (safe_div((safe_mult(303, global_values.trace_length)), 65536))). - assert pow350 = pow56 * pow349; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 4096))). - assert pow351 = pow56 * pow350; // pow(trace_generator, (safe_div((safe_mult(305, global_values.trace_length)), 65536))). - assert pow352 = pow56 * pow351; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 32768))). - assert pow353 = pow56 * pow352; // pow(trace_generator, (safe_div((safe_mult(307, global_values.trace_length)), 65536))). - assert pow354 = pow56 * pow353; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 16384))). - assert pow355 = pow56 * pow354; // pow(trace_generator, (safe_div((safe_mult(309, global_values.trace_length)), 65536))). - assert pow356 = pow56 * pow355; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 32768))). - assert pow357 = pow56 * pow356; // pow(trace_generator, (safe_div((safe_mult(311, global_values.trace_length)), 65536))). - assert pow358 = pow56 * pow357; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 8192))). - assert pow359 = pow56 * pow358; // pow(trace_generator, (safe_div((safe_mult(313, global_values.trace_length)), 65536))). - assert pow360 = pow56 * pow359; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 32768))). - assert pow361 = pow56 * pow360; // pow(trace_generator, (safe_div((safe_mult(315, global_values.trace_length)), 65536))). - assert pow362 = pow56 * pow361; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 16384))). - assert pow363 = pow56 * pow362; // pow(trace_generator, (safe_div((safe_mult(317, global_values.trace_length)), 65536))). - assert pow364 = pow65 * pow363; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024))). - assert pow365 = pow56 * pow364; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 65536))). - assert pow366 = pow56 * pow365; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 32768))). - assert pow367 = pow56 * pow366; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 65536))). - assert pow368 = pow56 * pow367; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 16384))). - assert pow369 = pow56 * pow368; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 65536))). - assert pow370 = pow56 * pow369; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 32768))). - assert pow371 = pow56 * pow370; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 65536))). - assert pow372 = pow56 * pow371; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 8192))). - assert pow373 = pow56 * pow372; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 65536))). - assert pow374 = pow56 * pow373; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 32768))). - assert pow375 = pow56 * pow374; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 65536))). - assert pow376 = pow56 * pow375; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 16384))). - assert pow377 = pow56 * pow376; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 65536))). - assert pow378 = pow56 * pow377; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 32768))). - assert pow379 = pow56 * pow378; // pow(trace_generator, (safe_div((safe_mult(335, global_values.trace_length)), 65536))). - assert pow380 = pow56 * pow379; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 4096))). - assert pow381 = pow56 * pow380; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 65536))). - assert pow382 = pow56 * pow381; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 32768))). - assert pow383 = pow56 * pow382; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 65536))). - assert pow384 = pow56 * pow383; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 16384))). - assert pow385 = pow56 * pow384; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 65536))). - assert pow386 = pow56 * pow385; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 32768))). - assert pow387 = pow56 * pow386; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 65536))). - assert pow388 = pow56 * pow387; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 8192))). - assert pow389 = pow56 * pow388; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 65536))). - assert pow390 = pow56 * pow389; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 32768))). - assert pow391 = pow56 * pow390; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 65536))). - assert pow392 = pow56 * pow391; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 16384))). - assert pow393 = pow56 * pow392; // pow(trace_generator, (safe_div((safe_mult(349, global_values.trace_length)), 65536))). - assert pow394 = pow65 * pow393; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 2048))). - assert pow395 = pow56 * pow394; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 65536))). - assert pow396 = pow56 * pow395; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 32768))). - assert pow397 = pow56 * pow396; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 65536))). - assert pow398 = pow56 * pow397; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 16384))). - assert pow399 = pow56 * pow398; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 65536))). - assert pow400 = pow56 * pow399; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 32768))). - assert pow401 = pow56 * pow400; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 65536))). - assert pow402 = pow56 * pow401; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 8192))). - assert pow403 = pow56 * pow402; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 65536))). - assert pow404 = pow56 * pow403; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 32768))). - assert pow405 = pow56 * pow404; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 65536))). - assert pow406 = pow56 * pow405; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 16384))). - assert pow407 = pow56 * pow406; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 65536))). - assert pow408 = pow56 * pow407; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 32768))). - assert pow409 = pow56 * pow408; // pow(trace_generator, (safe_div((safe_mult(367, global_values.trace_length)), 65536))). - assert pow410 = pow56 * pow409; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 4096))). - assert pow411 = pow56 * pow410; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 65536))). - assert pow412 = pow56 * pow411; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 32768))). - assert pow413 = pow56 * pow412; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 65536))). - assert pow414 = pow56 * pow413; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 16384))). - assert pow415 = pow56 * pow414; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 65536))). - assert pow416 = pow56 * pow415; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 32768))). - assert pow417 = pow56 * pow416; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 65536))). - assert pow418 = pow56 * pow417; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 8192))). - assert pow419 = pow56 * pow418; // pow(trace_generator, (safe_div((safe_mult(377, global_values.trace_length)), 65536))). - assert pow420 = pow56 * pow419; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 32768))). - assert pow421 = pow56 * pow420; // pow(trace_generator, (safe_div((safe_mult(379, global_values.trace_length)), 65536))). - assert pow422 = pow56 * pow421; // pow(trace_generator, (safe_div((safe_mult(95, global_values.trace_length)), 16384))). - assert pow423 = pow56 * pow422; // pow(trace_generator, (safe_div((safe_mult(381, global_values.trace_length)), 65536))). - assert pow424 = pow65 * pow423; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512))). - assert pow425 = pow56 * pow424; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 65536))). - assert pow426 = pow56 * pow425; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 32768))). - assert pow427 = pow56 * pow426; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 65536))). - assert pow428 = pow56 * pow427; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 16384))). - assert pow429 = pow56 * pow428; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 65536))). - assert pow430 = pow56 * pow429; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 32768))). - assert pow431 = pow56 * pow430; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 65536))). - assert pow432 = pow56 * pow431; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 8192))). - assert pow433 = pow56 * pow432; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 65536))). - assert pow434 = pow56 * pow433; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 32768))). - assert pow435 = pow56 * pow434; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 65536))). - assert pow436 = pow56 * pow435; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 16384))). - assert pow437 = pow56 * pow436; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 65536))). - assert pow438 = pow56 * pow437; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 32768))). - assert pow439 = pow56 * pow438; // pow(trace_generator, (safe_div((safe_mult(399, global_values.trace_length)), 65536))). - assert pow440 = pow56 * pow439; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 4096))). - assert pow441 = pow56 * pow440; // pow(trace_generator, (safe_div((safe_mult(401, global_values.trace_length)), 65536))). - assert pow442 = pow56 * pow441; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 32768))). - assert pow443 = pow56 * pow442; // pow(trace_generator, (safe_div((safe_mult(403, global_values.trace_length)), 65536))). - assert pow444 = pow56 * pow443; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 16384))). - assert pow445 = pow56 * pow444; // pow(trace_generator, (safe_div((safe_mult(405, global_values.trace_length)), 65536))). - assert pow446 = pow56 * pow445; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 32768))). - assert pow447 = pow56 * pow446; // pow(trace_generator, (safe_div((safe_mult(407, global_values.trace_length)), 65536))). - assert pow448 = pow56 * pow447; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 8192))). - assert pow449 = pow56 * pow448; // pow(trace_generator, (safe_div((safe_mult(409, global_values.trace_length)), 65536))). - assert pow450 = pow56 * pow449; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 32768))). - assert pow451 = pow56 * pow450; // pow(trace_generator, (safe_div((safe_mult(411, global_values.trace_length)), 65536))). - assert pow452 = pow56 * pow451; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 16384))). - assert pow453 = pow56 * pow452; // pow(trace_generator, (safe_div((safe_mult(413, global_values.trace_length)), 65536))). - assert pow454 = pow65 * pow453; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 2048))). - assert pow455 = pow56 * pow454; // pow(trace_generator, (safe_div((safe_mult(417, global_values.trace_length)), 65536))). - assert pow456 = pow56 * pow455; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 32768))). - assert pow457 = pow56 * pow456; // pow(trace_generator, (safe_div((safe_mult(419, global_values.trace_length)), 65536))). - assert pow458 = pow56 * pow457; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 16384))). - assert pow459 = pow56 * pow458; // pow(trace_generator, (safe_div((safe_mult(421, global_values.trace_length)), 65536))). - assert pow460 = pow56 * pow459; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 32768))). - assert pow461 = pow56 * pow460; // pow(trace_generator, (safe_div((safe_mult(423, global_values.trace_length)), 65536))). - assert pow462 = pow56 * pow461; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 8192))). - assert pow463 = pow56 * pow462; // pow(trace_generator, (safe_div((safe_mult(425, global_values.trace_length)), 65536))). - assert pow464 = pow56 * pow463; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 32768))). - assert pow465 = pow56 * pow464; // pow(trace_generator, (safe_div((safe_mult(427, global_values.trace_length)), 65536))). - assert pow466 = pow56 * pow465; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 16384))). - assert pow467 = pow56 * pow466; // pow(trace_generator, (safe_div((safe_mult(429, global_values.trace_length)), 65536))). - assert pow468 = pow56 * pow467; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 32768))). - assert pow469 = pow56 * pow468; // pow(trace_generator, (safe_div((safe_mult(431, global_values.trace_length)), 65536))). - assert pow470 = pow56 * pow469; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 4096))). - assert pow471 = pow56 * pow470; // pow(trace_generator, (safe_div((safe_mult(433, global_values.trace_length)), 65536))). - assert pow472 = pow56 * pow471; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 32768))). - assert pow473 = pow56 * pow472; // pow(trace_generator, (safe_div((safe_mult(435, global_values.trace_length)), 65536))). - assert pow474 = pow56 * pow473; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 16384))). - assert pow475 = pow56 * pow474; // pow(trace_generator, (safe_div((safe_mult(437, global_values.trace_length)), 65536))). - assert pow476 = pow56 * pow475; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 32768))). - assert pow477 = pow56 * pow476; // pow(trace_generator, (safe_div((safe_mult(439, global_values.trace_length)), 65536))). - assert pow478 = pow56 * pow477; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 8192))). - assert pow479 = pow56 * pow478; // pow(trace_generator, (safe_div((safe_mult(441, global_values.trace_length)), 65536))). - assert pow480 = pow56 * pow479; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 32768))). - assert pow481 = pow56 * pow480; // pow(trace_generator, (safe_div((safe_mult(443, global_values.trace_length)), 65536))). - assert pow482 = pow56 * pow481; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 16384))). - assert pow483 = pow56 * pow482; // pow(trace_generator, (safe_div((safe_mult(445, global_values.trace_length)), 65536))). - assert pow484 = pow65 * pow483; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024))). - assert pow485 = pow56 * pow484; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 65536))). - assert pow486 = pow56 * pow485; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 32768))). - assert pow487 = pow56 * pow486; // pow(trace_generator, (safe_div((safe_mult(451, global_values.trace_length)), 65536))). - assert pow488 = pow56 * pow487; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 16384))). - assert pow489 = pow56 * pow488; // pow(trace_generator, (safe_div((safe_mult(453, global_values.trace_length)), 65536))). - assert pow490 = pow56 * pow489; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 32768))). - assert pow491 = pow56 * pow490; // pow(trace_generator, (safe_div((safe_mult(455, global_values.trace_length)), 65536))). - assert pow492 = pow56 * pow491; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 8192))). - assert pow493 = pow56 * pow492; // pow(trace_generator, (safe_div((safe_mult(457, global_values.trace_length)), 65536))). - assert pow494 = pow56 * pow493; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 32768))). - assert pow495 = pow56 * pow494; // pow(trace_generator, (safe_div((safe_mult(459, global_values.trace_length)), 65536))). - assert pow496 = pow56 * pow495; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 16384))). - assert pow497 = pow56 * pow496; // pow(trace_generator, (safe_div((safe_mult(461, global_values.trace_length)), 65536))). - assert pow498 = pow56 * pow497; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 32768))). - assert pow499 = pow56 * pow498; // pow(trace_generator, (safe_div((safe_mult(463, global_values.trace_length)), 65536))). - assert pow500 = pow56 * pow499; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 4096))). - assert pow501 = pow56 * pow500; // pow(trace_generator, (safe_div((safe_mult(465, global_values.trace_length)), 65536))). - assert pow502 = pow56 * pow501; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 32768))). - assert pow503 = pow56 * pow502; // pow(trace_generator, (safe_div((safe_mult(467, global_values.trace_length)), 65536))). - assert pow504 = pow56 * pow503; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 16384))). - assert pow505 = pow56 * pow504; // pow(trace_generator, (safe_div((safe_mult(469, global_values.trace_length)), 65536))). - assert pow506 = pow56 * pow505; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 32768))). - assert pow507 = pow56 * pow506; // pow(trace_generator, (safe_div((safe_mult(471, global_values.trace_length)), 65536))). - assert pow508 = pow56 * pow507; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 8192))). - assert pow509 = pow56 * pow508; // pow(trace_generator, (safe_div((safe_mult(473, global_values.trace_length)), 65536))). - assert pow510 = pow56 * pow509; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 32768))). - assert pow511 = pow56 * pow510; // pow(trace_generator, (safe_div((safe_mult(475, global_values.trace_length)), 65536))). - assert pow512 = pow56 * pow511; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 16384))). - assert pow513 = pow56 * pow512; // pow(trace_generator, (safe_div((safe_mult(477, global_values.trace_length)), 65536))). - assert pow514 = pow65 * pow513; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 2048))). - assert pow515 = pow56 * pow514; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 65536))). - assert pow516 = pow56 * pow515; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 32768))). - assert pow517 = pow56 * pow516; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 65536))). - assert pow518 = pow56 * pow517; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 16384))). - assert pow519 = pow56 * pow518; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 65536))). - assert pow520 = pow56 * pow519; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 32768))). - assert pow521 = pow56 * pow520; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 65536))). - assert pow522 = pow56 * pow521; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 8192))). - assert pow523 = pow56 * pow522; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 65536))). - assert pow524 = pow56 * pow523; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 32768))). - assert pow525 = pow56 * pow524; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 65536))). - assert pow526 = pow56 * pow525; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 16384))). - assert pow527 = pow56 * pow526; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 65536))). - assert pow528 = pow56 * pow527; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 32768))). - assert pow529 = pow56 * pow528; // pow(trace_generator, (safe_div((safe_mult(495, global_values.trace_length)), 65536))). - assert pow530 = pow56 * pow529; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 4096))). - assert pow531 = pow56 * pow530; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 65536))). - assert pow532 = pow56 * pow531; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 32768))). - assert pow533 = pow56 * pow532; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 65536))). - assert pow534 = pow56 * pow533; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 16384))). - assert pow535 = pow56 * pow534; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 65536))). - assert pow536 = pow56 * pow535; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 32768))). - assert pow537 = pow56 * pow536; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 65536))). - assert pow538 = pow56 * pow537; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 8192))). - assert pow539 = pow56 * pow538; // pow(trace_generator, (safe_div((safe_mult(505, global_values.trace_length)), 65536))). - assert pow540 = pow56 * pow539; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 32768))). - assert pow541 = pow56 * pow540; // pow(trace_generator, (safe_div((safe_mult(507, global_values.trace_length)), 65536))). - assert pow542 = pow56 * pow541; // pow(trace_generator, (safe_div((safe_mult(127, global_values.trace_length)), 16384))). - assert pow543 = pow56 * pow542; // pow(trace_generator, (safe_div((safe_mult(509, global_values.trace_length)), 65536))). - assert pow544 = pow65 * pow543; // pow(trace_generator, (safe_div(global_values.trace_length, 128))). - assert pow545 = pow56 * pow544; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 65536))). - assert pow546 = pow56 * pow545; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 32768))). - assert pow547 = pow56 * pow546; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 65536))). - assert pow548 = pow56 * pow547; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 16384))). - assert pow549 = pow56 * pow548; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 65536))). - assert pow550 = pow56 * pow549; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 32768))). - assert pow551 = pow56 * pow550; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 65536))). - assert pow552 = pow56 * pow551; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 8192))). - assert pow553 = pow56 * pow552; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 65536))). - assert pow554 = pow56 * pow553; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 32768))). - assert pow555 = pow56 * pow554; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 65536))). - assert pow556 = pow56 * pow555; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 16384))). - assert pow557 = pow56 * pow556; // pow(trace_generator, (safe_div((safe_mult(525, global_values.trace_length)), 65536))). - assert pow558 = pow56 * pow557; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 32768))). - assert pow559 = pow56 * pow558; // pow(trace_generator, (safe_div((safe_mult(527, global_values.trace_length)), 65536))). - assert pow560 = pow56 * pow559; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 4096))). - assert pow561 = pow56 * pow560; // pow(trace_generator, (safe_div((safe_mult(529, global_values.trace_length)), 65536))). - assert pow562 = pow56 * pow561; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 32768))). - assert pow563 = pow56 * pow562; // pow(trace_generator, (safe_div((safe_mult(531, global_values.trace_length)), 65536))). - assert pow564 = pow56 * pow563; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 16384))). - assert pow565 = pow56 * pow564; // pow(trace_generator, (safe_div((safe_mult(533, global_values.trace_length)), 65536))). - assert pow566 = pow56 * pow565; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 32768))). - assert pow567 = pow56 * pow566; // pow(trace_generator, (safe_div((safe_mult(535, global_values.trace_length)), 65536))). - assert pow568 = pow56 * pow567; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 8192))). - assert pow569 = pow56 * pow568; // pow(trace_generator, (safe_div((safe_mult(537, global_values.trace_length)), 65536))). - assert pow570 = pow56 * pow569; // pow(trace_generator, (safe_div((safe_mult(269, global_values.trace_length)), 32768))). - assert pow571 = pow56 * pow570; // pow(trace_generator, (safe_div((safe_mult(539, global_values.trace_length)), 65536))). - assert pow572 = pow56 * pow571; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 16384))). - assert pow573 = pow56 * pow572; // pow(trace_generator, (safe_div((safe_mult(541, global_values.trace_length)), 65536))). - assert pow574 = pow65 * pow573; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 2048))). - assert pow575 = pow56 * pow574; // pow(trace_generator, (safe_div((safe_mult(545, global_values.trace_length)), 65536))). - assert pow576 = pow56 * pow575; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 32768))). - assert pow577 = pow56 * pow576; // pow(trace_generator, (safe_div((safe_mult(547, global_values.trace_length)), 65536))). - assert pow578 = pow56 * pow577; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 16384))). - assert pow579 = pow56 * pow578; // pow(trace_generator, (safe_div((safe_mult(549, global_values.trace_length)), 65536))). - assert pow580 = pow56 * pow579; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 32768))). - assert pow581 = pow56 * pow580; // pow(trace_generator, (safe_div((safe_mult(551, global_values.trace_length)), 65536))). - assert pow582 = pow56 * pow581; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 8192))). - assert pow583 = pow56 * pow582; // pow(trace_generator, (safe_div((safe_mult(553, global_values.trace_length)), 65536))). - assert pow584 = pow56 * pow583; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 32768))). - assert pow585 = pow56 * pow584; // pow(trace_generator, (safe_div((safe_mult(555, global_values.trace_length)), 65536))). - assert pow586 = pow56 * pow585; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 16384))). - assert pow587 = pow56 * pow586; // pow(trace_generator, (safe_div((safe_mult(557, global_values.trace_length)), 65536))). - assert pow588 = pow56 * pow587; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 32768))). - assert pow589 = pow56 * pow588; // pow(trace_generator, (safe_div((safe_mult(559, global_values.trace_length)), 65536))). - assert pow590 = pow56 * pow589; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 4096))). - assert pow591 = pow56 * pow590; // pow(trace_generator, (safe_div((safe_mult(561, global_values.trace_length)), 65536))). - assert pow592 = pow56 * pow591; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 32768))). - assert pow593 = pow56 * pow592; // pow(trace_generator, (safe_div((safe_mult(563, global_values.trace_length)), 65536))). - assert pow594 = pow56 * pow593; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 16384))). - assert pow595 = pow56 * pow594; // pow(trace_generator, (safe_div((safe_mult(565, global_values.trace_length)), 65536))). - assert pow596 = pow56 * pow595; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 32768))). - assert pow597 = pow56 * pow596; // pow(trace_generator, (safe_div((safe_mult(567, global_values.trace_length)), 65536))). - assert pow598 = pow56 * pow597; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 8192))). - assert pow599 = pow56 * pow598; // pow(trace_generator, (safe_div((safe_mult(569, global_values.trace_length)), 65536))). - assert pow600 = pow56 * pow599; // pow(trace_generator, (safe_div((safe_mult(285, global_values.trace_length)), 32768))). - assert pow601 = pow56 * pow600; // pow(trace_generator, (safe_div((safe_mult(571, global_values.trace_length)), 65536))). - assert pow602 = pow56 * pow601; // pow(trace_generator, (safe_div((safe_mult(143, global_values.trace_length)), 16384))). - assert pow603 = pow56 * pow602; // pow(trace_generator, (safe_div((safe_mult(573, global_values.trace_length)), 65536))). - assert pow604 = pow65 * pow603; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024))). - assert pow605 = pow56 * pow604; // pow(trace_generator, (safe_div((safe_mult(577, global_values.trace_length)), 65536))). - assert pow606 = pow56 * pow605; // pow(trace_generator, (safe_div((safe_mult(289, global_values.trace_length)), 32768))). - assert pow607 = pow56 * pow606; // pow(trace_generator, (safe_div((safe_mult(579, global_values.trace_length)), 65536))). - assert pow608 = pow56 * pow607; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 16384))). - assert pow609 = pow56 * pow608; // pow(trace_generator, (safe_div((safe_mult(581, global_values.trace_length)), 65536))). - assert pow610 = pow56 * pow609; // pow(trace_generator, (safe_div((safe_mult(291, global_values.trace_length)), 32768))). - assert pow611 = pow56 * pow610; // pow(trace_generator, (safe_div((safe_mult(583, global_values.trace_length)), 65536))). - assert pow612 = pow56 * pow611; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 8192))). - assert pow613 = pow56 * pow612; // pow(trace_generator, (safe_div((safe_mult(585, global_values.trace_length)), 65536))). - assert pow614 = pow56 * pow613; // pow(trace_generator, (safe_div((safe_mult(293, global_values.trace_length)), 32768))). - assert pow615 = pow56 * pow614; // pow(trace_generator, (safe_div((safe_mult(587, global_values.trace_length)), 65536))). - assert pow616 = pow56 * pow615; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 16384))). - assert pow617 = pow56 * pow616; // pow(trace_generator, (safe_div((safe_mult(589, global_values.trace_length)), 65536))). - assert pow618 = pow56 * pow617; // pow(trace_generator, (safe_div((safe_mult(295, global_values.trace_length)), 32768))). - assert pow619 = pow56 * pow618; // pow(trace_generator, (safe_div((safe_mult(591, global_values.trace_length)), 65536))). - assert pow620 = pow56 * pow619; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 4096))). - assert pow621 = pow56 * pow620; // pow(trace_generator, (safe_div((safe_mult(593, global_values.trace_length)), 65536))). - assert pow622 = pow56 * pow621; // pow(trace_generator, (safe_div((safe_mult(297, global_values.trace_length)), 32768))). - assert pow623 = pow56 * pow622; // pow(trace_generator, (safe_div((safe_mult(595, global_values.trace_length)), 65536))). - assert pow624 = pow56 * pow623; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 16384))). - assert pow625 = pow56 * pow624; // pow(trace_generator, (safe_div((safe_mult(597, global_values.trace_length)), 65536))). - assert pow626 = pow56 * pow625; // pow(trace_generator, (safe_div((safe_mult(299, global_values.trace_length)), 32768))). - assert pow627 = pow56 * pow626; // pow(trace_generator, (safe_div((safe_mult(599, global_values.trace_length)), 65536))). - assert pow628 = pow56 * pow627; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 8192))). - assert pow629 = pow56 * pow628; // pow(trace_generator, (safe_div((safe_mult(601, global_values.trace_length)), 65536))). - assert pow630 = pow56 * pow629; // pow(trace_generator, (safe_div((safe_mult(301, global_values.trace_length)), 32768))). - assert pow631 = pow56 * pow630; // pow(trace_generator, (safe_div((safe_mult(603, global_values.trace_length)), 65536))). - assert pow632 = pow56 * pow631; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 16384))). - assert pow633 = pow56 * pow632; // pow(trace_generator, (safe_div((safe_mult(605, global_values.trace_length)), 65536))). - assert pow634 = pow65 * pow633; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 2048))). - assert pow635 = pow56 * pow634; // pow(trace_generator, (safe_div((safe_mult(609, global_values.trace_length)), 65536))). - assert pow636 = pow56 * pow635; // pow(trace_generator, (safe_div((safe_mult(305, global_values.trace_length)), 32768))). - assert pow637 = pow56 * pow636; // pow(trace_generator, (safe_div((safe_mult(611, global_values.trace_length)), 65536))). - assert pow638 = pow56 * pow637; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 16384))). - assert pow639 = pow56 * pow638; // pow(trace_generator, (safe_div((safe_mult(613, global_values.trace_length)), 65536))). - assert pow640 = pow56 * pow639; // pow(trace_generator, (safe_div((safe_mult(307, global_values.trace_length)), 32768))). - assert pow641 = pow56 * pow640; // pow(trace_generator, (safe_div((safe_mult(615, global_values.trace_length)), 65536))). - assert pow642 = pow56 * pow641; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 8192))). - assert pow643 = pow56 * pow642; // pow(trace_generator, (safe_div((safe_mult(617, global_values.trace_length)), 65536))). - assert pow644 = pow56 * pow643; // pow(trace_generator, (safe_div((safe_mult(309, global_values.trace_length)), 32768))). - assert pow645 = pow56 * pow644; // pow(trace_generator, (safe_div((safe_mult(619, global_values.trace_length)), 65536))). - assert pow646 = pow56 * pow645; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 16384))). - assert pow647 = pow56 * pow646; // pow(trace_generator, (safe_div((safe_mult(621, global_values.trace_length)), 65536))). - assert pow648 = pow56 * pow647; // pow(trace_generator, (safe_div((safe_mult(311, global_values.trace_length)), 32768))). - assert pow649 = pow56 * pow648; // pow(trace_generator, (safe_div((safe_mult(623, global_values.trace_length)), 65536))). - assert pow650 = pow56 * pow649; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 4096))). - assert pow651 = pow56 * pow650; // pow(trace_generator, (safe_div((safe_mult(625, global_values.trace_length)), 65536))). - assert pow652 = pow56 * pow651; // pow(trace_generator, (safe_div((safe_mult(313, global_values.trace_length)), 32768))). - assert pow653 = pow56 * pow652; // pow(trace_generator, (safe_div((safe_mult(627, global_values.trace_length)), 65536))). - assert pow654 = pow56 * pow653; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 16384))). - assert pow655 = pow56 * pow654; // pow(trace_generator, (safe_div((safe_mult(629, global_values.trace_length)), 65536))). - assert pow656 = pow56 * pow655; // pow(trace_generator, (safe_div((safe_mult(315, global_values.trace_length)), 32768))). - assert pow657 = pow56 * pow656; // pow(trace_generator, (safe_div((safe_mult(631, global_values.trace_length)), 65536))). - assert pow658 = pow56 * pow657; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 8192))). - assert pow659 = pow56 * pow658; // pow(trace_generator, (safe_div((safe_mult(633, global_values.trace_length)), 65536))). - assert pow660 = pow56 * pow659; // pow(trace_generator, (safe_div((safe_mult(317, global_values.trace_length)), 32768))). - assert pow661 = pow56 * pow660; // pow(trace_generator, (safe_div((safe_mult(635, global_values.trace_length)), 65536))). - assert pow662 = pow56 * pow661; // pow(trace_generator, (safe_div((safe_mult(159, global_values.trace_length)), 16384))). - assert pow663 = pow56 * pow662; // pow(trace_generator, (safe_div((safe_mult(637, global_values.trace_length)), 65536))). - assert pow664 = pow65 * pow663; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512))). - assert pow665 = pow56 * pow664; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 65536))). - assert pow666 = pow56 * pow665; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 32768))). - assert pow667 = pow56 * pow666; // pow(trace_generator, (safe_div((safe_mult(643, global_values.trace_length)), 65536))). - assert pow668 = pow56 * pow667; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 16384))). - assert pow669 = pow56 * pow668; // pow(trace_generator, (safe_div((safe_mult(645, global_values.trace_length)), 65536))). - assert pow670 = pow56 * pow669; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 32768))). - assert pow671 = pow56 * pow670; // pow(trace_generator, (safe_div((safe_mult(647, global_values.trace_length)), 65536))). - assert pow672 = pow56 * pow671; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 8192))). - assert pow673 = pow56 * pow672; // pow(trace_generator, (safe_div((safe_mult(649, global_values.trace_length)), 65536))). - assert pow674 = pow56 * pow673; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 32768))). - assert pow675 = pow56 * pow674; // pow(trace_generator, (safe_div((safe_mult(651, global_values.trace_length)), 65536))). - assert pow676 = pow56 * pow675; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 16384))). - assert pow677 = pow56 * pow676; // pow(trace_generator, (safe_div((safe_mult(653, global_values.trace_length)), 65536))). - assert pow678 = pow56 * pow677; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 32768))). - assert pow679 = pow56 * pow678; // pow(trace_generator, (safe_div((safe_mult(655, global_values.trace_length)), 65536))). - assert pow680 = pow56 * pow679; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 4096))). - assert pow681 = pow56 * pow680; // pow(trace_generator, (safe_div((safe_mult(657, global_values.trace_length)), 65536))). - assert pow682 = pow56 * pow681; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 32768))). - assert pow683 = pow56 * pow682; // pow(trace_generator, (safe_div((safe_mult(659, global_values.trace_length)), 65536))). - assert pow684 = pow56 * pow683; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 16384))). - assert pow685 = pow56 * pow684; // pow(trace_generator, (safe_div((safe_mult(661, global_values.trace_length)), 65536))). - assert pow686 = pow56 * pow685; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 32768))). - assert pow687 = pow56 * pow686; // pow(trace_generator, (safe_div((safe_mult(663, global_values.trace_length)), 65536))). - assert pow688 = pow56 * pow687; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 8192))). - assert pow689 = pow56 * pow688; // pow(trace_generator, (safe_div((safe_mult(665, global_values.trace_length)), 65536))). - assert pow690 = pow56 * pow689; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 32768))). - assert pow691 = pow56 * pow690; // pow(trace_generator, (safe_div((safe_mult(667, global_values.trace_length)), 65536))). - assert pow692 = pow56 * pow691; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 16384))). - assert pow693 = pow56 * pow692; // pow(trace_generator, (safe_div((safe_mult(669, global_values.trace_length)), 65536))). - assert pow694 = pow65 * pow693; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 2048))). - assert pow695 = pow56 * pow694; // pow(trace_generator, (safe_div((safe_mult(673, global_values.trace_length)), 65536))). - assert pow696 = pow56 * pow695; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 32768))). - assert pow697 = pow56 * pow696; // pow(trace_generator, (safe_div((safe_mult(675, global_values.trace_length)), 65536))). - assert pow698 = pow56 * pow697; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 16384))). - assert pow699 = pow56 * pow698; // pow(trace_generator, (safe_div((safe_mult(677, global_values.trace_length)), 65536))). - assert pow700 = pow56 * pow699; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 32768))). - assert pow701 = pow56 * pow700; // pow(trace_generator, (safe_div((safe_mult(679, global_values.trace_length)), 65536))). - assert pow702 = pow56 * pow701; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 8192))). - assert pow703 = pow56 * pow702; // pow(trace_generator, (safe_div((safe_mult(681, global_values.trace_length)), 65536))). - assert pow704 = pow56 * pow703; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 32768))). - assert pow705 = pow56 * pow704; // pow(trace_generator, (safe_div((safe_mult(683, global_values.trace_length)), 65536))). - assert pow706 = pow56 * pow705; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 16384))). - assert pow707 = pow56 * pow706; // pow(trace_generator, (safe_div((safe_mult(685, global_values.trace_length)), 65536))). - assert pow708 = pow56 * pow707; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 32768))). - assert pow709 = pow56 * pow708; // pow(trace_generator, (safe_div((safe_mult(687, global_values.trace_length)), 65536))). - assert pow710 = pow56 * pow709; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 4096))). - assert pow711 = pow56 * pow710; // pow(trace_generator, (safe_div((safe_mult(689, global_values.trace_length)), 65536))). - assert pow712 = pow56 * pow711; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 32768))). - assert pow713 = pow56 * pow712; // pow(trace_generator, (safe_div((safe_mult(691, global_values.trace_length)), 65536))). - assert pow714 = pow56 * pow713; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 16384))). - assert pow715 = pow56 * pow714; // pow(trace_generator, (safe_div((safe_mult(693, global_values.trace_length)), 65536))). - assert pow716 = pow56 * pow715; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 32768))). - assert pow717 = pow56 * pow716; // pow(trace_generator, (safe_div((safe_mult(695, global_values.trace_length)), 65536))). - assert pow718 = pow56 * pow717; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 8192))). - assert pow719 = pow56 * pow718; // pow(trace_generator, (safe_div((safe_mult(697, global_values.trace_length)), 65536))). - assert pow720 = pow56 * pow719; // pow(trace_generator, (safe_div((safe_mult(349, global_values.trace_length)), 32768))). - assert pow721 = pow56 * pow720; // pow(trace_generator, (safe_div((safe_mult(699, global_values.trace_length)), 65536))). - assert pow722 = pow56 * pow721; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 16384))). - assert pow723 = pow56 * pow722; // pow(trace_generator, (safe_div((safe_mult(701, global_values.trace_length)), 65536))). - assert pow724 = pow65 * pow723; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024))). - assert pow725 = pow56 * pow724; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 65536))). - assert pow726 = pow56 * pow725; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 32768))). - assert pow727 = pow56 * pow726; // pow(trace_generator, (safe_div((safe_mult(707, global_values.trace_length)), 65536))). - assert pow728 = pow56 * pow727; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 16384))). - assert pow729 = pow56 * pow728; // pow(trace_generator, (safe_div((safe_mult(709, global_values.trace_length)), 65536))). - assert pow730 = pow56 * pow729; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 32768))). - assert pow731 = pow56 * pow730; // pow(trace_generator, (safe_div((safe_mult(711, global_values.trace_length)), 65536))). - assert pow732 = pow56 * pow731; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 8192))). - assert pow733 = pow56 * pow732; // pow(trace_generator, (safe_div((safe_mult(713, global_values.trace_length)), 65536))). - assert pow734 = pow56 * pow733; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 32768))). - assert pow735 = pow56 * pow734; // pow(trace_generator, (safe_div((safe_mult(715, global_values.trace_length)), 65536))). - assert pow736 = pow56 * pow735; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 16384))). - assert pow737 = pow56 * pow736; // pow(trace_generator, (safe_div((safe_mult(717, global_values.trace_length)), 65536))). - assert pow738 = pow56 * pow737; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 32768))). - assert pow739 = pow56 * pow738; // pow(trace_generator, (safe_div((safe_mult(719, global_values.trace_length)), 65536))). - assert pow740 = pow56 * pow739; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 4096))). - assert pow741 = pow56 * pow740; // pow(trace_generator, (safe_div((safe_mult(721, global_values.trace_length)), 65536))). - assert pow742 = pow56 * pow741; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 32768))). - assert pow743 = pow56 * pow742; // pow(trace_generator, (safe_div((safe_mult(723, global_values.trace_length)), 65536))). - assert pow744 = pow56 * pow743; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 16384))). - assert pow745 = pow56 * pow744; // pow(trace_generator, (safe_div((safe_mult(725, global_values.trace_length)), 65536))). - assert pow746 = pow56 * pow745; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 32768))). - assert pow747 = pow56 * pow746; // pow(trace_generator, (safe_div((safe_mult(727, global_values.trace_length)), 65536))). - assert pow748 = pow56 * pow747; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 8192))). - assert pow749 = pow56 * pow748; // pow(trace_generator, (safe_div((safe_mult(729, global_values.trace_length)), 65536))). - assert pow750 = pow56 * pow749; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 32768))). - assert pow751 = pow56 * pow750; // pow(trace_generator, (safe_div((safe_mult(731, global_values.trace_length)), 65536))). - assert pow752 = pow56 * pow751; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 16384))). - assert pow753 = pow56 * pow752; // pow(trace_generator, (safe_div((safe_mult(733, global_values.trace_length)), 65536))). - assert pow754 = pow65 * pow753; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 2048))). - assert pow755 = pow56 * pow754; // pow(trace_generator, (safe_div((safe_mult(737, global_values.trace_length)), 65536))). - assert pow756 = pow56 * pow755; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 32768))). - assert pow757 = pow56 * pow756; // pow(trace_generator, (safe_div((safe_mult(739, global_values.trace_length)), 65536))). - assert pow758 = pow56 * pow757; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 16384))). - assert pow759 = pow56 * pow758; // pow(trace_generator, (safe_div((safe_mult(741, global_values.trace_length)), 65536))). - assert pow760 = pow56 * pow759; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 32768))). - assert pow761 = pow56 * pow760; // pow(trace_generator, (safe_div((safe_mult(743, global_values.trace_length)), 65536))). - assert pow762 = pow56 * pow761; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 8192))). - assert pow763 = pow56 * pow762; // pow(trace_generator, (safe_div((safe_mult(745, global_values.trace_length)), 65536))). - assert pow764 = pow56 * pow763; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 32768))). - assert pow765 = pow56 * pow764; // pow(trace_generator, (safe_div((safe_mult(747, global_values.trace_length)), 65536))). - assert pow766 = pow56 * pow765; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 16384))). - assert pow767 = pow56 * pow766; // pow(trace_generator, (safe_div((safe_mult(749, global_values.trace_length)), 65536))). - assert pow768 = pow56 * pow767; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 32768))). - assert pow769 = pow56 * pow768; // pow(trace_generator, (safe_div((safe_mult(751, global_values.trace_length)), 65536))). - assert pow770 = pow56 * pow769; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 4096))). - assert pow771 = pow56 * pow770; // pow(trace_generator, (safe_div((safe_mult(753, global_values.trace_length)), 65536))). - assert pow772 = pow56 * pow771; // pow(trace_generator, (safe_div((safe_mult(377, global_values.trace_length)), 32768))). - assert pow773 = pow56 * pow772; // pow(trace_generator, (safe_div((safe_mult(755, global_values.trace_length)), 65536))). - assert pow774 = pow56 * pow773; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 16384))). - assert pow775 = pow56 * pow774; // pow(trace_generator, (safe_div((safe_mult(757, global_values.trace_length)), 65536))). - assert pow776 = pow56 * pow775; // pow(trace_generator, (safe_div((safe_mult(379, global_values.trace_length)), 32768))). - assert pow777 = pow56 * pow776; // pow(trace_generator, (safe_div((safe_mult(759, global_values.trace_length)), 65536))). - assert pow778 = pow56 * pow777; // pow(trace_generator, (safe_div((safe_mult(95, global_values.trace_length)), 8192))). - assert pow779 = pow56 * pow778; // pow(trace_generator, (safe_div((safe_mult(761, global_values.trace_length)), 65536))). - assert pow780 = pow56 * pow779; // pow(trace_generator, (safe_div((safe_mult(381, global_values.trace_length)), 32768))). - assert pow781 = pow56 * pow780; // pow(trace_generator, (safe_div((safe_mult(763, global_values.trace_length)), 65536))). - assert pow782 = pow56 * pow781; // pow(trace_generator, (safe_div((safe_mult(191, global_values.trace_length)), 16384))). - assert pow783 = pow56 * pow782; // pow(trace_generator, (safe_div((safe_mult(765, global_values.trace_length)), 65536))). - assert pow784 = pow65 * pow783; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256))). - assert pow785 = pow56 * pow784; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 65536))). - assert pow786 = pow56 * pow785; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 32768))). - assert pow787 = pow56 * pow786; // pow(trace_generator, (safe_div((safe_mult(771, global_values.trace_length)), 65536))). - assert pow788 = pow56 * pow787; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 16384))). - assert pow789 = pow56 * pow788; // pow(trace_generator, (safe_div((safe_mult(773, global_values.trace_length)), 65536))). - assert pow790 = pow56 * pow789; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 32768))). - assert pow791 = pow56 * pow790; // pow(trace_generator, (safe_div((safe_mult(775, global_values.trace_length)), 65536))). - assert pow792 = pow56 * pow791; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 8192))). - assert pow793 = pow56 * pow792; // pow(trace_generator, (safe_div((safe_mult(777, global_values.trace_length)), 65536))). - assert pow794 = pow56 * pow793; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 32768))). - assert pow795 = pow56 * pow794; // pow(trace_generator, (safe_div((safe_mult(779, global_values.trace_length)), 65536))). - assert pow796 = pow56 * pow795; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 16384))). - assert pow797 = pow56 * pow796; // pow(trace_generator, (safe_div((safe_mult(781, global_values.trace_length)), 65536))). - assert pow798 = pow56 * pow797; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 32768))). - assert pow799 = pow56 * pow798; // pow(trace_generator, (safe_div((safe_mult(783, global_values.trace_length)), 65536))). - assert pow800 = pow56 * pow799; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 4096))). - assert pow801 = pow56 * pow800; // pow(trace_generator, (safe_div((safe_mult(785, global_values.trace_length)), 65536))). - assert pow802 = pow56 * pow801; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 32768))). - assert pow803 = pow56 * pow802; // pow(trace_generator, (safe_div((safe_mult(787, global_values.trace_length)), 65536))). - assert pow804 = pow56 * pow803; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 16384))). - assert pow805 = pow56 * pow804; // pow(trace_generator, (safe_div((safe_mult(789, global_values.trace_length)), 65536))). - assert pow806 = pow56 * pow805; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 32768))). - assert pow807 = pow56 * pow806; // pow(trace_generator, (safe_div((safe_mult(791, global_values.trace_length)), 65536))). - assert pow808 = pow56 * pow807; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 8192))). - assert pow809 = pow56 * pow808; // pow(trace_generator, (safe_div((safe_mult(793, global_values.trace_length)), 65536))). - assert pow810 = pow56 * pow809; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 32768))). - assert pow811 = pow56 * pow810; // pow(trace_generator, (safe_div((safe_mult(795, global_values.trace_length)), 65536))). - assert pow812 = pow56 * pow811; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 16384))). - assert pow813 = pow56 * pow812; // pow(trace_generator, (safe_div((safe_mult(797, global_values.trace_length)), 65536))). - assert pow814 = pow97 * pow813; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024))). - assert pow815 = pow124 * pow814; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512))). - assert pow816 = pow124 * pow815; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024))). - assert pow817 = pow124 * pow816; // pow(trace_generator, (safe_div(global_values.trace_length, 64))). - assert pow818 = pow56 * pow817; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 65536))). - assert pow819 = pow56 * pow818; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 32768))). - assert pow820 = pow56 * pow819; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 65536))). - assert pow821 = pow56 * pow820; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 16384))). - assert pow822 = pow56 * pow821; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 65536))). - assert pow823 = pow56 * pow822; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 32768))). - assert pow824 = pow56 * pow823; // pow(trace_generator, (safe_div((safe_mult(1031, global_values.trace_length)), 65536))). - assert pow825 = pow56 * pow824; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 8192))). - assert pow826 = pow56 * pow825; // pow(trace_generator, (safe_div((safe_mult(1033, global_values.trace_length)), 65536))). - assert pow827 = pow56 * pow826; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 32768))). - assert pow828 = pow56 * pow827; // pow(trace_generator, (safe_div((safe_mult(1035, global_values.trace_length)), 65536))). - assert pow829 = pow56 * pow828; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 16384))). - assert pow830 = pow56 * pow829; // pow(trace_generator, (safe_div((safe_mult(1037, global_values.trace_length)), 65536))). - assert pow831 = pow56 * pow830; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 32768))). - assert pow832 = pow56 * pow831; // pow(trace_generator, (safe_div((safe_mult(1039, global_values.trace_length)), 65536))). - assert pow833 = pow56 * pow832; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 4096))). - assert pow834 = pow56 * pow833; // pow(trace_generator, (safe_div((safe_mult(1041, global_values.trace_length)), 65536))). - assert pow835 = pow56 * pow834; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 32768))). - assert pow836 = pow56 * pow835; // pow(trace_generator, (safe_div((safe_mult(1043, global_values.trace_length)), 65536))). - assert pow837 = pow56 * pow836; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 16384))). - assert pow838 = pow56 * pow837; // pow(trace_generator, (safe_div((safe_mult(1045, global_values.trace_length)), 65536))). - assert pow839 = pow56 * pow838; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 32768))). - assert pow840 = pow56 * pow839; // pow(trace_generator, (safe_div((safe_mult(1047, global_values.trace_length)), 65536))). - assert pow841 = pow103 * pow840; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024))). - assert pow842 = pow124 * pow841; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512))). - assert pow843 = pow124 * pow842; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024))). - assert pow844 = pow124 * pow843; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256))). - assert pow845 = pow124 * pow844; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024))). - assert pow846 = pow124 * pow845; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512))). - assert pow847 = pow124 * pow846; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024))). - assert pow848 = pow604 * pow847; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). - assert pow849 = pow56 * pow848; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 65536))). - assert pow850 = pow56 * pow849; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 32768))). - assert pow851 = pow56 * pow850; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 65536))). - assert pow852 = pow56 * pow851; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 16384))). - assert pow853 = pow56 * pow852; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 65536))). - assert pow854 = pow56 * pow853; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 32768))). - assert pow855 = pow56 * pow854; // pow(trace_generator, (safe_div((safe_mult(2055, global_values.trace_length)), 65536))). - assert pow856 = pow56 * pow855; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 8192))). - assert pow857 = pow56 * pow856; // pow(trace_generator, (safe_div((safe_mult(2057, global_values.trace_length)), 65536))). - assert pow858 = pow56 * pow857; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 32768))). - assert pow859 = pow56 * pow858; // pow(trace_generator, (safe_div((safe_mult(2059, global_values.trace_length)), 65536))). - assert pow860 = pow56 * pow859; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 16384))). - assert pow861 = pow56 * pow860; // pow(trace_generator, (safe_div((safe_mult(2061, global_values.trace_length)), 65536))). - assert pow862 = pow56 * pow861; // pow(trace_generator, (safe_div((safe_mult(1031, global_values.trace_length)), 32768))). - assert pow863 = pow56 * pow862; // pow(trace_generator, (safe_div((safe_mult(2063, global_values.trace_length)), 65536))). - assert pow864 = pow56 * pow863; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 4096))). - assert pow865 = pow56 * pow864; // pow(trace_generator, (safe_div((safe_mult(2065, global_values.trace_length)), 65536))). - assert pow866 = pow56 * pow865; // pow(trace_generator, (safe_div((safe_mult(1033, global_values.trace_length)), 32768))). - assert pow867 = pow56 * pow866; // pow(trace_generator, (safe_div((safe_mult(2067, global_values.trace_length)), 65536))). - assert pow868 = pow56 * pow867; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 16384))). - assert pow869 = pow56 * pow868; // pow(trace_generator, (safe_div((safe_mult(2069, global_values.trace_length)), 65536))). - assert pow870 = pow56 * pow869; // pow(trace_generator, (safe_div((safe_mult(1035, global_values.trace_length)), 32768))). - assert pow871 = pow56 * pow870; // pow(trace_generator, (safe_div((safe_mult(2071, global_values.trace_length)), 65536))). - assert pow872 = pow103 * pow871; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow873 = pow124 * pow872; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div(global_values.trace_length, 32))). - assert pow874 = pow124 * pow873; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow875 = pow124 * pow874; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div(global_values.trace_length, 32))). - assert pow876 = pow124 * pow875; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow877 = pow124 * pow876; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). - assert pow878 = pow124 * pow877; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow879 = pow124 * pow878; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div(global_values.trace_length, 32))). - assert pow880 = pow124 * pow879; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow881 = pow124 * pow880; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). - assert pow882 = pow124 * pow881; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow883 = pow124 * pow882; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 32))). - assert pow884 = pow124 * pow883; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow885 = pow124 * pow884; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). - assert pow886 = pow124 * pow885; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow887 = pow124 * pow886; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div(global_values.trace_length, 32))). - assert pow888 = pow56 * pow887; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 65536))). - assert pow889 = pow56 * pow888; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 32768))). - assert pow890 = pow56 * pow889; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 65536))). - assert pow891 = pow56 * pow890; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 16384))). - assert pow892 = pow56 * pow891; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 65536))). - assert pow893 = pow56 * pow892; // pow(trace_generator, (safe_div((safe_mult(1539, global_values.trace_length)), 32768))). - assert pow894 = pow56 * pow893; // pow(trace_generator, (safe_div((safe_mult(3079, global_values.trace_length)), 65536))). - assert pow895 = pow56 * pow894; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 8192))). - assert pow896 = pow56 * pow895; // pow(trace_generator, (safe_div((safe_mult(3081, global_values.trace_length)), 65536))). - assert pow897 = pow56 * pow896; // pow(trace_generator, (safe_div((safe_mult(1541, global_values.trace_length)), 32768))). - assert pow898 = pow56 * pow897; // pow(trace_generator, (safe_div((safe_mult(3083, global_values.trace_length)), 65536))). - assert pow899 = pow56 * pow898; // pow(trace_generator, (safe_div((safe_mult(771, global_values.trace_length)), 16384))). - assert pow900 = pow56 * pow899; // pow(trace_generator, (safe_div((safe_mult(3085, global_values.trace_length)), 65536))). - assert pow901 = pow56 * pow900; // pow(trace_generator, (safe_div((safe_mult(1543, global_values.trace_length)), 32768))). - assert pow902 = pow56 * pow901; // pow(trace_generator, (safe_div((safe_mult(3087, global_values.trace_length)), 65536))). - assert pow903 = pow56 * pow902; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 4096))). - assert pow904 = pow56 * pow903; // pow(trace_generator, (safe_div((safe_mult(3089, global_values.trace_length)), 65536))). - assert pow905 = pow56 * pow904; // pow(trace_generator, (safe_div((safe_mult(1545, global_values.trace_length)), 32768))). - assert pow906 = pow56 * pow905; // pow(trace_generator, (safe_div((safe_mult(3091, global_values.trace_length)), 65536))). - assert pow907 = pow56 * pow906; // pow(trace_generator, (safe_div((safe_mult(773, global_values.trace_length)), 16384))). - assert pow908 = pow56 * pow907; // pow(trace_generator, (safe_div((safe_mult(3093, global_values.trace_length)), 65536))). - assert pow909 = pow56 * pow908; // pow(trace_generator, (safe_div((safe_mult(1547, global_values.trace_length)), 32768))). - assert pow910 = pow56 * pow909; // pow(trace_generator, (safe_div((safe_mult(3095, global_values.trace_length)), 65536))). - assert pow911 = pow103 * pow910; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow912 = pow124 * pow911; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). - assert pow913 = pow124 * pow912; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow914 = pow124 * pow913; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 32))). - assert pow915 = pow124 * pow914; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow916 = pow124 * pow915; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). - assert pow917 = pow124 * pow916; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). - assert pow918 = pow604 * pow917; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). - assert pow919 = pow56 * pow918; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 65536))). - assert pow920 = pow56 * pow919; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 32768))). - assert pow921 = pow56 * pow920; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 65536))). - assert pow922 = pow56 * pow921; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 16384))). - assert pow923 = pow56 * pow922; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 65536))). - assert pow924 = pow56 * pow923; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 32768))). - assert pow925 = pow56 * pow924; // pow(trace_generator, (safe_div((safe_mult(4103, global_values.trace_length)), 65536))). - assert pow926 = pow56 * pow925; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 8192))). - assert pow927 = pow56 * pow926; // pow(trace_generator, (safe_div((safe_mult(4105, global_values.trace_length)), 65536))). - assert pow928 = pow56 * pow927; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 32768))). - assert pow929 = pow56 * pow928; // pow(trace_generator, (safe_div((safe_mult(4107, global_values.trace_length)), 65536))). - assert pow930 = pow56 * pow929; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 16384))). - assert pow931 = pow56 * pow930; // pow(trace_generator, (safe_div((safe_mult(4109, global_values.trace_length)), 65536))). - assert pow932 = pow56 * pow931; // pow(trace_generator, (safe_div((safe_mult(2055, global_values.trace_length)), 32768))). - assert pow933 = pow56 * pow932; // pow(trace_generator, (safe_div((safe_mult(4111, global_values.trace_length)), 65536))). - assert pow934 = pow56 * pow933; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 4096))). - assert pow935 = pow56 * pow934; // pow(trace_generator, (safe_div((safe_mult(4113, global_values.trace_length)), 65536))). - assert pow936 = pow56 * pow935; // pow(trace_generator, (safe_div((safe_mult(2057, global_values.trace_length)), 32768))). - assert pow937 = pow56 * pow936; // pow(trace_generator, (safe_div((safe_mult(4115, global_values.trace_length)), 65536))). - assert pow938 = pow56 * pow937; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 16384))). - assert pow939 = pow56 * pow938; // pow(trace_generator, (safe_div((safe_mult(4117, global_values.trace_length)), 65536))). - assert pow940 = pow56 * pow939; // pow(trace_generator, (safe_div((safe_mult(2059, global_values.trace_length)), 32768))). - assert pow941 = pow56 * pow940; // pow(trace_generator, (safe_div((safe_mult(4119, global_values.trace_length)), 65536))). - assert pow942 = pow103 * pow941; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow943 = pow124 * pow942; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div(global_values.trace_length, 16))). - assert pow944 = pow124 * pow943; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow945 = pow124 * pow944; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div(global_values.trace_length, 16))). - assert pow946 = pow124 * pow945; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow947 = pow124 * pow946; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). - assert pow948 = pow124 * pow947; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow949 = pow124 * pow948; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div(global_values.trace_length, 16))). - assert pow950 = pow124 * pow949; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow951 = pow124 * pow950; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). - assert pow952 = pow124 * pow951; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow953 = pow124 * pow952; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 16))). - assert pow954 = pow124 * pow953; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow955 = pow124 * pow954; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). - assert pow956 = pow124 * pow955; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow957 = pow124 * pow956; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div(global_values.trace_length, 16))). - assert pow958 = pow56 * pow957; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 65536))). - assert pow959 = pow56 * pow958; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 32768))). - assert pow960 = pow56 * pow959; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 65536))). - assert pow961 = pow56 * pow960; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 16384))). - assert pow962 = pow56 * pow961; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 65536))). - assert pow963 = pow56 * pow962; // pow(trace_generator, (safe_div((safe_mult(2563, global_values.trace_length)), 32768))). - assert pow964 = pow56 * pow963; // pow(trace_generator, (safe_div((safe_mult(5127, global_values.trace_length)), 65536))). - assert pow965 = pow56 * pow964; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 8192))). - assert pow966 = pow56 * pow965; // pow(trace_generator, (safe_div((safe_mult(5129, global_values.trace_length)), 65536))). - assert pow967 = pow56 * pow966; // pow(trace_generator, (safe_div((safe_mult(2565, global_values.trace_length)), 32768))). - assert pow968 = pow56 * pow967; // pow(trace_generator, (safe_div((safe_mult(5131, global_values.trace_length)), 65536))). - assert pow969 = pow56 * pow968; // pow(trace_generator, (safe_div((safe_mult(1283, global_values.trace_length)), 16384))). - assert pow970 = pow56 * pow969; // pow(trace_generator, (safe_div((safe_mult(5133, global_values.trace_length)), 65536))). - assert pow971 = pow56 * pow970; // pow(trace_generator, (safe_div((safe_mult(2567, global_values.trace_length)), 32768))). - assert pow972 = pow56 * pow971; // pow(trace_generator, (safe_div((safe_mult(5135, global_values.trace_length)), 65536))). - assert pow973 = pow56 * pow972; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 4096))). - assert pow974 = pow56 * pow973; // pow(trace_generator, (safe_div((safe_mult(5137, global_values.trace_length)), 65536))). - assert pow975 = pow56 * pow974; // pow(trace_generator, (safe_div((safe_mult(2569, global_values.trace_length)), 32768))). - assert pow976 = pow56 * pow975; // pow(trace_generator, (safe_div((safe_mult(5139, global_values.trace_length)), 65536))). - assert pow977 = pow56 * pow976; // pow(trace_generator, (safe_div((safe_mult(1285, global_values.trace_length)), 16384))). - assert pow978 = pow56 * pow977; // pow(trace_generator, (safe_div((safe_mult(5141, global_values.trace_length)), 65536))). - assert pow979 = pow56 * pow978; // pow(trace_generator, (safe_div((safe_mult(2571, global_values.trace_length)), 32768))). - assert pow980 = pow56 * pow979; // pow(trace_generator, (safe_div((safe_mult(5143, global_values.trace_length)), 65536))). - assert pow981 = pow103 * pow980; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow982 = pow124 * pow981; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). - assert pow983 = pow124 * pow982; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow984 = pow124 * pow983; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 16))). - assert pow985 = pow124 * pow984; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow986 = pow124 * pow985; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). - assert pow987 = pow124 * pow986; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). - assert pow988 = pow604 * pow987; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). - assert pow989 = pow56 * pow988; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 65536))). - assert pow990 = pow56 * pow989; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 32768))). - assert pow991 = pow56 * pow990; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 65536))). - assert pow992 = pow56 * pow991; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 16384))). - assert pow993 = pow56 * pow992; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 65536))). - assert pow994 = pow56 * pow993; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 32768))). - assert pow995 = pow56 * pow994; // pow(trace_generator, (safe_div((safe_mult(6151, global_values.trace_length)), 65536))). - assert pow996 = pow56 * pow995; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 8192))). - assert pow997 = pow56 * pow996; // pow(trace_generator, (safe_div((safe_mult(6153, global_values.trace_length)), 65536))). - assert pow998 = pow56 * pow997; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 32768))). - assert pow999 = pow56 * pow998; // pow(trace_generator, (safe_div((safe_mult(6155, global_values.trace_length)), 65536))). - assert pow1000 = pow56 * pow999; // pow(trace_generator, (safe_div((safe_mult(1539, global_values.trace_length)), 16384))). - assert pow1001 = pow56 * pow1000; // pow(trace_generator, (safe_div((safe_mult(6157, global_values.trace_length)), 65536))). - assert pow1002 = pow56 * pow1001; // pow(trace_generator, (safe_div((safe_mult(3079, global_values.trace_length)), 32768))). - assert pow1003 = pow56 * pow1002; // pow(trace_generator, (safe_div((safe_mult(6159, global_values.trace_length)), 65536))). - assert pow1004 = pow56 * pow1003; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 4096))). - assert pow1005 = pow56 * pow1004; // pow(trace_generator, (safe_div((safe_mult(6161, global_values.trace_length)), 65536))). - assert pow1006 = pow56 * pow1005; // pow(trace_generator, (safe_div((safe_mult(3081, global_values.trace_length)), 32768))). - assert pow1007 = pow56 * pow1006; // pow(trace_generator, (safe_div((safe_mult(6163, global_values.trace_length)), 65536))). - assert pow1008 = pow56 * pow1007; // pow(trace_generator, (safe_div((safe_mult(1541, global_values.trace_length)), 16384))). - assert pow1009 = pow56 * pow1008; // pow(trace_generator, (safe_div((safe_mult(6165, global_values.trace_length)), 65536))). - assert pow1010 = pow56 * pow1009; // pow(trace_generator, (safe_div((safe_mult(3083, global_values.trace_length)), 32768))). - assert pow1011 = pow56 * pow1010; // pow(trace_generator, (safe_div((safe_mult(6167, global_values.trace_length)), 65536))). - assert pow1012 = pow817 * pow988; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). - assert pow1013 = pow817 * pow1012; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). - assert pow1014 = pow817 * pow1013; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). - assert pow1015 = pow56 * pow1012; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 65536))). - assert pow1016 = pow56 * pow1013; // pow(trace_generator, (safe_div((safe_mult(8193, global_values.trace_length)), 65536))). - assert pow1017 = pow56 * pow1014; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 65536))). - assert pow1018 = pow56 * pow1015; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 32768))). - assert pow1019 = pow56 * pow1016; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 32768))). - assert pow1020 = pow56 * pow1017; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 32768))). - assert pow1021 = pow56 * pow1018; // pow(trace_generator, (safe_div((safe_mult(7171, global_values.trace_length)), 65536))). - assert pow1022 = pow56 * pow1019; // pow(trace_generator, (safe_div((safe_mult(8195, global_values.trace_length)), 65536))). - assert pow1023 = pow56 * pow1020; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 65536))). - assert pow1024 = pow56 * pow1021; // pow(trace_generator, (safe_div((safe_mult(1793, global_values.trace_length)), 16384))). - assert pow1025 = pow56 * pow1022; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 16384))). - assert pow1026 = pow56 * pow1023; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 16384))). - assert pow1027 = pow56 * pow1024; // pow(trace_generator, (safe_div((safe_mult(7173, global_values.trace_length)), 65536))). - assert pow1028 = pow56 * pow1025; // pow(trace_generator, (safe_div((safe_mult(8197, global_values.trace_length)), 65536))). - assert pow1029 = pow56 * pow1026; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 65536))). - assert pow1030 = pow56 * pow1027; // pow(trace_generator, (safe_div((safe_mult(3587, global_values.trace_length)), 32768))). - assert pow1031 = pow56 * pow1028; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 32768))). - assert pow1032 = pow56 * pow1029; // pow(trace_generator, (safe_div((safe_mult(4611, global_values.trace_length)), 32768))). - assert pow1033 = pow56 * pow1030; // pow(trace_generator, (safe_div((safe_mult(7175, global_values.trace_length)), 65536))). - assert pow1034 = pow56 * pow1033; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 8192))). - assert pow1035 = pow56 * pow1034; // pow(trace_generator, (safe_div((safe_mult(7177, global_values.trace_length)), 65536))). - assert pow1036 = pow56 * pow1035; // pow(trace_generator, (safe_div((safe_mult(3589, global_values.trace_length)), 32768))). - assert pow1037 = pow56 * pow1036; // pow(trace_generator, (safe_div((safe_mult(7179, global_values.trace_length)), 65536))). - assert pow1038 = pow56 * pow1037; // pow(trace_generator, (safe_div((safe_mult(1795, global_values.trace_length)), 16384))). - assert pow1039 = pow56 * pow1038; // pow(trace_generator, (safe_div((safe_mult(7181, global_values.trace_length)), 65536))). - assert pow1040 = pow56 * pow1039; // pow(trace_generator, (safe_div((safe_mult(3591, global_values.trace_length)), 32768))). - assert pow1041 = pow56 * pow1040; // pow(trace_generator, (safe_div((safe_mult(7183, global_values.trace_length)), 65536))). - assert pow1042 = pow56 * pow1041; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 4096))). - assert pow1043 = pow56 * pow1042; // pow(trace_generator, (safe_div((safe_mult(7185, global_values.trace_length)), 65536))). - assert pow1044 = pow56 * pow1043; // pow(trace_generator, (safe_div((safe_mult(3593, global_values.trace_length)), 32768))). - assert pow1045 = pow56 * pow1044; // pow(trace_generator, (safe_div((safe_mult(7187, global_values.trace_length)), 65536))). - assert pow1046 = pow56 * pow1045; // pow(trace_generator, (safe_div((safe_mult(1797, global_values.trace_length)), 16384))). - assert pow1047 = pow56 * pow1046; // pow(trace_generator, (safe_div((safe_mult(7189, global_values.trace_length)), 65536))). - assert pow1048 = pow56 * pow1047; // pow(trace_generator, (safe_div((safe_mult(3595, global_values.trace_length)), 32768))). - assert pow1049 = pow56 * pow1048; // pow(trace_generator, (safe_div((safe_mult(7191, global_values.trace_length)), 65536))). - assert pow1050 = pow56 * pow1031; // pow(trace_generator, (safe_div((safe_mult(8199, global_values.trace_length)), 65536))). - assert pow1051 = pow56 * pow1050; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 8192))). - assert pow1052 = pow56 * pow1051; // pow(trace_generator, (safe_div((safe_mult(8201, global_values.trace_length)), 65536))). - assert pow1053 = pow56 * pow1052; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 32768))). - assert pow1054 = pow56 * pow1053; // pow(trace_generator, (safe_div((safe_mult(8203, global_values.trace_length)), 65536))). - assert pow1055 = pow56 * pow1054; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 16384))). - assert pow1056 = pow56 * pow1055; // pow(trace_generator, (safe_div((safe_mult(8205, global_values.trace_length)), 65536))). - assert pow1057 = pow56 * pow1056; // pow(trace_generator, (safe_div((safe_mult(4103, global_values.trace_length)), 32768))). - assert pow1058 = pow56 * pow1057; // pow(trace_generator, (safe_div((safe_mult(8207, global_values.trace_length)), 65536))). - assert pow1059 = pow56 * pow1058; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 4096))). - assert pow1060 = pow56 * pow1059; // pow(trace_generator, (safe_div((safe_mult(8209, global_values.trace_length)), 65536))). - assert pow1061 = pow56 * pow1060; // pow(trace_generator, (safe_div((safe_mult(4105, global_values.trace_length)), 32768))). - assert pow1062 = pow56 * pow1061; // pow(trace_generator, (safe_div((safe_mult(8211, global_values.trace_length)), 65536))). - assert pow1063 = pow56 * pow1062; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 16384))). - assert pow1064 = pow56 * pow1063; // pow(trace_generator, (safe_div((safe_mult(8213, global_values.trace_length)), 65536))). - assert pow1065 = pow56 * pow1064; // pow(trace_generator, (safe_div((safe_mult(4107, global_values.trace_length)), 32768))). - assert pow1066 = pow56 * pow1065; // pow(trace_generator, (safe_div((safe_mult(8215, global_values.trace_length)), 65536))). - assert pow1067 = pow56 * pow1032; // pow(trace_generator, (safe_div((safe_mult(9223, global_values.trace_length)), 65536))). - assert pow1068 = pow56 * pow1067; // pow(trace_generator, (safe_div((safe_mult(1153, global_values.trace_length)), 8192))). - assert pow1069 = pow56 * pow1068; // pow(trace_generator, (safe_div((safe_mult(9225, global_values.trace_length)), 65536))). - assert pow1070 = pow56 * pow1069; // pow(trace_generator, (safe_div((safe_mult(4613, global_values.trace_length)), 32768))). - assert pow1071 = pow56 * pow1070; // pow(trace_generator, (safe_div((safe_mult(9227, global_values.trace_length)), 65536))). - assert pow1072 = pow56 * pow1071; // pow(trace_generator, (safe_div((safe_mult(2307, global_values.trace_length)), 16384))). - assert pow1073 = pow56 * pow1072; // pow(trace_generator, (safe_div((safe_mult(9229, global_values.trace_length)), 65536))). - assert pow1074 = pow56 * pow1073; // pow(trace_generator, (safe_div((safe_mult(4615, global_values.trace_length)), 32768))). - assert pow1075 = pow56 * pow1074; // pow(trace_generator, (safe_div((safe_mult(9231, global_values.trace_length)), 65536))). - assert pow1076 = pow56 * pow1075; // pow(trace_generator, (safe_div((safe_mult(577, global_values.trace_length)), 4096))). - assert pow1077 = pow56 * pow1076; // pow(trace_generator, (safe_div((safe_mult(9233, global_values.trace_length)), 65536))). - assert pow1078 = pow56 * pow1077; // pow(trace_generator, (safe_div((safe_mult(4617, global_values.trace_length)), 32768))). - assert pow1079 = pow56 * pow1078; // pow(trace_generator, (safe_div((safe_mult(9235, global_values.trace_length)), 65536))). - assert pow1080 = pow56 * pow1079; // pow(trace_generator, (safe_div((safe_mult(2309, global_values.trace_length)), 16384))). - assert pow1081 = pow56 * pow1080; // pow(trace_generator, (safe_div((safe_mult(9237, global_values.trace_length)), 65536))). - assert pow1082 = pow56 * pow1081; // pow(trace_generator, (safe_div((safe_mult(4619, global_values.trace_length)), 32768))). - assert pow1083 = pow56 * pow1082; // pow(trace_generator, (safe_div((safe_mult(9239, global_values.trace_length)), 65536))). - assert pow1084 = pow817 * pow1014; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1085 = pow56 * pow1084; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 65536))). - assert pow1086 = pow56 * pow1085; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 32768))). - assert pow1087 = pow56 * pow1086; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 65536))). - assert pow1088 = pow56 * pow1087; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 16384))). - assert pow1089 = pow56 * pow1088; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 65536))). - assert pow1090 = pow56 * pow1089; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 32768))). - assert pow1091 = pow56 * pow1090; // pow(trace_generator, (safe_div((safe_mult(10247, global_values.trace_length)), 65536))). - assert pow1092 = pow56 * pow1091; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 8192))). - assert pow1093 = pow56 * pow1092; // pow(trace_generator, (safe_div((safe_mult(10249, global_values.trace_length)), 65536))). - assert pow1094 = pow56 * pow1093; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 32768))). - assert pow1095 = pow56 * pow1094; // pow(trace_generator, (safe_div((safe_mult(10251, global_values.trace_length)), 65536))). - assert pow1096 = pow56 * pow1095; // pow(trace_generator, (safe_div((safe_mult(2563, global_values.trace_length)), 16384))). - assert pow1097 = pow56 * pow1096; // pow(trace_generator, (safe_div((safe_mult(10253, global_values.trace_length)), 65536))). - assert pow1098 = pow56 * pow1097; // pow(trace_generator, (safe_div((safe_mult(5127, global_values.trace_length)), 32768))). - assert pow1099 = pow56 * pow1098; // pow(trace_generator, (safe_div((safe_mult(10255, global_values.trace_length)), 65536))). - assert pow1100 = pow56 * pow1099; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 4096))). - assert pow1101 = pow56 * pow1100; // pow(trace_generator, (safe_div((safe_mult(10257, global_values.trace_length)), 65536))). - assert pow1102 = pow56 * pow1101; // pow(trace_generator, (safe_div((safe_mult(5129, global_values.trace_length)), 32768))). - assert pow1103 = pow56 * pow1102; // pow(trace_generator, (safe_div((safe_mult(10259, global_values.trace_length)), 65536))). - assert pow1104 = pow56 * pow1103; // pow(trace_generator, (safe_div((safe_mult(2565, global_values.trace_length)), 16384))). - assert pow1105 = pow56 * pow1104; // pow(trace_generator, (safe_div((safe_mult(10261, global_values.trace_length)), 65536))). - assert pow1106 = pow56 * pow1105; // pow(trace_generator, (safe_div((safe_mult(5131, global_values.trace_length)), 32768))). - assert pow1107 = pow56 * pow1106; // pow(trace_generator, (safe_div((safe_mult(10263, global_values.trace_length)), 65536))). - assert pow1108 = pow103 * pow1107; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1109 = pow124 * pow1108; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1110 = pow124 * pow1109; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1111 = pow124 * pow1110; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1112 = pow124 * pow1111; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1113 = pow124 * pow1112; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1114 = pow124 * pow1113; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1115 = pow124 * pow1114; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1116 = pow124 * pow1115; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1117 = pow124 * pow1116; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1118 = pow124 * pow1117; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1119 = pow124 * pow1118; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1120 = pow124 * pow1119; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1121 = pow124 * pow1120; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1122 = pow124 * pow1121; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1123 = pow124 * pow1122; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1124 = pow56 * pow1123; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 65536))). - assert pow1125 = pow56 * pow1124; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 32768))). - assert pow1126 = pow56 * pow1125; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 65536))). - assert pow1127 = pow56 * pow1126; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 16384))). - assert pow1128 = pow56 * pow1127; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 65536))). - assert pow1129 = pow56 * pow1128; // pow(trace_generator, (safe_div((safe_mult(5635, global_values.trace_length)), 32768))). - assert pow1130 = pow56 * pow1129; // pow(trace_generator, (safe_div((safe_mult(11271, global_values.trace_length)), 65536))). - assert pow1131 = pow56 * pow1130; // pow(trace_generator, (safe_div((safe_mult(1409, global_values.trace_length)), 8192))). - assert pow1132 = pow56 * pow1131; // pow(trace_generator, (safe_div((safe_mult(11273, global_values.trace_length)), 65536))). - assert pow1133 = pow56 * pow1132; // pow(trace_generator, (safe_div((safe_mult(5637, global_values.trace_length)), 32768))). - assert pow1134 = pow56 * pow1133; // pow(trace_generator, (safe_div((safe_mult(11275, global_values.trace_length)), 65536))). - assert pow1135 = pow56 * pow1134; // pow(trace_generator, (safe_div((safe_mult(2819, global_values.trace_length)), 16384))). - assert pow1136 = pow56 * pow1135; // pow(trace_generator, (safe_div((safe_mult(11277, global_values.trace_length)), 65536))). - assert pow1137 = pow56 * pow1136; // pow(trace_generator, (safe_div((safe_mult(5639, global_values.trace_length)), 32768))). - assert pow1138 = pow56 * pow1137; // pow(trace_generator, (safe_div((safe_mult(11279, global_values.trace_length)), 65536))). - assert pow1139 = pow56 * pow1138; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 4096))). - assert pow1140 = pow56 * pow1139; // pow(trace_generator, (safe_div((safe_mult(11281, global_values.trace_length)), 65536))). - assert pow1141 = pow56 * pow1140; // pow(trace_generator, (safe_div((safe_mult(5641, global_values.trace_length)), 32768))). - assert pow1142 = pow56 * pow1141; // pow(trace_generator, (safe_div((safe_mult(11283, global_values.trace_length)), 65536))). - assert pow1143 = pow56 * pow1142; // pow(trace_generator, (safe_div((safe_mult(2821, global_values.trace_length)), 16384))). - assert pow1144 = pow56 * pow1143; // pow(trace_generator, (safe_div((safe_mult(11285, global_values.trace_length)), 65536))). - assert pow1145 = pow56 * pow1144; // pow(trace_generator, (safe_div((safe_mult(5643, global_values.trace_length)), 32768))). - assert pow1146 = pow56 * pow1145; // pow(trace_generator, (safe_div((safe_mult(11287, global_values.trace_length)), 65536))). - assert pow1147 = pow103 * pow1146; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1148 = pow124 * pow1147; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1149 = pow124 * pow1148; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1150 = pow124 * pow1149; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1151 = pow124 * pow1150; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1152 = pow124 * pow1151; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1153 = pow124 * pow1152; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). - assert pow1154 = pow604 * pow1153; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1155 = pow56 * pow1154; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 65536))). - assert pow1156 = pow56 * pow1155; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 32768))). - assert pow1157 = pow56 * pow1156; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 65536))). - assert pow1158 = pow56 * pow1157; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 16384))). - assert pow1159 = pow56 * pow1158; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 65536))). - assert pow1160 = pow56 * pow1159; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 32768))). - assert pow1161 = pow56 * pow1160; // pow(trace_generator, (safe_div((safe_mult(12295, global_values.trace_length)), 65536))). - assert pow1162 = pow56 * pow1161; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 8192))). - assert pow1163 = pow56 * pow1162; // pow(trace_generator, (safe_div((safe_mult(12297, global_values.trace_length)), 65536))). - assert pow1164 = pow56 * pow1163; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 32768))). - assert pow1165 = pow56 * pow1164; // pow(trace_generator, (safe_div((safe_mult(12299, global_values.trace_length)), 65536))). - assert pow1166 = pow56 * pow1165; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 16384))). - assert pow1167 = pow56 * pow1166; // pow(trace_generator, (safe_div((safe_mult(12301, global_values.trace_length)), 65536))). - assert pow1168 = pow56 * pow1167; // pow(trace_generator, (safe_div((safe_mult(6151, global_values.trace_length)), 32768))). - assert pow1169 = pow56 * pow1168; // pow(trace_generator, (safe_div((safe_mult(12303, global_values.trace_length)), 65536))). - assert pow1170 = pow56 * pow1169; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 4096))). - assert pow1171 = pow56 * pow1170; // pow(trace_generator, (safe_div((safe_mult(12305, global_values.trace_length)), 65536))). - assert pow1172 = pow56 * pow1171; // pow(trace_generator, (safe_div((safe_mult(6153, global_values.trace_length)), 32768))). - assert pow1173 = pow56 * pow1172; // pow(trace_generator, (safe_div((safe_mult(12307, global_values.trace_length)), 65536))). - assert pow1174 = pow56 * pow1173; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 16384))). - assert pow1175 = pow56 * pow1174; // pow(trace_generator, (safe_div((safe_mult(12309, global_values.trace_length)), 65536))). - assert pow1176 = pow56 * pow1175; // pow(trace_generator, (safe_div((safe_mult(6155, global_values.trace_length)), 32768))). - assert pow1177 = pow56 * pow1176; // pow(trace_generator, (safe_div((safe_mult(12311, global_values.trace_length)), 65536))). - assert pow1178 = pow103 * pow1177; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1179 = pow124 * pow1178; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1180 = pow124 * pow1179; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1181 = pow124 * pow1180; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1182 = pow124 * pow1181; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1183 = pow124 * pow1182; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1184 = pow124 * pow1183; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1185 = pow124 * pow1184; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1186 = pow124 * pow1185; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1187 = pow124 * pow1186; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1188 = pow124 * pow1187; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1189 = pow124 * pow1188; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1190 = pow124 * pow1189; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1191 = pow124 * pow1190; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1192 = pow124 * pow1191; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1193 = pow124 * pow1192; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1194 = pow56 * pow1193; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 65536))). - assert pow1195 = pow56 * pow1194; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 32768))). - assert pow1196 = pow56 * pow1195; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 65536))). - assert pow1197 = pow56 * pow1196; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 16384))). - assert pow1198 = pow56 * pow1197; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 65536))). - assert pow1199 = pow56 * pow1198; // pow(trace_generator, (safe_div((safe_mult(6659, global_values.trace_length)), 32768))). - assert pow1200 = pow56 * pow1199; // pow(trace_generator, (safe_div((safe_mult(13319, global_values.trace_length)), 65536))). - assert pow1201 = pow56 * pow1200; // pow(trace_generator, (safe_div((safe_mult(1665, global_values.trace_length)), 8192))). - assert pow1202 = pow56 * pow1201; // pow(trace_generator, (safe_div((safe_mult(13321, global_values.trace_length)), 65536))). - assert pow1203 = pow56 * pow1202; // pow(trace_generator, (safe_div((safe_mult(6661, global_values.trace_length)), 32768))). - assert pow1204 = pow56 * pow1203; // pow(trace_generator, (safe_div((safe_mult(13323, global_values.trace_length)), 65536))). - assert pow1205 = pow56 * pow1204; // pow(trace_generator, (safe_div((safe_mult(3331, global_values.trace_length)), 16384))). - assert pow1206 = pow56 * pow1205; // pow(trace_generator, (safe_div((safe_mult(13325, global_values.trace_length)), 65536))). - assert pow1207 = pow56 * pow1206; // pow(trace_generator, (safe_div((safe_mult(6663, global_values.trace_length)), 32768))). - assert pow1208 = pow56 * pow1207; // pow(trace_generator, (safe_div((safe_mult(13327, global_values.trace_length)), 65536))). - assert pow1209 = pow56 * pow1208; // pow(trace_generator, (safe_div((safe_mult(833, global_values.trace_length)), 4096))). - assert pow1210 = pow56 * pow1209; // pow(trace_generator, (safe_div((safe_mult(13329, global_values.trace_length)), 65536))). - assert pow1211 = pow56 * pow1210; // pow(trace_generator, (safe_div((safe_mult(6665, global_values.trace_length)), 32768))). - assert pow1212 = pow56 * pow1211; // pow(trace_generator, (safe_div((safe_mult(13331, global_values.trace_length)), 65536))). - assert pow1213 = pow56 * pow1212; // pow(trace_generator, (safe_div((safe_mult(3333, global_values.trace_length)), 16384))). - assert pow1214 = pow56 * pow1213; // pow(trace_generator, (safe_div((safe_mult(13333, global_values.trace_length)), 65536))). - assert pow1215 = pow56 * pow1214; // pow(trace_generator, (safe_div((safe_mult(6667, global_values.trace_length)), 32768))). - assert pow1216 = pow56 * pow1215; // pow(trace_generator, (safe_div((safe_mult(13335, global_values.trace_length)), 65536))). - assert pow1217 = pow103 * pow1216; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1218 = pow124 * pow1217; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1219 = pow124 * pow1218; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1220 = pow124 * pow1219; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1221 = pow124 * pow1220; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1222 = pow124 * pow1221; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1223 = pow124 * pow1222; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). - assert pow1224 = pow604 * pow1223; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1225 = pow56 * pow1224; // pow(trace_generator, (safe_div((safe_mult(14337, global_values.trace_length)), 65536))). - assert pow1226 = pow56 * pow1225; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 32768))). - assert pow1227 = pow56 * pow1226; // pow(trace_generator, (safe_div((safe_mult(14339, global_values.trace_length)), 65536))). - assert pow1228 = pow56 * pow1227; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 16384))). - assert pow1229 = pow56 * pow1228; // pow(trace_generator, (safe_div((safe_mult(14341, global_values.trace_length)), 65536))). - assert pow1230 = pow56 * pow1229; // pow(trace_generator, (safe_div((safe_mult(7171, global_values.trace_length)), 32768))). - assert pow1231 = pow56 * pow1230; // pow(trace_generator, (safe_div((safe_mult(14343, global_values.trace_length)), 65536))). - assert pow1232 = pow56 * pow1231; // pow(trace_generator, (safe_div((safe_mult(1793, global_values.trace_length)), 8192))). - assert pow1233 = pow56 * pow1232; // pow(trace_generator, (safe_div((safe_mult(14345, global_values.trace_length)), 65536))). - assert pow1234 = pow56 * pow1233; // pow(trace_generator, (safe_div((safe_mult(7173, global_values.trace_length)), 32768))). - assert pow1235 = pow56 * pow1234; // pow(trace_generator, (safe_div((safe_mult(14347, global_values.trace_length)), 65536))). - assert pow1236 = pow56 * pow1235; // pow(trace_generator, (safe_div((safe_mult(3587, global_values.trace_length)), 16384))). - assert pow1237 = pow56 * pow1236; // pow(trace_generator, (safe_div((safe_mult(14349, global_values.trace_length)), 65536))). - assert pow1238 = pow56 * pow1237; // pow(trace_generator, (safe_div((safe_mult(7175, global_values.trace_length)), 32768))). - assert pow1239 = pow56 * pow1238; // pow(trace_generator, (safe_div((safe_mult(14351, global_values.trace_length)), 65536))). - assert pow1240 = pow56 * pow1239; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 4096))). - assert pow1241 = pow56 * pow1240; // pow(trace_generator, (safe_div((safe_mult(14353, global_values.trace_length)), 65536))). - assert pow1242 = pow56 * pow1241; // pow(trace_generator, (safe_div((safe_mult(7177, global_values.trace_length)), 32768))). - assert pow1243 = pow56 * pow1242; // pow(trace_generator, (safe_div((safe_mult(14355, global_values.trace_length)), 65536))). - assert pow1244 = pow56 * pow1243; // pow(trace_generator, (safe_div((safe_mult(3589, global_values.trace_length)), 16384))). - assert pow1245 = pow56 * pow1244; // pow(trace_generator, (safe_div((safe_mult(14357, global_values.trace_length)), 65536))). - assert pow1246 = pow56 * pow1245; // pow(trace_generator, (safe_div((safe_mult(7179, global_values.trace_length)), 32768))). - assert pow1247 = pow56 * pow1246; // pow(trace_generator, (safe_div((safe_mult(14359, global_values.trace_length)), 65536))). - assert pow1248 = pow103 * pow1247; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1249 = pow124 * pow1248; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1250 = pow124 * pow1249; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1251 = pow124 * pow1250; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1252 = pow124 * pow1251; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1253 = pow124 * pow1252; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1254 = pow124 * pow1253; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1255 = pow124 * pow1254; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1256 = pow124 * pow1255; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1257 = pow124 * pow1256; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1258 = pow124 * pow1257; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1259 = pow124 * pow1258; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1260 = pow124 * pow1259; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1261 = pow124 * pow1260; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1262 = pow124 * pow1261; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1263 = pow124 * pow1262; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1264 = pow56 * pow1263; // pow(trace_generator, (safe_div((safe_mult(15361, global_values.trace_length)), 65536))). - assert pow1265 = pow56 * pow1264; // pow(trace_generator, (safe_div((safe_mult(7681, global_values.trace_length)), 32768))). - assert pow1266 = pow56 * pow1265; // pow(trace_generator, (safe_div((safe_mult(15363, global_values.trace_length)), 65536))). - assert pow1267 = pow56 * pow1266; // pow(trace_generator, (safe_div((safe_mult(3841, global_values.trace_length)), 16384))). - assert pow1268 = pow56 * pow1267; // pow(trace_generator, (safe_div((safe_mult(15365, global_values.trace_length)), 65536))). - assert pow1269 = pow56 * pow1268; // pow(trace_generator, (safe_div((safe_mult(7683, global_values.trace_length)), 32768))). - assert pow1270 = pow56 * pow1269; // pow(trace_generator, (safe_div((safe_mult(15367, global_values.trace_length)), 65536))). - assert pow1271 = pow56 * pow1270; // pow(trace_generator, (safe_div((safe_mult(1921, global_values.trace_length)), 8192))). - assert pow1272 = pow56 * pow1271; // pow(trace_generator, (safe_div((safe_mult(15369, global_values.trace_length)), 65536))). - assert pow1273 = pow56 * pow1272; // pow(trace_generator, (safe_div((safe_mult(7685, global_values.trace_length)), 32768))). - assert pow1274 = pow56 * pow1273; // pow(trace_generator, (safe_div((safe_mult(15371, global_values.trace_length)), 65536))). - assert pow1275 = pow56 * pow1274; // pow(trace_generator, (safe_div((safe_mult(3843, global_values.trace_length)), 16384))). - assert pow1276 = pow56 * pow1275; // pow(trace_generator, (safe_div((safe_mult(15373, global_values.trace_length)), 65536))). - assert pow1277 = pow56 * pow1276; // pow(trace_generator, (safe_div((safe_mult(7687, global_values.trace_length)), 32768))). - assert pow1278 = pow56 * pow1277; // pow(trace_generator, (safe_div((safe_mult(15375, global_values.trace_length)), 65536))). - assert pow1279 = pow56 * pow1278; // pow(trace_generator, (safe_div((safe_mult(961, global_values.trace_length)), 4096))). - assert pow1280 = pow56 * pow1279; // pow(trace_generator, (safe_div((safe_mult(15377, global_values.trace_length)), 65536))). - assert pow1281 = pow56 * pow1280; // pow(trace_generator, (safe_div((safe_mult(7689, global_values.trace_length)), 32768))). - assert pow1282 = pow56 * pow1281; // pow(trace_generator, (safe_div((safe_mult(15379, global_values.trace_length)), 65536))). - assert pow1283 = pow56 * pow1282; // pow(trace_generator, (safe_div((safe_mult(3845, global_values.trace_length)), 16384))). - assert pow1284 = pow56 * pow1283; // pow(trace_generator, (safe_div((safe_mult(15381, global_values.trace_length)), 65536))). - assert pow1285 = pow56 * pow1284; // pow(trace_generator, (safe_div((safe_mult(7691, global_values.trace_length)), 32768))). - assert pow1286 = pow56 * pow1285; // pow(trace_generator, (safe_div((safe_mult(15383, global_values.trace_length)), 65536))). - assert pow1287 = pow103 * pow1286; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1288 = pow124 * pow1287; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1289 = pow124 * pow1288; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1290 = pow124 * pow1289; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1291 = pow124 * pow1290; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1292 = pow124 * pow1291; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1293 = pow124 * pow1292; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). - assert pow1294 = pow604 * pow1293; // pow(trace_generator, (safe_div(global_values.trace_length, 4))). - assert pow1295 = pow817 * pow1294; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 64))). - assert pow1296 = pow817 * pow1295; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32))). - assert pow1297 = pow817 * pow1296; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 64))). - assert pow1298 = pow56 * pow1294; // pow(trace_generator, (safe_div((safe_mult(16385, global_values.trace_length)), 65536))). - assert pow1299 = pow56 * pow1295; // pow(trace_generator, (safe_div((safe_mult(17409, global_values.trace_length)), 65536))). - assert pow1300 = pow56 * pow1296; // pow(trace_generator, (safe_div((safe_mult(18433, global_values.trace_length)), 65536))). - assert pow1301 = pow56 * pow1297; // pow(trace_generator, (safe_div((safe_mult(19457, global_values.trace_length)), 65536))). - assert pow1302 = pow56 * pow1298; // pow(trace_generator, (safe_div((safe_mult(8193, global_values.trace_length)), 32768))). - assert pow1303 = pow56 * pow1299; // pow(trace_generator, (safe_div((safe_mult(8705, global_values.trace_length)), 32768))). - assert pow1304 = pow56 * pow1300; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 32768))). - assert pow1305 = pow56 * pow1301; // pow(trace_generator, (safe_div((safe_mult(9729, global_values.trace_length)), 32768))). - assert pow1306 = pow56 * pow1302; // pow(trace_generator, (safe_div((safe_mult(16387, global_values.trace_length)), 65536))). - assert pow1307 = pow56 * pow1303; // pow(trace_generator, (safe_div((safe_mult(17411, global_values.trace_length)), 65536))). - assert pow1308 = pow56 * pow1304; // pow(trace_generator, (safe_div((safe_mult(18435, global_values.trace_length)), 65536))). - assert pow1309 = pow56 * pow1305; // pow(trace_generator, (safe_div((safe_mult(19459, global_values.trace_length)), 65536))). - assert pow1310 = pow56 * pow1306; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 16384))). - assert pow1311 = pow56 * pow1307; // pow(trace_generator, (safe_div((safe_mult(4353, global_values.trace_length)), 16384))). - assert pow1312 = pow56 * pow1308; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 16384))). - assert pow1313 = pow56 * pow1309; // pow(trace_generator, (safe_div((safe_mult(4865, global_values.trace_length)), 16384))). - assert pow1314 = pow56 * pow1310; // pow(trace_generator, (safe_div((safe_mult(16389, global_values.trace_length)), 65536))). - assert pow1315 = pow56 * pow1311; // pow(trace_generator, (safe_div((safe_mult(17413, global_values.trace_length)), 65536))). - assert pow1316 = pow56 * pow1312; // pow(trace_generator, (safe_div((safe_mult(18437, global_values.trace_length)), 65536))). - assert pow1317 = pow56 * pow1313; // pow(trace_generator, (safe_div((safe_mult(19461, global_values.trace_length)), 65536))). - assert pow1318 = pow56 * pow1314; // pow(trace_generator, (safe_div((safe_mult(8195, global_values.trace_length)), 32768))). - assert pow1319 = pow56 * pow1315; // pow(trace_generator, (safe_div((safe_mult(8707, global_values.trace_length)), 32768))). - assert pow1320 = pow56 * pow1316; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 32768))). - assert pow1321 = pow56 * pow1317; // pow(trace_generator, (safe_div((safe_mult(9731, global_values.trace_length)), 32768))). - assert pow1322 = pow56 * pow1318; // pow(trace_generator, (safe_div((safe_mult(16391, global_values.trace_length)), 65536))). - assert pow1323 = pow56 * pow1322; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 8192))). - assert pow1324 = pow56 * pow1319; // pow(trace_generator, (safe_div((safe_mult(17415, global_values.trace_length)), 65536))). - assert pow1325 = pow56 * pow1324; // pow(trace_generator, (safe_div((safe_mult(2177, global_values.trace_length)), 8192))). - assert pow1326 = pow56 * pow1320; // pow(trace_generator, (safe_div((safe_mult(18439, global_values.trace_length)), 65536))). - assert pow1327 = pow56 * pow1326; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 8192))). - assert pow1328 = pow56 * pow1321; // pow(trace_generator, (safe_div((safe_mult(19463, global_values.trace_length)), 65536))). - assert pow1329 = pow56 * pow1328; // pow(trace_generator, (safe_div((safe_mult(2433, global_values.trace_length)), 8192))). - assert pow1330 = pow56 * pow1323; // pow(trace_generator, (safe_div((safe_mult(16393, global_values.trace_length)), 65536))). - assert pow1331 = pow56 * pow1325; // pow(trace_generator, (safe_div((safe_mult(17417, global_values.trace_length)), 65536))). - assert pow1332 = pow56 * pow1327; // pow(trace_generator, (safe_div((safe_mult(18441, global_values.trace_length)), 65536))). - assert pow1333 = pow56 * pow1329; // pow(trace_generator, (safe_div((safe_mult(19465, global_values.trace_length)), 65536))). - assert pow1334 = pow56 * pow1330; // pow(trace_generator, (safe_div((safe_mult(8197, global_values.trace_length)), 32768))). - assert pow1335 = pow56 * pow1331; // pow(trace_generator, (safe_div((safe_mult(8709, global_values.trace_length)), 32768))). - assert pow1336 = pow56 * pow1332; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 32768))). - assert pow1337 = pow56 * pow1333; // pow(trace_generator, (safe_div((safe_mult(9733, global_values.trace_length)), 32768))). - assert pow1338 = pow56 * pow1334; // pow(trace_generator, (safe_div((safe_mult(16395, global_values.trace_length)), 65536))). - assert pow1339 = pow56 * pow1335; // pow(trace_generator, (safe_div((safe_mult(17419, global_values.trace_length)), 65536))). - assert pow1340 = pow56 * pow1336; // pow(trace_generator, (safe_div((safe_mult(18443, global_values.trace_length)), 65536))). - assert pow1341 = pow56 * pow1337; // pow(trace_generator, (safe_div((safe_mult(19467, global_values.trace_length)), 65536))). - assert pow1342 = pow56 * pow1338; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 16384))). - assert pow1343 = pow56 * pow1339; // pow(trace_generator, (safe_div((safe_mult(4355, global_values.trace_length)), 16384))). - assert pow1344 = pow56 * pow1340; // pow(trace_generator, (safe_div((safe_mult(4611, global_values.trace_length)), 16384))). - assert pow1345 = pow56 * pow1341; // pow(trace_generator, (safe_div((safe_mult(4867, global_values.trace_length)), 16384))). - assert pow1346 = pow56 * pow1342; // pow(trace_generator, (safe_div((safe_mult(16397, global_values.trace_length)), 65536))). - assert pow1347 = pow56 * pow1343; // pow(trace_generator, (safe_div((safe_mult(17421, global_values.trace_length)), 65536))). - assert pow1348 = pow56 * pow1344; // pow(trace_generator, (safe_div((safe_mult(18445, global_values.trace_length)), 65536))). - assert pow1349 = pow56 * pow1345; // pow(trace_generator, (safe_div((safe_mult(19469, global_values.trace_length)), 65536))). - assert pow1350 = pow56 * pow1346; // pow(trace_generator, (safe_div((safe_mult(8199, global_values.trace_length)), 32768))). - assert pow1351 = pow56 * pow1347; // pow(trace_generator, (safe_div((safe_mult(8711, global_values.trace_length)), 32768))). - assert pow1352 = pow56 * pow1348; // pow(trace_generator, (safe_div((safe_mult(9223, global_values.trace_length)), 32768))). - assert pow1353 = pow56 * pow1349; // pow(trace_generator, (safe_div((safe_mult(9735, global_values.trace_length)), 32768))). - assert pow1354 = pow56 * pow1350; // pow(trace_generator, (safe_div((safe_mult(16399, global_values.trace_length)), 65536))). - assert pow1355 = pow56 * pow1351; // pow(trace_generator, (safe_div((safe_mult(17423, global_values.trace_length)), 65536))). - assert pow1356 = pow56 * pow1352; // pow(trace_generator, (safe_div((safe_mult(18447, global_values.trace_length)), 65536))). - assert pow1357 = pow56 * pow1353; // pow(trace_generator, (safe_div((safe_mult(19471, global_values.trace_length)), 65536))). - assert pow1358 = pow56 * pow1354; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 4096))). - assert pow1359 = pow56 * pow1355; // pow(trace_generator, (safe_div((safe_mult(1089, global_values.trace_length)), 4096))). - assert pow1360 = pow56 * pow1356; // pow(trace_generator, (safe_div((safe_mult(1153, global_values.trace_length)), 4096))). - assert pow1361 = pow56 * pow1357; // pow(trace_generator, (safe_div((safe_mult(1217, global_values.trace_length)), 4096))). - assert pow1362 = pow56 * pow1358; // pow(trace_generator, (safe_div((safe_mult(16401, global_values.trace_length)), 65536))). - assert pow1363 = pow56 * pow1359; // pow(trace_generator, (safe_div((safe_mult(17425, global_values.trace_length)), 65536))). - assert pow1364 = pow56 * pow1360; // pow(trace_generator, (safe_div((safe_mult(18449, global_values.trace_length)), 65536))). - assert pow1365 = pow56 * pow1361; // pow(trace_generator, (safe_div((safe_mult(19473, global_values.trace_length)), 65536))). - assert pow1366 = pow56 * pow1362; // pow(trace_generator, (safe_div((safe_mult(8201, global_values.trace_length)), 32768))). - assert pow1367 = pow56 * pow1363; // pow(trace_generator, (safe_div((safe_mult(8713, global_values.trace_length)), 32768))). - assert pow1368 = pow56 * pow1364; // pow(trace_generator, (safe_div((safe_mult(9225, global_values.trace_length)), 32768))). - assert pow1369 = pow56 * pow1365; // pow(trace_generator, (safe_div((safe_mult(9737, global_values.trace_length)), 32768))). - assert pow1370 = pow56 * pow1366; // pow(trace_generator, (safe_div((safe_mult(16403, global_values.trace_length)), 65536))). - assert pow1371 = pow56 * pow1367; // pow(trace_generator, (safe_div((safe_mult(17427, global_values.trace_length)), 65536))). - assert pow1372 = pow56 * pow1368; // pow(trace_generator, (safe_div((safe_mult(18451, global_values.trace_length)), 65536))). - assert pow1373 = pow56 * pow1369; // pow(trace_generator, (safe_div((safe_mult(19475, global_values.trace_length)), 65536))). - assert pow1374 = pow56 * pow1370; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 16384))). - assert pow1375 = pow56 * pow1371; // pow(trace_generator, (safe_div((safe_mult(4357, global_values.trace_length)), 16384))). - assert pow1376 = pow56 * pow1372; // pow(trace_generator, (safe_div((safe_mult(4613, global_values.trace_length)), 16384))). - assert pow1377 = pow56 * pow1373; // pow(trace_generator, (safe_div((safe_mult(4869, global_values.trace_length)), 16384))). - assert pow1378 = pow56 * pow1374; // pow(trace_generator, (safe_div((safe_mult(16405, global_values.trace_length)), 65536))). - assert pow1379 = pow56 * pow1375; // pow(trace_generator, (safe_div((safe_mult(17429, global_values.trace_length)), 65536))). - assert pow1380 = pow56 * pow1376; // pow(trace_generator, (safe_div((safe_mult(18453, global_values.trace_length)), 65536))). - assert pow1381 = pow56 * pow1377; // pow(trace_generator, (safe_div((safe_mult(19477, global_values.trace_length)), 65536))). - assert pow1382 = pow56 * pow1378; // pow(trace_generator, (safe_div((safe_mult(8203, global_values.trace_length)), 32768))). - assert pow1383 = pow56 * pow1379; // pow(trace_generator, (safe_div((safe_mult(8715, global_values.trace_length)), 32768))). - assert pow1384 = pow56 * pow1380; // pow(trace_generator, (safe_div((safe_mult(9227, global_values.trace_length)), 32768))). - assert pow1385 = pow56 * pow1381; // pow(trace_generator, (safe_div((safe_mult(9739, global_values.trace_length)), 32768))). - assert pow1386 = pow56 * pow1382; // pow(trace_generator, (safe_div((safe_mult(16407, global_values.trace_length)), 65536))). - assert pow1387 = pow56 * pow1383; // pow(trace_generator, (safe_div((safe_mult(17431, global_values.trace_length)), 65536))). - assert pow1388 = pow56 * pow1384; // pow(trace_generator, (safe_div((safe_mult(18455, global_values.trace_length)), 65536))). - assert pow1389 = pow56 * pow1385; // pow(trace_generator, (safe_div((safe_mult(19479, global_values.trace_length)), 65536))). - assert pow1390 = pow817 * pow1297; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1391 = pow56 * pow1390; // pow(trace_generator, (safe_div((safe_mult(20481, global_values.trace_length)), 65536))). - assert pow1392 = pow56 * pow1391; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 32768))). - assert pow1393 = pow56 * pow1392; // pow(trace_generator, (safe_div((safe_mult(20483, global_values.trace_length)), 65536))). - assert pow1394 = pow56 * pow1393; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 16384))). - assert pow1395 = pow56 * pow1394; // pow(trace_generator, (safe_div((safe_mult(20485, global_values.trace_length)), 65536))). - assert pow1396 = pow56 * pow1395; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 32768))). - assert pow1397 = pow56 * pow1396; // pow(trace_generator, (safe_div((safe_mult(20487, global_values.trace_length)), 65536))). - assert pow1398 = pow56 * pow1397; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 8192))). - assert pow1399 = pow56 * pow1398; // pow(trace_generator, (safe_div((safe_mult(20489, global_values.trace_length)), 65536))). - assert pow1400 = pow56 * pow1399; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 32768))). - assert pow1401 = pow56 * pow1400; // pow(trace_generator, (safe_div((safe_mult(20491, global_values.trace_length)), 65536))). - assert pow1402 = pow56 * pow1401; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 16384))). - assert pow1403 = pow56 * pow1402; // pow(trace_generator, (safe_div((safe_mult(20493, global_values.trace_length)), 65536))). - assert pow1404 = pow56 * pow1403; // pow(trace_generator, (safe_div((safe_mult(10247, global_values.trace_length)), 32768))). - assert pow1405 = pow56 * pow1404; // pow(trace_generator, (safe_div((safe_mult(20495, global_values.trace_length)), 65536))). - assert pow1406 = pow56 * pow1405; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 4096))). - assert pow1407 = pow56 * pow1406; // pow(trace_generator, (safe_div((safe_mult(20497, global_values.trace_length)), 65536))). - assert pow1408 = pow56 * pow1407; // pow(trace_generator, (safe_div((safe_mult(10249, global_values.trace_length)), 32768))). - assert pow1409 = pow56 * pow1408; // pow(trace_generator, (safe_div((safe_mult(20499, global_values.trace_length)), 65536))). - assert pow1410 = pow56 * pow1409; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 16384))). - assert pow1411 = pow56 * pow1410; // pow(trace_generator, (safe_div((safe_mult(20501, global_values.trace_length)), 65536))). - assert pow1412 = pow56 * pow1411; // pow(trace_generator, (safe_div((safe_mult(10251, global_values.trace_length)), 32768))). - assert pow1413 = pow56 * pow1412; // pow(trace_generator, (safe_div((safe_mult(20503, global_values.trace_length)), 65536))). - assert pow1414 = pow103 * pow1413; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1415 = pow124 * pow1414; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1416 = pow124 * pow1415; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1417 = pow124 * pow1416; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1418 = pow124 * pow1417; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1419 = pow124 * pow1418; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1420 = pow124 * pow1419; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1421 = pow124 * pow1420; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1422 = pow124 * pow1421; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1423 = pow124 * pow1422; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1424 = pow124 * pow1423; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1425 = pow124 * pow1424; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1426 = pow124 * pow1425; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1427 = pow124 * pow1426; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1428 = pow124 * pow1427; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1429 = pow124 * pow1428; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1430 = pow56 * pow1429; // pow(trace_generator, (safe_div((safe_mult(21505, global_values.trace_length)), 65536))). - assert pow1431 = pow56 * pow1430; // pow(trace_generator, (safe_div((safe_mult(10753, global_values.trace_length)), 32768))). - assert pow1432 = pow56 * pow1431; // pow(trace_generator, (safe_div((safe_mult(21507, global_values.trace_length)), 65536))). - assert pow1433 = pow56 * pow1432; // pow(trace_generator, (safe_div((safe_mult(5377, global_values.trace_length)), 16384))). - assert pow1434 = pow56 * pow1433; // pow(trace_generator, (safe_div((safe_mult(21509, global_values.trace_length)), 65536))). - assert pow1435 = pow56 * pow1434; // pow(trace_generator, (safe_div((safe_mult(10755, global_values.trace_length)), 32768))). - assert pow1436 = pow56 * pow1435; // pow(trace_generator, (safe_div((safe_mult(21511, global_values.trace_length)), 65536))). - assert pow1437 = pow56 * pow1436; // pow(trace_generator, (safe_div((safe_mult(2689, global_values.trace_length)), 8192))). - assert pow1438 = pow56 * pow1437; // pow(trace_generator, (safe_div((safe_mult(21513, global_values.trace_length)), 65536))). - assert pow1439 = pow56 * pow1438; // pow(trace_generator, (safe_div((safe_mult(10757, global_values.trace_length)), 32768))). - assert pow1440 = pow56 * pow1439; // pow(trace_generator, (safe_div((safe_mult(21515, global_values.trace_length)), 65536))). - assert pow1441 = pow56 * pow1440; // pow(trace_generator, (safe_div((safe_mult(5379, global_values.trace_length)), 16384))). - assert pow1442 = pow56 * pow1441; // pow(trace_generator, (safe_div((safe_mult(21517, global_values.trace_length)), 65536))). - assert pow1443 = pow56 * pow1442; // pow(trace_generator, (safe_div((safe_mult(10759, global_values.trace_length)), 32768))). - assert pow1444 = pow56 * pow1443; // pow(trace_generator, (safe_div((safe_mult(21519, global_values.trace_length)), 65536))). - assert pow1445 = pow56 * pow1444; // pow(trace_generator, (safe_div((safe_mult(1345, global_values.trace_length)), 4096))). - assert pow1446 = pow56 * pow1445; // pow(trace_generator, (safe_div((safe_mult(21521, global_values.trace_length)), 65536))). - assert pow1447 = pow56 * pow1446; // pow(trace_generator, (safe_div((safe_mult(10761, global_values.trace_length)), 32768))). - assert pow1448 = pow56 * pow1447; // pow(trace_generator, (safe_div((safe_mult(21523, global_values.trace_length)), 65536))). - assert pow1449 = pow56 * pow1448; // pow(trace_generator, (safe_div((safe_mult(5381, global_values.trace_length)), 16384))). - assert pow1450 = pow56 * pow1449; // pow(trace_generator, (safe_div((safe_mult(21525, global_values.trace_length)), 65536))). - assert pow1451 = pow56 * pow1450; // pow(trace_generator, (safe_div((safe_mult(10763, global_values.trace_length)), 32768))). - assert pow1452 = pow56 * pow1451; // pow(trace_generator, (safe_div((safe_mult(21527, global_values.trace_length)), 65536))). - assert pow1453 = pow103 * pow1452; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1454 = pow124 * pow1453; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1455 = pow124 * pow1454; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1456 = pow124 * pow1455; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1457 = pow124 * pow1456; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1458 = pow124 * pow1457; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1459 = pow124 * pow1458; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). - assert pow1460 = pow604 * pow1459; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1461 = pow56 * pow1460; // pow(trace_generator, (safe_div((safe_mult(22529, global_values.trace_length)), 65536))). - assert pow1462 = pow56 * pow1461; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 32768))). - assert pow1463 = pow56 * pow1462; // pow(trace_generator, (safe_div((safe_mult(22531, global_values.trace_length)), 65536))). - assert pow1464 = pow56 * pow1463; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 16384))). - assert pow1465 = pow56 * pow1464; // pow(trace_generator, (safe_div((safe_mult(22533, global_values.trace_length)), 65536))). - assert pow1466 = pow56 * pow1465; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 32768))). - assert pow1467 = pow56 * pow1466; // pow(trace_generator, (safe_div((safe_mult(22535, global_values.trace_length)), 65536))). - assert pow1468 = pow56 * pow1467; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 8192))). - assert pow1469 = pow56 * pow1468; // pow(trace_generator, (safe_div((safe_mult(22537, global_values.trace_length)), 65536))). - assert pow1470 = pow56 * pow1469; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 32768))). - assert pow1471 = pow56 * pow1470; // pow(trace_generator, (safe_div((safe_mult(22539, global_values.trace_length)), 65536))). - assert pow1472 = pow56 * pow1471; // pow(trace_generator, (safe_div((safe_mult(5635, global_values.trace_length)), 16384))). - assert pow1473 = pow56 * pow1472; // pow(trace_generator, (safe_div((safe_mult(22541, global_values.trace_length)), 65536))). - assert pow1474 = pow56 * pow1473; // pow(trace_generator, (safe_div((safe_mult(11271, global_values.trace_length)), 32768))). - assert pow1475 = pow56 * pow1474; // pow(trace_generator, (safe_div((safe_mult(22543, global_values.trace_length)), 65536))). - assert pow1476 = pow56 * pow1475; // pow(trace_generator, (safe_div((safe_mult(1409, global_values.trace_length)), 4096))). - assert pow1477 = pow56 * pow1476; // pow(trace_generator, (safe_div((safe_mult(22545, global_values.trace_length)), 65536))). - assert pow1478 = pow56 * pow1477; // pow(trace_generator, (safe_div((safe_mult(11273, global_values.trace_length)), 32768))). - assert pow1479 = pow56 * pow1478; // pow(trace_generator, (safe_div((safe_mult(22547, global_values.trace_length)), 65536))). - assert pow1480 = pow56 * pow1479; // pow(trace_generator, (safe_div((safe_mult(5637, global_values.trace_length)), 16384))). - assert pow1481 = pow56 * pow1480; // pow(trace_generator, (safe_div((safe_mult(22549, global_values.trace_length)), 65536))). - assert pow1482 = pow56 * pow1481; // pow(trace_generator, (safe_div((safe_mult(11275, global_values.trace_length)), 32768))). - assert pow1483 = pow56 * pow1482; // pow(trace_generator, (safe_div((safe_mult(22551, global_values.trace_length)), 65536))). - assert pow1484 = pow103 * pow1483; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1485 = pow124 * pow1484; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1486 = pow124 * pow1485; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1487 = pow124 * pow1486; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1488 = pow124 * pow1487; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1489 = pow124 * pow1488; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1490 = pow124 * pow1489; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1491 = pow124 * pow1490; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1492 = pow124 * pow1491; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1493 = pow124 * pow1492; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1494 = pow124 * pow1493; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1495 = pow124 * pow1494; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1496 = pow124 * pow1495; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1497 = pow124 * pow1496; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1498 = pow124 * pow1497; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1499 = pow124 * pow1498; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1500 = pow56 * pow1499; // pow(trace_generator, (safe_div((safe_mult(23553, global_values.trace_length)), 65536))). - assert pow1501 = pow56 * pow1500; // pow(trace_generator, (safe_div((safe_mult(11777, global_values.trace_length)), 32768))). - assert pow1502 = pow56 * pow1501; // pow(trace_generator, (safe_div((safe_mult(23555, global_values.trace_length)), 65536))). - assert pow1503 = pow56 * pow1502; // pow(trace_generator, (safe_div((safe_mult(5889, global_values.trace_length)), 16384))). - assert pow1504 = pow56 * pow1503; // pow(trace_generator, (safe_div((safe_mult(23557, global_values.trace_length)), 65536))). - assert pow1505 = pow56 * pow1504; // pow(trace_generator, (safe_div((safe_mult(11779, global_values.trace_length)), 32768))). - assert pow1506 = pow56 * pow1505; // pow(trace_generator, (safe_div((safe_mult(23559, global_values.trace_length)), 65536))). - assert pow1507 = pow56 * pow1506; // pow(trace_generator, (safe_div((safe_mult(2945, global_values.trace_length)), 8192))). - assert pow1508 = pow56 * pow1507; // pow(trace_generator, (safe_div((safe_mult(23561, global_values.trace_length)), 65536))). - assert pow1509 = pow56 * pow1508; // pow(trace_generator, (safe_div((safe_mult(11781, global_values.trace_length)), 32768))). - assert pow1510 = pow56 * pow1509; // pow(trace_generator, (safe_div((safe_mult(23563, global_values.trace_length)), 65536))). - assert pow1511 = pow56 * pow1510; // pow(trace_generator, (safe_div((safe_mult(5891, global_values.trace_length)), 16384))). - assert pow1512 = pow56 * pow1511; // pow(trace_generator, (safe_div((safe_mult(23565, global_values.trace_length)), 65536))). - assert pow1513 = pow56 * pow1512; // pow(trace_generator, (safe_div((safe_mult(11783, global_values.trace_length)), 32768))). - assert pow1514 = pow56 * pow1513; // pow(trace_generator, (safe_div((safe_mult(23567, global_values.trace_length)), 65536))). - assert pow1515 = pow56 * pow1514; // pow(trace_generator, (safe_div((safe_mult(1473, global_values.trace_length)), 4096))). - assert pow1516 = pow56 * pow1515; // pow(trace_generator, (safe_div((safe_mult(23569, global_values.trace_length)), 65536))). - assert pow1517 = pow56 * pow1516; // pow(trace_generator, (safe_div((safe_mult(11785, global_values.trace_length)), 32768))). - assert pow1518 = pow56 * pow1517; // pow(trace_generator, (safe_div((safe_mult(23571, global_values.trace_length)), 65536))). - assert pow1519 = pow56 * pow1518; // pow(trace_generator, (safe_div((safe_mult(5893, global_values.trace_length)), 16384))). - assert pow1520 = pow56 * pow1519; // pow(trace_generator, (safe_div((safe_mult(23573, global_values.trace_length)), 65536))). - assert pow1521 = pow56 * pow1520; // pow(trace_generator, (safe_div((safe_mult(11787, global_values.trace_length)), 32768))). - assert pow1522 = pow56 * pow1521; // pow(trace_generator, (safe_div((safe_mult(23575, global_values.trace_length)), 65536))). - assert pow1523 = pow103 * pow1522; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1524 = pow124 * pow1523; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1525 = pow124 * pow1524; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1526 = pow124 * pow1525; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1527 = pow124 * pow1526; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1528 = pow124 * pow1527; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1529 = pow124 * pow1528; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). - assert pow1530 = pow604 * pow1529; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1531 = pow56 * pow1530; // pow(trace_generator, (safe_div((safe_mult(24577, global_values.trace_length)), 65536))). - assert pow1532 = pow56 * pow1531; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 32768))). - assert pow1533 = pow56 * pow1532; // pow(trace_generator, (safe_div((safe_mult(24579, global_values.trace_length)), 65536))). - assert pow1534 = pow56 * pow1533; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 16384))). - assert pow1535 = pow56 * pow1534; // pow(trace_generator, (safe_div((safe_mult(24581, global_values.trace_length)), 65536))). - assert pow1536 = pow56 * pow1535; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 32768))). - assert pow1537 = pow56 * pow1536; // pow(trace_generator, (safe_div((safe_mult(24583, global_values.trace_length)), 65536))). - assert pow1538 = pow56 * pow1537; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 8192))). - assert pow1539 = pow56 * pow1538; // pow(trace_generator, (safe_div((safe_mult(24585, global_values.trace_length)), 65536))). - assert pow1540 = pow56 * pow1539; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 32768))). - assert pow1541 = pow56 * pow1540; // pow(trace_generator, (safe_div((safe_mult(24587, global_values.trace_length)), 65536))). - assert pow1542 = pow56 * pow1541; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 16384))). - assert pow1543 = pow56 * pow1542; // pow(trace_generator, (safe_div((safe_mult(24589, global_values.trace_length)), 65536))). - assert pow1544 = pow56 * pow1543; // pow(trace_generator, (safe_div((safe_mult(12295, global_values.trace_length)), 32768))). - assert pow1545 = pow56 * pow1544; // pow(trace_generator, (safe_div((safe_mult(24591, global_values.trace_length)), 65536))). - assert pow1546 = pow56 * pow1545; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 4096))). - assert pow1547 = pow56 * pow1546; // pow(trace_generator, (safe_div((safe_mult(24593, global_values.trace_length)), 65536))). - assert pow1548 = pow56 * pow1547; // pow(trace_generator, (safe_div((safe_mult(12297, global_values.trace_length)), 32768))). - assert pow1549 = pow56 * pow1548; // pow(trace_generator, (safe_div((safe_mult(24595, global_values.trace_length)), 65536))). - assert pow1550 = pow56 * pow1549; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 16384))). - assert pow1551 = pow56 * pow1550; // pow(trace_generator, (safe_div((safe_mult(24597, global_values.trace_length)), 65536))). - assert pow1552 = pow56 * pow1551; // pow(trace_generator, (safe_div((safe_mult(12299, global_values.trace_length)), 32768))). - assert pow1553 = pow56 * pow1552; // pow(trace_generator, (safe_div((safe_mult(24599, global_values.trace_length)), 65536))). - assert pow1554 = pow103 * pow1553; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1555 = pow124 * pow1554; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1556 = pow124 * pow1555; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1557 = pow124 * pow1556; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1558 = pow124 * pow1557; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1559 = pow124 * pow1558; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1560 = pow124 * pow1559; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1561 = pow124 * pow1560; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1562 = pow124 * pow1561; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1563 = pow124 * pow1562; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1564 = pow124 * pow1563; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1565 = pow124 * pow1564; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1566 = pow124 * pow1565; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1567 = pow124 * pow1566; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1568 = pow124 * pow1567; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1569 = pow124 * pow1568; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1570 = pow56 * pow1569; // pow(trace_generator, (safe_div((safe_mult(25601, global_values.trace_length)), 65536))). - assert pow1571 = pow56 * pow1570; // pow(trace_generator, (safe_div((safe_mult(12801, global_values.trace_length)), 32768))). - assert pow1572 = pow56 * pow1571; // pow(trace_generator, (safe_div((safe_mult(25603, global_values.trace_length)), 65536))). - assert pow1573 = pow56 * pow1572; // pow(trace_generator, (safe_div((safe_mult(6401, global_values.trace_length)), 16384))). - assert pow1574 = pow56 * pow1573; // pow(trace_generator, (safe_div((safe_mult(25605, global_values.trace_length)), 65536))). - assert pow1575 = pow56 * pow1574; // pow(trace_generator, (safe_div((safe_mult(12803, global_values.trace_length)), 32768))). - assert pow1576 = pow56 * pow1575; // pow(trace_generator, (safe_div((safe_mult(25607, global_values.trace_length)), 65536))). - assert pow1577 = pow56 * pow1576; // pow(trace_generator, (safe_div((safe_mult(3201, global_values.trace_length)), 8192))). - assert pow1578 = pow56 * pow1577; // pow(trace_generator, (safe_div((safe_mult(25609, global_values.trace_length)), 65536))). - assert pow1579 = pow56 * pow1578; // pow(trace_generator, (safe_div((safe_mult(12805, global_values.trace_length)), 32768))). - assert pow1580 = pow56 * pow1579; // pow(trace_generator, (safe_div((safe_mult(25611, global_values.trace_length)), 65536))). - assert pow1581 = pow56 * pow1580; // pow(trace_generator, (safe_div((safe_mult(6403, global_values.trace_length)), 16384))). - assert pow1582 = pow56 * pow1581; // pow(trace_generator, (safe_div((safe_mult(25613, global_values.trace_length)), 65536))). - assert pow1583 = pow56 * pow1582; // pow(trace_generator, (safe_div((safe_mult(12807, global_values.trace_length)), 32768))). - assert pow1584 = pow56 * pow1583; // pow(trace_generator, (safe_div((safe_mult(25615, global_values.trace_length)), 65536))). - assert pow1585 = pow56 * pow1584; // pow(trace_generator, (safe_div((safe_mult(1601, global_values.trace_length)), 4096))). - assert pow1586 = pow56 * pow1585; // pow(trace_generator, (safe_div((safe_mult(25617, global_values.trace_length)), 65536))). - assert pow1587 = pow56 * pow1586; // pow(trace_generator, (safe_div((safe_mult(12809, global_values.trace_length)), 32768))). - assert pow1588 = pow56 * pow1587; // pow(trace_generator, (safe_div((safe_mult(25619, global_values.trace_length)), 65536))). - assert pow1589 = pow56 * pow1588; // pow(trace_generator, (safe_div((safe_mult(6405, global_values.trace_length)), 16384))). - assert pow1590 = pow56 * pow1589; // pow(trace_generator, (safe_div((safe_mult(25621, global_values.trace_length)), 65536))). - assert pow1591 = pow56 * pow1590; // pow(trace_generator, (safe_div((safe_mult(12811, global_values.trace_length)), 32768))). - assert pow1592 = pow56 * pow1591; // pow(trace_generator, (safe_div((safe_mult(25623, global_values.trace_length)), 65536))). - assert pow1593 = pow103 * pow1592; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1594 = pow124 * pow1593; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1595 = pow124 * pow1594; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1596 = pow124 * pow1595; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1597 = pow124 * pow1596; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1598 = pow124 * pow1597; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1599 = pow124 * pow1598; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). - assert pow1600 = pow604 * pow1599; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 32))). - assert pow1601 = pow817 * pow1600; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 64))). - assert pow1602 = pow56 * pow1600; // pow(trace_generator, (safe_div((safe_mult(26625, global_values.trace_length)), 65536))). - assert pow1603 = pow56 * pow1601; // pow(trace_generator, (safe_div((safe_mult(27649, global_values.trace_length)), 65536))). - assert pow1604 = pow56 * pow1602; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 32768))). - assert pow1605 = pow56 * pow1603; // pow(trace_generator, (safe_div((safe_mult(13825, global_values.trace_length)), 32768))). - assert pow1606 = pow56 * pow1604; // pow(trace_generator, (safe_div((safe_mult(26627, global_values.trace_length)), 65536))). - assert pow1607 = pow56 * pow1605; // pow(trace_generator, (safe_div((safe_mult(27651, global_values.trace_length)), 65536))). - assert pow1608 = pow56 * pow1606; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 16384))). - assert pow1609 = pow56 * pow1607; // pow(trace_generator, (safe_div((safe_mult(6913, global_values.trace_length)), 16384))). - assert pow1610 = pow56 * pow1608; // pow(trace_generator, (safe_div((safe_mult(26629, global_values.trace_length)), 65536))). - assert pow1611 = pow56 * pow1609; // pow(trace_generator, (safe_div((safe_mult(27653, global_values.trace_length)), 65536))). - assert pow1612 = pow56 * pow1610; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 32768))). - assert pow1613 = pow56 * pow1611; // pow(trace_generator, (safe_div((safe_mult(13827, global_values.trace_length)), 32768))). - assert pow1614 = pow56 * pow1612; // pow(trace_generator, (safe_div((safe_mult(26631, global_values.trace_length)), 65536))). - assert pow1615 = pow56 * pow1613; // pow(trace_generator, (safe_div((safe_mult(27655, global_values.trace_length)), 65536))). - assert pow1616 = pow56 * pow1614; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 8192))). - assert pow1617 = pow56 * pow1616; // pow(trace_generator, (safe_div((safe_mult(26633, global_values.trace_length)), 65536))). - assert pow1618 = pow56 * pow1617; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 32768))). - assert pow1619 = pow56 * pow1618; // pow(trace_generator, (safe_div((safe_mult(26635, global_values.trace_length)), 65536))). - assert pow1620 = pow56 * pow1619; // pow(trace_generator, (safe_div((safe_mult(6659, global_values.trace_length)), 16384))). - assert pow1621 = pow56 * pow1620; // pow(trace_generator, (safe_div((safe_mult(26637, global_values.trace_length)), 65536))). - assert pow1622 = pow56 * pow1621; // pow(trace_generator, (safe_div((safe_mult(13319, global_values.trace_length)), 32768))). - assert pow1623 = pow56 * pow1622; // pow(trace_generator, (safe_div((safe_mult(26639, global_values.trace_length)), 65536))). - assert pow1624 = pow56 * pow1623; // pow(trace_generator, (safe_div((safe_mult(1665, global_values.trace_length)), 4096))). - assert pow1625 = pow56 * pow1624; // pow(trace_generator, (safe_div((safe_mult(26641, global_values.trace_length)), 65536))). - assert pow1626 = pow56 * pow1625; // pow(trace_generator, (safe_div((safe_mult(13321, global_values.trace_length)), 32768))). - assert pow1627 = pow56 * pow1626; // pow(trace_generator, (safe_div((safe_mult(26643, global_values.trace_length)), 65536))). - assert pow1628 = pow56 * pow1627; // pow(trace_generator, (safe_div((safe_mult(6661, global_values.trace_length)), 16384))). - assert pow1629 = pow56 * pow1628; // pow(trace_generator, (safe_div((safe_mult(26645, global_values.trace_length)), 65536))). - assert pow1630 = pow56 * pow1629; // pow(trace_generator, (safe_div((safe_mult(13323, global_values.trace_length)), 32768))). - assert pow1631 = pow56 * pow1630; // pow(trace_generator, (safe_div((safe_mult(26647, global_values.trace_length)), 65536))). - assert pow1632 = pow56 * pow1615; // pow(trace_generator, (safe_div((safe_mult(3457, global_values.trace_length)), 8192))). - assert pow1633 = pow56 * pow1632; // pow(trace_generator, (safe_div((safe_mult(27657, global_values.trace_length)), 65536))). - assert pow1634 = pow56 * pow1633; // pow(trace_generator, (safe_div((safe_mult(13829, global_values.trace_length)), 32768))). - assert pow1635 = pow56 * pow1634; // pow(trace_generator, (safe_div((safe_mult(27659, global_values.trace_length)), 65536))). - assert pow1636 = pow56 * pow1635; // pow(trace_generator, (safe_div((safe_mult(6915, global_values.trace_length)), 16384))). - assert pow1637 = pow56 * pow1636; // pow(trace_generator, (safe_div((safe_mult(27661, global_values.trace_length)), 65536))). - assert pow1638 = pow56 * pow1637; // pow(trace_generator, (safe_div((safe_mult(13831, global_values.trace_length)), 32768))). - assert pow1639 = pow56 * pow1638; // pow(trace_generator, (safe_div((safe_mult(27663, global_values.trace_length)), 65536))). - assert pow1640 = pow56 * pow1639; // pow(trace_generator, (safe_div((safe_mult(1729, global_values.trace_length)), 4096))). - assert pow1641 = pow56 * pow1640; // pow(trace_generator, (safe_div((safe_mult(27665, global_values.trace_length)), 65536))). - assert pow1642 = pow56 * pow1641; // pow(trace_generator, (safe_div((safe_mult(13833, global_values.trace_length)), 32768))). - assert pow1643 = pow56 * pow1642; // pow(trace_generator, (safe_div((safe_mult(27667, global_values.trace_length)), 65536))). - assert pow1644 = pow56 * pow1643; // pow(trace_generator, (safe_div((safe_mult(6917, global_values.trace_length)), 16384))). - assert pow1645 = pow56 * pow1644; // pow(trace_generator, (safe_div((safe_mult(27669, global_values.trace_length)), 65536))). - assert pow1646 = pow56 * pow1645; // pow(trace_generator, (safe_div((safe_mult(13835, global_values.trace_length)), 32768))). - assert pow1647 = pow56 * pow1646; // pow(trace_generator, (safe_div((safe_mult(27671, global_values.trace_length)), 65536))). - assert pow1648 = pow887 * pow1601; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1649 = pow124 * pow1648; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1650 = pow124 * pow1649; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1651 = pow124 * pow1650; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1652 = pow124 * pow1651; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1653 = pow124 * pow1652; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1654 = pow124 * pow1653; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1655 = pow124 * pow1654; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1656 = pow124 * pow1655; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1657 = pow124 * pow1656; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1658 = pow124 * pow1657; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1659 = pow124 * pow1658; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1660 = pow124 * pow1659; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1661 = pow124 * pow1660; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1662 = pow124 * pow1661; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1663 = pow124 * pow1662; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1664 = pow124 * pow1663; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1665 = pow56 * pow1664; // pow(trace_generator, (safe_div(global_values.trace_length, 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1666 = pow56 * pow1665; // pow(trace_generator, (safe_div(global_values.trace_length, 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1667 = pow56 * pow1666; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1668 = pow56 * pow1667; // pow(trace_generator, (safe_div(global_values.trace_length, 16384)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1669 = pow56 * pow1668; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1670 = pow56 * pow1669; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1671 = pow56 * pow1670; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1672 = pow56 * pow1671; // pow(trace_generator, (safe_div(global_values.trace_length, 8192)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1673 = pow56 * pow1672; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1674 = pow56 * pow1673; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1675 = pow56 * pow1674; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1676 = pow56 * pow1675; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16384)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1677 = pow56 * pow1676; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1678 = pow56 * pow1677; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1679 = pow56 * pow1678; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1680 = pow56 * pow1679; // pow(trace_generator, (safe_div(global_values.trace_length, 4096)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1681 = pow56 * pow1680; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1682 = pow56 * pow1681; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1683 = pow56 * pow1682; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1684 = pow56 * pow1683; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16384)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1685 = pow56 * pow1684; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1686 = pow56 * pow1685; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1687 = pow56 * pow1686; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). - assert pow1688 = pow103 * pow1687; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1689 = pow124 * pow1688; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1690 = pow124 * pow1689; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1691 = pow124 * pow1690; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1692 = pow124 * pow1691; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1693 = pow124 * pow1692; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1694 = pow124 * pow1693; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). - assert pow1695 = pow604 * pow1694; // pow(trace_generator, (safe_div(global_values.trace_length, 2))). - assert pow1696 = pow124 * pow1695; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1697 = pow124 * pow1696; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div(global_values.trace_length, 2))). - assert pow1698 = pow124 * pow1697; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1699 = pow124 * pow1698; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div(global_values.trace_length, 2))). - assert pow1700 = pow124 * pow1699; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1701 = pow124 * pow1700; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). - assert pow1702 = pow124 * pow1701; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1703 = pow124 * pow1702; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div(global_values.trace_length, 2))). - assert pow1704 = pow124 * pow1703; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1705 = pow124 * pow1704; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). - assert pow1706 = pow124 * pow1705; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1707 = pow124 * pow1706; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 2))). - assert pow1708 = pow124 * pow1707; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1709 = pow124 * pow1708; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). - assert pow1710 = pow124 * pow1709; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1711 = pow124 * pow1710; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div(global_values.trace_length, 2))). - assert pow1712 = pow124 * pow1711; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1713 = pow124 * pow1712; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). - assert pow1714 = pow124 * pow1713; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1715 = pow124 * pow1714; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 2))). - assert pow1716 = pow124 * pow1715; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1717 = pow124 * pow1716; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). - assert pow1718 = pow124 * pow1717; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). - assert pow1719 = pow604 * pow1718; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1720 = pow124 * pow1719; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1721 = pow124 * pow1720; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1722 = pow124 * pow1721; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1723 = pow124 * pow1722; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1724 = pow124 * pow1723; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1725 = pow124 * pow1724; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1726 = pow124 * pow1725; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1727 = pow124 * pow1726; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1728 = pow124 * pow1727; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1729 = pow124 * pow1728; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1730 = pow124 * pow1729; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1731 = pow124 * pow1730; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1732 = pow124 * pow1731; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1733 = pow124 * pow1732; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1734 = pow124 * pow1733; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1735 = pow124 * pow1734; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1736 = pow124 * pow1735; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1737 = pow124 * pow1736; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1738 = pow124 * pow1737; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1739 = pow124 * pow1738; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1740 = pow124 * pow1739; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1741 = pow124 * pow1740; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1742 = pow124 * pow1741; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). - assert pow1743 = pow604 * pow1742; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 16))). - assert pow1744 = pow56 * pow1743; // pow(trace_generator, (safe_div((safe_mult(36865, global_values.trace_length)), 65536))). - assert pow1745 = pow56 * pow1744; // pow(trace_generator, (safe_div((safe_mult(18433, global_values.trace_length)), 32768))). - assert pow1746 = pow56 * pow1745; // pow(trace_generator, (safe_div((safe_mult(36867, global_values.trace_length)), 65536))). - assert pow1747 = pow56 * pow1746; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 16384))). - assert pow1748 = pow56 * pow1747; // pow(trace_generator, (safe_div((safe_mult(36869, global_values.trace_length)), 65536))). - assert pow1749 = pow56 * pow1748; // pow(trace_generator, (safe_div((safe_mult(18435, global_values.trace_length)), 32768))). - assert pow1750 = pow56 * pow1749; // pow(trace_generator, (safe_div((safe_mult(36871, global_values.trace_length)), 65536))). - assert pow1751 = pow56 * pow1750; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 8192))). - assert pow1752 = pow56 * pow1751; // pow(trace_generator, (safe_div((safe_mult(36873, global_values.trace_length)), 65536))). - assert pow1753 = pow56 * pow1752; // pow(trace_generator, (safe_div((safe_mult(18437, global_values.trace_length)), 32768))). - assert pow1754 = pow56 * pow1753; // pow(trace_generator, (safe_div((safe_mult(36875, global_values.trace_length)), 65536))). - assert pow1755 = pow56 * pow1754; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 16384))). - assert pow1756 = pow56 * pow1755; // pow(trace_generator, (safe_div((safe_mult(36877, global_values.trace_length)), 65536))). - assert pow1757 = pow56 * pow1756; // pow(trace_generator, (safe_div((safe_mult(18439, global_values.trace_length)), 32768))). - assert pow1758 = pow56 * pow1757; // pow(trace_generator, (safe_div((safe_mult(36879, global_values.trace_length)), 65536))). - assert pow1759 = pow56 * pow1758; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 4096))). - assert pow1760 = pow56 * pow1759; // pow(trace_generator, (safe_div((safe_mult(36881, global_values.trace_length)), 65536))). - assert pow1761 = pow56 * pow1760; // pow(trace_generator, (safe_div((safe_mult(18441, global_values.trace_length)), 32768))). - assert pow1762 = pow56 * pow1761; // pow(trace_generator, (safe_div((safe_mult(36883, global_values.trace_length)), 65536))). - assert pow1763 = pow56 * pow1762; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 16384))). - assert pow1764 = pow56 * pow1763; // pow(trace_generator, (safe_div((safe_mult(36885, global_values.trace_length)), 65536))). - assert pow1765 = pow56 * pow1764; // pow(trace_generator, (safe_div((safe_mult(18443, global_values.trace_length)), 32768))). - assert pow1766 = pow56 * pow1765; // pow(trace_generator, (safe_div((safe_mult(36887, global_values.trace_length)), 65536))). - assert pow1767 = pow817 * pow1743; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 64))). - assert pow1768 = pow56 * pow1767; // pow(trace_generator, (safe_div((safe_mult(37889, global_values.trace_length)), 65536))). - assert pow1769 = pow56 * pow1768; // pow(trace_generator, (safe_div((safe_mult(18945, global_values.trace_length)), 32768))). - assert pow1770 = pow56 * pow1769; // pow(trace_generator, (safe_div((safe_mult(37891, global_values.trace_length)), 65536))). - assert pow1771 = pow56 * pow1770; // pow(trace_generator, (safe_div((safe_mult(9473, global_values.trace_length)), 16384))). - assert pow1772 = pow56 * pow1771; // pow(trace_generator, (safe_div((safe_mult(37893, global_values.trace_length)), 65536))). - assert pow1773 = pow56 * pow1772; // pow(trace_generator, (safe_div((safe_mult(18947, global_values.trace_length)), 32768))). - assert pow1774 = pow56 * pow1773; // pow(trace_generator, (safe_div((safe_mult(37895, global_values.trace_length)), 65536))). - assert pow1775 = pow56 * pow1774; // pow(trace_generator, (safe_div((safe_mult(4737, global_values.trace_length)), 8192))). - assert pow1776 = pow56 * pow1775; // pow(trace_generator, (safe_div((safe_mult(37897, global_values.trace_length)), 65536))). - assert pow1777 = pow56 * pow1776; // pow(trace_generator, (safe_div((safe_mult(18949, global_values.trace_length)), 32768))). - assert pow1778 = pow56 * pow1777; // pow(trace_generator, (safe_div((safe_mult(37899, global_values.trace_length)), 65536))). - assert pow1779 = pow56 * pow1778; // pow(trace_generator, (safe_div((safe_mult(9475, global_values.trace_length)), 16384))). - assert pow1780 = pow56 * pow1779; // pow(trace_generator, (safe_div((safe_mult(37901, global_values.trace_length)), 65536))). - assert pow1781 = pow56 * pow1780; // pow(trace_generator, (safe_div((safe_mult(18951, global_values.trace_length)), 32768))). - assert pow1782 = pow56 * pow1781; // pow(trace_generator, (safe_div((safe_mult(37903, global_values.trace_length)), 65536))). - assert pow1783 = pow56 * pow1782; // pow(trace_generator, (safe_div((safe_mult(2369, global_values.trace_length)), 4096))). - assert pow1784 = pow56 * pow1783; // pow(trace_generator, (safe_div((safe_mult(37905, global_values.trace_length)), 65536))). - assert pow1785 = pow56 * pow1784; // pow(trace_generator, (safe_div((safe_mult(18953, global_values.trace_length)), 32768))). - assert pow1786 = pow56 * pow1785; // pow(trace_generator, (safe_div((safe_mult(37907, global_values.trace_length)), 65536))). - assert pow1787 = pow56 * pow1786; // pow(trace_generator, (safe_div((safe_mult(9477, global_values.trace_length)), 16384))). - assert pow1788 = pow56 * pow1787; // pow(trace_generator, (safe_div((safe_mult(37909, global_values.trace_length)), 65536))). - assert pow1789 = pow56 * pow1788; // pow(trace_generator, (safe_div((safe_mult(18955, global_values.trace_length)), 32768))). - assert pow1790 = pow56 * pow1789; // pow(trace_generator, (safe_div((safe_mult(37911, global_values.trace_length)), 65536))). - assert pow1791 = pow817 * pow1767; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32))). - assert pow1792 = pow56 * pow1791; // pow(trace_generator, (safe_div((safe_mult(38913, global_values.trace_length)), 65536))). - assert pow1793 = pow56 * pow1792; // pow(trace_generator, (safe_div((safe_mult(19457, global_values.trace_length)), 32768))). - assert pow1794 = pow56 * pow1793; // pow(trace_generator, (safe_div((safe_mult(38915, global_values.trace_length)), 65536))). - assert pow1795 = pow56 * pow1794; // pow(trace_generator, (safe_div((safe_mult(9729, global_values.trace_length)), 16384))). - assert pow1796 = pow56 * pow1795; // pow(trace_generator, (safe_div((safe_mult(38917, global_values.trace_length)), 65536))). - assert pow1797 = pow56 * pow1796; // pow(trace_generator, (safe_div((safe_mult(19459, global_values.trace_length)), 32768))). - assert pow1798 = pow56 * pow1797; // pow(trace_generator, (safe_div((safe_mult(38919, global_values.trace_length)), 65536))). - assert pow1799 = pow56 * pow1798; // pow(trace_generator, (safe_div((safe_mult(4865, global_values.trace_length)), 8192))). - assert pow1800 = pow56 * pow1799; // pow(trace_generator, (safe_div((safe_mult(38921, global_values.trace_length)), 65536))). - assert pow1801 = pow56 * pow1800; // pow(trace_generator, (safe_div((safe_mult(19461, global_values.trace_length)), 32768))). - assert pow1802 = pow56 * pow1801; // pow(trace_generator, (safe_div((safe_mult(38923, global_values.trace_length)), 65536))). - assert pow1803 = pow56 * pow1802; // pow(trace_generator, (safe_div((safe_mult(9731, global_values.trace_length)), 16384))). - assert pow1804 = pow56 * pow1803; // pow(trace_generator, (safe_div((safe_mult(38925, global_values.trace_length)), 65536))). - assert pow1805 = pow56 * pow1804; // pow(trace_generator, (safe_div((safe_mult(19463, global_values.trace_length)), 32768))). - assert pow1806 = pow56 * pow1805; // pow(trace_generator, (safe_div((safe_mult(38927, global_values.trace_length)), 65536))). - assert pow1807 = pow56 * pow1806; // pow(trace_generator, (safe_div((safe_mult(2433, global_values.trace_length)), 4096))). - assert pow1808 = pow56 * pow1807; // pow(trace_generator, (safe_div((safe_mult(38929, global_values.trace_length)), 65536))). - assert pow1809 = pow56 * pow1808; // pow(trace_generator, (safe_div((safe_mult(19465, global_values.trace_length)), 32768))). - assert pow1810 = pow56 * pow1809; // pow(trace_generator, (safe_div((safe_mult(38931, global_values.trace_length)), 65536))). - assert pow1811 = pow56 * pow1810; // pow(trace_generator, (safe_div((safe_mult(9733, global_values.trace_length)), 16384))). - assert pow1812 = pow56 * pow1811; // pow(trace_generator, (safe_div((safe_mult(38933, global_values.trace_length)), 65536))). - assert pow1813 = pow56 * pow1812; // pow(trace_generator, (safe_div((safe_mult(19467, global_values.trace_length)), 32768))). - assert pow1814 = pow56 * pow1813; // pow(trace_generator, (safe_div((safe_mult(38935, global_values.trace_length)), 65536))). - assert pow1815 = pow817 * pow1791; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 64))). - assert pow1816 = pow56 * pow1815; // pow(trace_generator, (safe_div((safe_mult(39937, global_values.trace_length)), 65536))). - assert pow1817 = pow56 * pow1816; // pow(trace_generator, (safe_div((safe_mult(19969, global_values.trace_length)), 32768))). - assert pow1818 = pow56 * pow1817; // pow(trace_generator, (safe_div((safe_mult(39939, global_values.trace_length)), 65536))). - assert pow1819 = pow56 * pow1818; // pow(trace_generator, (safe_div((safe_mult(9985, global_values.trace_length)), 16384))). - assert pow1820 = pow56 * pow1819; // pow(trace_generator, (safe_div((safe_mult(39941, global_values.trace_length)), 65536))). - assert pow1821 = pow56 * pow1820; // pow(trace_generator, (safe_div((safe_mult(19971, global_values.trace_length)), 32768))). - assert pow1822 = pow56 * pow1821; // pow(trace_generator, (safe_div((safe_mult(39943, global_values.trace_length)), 65536))). - assert pow1823 = pow56 * pow1822; // pow(trace_generator, (safe_div((safe_mult(4993, global_values.trace_length)), 8192))). - assert pow1824 = pow56 * pow1823; // pow(trace_generator, (safe_div((safe_mult(39945, global_values.trace_length)), 65536))). - assert pow1825 = pow56 * pow1824; // pow(trace_generator, (safe_div((safe_mult(19973, global_values.trace_length)), 32768))). - assert pow1826 = pow56 * pow1825; // pow(trace_generator, (safe_div((safe_mult(39947, global_values.trace_length)), 65536))). - assert pow1827 = pow56 * pow1826; // pow(trace_generator, (safe_div((safe_mult(9987, global_values.trace_length)), 16384))). - assert pow1828 = pow56 * pow1827; // pow(trace_generator, (safe_div((safe_mult(39949, global_values.trace_length)), 65536))). - assert pow1829 = pow56 * pow1828; // pow(trace_generator, (safe_div((safe_mult(19975, global_values.trace_length)), 32768))). - assert pow1830 = pow56 * pow1829; // pow(trace_generator, (safe_div((safe_mult(39951, global_values.trace_length)), 65536))). - assert pow1831 = pow56 * pow1830; // pow(trace_generator, (safe_div((safe_mult(2497, global_values.trace_length)), 4096))). - assert pow1832 = pow56 * pow1831; // pow(trace_generator, (safe_div((safe_mult(39953, global_values.trace_length)), 65536))). - assert pow1833 = pow56 * pow1832; // pow(trace_generator, (safe_div((safe_mult(19977, global_values.trace_length)), 32768))). - assert pow1834 = pow56 * pow1833; // pow(trace_generator, (safe_div((safe_mult(39955, global_values.trace_length)), 65536))). - assert pow1835 = pow56 * pow1834; // pow(trace_generator, (safe_div((safe_mult(9989, global_values.trace_length)), 16384))). - assert pow1836 = pow56 * pow1835; // pow(trace_generator, (safe_div((safe_mult(39957, global_values.trace_length)), 65536))). - assert pow1837 = pow56 * pow1836; // pow(trace_generator, (safe_div((safe_mult(19979, global_values.trace_length)), 32768))). - assert pow1838 = pow56 * pow1837; // pow(trace_generator, (safe_div((safe_mult(39959, global_values.trace_length)), 65536))). - assert pow1839 = pow817 * pow1815; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1840 = pow56 * pow1839; // pow(trace_generator, (safe_div((safe_mult(40961, global_values.trace_length)), 65536))). - assert pow1841 = pow56 * pow1840; // pow(trace_generator, (safe_div((safe_mult(20481, global_values.trace_length)), 32768))). - assert pow1842 = pow56 * pow1841; // pow(trace_generator, (safe_div((safe_mult(40963, global_values.trace_length)), 65536))). - assert pow1843 = pow56 * pow1842; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 16384))). - assert pow1844 = pow56 * pow1843; // pow(trace_generator, (safe_div((safe_mult(40965, global_values.trace_length)), 65536))). - assert pow1845 = pow56 * pow1844; // pow(trace_generator, (safe_div((safe_mult(20483, global_values.trace_length)), 32768))). - assert pow1846 = pow56 * pow1845; // pow(trace_generator, (safe_div((safe_mult(40967, global_values.trace_length)), 65536))). - assert pow1847 = pow56 * pow1846; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 8192))). - assert pow1848 = pow56 * pow1847; // pow(trace_generator, (safe_div((safe_mult(40969, global_values.trace_length)), 65536))). - assert pow1849 = pow56 * pow1848; // pow(trace_generator, (safe_div((safe_mult(20485, global_values.trace_length)), 32768))). - assert pow1850 = pow56 * pow1849; // pow(trace_generator, (safe_div((safe_mult(40971, global_values.trace_length)), 65536))). - assert pow1851 = pow56 * pow1850; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 16384))). - assert pow1852 = pow56 * pow1851; // pow(trace_generator, (safe_div((safe_mult(40973, global_values.trace_length)), 65536))). - assert pow1853 = pow56 * pow1852; // pow(trace_generator, (safe_div((safe_mult(20487, global_values.trace_length)), 32768))). - assert pow1854 = pow56 * pow1853; // pow(trace_generator, (safe_div((safe_mult(40975, global_values.trace_length)), 65536))). - assert pow1855 = pow56 * pow1854; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 4096))). - assert pow1856 = pow56 * pow1855; // pow(trace_generator, (safe_div((safe_mult(40977, global_values.trace_length)), 65536))). - assert pow1857 = pow56 * pow1856; // pow(trace_generator, (safe_div((safe_mult(20489, global_values.trace_length)), 32768))). - assert pow1858 = pow56 * pow1857; // pow(trace_generator, (safe_div((safe_mult(40979, global_values.trace_length)), 65536))). - assert pow1859 = pow56 * pow1858; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 16384))). - assert pow1860 = pow56 * pow1859; // pow(trace_generator, (safe_div((safe_mult(40981, global_values.trace_length)), 65536))). - assert pow1861 = pow56 * pow1860; // pow(trace_generator, (safe_div((safe_mult(20491, global_values.trace_length)), 32768))). - assert pow1862 = pow56 * pow1861; // pow(trace_generator, (safe_div((safe_mult(40983, global_values.trace_length)), 65536))). - assert pow1863 = pow103 * pow1862; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1864 = pow124 * pow1863; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1865 = pow124 * pow1864; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1866 = pow124 * pow1865; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1867 = pow124 * pow1866; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1868 = pow124 * pow1867; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1869 = pow124 * pow1868; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1870 = pow124 * pow1869; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1871 = pow124 * pow1870; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1872 = pow124 * pow1871; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1873 = pow124 * pow1872; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1874 = pow124 * pow1873; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1875 = pow124 * pow1874; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1876 = pow124 * pow1875; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1877 = pow124 * pow1876; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1878 = pow124 * pow1877; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1879 = pow56 * pow1878; // pow(trace_generator, (safe_div((safe_mult(41985, global_values.trace_length)), 65536))). - assert pow1880 = pow56 * pow1879; // pow(trace_generator, (safe_div((safe_mult(20993, global_values.trace_length)), 32768))). - assert pow1881 = pow56 * pow1880; // pow(trace_generator, (safe_div((safe_mult(41987, global_values.trace_length)), 65536))). - assert pow1882 = pow56 * pow1881; // pow(trace_generator, (safe_div((safe_mult(10497, global_values.trace_length)), 16384))). - assert pow1883 = pow56 * pow1882; // pow(trace_generator, (safe_div((safe_mult(41989, global_values.trace_length)), 65536))). - assert pow1884 = pow56 * pow1883; // pow(trace_generator, (safe_div((safe_mult(20995, global_values.trace_length)), 32768))). - assert pow1885 = pow56 * pow1884; // pow(trace_generator, (safe_div((safe_mult(41991, global_values.trace_length)), 65536))). - assert pow1886 = pow56 * pow1885; // pow(trace_generator, (safe_div((safe_mult(5249, global_values.trace_length)), 8192))). - assert pow1887 = pow56 * pow1886; // pow(trace_generator, (safe_div((safe_mult(41993, global_values.trace_length)), 65536))). - assert pow1888 = pow56 * pow1887; // pow(trace_generator, (safe_div((safe_mult(20997, global_values.trace_length)), 32768))). - assert pow1889 = pow56 * pow1888; // pow(trace_generator, (safe_div((safe_mult(41995, global_values.trace_length)), 65536))). - assert pow1890 = pow56 * pow1889; // pow(trace_generator, (safe_div((safe_mult(10499, global_values.trace_length)), 16384))). - assert pow1891 = pow56 * pow1890; // pow(trace_generator, (safe_div((safe_mult(41997, global_values.trace_length)), 65536))). - assert pow1892 = pow56 * pow1891; // pow(trace_generator, (safe_div((safe_mult(20999, global_values.trace_length)), 32768))). - assert pow1893 = pow56 * pow1892; // pow(trace_generator, (safe_div((safe_mult(41999, global_values.trace_length)), 65536))). - assert pow1894 = pow56 * pow1893; // pow(trace_generator, (safe_div((safe_mult(2625, global_values.trace_length)), 4096))). - assert pow1895 = pow56 * pow1894; // pow(trace_generator, (safe_div((safe_mult(42001, global_values.trace_length)), 65536))). - assert pow1896 = pow56 * pow1895; // pow(trace_generator, (safe_div((safe_mult(21001, global_values.trace_length)), 32768))). - assert pow1897 = pow56 * pow1896; // pow(trace_generator, (safe_div((safe_mult(42003, global_values.trace_length)), 65536))). - assert pow1898 = pow56 * pow1897; // pow(trace_generator, (safe_div((safe_mult(10501, global_values.trace_length)), 16384))). - assert pow1899 = pow56 * pow1898; // pow(trace_generator, (safe_div((safe_mult(42005, global_values.trace_length)), 65536))). - assert pow1900 = pow56 * pow1899; // pow(trace_generator, (safe_div((safe_mult(21003, global_values.trace_length)), 32768))). - assert pow1901 = pow56 * pow1900; // pow(trace_generator, (safe_div((safe_mult(42007, global_values.trace_length)), 65536))). - assert pow1902 = pow103 * pow1901; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1903 = pow124 * pow1902; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1904 = pow124 * pow1903; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1905 = pow124 * pow1904; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1906 = pow124 * pow1905; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1907 = pow124 * pow1906; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1908 = pow124 * pow1907; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). - assert pow1909 = pow604 * pow1908; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1910 = pow56 * pow1909; // pow(trace_generator, (safe_div((safe_mult(43009, global_values.trace_length)), 65536))). - assert pow1911 = pow56 * pow1910; // pow(trace_generator, (safe_div((safe_mult(21505, global_values.trace_length)), 32768))). - assert pow1912 = pow56 * pow1911; // pow(trace_generator, (safe_div((safe_mult(43011, global_values.trace_length)), 65536))). - assert pow1913 = pow56 * pow1912; // pow(trace_generator, (safe_div((safe_mult(10753, global_values.trace_length)), 16384))). - assert pow1914 = pow56 * pow1913; // pow(trace_generator, (safe_div((safe_mult(43013, global_values.trace_length)), 65536))). - assert pow1915 = pow56 * pow1914; // pow(trace_generator, (safe_div((safe_mult(21507, global_values.trace_length)), 32768))). - assert pow1916 = pow56 * pow1915; // pow(trace_generator, (safe_div((safe_mult(43015, global_values.trace_length)), 65536))). - assert pow1917 = pow56 * pow1916; // pow(trace_generator, (safe_div((safe_mult(5377, global_values.trace_length)), 8192))). - assert pow1918 = pow56 * pow1917; // pow(trace_generator, (safe_div((safe_mult(43017, global_values.trace_length)), 65536))). - assert pow1919 = pow56 * pow1918; // pow(trace_generator, (safe_div((safe_mult(21509, global_values.trace_length)), 32768))). - assert pow1920 = pow56 * pow1919; // pow(trace_generator, (safe_div((safe_mult(43019, global_values.trace_length)), 65536))). - assert pow1921 = pow56 * pow1920; // pow(trace_generator, (safe_div((safe_mult(10755, global_values.trace_length)), 16384))). - assert pow1922 = pow56 * pow1921; // pow(trace_generator, (safe_div((safe_mult(43021, global_values.trace_length)), 65536))). - assert pow1923 = pow56 * pow1922; // pow(trace_generator, (safe_div((safe_mult(21511, global_values.trace_length)), 32768))). - assert pow1924 = pow56 * pow1923; // pow(trace_generator, (safe_div((safe_mult(43023, global_values.trace_length)), 65536))). - assert pow1925 = pow56 * pow1924; // pow(trace_generator, (safe_div((safe_mult(2689, global_values.trace_length)), 4096))). - assert pow1926 = pow56 * pow1925; // pow(trace_generator, (safe_div((safe_mult(43025, global_values.trace_length)), 65536))). - assert pow1927 = pow56 * pow1926; // pow(trace_generator, (safe_div((safe_mult(21513, global_values.trace_length)), 32768))). - assert pow1928 = pow56 * pow1927; // pow(trace_generator, (safe_div((safe_mult(43027, global_values.trace_length)), 65536))). - assert pow1929 = pow56 * pow1928; // pow(trace_generator, (safe_div((safe_mult(10757, global_values.trace_length)), 16384))). - assert pow1930 = pow56 * pow1929; // pow(trace_generator, (safe_div((safe_mult(43029, global_values.trace_length)), 65536))). - assert pow1931 = pow56 * pow1930; // pow(trace_generator, (safe_div((safe_mult(21515, global_values.trace_length)), 32768))). - assert pow1932 = pow56 * pow1931; // pow(trace_generator, (safe_div((safe_mult(43031, global_values.trace_length)), 65536))). - assert pow1933 = pow103 * pow1932; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1934 = pow124 * pow1933; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1935 = pow124 * pow1934; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1936 = pow124 * pow1935; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1937 = pow124 * pow1936; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1938 = pow124 * pow1937; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1939 = pow124 * pow1938; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1940 = pow124 * pow1939; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1941 = pow124 * pow1940; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1942 = pow124 * pow1941; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1943 = pow124 * pow1942; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1944 = pow124 * pow1943; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1945 = pow124 * pow1944; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1946 = pow124 * pow1945; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1947 = pow124 * pow1946; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1948 = pow124 * pow1947; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1949 = pow56 * pow1948; // pow(trace_generator, (safe_div((safe_mult(44033, global_values.trace_length)), 65536))). - assert pow1950 = pow56 * pow1949; // pow(trace_generator, (safe_div((safe_mult(22017, global_values.trace_length)), 32768))). - assert pow1951 = pow56 * pow1950; // pow(trace_generator, (safe_div((safe_mult(44035, global_values.trace_length)), 65536))). - assert pow1952 = pow56 * pow1951; // pow(trace_generator, (safe_div((safe_mult(11009, global_values.trace_length)), 16384))). - assert pow1953 = pow56 * pow1952; // pow(trace_generator, (safe_div((safe_mult(44037, global_values.trace_length)), 65536))). - assert pow1954 = pow56 * pow1953; // pow(trace_generator, (safe_div((safe_mult(22019, global_values.trace_length)), 32768))). - assert pow1955 = pow56 * pow1954; // pow(trace_generator, (safe_div((safe_mult(44039, global_values.trace_length)), 65536))). - assert pow1956 = pow56 * pow1955; // pow(trace_generator, (safe_div((safe_mult(5505, global_values.trace_length)), 8192))). - assert pow1957 = pow56 * pow1956; // pow(trace_generator, (safe_div((safe_mult(44041, global_values.trace_length)), 65536))). - assert pow1958 = pow56 * pow1957; // pow(trace_generator, (safe_div((safe_mult(22021, global_values.trace_length)), 32768))). - assert pow1959 = pow56 * pow1958; // pow(trace_generator, (safe_div((safe_mult(44043, global_values.trace_length)), 65536))). - assert pow1960 = pow56 * pow1959; // pow(trace_generator, (safe_div((safe_mult(11011, global_values.trace_length)), 16384))). - assert pow1961 = pow56 * pow1960; // pow(trace_generator, (safe_div((safe_mult(44045, global_values.trace_length)), 65536))). - assert pow1962 = pow56 * pow1961; // pow(trace_generator, (safe_div((safe_mult(22023, global_values.trace_length)), 32768))). - assert pow1963 = pow56 * pow1962; // pow(trace_generator, (safe_div((safe_mult(44047, global_values.trace_length)), 65536))). - assert pow1964 = pow56 * pow1963; // pow(trace_generator, (safe_div((safe_mult(2753, global_values.trace_length)), 4096))). - assert pow1965 = pow56 * pow1964; // pow(trace_generator, (safe_div((safe_mult(44049, global_values.trace_length)), 65536))). - assert pow1966 = pow56 * pow1965; // pow(trace_generator, (safe_div((safe_mult(22025, global_values.trace_length)), 32768))). - assert pow1967 = pow56 * pow1966; // pow(trace_generator, (safe_div((safe_mult(44051, global_values.trace_length)), 65536))). - assert pow1968 = pow56 * pow1967; // pow(trace_generator, (safe_div((safe_mult(11013, global_values.trace_length)), 16384))). - assert pow1969 = pow56 * pow1968; // pow(trace_generator, (safe_div((safe_mult(44053, global_values.trace_length)), 65536))). - assert pow1970 = pow56 * pow1969; // pow(trace_generator, (safe_div((safe_mult(22027, global_values.trace_length)), 32768))). - assert pow1971 = pow56 * pow1970; // pow(trace_generator, (safe_div((safe_mult(44055, global_values.trace_length)), 65536))). - assert pow1972 = pow103 * pow1971; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1973 = pow124 * pow1972; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1974 = pow124 * pow1973; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1975 = pow124 * pow1974; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1976 = pow124 * pow1975; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1977 = pow124 * pow1976; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1978 = pow124 * pow1977; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). - assert pow1979 = pow604 * pow1978; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow1980 = pow56 * pow1979; // pow(trace_generator, (safe_div((safe_mult(45057, global_values.trace_length)), 65536))). - assert pow1981 = pow56 * pow1980; // pow(trace_generator, (safe_div((safe_mult(22529, global_values.trace_length)), 32768))). - assert pow1982 = pow56 * pow1981; // pow(trace_generator, (safe_div((safe_mult(45059, global_values.trace_length)), 65536))). - assert pow1983 = pow56 * pow1982; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 16384))). - assert pow1984 = pow56 * pow1983; // pow(trace_generator, (safe_div((safe_mult(45061, global_values.trace_length)), 65536))). - assert pow1985 = pow56 * pow1984; // pow(trace_generator, (safe_div((safe_mult(22531, global_values.trace_length)), 32768))). - assert pow1986 = pow56 * pow1985; // pow(trace_generator, (safe_div((safe_mult(45063, global_values.trace_length)), 65536))). - assert pow1987 = pow56 * pow1986; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 8192))). - assert pow1988 = pow56 * pow1987; // pow(trace_generator, (safe_div((safe_mult(45065, global_values.trace_length)), 65536))). - assert pow1989 = pow56 * pow1988; // pow(trace_generator, (safe_div((safe_mult(22533, global_values.trace_length)), 32768))). - assert pow1990 = pow56 * pow1989; // pow(trace_generator, (safe_div((safe_mult(45067, global_values.trace_length)), 65536))). - assert pow1991 = pow56 * pow1990; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 16384))). - assert pow1992 = pow56 * pow1991; // pow(trace_generator, (safe_div((safe_mult(45069, global_values.trace_length)), 65536))). - assert pow1993 = pow56 * pow1992; // pow(trace_generator, (safe_div((safe_mult(22535, global_values.trace_length)), 32768))). - assert pow1994 = pow56 * pow1993; // pow(trace_generator, (safe_div((safe_mult(45071, global_values.trace_length)), 65536))). - assert pow1995 = pow56 * pow1994; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 4096))). - assert pow1996 = pow56 * pow1995; // pow(trace_generator, (safe_div((safe_mult(45073, global_values.trace_length)), 65536))). - assert pow1997 = pow56 * pow1996; // pow(trace_generator, (safe_div((safe_mult(22537, global_values.trace_length)), 32768))). - assert pow1998 = pow56 * pow1997; // pow(trace_generator, (safe_div((safe_mult(45075, global_values.trace_length)), 65536))). - assert pow1999 = pow56 * pow1998; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 16384))). - assert pow2000 = pow56 * pow1999; // pow(trace_generator, (safe_div((safe_mult(45077, global_values.trace_length)), 65536))). - assert pow2001 = pow56 * pow2000; // pow(trace_generator, (safe_div((safe_mult(22539, global_values.trace_length)), 32768))). - assert pow2002 = pow56 * pow2001; // pow(trace_generator, (safe_div((safe_mult(45079, global_values.trace_length)), 65536))). - assert pow2003 = pow103 * pow2002; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2004 = pow124 * pow2003; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2005 = pow124 * pow2004; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2006 = pow124 * pow2005; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2007 = pow124 * pow2006; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2008 = pow124 * pow2007; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2009 = pow124 * pow2008; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2010 = pow124 * pow2009; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2011 = pow124 * pow2010; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2012 = pow124 * pow2011; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2013 = pow124 * pow2012; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2014 = pow124 * pow2013; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2015 = pow124 * pow2014; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2016 = pow124 * pow2015; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2017 = pow124 * pow2016; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2018 = pow124 * pow2017; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2019 = pow56 * pow2018; // pow(trace_generator, (safe_div((safe_mult(46081, global_values.trace_length)), 65536))). - assert pow2020 = pow56 * pow2019; // pow(trace_generator, (safe_div((safe_mult(23041, global_values.trace_length)), 32768))). - assert pow2021 = pow56 * pow2020; // pow(trace_generator, (safe_div((safe_mult(46083, global_values.trace_length)), 65536))). - assert pow2022 = pow56 * pow2021; // pow(trace_generator, (safe_div((safe_mult(11521, global_values.trace_length)), 16384))). - assert pow2023 = pow56 * pow2022; // pow(trace_generator, (safe_div((safe_mult(46085, global_values.trace_length)), 65536))). - assert pow2024 = pow56 * pow2023; // pow(trace_generator, (safe_div((safe_mult(23043, global_values.trace_length)), 32768))). - assert pow2025 = pow56 * pow2024; // pow(trace_generator, (safe_div((safe_mult(46087, global_values.trace_length)), 65536))). - assert pow2026 = pow56 * pow2025; // pow(trace_generator, (safe_div((safe_mult(5761, global_values.trace_length)), 8192))). - assert pow2027 = pow56 * pow2026; // pow(trace_generator, (safe_div((safe_mult(46089, global_values.trace_length)), 65536))). - assert pow2028 = pow56 * pow2027; // pow(trace_generator, (safe_div((safe_mult(23045, global_values.trace_length)), 32768))). - assert pow2029 = pow56 * pow2028; // pow(trace_generator, (safe_div((safe_mult(46091, global_values.trace_length)), 65536))). - assert pow2030 = pow56 * pow2029; // pow(trace_generator, (safe_div((safe_mult(11523, global_values.trace_length)), 16384))). - assert pow2031 = pow56 * pow2030; // pow(trace_generator, (safe_div((safe_mult(46093, global_values.trace_length)), 65536))). - assert pow2032 = pow56 * pow2031; // pow(trace_generator, (safe_div((safe_mult(23047, global_values.trace_length)), 32768))). - assert pow2033 = pow56 * pow2032; // pow(trace_generator, (safe_div((safe_mult(46095, global_values.trace_length)), 65536))). - assert pow2034 = pow56 * pow2033; // pow(trace_generator, (safe_div((safe_mult(2881, global_values.trace_length)), 4096))). - assert pow2035 = pow56 * pow2034; // pow(trace_generator, (safe_div((safe_mult(46097, global_values.trace_length)), 65536))). - assert pow2036 = pow56 * pow2035; // pow(trace_generator, (safe_div((safe_mult(23049, global_values.trace_length)), 32768))). - assert pow2037 = pow56 * pow2036; // pow(trace_generator, (safe_div((safe_mult(46099, global_values.trace_length)), 65536))). - assert pow2038 = pow56 * pow2037; // pow(trace_generator, (safe_div((safe_mult(11525, global_values.trace_length)), 16384))). - assert pow2039 = pow56 * pow2038; // pow(trace_generator, (safe_div((safe_mult(46101, global_values.trace_length)), 65536))). - assert pow2040 = pow56 * pow2039; // pow(trace_generator, (safe_div((safe_mult(23051, global_values.trace_length)), 32768))). - assert pow2041 = pow56 * pow2040; // pow(trace_generator, (safe_div((safe_mult(46103, global_values.trace_length)), 65536))). - assert pow2042 = pow103 * pow2041; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2043 = pow124 * pow2042; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2044 = pow124 * pow2043; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2045 = pow124 * pow2044; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2046 = pow124 * pow2045; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2047 = pow124 * pow2046; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2048 = pow124 * pow2047; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). - assert pow2049 = pow604 * pow2048; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32))). - assert pow2050 = pow817 * pow2049; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 64))). - assert pow2051 = pow817 * pow2050; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4))). - assert pow2052 = pow56 * pow2049; // pow(trace_generator, (safe_div((safe_mult(47105, global_values.trace_length)), 65536))). - assert pow2053 = pow56 * pow2050; // pow(trace_generator, (safe_div((safe_mult(48129, global_values.trace_length)), 65536))). - assert pow2054 = pow56 * pow2051; // pow(trace_generator, (safe_div((safe_mult(49153, global_values.trace_length)), 65536))). - assert pow2055 = pow56 * pow2052; // pow(trace_generator, (safe_div((safe_mult(23553, global_values.trace_length)), 32768))). - assert pow2056 = pow56 * pow2053; // pow(trace_generator, (safe_div((safe_mult(24065, global_values.trace_length)), 32768))). - assert pow2057 = pow56 * pow2054; // pow(trace_generator, (safe_div((safe_mult(24577, global_values.trace_length)), 32768))). - assert pow2058 = pow56 * pow2055; // pow(trace_generator, (safe_div((safe_mult(47107, global_values.trace_length)), 65536))). - assert pow2059 = pow56 * pow2056; // pow(trace_generator, (safe_div((safe_mult(48131, global_values.trace_length)), 65536))). - assert pow2060 = pow56 * pow2057; // pow(trace_generator, (safe_div((safe_mult(49155, global_values.trace_length)), 65536))). - assert pow2061 = pow56 * pow2058; // pow(trace_generator, (safe_div((safe_mult(11777, global_values.trace_length)), 16384))). - assert pow2062 = pow56 * pow2059; // pow(trace_generator, (safe_div((safe_mult(12033, global_values.trace_length)), 16384))). - assert pow2063 = pow56 * pow2060; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 16384))). - assert pow2064 = pow56 * pow2061; // pow(trace_generator, (safe_div((safe_mult(47109, global_values.trace_length)), 65536))). - assert pow2065 = pow56 * pow2062; // pow(trace_generator, (safe_div((safe_mult(48133, global_values.trace_length)), 65536))). - assert pow2066 = pow56 * pow2063; // pow(trace_generator, (safe_div((safe_mult(49157, global_values.trace_length)), 65536))). - assert pow2067 = pow817 * pow2051; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 64))). - assert pow2068 = pow56 * pow2067; // pow(trace_generator, (safe_div((safe_mult(50177, global_values.trace_length)), 65536))). - assert pow2069 = pow56 * pow2068; // pow(trace_generator, (safe_div((safe_mult(25089, global_values.trace_length)), 32768))). - assert pow2070 = pow56 * pow2069; // pow(trace_generator, (safe_div((safe_mult(50179, global_values.trace_length)), 65536))). - assert pow2071 = pow56 * pow2070; // pow(trace_generator, (safe_div((safe_mult(12545, global_values.trace_length)), 16384))). - assert pow2072 = pow56 * pow2071; // pow(trace_generator, (safe_div((safe_mult(50181, global_values.trace_length)), 65536))). - assert pow2073 = pow56 * pow2064; // pow(trace_generator, (safe_div((safe_mult(23555, global_values.trace_length)), 32768))). - assert pow2074 = pow56 * pow2065; // pow(trace_generator, (safe_div((safe_mult(24067, global_values.trace_length)), 32768))). - assert pow2075 = pow56 * pow2066; // pow(trace_generator, (safe_div((safe_mult(24579, global_values.trace_length)), 32768))). - assert pow2076 = pow56 * pow2073; // pow(trace_generator, (safe_div((safe_mult(47111, global_values.trace_length)), 65536))). - assert pow2077 = pow56 * pow2076; // pow(trace_generator, (safe_div((safe_mult(5889, global_values.trace_length)), 8192))). - assert pow2078 = pow56 * pow2077; // pow(trace_generator, (safe_div((safe_mult(47113, global_values.trace_length)), 65536))). - assert pow2079 = pow56 * pow2078; // pow(trace_generator, (safe_div((safe_mult(23557, global_values.trace_length)), 32768))). - assert pow2080 = pow56 * pow2079; // pow(trace_generator, (safe_div((safe_mult(47115, global_values.trace_length)), 65536))). - assert pow2081 = pow56 * pow2080; // pow(trace_generator, (safe_div((safe_mult(11779, global_values.trace_length)), 16384))). - assert pow2082 = pow56 * pow2081; // pow(trace_generator, (safe_div((safe_mult(47117, global_values.trace_length)), 65536))). - assert pow2083 = pow56 * pow2082; // pow(trace_generator, (safe_div((safe_mult(23559, global_values.trace_length)), 32768))). - assert pow2084 = pow56 * pow2083; // pow(trace_generator, (safe_div((safe_mult(47119, global_values.trace_length)), 65536))). - assert pow2085 = pow56 * pow2084; // pow(trace_generator, (safe_div((safe_mult(2945, global_values.trace_length)), 4096))). - assert pow2086 = pow56 * pow2085; // pow(trace_generator, (safe_div((safe_mult(47121, global_values.trace_length)), 65536))). - assert pow2087 = pow56 * pow2086; // pow(trace_generator, (safe_div((safe_mult(23561, global_values.trace_length)), 32768))). - assert pow2088 = pow56 * pow2087; // pow(trace_generator, (safe_div((safe_mult(47123, global_values.trace_length)), 65536))). - assert pow2089 = pow56 * pow2088; // pow(trace_generator, (safe_div((safe_mult(11781, global_values.trace_length)), 16384))). - assert pow2090 = pow56 * pow2089; // pow(trace_generator, (safe_div((safe_mult(47125, global_values.trace_length)), 65536))). - assert pow2091 = pow56 * pow2090; // pow(trace_generator, (safe_div((safe_mult(23563, global_values.trace_length)), 32768))). - assert pow2092 = pow56 * pow2091; // pow(trace_generator, (safe_div((safe_mult(47127, global_values.trace_length)), 65536))). - assert pow2093 = pow56 * pow2074; // pow(trace_generator, (safe_div((safe_mult(48135, global_values.trace_length)), 65536))). - assert pow2094 = pow56 * pow2093; // pow(trace_generator, (safe_div((safe_mult(6017, global_values.trace_length)), 8192))). - assert pow2095 = pow56 * pow2094; // pow(trace_generator, (safe_div((safe_mult(48137, global_values.trace_length)), 65536))). - assert pow2096 = pow56 * pow2095; // pow(trace_generator, (safe_div((safe_mult(24069, global_values.trace_length)), 32768))). - assert pow2097 = pow56 * pow2096; // pow(trace_generator, (safe_div((safe_mult(48139, global_values.trace_length)), 65536))). - assert pow2098 = pow56 * pow2097; // pow(trace_generator, (safe_div((safe_mult(12035, global_values.trace_length)), 16384))). - assert pow2099 = pow56 * pow2098; // pow(trace_generator, (safe_div((safe_mult(48141, global_values.trace_length)), 65536))). - assert pow2100 = pow56 * pow2099; // pow(trace_generator, (safe_div((safe_mult(24071, global_values.trace_length)), 32768))). - assert pow2101 = pow56 * pow2100; // pow(trace_generator, (safe_div((safe_mult(48143, global_values.trace_length)), 65536))). - assert pow2102 = pow56 * pow2101; // pow(trace_generator, (safe_div((safe_mult(3009, global_values.trace_length)), 4096))). - assert pow2103 = pow56 * pow2102; // pow(trace_generator, (safe_div((safe_mult(48145, global_values.trace_length)), 65536))). - assert pow2104 = pow56 * pow2103; // pow(trace_generator, (safe_div((safe_mult(24073, global_values.trace_length)), 32768))). - assert pow2105 = pow56 * pow2104; // pow(trace_generator, (safe_div((safe_mult(48147, global_values.trace_length)), 65536))). - assert pow2106 = pow56 * pow2105; // pow(trace_generator, (safe_div((safe_mult(12037, global_values.trace_length)), 16384))). - assert pow2107 = pow56 * pow2106; // pow(trace_generator, (safe_div((safe_mult(48149, global_values.trace_length)), 65536))). - assert pow2108 = pow56 * pow2107; // pow(trace_generator, (safe_div((safe_mult(24075, global_values.trace_length)), 32768))). - assert pow2109 = pow56 * pow2108; // pow(trace_generator, (safe_div((safe_mult(48151, global_values.trace_length)), 65536))). - assert pow2110 = pow56 * pow2075; // pow(trace_generator, (safe_div((safe_mult(49159, global_values.trace_length)), 65536))). - assert pow2111 = pow56 * pow2110; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 8192))). - assert pow2112 = pow56 * pow2111; // pow(trace_generator, (safe_div((safe_mult(49161, global_values.trace_length)), 65536))). - assert pow2113 = pow56 * pow2112; // pow(trace_generator, (safe_div((safe_mult(24581, global_values.trace_length)), 32768))). - assert pow2114 = pow56 * pow2113; // pow(trace_generator, (safe_div((safe_mult(49163, global_values.trace_length)), 65536))). - assert pow2115 = pow56 * pow2114; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 16384))). - assert pow2116 = pow56 * pow2115; // pow(trace_generator, (safe_div((safe_mult(49165, global_values.trace_length)), 65536))). - assert pow2117 = pow56 * pow2116; // pow(trace_generator, (safe_div((safe_mult(24583, global_values.trace_length)), 32768))). - assert pow2118 = pow56 * pow2117; // pow(trace_generator, (safe_div((safe_mult(49167, global_values.trace_length)), 65536))). - assert pow2119 = pow56 * pow2118; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 4096))). - assert pow2120 = pow56 * pow2119; // pow(trace_generator, (safe_div((safe_mult(49169, global_values.trace_length)), 65536))). - assert pow2121 = pow56 * pow2120; // pow(trace_generator, (safe_div((safe_mult(24585, global_values.trace_length)), 32768))). - assert pow2122 = pow56 * pow2121; // pow(trace_generator, (safe_div((safe_mult(49171, global_values.trace_length)), 65536))). - assert pow2123 = pow56 * pow2122; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 16384))). - assert pow2124 = pow56 * pow2123; // pow(trace_generator, (safe_div((safe_mult(49173, global_values.trace_length)), 65536))). - assert pow2125 = pow56 * pow2124; // pow(trace_generator, (safe_div((safe_mult(24587, global_values.trace_length)), 32768))). - assert pow2126 = pow56 * pow2125; // pow(trace_generator, (safe_div((safe_mult(49175, global_values.trace_length)), 65536))). - assert pow2127 = pow56 * pow2072; // pow(trace_generator, (safe_div((safe_mult(25091, global_values.trace_length)), 32768))). - assert pow2128 = pow56 * pow2127; // pow(trace_generator, (safe_div((safe_mult(50183, global_values.trace_length)), 65536))). - assert pow2129 = pow56 * pow2128; // pow(trace_generator, (safe_div((safe_mult(6273, global_values.trace_length)), 8192))). - assert pow2130 = pow56 * pow2129; // pow(trace_generator, (safe_div((safe_mult(50185, global_values.trace_length)), 65536))). - assert pow2131 = pow56 * pow2130; // pow(trace_generator, (safe_div((safe_mult(25093, global_values.trace_length)), 32768))). - assert pow2132 = pow56 * pow2131; // pow(trace_generator, (safe_div((safe_mult(50187, global_values.trace_length)), 65536))). - assert pow2133 = pow56 * pow2132; // pow(trace_generator, (safe_div((safe_mult(12547, global_values.trace_length)), 16384))). - assert pow2134 = pow56 * pow2133; // pow(trace_generator, (safe_div((safe_mult(50189, global_values.trace_length)), 65536))). - assert pow2135 = pow56 * pow2134; // pow(trace_generator, (safe_div((safe_mult(25095, global_values.trace_length)), 32768))). - assert pow2136 = pow56 * pow2135; // pow(trace_generator, (safe_div((safe_mult(50191, global_values.trace_length)), 65536))). - assert pow2137 = pow56 * pow2136; // pow(trace_generator, (safe_div((safe_mult(3137, global_values.trace_length)), 4096))). - assert pow2138 = pow56 * pow2137; // pow(trace_generator, (safe_div((safe_mult(50193, global_values.trace_length)), 65536))). - assert pow2139 = pow56 * pow2138; // pow(trace_generator, (safe_div((safe_mult(25097, global_values.trace_length)), 32768))). - assert pow2140 = pow56 * pow2139; // pow(trace_generator, (safe_div((safe_mult(50195, global_values.trace_length)), 65536))). - assert pow2141 = pow56 * pow2140; // pow(trace_generator, (safe_div((safe_mult(12549, global_values.trace_length)), 16384))). - assert pow2142 = pow56 * pow2141; // pow(trace_generator, (safe_div((safe_mult(50197, global_values.trace_length)), 65536))). - assert pow2143 = pow56 * pow2142; // pow(trace_generator, (safe_div((safe_mult(25099, global_values.trace_length)), 32768))). - assert pow2144 = pow56 * pow2143; // pow(trace_generator, (safe_div((safe_mult(50199, global_values.trace_length)), 65536))). - assert pow2145 = pow817 * pow2067; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32))). - assert pow2146 = pow817 * pow2145; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 64))). - assert pow2147 = pow817 * pow2146; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16))). - assert pow2148 = pow56 * pow2145; // pow(trace_generator, (safe_div((safe_mult(51201, global_values.trace_length)), 65536))). - assert pow2149 = pow56 * pow2146; // pow(trace_generator, (safe_div((safe_mult(52225, global_values.trace_length)), 65536))). - assert pow2150 = pow56 * pow2147; // pow(trace_generator, (safe_div((safe_mult(53249, global_values.trace_length)), 65536))). - assert pow2151 = pow56 * pow2148; // pow(trace_generator, (safe_div((safe_mult(25601, global_values.trace_length)), 32768))). - assert pow2152 = pow56 * pow2149; // pow(trace_generator, (safe_div((safe_mult(26113, global_values.trace_length)), 32768))). - assert pow2153 = pow56 * pow2150; // pow(trace_generator, (safe_div((safe_mult(26625, global_values.trace_length)), 32768))). - assert pow2154 = pow56 * pow2151; // pow(trace_generator, (safe_div((safe_mult(51203, global_values.trace_length)), 65536))). - assert pow2155 = pow56 * pow2152; // pow(trace_generator, (safe_div((safe_mult(52227, global_values.trace_length)), 65536))). - assert pow2156 = pow56 * pow2153; // pow(trace_generator, (safe_div((safe_mult(53251, global_values.trace_length)), 65536))). - assert pow2157 = pow56 * pow2154; // pow(trace_generator, (safe_div((safe_mult(12801, global_values.trace_length)), 16384))). - assert pow2158 = pow56 * pow2155; // pow(trace_generator, (safe_div((safe_mult(13057, global_values.trace_length)), 16384))). - assert pow2159 = pow56 * pow2156; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 16384))). - assert pow2160 = pow56 * pow2157; // pow(trace_generator, (safe_div((safe_mult(51205, global_values.trace_length)), 65536))). - assert pow2161 = pow56 * pow2158; // pow(trace_generator, (safe_div((safe_mult(52229, global_values.trace_length)), 65536))). - assert pow2162 = pow56 * pow2159; // pow(trace_generator, (safe_div((safe_mult(53253, global_values.trace_length)), 65536))). - assert pow2163 = pow56 * pow2160; // pow(trace_generator, (safe_div((safe_mult(25603, global_values.trace_length)), 32768))). - assert pow2164 = pow56 * pow2161; // pow(trace_generator, (safe_div((safe_mult(26115, global_values.trace_length)), 32768))). - assert pow2165 = pow56 * pow2162; // pow(trace_generator, (safe_div((safe_mult(26627, global_values.trace_length)), 32768))). - assert pow2166 = pow56 * pow2163; // pow(trace_generator, (safe_div((safe_mult(51207, global_values.trace_length)), 65536))). - assert pow2167 = pow56 * pow2166; // pow(trace_generator, (safe_div((safe_mult(6401, global_values.trace_length)), 8192))). - assert pow2168 = pow56 * pow2167; // pow(trace_generator, (safe_div((safe_mult(51209, global_values.trace_length)), 65536))). - assert pow2169 = pow56 * pow2168; // pow(trace_generator, (safe_div((safe_mult(25605, global_values.trace_length)), 32768))). - assert pow2170 = pow56 * pow2169; // pow(trace_generator, (safe_div((safe_mult(51211, global_values.trace_length)), 65536))). - assert pow2171 = pow56 * pow2170; // pow(trace_generator, (safe_div((safe_mult(12803, global_values.trace_length)), 16384))). - assert pow2172 = pow56 * pow2171; // pow(trace_generator, (safe_div((safe_mult(51213, global_values.trace_length)), 65536))). - assert pow2173 = pow56 * pow2172; // pow(trace_generator, (safe_div((safe_mult(25607, global_values.trace_length)), 32768))). - assert pow2174 = pow56 * pow2173; // pow(trace_generator, (safe_div((safe_mult(51215, global_values.trace_length)), 65536))). - assert pow2175 = pow56 * pow2174; // pow(trace_generator, (safe_div((safe_mult(3201, global_values.trace_length)), 4096))). - assert pow2176 = pow56 * pow2175; // pow(trace_generator, (safe_div((safe_mult(51217, global_values.trace_length)), 65536))). - assert pow2177 = pow56 * pow2176; // pow(trace_generator, (safe_div((safe_mult(25609, global_values.trace_length)), 32768))). - assert pow2178 = pow56 * pow2177; // pow(trace_generator, (safe_div((safe_mult(51219, global_values.trace_length)), 65536))). - assert pow2179 = pow56 * pow2178; // pow(trace_generator, (safe_div((safe_mult(12805, global_values.trace_length)), 16384))). - assert pow2180 = pow56 * pow2179; // pow(trace_generator, (safe_div((safe_mult(51221, global_values.trace_length)), 65536))). - assert pow2181 = pow56 * pow2180; // pow(trace_generator, (safe_div((safe_mult(25611, global_values.trace_length)), 32768))). - assert pow2182 = pow56 * pow2181; // pow(trace_generator, (safe_div((safe_mult(51223, global_values.trace_length)), 65536))). - assert pow2183 = pow56 * pow2164; // pow(trace_generator, (safe_div((safe_mult(52231, global_values.trace_length)), 65536))). - assert pow2184 = pow56 * pow2183; // pow(trace_generator, (safe_div((safe_mult(6529, global_values.trace_length)), 8192))). - assert pow2185 = pow56 * pow2184; // pow(trace_generator, (safe_div((safe_mult(52233, global_values.trace_length)), 65536))). - assert pow2186 = pow56 * pow2185; // pow(trace_generator, (safe_div((safe_mult(26117, global_values.trace_length)), 32768))). - assert pow2187 = pow56 * pow2186; // pow(trace_generator, (safe_div((safe_mult(52235, global_values.trace_length)), 65536))). - assert pow2188 = pow56 * pow2187; // pow(trace_generator, (safe_div((safe_mult(13059, global_values.trace_length)), 16384))). - assert pow2189 = pow56 * pow2188; // pow(trace_generator, (safe_div((safe_mult(52237, global_values.trace_length)), 65536))). - assert pow2190 = pow56 * pow2189; // pow(trace_generator, (safe_div((safe_mult(26119, global_values.trace_length)), 32768))). - assert pow2191 = pow56 * pow2190; // pow(trace_generator, (safe_div((safe_mult(52239, global_values.trace_length)), 65536))). - assert pow2192 = pow56 * pow2191; // pow(trace_generator, (safe_div((safe_mult(3265, global_values.trace_length)), 4096))). - assert pow2193 = pow56 * pow2192; // pow(trace_generator, (safe_div((safe_mult(52241, global_values.trace_length)), 65536))). - assert pow2194 = pow56 * pow2193; // pow(trace_generator, (safe_div((safe_mult(26121, global_values.trace_length)), 32768))). - assert pow2195 = pow56 * pow2194; // pow(trace_generator, (safe_div((safe_mult(52243, global_values.trace_length)), 65536))). - assert pow2196 = pow56 * pow2195; // pow(trace_generator, (safe_div((safe_mult(13061, global_values.trace_length)), 16384))). - assert pow2197 = pow56 * pow2196; // pow(trace_generator, (safe_div((safe_mult(52245, global_values.trace_length)), 65536))). - assert pow2198 = pow56 * pow2197; // pow(trace_generator, (safe_div((safe_mult(26123, global_values.trace_length)), 32768))). - assert pow2199 = pow56 * pow2198; // pow(trace_generator, (safe_div((safe_mult(52247, global_values.trace_length)), 65536))). - assert pow2200 = pow56 * pow2165; // pow(trace_generator, (safe_div((safe_mult(53255, global_values.trace_length)), 65536))). - assert pow2201 = pow56 * pow2200; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 8192))). - assert pow2202 = pow56 * pow2201; // pow(trace_generator, (safe_div((safe_mult(53257, global_values.trace_length)), 65536))). - assert pow2203 = pow56 * pow2202; // pow(trace_generator, (safe_div((safe_mult(26629, global_values.trace_length)), 32768))). - assert pow2204 = pow56 * pow2203; // pow(trace_generator, (safe_div((safe_mult(53259, global_values.trace_length)), 65536))). - assert pow2205 = pow56 * pow2204; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 16384))). - assert pow2206 = pow56 * pow2205; // pow(trace_generator, (safe_div((safe_mult(53261, global_values.trace_length)), 65536))). - assert pow2207 = pow56 * pow2206; // pow(trace_generator, (safe_div((safe_mult(26631, global_values.trace_length)), 32768))). - assert pow2208 = pow56 * pow2207; // pow(trace_generator, (safe_div((safe_mult(53263, global_values.trace_length)), 65536))). - assert pow2209 = pow56 * pow2208; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 4096))). - assert pow2210 = pow56 * pow2209; // pow(trace_generator, (safe_div((safe_mult(53265, global_values.trace_length)), 65536))). - assert pow2211 = pow56 * pow2210; // pow(trace_generator, (safe_div((safe_mult(26633, global_values.trace_length)), 32768))). - assert pow2212 = pow56 * pow2211; // pow(trace_generator, (safe_div((safe_mult(53267, global_values.trace_length)), 65536))). - assert pow2213 = pow56 * pow2212; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 16384))). - assert pow2214 = pow56 * pow2213; // pow(trace_generator, (safe_div((safe_mult(53269, global_values.trace_length)), 65536))). - assert pow2215 = pow56 * pow2214; // pow(trace_generator, (safe_div((safe_mult(26635, global_values.trace_length)), 32768))). - assert pow2216 = pow56 * pow2215; // pow(trace_generator, (safe_div((safe_mult(53271, global_values.trace_length)), 65536))). - assert pow2217 = pow103 * pow2216; // pow(trace_generator, (safe_div((safe_mult(833, global_values.trace_length)), 1024))). - assert pow2218 = pow124 * pow2217; // pow(trace_generator, (safe_div((safe_mult(417, global_values.trace_length)), 512))). - assert pow2219 = pow124 * pow2218; // pow(trace_generator, (safe_div((safe_mult(835, global_values.trace_length)), 1024))). - assert pow2220 = pow124 * pow2219; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 256))). - assert pow2221 = pow124 * pow2220; // pow(trace_generator, (safe_div((safe_mult(837, global_values.trace_length)), 1024))). - assert pow2222 = pow124 * pow2221; // pow(trace_generator, (safe_div((safe_mult(419, global_values.trace_length)), 512))). - assert pow2223 = pow124 * pow2222; // pow(trace_generator, (safe_div((safe_mult(839, global_values.trace_length)), 1024))). - assert pow2224 = pow124 * pow2223; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 128))). - assert pow2225 = pow124 * pow2224; // pow(trace_generator, (safe_div((safe_mult(841, global_values.trace_length)), 1024))). - assert pow2226 = pow124 * pow2225; // pow(trace_generator, (safe_div((safe_mult(421, global_values.trace_length)), 512))). - assert pow2227 = pow124 * pow2226; // pow(trace_generator, (safe_div((safe_mult(843, global_values.trace_length)), 1024))). - assert pow2228 = pow124 * pow2227; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 256))). - assert pow2229 = pow124 * pow2228; // pow(trace_generator, (safe_div((safe_mult(845, global_values.trace_length)), 1024))). - assert pow2230 = pow124 * pow2229; // pow(trace_generator, (safe_div((safe_mult(423, global_values.trace_length)), 512))). - assert pow2231 = pow124 * pow2230; // pow(trace_generator, (safe_div((safe_mult(847, global_values.trace_length)), 1024))). - assert pow2232 = pow124 * pow2231; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 64))). - assert pow2233 = pow56 * pow2232; // pow(trace_generator, (safe_div((safe_mult(54273, global_values.trace_length)), 65536))). - assert pow2234 = pow56 * pow2233; // pow(trace_generator, (safe_div((safe_mult(27137, global_values.trace_length)), 32768))). - assert pow2235 = pow56 * pow2234; // pow(trace_generator, (safe_div((safe_mult(54275, global_values.trace_length)), 65536))). - assert pow2236 = pow56 * pow2235; // pow(trace_generator, (safe_div((safe_mult(13569, global_values.trace_length)), 16384))). - assert pow2237 = pow56 * pow2236; // pow(trace_generator, (safe_div((safe_mult(54277, global_values.trace_length)), 65536))). - assert pow2238 = pow56 * pow2237; // pow(trace_generator, (safe_div((safe_mult(27139, global_values.trace_length)), 32768))). - assert pow2239 = pow56 * pow2238; // pow(trace_generator, (safe_div((safe_mult(54279, global_values.trace_length)), 65536))). - assert pow2240 = pow56 * pow2239; // pow(trace_generator, (safe_div((safe_mult(6785, global_values.trace_length)), 8192))). - assert pow2241 = pow56 * pow2240; // pow(trace_generator, (safe_div((safe_mult(54281, global_values.trace_length)), 65536))). - assert pow2242 = pow56 * pow2241; // pow(trace_generator, (safe_div((safe_mult(27141, global_values.trace_length)), 32768))). - assert pow2243 = pow56 * pow2242; // pow(trace_generator, (safe_div((safe_mult(54283, global_values.trace_length)), 65536))). - assert pow2244 = pow56 * pow2243; // pow(trace_generator, (safe_div((safe_mult(13571, global_values.trace_length)), 16384))). - assert pow2245 = pow56 * pow2244; // pow(trace_generator, (safe_div((safe_mult(54285, global_values.trace_length)), 65536))). - assert pow2246 = pow56 * pow2245; // pow(trace_generator, (safe_div((safe_mult(27143, global_values.trace_length)), 32768))). - assert pow2247 = pow56 * pow2246; // pow(trace_generator, (safe_div((safe_mult(54287, global_values.trace_length)), 65536))). - assert pow2248 = pow56 * pow2247; // pow(trace_generator, (safe_div((safe_mult(3393, global_values.trace_length)), 4096))). - assert pow2249 = pow56 * pow2248; // pow(trace_generator, (safe_div((safe_mult(54289, global_values.trace_length)), 65536))). - assert pow2250 = pow56 * pow2249; // pow(trace_generator, (safe_div((safe_mult(27145, global_values.trace_length)), 32768))). - assert pow2251 = pow56 * pow2250; // pow(trace_generator, (safe_div((safe_mult(54291, global_values.trace_length)), 65536))). - assert pow2252 = pow56 * pow2251; // pow(trace_generator, (safe_div((safe_mult(13573, global_values.trace_length)), 16384))). - assert pow2253 = pow56 * pow2252; // pow(trace_generator, (safe_div((safe_mult(54293, global_values.trace_length)), 65536))). - assert pow2254 = pow56 * pow2253; // pow(trace_generator, (safe_div((safe_mult(27147, global_values.trace_length)), 32768))). - assert pow2255 = pow56 * pow2254; // pow(trace_generator, (safe_div((safe_mult(54295, global_values.trace_length)), 65536))). - assert pow2256 = pow103 * pow2255; // pow(trace_generator, (safe_div((safe_mult(849, global_values.trace_length)), 1024))). - assert pow2257 = pow124 * pow2256; // pow(trace_generator, (safe_div((safe_mult(425, global_values.trace_length)), 512))). - assert pow2258 = pow124 * pow2257; // pow(trace_generator, (safe_div((safe_mult(851, global_values.trace_length)), 1024))). - assert pow2259 = pow124 * pow2258; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 256))). - assert pow2260 = pow124 * pow2259; // pow(trace_generator, (safe_div((safe_mult(853, global_values.trace_length)), 1024))). - assert pow2261 = pow124 * pow2260; // pow(trace_generator, (safe_div((safe_mult(427, global_values.trace_length)), 512))). - assert pow2262 = pow124 * pow2261; // pow(trace_generator, (safe_div((safe_mult(855, global_values.trace_length)), 1024))). - assert pow2263 = pow124 * pow2262; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 128))). - assert pow2264 = pow124 * pow2263; // pow(trace_generator, (safe_div((safe_mult(857, global_values.trace_length)), 1024))). - assert pow2265 = pow124 * pow2264; // pow(trace_generator, (safe_div((safe_mult(429, global_values.trace_length)), 512))). - assert pow2266 = pow124 * pow2265; // pow(trace_generator, (safe_div((safe_mult(859, global_values.trace_length)), 1024))). - assert pow2267 = pow124 * pow2266; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 256))). - assert pow2268 = pow124 * pow2267; // pow(trace_generator, (safe_div((safe_mult(861, global_values.trace_length)), 1024))). - assert pow2269 = pow244 * pow2268; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32))). - assert pow2270 = pow56 * pow2269; // pow(trace_generator, (safe_div((safe_mult(55297, global_values.trace_length)), 65536))). - assert pow2271 = pow56 * pow2270; // pow(trace_generator, (safe_div((safe_mult(27649, global_values.trace_length)), 32768))). - assert pow2272 = pow56 * pow2271; // pow(trace_generator, (safe_div((safe_mult(55299, global_values.trace_length)), 65536))). - assert pow2273 = pow56 * pow2272; // pow(trace_generator, (safe_div((safe_mult(13825, global_values.trace_length)), 16384))). - assert pow2274 = pow56 * pow2273; // pow(trace_generator, (safe_div((safe_mult(55301, global_values.trace_length)), 65536))). - assert pow2275 = pow56 * pow2274; // pow(trace_generator, (safe_div((safe_mult(27651, global_values.trace_length)), 32768))). - assert pow2276 = pow56 * pow2275; // pow(trace_generator, (safe_div((safe_mult(55303, global_values.trace_length)), 65536))). - assert pow2277 = pow56 * pow2276; // pow(trace_generator, (safe_div((safe_mult(6913, global_values.trace_length)), 8192))). - assert pow2278 = pow56 * pow2277; // pow(trace_generator, (safe_div((safe_mult(55305, global_values.trace_length)), 65536))). - assert pow2279 = pow56 * pow2278; // pow(trace_generator, (safe_div((safe_mult(27653, global_values.trace_length)), 32768))). - assert pow2280 = pow56 * pow2279; // pow(trace_generator, (safe_div((safe_mult(55307, global_values.trace_length)), 65536))). - assert pow2281 = pow56 * pow2280; // pow(trace_generator, (safe_div((safe_mult(13827, global_values.trace_length)), 16384))). - assert pow2282 = pow56 * pow2281; // pow(trace_generator, (safe_div((safe_mult(55309, global_values.trace_length)), 65536))). - assert pow2283 = pow56 * pow2282; // pow(trace_generator, (safe_div((safe_mult(27655, global_values.trace_length)), 32768))). - assert pow2284 = pow56 * pow2283; // pow(trace_generator, (safe_div((safe_mult(55311, global_values.trace_length)), 65536))). - assert pow2285 = pow56 * pow2284; // pow(trace_generator, (safe_div((safe_mult(3457, global_values.trace_length)), 4096))). - assert pow2286 = pow56 * pow2285; // pow(trace_generator, (safe_div((safe_mult(55313, global_values.trace_length)), 65536))). - assert pow2287 = pow56 * pow2286; // pow(trace_generator, (safe_div((safe_mult(27657, global_values.trace_length)), 32768))). - assert pow2288 = pow56 * pow2287; // pow(trace_generator, (safe_div((safe_mult(55315, global_values.trace_length)), 65536))). - assert pow2289 = pow56 * pow2288; // pow(trace_generator, (safe_div((safe_mult(13829, global_values.trace_length)), 16384))). - assert pow2290 = pow56 * pow2289; // pow(trace_generator, (safe_div((safe_mult(55317, global_values.trace_length)), 65536))). - assert pow2291 = pow56 * pow2290; // pow(trace_generator, (safe_div((safe_mult(27659, global_values.trace_length)), 32768))). - assert pow2292 = pow56 * pow2291; // pow(trace_generator, (safe_div((safe_mult(55319, global_values.trace_length)), 65536))). - assert pow2293 = pow103 * pow2292; // pow(trace_generator, (safe_div((safe_mult(865, global_values.trace_length)), 1024))). - assert pow2294 = pow124 * pow2293; // pow(trace_generator, (safe_div((safe_mult(433, global_values.trace_length)), 512))). - assert pow2295 = pow124 * pow2294; // pow(trace_generator, (safe_div((safe_mult(867, global_values.trace_length)), 1024))). - assert pow2296 = pow124 * pow2295; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 256))). - assert pow2297 = pow124 * pow2296; // pow(trace_generator, (safe_div((safe_mult(869, global_values.trace_length)), 1024))). - assert pow2298 = pow124 * pow2297; // pow(trace_generator, (safe_div((safe_mult(435, global_values.trace_length)), 512))). - assert pow2299 = pow124 * pow2298; // pow(trace_generator, (safe_div((safe_mult(871, global_values.trace_length)), 1024))). - assert pow2300 = pow124 * pow2299; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 128))). - assert pow2301 = pow124 * pow2300; // pow(trace_generator, (safe_div((safe_mult(873, global_values.trace_length)), 1024))). - assert pow2302 = pow124 * pow2301; // pow(trace_generator, (safe_div((safe_mult(437, global_values.trace_length)), 512))). - assert pow2303 = pow124 * pow2302; // pow(trace_generator, (safe_div((safe_mult(875, global_values.trace_length)), 1024))). - assert pow2304 = pow124 * pow2303; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 256))). - assert pow2305 = pow124 * pow2304; // pow(trace_generator, (safe_div((safe_mult(877, global_values.trace_length)), 1024))). - assert pow2306 = pow124 * pow2305; // pow(trace_generator, (safe_div((safe_mult(439, global_values.trace_length)), 512))). - assert pow2307 = pow124 * pow2306; // pow(trace_generator, (safe_div((safe_mult(879, global_values.trace_length)), 1024))). - assert pow2308 = pow124 * pow2307; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 64))). - assert pow2309 = pow56 * pow2308; // pow(trace_generator, (safe_div((safe_mult(56321, global_values.trace_length)), 65536))). - assert pow2310 = pow56 * pow2309; // pow(trace_generator, (safe_div((safe_mult(28161, global_values.trace_length)), 32768))). - assert pow2311 = pow56 * pow2310; // pow(trace_generator, (safe_div((safe_mult(56323, global_values.trace_length)), 65536))). - assert pow2312 = pow56 * pow2311; // pow(trace_generator, (safe_div((safe_mult(14081, global_values.trace_length)), 16384))). - assert pow2313 = pow56 * pow2312; // pow(trace_generator, (safe_div((safe_mult(56325, global_values.trace_length)), 65536))). - assert pow2314 = pow56 * pow2313; // pow(trace_generator, (safe_div((safe_mult(28163, global_values.trace_length)), 32768))). - assert pow2315 = pow56 * pow2314; // pow(trace_generator, (safe_div((safe_mult(56327, global_values.trace_length)), 65536))). - assert pow2316 = pow56 * pow2315; // pow(trace_generator, (safe_div((safe_mult(7041, global_values.trace_length)), 8192))). - assert pow2317 = pow56 * pow2316; // pow(trace_generator, (safe_div((safe_mult(56329, global_values.trace_length)), 65536))). - assert pow2318 = pow56 * pow2317; // pow(trace_generator, (safe_div((safe_mult(28165, global_values.trace_length)), 32768))). - assert pow2319 = pow56 * pow2318; // pow(trace_generator, (safe_div((safe_mult(56331, global_values.trace_length)), 65536))). - assert pow2320 = pow56 * pow2319; // pow(trace_generator, (safe_div((safe_mult(14083, global_values.trace_length)), 16384))). - assert pow2321 = pow56 * pow2320; // pow(trace_generator, (safe_div((safe_mult(56333, global_values.trace_length)), 65536))). - assert pow2322 = pow56 * pow2321; // pow(trace_generator, (safe_div((safe_mult(28167, global_values.trace_length)), 32768))). - assert pow2323 = pow56 * pow2322; // pow(trace_generator, (safe_div((safe_mult(56335, global_values.trace_length)), 65536))). - assert pow2324 = pow56 * pow2323; // pow(trace_generator, (safe_div((safe_mult(3521, global_values.trace_length)), 4096))). - assert pow2325 = pow56 * pow2324; // pow(trace_generator, (safe_div((safe_mult(56337, global_values.trace_length)), 65536))). - assert pow2326 = pow56 * pow2325; // pow(trace_generator, (safe_div((safe_mult(28169, global_values.trace_length)), 32768))). - assert pow2327 = pow56 * pow2326; // pow(trace_generator, (safe_div((safe_mult(56339, global_values.trace_length)), 65536))). - assert pow2328 = pow56 * pow2327; // pow(trace_generator, (safe_div((safe_mult(14085, global_values.trace_length)), 16384))). - assert pow2329 = pow56 * pow2328; // pow(trace_generator, (safe_div((safe_mult(56341, global_values.trace_length)), 65536))). - assert pow2330 = pow56 * pow2329; // pow(trace_generator, (safe_div((safe_mult(28171, global_values.trace_length)), 32768))). - assert pow2331 = pow56 * pow2330; // pow(trace_generator, (safe_div((safe_mult(56343, global_values.trace_length)), 65536))). - assert pow2332 = pow103 * pow2331; // pow(trace_generator, (safe_div((safe_mult(881, global_values.trace_length)), 1024))). - assert pow2333 = pow124 * pow2332; // pow(trace_generator, (safe_div((safe_mult(441, global_values.trace_length)), 512))). - assert pow2334 = pow124 * pow2333; // pow(trace_generator, (safe_div((safe_mult(883, global_values.trace_length)), 1024))). - assert pow2335 = pow124 * pow2334; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 256))). - assert pow2336 = pow124 * pow2335; // pow(trace_generator, (safe_div((safe_mult(885, global_values.trace_length)), 1024))). - assert pow2337 = pow124 * pow2336; // pow(trace_generator, (safe_div((safe_mult(443, global_values.trace_length)), 512))). - assert pow2338 = pow124 * pow2337; // pow(trace_generator, (safe_div((safe_mult(887, global_values.trace_length)), 1024))). - assert pow2339 = pow124 * pow2338; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 128))). - assert pow2340 = pow124 * pow2339; // pow(trace_generator, (safe_div((safe_mult(889, global_values.trace_length)), 1024))). - assert pow2341 = pow124 * pow2340; // pow(trace_generator, (safe_div((safe_mult(445, global_values.trace_length)), 512))). - assert pow2342 = pow124 * pow2341; // pow(trace_generator, (safe_div((safe_mult(891, global_values.trace_length)), 1024))). - assert pow2343 = pow124 * pow2342; // pow(trace_generator, (safe_div((safe_mult(223, global_values.trace_length)), 256))). - assert pow2344 = pow124 * pow2343; // pow(trace_generator, (safe_div((safe_mult(893, global_values.trace_length)), 1024))). - assert pow2345 = pow244 * pow2344; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8))). - assert pow2346 = pow56 * pow2345; // pow(trace_generator, (safe_div((safe_mult(57345, global_values.trace_length)), 65536))). - assert pow2347 = pow56 * pow2346; // pow(trace_generator, (safe_div((safe_mult(28673, global_values.trace_length)), 32768))). - assert pow2348 = pow56 * pow2347; // pow(trace_generator, (safe_div((safe_mult(57347, global_values.trace_length)), 65536))). - assert pow2349 = pow56 * pow2348; // pow(trace_generator, (safe_div((safe_mult(14337, global_values.trace_length)), 16384))). - assert pow2350 = pow56 * pow2349; // pow(trace_generator, (safe_div((safe_mult(57349, global_values.trace_length)), 65536))). - assert pow2351 = pow56 * pow2350; // pow(trace_generator, (safe_div((safe_mult(28675, global_values.trace_length)), 32768))). - assert pow2352 = pow56 * pow2351; // pow(trace_generator, (safe_div((safe_mult(57351, global_values.trace_length)), 65536))). - assert pow2353 = pow56 * pow2352; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 8192))). - assert pow2354 = pow56 * pow2353; // pow(trace_generator, (safe_div((safe_mult(57353, global_values.trace_length)), 65536))). - assert pow2355 = pow56 * pow2354; // pow(trace_generator, (safe_div((safe_mult(28677, global_values.trace_length)), 32768))). - assert pow2356 = pow56 * pow2355; // pow(trace_generator, (safe_div((safe_mult(57355, global_values.trace_length)), 65536))). - assert pow2357 = pow56 * pow2356; // pow(trace_generator, (safe_div((safe_mult(14339, global_values.trace_length)), 16384))). - assert pow2358 = pow56 * pow2357; // pow(trace_generator, (safe_div((safe_mult(57357, global_values.trace_length)), 65536))). - assert pow2359 = pow56 * pow2358; // pow(trace_generator, (safe_div((safe_mult(28679, global_values.trace_length)), 32768))). - assert pow2360 = pow56 * pow2359; // pow(trace_generator, (safe_div((safe_mult(57359, global_values.trace_length)), 65536))). - assert pow2361 = pow56 * pow2360; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 4096))). - assert pow2362 = pow56 * pow2361; // pow(trace_generator, (safe_div((safe_mult(57361, global_values.trace_length)), 65536))). - assert pow2363 = pow56 * pow2362; // pow(trace_generator, (safe_div((safe_mult(28681, global_values.trace_length)), 32768))). - assert pow2364 = pow56 * pow2363; // pow(trace_generator, (safe_div((safe_mult(57363, global_values.trace_length)), 65536))). - assert pow2365 = pow56 * pow2364; // pow(trace_generator, (safe_div((safe_mult(14341, global_values.trace_length)), 16384))). - assert pow2366 = pow56 * pow2365; // pow(trace_generator, (safe_div((safe_mult(57365, global_values.trace_length)), 65536))). - assert pow2367 = pow56 * pow2366; // pow(trace_generator, (safe_div((safe_mult(28683, global_values.trace_length)), 32768))). - assert pow2368 = pow56 * pow2367; // pow(trace_generator, (safe_div((safe_mult(57367, global_values.trace_length)), 65536))). - assert pow2369 = pow103 * pow2368; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 1024))). - assert pow2370 = pow124 * pow2369; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 512))). - assert pow2371 = pow124 * pow2370; // pow(trace_generator, (safe_div((safe_mult(899, global_values.trace_length)), 1024))). - assert pow2372 = pow124 * pow2371; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 256))). - assert pow2373 = pow124 * pow2372; // pow(trace_generator, (safe_div((safe_mult(901, global_values.trace_length)), 1024))). - assert pow2374 = pow124 * pow2373; // pow(trace_generator, (safe_div((safe_mult(451, global_values.trace_length)), 512))). - assert pow2375 = pow124 * pow2374; // pow(trace_generator, (safe_div((safe_mult(903, global_values.trace_length)), 1024))). - assert pow2376 = pow124 * pow2375; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 128))). - assert pow2377 = pow124 * pow2376; // pow(trace_generator, (safe_div((safe_mult(905, global_values.trace_length)), 1024))). - assert pow2378 = pow124 * pow2377; // pow(trace_generator, (safe_div((safe_mult(453, global_values.trace_length)), 512))). - assert pow2379 = pow124 * pow2378; // pow(trace_generator, (safe_div((safe_mult(907, global_values.trace_length)), 1024))). - assert pow2380 = pow124 * pow2379; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 256))). - assert pow2381 = pow124 * pow2380; // pow(trace_generator, (safe_div((safe_mult(909, global_values.trace_length)), 1024))). - assert pow2382 = pow124 * pow2381; // pow(trace_generator, (safe_div((safe_mult(455, global_values.trace_length)), 512))). - assert pow2383 = pow124 * pow2382; // pow(trace_generator, (safe_div((safe_mult(911, global_values.trace_length)), 1024))). - assert pow2384 = pow124 * pow2383; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 64))). - assert pow2385 = pow56 * pow2384; // pow(trace_generator, (safe_div((safe_mult(58369, global_values.trace_length)), 65536))). - assert pow2386 = pow56 * pow2385; // pow(trace_generator, (safe_div((safe_mult(29185, global_values.trace_length)), 32768))). - assert pow2387 = pow56 * pow2386; // pow(trace_generator, (safe_div((safe_mult(58371, global_values.trace_length)), 65536))). - assert pow2388 = pow56 * pow2387; // pow(trace_generator, (safe_div((safe_mult(14593, global_values.trace_length)), 16384))). - assert pow2389 = pow56 * pow2388; // pow(trace_generator, (safe_div((safe_mult(58373, global_values.trace_length)), 65536))). - assert pow2390 = pow56 * pow2389; // pow(trace_generator, (safe_div((safe_mult(29187, global_values.trace_length)), 32768))). - assert pow2391 = pow56 * pow2390; // pow(trace_generator, (safe_div((safe_mult(58375, global_values.trace_length)), 65536))). - assert pow2392 = pow56 * pow2391; // pow(trace_generator, (safe_div((safe_mult(7297, global_values.trace_length)), 8192))). - assert pow2393 = pow56 * pow2392; // pow(trace_generator, (safe_div((safe_mult(58377, global_values.trace_length)), 65536))). - assert pow2394 = pow56 * pow2393; // pow(trace_generator, (safe_div((safe_mult(29189, global_values.trace_length)), 32768))). - assert pow2395 = pow56 * pow2394; // pow(trace_generator, (safe_div((safe_mult(58379, global_values.trace_length)), 65536))). - assert pow2396 = pow56 * pow2395; // pow(trace_generator, (safe_div((safe_mult(14595, global_values.trace_length)), 16384))). - assert pow2397 = pow56 * pow2396; // pow(trace_generator, (safe_div((safe_mult(58381, global_values.trace_length)), 65536))). - assert pow2398 = pow56 * pow2397; // pow(trace_generator, (safe_div((safe_mult(29191, global_values.trace_length)), 32768))). - assert pow2399 = pow56 * pow2398; // pow(trace_generator, (safe_div((safe_mult(58383, global_values.trace_length)), 65536))). - assert pow2400 = pow56 * pow2399; // pow(trace_generator, (safe_div((safe_mult(3649, global_values.trace_length)), 4096))). - assert pow2401 = pow56 * pow2400; // pow(trace_generator, (safe_div((safe_mult(58385, global_values.trace_length)), 65536))). - assert pow2402 = pow56 * pow2401; // pow(trace_generator, (safe_div((safe_mult(29193, global_values.trace_length)), 32768))). - assert pow2403 = pow56 * pow2402; // pow(trace_generator, (safe_div((safe_mult(58387, global_values.trace_length)), 65536))). - assert pow2404 = pow56 * pow2403; // pow(trace_generator, (safe_div((safe_mult(14597, global_values.trace_length)), 16384))). - assert pow2405 = pow56 * pow2404; // pow(trace_generator, (safe_div((safe_mult(58389, global_values.trace_length)), 65536))). - assert pow2406 = pow56 * pow2405; // pow(trace_generator, (safe_div((safe_mult(29195, global_values.trace_length)), 32768))). - assert pow2407 = pow56 * pow2406; // pow(trace_generator, (safe_div((safe_mult(58391, global_values.trace_length)), 65536))). - assert pow2408 = pow103 * pow2407; // pow(trace_generator, (safe_div((safe_mult(913, global_values.trace_length)), 1024))). - assert pow2409 = pow124 * pow2408; // pow(trace_generator, (safe_div((safe_mult(457, global_values.trace_length)), 512))). - assert pow2410 = pow124 * pow2409; // pow(trace_generator, (safe_div((safe_mult(915, global_values.trace_length)), 1024))). - assert pow2411 = pow124 * pow2410; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 256))). - assert pow2412 = pow124 * pow2411; // pow(trace_generator, (safe_div((safe_mult(917, global_values.trace_length)), 1024))). - assert pow2413 = pow124 * pow2412; // pow(trace_generator, (safe_div((safe_mult(459, global_values.trace_length)), 512))). - assert pow2414 = pow124 * pow2413; // pow(trace_generator, (safe_div((safe_mult(919, global_values.trace_length)), 1024))). - assert pow2415 = pow124 * pow2414; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 128))). - assert pow2416 = pow124 * pow2415; // pow(trace_generator, (safe_div((safe_mult(921, global_values.trace_length)), 1024))). - assert pow2417 = pow124 * pow2416; // pow(trace_generator, (safe_div((safe_mult(461, global_values.trace_length)), 512))). - assert pow2418 = pow124 * pow2417; // pow(trace_generator, (safe_div((safe_mult(923, global_values.trace_length)), 1024))). - assert pow2419 = pow124 * pow2418; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 256))). - assert pow2420 = pow124 * pow2419; // pow(trace_generator, (safe_div((safe_mult(925, global_values.trace_length)), 1024))). - assert pow2421 = pow244 * pow2420; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32))). - assert pow2422 = pow56 * pow2421; // pow(trace_generator, (safe_div((safe_mult(59393, global_values.trace_length)), 65536))). - assert pow2423 = pow56 * pow2422; // pow(trace_generator, (safe_div((safe_mult(29697, global_values.trace_length)), 32768))). - assert pow2424 = pow56 * pow2423; // pow(trace_generator, (safe_div((safe_mult(59395, global_values.trace_length)), 65536))). - assert pow2425 = pow56 * pow2424; // pow(trace_generator, (safe_div((safe_mult(14849, global_values.trace_length)), 16384))). - assert pow2426 = pow56 * pow2425; // pow(trace_generator, (safe_div((safe_mult(59397, global_values.trace_length)), 65536))). - assert pow2427 = pow56 * pow2426; // pow(trace_generator, (safe_div((safe_mult(29699, global_values.trace_length)), 32768))). - assert pow2428 = pow56 * pow2427; // pow(trace_generator, (safe_div((safe_mult(59399, global_values.trace_length)), 65536))). - assert pow2429 = pow56 * pow2428; // pow(trace_generator, (safe_div((safe_mult(7425, global_values.trace_length)), 8192))). - assert pow2430 = pow56 * pow2429; // pow(trace_generator, (safe_div((safe_mult(59401, global_values.trace_length)), 65536))). - assert pow2431 = pow56 * pow2430; // pow(trace_generator, (safe_div((safe_mult(29701, global_values.trace_length)), 32768))). - assert pow2432 = pow56 * pow2431; // pow(trace_generator, (safe_div((safe_mult(59403, global_values.trace_length)), 65536))). - assert pow2433 = pow56 * pow2432; // pow(trace_generator, (safe_div((safe_mult(14851, global_values.trace_length)), 16384))). - assert pow2434 = pow56 * pow2433; // pow(trace_generator, (safe_div((safe_mult(59405, global_values.trace_length)), 65536))). - assert pow2435 = pow56 * pow2434; // pow(trace_generator, (safe_div((safe_mult(29703, global_values.trace_length)), 32768))). - assert pow2436 = pow56 * pow2435; // pow(trace_generator, (safe_div((safe_mult(59407, global_values.trace_length)), 65536))). - assert pow2437 = pow56 * pow2436; // pow(trace_generator, (safe_div((safe_mult(3713, global_values.trace_length)), 4096))). - assert pow2438 = pow56 * pow2437; // pow(trace_generator, (safe_div((safe_mult(59409, global_values.trace_length)), 65536))). - assert pow2439 = pow56 * pow2438; // pow(trace_generator, (safe_div((safe_mult(29705, global_values.trace_length)), 32768))). - assert pow2440 = pow56 * pow2439; // pow(trace_generator, (safe_div((safe_mult(59411, global_values.trace_length)), 65536))). - assert pow2441 = pow56 * pow2440; // pow(trace_generator, (safe_div((safe_mult(14853, global_values.trace_length)), 16384))). - assert pow2442 = pow56 * pow2441; // pow(trace_generator, (safe_div((safe_mult(59413, global_values.trace_length)), 65536))). - assert pow2443 = pow56 * pow2442; // pow(trace_generator, (safe_div((safe_mult(29707, global_values.trace_length)), 32768))). - assert pow2444 = pow56 * pow2443; // pow(trace_generator, (safe_div((safe_mult(59415, global_values.trace_length)), 65536))). - assert pow2445 = pow103 * pow2444; // pow(trace_generator, (safe_div((safe_mult(929, global_values.trace_length)), 1024))). - assert pow2446 = pow124 * pow2445; // pow(trace_generator, (safe_div((safe_mult(465, global_values.trace_length)), 512))). - assert pow2447 = pow124 * pow2446; // pow(trace_generator, (safe_div((safe_mult(931, global_values.trace_length)), 1024))). - assert pow2448 = pow124 * pow2447; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 256))). - assert pow2449 = pow124 * pow2448; // pow(trace_generator, (safe_div((safe_mult(933, global_values.trace_length)), 1024))). - assert pow2450 = pow124 * pow2449; // pow(trace_generator, (safe_div((safe_mult(467, global_values.trace_length)), 512))). - assert pow2451 = pow124 * pow2450; // pow(trace_generator, (safe_div((safe_mult(935, global_values.trace_length)), 1024))). - assert pow2452 = pow124 * pow2451; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 128))). - assert pow2453 = pow124 * pow2452; // pow(trace_generator, (safe_div((safe_mult(937, global_values.trace_length)), 1024))). - assert pow2454 = pow124 * pow2453; // pow(trace_generator, (safe_div((safe_mult(469, global_values.trace_length)), 512))). - assert pow2455 = pow124 * pow2454; // pow(trace_generator, (safe_div((safe_mult(939, global_values.trace_length)), 1024))). - assert pow2456 = pow124 * pow2455; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 256))). - assert pow2457 = pow124 * pow2456; // pow(trace_generator, (safe_div((safe_mult(941, global_values.trace_length)), 1024))). - assert pow2458 = pow124 * pow2457; // pow(trace_generator, (safe_div((safe_mult(471, global_values.trace_length)), 512))). - assert pow2459 = pow124 * pow2458; // pow(trace_generator, (safe_div((safe_mult(943, global_values.trace_length)), 1024))). - assert pow2460 = pow124 * pow2459; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 64))). - assert pow2461 = pow56 * pow2460; // pow(trace_generator, (safe_div((safe_mult(60417, global_values.trace_length)), 65536))). - assert pow2462 = pow56 * pow2461; // pow(trace_generator, (safe_div((safe_mult(30209, global_values.trace_length)), 32768))). - assert pow2463 = pow56 * pow2462; // pow(trace_generator, (safe_div((safe_mult(60419, global_values.trace_length)), 65536))). - assert pow2464 = pow56 * pow2463; // pow(trace_generator, (safe_div((safe_mult(15105, global_values.trace_length)), 16384))). - assert pow2465 = pow56 * pow2464; // pow(trace_generator, (safe_div((safe_mult(60421, global_values.trace_length)), 65536))). - assert pow2466 = pow56 * pow2465; // pow(trace_generator, (safe_div((safe_mult(30211, global_values.trace_length)), 32768))). - assert pow2467 = pow56 * pow2466; // pow(trace_generator, (safe_div((safe_mult(60423, global_values.trace_length)), 65536))). - assert pow2468 = pow56 * pow2467; // pow(trace_generator, (safe_div((safe_mult(7553, global_values.trace_length)), 8192))). - assert pow2469 = pow56 * pow2468; // pow(trace_generator, (safe_div((safe_mult(60425, global_values.trace_length)), 65536))). - assert pow2470 = pow56 * pow2469; // pow(trace_generator, (safe_div((safe_mult(30213, global_values.trace_length)), 32768))). - assert pow2471 = pow56 * pow2470; // pow(trace_generator, (safe_div((safe_mult(60427, global_values.trace_length)), 65536))). - assert pow2472 = pow56 * pow2471; // pow(trace_generator, (safe_div((safe_mult(15107, global_values.trace_length)), 16384))). - assert pow2473 = pow56 * pow2472; // pow(trace_generator, (safe_div((safe_mult(60429, global_values.trace_length)), 65536))). - assert pow2474 = pow56 * pow2473; // pow(trace_generator, (safe_div((safe_mult(30215, global_values.trace_length)), 32768))). - assert pow2475 = pow56 * pow2474; // pow(trace_generator, (safe_div((safe_mult(60431, global_values.trace_length)), 65536))). - assert pow2476 = pow56 * pow2475; // pow(trace_generator, (safe_div((safe_mult(3777, global_values.trace_length)), 4096))). - assert pow2477 = pow56 * pow2476; // pow(trace_generator, (safe_div((safe_mult(60433, global_values.trace_length)), 65536))). - assert pow2478 = pow56 * pow2477; // pow(trace_generator, (safe_div((safe_mult(30217, global_values.trace_length)), 32768))). - assert pow2479 = pow56 * pow2478; // pow(trace_generator, (safe_div((safe_mult(60435, global_values.trace_length)), 65536))). - assert pow2480 = pow56 * pow2479; // pow(trace_generator, (safe_div((safe_mult(15109, global_values.trace_length)), 16384))). - assert pow2481 = pow56 * pow2480; // pow(trace_generator, (safe_div((safe_mult(60437, global_values.trace_length)), 65536))). - assert pow2482 = pow56 * pow2481; // pow(trace_generator, (safe_div((safe_mult(30219, global_values.trace_length)), 32768))). - assert pow2483 = pow56 * pow2482; // pow(trace_generator, (safe_div((safe_mult(60439, global_values.trace_length)), 65536))). - assert pow2484 = pow103 * pow2483; // pow(trace_generator, (safe_div((safe_mult(945, global_values.trace_length)), 1024))). - assert pow2485 = pow124 * pow2484; // pow(trace_generator, (safe_div((safe_mult(473, global_values.trace_length)), 512))). - assert pow2486 = pow124 * pow2485; // pow(trace_generator, (safe_div((safe_mult(947, global_values.trace_length)), 1024))). - assert pow2487 = pow124 * pow2486; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 256))). - assert pow2488 = pow124 * pow2487; // pow(trace_generator, (safe_div((safe_mult(949, global_values.trace_length)), 1024))). - assert pow2489 = pow124 * pow2488; // pow(trace_generator, (safe_div((safe_mult(475, global_values.trace_length)), 512))). - assert pow2490 = pow124 * pow2489; // pow(trace_generator, (safe_div((safe_mult(951, global_values.trace_length)), 1024))). - assert pow2491 = pow124 * pow2490; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 128))). - assert pow2492 = pow124 * pow2491; // pow(trace_generator, (safe_div((safe_mult(953, global_values.trace_length)), 1024))). - assert pow2493 = pow124 * pow2492; // pow(trace_generator, (safe_div((safe_mult(477, global_values.trace_length)), 512))). - assert pow2494 = pow124 * pow2493; // pow(trace_generator, (safe_div((safe_mult(955, global_values.trace_length)), 1024))). - assert pow2495 = pow124 * pow2494; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 256))). - assert pow2496 = pow124 * pow2495; // pow(trace_generator, (safe_div((safe_mult(957, global_values.trace_length)), 1024))). - assert pow2497 = pow244 * pow2496; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). - assert pow2498 = pow56 * pow2497; // pow(trace_generator, (safe_div((safe_mult(61441, global_values.trace_length)), 65536))). - assert pow2499 = pow56 * pow2498; // pow(trace_generator, (safe_div((safe_mult(30721, global_values.trace_length)), 32768))). - assert pow2500 = pow56 * pow2499; // pow(trace_generator, (safe_div((safe_mult(61443, global_values.trace_length)), 65536))). - assert pow2501 = pow56 * pow2500; // pow(trace_generator, (safe_div((safe_mult(15361, global_values.trace_length)), 16384))). - assert pow2502 = pow56 * pow2501; // pow(trace_generator, (safe_div((safe_mult(61445, global_values.trace_length)), 65536))). - assert pow2503 = pow56 * pow2502; // pow(trace_generator, (safe_div((safe_mult(30723, global_values.trace_length)), 32768))). - assert pow2504 = pow56 * pow2503; // pow(trace_generator, (safe_div((safe_mult(61447, global_values.trace_length)), 65536))). - assert pow2505 = pow56 * pow2504; // pow(trace_generator, (safe_div((safe_mult(7681, global_values.trace_length)), 8192))). - assert pow2506 = pow56 * pow2505; // pow(trace_generator, (safe_div((safe_mult(61449, global_values.trace_length)), 65536))). - assert pow2507 = pow56 * pow2506; // pow(trace_generator, (safe_div((safe_mult(30725, global_values.trace_length)), 32768))). - assert pow2508 = pow56 * pow2507; // pow(trace_generator, (safe_div((safe_mult(61451, global_values.trace_length)), 65536))). - assert pow2509 = pow56 * pow2508; // pow(trace_generator, (safe_div((safe_mult(15363, global_values.trace_length)), 16384))). - assert pow2510 = pow56 * pow2509; // pow(trace_generator, (safe_div((safe_mult(61453, global_values.trace_length)), 65536))). - assert pow2511 = pow56 * pow2510; // pow(trace_generator, (safe_div((safe_mult(30727, global_values.trace_length)), 32768))). - assert pow2512 = pow56 * pow2511; // pow(trace_generator, (safe_div((safe_mult(61455, global_values.trace_length)), 65536))). - assert pow2513 = pow56 * pow2512; // pow(trace_generator, (safe_div((safe_mult(3841, global_values.trace_length)), 4096))). - assert pow2514 = pow56 * pow2513; // pow(trace_generator, (safe_div((safe_mult(61457, global_values.trace_length)), 65536))). - assert pow2515 = pow56 * pow2514; // pow(trace_generator, (safe_div((safe_mult(30729, global_values.trace_length)), 32768))). - assert pow2516 = pow56 * pow2515; // pow(trace_generator, (safe_div((safe_mult(61459, global_values.trace_length)), 65536))). - assert pow2517 = pow56 * pow2516; // pow(trace_generator, (safe_div((safe_mult(15365, global_values.trace_length)), 16384))). - assert pow2518 = pow56 * pow2517; // pow(trace_generator, (safe_div((safe_mult(61461, global_values.trace_length)), 65536))). - assert pow2519 = pow56 * pow2518; // pow(trace_generator, (safe_div((safe_mult(30731, global_values.trace_length)), 32768))). - assert pow2520 = pow56 * pow2519; // pow(trace_generator, (safe_div((safe_mult(61463, global_values.trace_length)), 65536))). - assert pow2521 = pow103 * pow2520; // pow(trace_generator, (safe_div((safe_mult(961, global_values.trace_length)), 1024))). - assert pow2522 = pow124 * pow2521; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 512))). - assert pow2523 = pow124 * pow2522; // pow(trace_generator, (safe_div((safe_mult(963, global_values.trace_length)), 1024))). - assert pow2524 = pow124 * pow2523; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 256))). - assert pow2525 = pow124 * pow2524; // pow(trace_generator, (safe_div((safe_mult(965, global_values.trace_length)), 1024))). - assert pow2526 = pow124 * pow2525; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 512))). - assert pow2527 = pow124 * pow2526; // pow(trace_generator, (safe_div((safe_mult(967, global_values.trace_length)), 1024))). - assert pow2528 = pow124 * pow2527; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 128))). - assert pow2529 = pow124 * pow2528; // pow(trace_generator, (safe_div((safe_mult(969, global_values.trace_length)), 1024))). - assert pow2530 = pow124 * pow2529; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 512))). - assert pow2531 = pow124 * pow2530; // pow(trace_generator, (safe_div((safe_mult(971, global_values.trace_length)), 1024))). - assert pow2532 = pow124 * pow2531; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 256))). - assert pow2533 = pow124 * pow2532; // pow(trace_generator, (safe_div((safe_mult(973, global_values.trace_length)), 1024))). - assert pow2534 = pow124 * pow2533; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 512))). - assert pow2535 = pow124 * pow2534; // pow(trace_generator, (safe_div((safe_mult(975, global_values.trace_length)), 1024))). - assert pow2536 = pow124 * pow2535; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 64))). - assert pow2537 = pow56 * pow2536; // pow(trace_generator, (safe_div((safe_mult(62465, global_values.trace_length)), 65536))). - assert pow2538 = pow56 * pow2537; // pow(trace_generator, (safe_div((safe_mult(31233, global_values.trace_length)), 32768))). - assert pow2539 = pow56 * pow2538; // pow(trace_generator, (safe_div((safe_mult(62467, global_values.trace_length)), 65536))). - assert pow2540 = pow56 * pow2539; // pow(trace_generator, (safe_div((safe_mult(15617, global_values.trace_length)), 16384))). - assert pow2541 = pow56 * pow2540; // pow(trace_generator, (safe_div((safe_mult(62469, global_values.trace_length)), 65536))). - assert pow2542 = pow56 * pow2541; // pow(trace_generator, (safe_div((safe_mult(31235, global_values.trace_length)), 32768))). - assert pow2543 = pow56 * pow2542; // pow(trace_generator, (safe_div((safe_mult(62471, global_values.trace_length)), 65536))). - assert pow2544 = pow56 * pow2543; // pow(trace_generator, (safe_div((safe_mult(7809, global_values.trace_length)), 8192))). - assert pow2545 = pow56 * pow2544; // pow(trace_generator, (safe_div((safe_mult(62473, global_values.trace_length)), 65536))). - assert pow2546 = pow56 * pow2545; // pow(trace_generator, (safe_div((safe_mult(31237, global_values.trace_length)), 32768))). - assert pow2547 = pow56 * pow2546; // pow(trace_generator, (safe_div((safe_mult(62475, global_values.trace_length)), 65536))). - assert pow2548 = pow56 * pow2547; // pow(trace_generator, (safe_div((safe_mult(15619, global_values.trace_length)), 16384))). - assert pow2549 = pow56 * pow2548; // pow(trace_generator, (safe_div((safe_mult(62477, global_values.trace_length)), 65536))). - assert pow2550 = pow56 * pow2549; // pow(trace_generator, (safe_div((safe_mult(31239, global_values.trace_length)), 32768))). - assert pow2551 = pow56 * pow2550; // pow(trace_generator, (safe_div((safe_mult(62479, global_values.trace_length)), 65536))). - assert pow2552 = pow56 * pow2551; // pow(trace_generator, (safe_div((safe_mult(3905, global_values.trace_length)), 4096))). - assert pow2553 = pow56 * pow2552; // pow(trace_generator, (safe_div((safe_mult(62481, global_values.trace_length)), 65536))). - assert pow2554 = pow56 * pow2553; // pow(trace_generator, (safe_div((safe_mult(31241, global_values.trace_length)), 32768))). - assert pow2555 = pow56 * pow2554; // pow(trace_generator, (safe_div((safe_mult(62483, global_values.trace_length)), 65536))). - assert pow2556 = pow56 * pow2555; // pow(trace_generator, (safe_div((safe_mult(15621, global_values.trace_length)), 16384))). - assert pow2557 = pow56 * pow2556; // pow(trace_generator, (safe_div((safe_mult(62485, global_values.trace_length)), 65536))). - assert pow2558 = pow56 * pow2557; // pow(trace_generator, (safe_div((safe_mult(31243, global_values.trace_length)), 32768))). - assert pow2559 = pow56 * pow2558; // pow(trace_generator, (safe_div((safe_mult(62487, global_values.trace_length)), 65536))). - assert pow2560 = pow103 * pow2559; // pow(trace_generator, (safe_div((safe_mult(977, global_values.trace_length)), 1024))). - assert pow2561 = pow124 * pow2560; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 512))). - assert pow2562 = pow124 * pow2561; // pow(trace_generator, (safe_div((safe_mult(979, global_values.trace_length)), 1024))). - assert pow2563 = pow124 * pow2562; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 256))). - assert pow2564 = pow124 * pow2563; // pow(trace_generator, (safe_div((safe_mult(981, global_values.trace_length)), 1024))). - assert pow2565 = pow124 * pow2564; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 512))). - assert pow2566 = pow124 * pow2565; // pow(trace_generator, (safe_div((safe_mult(983, global_values.trace_length)), 1024))). - assert pow2567 = pow124 * pow2566; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 128))). - assert pow2568 = pow124 * pow2567; // pow(trace_generator, (safe_div((safe_mult(985, global_values.trace_length)), 1024))). - assert pow2569 = pow124 * pow2568; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 512))). - assert pow2570 = pow124 * pow2569; // pow(trace_generator, (safe_div((safe_mult(987, global_values.trace_length)), 1024))). - assert pow2571 = pow124 * pow2570; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 256))). - assert pow2572 = pow124 * pow2571; // pow(trace_generator, (safe_div((safe_mult(989, global_values.trace_length)), 1024))). - assert pow2573 = pow244 * pow2572; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 32))). - assert pow2574 = pow56 * pow2573; // pow(trace_generator, (safe_div((safe_mult(63489, global_values.trace_length)), 65536))). - assert pow2575 = pow56 * pow2574; // pow(trace_generator, (safe_div((safe_mult(31745, global_values.trace_length)), 32768))). - assert pow2576 = pow56 * pow2575; // pow(trace_generator, (safe_div((safe_mult(63491, global_values.trace_length)), 65536))). - assert pow2577 = pow56 * pow2576; // pow(trace_generator, (safe_div((safe_mult(15873, global_values.trace_length)), 16384))). - assert pow2578 = pow56 * pow2577; // pow(trace_generator, (safe_div((safe_mult(63493, global_values.trace_length)), 65536))). - assert pow2579 = pow56 * pow2578; // pow(trace_generator, (safe_div((safe_mult(31747, global_values.trace_length)), 32768))). - assert pow2580 = pow56 * pow2579; // pow(trace_generator, (safe_div((safe_mult(63495, global_values.trace_length)), 65536))). - assert pow2581 = pow56 * pow2580; // pow(trace_generator, (safe_div((safe_mult(7937, global_values.trace_length)), 8192))). - assert pow2582 = pow56 * pow2581; // pow(trace_generator, (safe_div((safe_mult(63497, global_values.trace_length)), 65536))). - assert pow2583 = pow56 * pow2582; // pow(trace_generator, (safe_div((safe_mult(31749, global_values.trace_length)), 32768))). - assert pow2584 = pow56 * pow2583; // pow(trace_generator, (safe_div((safe_mult(63499, global_values.trace_length)), 65536))). - assert pow2585 = pow56 * pow2584; // pow(trace_generator, (safe_div((safe_mult(15875, global_values.trace_length)), 16384))). - assert pow2586 = pow56 * pow2585; // pow(trace_generator, (safe_div((safe_mult(63501, global_values.trace_length)), 65536))). - assert pow2587 = pow56 * pow2586; // pow(trace_generator, (safe_div((safe_mult(31751, global_values.trace_length)), 32768))). - assert pow2588 = pow56 * pow2587; // pow(trace_generator, (safe_div((safe_mult(63503, global_values.trace_length)), 65536))). - assert pow2589 = pow56 * pow2588; // pow(trace_generator, (safe_div((safe_mult(3969, global_values.trace_length)), 4096))). - assert pow2590 = pow56 * pow2589; // pow(trace_generator, (safe_div((safe_mult(63505, global_values.trace_length)), 65536))). - assert pow2591 = pow56 * pow2590; // pow(trace_generator, (safe_div((safe_mult(31753, global_values.trace_length)), 32768))). - assert pow2592 = pow56 * pow2591; // pow(trace_generator, (safe_div((safe_mult(63507, global_values.trace_length)), 65536))). - assert pow2593 = pow56 * pow2592; // pow(trace_generator, (safe_div((safe_mult(15877, global_values.trace_length)), 16384))). - assert pow2594 = pow56 * pow2593; // pow(trace_generator, (safe_div((safe_mult(63509, global_values.trace_length)), 65536))). - assert pow2595 = pow56 * pow2594; // pow(trace_generator, (safe_div((safe_mult(31755, global_values.trace_length)), 32768))). - assert pow2596 = pow56 * pow2595; // pow(trace_generator, (safe_div((safe_mult(63511, global_values.trace_length)), 65536))). - assert pow2597 = pow103 * pow2596; // pow(trace_generator, (safe_div((safe_mult(993, global_values.trace_length)), 1024))). - assert pow2598 = pow124 * pow2597; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 512))). - assert pow2599 = pow124 * pow2598; // pow(trace_generator, (safe_div((safe_mult(995, global_values.trace_length)), 1024))). - assert pow2600 = pow124 * pow2599; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 256))). - assert pow2601 = pow124 * pow2600; // pow(trace_generator, (safe_div((safe_mult(997, global_values.trace_length)), 1024))). - assert pow2602 = pow124 * pow2601; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 512))). - assert pow2603 = pow124 * pow2602; // pow(trace_generator, (safe_div((safe_mult(999, global_values.trace_length)), 1024))). - assert pow2604 = pow124 * pow2603; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 128))). - assert pow2605 = pow124 * pow2604; // pow(trace_generator, (safe_div((safe_mult(1001, global_values.trace_length)), 1024))). - assert pow2606 = pow124 * pow2605; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 512))). - assert pow2607 = pow124 * pow2606; // pow(trace_generator, (safe_div((safe_mult(1003, global_values.trace_length)), 1024))). - assert pow2608 = pow124 * pow2607; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 256))). - assert pow2609 = pow124 * pow2608; // pow(trace_generator, (safe_div((safe_mult(1005, global_values.trace_length)), 1024))). - assert pow2610 = pow124 * pow2609; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 512))). - assert pow2611 = pow124 * pow2610; // pow(trace_generator, (safe_div((safe_mult(1007, global_values.trace_length)), 1024))). - assert pow2612 = pow124 * pow2611; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64))). - assert pow2613 = pow56 * pow2612; // pow(trace_generator, (safe_div((safe_mult(64513, global_values.trace_length)), 65536))). - assert pow2614 = pow56 * pow2613; // pow(trace_generator, (safe_div((safe_mult(32257, global_values.trace_length)), 32768))). - assert pow2615 = pow56 * pow2614; // pow(trace_generator, (safe_div((safe_mult(64515, global_values.trace_length)), 65536))). - assert pow2616 = pow56 * pow2615; // pow(trace_generator, (safe_div((safe_mult(16129, global_values.trace_length)), 16384))). - assert pow2617 = pow56 * pow2616; // pow(trace_generator, (safe_div((safe_mult(64517, global_values.trace_length)), 65536))). - assert pow2618 = pow56 * pow2617; // pow(trace_generator, (safe_div((safe_mult(32259, global_values.trace_length)), 32768))). - assert pow2619 = pow56 * pow2618; // pow(trace_generator, (safe_div((safe_mult(64519, global_values.trace_length)), 65536))). - assert pow2620 = pow56 * pow2619; // pow(trace_generator, (safe_div((safe_mult(8065, global_values.trace_length)), 8192))). - assert pow2621 = pow56 * pow2620; // pow(trace_generator, (safe_div((safe_mult(64521, global_values.trace_length)), 65536))). - assert pow2622 = pow56 * pow2621; // pow(trace_generator, (safe_div((safe_mult(32261, global_values.trace_length)), 32768))). - assert pow2623 = pow56 * pow2622; // pow(trace_generator, (safe_div((safe_mult(64523, global_values.trace_length)), 65536))). - assert pow2624 = pow56 * pow2623; // pow(trace_generator, (safe_div((safe_mult(16131, global_values.trace_length)), 16384))). - assert pow2625 = pow56 * pow2624; // pow(trace_generator, (safe_div((safe_mult(64525, global_values.trace_length)), 65536))). - assert pow2626 = pow56 * pow2625; // pow(trace_generator, (safe_div((safe_mult(32263, global_values.trace_length)), 32768))). - assert pow2627 = pow56 * pow2626; // pow(trace_generator, (safe_div((safe_mult(64527, global_values.trace_length)), 65536))). - assert pow2628 = pow56 * pow2627; // pow(trace_generator, (safe_div((safe_mult(4033, global_values.trace_length)), 4096))). - assert pow2629 = pow56 * pow2628; // pow(trace_generator, (safe_div((safe_mult(64529, global_values.trace_length)), 65536))). - assert pow2630 = pow56 * pow2629; // pow(trace_generator, (safe_div((safe_mult(32265, global_values.trace_length)), 32768))). - assert pow2631 = pow56 * pow2630; // pow(trace_generator, (safe_div((safe_mult(64531, global_values.trace_length)), 65536))). - assert pow2632 = pow56 * pow2631; // pow(trace_generator, (safe_div((safe_mult(16133, global_values.trace_length)), 16384))). - assert pow2633 = pow56 * pow2632; // pow(trace_generator, (safe_div((safe_mult(64533, global_values.trace_length)), 65536))). - assert pow2634 = pow56 * pow2633; // pow(trace_generator, (safe_div((safe_mult(32267, global_values.trace_length)), 32768))). - assert pow2635 = pow56 * pow2634; // pow(trace_generator, (safe_div((safe_mult(64535, global_values.trace_length)), 65536))). - assert pow2636 = pow56 * pow2635; // pow(trace_generator, (safe_div((safe_mult(8067, global_values.trace_length)), 8192))). - assert pow2637 = pow56 * pow2636; // pow(trace_generator, (safe_div((safe_mult(64537, global_values.trace_length)), 65536))). - assert pow2638 = pow56 * pow2637; // pow(trace_generator, (safe_div((safe_mult(32269, global_values.trace_length)), 32768))). - assert pow2639 = pow56 * pow2638; // pow(trace_generator, (safe_div((safe_mult(64539, global_values.trace_length)), 65536))). - assert pow2640 = pow56 * pow2639; // pow(trace_generator, (safe_div((safe_mult(16135, global_values.trace_length)), 16384))). - assert pow2641 = pow56 * pow2640; // pow(trace_generator, (safe_div((safe_mult(64541, global_values.trace_length)), 65536))). - assert pow2642 = pow65 * pow2641; // pow(trace_generator, (safe_div((safe_mult(2017, global_values.trace_length)), 2048))). - assert pow2643 = pow56 * pow2642; // pow(trace_generator, (safe_div((safe_mult(64545, global_values.trace_length)), 65536))). - assert pow2644 = pow56 * pow2643; // pow(trace_generator, (safe_div((safe_mult(32273, global_values.trace_length)), 32768))). - assert pow2645 = pow56 * pow2644; // pow(trace_generator, (safe_div((safe_mult(64547, global_values.trace_length)), 65536))). - assert pow2646 = pow56 * pow2645; // pow(trace_generator, (safe_div((safe_mult(16137, global_values.trace_length)), 16384))). - assert pow2647 = pow56 * pow2646; // pow(trace_generator, (safe_div((safe_mult(64549, global_values.trace_length)), 65536))). - assert pow2648 = pow56 * pow2647; // pow(trace_generator, (safe_div((safe_mult(32275, global_values.trace_length)), 32768))). - assert pow2649 = pow56 * pow2648; // pow(trace_generator, (safe_div((safe_mult(64551, global_values.trace_length)), 65536))). - assert pow2650 = pow56 * pow2649; // pow(trace_generator, (safe_div((safe_mult(8069, global_values.trace_length)), 8192))). - assert pow2651 = pow56 * pow2650; // pow(trace_generator, (safe_div((safe_mult(64553, global_values.trace_length)), 65536))). - assert pow2652 = pow56 * pow2651; // pow(trace_generator, (safe_div((safe_mult(32277, global_values.trace_length)), 32768))). - assert pow2653 = pow56 * pow2652; // pow(trace_generator, (safe_div((safe_mult(64555, global_values.trace_length)), 65536))). - assert pow2654 = pow56 * pow2653; // pow(trace_generator, (safe_div((safe_mult(16139, global_values.trace_length)), 16384))). - assert pow2655 = pow56 * pow2654; // pow(trace_generator, (safe_div((safe_mult(64557, global_values.trace_length)), 65536))). - assert pow2656 = pow56 * pow2655; // pow(trace_generator, (safe_div((safe_mult(32279, global_values.trace_length)), 32768))). - assert pow2657 = pow56 * pow2656; // pow(trace_generator, (safe_div((safe_mult(64559, global_values.trace_length)), 65536))). - assert pow2658 = pow56 * pow2657; // pow(trace_generator, (safe_div((safe_mult(4035, global_values.trace_length)), 4096))). - assert pow2659 = pow56 * pow2658; // pow(trace_generator, (safe_div((safe_mult(64561, global_values.trace_length)), 65536))). - assert pow2660 = pow56 * pow2659; // pow(trace_generator, (safe_div((safe_mult(32281, global_values.trace_length)), 32768))). - assert pow2661 = pow56 * pow2660; // pow(trace_generator, (safe_div((safe_mult(64563, global_values.trace_length)), 65536))). - assert pow2662 = pow56 * pow2661; // pow(trace_generator, (safe_div((safe_mult(16141, global_values.trace_length)), 16384))). - assert pow2663 = pow56 * pow2662; // pow(trace_generator, (safe_div((safe_mult(64565, global_values.trace_length)), 65536))). - assert pow2664 = pow56 * pow2663; // pow(trace_generator, (safe_div((safe_mult(32283, global_values.trace_length)), 32768))). - assert pow2665 = pow56 * pow2664; // pow(trace_generator, (safe_div((safe_mult(64567, global_values.trace_length)), 65536))). - assert pow2666 = pow56 * pow2665; // pow(trace_generator, (safe_div((safe_mult(8071, global_values.trace_length)), 8192))). - assert pow2667 = pow56 * pow2666; // pow(trace_generator, (safe_div((safe_mult(64569, global_values.trace_length)), 65536))). - assert pow2668 = pow56 * pow2667; // pow(trace_generator, (safe_div((safe_mult(32285, global_values.trace_length)), 32768))). - assert pow2669 = pow56 * pow2668; // pow(trace_generator, (safe_div((safe_mult(64571, global_values.trace_length)), 65536))). - assert pow2670 = pow56 * pow2669; // pow(trace_generator, (safe_div((safe_mult(16143, global_values.trace_length)), 16384))). - assert pow2671 = pow56 * pow2670; // pow(trace_generator, (safe_div((safe_mult(64573, global_values.trace_length)), 65536))). - assert pow2672 = pow65 * pow2671; // pow(trace_generator, (safe_div((safe_mult(1009, global_values.trace_length)), 1024))). - assert pow2673 = pow56 * pow2672; // pow(trace_generator, (safe_div((safe_mult(64577, global_values.trace_length)), 65536))). - assert pow2674 = pow56 * pow2673; // pow(trace_generator, (safe_div((safe_mult(32289, global_values.trace_length)), 32768))). - assert pow2675 = pow56 * pow2674; // pow(trace_generator, (safe_div((safe_mult(64579, global_values.trace_length)), 65536))). - assert pow2676 = pow56 * pow2675; // pow(trace_generator, (safe_div((safe_mult(16145, global_values.trace_length)), 16384))). - assert pow2677 = pow56 * pow2676; // pow(trace_generator, (safe_div((safe_mult(64581, global_values.trace_length)), 65536))). - assert pow2678 = pow56 * pow2677; // pow(trace_generator, (safe_div((safe_mult(32291, global_values.trace_length)), 32768))). - assert pow2679 = pow56 * pow2678; // pow(trace_generator, (safe_div((safe_mult(64583, global_values.trace_length)), 65536))). - assert pow2680 = pow56 * pow2679; // pow(trace_generator, (safe_div((safe_mult(8073, global_values.trace_length)), 8192))). - assert pow2681 = pow56 * pow2680; // pow(trace_generator, (safe_div((safe_mult(64585, global_values.trace_length)), 65536))). - assert pow2682 = pow56 * pow2681; // pow(trace_generator, (safe_div((safe_mult(32293, global_values.trace_length)), 32768))). - assert pow2683 = pow56 * pow2682; // pow(trace_generator, (safe_div((safe_mult(64587, global_values.trace_length)), 65536))). - assert pow2684 = pow56 * pow2683; // pow(trace_generator, (safe_div((safe_mult(16147, global_values.trace_length)), 16384))). - assert pow2685 = pow56 * pow2684; // pow(trace_generator, (safe_div((safe_mult(64589, global_values.trace_length)), 65536))). - assert pow2686 = pow56 * pow2685; // pow(trace_generator, (safe_div((safe_mult(32295, global_values.trace_length)), 32768))). - assert pow2687 = pow56 * pow2686; // pow(trace_generator, (safe_div((safe_mult(64591, global_values.trace_length)), 65536))). - assert pow2688 = pow56 * pow2687; // pow(trace_generator, (safe_div((safe_mult(4037, global_values.trace_length)), 4096))). - assert pow2689 = pow56 * pow2688; // pow(trace_generator, (safe_div((safe_mult(64593, global_values.trace_length)), 65536))). - assert pow2690 = pow56 * pow2689; // pow(trace_generator, (safe_div((safe_mult(32297, global_values.trace_length)), 32768))). - assert pow2691 = pow56 * pow2690; // pow(trace_generator, (safe_div((safe_mult(64595, global_values.trace_length)), 65536))). - assert pow2692 = pow56 * pow2691; // pow(trace_generator, (safe_div((safe_mult(16149, global_values.trace_length)), 16384))). - assert pow2693 = pow56 * pow2692; // pow(trace_generator, (safe_div((safe_mult(64597, global_values.trace_length)), 65536))). - assert pow2694 = pow56 * pow2693; // pow(trace_generator, (safe_div((safe_mult(32299, global_values.trace_length)), 32768))). - assert pow2695 = pow56 * pow2694; // pow(trace_generator, (safe_div((safe_mult(64599, global_values.trace_length)), 65536))). - assert pow2696 = pow56 * pow2695; // pow(trace_generator, (safe_div((safe_mult(8075, global_values.trace_length)), 8192))). - assert pow2697 = pow56 * pow2696; // pow(trace_generator, (safe_div((safe_mult(64601, global_values.trace_length)), 65536))). - assert pow2698 = pow56 * pow2697; // pow(trace_generator, (safe_div((safe_mult(32301, global_values.trace_length)), 32768))). - assert pow2699 = pow56 * pow2698; // pow(trace_generator, (safe_div((safe_mult(64603, global_values.trace_length)), 65536))). - assert pow2700 = pow56 * pow2699; // pow(trace_generator, (safe_div((safe_mult(16151, global_values.trace_length)), 16384))). - assert pow2701 = pow56 * pow2700; // pow(trace_generator, (safe_div((safe_mult(64605, global_values.trace_length)), 65536))). - assert pow2702 = pow65 * pow2701; // pow(trace_generator, (safe_div((safe_mult(2019, global_values.trace_length)), 2048))). - assert pow2703 = pow56 * pow2702; // pow(trace_generator, (safe_div((safe_mult(64609, global_values.trace_length)), 65536))). - assert pow2704 = pow56 * pow2703; // pow(trace_generator, (safe_div((safe_mult(32305, global_values.trace_length)), 32768))). - assert pow2705 = pow56 * pow2704; // pow(trace_generator, (safe_div((safe_mult(64611, global_values.trace_length)), 65536))). - assert pow2706 = pow56 * pow2705; // pow(trace_generator, (safe_div((safe_mult(16153, global_values.trace_length)), 16384))). - assert pow2707 = pow56 * pow2706; // pow(trace_generator, (safe_div((safe_mult(64613, global_values.trace_length)), 65536))). - assert pow2708 = pow56 * pow2707; // pow(trace_generator, (safe_div((safe_mult(32307, global_values.trace_length)), 32768))). - assert pow2709 = pow56 * pow2708; // pow(trace_generator, (safe_div((safe_mult(64615, global_values.trace_length)), 65536))). - assert pow2710 = pow56 * pow2709; // pow(trace_generator, (safe_div((safe_mult(8077, global_values.trace_length)), 8192))). - assert pow2711 = pow56 * pow2710; // pow(trace_generator, (safe_div((safe_mult(64617, global_values.trace_length)), 65536))). - assert pow2712 = pow56 * pow2711; // pow(trace_generator, (safe_div((safe_mult(32309, global_values.trace_length)), 32768))). - assert pow2713 = pow56 * pow2712; // pow(trace_generator, (safe_div((safe_mult(64619, global_values.trace_length)), 65536))). - assert pow2714 = pow56 * pow2713; // pow(trace_generator, (safe_div((safe_mult(16155, global_values.trace_length)), 16384))). - assert pow2715 = pow56 * pow2714; // pow(trace_generator, (safe_div((safe_mult(64621, global_values.trace_length)), 65536))). - assert pow2716 = pow56 * pow2715; // pow(trace_generator, (safe_div((safe_mult(32311, global_values.trace_length)), 32768))). - assert pow2717 = pow56 * pow2716; // pow(trace_generator, (safe_div((safe_mult(64623, global_values.trace_length)), 65536))). - assert pow2718 = pow56 * pow2717; // pow(trace_generator, (safe_div((safe_mult(4039, global_values.trace_length)), 4096))). - assert pow2719 = pow56 * pow2718; // pow(trace_generator, (safe_div((safe_mult(64625, global_values.trace_length)), 65536))). - assert pow2720 = pow56 * pow2719; // pow(trace_generator, (safe_div((safe_mult(32313, global_values.trace_length)), 32768))). - assert pow2721 = pow56 * pow2720; // pow(trace_generator, (safe_div((safe_mult(64627, global_values.trace_length)), 65536))). - assert pow2722 = pow56 * pow2721; // pow(trace_generator, (safe_div((safe_mult(16157, global_values.trace_length)), 16384))). - assert pow2723 = pow56 * pow2722; // pow(trace_generator, (safe_div((safe_mult(64629, global_values.trace_length)), 65536))). - assert pow2724 = pow56 * pow2723; // pow(trace_generator, (safe_div((safe_mult(32315, global_values.trace_length)), 32768))). - assert pow2725 = pow56 * pow2724; // pow(trace_generator, (safe_div((safe_mult(64631, global_values.trace_length)), 65536))). - assert pow2726 = pow56 * pow2725; // pow(trace_generator, (safe_div((safe_mult(8079, global_values.trace_length)), 8192))). - assert pow2727 = pow56 * pow2726; // pow(trace_generator, (safe_div((safe_mult(64633, global_values.trace_length)), 65536))). - assert pow2728 = pow56 * pow2727; // pow(trace_generator, (safe_div((safe_mult(32317, global_values.trace_length)), 32768))). - assert pow2729 = pow56 * pow2728; // pow(trace_generator, (safe_div((safe_mult(64635, global_values.trace_length)), 65536))). - assert pow2730 = pow56 * pow2729; // pow(trace_generator, (safe_div((safe_mult(16159, global_values.trace_length)), 16384))). - assert pow2731 = pow56 * pow2730; // pow(trace_generator, (safe_div((safe_mult(64637, global_values.trace_length)), 65536))). - assert pow2732 = pow65 * pow2731; // pow(trace_generator, (safe_div((safe_mult(505, global_values.trace_length)), 512))). - assert pow2733 = pow56 * pow2732; // pow(trace_generator, (safe_div((safe_mult(64641, global_values.trace_length)), 65536))). - assert pow2734 = pow56 * pow2733; // pow(trace_generator, (safe_div((safe_mult(32321, global_values.trace_length)), 32768))). - assert pow2735 = pow56 * pow2734; // pow(trace_generator, (safe_div((safe_mult(64643, global_values.trace_length)), 65536))). - assert pow2736 = pow56 * pow2735; // pow(trace_generator, (safe_div((safe_mult(16161, global_values.trace_length)), 16384))). - assert pow2737 = pow56 * pow2736; // pow(trace_generator, (safe_div((safe_mult(64645, global_values.trace_length)), 65536))). - assert pow2738 = pow56 * pow2737; // pow(trace_generator, (safe_div((safe_mult(32323, global_values.trace_length)), 32768))). - assert pow2739 = pow56 * pow2738; // pow(trace_generator, (safe_div((safe_mult(64647, global_values.trace_length)), 65536))). - assert pow2740 = pow56 * pow2739; // pow(trace_generator, (safe_div((safe_mult(8081, global_values.trace_length)), 8192))). - assert pow2741 = pow56 * pow2740; // pow(trace_generator, (safe_div((safe_mult(64649, global_values.trace_length)), 65536))). - assert pow2742 = pow56 * pow2741; // pow(trace_generator, (safe_div((safe_mult(32325, global_values.trace_length)), 32768))). - assert pow2743 = pow56 * pow2742; // pow(trace_generator, (safe_div((safe_mult(64651, global_values.trace_length)), 65536))). - assert pow2744 = pow56 * pow2743; // pow(trace_generator, (safe_div((safe_mult(16163, global_values.trace_length)), 16384))). - assert pow2745 = pow56 * pow2744; // pow(trace_generator, (safe_div((safe_mult(64653, global_values.trace_length)), 65536))). - assert pow2746 = pow56 * pow2745; // pow(trace_generator, (safe_div((safe_mult(32327, global_values.trace_length)), 32768))). - assert pow2747 = pow56 * pow2746; // pow(trace_generator, (safe_div((safe_mult(64655, global_values.trace_length)), 65536))). - assert pow2748 = pow56 * pow2747; // pow(trace_generator, (safe_div((safe_mult(4041, global_values.trace_length)), 4096))). - assert pow2749 = pow56 * pow2748; // pow(trace_generator, (safe_div((safe_mult(64657, global_values.trace_length)), 65536))). - assert pow2750 = pow56 * pow2749; // pow(trace_generator, (safe_div((safe_mult(32329, global_values.trace_length)), 32768))). - assert pow2751 = pow56 * pow2750; // pow(trace_generator, (safe_div((safe_mult(64659, global_values.trace_length)), 65536))). - assert pow2752 = pow56 * pow2751; // pow(trace_generator, (safe_div((safe_mult(16165, global_values.trace_length)), 16384))). - assert pow2753 = pow56 * pow2752; // pow(trace_generator, (safe_div((safe_mult(64661, global_values.trace_length)), 65536))). - assert pow2754 = pow56 * pow2753; // pow(trace_generator, (safe_div((safe_mult(32331, global_values.trace_length)), 32768))). - assert pow2755 = pow56 * pow2754; // pow(trace_generator, (safe_div((safe_mult(64663, global_values.trace_length)), 65536))). - assert pow2756 = pow56 * pow2755; // pow(trace_generator, (safe_div((safe_mult(8083, global_values.trace_length)), 8192))). - assert pow2757 = pow56 * pow2756; // pow(trace_generator, (safe_div((safe_mult(64665, global_values.trace_length)), 65536))). - assert pow2758 = pow56 * pow2757; // pow(trace_generator, (safe_div((safe_mult(32333, global_values.trace_length)), 32768))). - assert pow2759 = pow56 * pow2758; // pow(trace_generator, (safe_div((safe_mult(64667, global_values.trace_length)), 65536))). - assert pow2760 = pow56 * pow2759; // pow(trace_generator, (safe_div((safe_mult(16167, global_values.trace_length)), 16384))). - assert pow2761 = pow56 * pow2760; // pow(trace_generator, (safe_div((safe_mult(64669, global_values.trace_length)), 65536))). - assert pow2762 = pow65 * pow2761; // pow(trace_generator, (safe_div((safe_mult(2021, global_values.trace_length)), 2048))). - assert pow2763 = pow56 * pow2762; // pow(trace_generator, (safe_div((safe_mult(64673, global_values.trace_length)), 65536))). - assert pow2764 = pow56 * pow2763; // pow(trace_generator, (safe_div((safe_mult(32337, global_values.trace_length)), 32768))). - assert pow2765 = pow56 * pow2764; // pow(trace_generator, (safe_div((safe_mult(64675, global_values.trace_length)), 65536))). - assert pow2766 = pow56 * pow2765; // pow(trace_generator, (safe_div((safe_mult(16169, global_values.trace_length)), 16384))). - assert pow2767 = pow56 * pow2766; // pow(trace_generator, (safe_div((safe_mult(64677, global_values.trace_length)), 65536))). - assert pow2768 = pow56 * pow2767; // pow(trace_generator, (safe_div((safe_mult(32339, global_values.trace_length)), 32768))). - assert pow2769 = pow56 * pow2768; // pow(trace_generator, (safe_div((safe_mult(64679, global_values.trace_length)), 65536))). - assert pow2770 = pow56 * pow2769; // pow(trace_generator, (safe_div((safe_mult(8085, global_values.trace_length)), 8192))). - assert pow2771 = pow56 * pow2770; // pow(trace_generator, (safe_div((safe_mult(64681, global_values.trace_length)), 65536))). - assert pow2772 = pow56 * pow2771; // pow(trace_generator, (safe_div((safe_mult(32341, global_values.trace_length)), 32768))). - assert pow2773 = pow56 * pow2772; // pow(trace_generator, (safe_div((safe_mult(64683, global_values.trace_length)), 65536))). - assert pow2774 = pow56 * pow2773; // pow(trace_generator, (safe_div((safe_mult(16171, global_values.trace_length)), 16384))). - assert pow2775 = pow56 * pow2774; // pow(trace_generator, (safe_div((safe_mult(64685, global_values.trace_length)), 65536))). - assert pow2776 = pow56 * pow2775; // pow(trace_generator, (safe_div((safe_mult(32343, global_values.trace_length)), 32768))). - assert pow2777 = pow56 * pow2776; // pow(trace_generator, (safe_div((safe_mult(64687, global_values.trace_length)), 65536))). - assert pow2778 = pow56 * pow2777; // pow(trace_generator, (safe_div((safe_mult(4043, global_values.trace_length)), 4096))). - assert pow2779 = pow56 * pow2778; // pow(trace_generator, (safe_div((safe_mult(64689, global_values.trace_length)), 65536))). - assert pow2780 = pow56 * pow2779; // pow(trace_generator, (safe_div((safe_mult(32345, global_values.trace_length)), 32768))). - assert pow2781 = pow56 * pow2780; // pow(trace_generator, (safe_div((safe_mult(64691, global_values.trace_length)), 65536))). - assert pow2782 = pow56 * pow2781; // pow(trace_generator, (safe_div((safe_mult(16173, global_values.trace_length)), 16384))). - assert pow2783 = pow56 * pow2782; // pow(trace_generator, (safe_div((safe_mult(64693, global_values.trace_length)), 65536))). - assert pow2784 = pow56 * pow2783; // pow(trace_generator, (safe_div((safe_mult(32347, global_values.trace_length)), 32768))). - assert pow2785 = pow56 * pow2784; // pow(trace_generator, (safe_div((safe_mult(64695, global_values.trace_length)), 65536))). - assert pow2786 = pow56 * pow2785; // pow(trace_generator, (safe_div((safe_mult(8087, global_values.trace_length)), 8192))). - assert pow2787 = pow56 * pow2786; // pow(trace_generator, (safe_div((safe_mult(64697, global_values.trace_length)), 65536))). - assert pow2788 = pow56 * pow2787; // pow(trace_generator, (safe_div((safe_mult(32349, global_values.trace_length)), 32768))). - assert pow2789 = pow56 * pow2788; // pow(trace_generator, (safe_div((safe_mult(64699, global_values.trace_length)), 65536))). - assert pow2790 = pow56 * pow2789; // pow(trace_generator, (safe_div((safe_mult(16175, global_values.trace_length)), 16384))). - assert pow2791 = pow56 * pow2790; // pow(trace_generator, (safe_div((safe_mult(64701, global_values.trace_length)), 65536))). - assert pow2792 = pow65 * pow2791; // pow(trace_generator, (safe_div((safe_mult(1011, global_values.trace_length)), 1024))). - assert pow2793 = pow56 * pow2792; // pow(trace_generator, (safe_div((safe_mult(64705, global_values.trace_length)), 65536))). - assert pow2794 = pow56 * pow2793; // pow(trace_generator, (safe_div((safe_mult(32353, global_values.trace_length)), 32768))). - assert pow2795 = pow56 * pow2794; // pow(trace_generator, (safe_div((safe_mult(64707, global_values.trace_length)), 65536))). - assert pow2796 = pow56 * pow2795; // pow(trace_generator, (safe_div((safe_mult(16177, global_values.trace_length)), 16384))). - assert pow2797 = pow56 * pow2796; // pow(trace_generator, (safe_div((safe_mult(64709, global_values.trace_length)), 65536))). - assert pow2798 = pow56 * pow2797; // pow(trace_generator, (safe_div((safe_mult(32355, global_values.trace_length)), 32768))). - assert pow2799 = pow56 * pow2798; // pow(trace_generator, (safe_div((safe_mult(64711, global_values.trace_length)), 65536))). - assert pow2800 = pow56 * pow2799; // pow(trace_generator, (safe_div((safe_mult(8089, global_values.trace_length)), 8192))). - assert pow2801 = pow56 * pow2800; // pow(trace_generator, (safe_div((safe_mult(64713, global_values.trace_length)), 65536))). - assert pow2802 = pow56 * pow2801; // pow(trace_generator, (safe_div((safe_mult(32357, global_values.trace_length)), 32768))). - assert pow2803 = pow56 * pow2802; // pow(trace_generator, (safe_div((safe_mult(64715, global_values.trace_length)), 65536))). - assert pow2804 = pow56 * pow2803; // pow(trace_generator, (safe_div((safe_mult(16179, global_values.trace_length)), 16384))). - assert pow2805 = pow56 * pow2804; // pow(trace_generator, (safe_div((safe_mult(64717, global_values.trace_length)), 65536))). - assert pow2806 = pow56 * pow2805; // pow(trace_generator, (safe_div((safe_mult(32359, global_values.trace_length)), 32768))). - assert pow2807 = pow56 * pow2806; // pow(trace_generator, (safe_div((safe_mult(64719, global_values.trace_length)), 65536))). - assert pow2808 = pow56 * pow2807; // pow(trace_generator, (safe_div((safe_mult(4045, global_values.trace_length)), 4096))). - assert pow2809 = pow56 * pow2808; // pow(trace_generator, (safe_div((safe_mult(64721, global_values.trace_length)), 65536))). - assert pow2810 = pow56 * pow2809; // pow(trace_generator, (safe_div((safe_mult(32361, global_values.trace_length)), 32768))). - assert pow2811 = pow56 * pow2810; // pow(trace_generator, (safe_div((safe_mult(64723, global_values.trace_length)), 65536))). - assert pow2812 = pow56 * pow2811; // pow(trace_generator, (safe_div((safe_mult(16181, global_values.trace_length)), 16384))). - assert pow2813 = pow56 * pow2812; // pow(trace_generator, (safe_div((safe_mult(64725, global_values.trace_length)), 65536))). - assert pow2814 = pow56 * pow2813; // pow(trace_generator, (safe_div((safe_mult(32363, global_values.trace_length)), 32768))). - assert pow2815 = pow56 * pow2814; // pow(trace_generator, (safe_div((safe_mult(64727, global_values.trace_length)), 65536))). - assert pow2816 = pow56 * pow2815; // pow(trace_generator, (safe_div((safe_mult(8091, global_values.trace_length)), 8192))). - assert pow2817 = pow56 * pow2816; // pow(trace_generator, (safe_div((safe_mult(64729, global_values.trace_length)), 65536))). - assert pow2818 = pow56 * pow2817; // pow(trace_generator, (safe_div((safe_mult(32365, global_values.trace_length)), 32768))). - assert pow2819 = pow56 * pow2818; // pow(trace_generator, (safe_div((safe_mult(64731, global_values.trace_length)), 65536))). - assert pow2820 = pow56 * pow2819; // pow(trace_generator, (safe_div((safe_mult(16183, global_values.trace_length)), 16384))). - assert pow2821 = pow56 * pow2820; // pow(trace_generator, (safe_div((safe_mult(64733, global_values.trace_length)), 65536))). - assert pow2822 = pow65 * pow2821; // pow(trace_generator, (safe_div((safe_mult(2023, global_values.trace_length)), 2048))). - assert pow2823 = pow56 * pow2822; // pow(trace_generator, (safe_div((safe_mult(64737, global_values.trace_length)), 65536))). - assert pow2824 = pow56 * pow2823; // pow(trace_generator, (safe_div((safe_mult(32369, global_values.trace_length)), 32768))). - assert pow2825 = pow56 * pow2824; // pow(trace_generator, (safe_div((safe_mult(64739, global_values.trace_length)), 65536))). - assert pow2826 = pow56 * pow2825; // pow(trace_generator, (safe_div((safe_mult(16185, global_values.trace_length)), 16384))). - assert pow2827 = pow56 * pow2826; // pow(trace_generator, (safe_div((safe_mult(64741, global_values.trace_length)), 65536))). - assert pow2828 = pow56 * pow2827; // pow(trace_generator, (safe_div((safe_mult(32371, global_values.trace_length)), 32768))). - assert pow2829 = pow56 * pow2828; // pow(trace_generator, (safe_div((safe_mult(64743, global_values.trace_length)), 65536))). - assert pow2830 = pow56 * pow2829; // pow(trace_generator, (safe_div((safe_mult(8093, global_values.trace_length)), 8192))). - assert pow2831 = pow56 * pow2830; // pow(trace_generator, (safe_div((safe_mult(64745, global_values.trace_length)), 65536))). - assert pow2832 = pow56 * pow2831; // pow(trace_generator, (safe_div((safe_mult(32373, global_values.trace_length)), 32768))). - assert pow2833 = pow56 * pow2832; // pow(trace_generator, (safe_div((safe_mult(64747, global_values.trace_length)), 65536))). - assert pow2834 = pow56 * pow2833; // pow(trace_generator, (safe_div((safe_mult(16187, global_values.trace_length)), 16384))). - assert pow2835 = pow56 * pow2834; // pow(trace_generator, (safe_div((safe_mult(64749, global_values.trace_length)), 65536))). - assert pow2836 = pow56 * pow2835; // pow(trace_generator, (safe_div((safe_mult(32375, global_values.trace_length)), 32768))). - assert pow2837 = pow56 * pow2836; // pow(trace_generator, (safe_div((safe_mult(64751, global_values.trace_length)), 65536))). - assert pow2838 = pow56 * pow2837; // pow(trace_generator, (safe_div((safe_mult(4047, global_values.trace_length)), 4096))). - assert pow2839 = pow56 * pow2838; // pow(trace_generator, (safe_div((safe_mult(64753, global_values.trace_length)), 65536))). - assert pow2840 = pow56 * pow2839; // pow(trace_generator, (safe_div((safe_mult(32377, global_values.trace_length)), 32768))). - assert pow2841 = pow56 * pow2840; // pow(trace_generator, (safe_div((safe_mult(64755, global_values.trace_length)), 65536))). - assert pow2842 = pow56 * pow2841; // pow(trace_generator, (safe_div((safe_mult(16189, global_values.trace_length)), 16384))). - assert pow2843 = pow56 * pow2842; // pow(trace_generator, (safe_div((safe_mult(64757, global_values.trace_length)), 65536))). - assert pow2844 = pow56 * pow2843; // pow(trace_generator, (safe_div((safe_mult(32379, global_values.trace_length)), 32768))). - assert pow2845 = pow56 * pow2844; // pow(trace_generator, (safe_div((safe_mult(64759, global_values.trace_length)), 65536))). - assert pow2846 = pow56 * pow2845; // pow(trace_generator, (safe_div((safe_mult(8095, global_values.trace_length)), 8192))). - assert pow2847 = pow56 * pow2846; // pow(trace_generator, (safe_div((safe_mult(64761, global_values.trace_length)), 65536))). - assert pow2848 = pow56 * pow2847; // pow(trace_generator, (safe_div((safe_mult(32381, global_values.trace_length)), 32768))). - assert pow2849 = pow56 * pow2848; // pow(trace_generator, (safe_div((safe_mult(64763, global_values.trace_length)), 65536))). - assert pow2850 = pow56 * pow2849; // pow(trace_generator, (safe_div((safe_mult(16191, global_values.trace_length)), 16384))). - assert pow2851 = pow56 * pow2850; // pow(trace_generator, (safe_div((safe_mult(64765, global_values.trace_length)), 65536))). - assert pow2852 = pow65 * pow2851; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 256))). - assert pow2853 = pow56 * pow2852; // pow(trace_generator, (safe_div((safe_mult(64769, global_values.trace_length)), 65536))). - assert pow2854 = pow56 * pow2853; // pow(trace_generator, (safe_div((safe_mult(32385, global_values.trace_length)), 32768))). - assert pow2855 = pow56 * pow2854; // pow(trace_generator, (safe_div((safe_mult(64771, global_values.trace_length)), 65536))). - assert pow2856 = pow56 * pow2855; // pow(trace_generator, (safe_div((safe_mult(16193, global_values.trace_length)), 16384))). - assert pow2857 = pow56 * pow2856; // pow(trace_generator, (safe_div((safe_mult(64773, global_values.trace_length)), 65536))). - assert pow2858 = pow56 * pow2857; // pow(trace_generator, (safe_div((safe_mult(32387, global_values.trace_length)), 32768))). - assert pow2859 = pow56 * pow2858; // pow(trace_generator, (safe_div((safe_mult(64775, global_values.trace_length)), 65536))). - assert pow2860 = pow56 * pow2859; // pow(trace_generator, (safe_div((safe_mult(8097, global_values.trace_length)), 8192))). - assert pow2861 = pow56 * pow2860; // pow(trace_generator, (safe_div((safe_mult(64777, global_values.trace_length)), 65536))). - assert pow2862 = pow56 * pow2861; // pow(trace_generator, (safe_div((safe_mult(32389, global_values.trace_length)), 32768))). - assert pow2863 = pow56 * pow2862; // pow(trace_generator, (safe_div((safe_mult(64779, global_values.trace_length)), 65536))). - assert pow2864 = pow56 * pow2863; // pow(trace_generator, (safe_div((safe_mult(16195, global_values.trace_length)), 16384))). - assert pow2865 = pow56 * pow2864; // pow(trace_generator, (safe_div((safe_mult(64781, global_values.trace_length)), 65536))). - assert pow2866 = pow56 * pow2865; // pow(trace_generator, (safe_div((safe_mult(32391, global_values.trace_length)), 32768))). - assert pow2867 = pow56 * pow2866; // pow(trace_generator, (safe_div((safe_mult(64783, global_values.trace_length)), 65536))). - assert pow2868 = pow56 * pow2867; // pow(trace_generator, (safe_div((safe_mult(4049, global_values.trace_length)), 4096))). - assert pow2869 = pow56 * pow2868; // pow(trace_generator, (safe_div((safe_mult(64785, global_values.trace_length)), 65536))). - assert pow2870 = pow56 * pow2869; // pow(trace_generator, (safe_div((safe_mult(32393, global_values.trace_length)), 32768))). - assert pow2871 = pow56 * pow2870; // pow(trace_generator, (safe_div((safe_mult(64787, global_values.trace_length)), 65536))). - assert pow2872 = pow56 * pow2871; // pow(trace_generator, (safe_div((safe_mult(16197, global_values.trace_length)), 16384))). - assert pow2873 = pow56 * pow2872; // pow(trace_generator, (safe_div((safe_mult(64789, global_values.trace_length)), 65536))). - assert pow2874 = pow56 * pow2873; // pow(trace_generator, (safe_div((safe_mult(32395, global_values.trace_length)), 32768))). - assert pow2875 = pow56 * pow2874; // pow(trace_generator, (safe_div((safe_mult(64791, global_values.trace_length)), 65536))). - assert pow2876 = pow56 * pow2875; // pow(trace_generator, (safe_div((safe_mult(8099, global_values.trace_length)), 8192))). - assert pow2877 = pow56 * pow2876; // pow(trace_generator, (safe_div((safe_mult(64793, global_values.trace_length)), 65536))). - assert pow2878 = pow56 * pow2877; // pow(trace_generator, (safe_div((safe_mult(32397, global_values.trace_length)), 32768))). - assert pow2879 = pow56 * pow2878; // pow(trace_generator, (safe_div((safe_mult(64795, global_values.trace_length)), 65536))). - assert pow2880 = pow56 * pow2879; // pow(trace_generator, (safe_div((safe_mult(16199, global_values.trace_length)), 16384))). - assert pow2881 = pow56 * pow2880; // pow(trace_generator, (safe_div((safe_mult(64797, global_values.trace_length)), 65536))). - assert pow2882 = pow65 * pow2881; // pow(trace_generator, (safe_div((safe_mult(2025, global_values.trace_length)), 2048))). - assert pow2883 = pow56 * pow2882; // pow(trace_generator, (safe_div((safe_mult(64801, global_values.trace_length)), 65536))). - assert pow2884 = pow56 * pow2883; // pow(trace_generator, (safe_div((safe_mult(32401, global_values.trace_length)), 32768))). - assert pow2885 = pow56 * pow2884; // pow(trace_generator, (safe_div((safe_mult(64803, global_values.trace_length)), 65536))). - assert pow2886 = pow56 * pow2885; // pow(trace_generator, (safe_div((safe_mult(16201, global_values.trace_length)), 16384))). - assert pow2887 = pow56 * pow2886; // pow(trace_generator, (safe_div((safe_mult(64805, global_values.trace_length)), 65536))). - assert pow2888 = pow56 * pow2887; // pow(trace_generator, (safe_div((safe_mult(32403, global_values.trace_length)), 32768))). - assert pow2889 = pow56 * pow2888; // pow(trace_generator, (safe_div((safe_mult(64807, global_values.trace_length)), 65536))). - assert pow2890 = pow56 * pow2889; // pow(trace_generator, (safe_div((safe_mult(8101, global_values.trace_length)), 8192))). - assert pow2891 = pow56 * pow2890; // pow(trace_generator, (safe_div((safe_mult(64809, global_values.trace_length)), 65536))). - assert pow2892 = pow56 * pow2891; // pow(trace_generator, (safe_div((safe_mult(32405, global_values.trace_length)), 32768))). - assert pow2893 = pow56 * pow2892; // pow(trace_generator, (safe_div((safe_mult(64811, global_values.trace_length)), 65536))). - assert pow2894 = pow56 * pow2893; // pow(trace_generator, (safe_div((safe_mult(16203, global_values.trace_length)), 16384))). - assert pow2895 = pow56 * pow2894; // pow(trace_generator, (safe_div((safe_mult(64813, global_values.trace_length)), 65536))). - assert pow2896 = pow56 * pow2895; // pow(trace_generator, (safe_div((safe_mult(32407, global_values.trace_length)), 32768))). - assert pow2897 = pow56 * pow2896; // pow(trace_generator, (safe_div((safe_mult(64815, global_values.trace_length)), 65536))). - assert pow2898 = pow56 * pow2897; // pow(trace_generator, (safe_div((safe_mult(4051, global_values.trace_length)), 4096))). - assert pow2899 = pow56 * pow2898; // pow(trace_generator, (safe_div((safe_mult(64817, global_values.trace_length)), 65536))). - assert pow2900 = pow56 * pow2899; // pow(trace_generator, (safe_div((safe_mult(32409, global_values.trace_length)), 32768))). - assert pow2901 = pow56 * pow2900; // pow(trace_generator, (safe_div((safe_mult(64819, global_values.trace_length)), 65536))). - assert pow2902 = pow56 * pow2901; // pow(trace_generator, (safe_div((safe_mult(16205, global_values.trace_length)), 16384))). - assert pow2903 = pow56 * pow2902; // pow(trace_generator, (safe_div((safe_mult(64821, global_values.trace_length)), 65536))). - assert pow2904 = pow56 * pow2903; // pow(trace_generator, (safe_div((safe_mult(32411, global_values.trace_length)), 32768))). - assert pow2905 = pow56 * pow2904; // pow(trace_generator, (safe_div((safe_mult(64823, global_values.trace_length)), 65536))). - assert pow2906 = pow56 * pow2905; // pow(trace_generator, (safe_div((safe_mult(8103, global_values.trace_length)), 8192))). - assert pow2907 = pow56 * pow2906; // pow(trace_generator, (safe_div((safe_mult(64825, global_values.trace_length)), 65536))). - assert pow2908 = pow56 * pow2907; // pow(trace_generator, (safe_div((safe_mult(32413, global_values.trace_length)), 32768))). - assert pow2909 = pow56 * pow2908; // pow(trace_generator, (safe_div((safe_mult(64827, global_values.trace_length)), 65536))). - assert pow2910 = pow56 * pow2909; // pow(trace_generator, (safe_div((safe_mult(16207, global_values.trace_length)), 16384))). - assert pow2911 = pow56 * pow2910; // pow(trace_generator, (safe_div((safe_mult(64829, global_values.trace_length)), 65536))). - assert pow2912 = pow65 * pow2911; // pow(trace_generator, (safe_div((safe_mult(1013, global_values.trace_length)), 1024))). - assert pow2913 = pow56 * pow2912; // pow(trace_generator, (safe_div((safe_mult(64833, global_values.trace_length)), 65536))). - assert pow2914 = pow56 * pow2913; // pow(trace_generator, (safe_div((safe_mult(32417, global_values.trace_length)), 32768))). - assert pow2915 = pow56 * pow2914; // pow(trace_generator, (safe_div((safe_mult(64835, global_values.trace_length)), 65536))). - assert pow2916 = pow56 * pow2915; // pow(trace_generator, (safe_div((safe_mult(16209, global_values.trace_length)), 16384))). - assert pow2917 = pow56 * pow2916; // pow(trace_generator, (safe_div((safe_mult(64837, global_values.trace_length)), 65536))). - assert pow2918 = pow56 * pow2917; // pow(trace_generator, (safe_div((safe_mult(32419, global_values.trace_length)), 32768))). - assert pow2919 = pow56 * pow2918; // pow(trace_generator, (safe_div((safe_mult(64839, global_values.trace_length)), 65536))). - assert pow2920 = pow56 * pow2919; // pow(trace_generator, (safe_div((safe_mult(8105, global_values.trace_length)), 8192))). - assert pow2921 = pow56 * pow2920; // pow(trace_generator, (safe_div((safe_mult(64841, global_values.trace_length)), 65536))). - assert pow2922 = pow56 * pow2921; // pow(trace_generator, (safe_div((safe_mult(32421, global_values.trace_length)), 32768))). - assert pow2923 = pow56 * pow2922; // pow(trace_generator, (safe_div((safe_mult(64843, global_values.trace_length)), 65536))). - assert pow2924 = pow56 * pow2923; // pow(trace_generator, (safe_div((safe_mult(16211, global_values.trace_length)), 16384))). - assert pow2925 = pow56 * pow2924; // pow(trace_generator, (safe_div((safe_mult(64845, global_values.trace_length)), 65536))). - assert pow2926 = pow56 * pow2925; // pow(trace_generator, (safe_div((safe_mult(32423, global_values.trace_length)), 32768))). - assert pow2927 = pow56 * pow2926; // pow(trace_generator, (safe_div((safe_mult(64847, global_values.trace_length)), 65536))). - assert pow2928 = pow56 * pow2927; // pow(trace_generator, (safe_div((safe_mult(4053, global_values.trace_length)), 4096))). - assert pow2929 = pow56 * pow2928; // pow(trace_generator, (safe_div((safe_mult(64849, global_values.trace_length)), 65536))). - assert pow2930 = pow56 * pow2929; // pow(trace_generator, (safe_div((safe_mult(32425, global_values.trace_length)), 32768))). - assert pow2931 = pow56 * pow2930; // pow(trace_generator, (safe_div((safe_mult(64851, global_values.trace_length)), 65536))). - assert pow2932 = pow56 * pow2931; // pow(trace_generator, (safe_div((safe_mult(16213, global_values.trace_length)), 16384))). - assert pow2933 = pow56 * pow2932; // pow(trace_generator, (safe_div((safe_mult(64853, global_values.trace_length)), 65536))). - assert pow2934 = pow56 * pow2933; // pow(trace_generator, (safe_div((safe_mult(32427, global_values.trace_length)), 32768))). - assert pow2935 = pow56 * pow2934; // pow(trace_generator, (safe_div((safe_mult(64855, global_values.trace_length)), 65536))). - assert pow2936 = pow56 * pow2935; // pow(trace_generator, (safe_div((safe_mult(8107, global_values.trace_length)), 8192))). - assert pow2937 = pow56 * pow2936; // pow(trace_generator, (safe_div((safe_mult(64857, global_values.trace_length)), 65536))). - assert pow2938 = pow56 * pow2937; // pow(trace_generator, (safe_div((safe_mult(32429, global_values.trace_length)), 32768))). - assert pow2939 = pow56 * pow2938; // pow(trace_generator, (safe_div((safe_mult(64859, global_values.trace_length)), 65536))). - assert pow2940 = pow56 * pow2939; // pow(trace_generator, (safe_div((safe_mult(16215, global_values.trace_length)), 16384))). - assert pow2941 = pow56 * pow2940; // pow(trace_generator, (safe_div((safe_mult(64861, global_values.trace_length)), 65536))). - assert pow2942 = pow65 * pow2941; // pow(trace_generator, (safe_div((safe_mult(2027, global_values.trace_length)), 2048))). - assert pow2943 = pow56 * pow2942; // pow(trace_generator, (safe_div((safe_mult(64865, global_values.trace_length)), 65536))). - assert pow2944 = pow56 * pow2943; // pow(trace_generator, (safe_div((safe_mult(32433, global_values.trace_length)), 32768))). - assert pow2945 = pow56 * pow2944; // pow(trace_generator, (safe_div((safe_mult(64867, global_values.trace_length)), 65536))). - assert pow2946 = pow56 * pow2945; // pow(trace_generator, (safe_div((safe_mult(16217, global_values.trace_length)), 16384))). - assert pow2947 = pow56 * pow2946; // pow(trace_generator, (safe_div((safe_mult(64869, global_values.trace_length)), 65536))). - assert pow2948 = pow56 * pow2947; // pow(trace_generator, (safe_div((safe_mult(32435, global_values.trace_length)), 32768))). - assert pow2949 = pow56 * pow2948; // pow(trace_generator, (safe_div((safe_mult(64871, global_values.trace_length)), 65536))). - assert pow2950 = pow56 * pow2949; // pow(trace_generator, (safe_div((safe_mult(8109, global_values.trace_length)), 8192))). - assert pow2951 = pow56 * pow2950; // pow(trace_generator, (safe_div((safe_mult(64873, global_values.trace_length)), 65536))). - assert pow2952 = pow56 * pow2951; // pow(trace_generator, (safe_div((safe_mult(32437, global_values.trace_length)), 32768))). - assert pow2953 = pow56 * pow2952; // pow(trace_generator, (safe_div((safe_mult(64875, global_values.trace_length)), 65536))). - assert pow2954 = pow56 * pow2953; // pow(trace_generator, (safe_div((safe_mult(16219, global_values.trace_length)), 16384))). - assert pow2955 = pow56 * pow2954; // pow(trace_generator, (safe_div((safe_mult(64877, global_values.trace_length)), 65536))). - assert pow2956 = pow56 * pow2955; // pow(trace_generator, (safe_div((safe_mult(32439, global_values.trace_length)), 32768))). - assert pow2957 = pow56 * pow2956; // pow(trace_generator, (safe_div((safe_mult(64879, global_values.trace_length)), 65536))). - assert pow2958 = pow56 * pow2957; // pow(trace_generator, (safe_div((safe_mult(4055, global_values.trace_length)), 4096))). - assert pow2959 = pow56 * pow2958; // pow(trace_generator, (safe_div((safe_mult(64881, global_values.trace_length)), 65536))). - assert pow2960 = pow56 * pow2959; // pow(trace_generator, (safe_div((safe_mult(32441, global_values.trace_length)), 32768))). - assert pow2961 = pow56 * pow2960; // pow(trace_generator, (safe_div((safe_mult(64883, global_values.trace_length)), 65536))). - assert pow2962 = pow56 * pow2961; // pow(trace_generator, (safe_div((safe_mult(16221, global_values.trace_length)), 16384))). - assert pow2963 = pow56 * pow2962; // pow(trace_generator, (safe_div((safe_mult(64885, global_values.trace_length)), 65536))). - assert pow2964 = pow56 * pow2963; // pow(trace_generator, (safe_div((safe_mult(32443, global_values.trace_length)), 32768))). - assert pow2965 = pow56 * pow2964; // pow(trace_generator, (safe_div((safe_mult(64887, global_values.trace_length)), 65536))). - assert pow2966 = pow56 * pow2965; // pow(trace_generator, (safe_div((safe_mult(8111, global_values.trace_length)), 8192))). - assert pow2967 = pow56 * pow2966; // pow(trace_generator, (safe_div((safe_mult(64889, global_values.trace_length)), 65536))). - assert pow2968 = pow56 * pow2967; // pow(trace_generator, (safe_div((safe_mult(32445, global_values.trace_length)), 32768))). - assert pow2969 = pow56 * pow2968; // pow(trace_generator, (safe_div((safe_mult(64891, global_values.trace_length)), 65536))). - assert pow2970 = pow56 * pow2969; // pow(trace_generator, (safe_div((safe_mult(16223, global_values.trace_length)), 16384))). - assert pow2971 = pow56 * pow2970; // pow(trace_generator, (safe_div((safe_mult(64893, global_values.trace_length)), 65536))). - assert pow2972 = pow65 * pow2971; // pow(trace_generator, (safe_div((safe_mult(507, global_values.trace_length)), 512))). - assert pow2973 = pow56 * pow2972; // pow(trace_generator, (safe_div((safe_mult(64897, global_values.trace_length)), 65536))). - assert pow2974 = pow56 * pow2973; // pow(trace_generator, (safe_div((safe_mult(32449, global_values.trace_length)), 32768))). - assert pow2975 = pow56 * pow2974; // pow(trace_generator, (safe_div((safe_mult(64899, global_values.trace_length)), 65536))). - assert pow2976 = pow56 * pow2975; // pow(trace_generator, (safe_div((safe_mult(16225, global_values.trace_length)), 16384))). - assert pow2977 = pow56 * pow2976; // pow(trace_generator, (safe_div((safe_mult(64901, global_values.trace_length)), 65536))). - assert pow2978 = pow56 * pow2977; // pow(trace_generator, (safe_div((safe_mult(32451, global_values.trace_length)), 32768))). - assert pow2979 = pow56 * pow2978; // pow(trace_generator, (safe_div((safe_mult(64903, global_values.trace_length)), 65536))). - assert pow2980 = pow56 * pow2979; // pow(trace_generator, (safe_div((safe_mult(8113, global_values.trace_length)), 8192))). - assert pow2981 = pow56 * pow2980; // pow(trace_generator, (safe_div((safe_mult(64905, global_values.trace_length)), 65536))). - assert pow2982 = pow56 * pow2981; // pow(trace_generator, (safe_div((safe_mult(32453, global_values.trace_length)), 32768))). - assert pow2983 = pow56 * pow2982; // pow(trace_generator, (safe_div((safe_mult(64907, global_values.trace_length)), 65536))). - assert pow2984 = pow56 * pow2983; // pow(trace_generator, (safe_div((safe_mult(16227, global_values.trace_length)), 16384))). - assert pow2985 = pow56 * pow2984; // pow(trace_generator, (safe_div((safe_mult(64909, global_values.trace_length)), 65536))). - assert pow2986 = pow56 * pow2985; // pow(trace_generator, (safe_div((safe_mult(32455, global_values.trace_length)), 32768))). - assert pow2987 = pow56 * pow2986; // pow(trace_generator, (safe_div((safe_mult(64911, global_values.trace_length)), 65536))). - assert pow2988 = pow56 * pow2987; // pow(trace_generator, (safe_div((safe_mult(4057, global_values.trace_length)), 4096))). - assert pow2989 = pow56 * pow2988; // pow(trace_generator, (safe_div((safe_mult(64913, global_values.trace_length)), 65536))). - assert pow2990 = pow56 * pow2989; // pow(trace_generator, (safe_div((safe_mult(32457, global_values.trace_length)), 32768))). - assert pow2991 = pow56 * pow2990; // pow(trace_generator, (safe_div((safe_mult(64915, global_values.trace_length)), 65536))). - assert pow2992 = pow56 * pow2991; // pow(trace_generator, (safe_div((safe_mult(16229, global_values.trace_length)), 16384))). - assert pow2993 = pow56 * pow2992; // pow(trace_generator, (safe_div((safe_mult(64917, global_values.trace_length)), 65536))). - assert pow2994 = pow56 * pow2993; // pow(trace_generator, (safe_div((safe_mult(32459, global_values.trace_length)), 32768))). - assert pow2995 = pow56 * pow2994; // pow(trace_generator, (safe_div((safe_mult(64919, global_values.trace_length)), 65536))). - assert pow2996 = pow56 * pow2995; // pow(trace_generator, (safe_div((safe_mult(8115, global_values.trace_length)), 8192))). - assert pow2997 = pow56 * pow2996; // pow(trace_generator, (safe_div((safe_mult(64921, global_values.trace_length)), 65536))). - assert pow2998 = pow56 * pow2997; // pow(trace_generator, (safe_div((safe_mult(32461, global_values.trace_length)), 32768))). - assert pow2999 = pow56 * pow2998; // pow(trace_generator, (safe_div((safe_mult(64923, global_values.trace_length)), 65536))). - assert pow3000 = pow56 * pow2999; // pow(trace_generator, (safe_div((safe_mult(16231, global_values.trace_length)), 16384))). - assert pow3001 = pow56 * pow3000; // pow(trace_generator, (safe_div((safe_mult(64925, global_values.trace_length)), 65536))). - assert pow3002 = pow65 * pow3001; // pow(trace_generator, (safe_div((safe_mult(2029, global_values.trace_length)), 2048))). - assert pow3003 = pow56 * pow3002; // pow(trace_generator, (safe_div((safe_mult(64929, global_values.trace_length)), 65536))). - assert pow3004 = pow56 * pow3003; // pow(trace_generator, (safe_div((safe_mult(32465, global_values.trace_length)), 32768))). - assert pow3005 = pow56 * pow3004; // pow(trace_generator, (safe_div((safe_mult(64931, global_values.trace_length)), 65536))). - assert pow3006 = pow56 * pow3005; // pow(trace_generator, (safe_div((safe_mult(16233, global_values.trace_length)), 16384))). - assert pow3007 = pow56 * pow3006; // pow(trace_generator, (safe_div((safe_mult(64933, global_values.trace_length)), 65536))). - assert pow3008 = pow56 * pow3007; // pow(trace_generator, (safe_div((safe_mult(32467, global_values.trace_length)), 32768))). - assert pow3009 = pow56 * pow3008; // pow(trace_generator, (safe_div((safe_mult(64935, global_values.trace_length)), 65536))). - assert pow3010 = pow56 * pow3009; // pow(trace_generator, (safe_div((safe_mult(8117, global_values.trace_length)), 8192))). - assert pow3011 = pow56 * pow3010; // pow(trace_generator, (safe_div((safe_mult(64937, global_values.trace_length)), 65536))). - assert pow3012 = pow56 * pow3011; // pow(trace_generator, (safe_div((safe_mult(32469, global_values.trace_length)), 32768))). - assert pow3013 = pow56 * pow3012; // pow(trace_generator, (safe_div((safe_mult(64939, global_values.trace_length)), 65536))). - assert pow3014 = pow56 * pow3013; // pow(trace_generator, (safe_div((safe_mult(16235, global_values.trace_length)), 16384))). - assert pow3015 = pow56 * pow3014; // pow(trace_generator, (safe_div((safe_mult(64941, global_values.trace_length)), 65536))). - assert pow3016 = pow56 * pow3015; // pow(trace_generator, (safe_div((safe_mult(32471, global_values.trace_length)), 32768))). - assert pow3017 = pow56 * pow3016; // pow(trace_generator, (safe_div((safe_mult(64943, global_values.trace_length)), 65536))). - assert pow3018 = pow56 * pow3017; // pow(trace_generator, (safe_div((safe_mult(4059, global_values.trace_length)), 4096))). - assert pow3019 = pow56 * pow3018; // pow(trace_generator, (safe_div((safe_mult(64945, global_values.trace_length)), 65536))). - assert pow3020 = pow56 * pow3019; // pow(trace_generator, (safe_div((safe_mult(32473, global_values.trace_length)), 32768))). - assert pow3021 = pow56 * pow3020; // pow(trace_generator, (safe_div((safe_mult(64947, global_values.trace_length)), 65536))). - assert pow3022 = pow56 * pow3021; // pow(trace_generator, (safe_div((safe_mult(16237, global_values.trace_length)), 16384))). - assert pow3023 = pow56 * pow3022; // pow(trace_generator, (safe_div((safe_mult(64949, global_values.trace_length)), 65536))). - assert pow3024 = pow56 * pow3023; // pow(trace_generator, (safe_div((safe_mult(32475, global_values.trace_length)), 32768))). - assert pow3025 = pow56 * pow3024; // pow(trace_generator, (safe_div((safe_mult(64951, global_values.trace_length)), 65536))). - assert pow3026 = pow56 * pow3025; // pow(trace_generator, (safe_div((safe_mult(8119, global_values.trace_length)), 8192))). - assert pow3027 = pow56 * pow3026; // pow(trace_generator, (safe_div((safe_mult(64953, global_values.trace_length)), 65536))). - assert pow3028 = pow56 * pow3027; // pow(trace_generator, (safe_div((safe_mult(32477, global_values.trace_length)), 32768))). - assert pow3029 = pow56 * pow3028; // pow(trace_generator, (safe_div((safe_mult(64955, global_values.trace_length)), 65536))). - assert pow3030 = pow56 * pow3029; // pow(trace_generator, (safe_div((safe_mult(16239, global_values.trace_length)), 16384))). - assert pow3031 = pow56 * pow3030; // pow(trace_generator, (safe_div((safe_mult(64957, global_values.trace_length)), 65536))). - assert pow3032 = pow65 * pow3031; // pow(trace_generator, (safe_div((safe_mult(1015, global_values.trace_length)), 1024))). - assert pow3033 = pow56 * pow3032; // pow(trace_generator, (safe_div((safe_mult(64961, global_values.trace_length)), 65536))). - assert pow3034 = pow56 * pow3033; // pow(trace_generator, (safe_div((safe_mult(32481, global_values.trace_length)), 32768))). - assert pow3035 = pow56 * pow3034; // pow(trace_generator, (safe_div((safe_mult(64963, global_values.trace_length)), 65536))). - assert pow3036 = pow56 * pow3035; // pow(trace_generator, (safe_div((safe_mult(16241, global_values.trace_length)), 16384))). - assert pow3037 = pow56 * pow3036; // pow(trace_generator, (safe_div((safe_mult(64965, global_values.trace_length)), 65536))). - assert pow3038 = pow56 * pow3037; // pow(trace_generator, (safe_div((safe_mult(32483, global_values.trace_length)), 32768))). - assert pow3039 = pow56 * pow3038; // pow(trace_generator, (safe_div((safe_mult(64967, global_values.trace_length)), 65536))). - assert pow3040 = pow56 * pow3039; // pow(trace_generator, (safe_div((safe_mult(8121, global_values.trace_length)), 8192))). - assert pow3041 = pow56 * pow3040; // pow(trace_generator, (safe_div((safe_mult(64969, global_values.trace_length)), 65536))). - assert pow3042 = pow56 * pow3041; // pow(trace_generator, (safe_div((safe_mult(32485, global_values.trace_length)), 32768))). - assert pow3043 = pow56 * pow3042; // pow(trace_generator, (safe_div((safe_mult(64971, global_values.trace_length)), 65536))). - assert pow3044 = pow56 * pow3043; // pow(trace_generator, (safe_div((safe_mult(16243, global_values.trace_length)), 16384))). - assert pow3045 = pow56 * pow3044; // pow(trace_generator, (safe_div((safe_mult(64973, global_values.trace_length)), 65536))). - assert pow3046 = pow56 * pow3045; // pow(trace_generator, (safe_div((safe_mult(32487, global_values.trace_length)), 32768))). - assert pow3047 = pow56 * pow3046; // pow(trace_generator, (safe_div((safe_mult(64975, global_values.trace_length)), 65536))). - assert pow3048 = pow56 * pow3047; // pow(trace_generator, (safe_div((safe_mult(4061, global_values.trace_length)), 4096))). - assert pow3049 = pow56 * pow3048; // pow(trace_generator, (safe_div((safe_mult(64977, global_values.trace_length)), 65536))). - assert pow3050 = pow56 * pow3049; // pow(trace_generator, (safe_div((safe_mult(32489, global_values.trace_length)), 32768))). - assert pow3051 = pow56 * pow3050; // pow(trace_generator, (safe_div((safe_mult(64979, global_values.trace_length)), 65536))). - assert pow3052 = pow56 * pow3051; // pow(trace_generator, (safe_div((safe_mult(16245, global_values.trace_length)), 16384))). - assert pow3053 = pow56 * pow3052; // pow(trace_generator, (safe_div((safe_mult(64981, global_values.trace_length)), 65536))). - assert pow3054 = pow56 * pow3053; // pow(trace_generator, (safe_div((safe_mult(32491, global_values.trace_length)), 32768))). - assert pow3055 = pow56 * pow3054; // pow(trace_generator, (safe_div((safe_mult(64983, global_values.trace_length)), 65536))). - assert pow3056 = pow56 * pow3055; // pow(trace_generator, (safe_div((safe_mult(8123, global_values.trace_length)), 8192))). - assert pow3057 = pow56 * pow3056; // pow(trace_generator, (safe_div((safe_mult(64985, global_values.trace_length)), 65536))). - assert pow3058 = pow56 * pow3057; // pow(trace_generator, (safe_div((safe_mult(32493, global_values.trace_length)), 32768))). - assert pow3059 = pow56 * pow3058; // pow(trace_generator, (safe_div((safe_mult(64987, global_values.trace_length)), 65536))). - assert pow3060 = pow56 * pow3059; // pow(trace_generator, (safe_div((safe_mult(16247, global_values.trace_length)), 16384))). - assert pow3061 = pow56 * pow3060; // pow(trace_generator, (safe_div((safe_mult(64989, global_values.trace_length)), 65536))). - assert pow3062 = pow65 * pow3061; // pow(trace_generator, (safe_div((safe_mult(2031, global_values.trace_length)), 2048))). - assert pow3063 = pow56 * pow3062; // pow(trace_generator, (safe_div((safe_mult(64993, global_values.trace_length)), 65536))). - assert pow3064 = pow56 * pow3063; // pow(trace_generator, (safe_div((safe_mult(32497, global_values.trace_length)), 32768))). - assert pow3065 = pow56 * pow3064; // pow(trace_generator, (safe_div((safe_mult(64995, global_values.trace_length)), 65536))). - assert pow3066 = pow56 * pow3065; // pow(trace_generator, (safe_div((safe_mult(16249, global_values.trace_length)), 16384))). - assert pow3067 = pow56 * pow3066; // pow(trace_generator, (safe_div((safe_mult(64997, global_values.trace_length)), 65536))). - assert pow3068 = pow56 * pow3067; // pow(trace_generator, (safe_div((safe_mult(32499, global_values.trace_length)), 32768))). - assert pow3069 = pow56 * pow3068; // pow(trace_generator, (safe_div((safe_mult(64999, global_values.trace_length)), 65536))). - assert pow3070 = pow56 * pow3069; // pow(trace_generator, (safe_div((safe_mult(8125, global_values.trace_length)), 8192))). - assert pow3071 = pow56 * pow3070; // pow(trace_generator, (safe_div((safe_mult(65001, global_values.trace_length)), 65536))). - assert pow3072 = pow56 * pow3071; // pow(trace_generator, (safe_div((safe_mult(32501, global_values.trace_length)), 32768))). - assert pow3073 = pow56 * pow3072; // pow(trace_generator, (safe_div((safe_mult(65003, global_values.trace_length)), 65536))). - assert pow3074 = pow56 * pow3073; // pow(trace_generator, (safe_div((safe_mult(16251, global_values.trace_length)), 16384))). - assert pow3075 = pow56 * pow3074; // pow(trace_generator, (safe_div((safe_mult(65005, global_values.trace_length)), 65536))). - assert pow3076 = pow56 * pow3075; // pow(trace_generator, (safe_div((safe_mult(32503, global_values.trace_length)), 32768))). - assert pow3077 = pow56 * pow3076; // pow(trace_generator, (safe_div((safe_mult(65007, global_values.trace_length)), 65536))). - assert pow3078 = pow56 * pow3077; // pow(trace_generator, (safe_div((safe_mult(4063, global_values.trace_length)), 4096))). - assert pow3079 = pow56 * pow3078; // pow(trace_generator, (safe_div((safe_mult(65009, global_values.trace_length)), 65536))). - assert pow3080 = pow56 * pow3079; // pow(trace_generator, (safe_div((safe_mult(32505, global_values.trace_length)), 32768))). - assert pow3081 = pow56 * pow3080; // pow(trace_generator, (safe_div((safe_mult(65011, global_values.trace_length)), 65536))). - assert pow3082 = pow56 * pow3081; // pow(trace_generator, (safe_div((safe_mult(16253, global_values.trace_length)), 16384))). - assert pow3083 = pow56 * pow3082; // pow(trace_generator, (safe_div((safe_mult(65013, global_values.trace_length)), 65536))). - assert pow3084 = pow56 * pow3083; // pow(trace_generator, (safe_div((safe_mult(32507, global_values.trace_length)), 32768))). - assert pow3085 = pow56 * pow3084; // pow(trace_generator, (safe_div((safe_mult(65015, global_values.trace_length)), 65536))). - assert pow3086 = pow56 * pow3085; // pow(trace_generator, (safe_div((safe_mult(8127, global_values.trace_length)), 8192))). - assert pow3087 = pow56 * pow3086; // pow(trace_generator, (safe_div((safe_mult(65017, global_values.trace_length)), 65536))). - assert pow3088 = pow56 * pow3087; // pow(trace_generator, (safe_div((safe_mult(32509, global_values.trace_length)), 32768))). - assert pow3089 = pow56 * pow3088; // pow(trace_generator, (safe_div((safe_mult(65019, global_values.trace_length)), 65536))). - assert pow3090 = pow56 * pow3089; // pow(trace_generator, (safe_div((safe_mult(16255, global_values.trace_length)), 16384))). - assert pow3091 = pow56 * pow3090; // pow(trace_generator, (safe_div((safe_mult(65021, global_values.trace_length)), 65536))). - assert pow3092 = pow65 * pow3091; // pow(trace_generator, (safe_div((safe_mult(127, global_values.trace_length)), 128))). - assert pow3093 = pow56 * pow3092; // pow(trace_generator, (safe_div((safe_mult(65025, global_values.trace_length)), 65536))). - assert pow3094 = pow56 * pow3093; // pow(trace_generator, (safe_div((safe_mult(32513, global_values.trace_length)), 32768))). - assert pow3095 = pow56 * pow3094; // pow(trace_generator, (safe_div((safe_mult(65027, global_values.trace_length)), 65536))). - assert pow3096 = pow56 * pow3095; // pow(trace_generator, (safe_div((safe_mult(16257, global_values.trace_length)), 16384))). - assert pow3097 = pow56 * pow3096; // pow(trace_generator, (safe_div((safe_mult(65029, global_values.trace_length)), 65536))). - assert pow3098 = pow56 * pow3097; // pow(trace_generator, (safe_div((safe_mult(32515, global_values.trace_length)), 32768))). - assert pow3099 = pow56 * pow3098; // pow(trace_generator, (safe_div((safe_mult(65031, global_values.trace_length)), 65536))). - assert pow3100 = pow56 * pow3099; // pow(trace_generator, (safe_div((safe_mult(8129, global_values.trace_length)), 8192))). - assert pow3101 = pow56 * pow3100; // pow(trace_generator, (safe_div((safe_mult(65033, global_values.trace_length)), 65536))). - assert pow3102 = pow56 * pow3101; // pow(trace_generator, (safe_div((safe_mult(32517, global_values.trace_length)), 32768))). - assert pow3103 = pow56 * pow3102; // pow(trace_generator, (safe_div((safe_mult(65035, global_values.trace_length)), 65536))). - assert pow3104 = pow56 * pow3103; // pow(trace_generator, (safe_div((safe_mult(16259, global_values.trace_length)), 16384))). - assert pow3105 = pow56 * pow3104; // pow(trace_generator, (safe_div((safe_mult(65037, global_values.trace_length)), 65536))). - assert pow3106 = pow56 * pow3105; // pow(trace_generator, (safe_div((safe_mult(32519, global_values.trace_length)), 32768))). - assert pow3107 = pow56 * pow3106; // pow(trace_generator, (safe_div((safe_mult(65039, global_values.trace_length)), 65536))). - assert pow3108 = pow56 * pow3107; // pow(trace_generator, (safe_div((safe_mult(4065, global_values.trace_length)), 4096))). - assert pow3109 = pow56 * pow3108; // pow(trace_generator, (safe_div((safe_mult(65041, global_values.trace_length)), 65536))). - assert pow3110 = pow56 * pow3109; // pow(trace_generator, (safe_div((safe_mult(32521, global_values.trace_length)), 32768))). - assert pow3111 = pow56 * pow3110; // pow(trace_generator, (safe_div((safe_mult(65043, global_values.trace_length)), 65536))). - assert pow3112 = pow56 * pow3111; // pow(trace_generator, (safe_div((safe_mult(16261, global_values.trace_length)), 16384))). - assert pow3113 = pow56 * pow3112; // pow(trace_generator, (safe_div((safe_mult(65045, global_values.trace_length)), 65536))). - assert pow3114 = pow56 * pow3113; // pow(trace_generator, (safe_div((safe_mult(32523, global_values.trace_length)), 32768))). - assert pow3115 = pow56 * pow3114; // pow(trace_generator, (safe_div((safe_mult(65047, global_values.trace_length)), 65536))). - assert pow3116 = pow56 * pow3115; // pow(trace_generator, (safe_div((safe_mult(8131, global_values.trace_length)), 8192))). - assert pow3117 = pow56 * pow3116; // pow(trace_generator, (safe_div((safe_mult(65049, global_values.trace_length)), 65536))). - assert pow3118 = pow56 * pow3117; // pow(trace_generator, (safe_div((safe_mult(32525, global_values.trace_length)), 32768))). - assert pow3119 = pow56 * pow3118; // pow(trace_generator, (safe_div((safe_mult(65051, global_values.trace_length)), 65536))). - assert pow3120 = pow56 * pow3119; // pow(trace_generator, (safe_div((safe_mult(16263, global_values.trace_length)), 16384))). - assert pow3121 = pow56 * pow3120; // pow(trace_generator, (safe_div((safe_mult(65053, global_values.trace_length)), 65536))). - assert pow3122 = pow65 * pow3121; // pow(trace_generator, (safe_div((safe_mult(2033, global_values.trace_length)), 2048))). - assert pow3123 = pow56 * pow3122; // pow(trace_generator, (safe_div((safe_mult(65057, global_values.trace_length)), 65536))). - assert pow3124 = pow56 * pow3123; // pow(trace_generator, (safe_div((safe_mult(32529, global_values.trace_length)), 32768))). - assert pow3125 = pow56 * pow3124; // pow(trace_generator, (safe_div((safe_mult(65059, global_values.trace_length)), 65536))). - assert pow3126 = pow56 * pow3125; // pow(trace_generator, (safe_div((safe_mult(16265, global_values.trace_length)), 16384))). - assert pow3127 = pow56 * pow3126; // pow(trace_generator, (safe_div((safe_mult(65061, global_values.trace_length)), 65536))). - assert pow3128 = pow56 * pow3127; // pow(trace_generator, (safe_div((safe_mult(32531, global_values.trace_length)), 32768))). - assert pow3129 = pow56 * pow3128; // pow(trace_generator, (safe_div((safe_mult(65063, global_values.trace_length)), 65536))). - assert pow3130 = pow56 * pow3129; // pow(trace_generator, (safe_div((safe_mult(8133, global_values.trace_length)), 8192))). - assert pow3131 = pow56 * pow3130; // pow(trace_generator, (safe_div((safe_mult(65065, global_values.trace_length)), 65536))). - assert pow3132 = pow56 * pow3131; // pow(trace_generator, (safe_div((safe_mult(32533, global_values.trace_length)), 32768))). - assert pow3133 = pow56 * pow3132; // pow(trace_generator, (safe_div((safe_mult(65067, global_values.trace_length)), 65536))). - assert pow3134 = pow56 * pow3133; // pow(trace_generator, (safe_div((safe_mult(16267, global_values.trace_length)), 16384))). - assert pow3135 = pow56 * pow3134; // pow(trace_generator, (safe_div((safe_mult(65069, global_values.trace_length)), 65536))). - assert pow3136 = pow56 * pow3135; // pow(trace_generator, (safe_div((safe_mult(32535, global_values.trace_length)), 32768))). - assert pow3137 = pow56 * pow3136; // pow(trace_generator, (safe_div((safe_mult(65071, global_values.trace_length)), 65536))). - assert pow3138 = pow56 * pow3137; // pow(trace_generator, (safe_div((safe_mult(4067, global_values.trace_length)), 4096))). - assert pow3139 = pow56 * pow3138; // pow(trace_generator, (safe_div((safe_mult(65073, global_values.trace_length)), 65536))). - assert pow3140 = pow56 * pow3139; // pow(trace_generator, (safe_div((safe_mult(32537, global_values.trace_length)), 32768))). - assert pow3141 = pow56 * pow3140; // pow(trace_generator, (safe_div((safe_mult(65075, global_values.trace_length)), 65536))). - assert pow3142 = pow56 * pow3141; // pow(trace_generator, (safe_div((safe_mult(16269, global_values.trace_length)), 16384))). - assert pow3143 = pow56 * pow3142; // pow(trace_generator, (safe_div((safe_mult(65077, global_values.trace_length)), 65536))). - assert pow3144 = pow56 * pow3143; // pow(trace_generator, (safe_div((safe_mult(32539, global_values.trace_length)), 32768))). - assert pow3145 = pow56 * pow3144; // pow(trace_generator, (safe_div((safe_mult(65079, global_values.trace_length)), 65536))). - assert pow3146 = pow56 * pow3145; // pow(trace_generator, (safe_div((safe_mult(8135, global_values.trace_length)), 8192))). - assert pow3147 = pow56 * pow3146; // pow(trace_generator, (safe_div((safe_mult(65081, global_values.trace_length)), 65536))). - assert pow3148 = pow56 * pow3147; // pow(trace_generator, (safe_div((safe_mult(32541, global_values.trace_length)), 32768))). - assert pow3149 = pow56 * pow3148; // pow(trace_generator, (safe_div((safe_mult(65083, global_values.trace_length)), 65536))). - assert pow3150 = pow56 * pow3149; // pow(trace_generator, (safe_div((safe_mult(16271, global_values.trace_length)), 16384))). - assert pow3151 = pow56 * pow3150; // pow(trace_generator, (safe_div((safe_mult(65085, global_values.trace_length)), 65536))). - assert pow3152 = pow65 * pow3151; // pow(trace_generator, (safe_div((safe_mult(1017, global_values.trace_length)), 1024))). - assert pow3153 = pow56 * pow3152; // pow(trace_generator, (safe_div((safe_mult(65089, global_values.trace_length)), 65536))). - assert pow3154 = pow56 * pow3153; // pow(trace_generator, (safe_div((safe_mult(32545, global_values.trace_length)), 32768))). - assert pow3155 = pow56 * pow3154; // pow(trace_generator, (safe_div((safe_mult(65091, global_values.trace_length)), 65536))). - assert pow3156 = pow56 * pow3155; // pow(trace_generator, (safe_div((safe_mult(16273, global_values.trace_length)), 16384))). - assert pow3157 = pow56 * pow3156; // pow(trace_generator, (safe_div((safe_mult(65093, global_values.trace_length)), 65536))). - assert pow3158 = pow56 * pow3157; // pow(trace_generator, (safe_div((safe_mult(32547, global_values.trace_length)), 32768))). - assert pow3159 = pow56 * pow3158; // pow(trace_generator, (safe_div((safe_mult(65095, global_values.trace_length)), 65536))). - assert pow3160 = pow56 * pow3159; // pow(trace_generator, (safe_div((safe_mult(8137, global_values.trace_length)), 8192))). - assert pow3161 = pow56 * pow3160; // pow(trace_generator, (safe_div((safe_mult(65097, global_values.trace_length)), 65536))). - assert pow3162 = pow56 * pow3161; // pow(trace_generator, (safe_div((safe_mult(32549, global_values.trace_length)), 32768))). - assert pow3163 = pow56 * pow3162; // pow(trace_generator, (safe_div((safe_mult(65099, global_values.trace_length)), 65536))). - assert pow3164 = pow56 * pow3163; // pow(trace_generator, (safe_div((safe_mult(16275, global_values.trace_length)), 16384))). - assert pow3165 = pow56 * pow3164; // pow(trace_generator, (safe_div((safe_mult(65101, global_values.trace_length)), 65536))). - assert pow3166 = pow56 * pow3165; // pow(trace_generator, (safe_div((safe_mult(32551, global_values.trace_length)), 32768))). - assert pow3167 = pow56 * pow3166; // pow(trace_generator, (safe_div((safe_mult(65103, global_values.trace_length)), 65536))). - assert pow3168 = pow56 * pow3167; // pow(trace_generator, (safe_div((safe_mult(4069, global_values.trace_length)), 4096))). - assert pow3169 = pow56 * pow3168; // pow(trace_generator, (safe_div((safe_mult(65105, global_values.trace_length)), 65536))). - assert pow3170 = pow56 * pow3169; // pow(trace_generator, (safe_div((safe_mult(32553, global_values.trace_length)), 32768))). - assert pow3171 = pow56 * pow3170; // pow(trace_generator, (safe_div((safe_mult(65107, global_values.trace_length)), 65536))). - assert pow3172 = pow56 * pow3171; // pow(trace_generator, (safe_div((safe_mult(16277, global_values.trace_length)), 16384))). - assert pow3173 = pow56 * pow3172; // pow(trace_generator, (safe_div((safe_mult(65109, global_values.trace_length)), 65536))). - assert pow3174 = pow56 * pow3173; // pow(trace_generator, (safe_div((safe_mult(32555, global_values.trace_length)), 32768))). - assert pow3175 = pow56 * pow3174; // pow(trace_generator, (safe_div((safe_mult(65111, global_values.trace_length)), 65536))). - assert pow3176 = pow56 * pow3175; // pow(trace_generator, (safe_div((safe_mult(8139, global_values.trace_length)), 8192))). - assert pow3177 = pow56 * pow3176; // pow(trace_generator, (safe_div((safe_mult(65113, global_values.trace_length)), 65536))). - assert pow3178 = pow56 * pow3177; // pow(trace_generator, (safe_div((safe_mult(32557, global_values.trace_length)), 32768))). - assert pow3179 = pow56 * pow3178; // pow(trace_generator, (safe_div((safe_mult(65115, global_values.trace_length)), 65536))). - assert pow3180 = pow56 * pow3179; // pow(trace_generator, (safe_div((safe_mult(16279, global_values.trace_length)), 16384))). - assert pow3181 = pow56 * pow3180; // pow(trace_generator, (safe_div((safe_mult(65117, global_values.trace_length)), 65536))). - assert pow3182 = pow65 * pow3181; // pow(trace_generator, (safe_div((safe_mult(2035, global_values.trace_length)), 2048))). - assert pow3183 = pow56 * pow3182; // pow(trace_generator, (safe_div((safe_mult(65121, global_values.trace_length)), 65536))). - assert pow3184 = pow56 * pow3183; // pow(trace_generator, (safe_div((safe_mult(32561, global_values.trace_length)), 32768))). - assert pow3185 = pow56 * pow3184; // pow(trace_generator, (safe_div((safe_mult(65123, global_values.trace_length)), 65536))). - assert pow3186 = pow56 * pow3185; // pow(trace_generator, (safe_div((safe_mult(16281, global_values.trace_length)), 16384))). - assert pow3187 = pow56 * pow3186; // pow(trace_generator, (safe_div((safe_mult(65125, global_values.trace_length)), 65536))). - assert pow3188 = pow56 * pow3187; // pow(trace_generator, (safe_div((safe_mult(32563, global_values.trace_length)), 32768))). - assert pow3189 = pow56 * pow3188; // pow(trace_generator, (safe_div((safe_mult(65127, global_values.trace_length)), 65536))). - assert pow3190 = pow56 * pow3189; // pow(trace_generator, (safe_div((safe_mult(8141, global_values.trace_length)), 8192))). - assert pow3191 = pow56 * pow3190; // pow(trace_generator, (safe_div((safe_mult(65129, global_values.trace_length)), 65536))). - assert pow3192 = pow56 * pow3191; // pow(trace_generator, (safe_div((safe_mult(32565, global_values.trace_length)), 32768))). - assert pow3193 = pow56 * pow3192; // pow(trace_generator, (safe_div((safe_mult(65131, global_values.trace_length)), 65536))). - assert pow3194 = pow56 * pow3193; // pow(trace_generator, (safe_div((safe_mult(16283, global_values.trace_length)), 16384))). - assert pow3195 = pow56 * pow3194; // pow(trace_generator, (safe_div((safe_mult(65133, global_values.trace_length)), 65536))). - assert pow3196 = pow56 * pow3195; // pow(trace_generator, (safe_div((safe_mult(32567, global_values.trace_length)), 32768))). - assert pow3197 = pow56 * pow3196; // pow(trace_generator, (safe_div((safe_mult(65135, global_values.trace_length)), 65536))). - assert pow3198 = pow56 * pow3197; // pow(trace_generator, (safe_div((safe_mult(4071, global_values.trace_length)), 4096))). - assert pow3199 = pow56 * pow3198; // pow(trace_generator, (safe_div((safe_mult(65137, global_values.trace_length)), 65536))). - assert pow3200 = pow56 * pow3199; // pow(trace_generator, (safe_div((safe_mult(32569, global_values.trace_length)), 32768))). - assert pow3201 = pow56 * pow3200; // pow(trace_generator, (safe_div((safe_mult(65139, global_values.trace_length)), 65536))). - assert pow3202 = pow56 * pow3201; // pow(trace_generator, (safe_div((safe_mult(16285, global_values.trace_length)), 16384))). - assert pow3203 = pow56 * pow3202; // pow(trace_generator, (safe_div((safe_mult(65141, global_values.trace_length)), 65536))). - assert pow3204 = pow56 * pow3203; // pow(trace_generator, (safe_div((safe_mult(32571, global_values.trace_length)), 32768))). - assert pow3205 = pow56 * pow3204; // pow(trace_generator, (safe_div((safe_mult(65143, global_values.trace_length)), 65536))). - assert pow3206 = pow56 * pow3205; // pow(trace_generator, (safe_div((safe_mult(8143, global_values.trace_length)), 8192))). - assert pow3207 = pow56 * pow3206; // pow(trace_generator, (safe_div((safe_mult(65145, global_values.trace_length)), 65536))). - assert pow3208 = pow56 * pow3207; // pow(trace_generator, (safe_div((safe_mult(32573, global_values.trace_length)), 32768))). - assert pow3209 = pow56 * pow3208; // pow(trace_generator, (safe_div((safe_mult(65147, global_values.trace_length)), 65536))). - assert pow3210 = pow56 * pow3209; // pow(trace_generator, (safe_div((safe_mult(16287, global_values.trace_length)), 16384))). - assert pow3211 = pow56 * pow3210; // pow(trace_generator, (safe_div((safe_mult(65149, global_values.trace_length)), 65536))). - assert pow3212 = pow65 * pow3211; // pow(trace_generator, (safe_div((safe_mult(509, global_values.trace_length)), 512))). - assert pow3213 = pow56 * pow3212; // pow(trace_generator, (safe_div((safe_mult(65153, global_values.trace_length)), 65536))). - assert pow3214 = pow56 * pow3213; // pow(trace_generator, (safe_div((safe_mult(32577, global_values.trace_length)), 32768))). - assert pow3215 = pow56 * pow3214; // pow(trace_generator, (safe_div((safe_mult(65155, global_values.trace_length)), 65536))). - assert pow3216 = pow56 * pow3215; // pow(trace_generator, (safe_div((safe_mult(16289, global_values.trace_length)), 16384))). - assert pow3217 = pow56 * pow3216; // pow(trace_generator, (safe_div((safe_mult(65157, global_values.trace_length)), 65536))). - assert pow3218 = pow56 * pow3217; // pow(trace_generator, (safe_div((safe_mult(32579, global_values.trace_length)), 32768))). - assert pow3219 = pow56 * pow3218; // pow(trace_generator, (safe_div((safe_mult(65159, global_values.trace_length)), 65536))). - assert pow3220 = pow56 * pow3219; // pow(trace_generator, (safe_div((safe_mult(8145, global_values.trace_length)), 8192))). - assert pow3221 = pow56 * pow3220; // pow(trace_generator, (safe_div((safe_mult(65161, global_values.trace_length)), 65536))). - assert pow3222 = pow56 * pow3221; // pow(trace_generator, (safe_div((safe_mult(32581, global_values.trace_length)), 32768))). - assert pow3223 = pow56 * pow3222; // pow(trace_generator, (safe_div((safe_mult(65163, global_values.trace_length)), 65536))). - assert pow3224 = pow56 * pow3223; // pow(trace_generator, (safe_div((safe_mult(16291, global_values.trace_length)), 16384))). - assert pow3225 = pow56 * pow3224; // pow(trace_generator, (safe_div((safe_mult(65165, global_values.trace_length)), 65536))). - assert pow3226 = pow56 * pow3225; // pow(trace_generator, (safe_div((safe_mult(32583, global_values.trace_length)), 32768))). - assert pow3227 = pow56 * pow3226; // pow(trace_generator, (safe_div((safe_mult(65167, global_values.trace_length)), 65536))). - assert pow3228 = pow56 * pow3227; // pow(trace_generator, (safe_div((safe_mult(4073, global_values.trace_length)), 4096))). - assert pow3229 = pow56 * pow3228; // pow(trace_generator, (safe_div((safe_mult(65169, global_values.trace_length)), 65536))). - assert pow3230 = pow56 * pow3229; // pow(trace_generator, (safe_div((safe_mult(32585, global_values.trace_length)), 32768))). - assert pow3231 = pow56 * pow3230; // pow(trace_generator, (safe_div((safe_mult(65171, global_values.trace_length)), 65536))). - assert pow3232 = pow56 * pow3231; // pow(trace_generator, (safe_div((safe_mult(16293, global_values.trace_length)), 16384))). - assert pow3233 = pow56 * pow3232; // pow(trace_generator, (safe_div((safe_mult(65173, global_values.trace_length)), 65536))). - assert pow3234 = pow56 * pow3233; // pow(trace_generator, (safe_div((safe_mult(32587, global_values.trace_length)), 32768))). - assert pow3235 = pow56 * pow3234; // pow(trace_generator, (safe_div((safe_mult(65175, global_values.trace_length)), 65536))). - assert pow3236 = pow56 * pow3235; // pow(trace_generator, (safe_div((safe_mult(8147, global_values.trace_length)), 8192))). - assert pow3237 = pow56 * pow3236; // pow(trace_generator, (safe_div((safe_mult(65177, global_values.trace_length)), 65536))). - assert pow3238 = pow56 * pow3237; // pow(trace_generator, (safe_div((safe_mult(32589, global_values.trace_length)), 32768))). - assert pow3239 = pow56 * pow3238; // pow(trace_generator, (safe_div((safe_mult(65179, global_values.trace_length)), 65536))). - assert pow3240 = pow56 * pow3239; // pow(trace_generator, (safe_div((safe_mult(16295, global_values.trace_length)), 16384))). - assert pow3241 = pow56 * pow3240; // pow(trace_generator, (safe_div((safe_mult(65181, global_values.trace_length)), 65536))). - assert pow3242 = pow65 * pow3241; // pow(trace_generator, (safe_div((safe_mult(2037, global_values.trace_length)), 2048))). - assert pow3243 = pow56 * pow3242; // pow(trace_generator, (safe_div((safe_mult(65185, global_values.trace_length)), 65536))). - assert pow3244 = pow56 * pow3243; // pow(trace_generator, (safe_div((safe_mult(32593, global_values.trace_length)), 32768))). - assert pow3245 = pow56 * pow3244; // pow(trace_generator, (safe_div((safe_mult(65187, global_values.trace_length)), 65536))). - assert pow3246 = pow56 * pow3245; // pow(trace_generator, (safe_div((safe_mult(16297, global_values.trace_length)), 16384))). - assert pow3247 = pow56 * pow3246; // pow(trace_generator, (safe_div((safe_mult(65189, global_values.trace_length)), 65536))). - assert pow3248 = pow56 * pow3247; // pow(trace_generator, (safe_div((safe_mult(32595, global_values.trace_length)), 32768))). - assert pow3249 = pow56 * pow3248; // pow(trace_generator, (safe_div((safe_mult(65191, global_values.trace_length)), 65536))). - assert pow3250 = pow56 * pow3249; // pow(trace_generator, (safe_div((safe_mult(8149, global_values.trace_length)), 8192))). - assert pow3251 = pow56 * pow3250; // pow(trace_generator, (safe_div((safe_mult(65193, global_values.trace_length)), 65536))). - assert pow3252 = pow56 * pow3251; // pow(trace_generator, (safe_div((safe_mult(32597, global_values.trace_length)), 32768))). - assert pow3253 = pow56 * pow3252; // pow(trace_generator, (safe_div((safe_mult(65195, global_values.trace_length)), 65536))). - assert pow3254 = pow56 * pow3253; // pow(trace_generator, (safe_div((safe_mult(16299, global_values.trace_length)), 16384))). - assert pow3255 = pow56 * pow3254; // pow(trace_generator, (safe_div((safe_mult(65197, global_values.trace_length)), 65536))). - assert pow3256 = pow56 * pow3255; // pow(trace_generator, (safe_div((safe_mult(32599, global_values.trace_length)), 32768))). - assert pow3257 = pow56 * pow3256; // pow(trace_generator, (safe_div((safe_mult(65199, global_values.trace_length)), 65536))). - assert pow3258 = pow56 * pow3257; // pow(trace_generator, (safe_div((safe_mult(4075, global_values.trace_length)), 4096))). - assert pow3259 = pow56 * pow3258; // pow(trace_generator, (safe_div((safe_mult(65201, global_values.trace_length)), 65536))). - assert pow3260 = pow56 * pow3259; // pow(trace_generator, (safe_div((safe_mult(32601, global_values.trace_length)), 32768))). - assert pow3261 = pow56 * pow3260; // pow(trace_generator, (safe_div((safe_mult(65203, global_values.trace_length)), 65536))). - assert pow3262 = pow56 * pow3261; // pow(trace_generator, (safe_div((safe_mult(16301, global_values.trace_length)), 16384))). - assert pow3263 = pow56 * pow3262; // pow(trace_generator, (safe_div((safe_mult(65205, global_values.trace_length)), 65536))). - assert pow3264 = pow56 * pow3263; // pow(trace_generator, (safe_div((safe_mult(32603, global_values.trace_length)), 32768))). - assert pow3265 = pow56 * pow3264; // pow(trace_generator, (safe_div((safe_mult(65207, global_values.trace_length)), 65536))). - assert pow3266 = pow56 * pow3265; // pow(trace_generator, (safe_div((safe_mult(8151, global_values.trace_length)), 8192))). - assert pow3267 = pow56 * pow3266; // pow(trace_generator, (safe_div((safe_mult(65209, global_values.trace_length)), 65536))). - assert pow3268 = pow56 * pow3267; // pow(trace_generator, (safe_div((safe_mult(32605, global_values.trace_length)), 32768))). - assert pow3269 = pow56 * pow3268; // pow(trace_generator, (safe_div((safe_mult(65211, global_values.trace_length)), 65536))). - assert pow3270 = pow56 * pow3269; // pow(trace_generator, (safe_div((safe_mult(16303, global_values.trace_length)), 16384))). - assert pow3271 = pow56 * pow3270; // pow(trace_generator, (safe_div((safe_mult(65213, global_values.trace_length)), 65536))). - assert pow3272 = pow65 * pow3271; // pow(trace_generator, (safe_div((safe_mult(1019, global_values.trace_length)), 1024))). - assert pow3273 = pow56 * pow3272; // pow(trace_generator, (safe_div((safe_mult(65217, global_values.trace_length)), 65536))). - assert pow3274 = pow56 * pow3273; // pow(trace_generator, (safe_div((safe_mult(32609, global_values.trace_length)), 32768))). - assert pow3275 = pow56 * pow3274; // pow(trace_generator, (safe_div((safe_mult(65219, global_values.trace_length)), 65536))). - assert pow3276 = pow56 * pow3275; // pow(trace_generator, (safe_div((safe_mult(16305, global_values.trace_length)), 16384))). - assert pow3277 = pow56 * pow3276; // pow(trace_generator, (safe_div((safe_mult(65221, global_values.trace_length)), 65536))). - assert pow3278 = pow56 * pow3277; // pow(trace_generator, (safe_div((safe_mult(32611, global_values.trace_length)), 32768))). - assert pow3279 = pow56 * pow3278; // pow(trace_generator, (safe_div((safe_mult(65223, global_values.trace_length)), 65536))). - assert pow3280 = pow56 * pow3279; // pow(trace_generator, (safe_div((safe_mult(8153, global_values.trace_length)), 8192))). - assert pow3281 = pow56 * pow3280; // pow(trace_generator, (safe_div((safe_mult(65225, global_values.trace_length)), 65536))). - assert pow3282 = pow56 * pow3281; // pow(trace_generator, (safe_div((safe_mult(32613, global_values.trace_length)), 32768))). - assert pow3283 = pow56 * pow3282; // pow(trace_generator, (safe_div((safe_mult(65227, global_values.trace_length)), 65536))). - assert pow3284 = pow56 * pow3283; // pow(trace_generator, (safe_div((safe_mult(16307, global_values.trace_length)), 16384))). - assert pow3285 = pow56 * pow3284; // pow(trace_generator, (safe_div((safe_mult(65229, global_values.trace_length)), 65536))). - assert pow3286 = pow56 * pow3285; // pow(trace_generator, (safe_div((safe_mult(32615, global_values.trace_length)), 32768))). - assert pow3287 = pow56 * pow3286; // pow(trace_generator, (safe_div((safe_mult(65231, global_values.trace_length)), 65536))). - assert pow3288 = pow56 * pow3287; // pow(trace_generator, (safe_div((safe_mult(4077, global_values.trace_length)), 4096))). - assert pow3289 = pow56 * pow3288; // pow(trace_generator, (safe_div((safe_mult(65233, global_values.trace_length)), 65536))). - assert pow3290 = pow56 * pow3289; // pow(trace_generator, (safe_div((safe_mult(32617, global_values.trace_length)), 32768))). - assert pow3291 = pow56 * pow3290; // pow(trace_generator, (safe_div((safe_mult(65235, global_values.trace_length)), 65536))). - assert pow3292 = pow56 * pow3291; // pow(trace_generator, (safe_div((safe_mult(16309, global_values.trace_length)), 16384))). - assert pow3293 = pow56 * pow3292; // pow(trace_generator, (safe_div((safe_mult(65237, global_values.trace_length)), 65536))). - assert pow3294 = pow56 * pow3293; // pow(trace_generator, (safe_div((safe_mult(32619, global_values.trace_length)), 32768))). - assert pow3295 = pow56 * pow3294; // pow(trace_generator, (safe_div((safe_mult(65239, global_values.trace_length)), 65536))). - assert pow3296 = pow56 * pow3295; // pow(trace_generator, (safe_div((safe_mult(8155, global_values.trace_length)), 8192))). - assert pow3297 = pow56 * pow3296; // pow(trace_generator, (safe_div((safe_mult(65241, global_values.trace_length)), 65536))). - assert pow3298 = pow56 * pow3297; // pow(trace_generator, (safe_div((safe_mult(32621, global_values.trace_length)), 32768))). - assert pow3299 = pow56 * pow3298; // pow(trace_generator, (safe_div((safe_mult(65243, global_values.trace_length)), 65536))). - assert pow3300 = pow56 * pow3299; // pow(trace_generator, (safe_div((safe_mult(16311, global_values.trace_length)), 16384))). - assert pow3301 = pow56 * pow3300; // pow(trace_generator, (safe_div((safe_mult(65245, global_values.trace_length)), 65536))). - assert pow3302 = pow65 * pow3301; // pow(trace_generator, (safe_div((safe_mult(2039, global_values.trace_length)), 2048))). - assert pow3303 = pow56 * pow3302; // pow(trace_generator, (safe_div((safe_mult(65249, global_values.trace_length)), 65536))). - assert pow3304 = pow56 * pow3303; // pow(trace_generator, (safe_div((safe_mult(32625, global_values.trace_length)), 32768))). - assert pow3305 = pow56 * pow3304; // pow(trace_generator, (safe_div((safe_mult(65251, global_values.trace_length)), 65536))). - assert pow3306 = pow56 * pow3305; // pow(trace_generator, (safe_div((safe_mult(16313, global_values.trace_length)), 16384))). - assert pow3307 = pow56 * pow3306; // pow(trace_generator, (safe_div((safe_mult(65253, global_values.trace_length)), 65536))). - assert pow3308 = pow56 * pow3307; // pow(trace_generator, (safe_div((safe_mult(32627, global_values.trace_length)), 32768))). - assert pow3309 = pow56 * pow3308; // pow(trace_generator, (safe_div((safe_mult(65255, global_values.trace_length)), 65536))). - assert pow3310 = pow56 * pow3309; // pow(trace_generator, (safe_div((safe_mult(8157, global_values.trace_length)), 8192))). - assert pow3311 = pow56 * pow3310; // pow(trace_generator, (safe_div((safe_mult(65257, global_values.trace_length)), 65536))). - assert pow3312 = pow56 * pow3311; // pow(trace_generator, (safe_div((safe_mult(32629, global_values.trace_length)), 32768))). - assert pow3313 = pow56 * pow3312; // pow(trace_generator, (safe_div((safe_mult(65259, global_values.trace_length)), 65536))). - assert pow3314 = pow56 * pow3313; // pow(trace_generator, (safe_div((safe_mult(16315, global_values.trace_length)), 16384))). - assert pow3315 = pow56 * pow3314; // pow(trace_generator, (safe_div((safe_mult(65261, global_values.trace_length)), 65536))). - assert pow3316 = pow56 * pow3315; // pow(trace_generator, (safe_div((safe_mult(32631, global_values.trace_length)), 32768))). - assert pow3317 = pow56 * pow3316; // pow(trace_generator, (safe_div((safe_mult(65263, global_values.trace_length)), 65536))). - assert pow3318 = pow56 * pow3317; // pow(trace_generator, (safe_div((safe_mult(4079, global_values.trace_length)), 4096))). - assert pow3319 = pow56 * pow3318; // pow(trace_generator, (safe_div((safe_mult(65265, global_values.trace_length)), 65536))). - assert pow3320 = pow56 * pow3319; // pow(trace_generator, (safe_div((safe_mult(32633, global_values.trace_length)), 32768))). - assert pow3321 = pow56 * pow3320; // pow(trace_generator, (safe_div((safe_mult(65267, global_values.trace_length)), 65536))). - assert pow3322 = pow56 * pow3321; // pow(trace_generator, (safe_div((safe_mult(16317, global_values.trace_length)), 16384))). - assert pow3323 = pow56 * pow3322; // pow(trace_generator, (safe_div((safe_mult(65269, global_values.trace_length)), 65536))). - assert pow3324 = pow56 * pow3323; // pow(trace_generator, (safe_div((safe_mult(32635, global_values.trace_length)), 32768))). - assert pow3325 = pow56 * pow3324; // pow(trace_generator, (safe_div((safe_mult(65271, global_values.trace_length)), 65536))). - assert pow3326 = pow56 * pow3325; // pow(trace_generator, (safe_div((safe_mult(8159, global_values.trace_length)), 8192))). - assert pow3327 = pow56 * pow3326; // pow(trace_generator, (safe_div((safe_mult(65273, global_values.trace_length)), 65536))). - assert pow3328 = pow56 * pow3327; // pow(trace_generator, (safe_div((safe_mult(32637, global_values.trace_length)), 32768))). - assert pow3329 = pow56 * pow3328; // pow(trace_generator, (safe_div((safe_mult(65275, global_values.trace_length)), 65536))). - assert pow3330 = pow56 * pow3329; // pow(trace_generator, (safe_div((safe_mult(16319, global_values.trace_length)), 16384))). - assert pow3331 = pow56 * pow3330; // pow(trace_generator, (safe_div((safe_mult(65277, global_values.trace_length)), 65536))). - assert pow3332 = pow65 * pow3331; // pow(trace_generator, (safe_div((safe_mult(255, global_values.trace_length)), 256))). - assert pow3333 = pow56 * pow3332; // pow(trace_generator, (safe_div((safe_mult(65281, global_values.trace_length)), 65536))). - assert pow3334 = pow56 * pow3333; // pow(trace_generator, (safe_div((safe_mult(32641, global_values.trace_length)), 32768))). - assert pow3335 = pow56 * pow3334; // pow(trace_generator, (safe_div((safe_mult(65283, global_values.trace_length)), 65536))). - assert pow3336 = pow56 * pow3335; // pow(trace_generator, (safe_div((safe_mult(16321, global_values.trace_length)), 16384))). - assert pow3337 = pow56 * pow3336; // pow(trace_generator, (safe_div((safe_mult(65285, global_values.trace_length)), 65536))). - assert pow3338 = pow56 * pow3337; // pow(trace_generator, (safe_div((safe_mult(32643, global_values.trace_length)), 32768))). - assert pow3339 = pow56 * pow3338; // pow(trace_generator, (safe_div((safe_mult(65287, global_values.trace_length)), 65536))). - assert pow3340 = pow56 * pow3339; // pow(trace_generator, (safe_div((safe_mult(8161, global_values.trace_length)), 8192))). - assert pow3341 = pow56 * pow3340; // pow(trace_generator, (safe_div((safe_mult(65289, global_values.trace_length)), 65536))). - assert pow3342 = pow56 * pow3341; // pow(trace_generator, (safe_div((safe_mult(32645, global_values.trace_length)), 32768))). - assert pow3343 = pow56 * pow3342; // pow(trace_generator, (safe_div((safe_mult(65291, global_values.trace_length)), 65536))). - assert pow3344 = pow56 * pow3343; // pow(trace_generator, (safe_div((safe_mult(16323, global_values.trace_length)), 16384))). - assert pow3345 = pow56 * pow3344; // pow(trace_generator, (safe_div((safe_mult(65293, global_values.trace_length)), 65536))). - assert pow3346 = pow56 * pow3345; // pow(trace_generator, (safe_div((safe_mult(32647, global_values.trace_length)), 32768))). - assert pow3347 = pow56 * pow3346; // pow(trace_generator, (safe_div((safe_mult(65295, global_values.trace_length)), 65536))). - assert pow3348 = pow56 * pow3347; // pow(trace_generator, (safe_div((safe_mult(4081, global_values.trace_length)), 4096))). - assert pow3349 = pow56 * pow3348; // pow(trace_generator, (safe_div((safe_mult(65297, global_values.trace_length)), 65536))). - assert pow3350 = pow56 * pow3349; // pow(trace_generator, (safe_div((safe_mult(32649, global_values.trace_length)), 32768))). - assert pow3351 = pow56 * pow3350; // pow(trace_generator, (safe_div((safe_mult(65299, global_values.trace_length)), 65536))). - assert pow3352 = pow56 * pow3351; // pow(trace_generator, (safe_div((safe_mult(16325, global_values.trace_length)), 16384))). - assert pow3353 = pow56 * pow3352; // pow(trace_generator, (safe_div((safe_mult(65301, global_values.trace_length)), 65536))). - assert pow3354 = pow56 * pow3353; // pow(trace_generator, (safe_div((safe_mult(32651, global_values.trace_length)), 32768))). - assert pow3355 = pow56 * pow3354; // pow(trace_generator, (safe_div((safe_mult(65303, global_values.trace_length)), 65536))). - assert pow3356 = pow56 * pow3355; // pow(trace_generator, (safe_div((safe_mult(8163, global_values.trace_length)), 8192))). - assert pow3357 = pow56 * pow3356; // pow(trace_generator, (safe_div((safe_mult(65305, global_values.trace_length)), 65536))). - assert pow3358 = pow56 * pow3357; // pow(trace_generator, (safe_div((safe_mult(32653, global_values.trace_length)), 32768))). - assert pow3359 = pow56 * pow3358; // pow(trace_generator, (safe_div((safe_mult(65307, global_values.trace_length)), 65536))). - assert pow3360 = pow56 * pow3359; // pow(trace_generator, (safe_div((safe_mult(16327, global_values.trace_length)), 16384))). - assert pow3361 = pow56 * pow3360; // pow(trace_generator, (safe_div((safe_mult(65309, global_values.trace_length)), 65536))). - assert pow3362 = pow65 * pow3361; // pow(trace_generator, (safe_div((safe_mult(2041, global_values.trace_length)), 2048))). - assert pow3363 = pow56 * pow3362; // pow(trace_generator, (safe_div((safe_mult(65313, global_values.trace_length)), 65536))). - assert pow3364 = pow56 * pow3363; // pow(trace_generator, (safe_div((safe_mult(32657, global_values.trace_length)), 32768))). - assert pow3365 = pow56 * pow3364; // pow(trace_generator, (safe_div((safe_mult(65315, global_values.trace_length)), 65536))). - assert pow3366 = pow56 * pow3365; // pow(trace_generator, (safe_div((safe_mult(16329, global_values.trace_length)), 16384))). - assert pow3367 = pow56 * pow3366; // pow(trace_generator, (safe_div((safe_mult(65317, global_values.trace_length)), 65536))). - assert pow3368 = pow56 * pow3367; // pow(trace_generator, (safe_div((safe_mult(32659, global_values.trace_length)), 32768))). - assert pow3369 = pow56 * pow3368; // pow(trace_generator, (safe_div((safe_mult(65319, global_values.trace_length)), 65536))). - assert pow3370 = pow56 * pow3369; // pow(trace_generator, (safe_div((safe_mult(8165, global_values.trace_length)), 8192))). - assert pow3371 = pow56 * pow3370; // pow(trace_generator, (safe_div((safe_mult(65321, global_values.trace_length)), 65536))). - assert pow3372 = pow56 * pow3371; // pow(trace_generator, (safe_div((safe_mult(32661, global_values.trace_length)), 32768))). - assert pow3373 = pow56 * pow3372; // pow(trace_generator, (safe_div((safe_mult(65323, global_values.trace_length)), 65536))). - assert pow3374 = pow56 * pow3373; // pow(trace_generator, (safe_div((safe_mult(16331, global_values.trace_length)), 16384))). - assert pow3375 = pow56 * pow3374; // pow(trace_generator, (safe_div((safe_mult(65325, global_values.trace_length)), 65536))). - assert pow3376 = pow56 * pow3375; // pow(trace_generator, (safe_div((safe_mult(32663, global_values.trace_length)), 32768))). - assert pow3377 = pow56 * pow3376; // pow(trace_generator, (safe_div((safe_mult(65327, global_values.trace_length)), 65536))). - assert pow3378 = pow56 * pow3377; // pow(trace_generator, (safe_div((safe_mult(4083, global_values.trace_length)), 4096))). - assert pow3379 = pow56 * pow3378; // pow(trace_generator, (safe_div((safe_mult(65329, global_values.trace_length)), 65536))). - assert pow3380 = pow56 * pow3379; // pow(trace_generator, (safe_div((safe_mult(32665, global_values.trace_length)), 32768))). - assert pow3381 = pow56 * pow3380; // pow(trace_generator, (safe_div((safe_mult(65331, global_values.trace_length)), 65536))). - assert pow3382 = pow56 * pow3381; // pow(trace_generator, (safe_div((safe_mult(16333, global_values.trace_length)), 16384))). - assert pow3383 = pow56 * pow3382; // pow(trace_generator, (safe_div((safe_mult(65333, global_values.trace_length)), 65536))). - assert pow3384 = pow56 * pow3383; // pow(trace_generator, (safe_div((safe_mult(32667, global_values.trace_length)), 32768))). - assert pow3385 = pow56 * pow3384; // pow(trace_generator, (safe_div((safe_mult(65335, global_values.trace_length)), 65536))). - assert pow3386 = pow56 * pow3385; // pow(trace_generator, (safe_div((safe_mult(8167, global_values.trace_length)), 8192))). - assert pow3387 = pow56 * pow3386; // pow(trace_generator, (safe_div((safe_mult(65337, global_values.trace_length)), 65536))). - assert pow3388 = pow56 * pow3387; // pow(trace_generator, (safe_div((safe_mult(32669, global_values.trace_length)), 32768))). - assert pow3389 = pow56 * pow3388; // pow(trace_generator, (safe_div((safe_mult(65339, global_values.trace_length)), 65536))). - assert pow3390 = pow56 * pow3389; // pow(trace_generator, (safe_div((safe_mult(16335, global_values.trace_length)), 16384))). - assert pow3391 = pow56 * pow3390; // pow(trace_generator, (safe_div((safe_mult(65341, global_values.trace_length)), 65536))). - assert pow3392 = pow65 * pow3391; // pow(trace_generator, (safe_div((safe_mult(1021, global_values.trace_length)), 1024))). + let (temp50) = pow( + trace_generator, global_values.trace_length - (safe_div(keccak__row_ratio, 16)) + ); + assert pow50 = temp50; + let (temp51) = pow(trace_generator, (safe_div(global_values.trace_length, 524288))); + assert pow51 = temp51; + assert pow52 = pow51 * pow51; // pow(trace_generator, (safe_div(global_values.trace_length, 262144))). + assert pow53 = pow51 * pow52; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 524288))). + assert pow54 = pow51 * pow53; // pow(trace_generator, (safe_div(global_values.trace_length, 131072))). + assert pow55 = pow51 * pow54; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 524288))). + assert pow56 = pow51 * pow55; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 262144))). + assert pow57 = pow51 * pow56; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 524288))). + assert pow58 = pow51 * pow57; // pow(trace_generator, (safe_div(global_values.trace_length, 65536))). + assert pow59 = pow51 * pow58; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 524288))). + assert pow60 = pow51 * pow59; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 262144))). + assert pow61 = pow51 * pow60; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 524288))). + assert pow62 = pow51 * pow61; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 131072))). + assert pow63 = pow51 * pow62; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 524288))). + assert pow64 = pow51 * pow63; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 262144))). + assert pow65 = pow51 * pow64; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 524288))). + assert pow66 = pow51 * pow65; // pow(trace_generator, (safe_div(global_values.trace_length, 32768))). + assert pow67 = pow58 * pow66; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 65536))). + assert pow68 = pow58 * pow67; // pow(trace_generator, (safe_div(global_values.trace_length, 16384))). + assert pow69 = pow58 * pow68; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 65536))). + assert pow70 = pow58 * pow69; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32768))). + assert pow71 = pow58 * pow70; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 65536))). + assert pow72 = pow58 * pow71; // pow(trace_generator, (safe_div(global_values.trace_length, 8192))). + assert pow73 = pow58 * pow72; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 65536))). + assert pow74 = pow58 * pow73; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32768))). + assert pow75 = pow58 * pow74; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 65536))). + assert pow76 = pow58 * pow75; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16384))). + assert pow77 = pow58 * pow76; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 65536))). + assert pow78 = pow58 * pow77; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32768))). + assert pow79 = pow58 * pow78; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 65536))). + assert pow80 = pow58 * pow79; // pow(trace_generator, (safe_div(global_values.trace_length, 4096))). + assert pow81 = pow58 * pow80; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 65536))). + assert pow82 = pow58 * pow81; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32768))). + assert pow83 = pow58 * pow82; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 65536))). + assert pow84 = pow58 * pow83; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16384))). + assert pow85 = pow58 * pow84; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 65536))). + assert pow86 = pow58 * pow85; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32768))). + assert pow87 = pow58 * pow86; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 65536))). + assert pow88 = pow58 * pow87; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 8192))). + assert pow89 = pow58 * pow88; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 65536))). + assert pow90 = pow58 * pow89; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 32768))). + assert pow91 = pow58 * pow90; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 65536))). + assert pow92 = pow58 * pow91; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 16384))). + assert pow93 = pow58 * pow92; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 65536))). + assert pow94 = pow58 * pow93; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 32768))). + assert pow95 = pow58 * pow94; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 65536))). + assert pow96 = pow58 * pow95; // pow(trace_generator, (safe_div(global_values.trace_length, 2048))). + assert pow97 = pow58 * pow96; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 65536))). + assert pow98 = pow58 * pow97; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 32768))). + assert pow99 = pow58 * pow98; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 65536))). + assert pow100 = pow58 * pow99; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 16384))). + assert pow101 = pow58 * pow100; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 65536))). + assert pow102 = pow58 * pow101; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32768))). + assert pow103 = pow58 * pow102; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 65536))). + assert pow104 = pow58 * pow103; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8192))). + assert pow105 = pow58 * pow104; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 65536))). + assert pow106 = pow58 * pow105; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32768))). + assert pow107 = pow58 * pow106; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 65536))). + assert pow108 = pow58 * pow107; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16384))). + assert pow109 = pow58 * pow108; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 65536))). + assert pow110 = pow58 * pow109; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32768))). + assert pow111 = pow58 * pow110; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 65536))). + assert pow112 = pow58 * pow111; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4096))). + assert pow113 = pow58 * pow112; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 65536))). + assert pow114 = pow58 * pow113; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32768))). + assert pow115 = pow58 * pow114; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 65536))). + assert pow116 = pow58 * pow115; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16384))). + assert pow117 = pow58 * pow116; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 65536))). + assert pow118 = pow58 * pow117; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32768))). + assert pow119 = pow58 * pow118; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 65536))). + assert pow120 = pow58 * pow119; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8192))). + assert pow121 = pow58 * pow120; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 65536))). + assert pow122 = pow58 * pow121; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32768))). + assert pow123 = pow58 * pow122; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 65536))). + assert pow124 = pow58 * pow123; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16384))). + assert pow125 = pow58 * pow124; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 65536))). + assert pow126 = pow67 * pow125; // pow(trace_generator, (safe_div(global_values.trace_length, 1024))). + assert pow127 = pow58 * pow126; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 65536))). + assert pow128 = pow58 * pow127; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 32768))). + assert pow129 = pow58 * pow128; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 65536))). + assert pow130 = pow58 * pow129; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 16384))). + assert pow131 = pow58 * pow130; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 65536))). + assert pow132 = pow58 * pow131; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 32768))). + assert pow133 = pow58 * pow132; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 65536))). + assert pow134 = pow58 * pow133; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 8192))). + assert pow135 = pow58 * pow134; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 65536))). + assert pow136 = pow58 * pow135; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 32768))). + assert pow137 = pow58 * pow136; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 65536))). + assert pow138 = pow58 * pow137; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 16384))). + assert pow139 = pow58 * pow138; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 65536))). + assert pow140 = pow58 * pow139; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 32768))). + assert pow141 = pow58 * pow140; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 65536))). + assert pow142 = pow58 * pow141; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 4096))). + assert pow143 = pow58 * pow142; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 65536))). + assert pow144 = pow58 * pow143; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 32768))). + assert pow145 = pow58 * pow144; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 65536))). + assert pow146 = pow58 * pow145; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 16384))). + assert pow147 = pow58 * pow146; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 65536))). + assert pow148 = pow58 * pow147; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 32768))). + assert pow149 = pow58 * pow148; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 65536))). + assert pow150 = pow58 * pow149; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 8192))). + assert pow151 = pow58 * pow150; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 65536))). + assert pow152 = pow58 * pow151; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 32768))). + assert pow153 = pow58 * pow152; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 65536))). + assert pow154 = pow58 * pow153; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 16384))). + assert pow155 = pow58 * pow154; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 65536))). + assert pow156 = pow67 * pow155; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 2048))). + assert pow157 = pow58 * pow156; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 65536))). + assert pow158 = pow58 * pow157; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 32768))). + assert pow159 = pow58 * pow158; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 65536))). + assert pow160 = pow58 * pow159; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 16384))). + assert pow161 = pow58 * pow160; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 65536))). + assert pow162 = pow58 * pow161; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 32768))). + assert pow163 = pow58 * pow162; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 65536))). + assert pow164 = pow58 * pow163; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 8192))). + assert pow165 = pow58 * pow164; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 65536))). + assert pow166 = pow58 * pow165; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 32768))). + assert pow167 = pow58 * pow166; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 65536))). + assert pow168 = pow58 * pow167; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 16384))). + assert pow169 = pow58 * pow168; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 65536))). + assert pow170 = pow58 * pow169; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 32768))). + assert pow171 = pow58 * pow170; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 65536))). + assert pow172 = pow58 * pow171; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 4096))). + assert pow173 = pow58 * pow172; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 65536))). + assert pow174 = pow58 * pow173; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 32768))). + assert pow175 = pow58 * pow174; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 65536))). + assert pow176 = pow58 * pow175; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 16384))). + assert pow177 = pow58 * pow176; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 65536))). + assert pow178 = pow58 * pow177; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 32768))). + assert pow179 = pow58 * pow178; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 65536))). + assert pow180 = pow58 * pow179; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 8192))). + assert pow181 = pow58 * pow180; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 65536))). + assert pow182 = pow58 * pow181; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 32768))). + assert pow183 = pow58 * pow182; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 65536))). + assert pow184 = pow58 * pow183; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 16384))). + assert pow185 = pow58 * pow184; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 65536))). + assert pow186 = pow67 * pow185; // pow(trace_generator, (safe_div(global_values.trace_length, 512))). + assert pow187 = pow58 * pow186; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 65536))). + assert pow188 = pow58 * pow187; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 32768))). + assert pow189 = pow58 * pow188; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 65536))). + assert pow190 = pow58 * pow189; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 16384))). + assert pow191 = pow58 * pow190; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 65536))). + assert pow192 = pow58 * pow191; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 32768))). + assert pow193 = pow58 * pow192; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 65536))). + assert pow194 = pow58 * pow193; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 8192))). + assert pow195 = pow58 * pow194; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 65536))). + assert pow196 = pow58 * pow195; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 32768))). + assert pow197 = pow58 * pow196; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 65536))). + assert pow198 = pow58 * pow197; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 16384))). + assert pow199 = pow58 * pow198; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 65536))). + assert pow200 = pow58 * pow199; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 32768))). + assert pow201 = pow58 * pow200; // pow(trace_generator, (safe_div((safe_mult(143, global_values.trace_length)), 65536))). + assert pow202 = pow58 * pow201; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 4096))). + assert pow203 = pow58 * pow202; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 65536))). + assert pow204 = pow58 * pow203; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 32768))). + assert pow205 = pow58 * pow204; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 65536))). + assert pow206 = pow58 * pow205; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 16384))). + assert pow207 = pow58 * pow206; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 65536))). + assert pow208 = pow58 * pow207; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 32768))). + assert pow209 = pow58 * pow208; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 65536))). + assert pow210 = pow58 * pow209; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 8192))). + assert pow211 = pow58 * pow210; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 65536))). + assert pow212 = pow58 * pow211; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 32768))). + assert pow213 = pow58 * pow212; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 65536))). + assert pow214 = pow58 * pow213; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 16384))). + assert pow215 = pow58 * pow214; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 65536))). + assert pow216 = pow67 * pow215; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 2048))). + assert pow217 = pow58 * pow216; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 65536))). + assert pow218 = pow58 * pow217; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 32768))). + assert pow219 = pow58 * pow218; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 65536))). + assert pow220 = pow58 * pow219; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 16384))). + assert pow221 = pow58 * pow220; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 65536))). + assert pow222 = pow58 * pow221; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 32768))). + assert pow223 = pow58 * pow222; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 65536))). + assert pow224 = pow58 * pow223; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 8192))). + assert pow225 = pow58 * pow224; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 65536))). + assert pow226 = pow58 * pow225; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 32768))). + assert pow227 = pow58 * pow226; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 65536))). + assert pow228 = pow58 * pow227; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 16384))). + assert pow229 = pow58 * pow228; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 65536))). + assert pow230 = pow58 * pow229; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 32768))). + assert pow231 = pow58 * pow230; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 65536))). + assert pow232 = pow58 * pow231; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 4096))). + assert pow233 = pow58 * pow232; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 65536))). + assert pow234 = pow58 * pow233; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 32768))). + assert pow235 = pow58 * pow234; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 65536))). + assert pow236 = pow58 * pow235; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 16384))). + assert pow237 = pow58 * pow236; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 65536))). + assert pow238 = pow58 * pow237; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 32768))). + assert pow239 = pow58 * pow238; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 65536))). + assert pow240 = pow58 * pow239; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 8192))). + assert pow241 = pow58 * pow240; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 65536))). + assert pow242 = pow58 * pow241; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 32768))). + assert pow243 = pow58 * pow242; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 65536))). + assert pow244 = pow58 * pow243; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 16384))). + assert pow245 = pow58 * pow244; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 65536))). + assert pow246 = pow67 * pow245; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024))). + assert pow247 = pow58 * pow246; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 65536))). + assert pow248 = pow58 * pow247; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 32768))). + assert pow249 = pow58 * pow248; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 65536))). + assert pow250 = pow58 * pow249; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 16384))). + assert pow251 = pow58 * pow250; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 65536))). + assert pow252 = pow58 * pow251; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 32768))). + assert pow253 = pow58 * pow252; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 65536))). + assert pow254 = pow58 * pow253; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 8192))). + assert pow255 = pow58 * pow254; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 65536))). + assert pow256 = pow58 * pow255; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 32768))). + assert pow257 = pow58 * pow256; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 65536))). + assert pow258 = pow58 * pow257; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 16384))). + assert pow259 = pow58 * pow258; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 65536))). + assert pow260 = pow58 * pow259; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 32768))). + assert pow261 = pow58 * pow260; // pow(trace_generator, (safe_div((safe_mult(207, global_values.trace_length)), 65536))). + assert pow262 = pow58 * pow261; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 4096))). + assert pow263 = pow58 * pow262; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 65536))). + assert pow264 = pow58 * pow263; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 32768))). + assert pow265 = pow58 * pow264; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 65536))). + assert pow266 = pow58 * pow265; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 16384))). + assert pow267 = pow58 * pow266; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 65536))). + assert pow268 = pow58 * pow267; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 32768))). + assert pow269 = pow58 * pow268; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 65536))). + assert pow270 = pow58 * pow269; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 8192))). + assert pow271 = pow58 * pow270; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 65536))). + assert pow272 = pow58 * pow271; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 32768))). + assert pow273 = pow58 * pow272; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 65536))). + assert pow274 = pow58 * pow273; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 16384))). + assert pow275 = pow58 * pow274; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 65536))). + assert pow276 = pow67 * pow275; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 2048))). + assert pow277 = pow58 * pow276; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 65536))). + assert pow278 = pow58 * pow277; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 32768))). + assert pow279 = pow58 * pow278; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 65536))). + assert pow280 = pow58 * pow279; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 16384))). + assert pow281 = pow58 * pow280; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 65536))). + assert pow282 = pow58 * pow281; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 32768))). + assert pow283 = pow58 * pow282; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 65536))). + assert pow284 = pow58 * pow283; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 8192))). + assert pow285 = pow58 * pow284; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 65536))). + assert pow286 = pow58 * pow285; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 32768))). + assert pow287 = pow58 * pow286; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 65536))). + assert pow288 = pow58 * pow287; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 16384))). + assert pow289 = pow58 * pow288; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 65536))). + assert pow290 = pow58 * pow289; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 32768))). + assert pow291 = pow58 * pow290; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 65536))). + assert pow292 = pow58 * pow291; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 4096))). + assert pow293 = pow58 * pow292; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 65536))). + assert pow294 = pow58 * pow293; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 32768))). + assert pow295 = pow58 * pow294; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 65536))). + assert pow296 = pow58 * pow295; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 16384))). + assert pow297 = pow58 * pow296; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 65536))). + assert pow298 = pow58 * pow297; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 32768))). + assert pow299 = pow58 * pow298; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 65536))). + assert pow300 = pow58 * pow299; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 8192))). + assert pow301 = pow58 * pow300; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 65536))). + assert pow302 = pow58 * pow301; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 32768))). + assert pow303 = pow58 * pow302; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 65536))). + assert pow304 = pow58 * pow303; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 16384))). + assert pow305 = pow58 * pow304; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 65536))). + assert pow306 = pow67 * pow305; // pow(trace_generator, (safe_div(global_values.trace_length, 256))). + assert pow307 = pow58 * pow306; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 65536))). + assert pow308 = pow58 * pow307; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 32768))). + assert pow309 = pow58 * pow308; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 65536))). + assert pow310 = pow58 * pow309; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 16384))). + assert pow311 = pow58 * pow310; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 65536))). + assert pow312 = pow58 * pow311; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 32768))). + assert pow313 = pow58 * pow312; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 65536))). + assert pow314 = pow58 * pow313; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 8192))). + assert pow315 = pow58 * pow314; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 65536))). + assert pow316 = pow58 * pow315; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 32768))). + assert pow317 = pow58 * pow316; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 65536))). + assert pow318 = pow58 * pow317; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 16384))). + assert pow319 = pow58 * pow318; // pow(trace_generator, (safe_div((safe_mult(269, global_values.trace_length)), 65536))). + assert pow320 = pow58 * pow319; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 32768))). + assert pow321 = pow58 * pow320; // pow(trace_generator, (safe_div((safe_mult(271, global_values.trace_length)), 65536))). + assert pow322 = pow58 * pow321; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 4096))). + assert pow323 = pow58 * pow322; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 65536))). + assert pow324 = pow58 * pow323; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 32768))). + assert pow325 = pow58 * pow324; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 65536))). + assert pow326 = pow58 * pow325; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 16384))). + assert pow327 = pow58 * pow326; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 65536))). + assert pow328 = pow58 * pow327; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 32768))). + assert pow329 = pow58 * pow328; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 65536))). + assert pow330 = pow58 * pow329; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 8192))). + assert pow331 = pow58 * pow330; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 65536))). + assert pow332 = pow58 * pow331; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 32768))). + assert pow333 = pow58 * pow332; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 65536))). + assert pow334 = pow58 * pow333; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 16384))). + assert pow335 = pow58 * pow334; // pow(trace_generator, (safe_div((safe_mult(285, global_values.trace_length)), 65536))). + assert pow336 = pow67 * pow335; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 2048))). + assert pow337 = pow58 * pow336; // pow(trace_generator, (safe_div((safe_mult(289, global_values.trace_length)), 65536))). + assert pow338 = pow58 * pow337; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 32768))). + assert pow339 = pow58 * pow338; // pow(trace_generator, (safe_div((safe_mult(291, global_values.trace_length)), 65536))). + assert pow340 = pow58 * pow339; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 16384))). + assert pow341 = pow58 * pow340; // pow(trace_generator, (safe_div((safe_mult(293, global_values.trace_length)), 65536))). + assert pow342 = pow58 * pow341; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 32768))). + assert pow343 = pow58 * pow342; // pow(trace_generator, (safe_div((safe_mult(295, global_values.trace_length)), 65536))). + assert pow344 = pow58 * pow343; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 8192))). + assert pow345 = pow58 * pow344; // pow(trace_generator, (safe_div((safe_mult(297, global_values.trace_length)), 65536))). + assert pow346 = pow58 * pow345; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 32768))). + assert pow347 = pow58 * pow346; // pow(trace_generator, (safe_div((safe_mult(299, global_values.trace_length)), 65536))). + assert pow348 = pow58 * pow347; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 16384))). + assert pow349 = pow58 * pow348; // pow(trace_generator, (safe_div((safe_mult(301, global_values.trace_length)), 65536))). + assert pow350 = pow58 * pow349; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 32768))). + assert pow351 = pow58 * pow350; // pow(trace_generator, (safe_div((safe_mult(303, global_values.trace_length)), 65536))). + assert pow352 = pow58 * pow351; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 4096))). + assert pow353 = pow58 * pow352; // pow(trace_generator, (safe_div((safe_mult(305, global_values.trace_length)), 65536))). + assert pow354 = pow58 * pow353; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 32768))). + assert pow355 = pow58 * pow354; // pow(trace_generator, (safe_div((safe_mult(307, global_values.trace_length)), 65536))). + assert pow356 = pow58 * pow355; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 16384))). + assert pow357 = pow58 * pow356; // pow(trace_generator, (safe_div((safe_mult(309, global_values.trace_length)), 65536))). + assert pow358 = pow58 * pow357; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 32768))). + assert pow359 = pow58 * pow358; // pow(trace_generator, (safe_div((safe_mult(311, global_values.trace_length)), 65536))). + assert pow360 = pow58 * pow359; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 8192))). + assert pow361 = pow58 * pow360; // pow(trace_generator, (safe_div((safe_mult(313, global_values.trace_length)), 65536))). + assert pow362 = pow58 * pow361; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 32768))). + assert pow363 = pow58 * pow362; // pow(trace_generator, (safe_div((safe_mult(315, global_values.trace_length)), 65536))). + assert pow364 = pow58 * pow363; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 16384))). + assert pow365 = pow58 * pow364; // pow(trace_generator, (safe_div((safe_mult(317, global_values.trace_length)), 65536))). + assert pow366 = pow67 * pow365; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024))). + assert pow367 = pow58 * pow366; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 65536))). + assert pow368 = pow58 * pow367; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 32768))). + assert pow369 = pow58 * pow368; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 65536))). + assert pow370 = pow58 * pow369; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 16384))). + assert pow371 = pow58 * pow370; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 65536))). + assert pow372 = pow58 * pow371; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 32768))). + assert pow373 = pow58 * pow372; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 65536))). + assert pow374 = pow58 * pow373; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 8192))). + assert pow375 = pow58 * pow374; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 65536))). + assert pow376 = pow58 * pow375; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 32768))). + assert pow377 = pow58 * pow376; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 65536))). + assert pow378 = pow58 * pow377; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 16384))). + assert pow379 = pow58 * pow378; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 65536))). + assert pow380 = pow58 * pow379; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 32768))). + assert pow381 = pow58 * pow380; // pow(trace_generator, (safe_div((safe_mult(335, global_values.trace_length)), 65536))). + assert pow382 = pow58 * pow381; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 4096))). + assert pow383 = pow58 * pow382; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 65536))). + assert pow384 = pow58 * pow383; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 32768))). + assert pow385 = pow58 * pow384; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 65536))). + assert pow386 = pow58 * pow385; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 16384))). + assert pow387 = pow58 * pow386; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 65536))). + assert pow388 = pow58 * pow387; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 32768))). + assert pow389 = pow58 * pow388; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 65536))). + assert pow390 = pow58 * pow389; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 8192))). + assert pow391 = pow58 * pow390; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 65536))). + assert pow392 = pow58 * pow391; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 32768))). + assert pow393 = pow58 * pow392; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 65536))). + assert pow394 = pow58 * pow393; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 16384))). + assert pow395 = pow58 * pow394; // pow(trace_generator, (safe_div((safe_mult(349, global_values.trace_length)), 65536))). + assert pow396 = pow67 * pow395; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 2048))). + assert pow397 = pow58 * pow396; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 65536))). + assert pow398 = pow58 * pow397; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 32768))). + assert pow399 = pow58 * pow398; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 65536))). + assert pow400 = pow58 * pow399; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 16384))). + assert pow401 = pow58 * pow400; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 65536))). + assert pow402 = pow58 * pow401; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 32768))). + assert pow403 = pow58 * pow402; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 65536))). + assert pow404 = pow58 * pow403; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 8192))). + assert pow405 = pow58 * pow404; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 65536))). + assert pow406 = pow58 * pow405; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 32768))). + assert pow407 = pow58 * pow406; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 65536))). + assert pow408 = pow58 * pow407; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 16384))). + assert pow409 = pow58 * pow408; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 65536))). + assert pow410 = pow58 * pow409; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 32768))). + assert pow411 = pow58 * pow410; // pow(trace_generator, (safe_div((safe_mult(367, global_values.trace_length)), 65536))). + assert pow412 = pow58 * pow411; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 4096))). + assert pow413 = pow58 * pow412; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 65536))). + assert pow414 = pow58 * pow413; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 32768))). + assert pow415 = pow58 * pow414; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 65536))). + assert pow416 = pow58 * pow415; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 16384))). + assert pow417 = pow58 * pow416; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 65536))). + assert pow418 = pow58 * pow417; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 32768))). + assert pow419 = pow58 * pow418; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 65536))). + assert pow420 = pow58 * pow419; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 8192))). + assert pow421 = pow58 * pow420; // pow(trace_generator, (safe_div((safe_mult(377, global_values.trace_length)), 65536))). + assert pow422 = pow58 * pow421; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 32768))). + assert pow423 = pow58 * pow422; // pow(trace_generator, (safe_div((safe_mult(379, global_values.trace_length)), 65536))). + assert pow424 = pow58 * pow423; // pow(trace_generator, (safe_div((safe_mult(95, global_values.trace_length)), 16384))). + assert pow425 = pow58 * pow424; // pow(trace_generator, (safe_div((safe_mult(381, global_values.trace_length)), 65536))). + assert pow426 = pow67 * pow425; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512))). + assert pow427 = pow58 * pow426; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 65536))). + assert pow428 = pow58 * pow427; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 32768))). + assert pow429 = pow58 * pow428; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 65536))). + assert pow430 = pow58 * pow429; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 16384))). + assert pow431 = pow58 * pow430; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 65536))). + assert pow432 = pow58 * pow431; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 32768))). + assert pow433 = pow58 * pow432; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 65536))). + assert pow434 = pow58 * pow433; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 8192))). + assert pow435 = pow58 * pow434; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 65536))). + assert pow436 = pow58 * pow435; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 32768))). + assert pow437 = pow58 * pow436; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 65536))). + assert pow438 = pow58 * pow437; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 16384))). + assert pow439 = pow58 * pow438; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 65536))). + assert pow440 = pow58 * pow439; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 32768))). + assert pow441 = pow58 * pow440; // pow(trace_generator, (safe_div((safe_mult(399, global_values.trace_length)), 65536))). + assert pow442 = pow58 * pow441; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 4096))). + assert pow443 = pow58 * pow442; // pow(trace_generator, (safe_div((safe_mult(401, global_values.trace_length)), 65536))). + assert pow444 = pow58 * pow443; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 32768))). + assert pow445 = pow58 * pow444; // pow(trace_generator, (safe_div((safe_mult(403, global_values.trace_length)), 65536))). + assert pow446 = pow58 * pow445; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 16384))). + assert pow447 = pow58 * pow446; // pow(trace_generator, (safe_div((safe_mult(405, global_values.trace_length)), 65536))). + assert pow448 = pow58 * pow447; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 32768))). + assert pow449 = pow58 * pow448; // pow(trace_generator, (safe_div((safe_mult(407, global_values.trace_length)), 65536))). + assert pow450 = pow58 * pow449; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 8192))). + assert pow451 = pow58 * pow450; // pow(trace_generator, (safe_div((safe_mult(409, global_values.trace_length)), 65536))). + assert pow452 = pow58 * pow451; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 32768))). + assert pow453 = pow58 * pow452; // pow(trace_generator, (safe_div((safe_mult(411, global_values.trace_length)), 65536))). + assert pow454 = pow58 * pow453; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 16384))). + assert pow455 = pow58 * pow454; // pow(trace_generator, (safe_div((safe_mult(413, global_values.trace_length)), 65536))). + assert pow456 = pow67 * pow455; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 2048))). + assert pow457 = pow58 * pow456; // pow(trace_generator, (safe_div((safe_mult(417, global_values.trace_length)), 65536))). + assert pow458 = pow58 * pow457; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 32768))). + assert pow459 = pow58 * pow458; // pow(trace_generator, (safe_div((safe_mult(419, global_values.trace_length)), 65536))). + assert pow460 = pow58 * pow459; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 16384))). + assert pow461 = pow58 * pow460; // pow(trace_generator, (safe_div((safe_mult(421, global_values.trace_length)), 65536))). + assert pow462 = pow58 * pow461; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 32768))). + assert pow463 = pow58 * pow462; // pow(trace_generator, (safe_div((safe_mult(423, global_values.trace_length)), 65536))). + assert pow464 = pow58 * pow463; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 8192))). + assert pow465 = pow58 * pow464; // pow(trace_generator, (safe_div((safe_mult(425, global_values.trace_length)), 65536))). + assert pow466 = pow58 * pow465; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 32768))). + assert pow467 = pow58 * pow466; // pow(trace_generator, (safe_div((safe_mult(427, global_values.trace_length)), 65536))). + assert pow468 = pow58 * pow467; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 16384))). + assert pow469 = pow58 * pow468; // pow(trace_generator, (safe_div((safe_mult(429, global_values.trace_length)), 65536))). + assert pow470 = pow58 * pow469; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 32768))). + assert pow471 = pow58 * pow470; // pow(trace_generator, (safe_div((safe_mult(431, global_values.trace_length)), 65536))). + assert pow472 = pow58 * pow471; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 4096))). + assert pow473 = pow58 * pow472; // pow(trace_generator, (safe_div((safe_mult(433, global_values.trace_length)), 65536))). + assert pow474 = pow58 * pow473; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 32768))). + assert pow475 = pow58 * pow474; // pow(trace_generator, (safe_div((safe_mult(435, global_values.trace_length)), 65536))). + assert pow476 = pow58 * pow475; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 16384))). + assert pow477 = pow58 * pow476; // pow(trace_generator, (safe_div((safe_mult(437, global_values.trace_length)), 65536))). + assert pow478 = pow58 * pow477; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 32768))). + assert pow479 = pow58 * pow478; // pow(trace_generator, (safe_div((safe_mult(439, global_values.trace_length)), 65536))). + assert pow480 = pow58 * pow479; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 8192))). + assert pow481 = pow58 * pow480; // pow(trace_generator, (safe_div((safe_mult(441, global_values.trace_length)), 65536))). + assert pow482 = pow58 * pow481; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 32768))). + assert pow483 = pow58 * pow482; // pow(trace_generator, (safe_div((safe_mult(443, global_values.trace_length)), 65536))). + assert pow484 = pow58 * pow483; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 16384))). + assert pow485 = pow58 * pow484; // pow(trace_generator, (safe_div((safe_mult(445, global_values.trace_length)), 65536))). + assert pow486 = pow67 * pow485; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024))). + assert pow487 = pow58 * pow486; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 65536))). + assert pow488 = pow58 * pow487; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 32768))). + assert pow489 = pow58 * pow488; // pow(trace_generator, (safe_div((safe_mult(451, global_values.trace_length)), 65536))). + assert pow490 = pow58 * pow489; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 16384))). + assert pow491 = pow58 * pow490; // pow(trace_generator, (safe_div((safe_mult(453, global_values.trace_length)), 65536))). + assert pow492 = pow58 * pow491; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 32768))). + assert pow493 = pow58 * pow492; // pow(trace_generator, (safe_div((safe_mult(455, global_values.trace_length)), 65536))). + assert pow494 = pow58 * pow493; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 8192))). + assert pow495 = pow58 * pow494; // pow(trace_generator, (safe_div((safe_mult(457, global_values.trace_length)), 65536))). + assert pow496 = pow58 * pow495; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 32768))). + assert pow497 = pow58 * pow496; // pow(trace_generator, (safe_div((safe_mult(459, global_values.trace_length)), 65536))). + assert pow498 = pow58 * pow497; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 16384))). + assert pow499 = pow58 * pow498; // pow(trace_generator, (safe_div((safe_mult(461, global_values.trace_length)), 65536))). + assert pow500 = pow58 * pow499; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 32768))). + assert pow501 = pow58 * pow500; // pow(trace_generator, (safe_div((safe_mult(463, global_values.trace_length)), 65536))). + assert pow502 = pow58 * pow501; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 4096))). + assert pow503 = pow58 * pow502; // pow(trace_generator, (safe_div((safe_mult(465, global_values.trace_length)), 65536))). + assert pow504 = pow58 * pow503; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 32768))). + assert pow505 = pow58 * pow504; // pow(trace_generator, (safe_div((safe_mult(467, global_values.trace_length)), 65536))). + assert pow506 = pow58 * pow505; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 16384))). + assert pow507 = pow58 * pow506; // pow(trace_generator, (safe_div((safe_mult(469, global_values.trace_length)), 65536))). + assert pow508 = pow58 * pow507; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 32768))). + assert pow509 = pow58 * pow508; // pow(trace_generator, (safe_div((safe_mult(471, global_values.trace_length)), 65536))). + assert pow510 = pow58 * pow509; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 8192))). + assert pow511 = pow58 * pow510; // pow(trace_generator, (safe_div((safe_mult(473, global_values.trace_length)), 65536))). + assert pow512 = pow58 * pow511; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 32768))). + assert pow513 = pow58 * pow512; // pow(trace_generator, (safe_div((safe_mult(475, global_values.trace_length)), 65536))). + assert pow514 = pow58 * pow513; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 16384))). + assert pow515 = pow58 * pow514; // pow(trace_generator, (safe_div((safe_mult(477, global_values.trace_length)), 65536))). + assert pow516 = pow67 * pow515; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 2048))). + assert pow517 = pow58 * pow516; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 65536))). + assert pow518 = pow58 * pow517; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 32768))). + assert pow519 = pow58 * pow518; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 65536))). + assert pow520 = pow58 * pow519; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 16384))). + assert pow521 = pow58 * pow520; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 65536))). + assert pow522 = pow58 * pow521; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 32768))). + assert pow523 = pow58 * pow522; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 65536))). + assert pow524 = pow58 * pow523; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 8192))). + assert pow525 = pow58 * pow524; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 65536))). + assert pow526 = pow58 * pow525; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 32768))). + assert pow527 = pow58 * pow526; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 65536))). + assert pow528 = pow58 * pow527; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 16384))). + assert pow529 = pow58 * pow528; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 65536))). + assert pow530 = pow58 * pow529; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 32768))). + assert pow531 = pow58 * pow530; // pow(trace_generator, (safe_div((safe_mult(495, global_values.trace_length)), 65536))). + assert pow532 = pow58 * pow531; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 4096))). + assert pow533 = pow58 * pow532; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 65536))). + assert pow534 = pow58 * pow533; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 32768))). + assert pow535 = pow58 * pow534; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 65536))). + assert pow536 = pow58 * pow535; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 16384))). + assert pow537 = pow58 * pow536; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 65536))). + assert pow538 = pow58 * pow537; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 32768))). + assert pow539 = pow58 * pow538; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 65536))). + assert pow540 = pow58 * pow539; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 8192))). + assert pow541 = pow58 * pow540; // pow(trace_generator, (safe_div((safe_mult(505, global_values.trace_length)), 65536))). + assert pow542 = pow58 * pow541; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 32768))). + assert pow543 = pow58 * pow542; // pow(trace_generator, (safe_div((safe_mult(507, global_values.trace_length)), 65536))). + assert pow544 = pow58 * pow543; // pow(trace_generator, (safe_div((safe_mult(127, global_values.trace_length)), 16384))). + assert pow545 = pow58 * pow544; // pow(trace_generator, (safe_div((safe_mult(509, global_values.trace_length)), 65536))). + assert pow546 = pow67 * pow545; // pow(trace_generator, (safe_div(global_values.trace_length, 128))). + assert pow547 = pow58 * pow546; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 65536))). + assert pow548 = pow58 * pow547; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 32768))). + assert pow549 = pow58 * pow548; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 65536))). + assert pow550 = pow58 * pow549; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 16384))). + assert pow551 = pow58 * pow550; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 65536))). + assert pow552 = pow58 * pow551; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 32768))). + assert pow553 = pow58 * pow552; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 65536))). + assert pow554 = pow58 * pow553; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 8192))). + assert pow555 = pow58 * pow554; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 65536))). + assert pow556 = pow58 * pow555; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 32768))). + assert pow557 = pow58 * pow556; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 65536))). + assert pow558 = pow58 * pow557; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 16384))). + assert pow559 = pow58 * pow558; // pow(trace_generator, (safe_div((safe_mult(525, global_values.trace_length)), 65536))). + assert pow560 = pow58 * pow559; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 32768))). + assert pow561 = pow58 * pow560; // pow(trace_generator, (safe_div((safe_mult(527, global_values.trace_length)), 65536))). + assert pow562 = pow58 * pow561; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 4096))). + assert pow563 = pow58 * pow562; // pow(trace_generator, (safe_div((safe_mult(529, global_values.trace_length)), 65536))). + assert pow564 = pow58 * pow563; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 32768))). + assert pow565 = pow58 * pow564; // pow(trace_generator, (safe_div((safe_mult(531, global_values.trace_length)), 65536))). + assert pow566 = pow58 * pow565; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 16384))). + assert pow567 = pow58 * pow566; // pow(trace_generator, (safe_div((safe_mult(533, global_values.trace_length)), 65536))). + assert pow568 = pow58 * pow567; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 32768))). + assert pow569 = pow58 * pow568; // pow(trace_generator, (safe_div((safe_mult(535, global_values.trace_length)), 65536))). + assert pow570 = pow58 * pow569; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 8192))). + assert pow571 = pow58 * pow570; // pow(trace_generator, (safe_div((safe_mult(537, global_values.trace_length)), 65536))). + assert pow572 = pow58 * pow571; // pow(trace_generator, (safe_div((safe_mult(269, global_values.trace_length)), 32768))). + assert pow573 = pow58 * pow572; // pow(trace_generator, (safe_div((safe_mult(539, global_values.trace_length)), 65536))). + assert pow574 = pow58 * pow573; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 16384))). + assert pow575 = pow58 * pow574; // pow(trace_generator, (safe_div((safe_mult(541, global_values.trace_length)), 65536))). + assert pow576 = pow67 * pow575; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 2048))). + assert pow577 = pow58 * pow576; // pow(trace_generator, (safe_div((safe_mult(545, global_values.trace_length)), 65536))). + assert pow578 = pow58 * pow577; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 32768))). + assert pow579 = pow58 * pow578; // pow(trace_generator, (safe_div((safe_mult(547, global_values.trace_length)), 65536))). + assert pow580 = pow58 * pow579; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 16384))). + assert pow581 = pow58 * pow580; // pow(trace_generator, (safe_div((safe_mult(549, global_values.trace_length)), 65536))). + assert pow582 = pow58 * pow581; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 32768))). + assert pow583 = pow58 * pow582; // pow(trace_generator, (safe_div((safe_mult(551, global_values.trace_length)), 65536))). + assert pow584 = pow58 * pow583; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 8192))). + assert pow585 = pow58 * pow584; // pow(trace_generator, (safe_div((safe_mult(553, global_values.trace_length)), 65536))). + assert pow586 = pow58 * pow585; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 32768))). + assert pow587 = pow58 * pow586; // pow(trace_generator, (safe_div((safe_mult(555, global_values.trace_length)), 65536))). + assert pow588 = pow58 * pow587; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 16384))). + assert pow589 = pow58 * pow588; // pow(trace_generator, (safe_div((safe_mult(557, global_values.trace_length)), 65536))). + assert pow590 = pow58 * pow589; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 32768))). + assert pow591 = pow58 * pow590; // pow(trace_generator, (safe_div((safe_mult(559, global_values.trace_length)), 65536))). + assert pow592 = pow58 * pow591; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 4096))). + assert pow593 = pow58 * pow592; // pow(trace_generator, (safe_div((safe_mult(561, global_values.trace_length)), 65536))). + assert pow594 = pow58 * pow593; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 32768))). + assert pow595 = pow58 * pow594; // pow(trace_generator, (safe_div((safe_mult(563, global_values.trace_length)), 65536))). + assert pow596 = pow58 * pow595; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 16384))). + assert pow597 = pow58 * pow596; // pow(trace_generator, (safe_div((safe_mult(565, global_values.trace_length)), 65536))). + assert pow598 = pow58 * pow597; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 32768))). + assert pow599 = pow58 * pow598; // pow(trace_generator, (safe_div((safe_mult(567, global_values.trace_length)), 65536))). + assert pow600 = pow58 * pow599; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 8192))). + assert pow601 = pow58 * pow600; // pow(trace_generator, (safe_div((safe_mult(569, global_values.trace_length)), 65536))). + assert pow602 = pow58 * pow601; // pow(trace_generator, (safe_div((safe_mult(285, global_values.trace_length)), 32768))). + assert pow603 = pow58 * pow602; // pow(trace_generator, (safe_div((safe_mult(571, global_values.trace_length)), 65536))). + assert pow604 = pow58 * pow603; // pow(trace_generator, (safe_div((safe_mult(143, global_values.trace_length)), 16384))). + assert pow605 = pow58 * pow604; // pow(trace_generator, (safe_div((safe_mult(573, global_values.trace_length)), 65536))). + assert pow606 = pow67 * pow605; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024))). + assert pow607 = pow58 * pow606; // pow(trace_generator, (safe_div((safe_mult(577, global_values.trace_length)), 65536))). + assert pow608 = pow58 * pow607; // pow(trace_generator, (safe_div((safe_mult(289, global_values.trace_length)), 32768))). + assert pow609 = pow58 * pow608; // pow(trace_generator, (safe_div((safe_mult(579, global_values.trace_length)), 65536))). + assert pow610 = pow58 * pow609; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 16384))). + assert pow611 = pow58 * pow610; // pow(trace_generator, (safe_div((safe_mult(581, global_values.trace_length)), 65536))). + assert pow612 = pow58 * pow611; // pow(trace_generator, (safe_div((safe_mult(291, global_values.trace_length)), 32768))). + assert pow613 = pow58 * pow612; // pow(trace_generator, (safe_div((safe_mult(583, global_values.trace_length)), 65536))). + assert pow614 = pow58 * pow613; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 8192))). + assert pow615 = pow58 * pow614; // pow(trace_generator, (safe_div((safe_mult(585, global_values.trace_length)), 65536))). + assert pow616 = pow58 * pow615; // pow(trace_generator, (safe_div((safe_mult(293, global_values.trace_length)), 32768))). + assert pow617 = pow58 * pow616; // pow(trace_generator, (safe_div((safe_mult(587, global_values.trace_length)), 65536))). + assert pow618 = pow58 * pow617; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 16384))). + assert pow619 = pow58 * pow618; // pow(trace_generator, (safe_div((safe_mult(589, global_values.trace_length)), 65536))). + assert pow620 = pow58 * pow619; // pow(trace_generator, (safe_div((safe_mult(295, global_values.trace_length)), 32768))). + assert pow621 = pow58 * pow620; // pow(trace_generator, (safe_div((safe_mult(591, global_values.trace_length)), 65536))). + assert pow622 = pow58 * pow621; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 4096))). + assert pow623 = pow58 * pow622; // pow(trace_generator, (safe_div((safe_mult(593, global_values.trace_length)), 65536))). + assert pow624 = pow58 * pow623; // pow(trace_generator, (safe_div((safe_mult(297, global_values.trace_length)), 32768))). + assert pow625 = pow58 * pow624; // pow(trace_generator, (safe_div((safe_mult(595, global_values.trace_length)), 65536))). + assert pow626 = pow58 * pow625; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 16384))). + assert pow627 = pow58 * pow626; // pow(trace_generator, (safe_div((safe_mult(597, global_values.trace_length)), 65536))). + assert pow628 = pow58 * pow627; // pow(trace_generator, (safe_div((safe_mult(299, global_values.trace_length)), 32768))). + assert pow629 = pow58 * pow628; // pow(trace_generator, (safe_div((safe_mult(599, global_values.trace_length)), 65536))). + assert pow630 = pow58 * pow629; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 8192))). + assert pow631 = pow58 * pow630; // pow(trace_generator, (safe_div((safe_mult(601, global_values.trace_length)), 65536))). + assert pow632 = pow58 * pow631; // pow(trace_generator, (safe_div((safe_mult(301, global_values.trace_length)), 32768))). + assert pow633 = pow58 * pow632; // pow(trace_generator, (safe_div((safe_mult(603, global_values.trace_length)), 65536))). + assert pow634 = pow58 * pow633; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 16384))). + assert pow635 = pow58 * pow634; // pow(trace_generator, (safe_div((safe_mult(605, global_values.trace_length)), 65536))). + assert pow636 = pow67 * pow635; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 2048))). + assert pow637 = pow58 * pow636; // pow(trace_generator, (safe_div((safe_mult(609, global_values.trace_length)), 65536))). + assert pow638 = pow58 * pow637; // pow(trace_generator, (safe_div((safe_mult(305, global_values.trace_length)), 32768))). + assert pow639 = pow58 * pow638; // pow(trace_generator, (safe_div((safe_mult(611, global_values.trace_length)), 65536))). + assert pow640 = pow58 * pow639; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 16384))). + assert pow641 = pow58 * pow640; // pow(trace_generator, (safe_div((safe_mult(613, global_values.trace_length)), 65536))). + assert pow642 = pow58 * pow641; // pow(trace_generator, (safe_div((safe_mult(307, global_values.trace_length)), 32768))). + assert pow643 = pow58 * pow642; // pow(trace_generator, (safe_div((safe_mult(615, global_values.trace_length)), 65536))). + assert pow644 = pow58 * pow643; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 8192))). + assert pow645 = pow58 * pow644; // pow(trace_generator, (safe_div((safe_mult(617, global_values.trace_length)), 65536))). + assert pow646 = pow58 * pow645; // pow(trace_generator, (safe_div((safe_mult(309, global_values.trace_length)), 32768))). + assert pow647 = pow58 * pow646; // pow(trace_generator, (safe_div((safe_mult(619, global_values.trace_length)), 65536))). + assert pow648 = pow58 * pow647; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 16384))). + assert pow649 = pow58 * pow648; // pow(trace_generator, (safe_div((safe_mult(621, global_values.trace_length)), 65536))). + assert pow650 = pow58 * pow649; // pow(trace_generator, (safe_div((safe_mult(311, global_values.trace_length)), 32768))). + assert pow651 = pow58 * pow650; // pow(trace_generator, (safe_div((safe_mult(623, global_values.trace_length)), 65536))). + assert pow652 = pow58 * pow651; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 4096))). + assert pow653 = pow58 * pow652; // pow(trace_generator, (safe_div((safe_mult(625, global_values.trace_length)), 65536))). + assert pow654 = pow58 * pow653; // pow(trace_generator, (safe_div((safe_mult(313, global_values.trace_length)), 32768))). + assert pow655 = pow58 * pow654; // pow(trace_generator, (safe_div((safe_mult(627, global_values.trace_length)), 65536))). + assert pow656 = pow58 * pow655; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 16384))). + assert pow657 = pow58 * pow656; // pow(trace_generator, (safe_div((safe_mult(629, global_values.trace_length)), 65536))). + assert pow658 = pow58 * pow657; // pow(trace_generator, (safe_div((safe_mult(315, global_values.trace_length)), 32768))). + assert pow659 = pow58 * pow658; // pow(trace_generator, (safe_div((safe_mult(631, global_values.trace_length)), 65536))). + assert pow660 = pow58 * pow659; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 8192))). + assert pow661 = pow58 * pow660; // pow(trace_generator, (safe_div((safe_mult(633, global_values.trace_length)), 65536))). + assert pow662 = pow58 * pow661; // pow(trace_generator, (safe_div((safe_mult(317, global_values.trace_length)), 32768))). + assert pow663 = pow58 * pow662; // pow(trace_generator, (safe_div((safe_mult(635, global_values.trace_length)), 65536))). + assert pow664 = pow58 * pow663; // pow(trace_generator, (safe_div((safe_mult(159, global_values.trace_length)), 16384))). + assert pow665 = pow58 * pow664; // pow(trace_generator, (safe_div((safe_mult(637, global_values.trace_length)), 65536))). + assert pow666 = pow67 * pow665; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512))). + assert pow667 = pow58 * pow666; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 65536))). + assert pow668 = pow58 * pow667; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 32768))). + assert pow669 = pow58 * pow668; // pow(trace_generator, (safe_div((safe_mult(643, global_values.trace_length)), 65536))). + assert pow670 = pow58 * pow669; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 16384))). + assert pow671 = pow58 * pow670; // pow(trace_generator, (safe_div((safe_mult(645, global_values.trace_length)), 65536))). + assert pow672 = pow58 * pow671; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 32768))). + assert pow673 = pow58 * pow672; // pow(trace_generator, (safe_div((safe_mult(647, global_values.trace_length)), 65536))). + assert pow674 = pow58 * pow673; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 8192))). + assert pow675 = pow58 * pow674; // pow(trace_generator, (safe_div((safe_mult(649, global_values.trace_length)), 65536))). + assert pow676 = pow58 * pow675; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 32768))). + assert pow677 = pow58 * pow676; // pow(trace_generator, (safe_div((safe_mult(651, global_values.trace_length)), 65536))). + assert pow678 = pow58 * pow677; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 16384))). + assert pow679 = pow58 * pow678; // pow(trace_generator, (safe_div((safe_mult(653, global_values.trace_length)), 65536))). + assert pow680 = pow58 * pow679; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 32768))). + assert pow681 = pow58 * pow680; // pow(trace_generator, (safe_div((safe_mult(655, global_values.trace_length)), 65536))). + assert pow682 = pow58 * pow681; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 4096))). + assert pow683 = pow58 * pow682; // pow(trace_generator, (safe_div((safe_mult(657, global_values.trace_length)), 65536))). + assert pow684 = pow58 * pow683; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 32768))). + assert pow685 = pow58 * pow684; // pow(trace_generator, (safe_div((safe_mult(659, global_values.trace_length)), 65536))). + assert pow686 = pow58 * pow685; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 16384))). + assert pow687 = pow58 * pow686; // pow(trace_generator, (safe_div((safe_mult(661, global_values.trace_length)), 65536))). + assert pow688 = pow58 * pow687; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 32768))). + assert pow689 = pow58 * pow688; // pow(trace_generator, (safe_div((safe_mult(663, global_values.trace_length)), 65536))). + assert pow690 = pow58 * pow689; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 8192))). + assert pow691 = pow58 * pow690; // pow(trace_generator, (safe_div((safe_mult(665, global_values.trace_length)), 65536))). + assert pow692 = pow58 * pow691; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 32768))). + assert pow693 = pow58 * pow692; // pow(trace_generator, (safe_div((safe_mult(667, global_values.trace_length)), 65536))). + assert pow694 = pow58 * pow693; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 16384))). + assert pow695 = pow58 * pow694; // pow(trace_generator, (safe_div((safe_mult(669, global_values.trace_length)), 65536))). + assert pow696 = pow67 * pow695; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 2048))). + assert pow697 = pow58 * pow696; // pow(trace_generator, (safe_div((safe_mult(673, global_values.trace_length)), 65536))). + assert pow698 = pow58 * pow697; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 32768))). + assert pow699 = pow58 * pow698; // pow(trace_generator, (safe_div((safe_mult(675, global_values.trace_length)), 65536))). + assert pow700 = pow58 * pow699; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 16384))). + assert pow701 = pow58 * pow700; // pow(trace_generator, (safe_div((safe_mult(677, global_values.trace_length)), 65536))). + assert pow702 = pow58 * pow701; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 32768))). + assert pow703 = pow58 * pow702; // pow(trace_generator, (safe_div((safe_mult(679, global_values.trace_length)), 65536))). + assert pow704 = pow58 * pow703; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 8192))). + assert pow705 = pow58 * pow704; // pow(trace_generator, (safe_div((safe_mult(681, global_values.trace_length)), 65536))). + assert pow706 = pow58 * pow705; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 32768))). + assert pow707 = pow58 * pow706; // pow(trace_generator, (safe_div((safe_mult(683, global_values.trace_length)), 65536))). + assert pow708 = pow58 * pow707; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 16384))). + assert pow709 = pow58 * pow708; // pow(trace_generator, (safe_div((safe_mult(685, global_values.trace_length)), 65536))). + assert pow710 = pow58 * pow709; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 32768))). + assert pow711 = pow58 * pow710; // pow(trace_generator, (safe_div((safe_mult(687, global_values.trace_length)), 65536))). + assert pow712 = pow58 * pow711; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 4096))). + assert pow713 = pow58 * pow712; // pow(trace_generator, (safe_div((safe_mult(689, global_values.trace_length)), 65536))). + assert pow714 = pow58 * pow713; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 32768))). + assert pow715 = pow58 * pow714; // pow(trace_generator, (safe_div((safe_mult(691, global_values.trace_length)), 65536))). + assert pow716 = pow58 * pow715; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 16384))). + assert pow717 = pow58 * pow716; // pow(trace_generator, (safe_div((safe_mult(693, global_values.trace_length)), 65536))). + assert pow718 = pow58 * pow717; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 32768))). + assert pow719 = pow58 * pow718; // pow(trace_generator, (safe_div((safe_mult(695, global_values.trace_length)), 65536))). + assert pow720 = pow58 * pow719; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 8192))). + assert pow721 = pow58 * pow720; // pow(trace_generator, (safe_div((safe_mult(697, global_values.trace_length)), 65536))). + assert pow722 = pow58 * pow721; // pow(trace_generator, (safe_div((safe_mult(349, global_values.trace_length)), 32768))). + assert pow723 = pow58 * pow722; // pow(trace_generator, (safe_div((safe_mult(699, global_values.trace_length)), 65536))). + assert pow724 = pow58 * pow723; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 16384))). + assert pow725 = pow58 * pow724; // pow(trace_generator, (safe_div((safe_mult(701, global_values.trace_length)), 65536))). + assert pow726 = pow67 * pow725; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024))). + assert pow727 = pow58 * pow726; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 65536))). + assert pow728 = pow58 * pow727; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 32768))). + assert pow729 = pow58 * pow728; // pow(trace_generator, (safe_div((safe_mult(707, global_values.trace_length)), 65536))). + assert pow730 = pow58 * pow729; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 16384))). + assert pow731 = pow58 * pow730; // pow(trace_generator, (safe_div((safe_mult(709, global_values.trace_length)), 65536))). + assert pow732 = pow58 * pow731; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 32768))). + assert pow733 = pow58 * pow732; // pow(trace_generator, (safe_div((safe_mult(711, global_values.trace_length)), 65536))). + assert pow734 = pow58 * pow733; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 8192))). + assert pow735 = pow58 * pow734; // pow(trace_generator, (safe_div((safe_mult(713, global_values.trace_length)), 65536))). + assert pow736 = pow58 * pow735; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 32768))). + assert pow737 = pow58 * pow736; // pow(trace_generator, (safe_div((safe_mult(715, global_values.trace_length)), 65536))). + assert pow738 = pow58 * pow737; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 16384))). + assert pow739 = pow58 * pow738; // pow(trace_generator, (safe_div((safe_mult(717, global_values.trace_length)), 65536))). + assert pow740 = pow58 * pow739; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 32768))). + assert pow741 = pow58 * pow740; // pow(trace_generator, (safe_div((safe_mult(719, global_values.trace_length)), 65536))). + assert pow742 = pow58 * pow741; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 4096))). + assert pow743 = pow58 * pow742; // pow(trace_generator, (safe_div((safe_mult(721, global_values.trace_length)), 65536))). + assert pow744 = pow58 * pow743; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 32768))). + assert pow745 = pow58 * pow744; // pow(trace_generator, (safe_div((safe_mult(723, global_values.trace_length)), 65536))). + assert pow746 = pow58 * pow745; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 16384))). + assert pow747 = pow58 * pow746; // pow(trace_generator, (safe_div((safe_mult(725, global_values.trace_length)), 65536))). + assert pow748 = pow58 * pow747; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 32768))). + assert pow749 = pow58 * pow748; // pow(trace_generator, (safe_div((safe_mult(727, global_values.trace_length)), 65536))). + assert pow750 = pow58 * pow749; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 8192))). + assert pow751 = pow58 * pow750; // pow(trace_generator, (safe_div((safe_mult(729, global_values.trace_length)), 65536))). + assert pow752 = pow58 * pow751; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 32768))). + assert pow753 = pow58 * pow752; // pow(trace_generator, (safe_div((safe_mult(731, global_values.trace_length)), 65536))). + assert pow754 = pow58 * pow753; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 16384))). + assert pow755 = pow58 * pow754; // pow(trace_generator, (safe_div((safe_mult(733, global_values.trace_length)), 65536))). + assert pow756 = pow67 * pow755; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 2048))). + assert pow757 = pow58 * pow756; // pow(trace_generator, (safe_div((safe_mult(737, global_values.trace_length)), 65536))). + assert pow758 = pow58 * pow757; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 32768))). + assert pow759 = pow58 * pow758; // pow(trace_generator, (safe_div((safe_mult(739, global_values.trace_length)), 65536))). + assert pow760 = pow58 * pow759; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 16384))). + assert pow761 = pow58 * pow760; // pow(trace_generator, (safe_div((safe_mult(741, global_values.trace_length)), 65536))). + assert pow762 = pow58 * pow761; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 32768))). + assert pow763 = pow58 * pow762; // pow(trace_generator, (safe_div((safe_mult(743, global_values.trace_length)), 65536))). + assert pow764 = pow58 * pow763; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 8192))). + assert pow765 = pow58 * pow764; // pow(trace_generator, (safe_div((safe_mult(745, global_values.trace_length)), 65536))). + assert pow766 = pow58 * pow765; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 32768))). + assert pow767 = pow58 * pow766; // pow(trace_generator, (safe_div((safe_mult(747, global_values.trace_length)), 65536))). + assert pow768 = pow58 * pow767; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 16384))). + assert pow769 = pow58 * pow768; // pow(trace_generator, (safe_div((safe_mult(749, global_values.trace_length)), 65536))). + assert pow770 = pow58 * pow769; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 32768))). + assert pow771 = pow58 * pow770; // pow(trace_generator, (safe_div((safe_mult(751, global_values.trace_length)), 65536))). + assert pow772 = pow58 * pow771; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 4096))). + assert pow773 = pow58 * pow772; // pow(trace_generator, (safe_div((safe_mult(753, global_values.trace_length)), 65536))). + assert pow774 = pow58 * pow773; // pow(trace_generator, (safe_div((safe_mult(377, global_values.trace_length)), 32768))). + assert pow775 = pow58 * pow774; // pow(trace_generator, (safe_div((safe_mult(755, global_values.trace_length)), 65536))). + assert pow776 = pow58 * pow775; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 16384))). + assert pow777 = pow58 * pow776; // pow(trace_generator, (safe_div((safe_mult(757, global_values.trace_length)), 65536))). + assert pow778 = pow58 * pow777; // pow(trace_generator, (safe_div((safe_mult(379, global_values.trace_length)), 32768))). + assert pow779 = pow58 * pow778; // pow(trace_generator, (safe_div((safe_mult(759, global_values.trace_length)), 65536))). + assert pow780 = pow58 * pow779; // pow(trace_generator, (safe_div((safe_mult(95, global_values.trace_length)), 8192))). + assert pow781 = pow58 * pow780; // pow(trace_generator, (safe_div((safe_mult(761, global_values.trace_length)), 65536))). + assert pow782 = pow58 * pow781; // pow(trace_generator, (safe_div((safe_mult(381, global_values.trace_length)), 32768))). + assert pow783 = pow58 * pow782; // pow(trace_generator, (safe_div((safe_mult(763, global_values.trace_length)), 65536))). + assert pow784 = pow58 * pow783; // pow(trace_generator, (safe_div((safe_mult(191, global_values.trace_length)), 16384))). + assert pow785 = pow58 * pow784; // pow(trace_generator, (safe_div((safe_mult(765, global_values.trace_length)), 65536))). + assert pow786 = pow67 * pow785; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256))). + assert pow787 = pow58 * pow786; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 65536))). + assert pow788 = pow58 * pow787; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 32768))). + assert pow789 = pow58 * pow788; // pow(trace_generator, (safe_div((safe_mult(771, global_values.trace_length)), 65536))). + assert pow790 = pow58 * pow789; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 16384))). + assert pow791 = pow58 * pow790; // pow(trace_generator, (safe_div((safe_mult(773, global_values.trace_length)), 65536))). + assert pow792 = pow58 * pow791; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 32768))). + assert pow793 = pow58 * pow792; // pow(trace_generator, (safe_div((safe_mult(775, global_values.trace_length)), 65536))). + assert pow794 = pow58 * pow793; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 8192))). + assert pow795 = pow58 * pow794; // pow(trace_generator, (safe_div((safe_mult(777, global_values.trace_length)), 65536))). + assert pow796 = pow58 * pow795; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 32768))). + assert pow797 = pow58 * pow796; // pow(trace_generator, (safe_div((safe_mult(779, global_values.trace_length)), 65536))). + assert pow798 = pow58 * pow797; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 16384))). + assert pow799 = pow58 * pow798; // pow(trace_generator, (safe_div((safe_mult(781, global_values.trace_length)), 65536))). + assert pow800 = pow58 * pow799; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 32768))). + assert pow801 = pow58 * pow800; // pow(trace_generator, (safe_div((safe_mult(783, global_values.trace_length)), 65536))). + assert pow802 = pow58 * pow801; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 4096))). + assert pow803 = pow58 * pow802; // pow(trace_generator, (safe_div((safe_mult(785, global_values.trace_length)), 65536))). + assert pow804 = pow58 * pow803; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 32768))). + assert pow805 = pow58 * pow804; // pow(trace_generator, (safe_div((safe_mult(787, global_values.trace_length)), 65536))). + assert pow806 = pow58 * pow805; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 16384))). + assert pow807 = pow58 * pow806; // pow(trace_generator, (safe_div((safe_mult(789, global_values.trace_length)), 65536))). + assert pow808 = pow58 * pow807; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 32768))). + assert pow809 = pow58 * pow808; // pow(trace_generator, (safe_div((safe_mult(791, global_values.trace_length)), 65536))). + assert pow810 = pow58 * pow809; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 8192))). + assert pow811 = pow58 * pow810; // pow(trace_generator, (safe_div((safe_mult(793, global_values.trace_length)), 65536))). + assert pow812 = pow58 * pow811; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 32768))). + assert pow813 = pow58 * pow812; // pow(trace_generator, (safe_div((safe_mult(795, global_values.trace_length)), 65536))). + assert pow814 = pow58 * pow813; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 16384))). + assert pow815 = pow58 * pow814; // pow(trace_generator, (safe_div((safe_mult(797, global_values.trace_length)), 65536))). + assert pow816 = pow99 * pow815; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024))). + assert pow817 = pow126 * pow816; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512))). + assert pow818 = pow126 * pow817; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024))). + assert pow819 = pow126 * pow818; // pow(trace_generator, (safe_div(global_values.trace_length, 64))). + assert pow820 = pow58 * pow819; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 65536))). + assert pow821 = pow58 * pow820; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 32768))). + assert pow822 = pow58 * pow821; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 65536))). + assert pow823 = pow58 * pow822; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 16384))). + assert pow824 = pow58 * pow823; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 65536))). + assert pow825 = pow58 * pow824; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 32768))). + assert pow826 = pow58 * pow825; // pow(trace_generator, (safe_div((safe_mult(1031, global_values.trace_length)), 65536))). + assert pow827 = pow58 * pow826; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 8192))). + assert pow828 = pow58 * pow827; // pow(trace_generator, (safe_div((safe_mult(1033, global_values.trace_length)), 65536))). + assert pow829 = pow58 * pow828; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 32768))). + assert pow830 = pow58 * pow829; // pow(trace_generator, (safe_div((safe_mult(1035, global_values.trace_length)), 65536))). + assert pow831 = pow58 * pow830; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 16384))). + assert pow832 = pow58 * pow831; // pow(trace_generator, (safe_div((safe_mult(1037, global_values.trace_length)), 65536))). + assert pow833 = pow58 * pow832; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 32768))). + assert pow834 = pow58 * pow833; // pow(trace_generator, (safe_div((safe_mult(1039, global_values.trace_length)), 65536))). + assert pow835 = pow58 * pow834; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 4096))). + assert pow836 = pow58 * pow835; // pow(trace_generator, (safe_div((safe_mult(1041, global_values.trace_length)), 65536))). + assert pow837 = pow58 * pow836; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 32768))). + assert pow838 = pow58 * pow837; // pow(trace_generator, (safe_div((safe_mult(1043, global_values.trace_length)), 65536))). + assert pow839 = pow58 * pow838; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 16384))). + assert pow840 = pow58 * pow839; // pow(trace_generator, (safe_div((safe_mult(1045, global_values.trace_length)), 65536))). + assert pow841 = pow58 * pow840; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 32768))). + assert pow842 = pow58 * pow841; // pow(trace_generator, (safe_div((safe_mult(1047, global_values.trace_length)), 65536))). + assert pow843 = pow105 * pow842; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024))). + assert pow844 = pow126 * pow843; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512))). + assert pow845 = pow126 * pow844; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024))). + assert pow846 = pow126 * pow845; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256))). + assert pow847 = pow126 * pow846; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024))). + assert pow848 = pow126 * pow847; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512))). + assert pow849 = pow126 * pow848; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024))). + assert pow850 = pow606 * pow849; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). + assert pow851 = pow58 * pow850; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 65536))). + assert pow852 = pow58 * pow851; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 32768))). + assert pow853 = pow58 * pow852; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 65536))). + assert pow854 = pow58 * pow853; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 16384))). + assert pow855 = pow58 * pow854; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 65536))). + assert pow856 = pow58 * pow855; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 32768))). + assert pow857 = pow58 * pow856; // pow(trace_generator, (safe_div((safe_mult(2055, global_values.trace_length)), 65536))). + assert pow858 = pow58 * pow857; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 8192))). + assert pow859 = pow58 * pow858; // pow(trace_generator, (safe_div((safe_mult(2057, global_values.trace_length)), 65536))). + assert pow860 = pow58 * pow859; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 32768))). + assert pow861 = pow58 * pow860; // pow(trace_generator, (safe_div((safe_mult(2059, global_values.trace_length)), 65536))). + assert pow862 = pow58 * pow861; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 16384))). + assert pow863 = pow58 * pow862; // pow(trace_generator, (safe_div((safe_mult(2061, global_values.trace_length)), 65536))). + assert pow864 = pow58 * pow863; // pow(trace_generator, (safe_div((safe_mult(1031, global_values.trace_length)), 32768))). + assert pow865 = pow58 * pow864; // pow(trace_generator, (safe_div((safe_mult(2063, global_values.trace_length)), 65536))). + assert pow866 = pow58 * pow865; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 4096))). + assert pow867 = pow58 * pow866; // pow(trace_generator, (safe_div((safe_mult(2065, global_values.trace_length)), 65536))). + assert pow868 = pow58 * pow867; // pow(trace_generator, (safe_div((safe_mult(1033, global_values.trace_length)), 32768))). + assert pow869 = pow58 * pow868; // pow(trace_generator, (safe_div((safe_mult(2067, global_values.trace_length)), 65536))). + assert pow870 = pow58 * pow869; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 16384))). + assert pow871 = pow58 * pow870; // pow(trace_generator, (safe_div((safe_mult(2069, global_values.trace_length)), 65536))). + assert pow872 = pow58 * pow871; // pow(trace_generator, (safe_div((safe_mult(1035, global_values.trace_length)), 32768))). + assert pow873 = pow58 * pow872; // pow(trace_generator, (safe_div((safe_mult(2071, global_values.trace_length)), 65536))). + assert pow874 = pow105 * pow873; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow875 = pow126 * pow874; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div(global_values.trace_length, 32))). + assert pow876 = pow126 * pow875; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow877 = pow126 * pow876; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div(global_values.trace_length, 32))). + assert pow878 = pow126 * pow877; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow879 = pow126 * pow878; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). + assert pow880 = pow126 * pow879; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow881 = pow126 * pow880; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div(global_values.trace_length, 32))). + assert pow882 = pow126 * pow881; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow883 = pow126 * pow882; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). + assert pow884 = pow126 * pow883; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow885 = pow126 * pow884; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 32))). + assert pow886 = pow126 * pow885; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow887 = pow126 * pow886; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). + assert pow888 = pow126 * pow887; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow889 = pow126 * pow888; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div(global_values.trace_length, 32))). + assert pow890 = pow58 * pow889; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 65536))). + assert pow891 = pow58 * pow890; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 32768))). + assert pow892 = pow58 * pow891; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 65536))). + assert pow893 = pow58 * pow892; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 16384))). + assert pow894 = pow58 * pow893; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 65536))). + assert pow895 = pow58 * pow894; // pow(trace_generator, (safe_div((safe_mult(1539, global_values.trace_length)), 32768))). + assert pow896 = pow58 * pow895; // pow(trace_generator, (safe_div((safe_mult(3079, global_values.trace_length)), 65536))). + assert pow897 = pow58 * pow896; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 8192))). + assert pow898 = pow58 * pow897; // pow(trace_generator, (safe_div((safe_mult(3081, global_values.trace_length)), 65536))). + assert pow899 = pow58 * pow898; // pow(trace_generator, (safe_div((safe_mult(1541, global_values.trace_length)), 32768))). + assert pow900 = pow58 * pow899; // pow(trace_generator, (safe_div((safe_mult(3083, global_values.trace_length)), 65536))). + assert pow901 = pow58 * pow900; // pow(trace_generator, (safe_div((safe_mult(771, global_values.trace_length)), 16384))). + assert pow902 = pow58 * pow901; // pow(trace_generator, (safe_div((safe_mult(3085, global_values.trace_length)), 65536))). + assert pow903 = pow58 * pow902; // pow(trace_generator, (safe_div((safe_mult(1543, global_values.trace_length)), 32768))). + assert pow904 = pow58 * pow903; // pow(trace_generator, (safe_div((safe_mult(3087, global_values.trace_length)), 65536))). + assert pow905 = pow58 * pow904; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 4096))). + assert pow906 = pow58 * pow905; // pow(trace_generator, (safe_div((safe_mult(3089, global_values.trace_length)), 65536))). + assert pow907 = pow58 * pow906; // pow(trace_generator, (safe_div((safe_mult(1545, global_values.trace_length)), 32768))). + assert pow908 = pow58 * pow907; // pow(trace_generator, (safe_div((safe_mult(3091, global_values.trace_length)), 65536))). + assert pow909 = pow58 * pow908; // pow(trace_generator, (safe_div((safe_mult(773, global_values.trace_length)), 16384))). + assert pow910 = pow58 * pow909; // pow(trace_generator, (safe_div((safe_mult(3093, global_values.trace_length)), 65536))). + assert pow911 = pow58 * pow910; // pow(trace_generator, (safe_div((safe_mult(1547, global_values.trace_length)), 32768))). + assert pow912 = pow58 * pow911; // pow(trace_generator, (safe_div((safe_mult(3095, global_values.trace_length)), 65536))). + assert pow913 = pow105 * pow912; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow914 = pow126 * pow913; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). + assert pow915 = pow126 * pow914; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow916 = pow126 * pow915; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 32))). + assert pow917 = pow126 * pow916; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow918 = pow126 * pow917; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 32))). + assert pow919 = pow126 * pow918; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 32))). + assert pow920 = pow606 * pow919; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). + assert pow921 = pow58 * pow920; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 65536))). + assert pow922 = pow58 * pow921; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 32768))). + assert pow923 = pow58 * pow922; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 65536))). + assert pow924 = pow58 * pow923; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 16384))). + assert pow925 = pow58 * pow924; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 65536))). + assert pow926 = pow58 * pow925; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 32768))). + assert pow927 = pow58 * pow926; // pow(trace_generator, (safe_div((safe_mult(4103, global_values.trace_length)), 65536))). + assert pow928 = pow58 * pow927; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 8192))). + assert pow929 = pow58 * pow928; // pow(trace_generator, (safe_div((safe_mult(4105, global_values.trace_length)), 65536))). + assert pow930 = pow58 * pow929; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 32768))). + assert pow931 = pow58 * pow930; // pow(trace_generator, (safe_div((safe_mult(4107, global_values.trace_length)), 65536))). + assert pow932 = pow58 * pow931; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 16384))). + assert pow933 = pow58 * pow932; // pow(trace_generator, (safe_div((safe_mult(4109, global_values.trace_length)), 65536))). + assert pow934 = pow58 * pow933; // pow(trace_generator, (safe_div((safe_mult(2055, global_values.trace_length)), 32768))). + assert pow935 = pow58 * pow934; // pow(trace_generator, (safe_div((safe_mult(4111, global_values.trace_length)), 65536))). + assert pow936 = pow58 * pow935; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 4096))). + assert pow937 = pow58 * pow936; // pow(trace_generator, (safe_div((safe_mult(4113, global_values.trace_length)), 65536))). + assert pow938 = pow58 * pow937; // pow(trace_generator, (safe_div((safe_mult(2057, global_values.trace_length)), 32768))). + assert pow939 = pow58 * pow938; // pow(trace_generator, (safe_div((safe_mult(4115, global_values.trace_length)), 65536))). + assert pow940 = pow58 * pow939; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 16384))). + assert pow941 = pow58 * pow940; // pow(trace_generator, (safe_div((safe_mult(4117, global_values.trace_length)), 65536))). + assert pow942 = pow58 * pow941; // pow(trace_generator, (safe_div((safe_mult(2059, global_values.trace_length)), 32768))). + assert pow943 = pow58 * pow942; // pow(trace_generator, (safe_div((safe_mult(4119, global_values.trace_length)), 65536))). + assert pow944 = pow105 * pow943; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow945 = pow126 * pow944; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div(global_values.trace_length, 16))). + assert pow946 = pow126 * pow945; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow947 = pow126 * pow946; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div(global_values.trace_length, 16))). + assert pow948 = pow126 * pow947; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow949 = pow126 * pow948; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). + assert pow950 = pow126 * pow949; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow951 = pow126 * pow950; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div(global_values.trace_length, 16))). + assert pow952 = pow126 * pow951; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow953 = pow126 * pow952; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). + assert pow954 = pow126 * pow953; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow955 = pow126 * pow954; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 16))). + assert pow956 = pow126 * pow955; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow957 = pow126 * pow956; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). + assert pow958 = pow126 * pow957; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow959 = pow126 * pow958; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div(global_values.trace_length, 16))). + assert pow960 = pow58 * pow959; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 65536))). + assert pow961 = pow58 * pow960; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 32768))). + assert pow962 = pow58 * pow961; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 65536))). + assert pow963 = pow58 * pow962; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 16384))). + assert pow964 = pow58 * pow963; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 65536))). + assert pow965 = pow58 * pow964; // pow(trace_generator, (safe_div((safe_mult(2563, global_values.trace_length)), 32768))). + assert pow966 = pow58 * pow965; // pow(trace_generator, (safe_div((safe_mult(5127, global_values.trace_length)), 65536))). + assert pow967 = pow58 * pow966; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 8192))). + assert pow968 = pow58 * pow967; // pow(trace_generator, (safe_div((safe_mult(5129, global_values.trace_length)), 65536))). + assert pow969 = pow58 * pow968; // pow(trace_generator, (safe_div((safe_mult(2565, global_values.trace_length)), 32768))). + assert pow970 = pow58 * pow969; // pow(trace_generator, (safe_div((safe_mult(5131, global_values.trace_length)), 65536))). + assert pow971 = pow58 * pow970; // pow(trace_generator, (safe_div((safe_mult(1283, global_values.trace_length)), 16384))). + assert pow972 = pow58 * pow971; // pow(trace_generator, (safe_div((safe_mult(5133, global_values.trace_length)), 65536))). + assert pow973 = pow58 * pow972; // pow(trace_generator, (safe_div((safe_mult(2567, global_values.trace_length)), 32768))). + assert pow974 = pow58 * pow973; // pow(trace_generator, (safe_div((safe_mult(5135, global_values.trace_length)), 65536))). + assert pow975 = pow58 * pow974; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 4096))). + assert pow976 = pow58 * pow975; // pow(trace_generator, (safe_div((safe_mult(5137, global_values.trace_length)), 65536))). + assert pow977 = pow58 * pow976; // pow(trace_generator, (safe_div((safe_mult(2569, global_values.trace_length)), 32768))). + assert pow978 = pow58 * pow977; // pow(trace_generator, (safe_div((safe_mult(5139, global_values.trace_length)), 65536))). + assert pow979 = pow58 * pow978; // pow(trace_generator, (safe_div((safe_mult(1285, global_values.trace_length)), 16384))). + assert pow980 = pow58 * pow979; // pow(trace_generator, (safe_div((safe_mult(5141, global_values.trace_length)), 65536))). + assert pow981 = pow58 * pow980; // pow(trace_generator, (safe_div((safe_mult(2571, global_values.trace_length)), 32768))). + assert pow982 = pow58 * pow981; // pow(trace_generator, (safe_div((safe_mult(5143, global_values.trace_length)), 65536))). + assert pow983 = pow105 * pow982; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow984 = pow126 * pow983; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). + assert pow985 = pow126 * pow984; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow986 = pow126 * pow985; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 16))). + assert pow987 = pow126 * pow986; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow988 = pow126 * pow987; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 16))). + assert pow989 = pow126 * pow988; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 16))). + assert pow990 = pow606 * pow989; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). + assert pow991 = pow58 * pow990; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 65536))). + assert pow992 = pow58 * pow991; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 32768))). + assert pow993 = pow58 * pow992; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 65536))). + assert pow994 = pow58 * pow993; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 16384))). + assert pow995 = pow58 * pow994; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 65536))). + assert pow996 = pow58 * pow995; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 32768))). + assert pow997 = pow58 * pow996; // pow(trace_generator, (safe_div((safe_mult(6151, global_values.trace_length)), 65536))). + assert pow998 = pow58 * pow997; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 8192))). + assert pow999 = pow58 * pow998; // pow(trace_generator, (safe_div((safe_mult(6153, global_values.trace_length)), 65536))). + assert pow1000 = pow58 * pow999; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 32768))). + assert pow1001 = pow58 * pow1000; // pow(trace_generator, (safe_div((safe_mult(6155, global_values.trace_length)), 65536))). + assert pow1002 = pow58 * pow1001; // pow(trace_generator, (safe_div((safe_mult(1539, global_values.trace_length)), 16384))). + assert pow1003 = pow58 * pow1002; // pow(trace_generator, (safe_div((safe_mult(6157, global_values.trace_length)), 65536))). + assert pow1004 = pow58 * pow1003; // pow(trace_generator, (safe_div((safe_mult(3079, global_values.trace_length)), 32768))). + assert pow1005 = pow58 * pow1004; // pow(trace_generator, (safe_div((safe_mult(6159, global_values.trace_length)), 65536))). + assert pow1006 = pow58 * pow1005; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 4096))). + assert pow1007 = pow58 * pow1006; // pow(trace_generator, (safe_div((safe_mult(6161, global_values.trace_length)), 65536))). + assert pow1008 = pow58 * pow1007; // pow(trace_generator, (safe_div((safe_mult(3081, global_values.trace_length)), 32768))). + assert pow1009 = pow58 * pow1008; // pow(trace_generator, (safe_div((safe_mult(6163, global_values.trace_length)), 65536))). + assert pow1010 = pow58 * pow1009; // pow(trace_generator, (safe_div((safe_mult(1541, global_values.trace_length)), 16384))). + assert pow1011 = pow58 * pow1010; // pow(trace_generator, (safe_div((safe_mult(6165, global_values.trace_length)), 65536))). + assert pow1012 = pow58 * pow1011; // pow(trace_generator, (safe_div((safe_mult(3083, global_values.trace_length)), 32768))). + assert pow1013 = pow58 * pow1012; // pow(trace_generator, (safe_div((safe_mult(6167, global_values.trace_length)), 65536))). + assert pow1014 = pow819 * pow990; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). + assert pow1015 = pow819 * pow1014; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). + assert pow1016 = pow819 * pow1015; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). + assert pow1017 = pow58 * pow1014; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 65536))). + assert pow1018 = pow58 * pow1015; // pow(trace_generator, (safe_div((safe_mult(8193, global_values.trace_length)), 65536))). + assert pow1019 = pow58 * pow1016; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 65536))). + assert pow1020 = pow58 * pow1017; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 32768))). + assert pow1021 = pow58 * pow1018; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 32768))). + assert pow1022 = pow58 * pow1019; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 32768))). + assert pow1023 = pow58 * pow1020; // pow(trace_generator, (safe_div((safe_mult(7171, global_values.trace_length)), 65536))). + assert pow1024 = pow58 * pow1021; // pow(trace_generator, (safe_div((safe_mult(8195, global_values.trace_length)), 65536))). + assert pow1025 = pow58 * pow1022; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 65536))). + assert pow1026 = pow58 * pow1023; // pow(trace_generator, (safe_div((safe_mult(1793, global_values.trace_length)), 16384))). + assert pow1027 = pow58 * pow1024; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 16384))). + assert pow1028 = pow58 * pow1025; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 16384))). + assert pow1029 = pow58 * pow1026; // pow(trace_generator, (safe_div((safe_mult(7173, global_values.trace_length)), 65536))). + assert pow1030 = pow58 * pow1027; // pow(trace_generator, (safe_div((safe_mult(8197, global_values.trace_length)), 65536))). + assert pow1031 = pow58 * pow1028; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 65536))). + assert pow1032 = pow58 * pow1029; // pow(trace_generator, (safe_div((safe_mult(3587, global_values.trace_length)), 32768))). + assert pow1033 = pow58 * pow1030; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 32768))). + assert pow1034 = pow58 * pow1031; // pow(trace_generator, (safe_div((safe_mult(4611, global_values.trace_length)), 32768))). + assert pow1035 = pow58 * pow1032; // pow(trace_generator, (safe_div((safe_mult(7175, global_values.trace_length)), 65536))). + assert pow1036 = pow58 * pow1035; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 8192))). + assert pow1037 = pow58 * pow1036; // pow(trace_generator, (safe_div((safe_mult(7177, global_values.trace_length)), 65536))). + assert pow1038 = pow58 * pow1037; // pow(trace_generator, (safe_div((safe_mult(3589, global_values.trace_length)), 32768))). + assert pow1039 = pow58 * pow1038; // pow(trace_generator, (safe_div((safe_mult(7179, global_values.trace_length)), 65536))). + assert pow1040 = pow58 * pow1039; // pow(trace_generator, (safe_div((safe_mult(1795, global_values.trace_length)), 16384))). + assert pow1041 = pow58 * pow1040; // pow(trace_generator, (safe_div((safe_mult(7181, global_values.trace_length)), 65536))). + assert pow1042 = pow58 * pow1041; // pow(trace_generator, (safe_div((safe_mult(3591, global_values.trace_length)), 32768))). + assert pow1043 = pow58 * pow1042; // pow(trace_generator, (safe_div((safe_mult(7183, global_values.trace_length)), 65536))). + assert pow1044 = pow58 * pow1043; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 4096))). + assert pow1045 = pow58 * pow1044; // pow(trace_generator, (safe_div((safe_mult(7185, global_values.trace_length)), 65536))). + assert pow1046 = pow58 * pow1045; // pow(trace_generator, (safe_div((safe_mult(3593, global_values.trace_length)), 32768))). + assert pow1047 = pow58 * pow1046; // pow(trace_generator, (safe_div((safe_mult(7187, global_values.trace_length)), 65536))). + assert pow1048 = pow58 * pow1047; // pow(trace_generator, (safe_div((safe_mult(1797, global_values.trace_length)), 16384))). + assert pow1049 = pow58 * pow1048; // pow(trace_generator, (safe_div((safe_mult(7189, global_values.trace_length)), 65536))). + assert pow1050 = pow58 * pow1049; // pow(trace_generator, (safe_div((safe_mult(3595, global_values.trace_length)), 32768))). + assert pow1051 = pow58 * pow1050; // pow(trace_generator, (safe_div((safe_mult(7191, global_values.trace_length)), 65536))). + assert pow1052 = pow58 * pow1033; // pow(trace_generator, (safe_div((safe_mult(8199, global_values.trace_length)), 65536))). + assert pow1053 = pow58 * pow1052; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 8192))). + assert pow1054 = pow58 * pow1053; // pow(trace_generator, (safe_div((safe_mult(8201, global_values.trace_length)), 65536))). + assert pow1055 = pow58 * pow1054; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 32768))). + assert pow1056 = pow58 * pow1055; // pow(trace_generator, (safe_div((safe_mult(8203, global_values.trace_length)), 65536))). + assert pow1057 = pow58 * pow1056; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 16384))). + assert pow1058 = pow58 * pow1057; // pow(trace_generator, (safe_div((safe_mult(8205, global_values.trace_length)), 65536))). + assert pow1059 = pow58 * pow1058; // pow(trace_generator, (safe_div((safe_mult(4103, global_values.trace_length)), 32768))). + assert pow1060 = pow58 * pow1059; // pow(trace_generator, (safe_div((safe_mult(8207, global_values.trace_length)), 65536))). + assert pow1061 = pow58 * pow1060; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 4096))). + assert pow1062 = pow58 * pow1061; // pow(trace_generator, (safe_div((safe_mult(8209, global_values.trace_length)), 65536))). + assert pow1063 = pow58 * pow1062; // pow(trace_generator, (safe_div((safe_mult(4105, global_values.trace_length)), 32768))). + assert pow1064 = pow58 * pow1063; // pow(trace_generator, (safe_div((safe_mult(8211, global_values.trace_length)), 65536))). + assert pow1065 = pow58 * pow1064; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 16384))). + assert pow1066 = pow58 * pow1065; // pow(trace_generator, (safe_div((safe_mult(8213, global_values.trace_length)), 65536))). + assert pow1067 = pow58 * pow1066; // pow(trace_generator, (safe_div((safe_mult(4107, global_values.trace_length)), 32768))). + assert pow1068 = pow58 * pow1067; // pow(trace_generator, (safe_div((safe_mult(8215, global_values.trace_length)), 65536))). + assert pow1069 = pow58 * pow1034; // pow(trace_generator, (safe_div((safe_mult(9223, global_values.trace_length)), 65536))). + assert pow1070 = pow58 * pow1069; // pow(trace_generator, (safe_div((safe_mult(1153, global_values.trace_length)), 8192))). + assert pow1071 = pow58 * pow1070; // pow(trace_generator, (safe_div((safe_mult(9225, global_values.trace_length)), 65536))). + assert pow1072 = pow58 * pow1071; // pow(trace_generator, (safe_div((safe_mult(4613, global_values.trace_length)), 32768))). + assert pow1073 = pow58 * pow1072; // pow(trace_generator, (safe_div((safe_mult(9227, global_values.trace_length)), 65536))). + assert pow1074 = pow58 * pow1073; // pow(trace_generator, (safe_div((safe_mult(2307, global_values.trace_length)), 16384))). + assert pow1075 = pow58 * pow1074; // pow(trace_generator, (safe_div((safe_mult(9229, global_values.trace_length)), 65536))). + assert pow1076 = pow58 * pow1075; // pow(trace_generator, (safe_div((safe_mult(4615, global_values.trace_length)), 32768))). + assert pow1077 = pow58 * pow1076; // pow(trace_generator, (safe_div((safe_mult(9231, global_values.trace_length)), 65536))). + assert pow1078 = pow58 * pow1077; // pow(trace_generator, (safe_div((safe_mult(577, global_values.trace_length)), 4096))). + assert pow1079 = pow58 * pow1078; // pow(trace_generator, (safe_div((safe_mult(9233, global_values.trace_length)), 65536))). + assert pow1080 = pow58 * pow1079; // pow(trace_generator, (safe_div((safe_mult(4617, global_values.trace_length)), 32768))). + assert pow1081 = pow58 * pow1080; // pow(trace_generator, (safe_div((safe_mult(9235, global_values.trace_length)), 65536))). + assert pow1082 = pow58 * pow1081; // pow(trace_generator, (safe_div((safe_mult(2309, global_values.trace_length)), 16384))). + assert pow1083 = pow58 * pow1082; // pow(trace_generator, (safe_div((safe_mult(9237, global_values.trace_length)), 65536))). + assert pow1084 = pow58 * pow1083; // pow(trace_generator, (safe_div((safe_mult(4619, global_values.trace_length)), 32768))). + assert pow1085 = pow58 * pow1084; // pow(trace_generator, (safe_div((safe_mult(9239, global_values.trace_length)), 65536))). + assert pow1086 = pow819 * pow1016; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1087 = pow58 * pow1086; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 65536))). + assert pow1088 = pow58 * pow1087; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 32768))). + assert pow1089 = pow58 * pow1088; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 65536))). + assert pow1090 = pow58 * pow1089; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 16384))). + assert pow1091 = pow58 * pow1090; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 65536))). + assert pow1092 = pow58 * pow1091; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 32768))). + assert pow1093 = pow58 * pow1092; // pow(trace_generator, (safe_div((safe_mult(10247, global_values.trace_length)), 65536))). + assert pow1094 = pow58 * pow1093; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 8192))). + assert pow1095 = pow58 * pow1094; // pow(trace_generator, (safe_div((safe_mult(10249, global_values.trace_length)), 65536))). + assert pow1096 = pow58 * pow1095; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 32768))). + assert pow1097 = pow58 * pow1096; // pow(trace_generator, (safe_div((safe_mult(10251, global_values.trace_length)), 65536))). + assert pow1098 = pow58 * pow1097; // pow(trace_generator, (safe_div((safe_mult(2563, global_values.trace_length)), 16384))). + assert pow1099 = pow58 * pow1098; // pow(trace_generator, (safe_div((safe_mult(10253, global_values.trace_length)), 65536))). + assert pow1100 = pow58 * pow1099; // pow(trace_generator, (safe_div((safe_mult(5127, global_values.trace_length)), 32768))). + assert pow1101 = pow58 * pow1100; // pow(trace_generator, (safe_div((safe_mult(10255, global_values.trace_length)), 65536))). + assert pow1102 = pow58 * pow1101; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 4096))). + assert pow1103 = pow58 * pow1102; // pow(trace_generator, (safe_div((safe_mult(10257, global_values.trace_length)), 65536))). + assert pow1104 = pow58 * pow1103; // pow(trace_generator, (safe_div((safe_mult(5129, global_values.trace_length)), 32768))). + assert pow1105 = pow58 * pow1104; // pow(trace_generator, (safe_div((safe_mult(10259, global_values.trace_length)), 65536))). + assert pow1106 = pow58 * pow1105; // pow(trace_generator, (safe_div((safe_mult(2565, global_values.trace_length)), 16384))). + assert pow1107 = pow58 * pow1106; // pow(trace_generator, (safe_div((safe_mult(10261, global_values.trace_length)), 65536))). + assert pow1108 = pow58 * pow1107; // pow(trace_generator, (safe_div((safe_mult(5131, global_values.trace_length)), 32768))). + assert pow1109 = pow58 * pow1108; // pow(trace_generator, (safe_div((safe_mult(10263, global_values.trace_length)), 65536))). + assert pow1110 = pow105 * pow1109; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1111 = pow126 * pow1110; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1112 = pow126 * pow1111; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1113 = pow126 * pow1112; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1114 = pow126 * pow1113; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1115 = pow126 * pow1114; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1116 = pow126 * pow1115; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1117 = pow126 * pow1116; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1118 = pow126 * pow1117; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1119 = pow126 * pow1118; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1120 = pow126 * pow1119; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1121 = pow126 * pow1120; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1122 = pow126 * pow1121; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1123 = pow126 * pow1122; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1124 = pow126 * pow1123; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1125 = pow126 * pow1124; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1126 = pow58 * pow1125; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 65536))). + assert pow1127 = pow58 * pow1126; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 32768))). + assert pow1128 = pow58 * pow1127; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 65536))). + assert pow1129 = pow58 * pow1128; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 16384))). + assert pow1130 = pow58 * pow1129; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 65536))). + assert pow1131 = pow58 * pow1130; // pow(trace_generator, (safe_div((safe_mult(5635, global_values.trace_length)), 32768))). + assert pow1132 = pow58 * pow1131; // pow(trace_generator, (safe_div((safe_mult(11271, global_values.trace_length)), 65536))). + assert pow1133 = pow58 * pow1132; // pow(trace_generator, (safe_div((safe_mult(1409, global_values.trace_length)), 8192))). + assert pow1134 = pow58 * pow1133; // pow(trace_generator, (safe_div((safe_mult(11273, global_values.trace_length)), 65536))). + assert pow1135 = pow58 * pow1134; // pow(trace_generator, (safe_div((safe_mult(5637, global_values.trace_length)), 32768))). + assert pow1136 = pow58 * pow1135; // pow(trace_generator, (safe_div((safe_mult(11275, global_values.trace_length)), 65536))). + assert pow1137 = pow58 * pow1136; // pow(trace_generator, (safe_div((safe_mult(2819, global_values.trace_length)), 16384))). + assert pow1138 = pow58 * pow1137; // pow(trace_generator, (safe_div((safe_mult(11277, global_values.trace_length)), 65536))). + assert pow1139 = pow58 * pow1138; // pow(trace_generator, (safe_div((safe_mult(5639, global_values.trace_length)), 32768))). + assert pow1140 = pow58 * pow1139; // pow(trace_generator, (safe_div((safe_mult(11279, global_values.trace_length)), 65536))). + assert pow1141 = pow58 * pow1140; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 4096))). + assert pow1142 = pow58 * pow1141; // pow(trace_generator, (safe_div((safe_mult(11281, global_values.trace_length)), 65536))). + assert pow1143 = pow58 * pow1142; // pow(trace_generator, (safe_div((safe_mult(5641, global_values.trace_length)), 32768))). + assert pow1144 = pow58 * pow1143; // pow(trace_generator, (safe_div((safe_mult(11283, global_values.trace_length)), 65536))). + assert pow1145 = pow58 * pow1144; // pow(trace_generator, (safe_div((safe_mult(2821, global_values.trace_length)), 16384))). + assert pow1146 = pow58 * pow1145; // pow(trace_generator, (safe_div((safe_mult(11285, global_values.trace_length)), 65536))). + assert pow1147 = pow58 * pow1146; // pow(trace_generator, (safe_div((safe_mult(5643, global_values.trace_length)), 32768))). + assert pow1148 = pow58 * pow1147; // pow(trace_generator, (safe_div((safe_mult(11287, global_values.trace_length)), 65536))). + assert pow1149 = pow105 * pow1148; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1150 = pow126 * pow1149; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1151 = pow126 * pow1150; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1152 = pow126 * pow1151; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1153 = pow126 * pow1152; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1154 = pow126 * pow1153; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1155 = pow126 * pow1154; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 32))). + assert pow1156 = pow606 * pow1155; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1157 = pow58 * pow1156; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 65536))). + assert pow1158 = pow58 * pow1157; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 32768))). + assert pow1159 = pow58 * pow1158; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 65536))). + assert pow1160 = pow58 * pow1159; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 16384))). + assert pow1161 = pow58 * pow1160; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 65536))). + assert pow1162 = pow58 * pow1161; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 32768))). + assert pow1163 = pow58 * pow1162; // pow(trace_generator, (safe_div((safe_mult(12295, global_values.trace_length)), 65536))). + assert pow1164 = pow58 * pow1163; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 8192))). + assert pow1165 = pow58 * pow1164; // pow(trace_generator, (safe_div((safe_mult(12297, global_values.trace_length)), 65536))). + assert pow1166 = pow58 * pow1165; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 32768))). + assert pow1167 = pow58 * pow1166; // pow(trace_generator, (safe_div((safe_mult(12299, global_values.trace_length)), 65536))). + assert pow1168 = pow58 * pow1167; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 16384))). + assert pow1169 = pow58 * pow1168; // pow(trace_generator, (safe_div((safe_mult(12301, global_values.trace_length)), 65536))). + assert pow1170 = pow58 * pow1169; // pow(trace_generator, (safe_div((safe_mult(6151, global_values.trace_length)), 32768))). + assert pow1171 = pow58 * pow1170; // pow(trace_generator, (safe_div((safe_mult(12303, global_values.trace_length)), 65536))). + assert pow1172 = pow58 * pow1171; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 4096))). + assert pow1173 = pow58 * pow1172; // pow(trace_generator, (safe_div((safe_mult(12305, global_values.trace_length)), 65536))). + assert pow1174 = pow58 * pow1173; // pow(trace_generator, (safe_div((safe_mult(6153, global_values.trace_length)), 32768))). + assert pow1175 = pow58 * pow1174; // pow(trace_generator, (safe_div((safe_mult(12307, global_values.trace_length)), 65536))). + assert pow1176 = pow58 * pow1175; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 16384))). + assert pow1177 = pow58 * pow1176; // pow(trace_generator, (safe_div((safe_mult(12309, global_values.trace_length)), 65536))). + assert pow1178 = pow58 * pow1177; // pow(trace_generator, (safe_div((safe_mult(6155, global_values.trace_length)), 32768))). + assert pow1179 = pow58 * pow1178; // pow(trace_generator, (safe_div((safe_mult(12311, global_values.trace_length)), 65536))). + assert pow1180 = pow105 * pow1179; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1181 = pow126 * pow1180; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1182 = pow126 * pow1181; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1183 = pow126 * pow1182; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1184 = pow126 * pow1183; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1185 = pow126 * pow1184; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1186 = pow126 * pow1185; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1187 = pow126 * pow1186; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1188 = pow126 * pow1187; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1189 = pow126 * pow1188; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1190 = pow126 * pow1189; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1191 = pow126 * pow1190; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1192 = pow126 * pow1191; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1193 = pow126 * pow1192; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1194 = pow126 * pow1193; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1195 = pow126 * pow1194; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1196 = pow58 * pow1195; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 65536))). + assert pow1197 = pow58 * pow1196; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 32768))). + assert pow1198 = pow58 * pow1197; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 65536))). + assert pow1199 = pow58 * pow1198; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 16384))). + assert pow1200 = pow58 * pow1199; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 65536))). + assert pow1201 = pow58 * pow1200; // pow(trace_generator, (safe_div((safe_mult(6659, global_values.trace_length)), 32768))). + assert pow1202 = pow58 * pow1201; // pow(trace_generator, (safe_div((safe_mult(13319, global_values.trace_length)), 65536))). + assert pow1203 = pow58 * pow1202; // pow(trace_generator, (safe_div((safe_mult(1665, global_values.trace_length)), 8192))). + assert pow1204 = pow58 * pow1203; // pow(trace_generator, (safe_div((safe_mult(13321, global_values.trace_length)), 65536))). + assert pow1205 = pow58 * pow1204; // pow(trace_generator, (safe_div((safe_mult(6661, global_values.trace_length)), 32768))). + assert pow1206 = pow58 * pow1205; // pow(trace_generator, (safe_div((safe_mult(13323, global_values.trace_length)), 65536))). + assert pow1207 = pow58 * pow1206; // pow(trace_generator, (safe_div((safe_mult(3331, global_values.trace_length)), 16384))). + assert pow1208 = pow58 * pow1207; // pow(trace_generator, (safe_div((safe_mult(13325, global_values.trace_length)), 65536))). + assert pow1209 = pow58 * pow1208; // pow(trace_generator, (safe_div((safe_mult(6663, global_values.trace_length)), 32768))). + assert pow1210 = pow58 * pow1209; // pow(trace_generator, (safe_div((safe_mult(13327, global_values.trace_length)), 65536))). + assert pow1211 = pow58 * pow1210; // pow(trace_generator, (safe_div((safe_mult(833, global_values.trace_length)), 4096))). + assert pow1212 = pow58 * pow1211; // pow(trace_generator, (safe_div((safe_mult(13329, global_values.trace_length)), 65536))). + assert pow1213 = pow58 * pow1212; // pow(trace_generator, (safe_div((safe_mult(6665, global_values.trace_length)), 32768))). + assert pow1214 = pow58 * pow1213; // pow(trace_generator, (safe_div((safe_mult(13331, global_values.trace_length)), 65536))). + assert pow1215 = pow58 * pow1214; // pow(trace_generator, (safe_div((safe_mult(3333, global_values.trace_length)), 16384))). + assert pow1216 = pow58 * pow1215; // pow(trace_generator, (safe_div((safe_mult(13333, global_values.trace_length)), 65536))). + assert pow1217 = pow58 * pow1216; // pow(trace_generator, (safe_div((safe_mult(6667, global_values.trace_length)), 32768))). + assert pow1218 = pow58 * pow1217; // pow(trace_generator, (safe_div((safe_mult(13335, global_values.trace_length)), 65536))). + assert pow1219 = pow105 * pow1218; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1220 = pow126 * pow1219; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1221 = pow126 * pow1220; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1222 = pow126 * pow1221; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1223 = pow126 * pow1222; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1224 = pow126 * pow1223; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1225 = pow126 * pow1224; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 16))). + assert pow1226 = pow606 * pow1225; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1227 = pow58 * pow1226; // pow(trace_generator, (safe_div((safe_mult(14337, global_values.trace_length)), 65536))). + assert pow1228 = pow58 * pow1227; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 32768))). + assert pow1229 = pow58 * pow1228; // pow(trace_generator, (safe_div((safe_mult(14339, global_values.trace_length)), 65536))). + assert pow1230 = pow58 * pow1229; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 16384))). + assert pow1231 = pow58 * pow1230; // pow(trace_generator, (safe_div((safe_mult(14341, global_values.trace_length)), 65536))). + assert pow1232 = pow58 * pow1231; // pow(trace_generator, (safe_div((safe_mult(7171, global_values.trace_length)), 32768))). + assert pow1233 = pow58 * pow1232; // pow(trace_generator, (safe_div((safe_mult(14343, global_values.trace_length)), 65536))). + assert pow1234 = pow58 * pow1233; // pow(trace_generator, (safe_div((safe_mult(1793, global_values.trace_length)), 8192))). + assert pow1235 = pow58 * pow1234; // pow(trace_generator, (safe_div((safe_mult(14345, global_values.trace_length)), 65536))). + assert pow1236 = pow58 * pow1235; // pow(trace_generator, (safe_div((safe_mult(7173, global_values.trace_length)), 32768))). + assert pow1237 = pow58 * pow1236; // pow(trace_generator, (safe_div((safe_mult(14347, global_values.trace_length)), 65536))). + assert pow1238 = pow58 * pow1237; // pow(trace_generator, (safe_div((safe_mult(3587, global_values.trace_length)), 16384))). + assert pow1239 = pow58 * pow1238; // pow(trace_generator, (safe_div((safe_mult(14349, global_values.trace_length)), 65536))). + assert pow1240 = pow58 * pow1239; // pow(trace_generator, (safe_div((safe_mult(7175, global_values.trace_length)), 32768))). + assert pow1241 = pow58 * pow1240; // pow(trace_generator, (safe_div((safe_mult(14351, global_values.trace_length)), 65536))). + assert pow1242 = pow58 * pow1241; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 4096))). + assert pow1243 = pow58 * pow1242; // pow(trace_generator, (safe_div((safe_mult(14353, global_values.trace_length)), 65536))). + assert pow1244 = pow58 * pow1243; // pow(trace_generator, (safe_div((safe_mult(7177, global_values.trace_length)), 32768))). + assert pow1245 = pow58 * pow1244; // pow(trace_generator, (safe_div((safe_mult(14355, global_values.trace_length)), 65536))). + assert pow1246 = pow58 * pow1245; // pow(trace_generator, (safe_div((safe_mult(3589, global_values.trace_length)), 16384))). + assert pow1247 = pow58 * pow1246; // pow(trace_generator, (safe_div((safe_mult(14357, global_values.trace_length)), 65536))). + assert pow1248 = pow58 * pow1247; // pow(trace_generator, (safe_div((safe_mult(7179, global_values.trace_length)), 32768))). + assert pow1249 = pow58 * pow1248; // pow(trace_generator, (safe_div((safe_mult(14359, global_values.trace_length)), 65536))). + assert pow1250 = pow105 * pow1249; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1251 = pow126 * pow1250; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1252 = pow126 * pow1251; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1253 = pow126 * pow1252; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1254 = pow126 * pow1253; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1255 = pow126 * pow1254; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1256 = pow126 * pow1255; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1257 = pow126 * pow1256; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1258 = pow126 * pow1257; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1259 = pow126 * pow1258; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1260 = pow126 * pow1259; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1261 = pow126 * pow1260; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1262 = pow126 * pow1261; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1263 = pow126 * pow1262; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1264 = pow126 * pow1263; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1265 = pow126 * pow1264; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1266 = pow58 * pow1265; // pow(trace_generator, (safe_div((safe_mult(15361, global_values.trace_length)), 65536))). + assert pow1267 = pow58 * pow1266; // pow(trace_generator, (safe_div((safe_mult(7681, global_values.trace_length)), 32768))). + assert pow1268 = pow58 * pow1267; // pow(trace_generator, (safe_div((safe_mult(15363, global_values.trace_length)), 65536))). + assert pow1269 = pow58 * pow1268; // pow(trace_generator, (safe_div((safe_mult(3841, global_values.trace_length)), 16384))). + assert pow1270 = pow58 * pow1269; // pow(trace_generator, (safe_div((safe_mult(15365, global_values.trace_length)), 65536))). + assert pow1271 = pow58 * pow1270; // pow(trace_generator, (safe_div((safe_mult(7683, global_values.trace_length)), 32768))). + assert pow1272 = pow58 * pow1271; // pow(trace_generator, (safe_div((safe_mult(15367, global_values.trace_length)), 65536))). + assert pow1273 = pow58 * pow1272; // pow(trace_generator, (safe_div((safe_mult(1921, global_values.trace_length)), 8192))). + assert pow1274 = pow58 * pow1273; // pow(trace_generator, (safe_div((safe_mult(15369, global_values.trace_length)), 65536))). + assert pow1275 = pow58 * pow1274; // pow(trace_generator, (safe_div((safe_mult(7685, global_values.trace_length)), 32768))). + assert pow1276 = pow58 * pow1275; // pow(trace_generator, (safe_div((safe_mult(15371, global_values.trace_length)), 65536))). + assert pow1277 = pow58 * pow1276; // pow(trace_generator, (safe_div((safe_mult(3843, global_values.trace_length)), 16384))). + assert pow1278 = pow58 * pow1277; // pow(trace_generator, (safe_div((safe_mult(15373, global_values.trace_length)), 65536))). + assert pow1279 = pow58 * pow1278; // pow(trace_generator, (safe_div((safe_mult(7687, global_values.trace_length)), 32768))). + assert pow1280 = pow58 * pow1279; // pow(trace_generator, (safe_div((safe_mult(15375, global_values.trace_length)), 65536))). + assert pow1281 = pow58 * pow1280; // pow(trace_generator, (safe_div((safe_mult(961, global_values.trace_length)), 4096))). + assert pow1282 = pow58 * pow1281; // pow(trace_generator, (safe_div((safe_mult(15377, global_values.trace_length)), 65536))). + assert pow1283 = pow58 * pow1282; // pow(trace_generator, (safe_div((safe_mult(7689, global_values.trace_length)), 32768))). + assert pow1284 = pow58 * pow1283; // pow(trace_generator, (safe_div((safe_mult(15379, global_values.trace_length)), 65536))). + assert pow1285 = pow58 * pow1284; // pow(trace_generator, (safe_div((safe_mult(3845, global_values.trace_length)), 16384))). + assert pow1286 = pow58 * pow1285; // pow(trace_generator, (safe_div((safe_mult(15381, global_values.trace_length)), 65536))). + assert pow1287 = pow58 * pow1286; // pow(trace_generator, (safe_div((safe_mult(7691, global_values.trace_length)), 32768))). + assert pow1288 = pow58 * pow1287; // pow(trace_generator, (safe_div((safe_mult(15383, global_values.trace_length)), 65536))). + assert pow1289 = pow105 * pow1288; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1290 = pow126 * pow1289; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1291 = pow126 * pow1290; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1292 = pow126 * pow1291; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1293 = pow126 * pow1292; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1294 = pow126 * pow1293; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1295 = pow126 * pow1294; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(7, global_values.trace_length)), 32))). + assert pow1296 = pow606 * pow1295; // pow(trace_generator, (safe_div(global_values.trace_length, 4))). + assert pow1297 = pow819 * pow1296; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 64))). + assert pow1298 = pow819 * pow1297; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32))). + assert pow1299 = pow819 * pow1298; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 64))). + assert pow1300 = pow58 * pow1296; // pow(trace_generator, (safe_div((safe_mult(16385, global_values.trace_length)), 65536))). + assert pow1301 = pow58 * pow1297; // pow(trace_generator, (safe_div((safe_mult(17409, global_values.trace_length)), 65536))). + assert pow1302 = pow58 * pow1298; // pow(trace_generator, (safe_div((safe_mult(18433, global_values.trace_length)), 65536))). + assert pow1303 = pow58 * pow1299; // pow(trace_generator, (safe_div((safe_mult(19457, global_values.trace_length)), 65536))). + assert pow1304 = pow58 * pow1300; // pow(trace_generator, (safe_div((safe_mult(8193, global_values.trace_length)), 32768))). + assert pow1305 = pow58 * pow1301; // pow(trace_generator, (safe_div((safe_mult(8705, global_values.trace_length)), 32768))). + assert pow1306 = pow58 * pow1302; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 32768))). + assert pow1307 = pow58 * pow1303; // pow(trace_generator, (safe_div((safe_mult(9729, global_values.trace_length)), 32768))). + assert pow1308 = pow58 * pow1304; // pow(trace_generator, (safe_div((safe_mult(16387, global_values.trace_length)), 65536))). + assert pow1309 = pow58 * pow1305; // pow(trace_generator, (safe_div((safe_mult(17411, global_values.trace_length)), 65536))). + assert pow1310 = pow58 * pow1306; // pow(trace_generator, (safe_div((safe_mult(18435, global_values.trace_length)), 65536))). + assert pow1311 = pow58 * pow1307; // pow(trace_generator, (safe_div((safe_mult(19459, global_values.trace_length)), 65536))). + assert pow1312 = pow58 * pow1308; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 16384))). + assert pow1313 = pow58 * pow1309; // pow(trace_generator, (safe_div((safe_mult(4353, global_values.trace_length)), 16384))). + assert pow1314 = pow58 * pow1310; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 16384))). + assert pow1315 = pow58 * pow1311; // pow(trace_generator, (safe_div((safe_mult(4865, global_values.trace_length)), 16384))). + assert pow1316 = pow58 * pow1312; // pow(trace_generator, (safe_div((safe_mult(16389, global_values.trace_length)), 65536))). + assert pow1317 = pow58 * pow1313; // pow(trace_generator, (safe_div((safe_mult(17413, global_values.trace_length)), 65536))). + assert pow1318 = pow58 * pow1314; // pow(trace_generator, (safe_div((safe_mult(18437, global_values.trace_length)), 65536))). + assert pow1319 = pow58 * pow1315; // pow(trace_generator, (safe_div((safe_mult(19461, global_values.trace_length)), 65536))). + assert pow1320 = pow58 * pow1316; // pow(trace_generator, (safe_div((safe_mult(8195, global_values.trace_length)), 32768))). + assert pow1321 = pow58 * pow1317; // pow(trace_generator, (safe_div((safe_mult(8707, global_values.trace_length)), 32768))). + assert pow1322 = pow58 * pow1318; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 32768))). + assert pow1323 = pow58 * pow1319; // pow(trace_generator, (safe_div((safe_mult(9731, global_values.trace_length)), 32768))). + assert pow1324 = pow58 * pow1320; // pow(trace_generator, (safe_div((safe_mult(16391, global_values.trace_length)), 65536))). + assert pow1325 = pow58 * pow1324; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 8192))). + assert pow1326 = pow58 * pow1321; // pow(trace_generator, (safe_div((safe_mult(17415, global_values.trace_length)), 65536))). + assert pow1327 = pow58 * pow1326; // pow(trace_generator, (safe_div((safe_mult(2177, global_values.trace_length)), 8192))). + assert pow1328 = pow58 * pow1322; // pow(trace_generator, (safe_div((safe_mult(18439, global_values.trace_length)), 65536))). + assert pow1329 = pow58 * pow1328; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 8192))). + assert pow1330 = pow58 * pow1323; // pow(trace_generator, (safe_div((safe_mult(19463, global_values.trace_length)), 65536))). + assert pow1331 = pow58 * pow1330; // pow(trace_generator, (safe_div((safe_mult(2433, global_values.trace_length)), 8192))). + assert pow1332 = pow58 * pow1325; // pow(trace_generator, (safe_div((safe_mult(16393, global_values.trace_length)), 65536))). + assert pow1333 = pow58 * pow1327; // pow(trace_generator, (safe_div((safe_mult(17417, global_values.trace_length)), 65536))). + assert pow1334 = pow58 * pow1329; // pow(trace_generator, (safe_div((safe_mult(18441, global_values.trace_length)), 65536))). + assert pow1335 = pow58 * pow1331; // pow(trace_generator, (safe_div((safe_mult(19465, global_values.trace_length)), 65536))). + assert pow1336 = pow58 * pow1332; // pow(trace_generator, (safe_div((safe_mult(8197, global_values.trace_length)), 32768))). + assert pow1337 = pow58 * pow1333; // pow(trace_generator, (safe_div((safe_mult(8709, global_values.trace_length)), 32768))). + assert pow1338 = pow58 * pow1334; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 32768))). + assert pow1339 = pow58 * pow1335; // pow(trace_generator, (safe_div((safe_mult(9733, global_values.trace_length)), 32768))). + assert pow1340 = pow58 * pow1336; // pow(trace_generator, (safe_div((safe_mult(16395, global_values.trace_length)), 65536))). + assert pow1341 = pow58 * pow1337; // pow(trace_generator, (safe_div((safe_mult(17419, global_values.trace_length)), 65536))). + assert pow1342 = pow58 * pow1338; // pow(trace_generator, (safe_div((safe_mult(18443, global_values.trace_length)), 65536))). + assert pow1343 = pow58 * pow1339; // pow(trace_generator, (safe_div((safe_mult(19467, global_values.trace_length)), 65536))). + assert pow1344 = pow58 * pow1340; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 16384))). + assert pow1345 = pow58 * pow1341; // pow(trace_generator, (safe_div((safe_mult(4355, global_values.trace_length)), 16384))). + assert pow1346 = pow58 * pow1342; // pow(trace_generator, (safe_div((safe_mult(4611, global_values.trace_length)), 16384))). + assert pow1347 = pow58 * pow1343; // pow(trace_generator, (safe_div((safe_mult(4867, global_values.trace_length)), 16384))). + assert pow1348 = pow58 * pow1344; // pow(trace_generator, (safe_div((safe_mult(16397, global_values.trace_length)), 65536))). + assert pow1349 = pow58 * pow1345; // pow(trace_generator, (safe_div((safe_mult(17421, global_values.trace_length)), 65536))). + assert pow1350 = pow58 * pow1346; // pow(trace_generator, (safe_div((safe_mult(18445, global_values.trace_length)), 65536))). + assert pow1351 = pow58 * pow1347; // pow(trace_generator, (safe_div((safe_mult(19469, global_values.trace_length)), 65536))). + assert pow1352 = pow58 * pow1348; // pow(trace_generator, (safe_div((safe_mult(8199, global_values.trace_length)), 32768))). + assert pow1353 = pow58 * pow1349; // pow(trace_generator, (safe_div((safe_mult(8711, global_values.trace_length)), 32768))). + assert pow1354 = pow58 * pow1350; // pow(trace_generator, (safe_div((safe_mult(9223, global_values.trace_length)), 32768))). + assert pow1355 = pow58 * pow1351; // pow(trace_generator, (safe_div((safe_mult(9735, global_values.trace_length)), 32768))). + assert pow1356 = pow58 * pow1352; // pow(trace_generator, (safe_div((safe_mult(16399, global_values.trace_length)), 65536))). + assert pow1357 = pow58 * pow1353; // pow(trace_generator, (safe_div((safe_mult(17423, global_values.trace_length)), 65536))). + assert pow1358 = pow58 * pow1354; // pow(trace_generator, (safe_div((safe_mult(18447, global_values.trace_length)), 65536))). + assert pow1359 = pow58 * pow1355; // pow(trace_generator, (safe_div((safe_mult(19471, global_values.trace_length)), 65536))). + assert pow1360 = pow58 * pow1356; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 4096))). + assert pow1361 = pow58 * pow1357; // pow(trace_generator, (safe_div((safe_mult(1089, global_values.trace_length)), 4096))). + assert pow1362 = pow58 * pow1358; // pow(trace_generator, (safe_div((safe_mult(1153, global_values.trace_length)), 4096))). + assert pow1363 = pow58 * pow1359; // pow(trace_generator, (safe_div((safe_mult(1217, global_values.trace_length)), 4096))). + assert pow1364 = pow58 * pow1360; // pow(trace_generator, (safe_div((safe_mult(16401, global_values.trace_length)), 65536))). + assert pow1365 = pow58 * pow1361; // pow(trace_generator, (safe_div((safe_mult(17425, global_values.trace_length)), 65536))). + assert pow1366 = pow58 * pow1362; // pow(trace_generator, (safe_div((safe_mult(18449, global_values.trace_length)), 65536))). + assert pow1367 = pow58 * pow1363; // pow(trace_generator, (safe_div((safe_mult(19473, global_values.trace_length)), 65536))). + assert pow1368 = pow58 * pow1364; // pow(trace_generator, (safe_div((safe_mult(8201, global_values.trace_length)), 32768))). + assert pow1369 = pow58 * pow1365; // pow(trace_generator, (safe_div((safe_mult(8713, global_values.trace_length)), 32768))). + assert pow1370 = pow58 * pow1366; // pow(trace_generator, (safe_div((safe_mult(9225, global_values.trace_length)), 32768))). + assert pow1371 = pow58 * pow1367; // pow(trace_generator, (safe_div((safe_mult(9737, global_values.trace_length)), 32768))). + assert pow1372 = pow58 * pow1368; // pow(trace_generator, (safe_div((safe_mult(16403, global_values.trace_length)), 65536))). + assert pow1373 = pow58 * pow1369; // pow(trace_generator, (safe_div((safe_mult(17427, global_values.trace_length)), 65536))). + assert pow1374 = pow58 * pow1370; // pow(trace_generator, (safe_div((safe_mult(18451, global_values.trace_length)), 65536))). + assert pow1375 = pow58 * pow1371; // pow(trace_generator, (safe_div((safe_mult(19475, global_values.trace_length)), 65536))). + assert pow1376 = pow58 * pow1372; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 16384))). + assert pow1377 = pow58 * pow1373; // pow(trace_generator, (safe_div((safe_mult(4357, global_values.trace_length)), 16384))). + assert pow1378 = pow58 * pow1374; // pow(trace_generator, (safe_div((safe_mult(4613, global_values.trace_length)), 16384))). + assert pow1379 = pow58 * pow1375; // pow(trace_generator, (safe_div((safe_mult(4869, global_values.trace_length)), 16384))). + assert pow1380 = pow58 * pow1376; // pow(trace_generator, (safe_div((safe_mult(16405, global_values.trace_length)), 65536))). + assert pow1381 = pow58 * pow1377; // pow(trace_generator, (safe_div((safe_mult(17429, global_values.trace_length)), 65536))). + assert pow1382 = pow58 * pow1378; // pow(trace_generator, (safe_div((safe_mult(18453, global_values.trace_length)), 65536))). + assert pow1383 = pow58 * pow1379; // pow(trace_generator, (safe_div((safe_mult(19477, global_values.trace_length)), 65536))). + assert pow1384 = pow58 * pow1380; // pow(trace_generator, (safe_div((safe_mult(8203, global_values.trace_length)), 32768))). + assert pow1385 = pow58 * pow1381; // pow(trace_generator, (safe_div((safe_mult(8715, global_values.trace_length)), 32768))). + assert pow1386 = pow58 * pow1382; // pow(trace_generator, (safe_div((safe_mult(9227, global_values.trace_length)), 32768))). + assert pow1387 = pow58 * pow1383; // pow(trace_generator, (safe_div((safe_mult(9739, global_values.trace_length)), 32768))). + assert pow1388 = pow58 * pow1384; // pow(trace_generator, (safe_div((safe_mult(16407, global_values.trace_length)), 65536))). + assert pow1389 = pow58 * pow1385; // pow(trace_generator, (safe_div((safe_mult(17431, global_values.trace_length)), 65536))). + assert pow1390 = pow58 * pow1386; // pow(trace_generator, (safe_div((safe_mult(18455, global_values.trace_length)), 65536))). + assert pow1391 = pow58 * pow1387; // pow(trace_generator, (safe_div((safe_mult(19479, global_values.trace_length)), 65536))). + assert pow1392 = pow819 * pow1299; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1393 = pow58 * pow1392; // pow(trace_generator, (safe_div((safe_mult(20481, global_values.trace_length)), 65536))). + assert pow1394 = pow58 * pow1393; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 32768))). + assert pow1395 = pow58 * pow1394; // pow(trace_generator, (safe_div((safe_mult(20483, global_values.trace_length)), 65536))). + assert pow1396 = pow58 * pow1395; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 16384))). + assert pow1397 = pow58 * pow1396; // pow(trace_generator, (safe_div((safe_mult(20485, global_values.trace_length)), 65536))). + assert pow1398 = pow58 * pow1397; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 32768))). + assert pow1399 = pow58 * pow1398; // pow(trace_generator, (safe_div((safe_mult(20487, global_values.trace_length)), 65536))). + assert pow1400 = pow58 * pow1399; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 8192))). + assert pow1401 = pow58 * pow1400; // pow(trace_generator, (safe_div((safe_mult(20489, global_values.trace_length)), 65536))). + assert pow1402 = pow58 * pow1401; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 32768))). + assert pow1403 = pow58 * pow1402; // pow(trace_generator, (safe_div((safe_mult(20491, global_values.trace_length)), 65536))). + assert pow1404 = pow58 * pow1403; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 16384))). + assert pow1405 = pow58 * pow1404; // pow(trace_generator, (safe_div((safe_mult(20493, global_values.trace_length)), 65536))). + assert pow1406 = pow58 * pow1405; // pow(trace_generator, (safe_div((safe_mult(10247, global_values.trace_length)), 32768))). + assert pow1407 = pow58 * pow1406; // pow(trace_generator, (safe_div((safe_mult(20495, global_values.trace_length)), 65536))). + assert pow1408 = pow58 * pow1407; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 4096))). + assert pow1409 = pow58 * pow1408; // pow(trace_generator, (safe_div((safe_mult(20497, global_values.trace_length)), 65536))). + assert pow1410 = pow58 * pow1409; // pow(trace_generator, (safe_div((safe_mult(10249, global_values.trace_length)), 32768))). + assert pow1411 = pow58 * pow1410; // pow(trace_generator, (safe_div((safe_mult(20499, global_values.trace_length)), 65536))). + assert pow1412 = pow58 * pow1411; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 16384))). + assert pow1413 = pow58 * pow1412; // pow(trace_generator, (safe_div((safe_mult(20501, global_values.trace_length)), 65536))). + assert pow1414 = pow58 * pow1413; // pow(trace_generator, (safe_div((safe_mult(10251, global_values.trace_length)), 32768))). + assert pow1415 = pow58 * pow1414; // pow(trace_generator, (safe_div((safe_mult(20503, global_values.trace_length)), 65536))). + assert pow1416 = pow105 * pow1415; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1417 = pow126 * pow1416; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1418 = pow126 * pow1417; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1419 = pow126 * pow1418; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1420 = pow126 * pow1419; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1421 = pow126 * pow1420; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1422 = pow126 * pow1421; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1423 = pow126 * pow1422; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1424 = pow126 * pow1423; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1425 = pow126 * pow1424; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1426 = pow126 * pow1425; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1427 = pow126 * pow1426; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1428 = pow126 * pow1427; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1429 = pow126 * pow1428; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1430 = pow126 * pow1429; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1431 = pow126 * pow1430; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1432 = pow58 * pow1431; // pow(trace_generator, (safe_div((safe_mult(21505, global_values.trace_length)), 65536))). + assert pow1433 = pow58 * pow1432; // pow(trace_generator, (safe_div((safe_mult(10753, global_values.trace_length)), 32768))). + assert pow1434 = pow58 * pow1433; // pow(trace_generator, (safe_div((safe_mult(21507, global_values.trace_length)), 65536))). + assert pow1435 = pow58 * pow1434; // pow(trace_generator, (safe_div((safe_mult(5377, global_values.trace_length)), 16384))). + assert pow1436 = pow58 * pow1435; // pow(trace_generator, (safe_div((safe_mult(21509, global_values.trace_length)), 65536))). + assert pow1437 = pow58 * pow1436; // pow(trace_generator, (safe_div((safe_mult(10755, global_values.trace_length)), 32768))). + assert pow1438 = pow58 * pow1437; // pow(trace_generator, (safe_div((safe_mult(21511, global_values.trace_length)), 65536))). + assert pow1439 = pow58 * pow1438; // pow(trace_generator, (safe_div((safe_mult(2689, global_values.trace_length)), 8192))). + assert pow1440 = pow58 * pow1439; // pow(trace_generator, (safe_div((safe_mult(21513, global_values.trace_length)), 65536))). + assert pow1441 = pow58 * pow1440; // pow(trace_generator, (safe_div((safe_mult(10757, global_values.trace_length)), 32768))). + assert pow1442 = pow58 * pow1441; // pow(trace_generator, (safe_div((safe_mult(21515, global_values.trace_length)), 65536))). + assert pow1443 = pow58 * pow1442; // pow(trace_generator, (safe_div((safe_mult(5379, global_values.trace_length)), 16384))). + assert pow1444 = pow58 * pow1443; // pow(trace_generator, (safe_div((safe_mult(21517, global_values.trace_length)), 65536))). + assert pow1445 = pow58 * pow1444; // pow(trace_generator, (safe_div((safe_mult(10759, global_values.trace_length)), 32768))). + assert pow1446 = pow58 * pow1445; // pow(trace_generator, (safe_div((safe_mult(21519, global_values.trace_length)), 65536))). + assert pow1447 = pow58 * pow1446; // pow(trace_generator, (safe_div((safe_mult(1345, global_values.trace_length)), 4096))). + assert pow1448 = pow58 * pow1447; // pow(trace_generator, (safe_div((safe_mult(21521, global_values.trace_length)), 65536))). + assert pow1449 = pow58 * pow1448; // pow(trace_generator, (safe_div((safe_mult(10761, global_values.trace_length)), 32768))). + assert pow1450 = pow58 * pow1449; // pow(trace_generator, (safe_div((safe_mult(21523, global_values.trace_length)), 65536))). + assert pow1451 = pow58 * pow1450; // pow(trace_generator, (safe_div((safe_mult(5381, global_values.trace_length)), 16384))). + assert pow1452 = pow58 * pow1451; // pow(trace_generator, (safe_div((safe_mult(21525, global_values.trace_length)), 65536))). + assert pow1453 = pow58 * pow1452; // pow(trace_generator, (safe_div((safe_mult(10763, global_values.trace_length)), 32768))). + assert pow1454 = pow58 * pow1453; // pow(trace_generator, (safe_div((safe_mult(21527, global_values.trace_length)), 65536))). + assert pow1455 = pow105 * pow1454; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1456 = pow126 * pow1455; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1457 = pow126 * pow1456; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1458 = pow126 * pow1457; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1459 = pow126 * pow1458; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1460 = pow126 * pow1459; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1461 = pow126 * pow1460; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 16))). + assert pow1462 = pow606 * pow1461; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1463 = pow58 * pow1462; // pow(trace_generator, (safe_div((safe_mult(22529, global_values.trace_length)), 65536))). + assert pow1464 = pow58 * pow1463; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 32768))). + assert pow1465 = pow58 * pow1464; // pow(trace_generator, (safe_div((safe_mult(22531, global_values.trace_length)), 65536))). + assert pow1466 = pow58 * pow1465; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 16384))). + assert pow1467 = pow58 * pow1466; // pow(trace_generator, (safe_div((safe_mult(22533, global_values.trace_length)), 65536))). + assert pow1468 = pow58 * pow1467; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 32768))). + assert pow1469 = pow58 * pow1468; // pow(trace_generator, (safe_div((safe_mult(22535, global_values.trace_length)), 65536))). + assert pow1470 = pow58 * pow1469; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 8192))). + assert pow1471 = pow58 * pow1470; // pow(trace_generator, (safe_div((safe_mult(22537, global_values.trace_length)), 65536))). + assert pow1472 = pow58 * pow1471; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 32768))). + assert pow1473 = pow58 * pow1472; // pow(trace_generator, (safe_div((safe_mult(22539, global_values.trace_length)), 65536))). + assert pow1474 = pow58 * pow1473; // pow(trace_generator, (safe_div((safe_mult(5635, global_values.trace_length)), 16384))). + assert pow1475 = pow58 * pow1474; // pow(trace_generator, (safe_div((safe_mult(22541, global_values.trace_length)), 65536))). + assert pow1476 = pow58 * pow1475; // pow(trace_generator, (safe_div((safe_mult(11271, global_values.trace_length)), 32768))). + assert pow1477 = pow58 * pow1476; // pow(trace_generator, (safe_div((safe_mult(22543, global_values.trace_length)), 65536))). + assert pow1478 = pow58 * pow1477; // pow(trace_generator, (safe_div((safe_mult(1409, global_values.trace_length)), 4096))). + assert pow1479 = pow58 * pow1478; // pow(trace_generator, (safe_div((safe_mult(22545, global_values.trace_length)), 65536))). + assert pow1480 = pow58 * pow1479; // pow(trace_generator, (safe_div((safe_mult(11273, global_values.trace_length)), 32768))). + assert pow1481 = pow58 * pow1480; // pow(trace_generator, (safe_div((safe_mult(22547, global_values.trace_length)), 65536))). + assert pow1482 = pow58 * pow1481; // pow(trace_generator, (safe_div((safe_mult(5637, global_values.trace_length)), 16384))). + assert pow1483 = pow58 * pow1482; // pow(trace_generator, (safe_div((safe_mult(22549, global_values.trace_length)), 65536))). + assert pow1484 = pow58 * pow1483; // pow(trace_generator, (safe_div((safe_mult(11275, global_values.trace_length)), 32768))). + assert pow1485 = pow58 * pow1484; // pow(trace_generator, (safe_div((safe_mult(22551, global_values.trace_length)), 65536))). + assert pow1486 = pow105 * pow1485; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1487 = pow126 * pow1486; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1488 = pow126 * pow1487; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1489 = pow126 * pow1488; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1490 = pow126 * pow1489; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1491 = pow126 * pow1490; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1492 = pow126 * pow1491; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1493 = pow126 * pow1492; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1494 = pow126 * pow1493; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1495 = pow126 * pow1494; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1496 = pow126 * pow1495; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1497 = pow126 * pow1496; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1498 = pow126 * pow1497; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1499 = pow126 * pow1498; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1500 = pow126 * pow1499; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1501 = pow126 * pow1500; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1502 = pow58 * pow1501; // pow(trace_generator, (safe_div((safe_mult(23553, global_values.trace_length)), 65536))). + assert pow1503 = pow58 * pow1502; // pow(trace_generator, (safe_div((safe_mult(11777, global_values.trace_length)), 32768))). + assert pow1504 = pow58 * pow1503; // pow(trace_generator, (safe_div((safe_mult(23555, global_values.trace_length)), 65536))). + assert pow1505 = pow58 * pow1504; // pow(trace_generator, (safe_div((safe_mult(5889, global_values.trace_length)), 16384))). + assert pow1506 = pow58 * pow1505; // pow(trace_generator, (safe_div((safe_mult(23557, global_values.trace_length)), 65536))). + assert pow1507 = pow58 * pow1506; // pow(trace_generator, (safe_div((safe_mult(11779, global_values.trace_length)), 32768))). + assert pow1508 = pow58 * pow1507; // pow(trace_generator, (safe_div((safe_mult(23559, global_values.trace_length)), 65536))). + assert pow1509 = pow58 * pow1508; // pow(trace_generator, (safe_div((safe_mult(2945, global_values.trace_length)), 8192))). + assert pow1510 = pow58 * pow1509; // pow(trace_generator, (safe_div((safe_mult(23561, global_values.trace_length)), 65536))). + assert pow1511 = pow58 * pow1510; // pow(trace_generator, (safe_div((safe_mult(11781, global_values.trace_length)), 32768))). + assert pow1512 = pow58 * pow1511; // pow(trace_generator, (safe_div((safe_mult(23563, global_values.trace_length)), 65536))). + assert pow1513 = pow58 * pow1512; // pow(trace_generator, (safe_div((safe_mult(5891, global_values.trace_length)), 16384))). + assert pow1514 = pow58 * pow1513; // pow(trace_generator, (safe_div((safe_mult(23565, global_values.trace_length)), 65536))). + assert pow1515 = pow58 * pow1514; // pow(trace_generator, (safe_div((safe_mult(11783, global_values.trace_length)), 32768))). + assert pow1516 = pow58 * pow1515; // pow(trace_generator, (safe_div((safe_mult(23567, global_values.trace_length)), 65536))). + assert pow1517 = pow58 * pow1516; // pow(trace_generator, (safe_div((safe_mult(1473, global_values.trace_length)), 4096))). + assert pow1518 = pow58 * pow1517; // pow(trace_generator, (safe_div((safe_mult(23569, global_values.trace_length)), 65536))). + assert pow1519 = pow58 * pow1518; // pow(trace_generator, (safe_div((safe_mult(11785, global_values.trace_length)), 32768))). + assert pow1520 = pow58 * pow1519; // pow(trace_generator, (safe_div((safe_mult(23571, global_values.trace_length)), 65536))). + assert pow1521 = pow58 * pow1520; // pow(trace_generator, (safe_div((safe_mult(5893, global_values.trace_length)), 16384))). + assert pow1522 = pow58 * pow1521; // pow(trace_generator, (safe_div((safe_mult(23573, global_values.trace_length)), 65536))). + assert pow1523 = pow58 * pow1522; // pow(trace_generator, (safe_div((safe_mult(11787, global_values.trace_length)), 32768))). + assert pow1524 = pow58 * pow1523; // pow(trace_generator, (safe_div((safe_mult(23575, global_values.trace_length)), 65536))). + assert pow1525 = pow105 * pow1524; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1526 = pow126 * pow1525; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1527 = pow126 * pow1526; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1528 = pow126 * pow1527; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1529 = pow126 * pow1528; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1530 = pow126 * pow1529; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1531 = pow126 * pow1530; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 32))). + assert pow1532 = pow606 * pow1531; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1533 = pow58 * pow1532; // pow(trace_generator, (safe_div((safe_mult(24577, global_values.trace_length)), 65536))). + assert pow1534 = pow58 * pow1533; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 32768))). + assert pow1535 = pow58 * pow1534; // pow(trace_generator, (safe_div((safe_mult(24579, global_values.trace_length)), 65536))). + assert pow1536 = pow58 * pow1535; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 16384))). + assert pow1537 = pow58 * pow1536; // pow(trace_generator, (safe_div((safe_mult(24581, global_values.trace_length)), 65536))). + assert pow1538 = pow58 * pow1537; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 32768))). + assert pow1539 = pow58 * pow1538; // pow(trace_generator, (safe_div((safe_mult(24583, global_values.trace_length)), 65536))). + assert pow1540 = pow58 * pow1539; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 8192))). + assert pow1541 = pow58 * pow1540; // pow(trace_generator, (safe_div((safe_mult(24585, global_values.trace_length)), 65536))). + assert pow1542 = pow58 * pow1541; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 32768))). + assert pow1543 = pow58 * pow1542; // pow(trace_generator, (safe_div((safe_mult(24587, global_values.trace_length)), 65536))). + assert pow1544 = pow58 * pow1543; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 16384))). + assert pow1545 = pow58 * pow1544; // pow(trace_generator, (safe_div((safe_mult(24589, global_values.trace_length)), 65536))). + assert pow1546 = pow58 * pow1545; // pow(trace_generator, (safe_div((safe_mult(12295, global_values.trace_length)), 32768))). + assert pow1547 = pow58 * pow1546; // pow(trace_generator, (safe_div((safe_mult(24591, global_values.trace_length)), 65536))). + assert pow1548 = pow58 * pow1547; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 4096))). + assert pow1549 = pow58 * pow1548; // pow(trace_generator, (safe_div((safe_mult(24593, global_values.trace_length)), 65536))). + assert pow1550 = pow58 * pow1549; // pow(trace_generator, (safe_div((safe_mult(12297, global_values.trace_length)), 32768))). + assert pow1551 = pow58 * pow1550; // pow(trace_generator, (safe_div((safe_mult(24595, global_values.trace_length)), 65536))). + assert pow1552 = pow58 * pow1551; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 16384))). + assert pow1553 = pow58 * pow1552; // pow(trace_generator, (safe_div((safe_mult(24597, global_values.trace_length)), 65536))). + assert pow1554 = pow58 * pow1553; // pow(trace_generator, (safe_div((safe_mult(12299, global_values.trace_length)), 32768))). + assert pow1555 = pow58 * pow1554; // pow(trace_generator, (safe_div((safe_mult(24599, global_values.trace_length)), 65536))). + assert pow1556 = pow105 * pow1555; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1557 = pow126 * pow1556; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1558 = pow126 * pow1557; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1559 = pow126 * pow1558; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1560 = pow126 * pow1559; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1561 = pow126 * pow1560; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1562 = pow126 * pow1561; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1563 = pow126 * pow1562; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1564 = pow126 * pow1563; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1565 = pow126 * pow1564; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1566 = pow126 * pow1565; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1567 = pow126 * pow1566; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1568 = pow126 * pow1567; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1569 = pow126 * pow1568; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1570 = pow126 * pow1569; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1571 = pow126 * pow1570; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1572 = pow58 * pow1571; // pow(trace_generator, (safe_div((safe_mult(25601, global_values.trace_length)), 65536))). + assert pow1573 = pow58 * pow1572; // pow(trace_generator, (safe_div((safe_mult(12801, global_values.trace_length)), 32768))). + assert pow1574 = pow58 * pow1573; // pow(trace_generator, (safe_div((safe_mult(25603, global_values.trace_length)), 65536))). + assert pow1575 = pow58 * pow1574; // pow(trace_generator, (safe_div((safe_mult(6401, global_values.trace_length)), 16384))). + assert pow1576 = pow58 * pow1575; // pow(trace_generator, (safe_div((safe_mult(25605, global_values.trace_length)), 65536))). + assert pow1577 = pow58 * pow1576; // pow(trace_generator, (safe_div((safe_mult(12803, global_values.trace_length)), 32768))). + assert pow1578 = pow58 * pow1577; // pow(trace_generator, (safe_div((safe_mult(25607, global_values.trace_length)), 65536))). + assert pow1579 = pow58 * pow1578; // pow(trace_generator, (safe_div((safe_mult(3201, global_values.trace_length)), 8192))). + assert pow1580 = pow58 * pow1579; // pow(trace_generator, (safe_div((safe_mult(25609, global_values.trace_length)), 65536))). + assert pow1581 = pow58 * pow1580; // pow(trace_generator, (safe_div((safe_mult(12805, global_values.trace_length)), 32768))). + assert pow1582 = pow58 * pow1581; // pow(trace_generator, (safe_div((safe_mult(25611, global_values.trace_length)), 65536))). + assert pow1583 = pow58 * pow1582; // pow(trace_generator, (safe_div((safe_mult(6403, global_values.trace_length)), 16384))). + assert pow1584 = pow58 * pow1583; // pow(trace_generator, (safe_div((safe_mult(25613, global_values.trace_length)), 65536))). + assert pow1585 = pow58 * pow1584; // pow(trace_generator, (safe_div((safe_mult(12807, global_values.trace_length)), 32768))). + assert pow1586 = pow58 * pow1585; // pow(trace_generator, (safe_div((safe_mult(25615, global_values.trace_length)), 65536))). + assert pow1587 = pow58 * pow1586; // pow(trace_generator, (safe_div((safe_mult(1601, global_values.trace_length)), 4096))). + assert pow1588 = pow58 * pow1587; // pow(trace_generator, (safe_div((safe_mult(25617, global_values.trace_length)), 65536))). + assert pow1589 = pow58 * pow1588; // pow(trace_generator, (safe_div((safe_mult(12809, global_values.trace_length)), 32768))). + assert pow1590 = pow58 * pow1589; // pow(trace_generator, (safe_div((safe_mult(25619, global_values.trace_length)), 65536))). + assert pow1591 = pow58 * pow1590; // pow(trace_generator, (safe_div((safe_mult(6405, global_values.trace_length)), 16384))). + assert pow1592 = pow58 * pow1591; // pow(trace_generator, (safe_div((safe_mult(25621, global_values.trace_length)), 65536))). + assert pow1593 = pow58 * pow1592; // pow(trace_generator, (safe_div((safe_mult(12811, global_values.trace_length)), 32768))). + assert pow1594 = pow58 * pow1593; // pow(trace_generator, (safe_div((safe_mult(25623, global_values.trace_length)), 65536))). + assert pow1595 = pow105 * pow1594; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1596 = pow126 * pow1595; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1597 = pow126 * pow1596; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1598 = pow126 * pow1597; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1599 = pow126 * pow1598; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1600 = pow126 * pow1599; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1601 = pow126 * pow1600; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(3, global_values.trace_length)), 8))). + assert pow1602 = pow606 * pow1601; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 32))). + assert pow1603 = pow819 * pow1602; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 64))). + assert pow1604 = pow58 * pow1602; // pow(trace_generator, (safe_div((safe_mult(26625, global_values.trace_length)), 65536))). + assert pow1605 = pow58 * pow1603; // pow(trace_generator, (safe_div((safe_mult(27649, global_values.trace_length)), 65536))). + assert pow1606 = pow58 * pow1604; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 32768))). + assert pow1607 = pow58 * pow1605; // pow(trace_generator, (safe_div((safe_mult(13825, global_values.trace_length)), 32768))). + assert pow1608 = pow58 * pow1606; // pow(trace_generator, (safe_div((safe_mult(26627, global_values.trace_length)), 65536))). + assert pow1609 = pow58 * pow1607; // pow(trace_generator, (safe_div((safe_mult(27651, global_values.trace_length)), 65536))). + assert pow1610 = pow58 * pow1608; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 16384))). + assert pow1611 = pow58 * pow1609; // pow(trace_generator, (safe_div((safe_mult(6913, global_values.trace_length)), 16384))). + assert pow1612 = pow58 * pow1610; // pow(trace_generator, (safe_div((safe_mult(26629, global_values.trace_length)), 65536))). + assert pow1613 = pow58 * pow1611; // pow(trace_generator, (safe_div((safe_mult(27653, global_values.trace_length)), 65536))). + assert pow1614 = pow58 * pow1612; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 32768))). + assert pow1615 = pow58 * pow1613; // pow(trace_generator, (safe_div((safe_mult(13827, global_values.trace_length)), 32768))). + assert pow1616 = pow58 * pow1614; // pow(trace_generator, (safe_div((safe_mult(26631, global_values.trace_length)), 65536))). + assert pow1617 = pow58 * pow1615; // pow(trace_generator, (safe_div((safe_mult(27655, global_values.trace_length)), 65536))). + assert pow1618 = pow58 * pow1616; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 8192))). + assert pow1619 = pow58 * pow1618; // pow(trace_generator, (safe_div((safe_mult(26633, global_values.trace_length)), 65536))). + assert pow1620 = pow58 * pow1619; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 32768))). + assert pow1621 = pow58 * pow1620; // pow(trace_generator, (safe_div((safe_mult(26635, global_values.trace_length)), 65536))). + assert pow1622 = pow58 * pow1621; // pow(trace_generator, (safe_div((safe_mult(6659, global_values.trace_length)), 16384))). + assert pow1623 = pow58 * pow1622; // pow(trace_generator, (safe_div((safe_mult(26637, global_values.trace_length)), 65536))). + assert pow1624 = pow58 * pow1623; // pow(trace_generator, (safe_div((safe_mult(13319, global_values.trace_length)), 32768))). + assert pow1625 = pow58 * pow1624; // pow(trace_generator, (safe_div((safe_mult(26639, global_values.trace_length)), 65536))). + assert pow1626 = pow58 * pow1625; // pow(trace_generator, (safe_div((safe_mult(1665, global_values.trace_length)), 4096))). + assert pow1627 = pow58 * pow1626; // pow(trace_generator, (safe_div((safe_mult(26641, global_values.trace_length)), 65536))). + assert pow1628 = pow58 * pow1627; // pow(trace_generator, (safe_div((safe_mult(13321, global_values.trace_length)), 32768))). + assert pow1629 = pow58 * pow1628; // pow(trace_generator, (safe_div((safe_mult(26643, global_values.trace_length)), 65536))). + assert pow1630 = pow58 * pow1629; // pow(trace_generator, (safe_div((safe_mult(6661, global_values.trace_length)), 16384))). + assert pow1631 = pow58 * pow1630; // pow(trace_generator, (safe_div((safe_mult(26645, global_values.trace_length)), 65536))). + assert pow1632 = pow58 * pow1631; // pow(trace_generator, (safe_div((safe_mult(13323, global_values.trace_length)), 32768))). + assert pow1633 = pow58 * pow1632; // pow(trace_generator, (safe_div((safe_mult(26647, global_values.trace_length)), 65536))). + assert pow1634 = pow58 * pow1617; // pow(trace_generator, (safe_div((safe_mult(3457, global_values.trace_length)), 8192))). + assert pow1635 = pow58 * pow1634; // pow(trace_generator, (safe_div((safe_mult(27657, global_values.trace_length)), 65536))). + assert pow1636 = pow58 * pow1635; // pow(trace_generator, (safe_div((safe_mult(13829, global_values.trace_length)), 32768))). + assert pow1637 = pow58 * pow1636; // pow(trace_generator, (safe_div((safe_mult(27659, global_values.trace_length)), 65536))). + assert pow1638 = pow58 * pow1637; // pow(trace_generator, (safe_div((safe_mult(6915, global_values.trace_length)), 16384))). + assert pow1639 = pow58 * pow1638; // pow(trace_generator, (safe_div((safe_mult(27661, global_values.trace_length)), 65536))). + assert pow1640 = pow58 * pow1639; // pow(trace_generator, (safe_div((safe_mult(13831, global_values.trace_length)), 32768))). + assert pow1641 = pow58 * pow1640; // pow(trace_generator, (safe_div((safe_mult(27663, global_values.trace_length)), 65536))). + assert pow1642 = pow58 * pow1641; // pow(trace_generator, (safe_div((safe_mult(1729, global_values.trace_length)), 4096))). + assert pow1643 = pow58 * pow1642; // pow(trace_generator, (safe_div((safe_mult(27665, global_values.trace_length)), 65536))). + assert pow1644 = pow58 * pow1643; // pow(trace_generator, (safe_div((safe_mult(13833, global_values.trace_length)), 32768))). + assert pow1645 = pow58 * pow1644; // pow(trace_generator, (safe_div((safe_mult(27667, global_values.trace_length)), 65536))). + assert pow1646 = pow58 * pow1645; // pow(trace_generator, (safe_div((safe_mult(6917, global_values.trace_length)), 16384))). + assert pow1647 = pow58 * pow1646; // pow(trace_generator, (safe_div((safe_mult(27669, global_values.trace_length)), 65536))). + assert pow1648 = pow58 * pow1647; // pow(trace_generator, (safe_div((safe_mult(13835, global_values.trace_length)), 32768))). + assert pow1649 = pow58 * pow1648; // pow(trace_generator, (safe_div((safe_mult(27671, global_values.trace_length)), 65536))). + assert pow1650 = pow889 * pow1603; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1651 = pow126 * pow1650; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1652 = pow126 * pow1651; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1653 = pow126 * pow1652; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1654 = pow126 * pow1653; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1655 = pow126 * pow1654; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1656 = pow126 * pow1655; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1657 = pow126 * pow1656; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1658 = pow126 * pow1657; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1659 = pow126 * pow1658; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1660 = pow126 * pow1659; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1661 = pow126 * pow1660; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1662 = pow126 * pow1661; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1663 = pow126 * pow1662; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1664 = pow126 * pow1663; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1665 = pow126 * pow1664; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1666 = pow126 * pow1665; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1667 = pow58 * pow1666; // pow(trace_generator, (safe_div(global_values.trace_length, 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1668 = pow58 * pow1667; // pow(trace_generator, (safe_div(global_values.trace_length, 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1669 = pow58 * pow1668; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1670 = pow58 * pow1669; // pow(trace_generator, (safe_div(global_values.trace_length, 16384)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1671 = pow58 * pow1670; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1672 = pow58 * pow1671; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1673 = pow58 * pow1672; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1674 = pow58 * pow1673; // pow(trace_generator, (safe_div(global_values.trace_length, 8192)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1675 = pow58 * pow1674; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1676 = pow58 * pow1675; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1677 = pow58 * pow1676; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1678 = pow58 * pow1677; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16384)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1679 = pow58 * pow1678; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1680 = pow58 * pow1679; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1681 = pow58 * pow1680; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1682 = pow58 * pow1681; // pow(trace_generator, (safe_div(global_values.trace_length, 4096)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1683 = pow58 * pow1682; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1684 = pow58 * pow1683; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1685 = pow58 * pow1684; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1686 = pow58 * pow1685; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16384)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1687 = pow58 * pow1686; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1688 = pow58 * pow1687; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32768)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1689 = pow58 * pow1688; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 65536)) + (safe_div((safe_mult(31, global_values.trace_length)), 64))). + assert pow1690 = pow105 * pow1689; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1691 = pow126 * pow1690; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1692 = pow126 * pow1691; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1693 = pow126 * pow1692; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1694 = pow126 * pow1693; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1695 = pow126 * pow1694; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1696 = pow126 * pow1695; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(15, global_values.trace_length)), 32))). + assert pow1697 = pow606 * pow1696; // pow(trace_generator, (safe_div(global_values.trace_length, 2))). + assert pow1698 = pow126 * pow1697; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1699 = pow126 * pow1698; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div(global_values.trace_length, 2))). + assert pow1700 = pow126 * pow1699; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1701 = pow126 * pow1700; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div(global_values.trace_length, 2))). + assert pow1702 = pow126 * pow1701; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1703 = pow126 * pow1702; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). + assert pow1704 = pow126 * pow1703; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1705 = pow126 * pow1704; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div(global_values.trace_length, 2))). + assert pow1706 = pow126 * pow1705; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1707 = pow126 * pow1706; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). + assert pow1708 = pow126 * pow1707; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1709 = pow126 * pow1708; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 2))). + assert pow1710 = pow126 * pow1709; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1711 = pow126 * pow1710; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). + assert pow1712 = pow126 * pow1711; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1713 = pow126 * pow1712; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div(global_values.trace_length, 2))). + assert pow1714 = pow126 * pow1713; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1715 = pow126 * pow1714; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). + assert pow1716 = pow126 * pow1715; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1717 = pow126 * pow1716; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div(global_values.trace_length, 2))). + assert pow1718 = pow126 * pow1717; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1719 = pow126 * pow1718; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div(global_values.trace_length, 2))). + assert pow1720 = pow126 * pow1719; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div(global_values.trace_length, 2))). + assert pow1721 = pow606 * pow1720; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1722 = pow126 * pow1721; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1723 = pow126 * pow1722; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1724 = pow126 * pow1723; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1725 = pow126 * pow1724; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1726 = pow126 * pow1725; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1727 = pow126 * pow1726; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1728 = pow126 * pow1727; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1729 = pow126 * pow1728; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1730 = pow126 * pow1729; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1731 = pow126 * pow1730; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1732 = pow126 * pow1731; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1733 = pow126 * pow1732; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1734 = pow126 * pow1733; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1735 = pow126 * pow1734; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1736 = pow126 * pow1735; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1737 = pow126 * pow1736; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1738 = pow126 * pow1737; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1739 = pow126 * pow1738; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1740 = pow126 * pow1739; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1741 = pow126 * pow1740; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1742 = pow126 * pow1741; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1743 = pow126 * pow1742; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1744 = pow126 * pow1743; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(17, global_values.trace_length)), 32))). + assert pow1745 = pow606 * pow1744; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 16))). + assert pow1746 = pow58 * pow1745; // pow(trace_generator, (safe_div((safe_mult(36865, global_values.trace_length)), 65536))). + assert pow1747 = pow58 * pow1746; // pow(trace_generator, (safe_div((safe_mult(18433, global_values.trace_length)), 32768))). + assert pow1748 = pow58 * pow1747; // pow(trace_generator, (safe_div((safe_mult(36867, global_values.trace_length)), 65536))). + assert pow1749 = pow58 * pow1748; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 16384))). + assert pow1750 = pow58 * pow1749; // pow(trace_generator, (safe_div((safe_mult(36869, global_values.trace_length)), 65536))). + assert pow1751 = pow58 * pow1750; // pow(trace_generator, (safe_div((safe_mult(18435, global_values.trace_length)), 32768))). + assert pow1752 = pow58 * pow1751; // pow(trace_generator, (safe_div((safe_mult(36871, global_values.trace_length)), 65536))). + assert pow1753 = pow58 * pow1752; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 8192))). + assert pow1754 = pow58 * pow1753; // pow(trace_generator, (safe_div((safe_mult(36873, global_values.trace_length)), 65536))). + assert pow1755 = pow58 * pow1754; // pow(trace_generator, (safe_div((safe_mult(18437, global_values.trace_length)), 32768))). + assert pow1756 = pow58 * pow1755; // pow(trace_generator, (safe_div((safe_mult(36875, global_values.trace_length)), 65536))). + assert pow1757 = pow58 * pow1756; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 16384))). + assert pow1758 = pow58 * pow1757; // pow(trace_generator, (safe_div((safe_mult(36877, global_values.trace_length)), 65536))). + assert pow1759 = pow58 * pow1758; // pow(trace_generator, (safe_div((safe_mult(18439, global_values.trace_length)), 32768))). + assert pow1760 = pow58 * pow1759; // pow(trace_generator, (safe_div((safe_mult(36879, global_values.trace_length)), 65536))). + assert pow1761 = pow58 * pow1760; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 4096))). + assert pow1762 = pow58 * pow1761; // pow(trace_generator, (safe_div((safe_mult(36881, global_values.trace_length)), 65536))). + assert pow1763 = pow58 * pow1762; // pow(trace_generator, (safe_div((safe_mult(18441, global_values.trace_length)), 32768))). + assert pow1764 = pow58 * pow1763; // pow(trace_generator, (safe_div((safe_mult(36883, global_values.trace_length)), 65536))). + assert pow1765 = pow58 * pow1764; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 16384))). + assert pow1766 = pow58 * pow1765; // pow(trace_generator, (safe_div((safe_mult(36885, global_values.trace_length)), 65536))). + assert pow1767 = pow58 * pow1766; // pow(trace_generator, (safe_div((safe_mult(18443, global_values.trace_length)), 32768))). + assert pow1768 = pow58 * pow1767; // pow(trace_generator, (safe_div((safe_mult(36887, global_values.trace_length)), 65536))). + assert pow1769 = pow819 * pow1745; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 64))). + assert pow1770 = pow58 * pow1769; // pow(trace_generator, (safe_div((safe_mult(37889, global_values.trace_length)), 65536))). + assert pow1771 = pow58 * pow1770; // pow(trace_generator, (safe_div((safe_mult(18945, global_values.trace_length)), 32768))). + assert pow1772 = pow58 * pow1771; // pow(trace_generator, (safe_div((safe_mult(37891, global_values.trace_length)), 65536))). + assert pow1773 = pow58 * pow1772; // pow(trace_generator, (safe_div((safe_mult(9473, global_values.trace_length)), 16384))). + assert pow1774 = pow58 * pow1773; // pow(trace_generator, (safe_div((safe_mult(37893, global_values.trace_length)), 65536))). + assert pow1775 = pow58 * pow1774; // pow(trace_generator, (safe_div((safe_mult(18947, global_values.trace_length)), 32768))). + assert pow1776 = pow58 * pow1775; // pow(trace_generator, (safe_div((safe_mult(37895, global_values.trace_length)), 65536))). + assert pow1777 = pow58 * pow1776; // pow(trace_generator, (safe_div((safe_mult(4737, global_values.trace_length)), 8192))). + assert pow1778 = pow58 * pow1777; // pow(trace_generator, (safe_div((safe_mult(37897, global_values.trace_length)), 65536))). + assert pow1779 = pow58 * pow1778; // pow(trace_generator, (safe_div((safe_mult(18949, global_values.trace_length)), 32768))). + assert pow1780 = pow58 * pow1779; // pow(trace_generator, (safe_div((safe_mult(37899, global_values.trace_length)), 65536))). + assert pow1781 = pow58 * pow1780; // pow(trace_generator, (safe_div((safe_mult(9475, global_values.trace_length)), 16384))). + assert pow1782 = pow58 * pow1781; // pow(trace_generator, (safe_div((safe_mult(37901, global_values.trace_length)), 65536))). + assert pow1783 = pow58 * pow1782; // pow(trace_generator, (safe_div((safe_mult(18951, global_values.trace_length)), 32768))). + assert pow1784 = pow58 * pow1783; // pow(trace_generator, (safe_div((safe_mult(37903, global_values.trace_length)), 65536))). + assert pow1785 = pow58 * pow1784; // pow(trace_generator, (safe_div((safe_mult(2369, global_values.trace_length)), 4096))). + assert pow1786 = pow58 * pow1785; // pow(trace_generator, (safe_div((safe_mult(37905, global_values.trace_length)), 65536))). + assert pow1787 = pow58 * pow1786; // pow(trace_generator, (safe_div((safe_mult(18953, global_values.trace_length)), 32768))). + assert pow1788 = pow58 * pow1787; // pow(trace_generator, (safe_div((safe_mult(37907, global_values.trace_length)), 65536))). + assert pow1789 = pow58 * pow1788; // pow(trace_generator, (safe_div((safe_mult(9477, global_values.trace_length)), 16384))). + assert pow1790 = pow58 * pow1789; // pow(trace_generator, (safe_div((safe_mult(37909, global_values.trace_length)), 65536))). + assert pow1791 = pow58 * pow1790; // pow(trace_generator, (safe_div((safe_mult(18955, global_values.trace_length)), 32768))). + assert pow1792 = pow58 * pow1791; // pow(trace_generator, (safe_div((safe_mult(37911, global_values.trace_length)), 65536))). + assert pow1793 = pow819 * pow1769; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32))). + assert pow1794 = pow58 * pow1793; // pow(trace_generator, (safe_div((safe_mult(38913, global_values.trace_length)), 65536))). + assert pow1795 = pow58 * pow1794; // pow(trace_generator, (safe_div((safe_mult(19457, global_values.trace_length)), 32768))). + assert pow1796 = pow58 * pow1795; // pow(trace_generator, (safe_div((safe_mult(38915, global_values.trace_length)), 65536))). + assert pow1797 = pow58 * pow1796; // pow(trace_generator, (safe_div((safe_mult(9729, global_values.trace_length)), 16384))). + assert pow1798 = pow58 * pow1797; // pow(trace_generator, (safe_div((safe_mult(38917, global_values.trace_length)), 65536))). + assert pow1799 = pow58 * pow1798; // pow(trace_generator, (safe_div((safe_mult(19459, global_values.trace_length)), 32768))). + assert pow1800 = pow58 * pow1799; // pow(trace_generator, (safe_div((safe_mult(38919, global_values.trace_length)), 65536))). + assert pow1801 = pow58 * pow1800; // pow(trace_generator, (safe_div((safe_mult(4865, global_values.trace_length)), 8192))). + assert pow1802 = pow58 * pow1801; // pow(trace_generator, (safe_div((safe_mult(38921, global_values.trace_length)), 65536))). + assert pow1803 = pow58 * pow1802; // pow(trace_generator, (safe_div((safe_mult(19461, global_values.trace_length)), 32768))). + assert pow1804 = pow58 * pow1803; // pow(trace_generator, (safe_div((safe_mult(38923, global_values.trace_length)), 65536))). + assert pow1805 = pow58 * pow1804; // pow(trace_generator, (safe_div((safe_mult(9731, global_values.trace_length)), 16384))). + assert pow1806 = pow58 * pow1805; // pow(trace_generator, (safe_div((safe_mult(38925, global_values.trace_length)), 65536))). + assert pow1807 = pow58 * pow1806; // pow(trace_generator, (safe_div((safe_mult(19463, global_values.trace_length)), 32768))). + assert pow1808 = pow58 * pow1807; // pow(trace_generator, (safe_div((safe_mult(38927, global_values.trace_length)), 65536))). + assert pow1809 = pow58 * pow1808; // pow(trace_generator, (safe_div((safe_mult(2433, global_values.trace_length)), 4096))). + assert pow1810 = pow58 * pow1809; // pow(trace_generator, (safe_div((safe_mult(38929, global_values.trace_length)), 65536))). + assert pow1811 = pow58 * pow1810; // pow(trace_generator, (safe_div((safe_mult(19465, global_values.trace_length)), 32768))). + assert pow1812 = pow58 * pow1811; // pow(trace_generator, (safe_div((safe_mult(38931, global_values.trace_length)), 65536))). + assert pow1813 = pow58 * pow1812; // pow(trace_generator, (safe_div((safe_mult(9733, global_values.trace_length)), 16384))). + assert pow1814 = pow58 * pow1813; // pow(trace_generator, (safe_div((safe_mult(38933, global_values.trace_length)), 65536))). + assert pow1815 = pow58 * pow1814; // pow(trace_generator, (safe_div((safe_mult(19467, global_values.trace_length)), 32768))). + assert pow1816 = pow58 * pow1815; // pow(trace_generator, (safe_div((safe_mult(38935, global_values.trace_length)), 65536))). + assert pow1817 = pow819 * pow1793; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 64))). + assert pow1818 = pow58 * pow1817; // pow(trace_generator, (safe_div((safe_mult(39937, global_values.trace_length)), 65536))). + assert pow1819 = pow58 * pow1818; // pow(trace_generator, (safe_div((safe_mult(19969, global_values.trace_length)), 32768))). + assert pow1820 = pow58 * pow1819; // pow(trace_generator, (safe_div((safe_mult(39939, global_values.trace_length)), 65536))). + assert pow1821 = pow58 * pow1820; // pow(trace_generator, (safe_div((safe_mult(9985, global_values.trace_length)), 16384))). + assert pow1822 = pow58 * pow1821; // pow(trace_generator, (safe_div((safe_mult(39941, global_values.trace_length)), 65536))). + assert pow1823 = pow58 * pow1822; // pow(trace_generator, (safe_div((safe_mult(19971, global_values.trace_length)), 32768))). + assert pow1824 = pow58 * pow1823; // pow(trace_generator, (safe_div((safe_mult(39943, global_values.trace_length)), 65536))). + assert pow1825 = pow58 * pow1824; // pow(trace_generator, (safe_div((safe_mult(4993, global_values.trace_length)), 8192))). + assert pow1826 = pow58 * pow1825; // pow(trace_generator, (safe_div((safe_mult(39945, global_values.trace_length)), 65536))). + assert pow1827 = pow58 * pow1826; // pow(trace_generator, (safe_div((safe_mult(19973, global_values.trace_length)), 32768))). + assert pow1828 = pow58 * pow1827; // pow(trace_generator, (safe_div((safe_mult(39947, global_values.trace_length)), 65536))). + assert pow1829 = pow58 * pow1828; // pow(trace_generator, (safe_div((safe_mult(9987, global_values.trace_length)), 16384))). + assert pow1830 = pow58 * pow1829; // pow(trace_generator, (safe_div((safe_mult(39949, global_values.trace_length)), 65536))). + assert pow1831 = pow58 * pow1830; // pow(trace_generator, (safe_div((safe_mult(19975, global_values.trace_length)), 32768))). + assert pow1832 = pow58 * pow1831; // pow(trace_generator, (safe_div((safe_mult(39951, global_values.trace_length)), 65536))). + assert pow1833 = pow58 * pow1832; // pow(trace_generator, (safe_div((safe_mult(2497, global_values.trace_length)), 4096))). + assert pow1834 = pow58 * pow1833; // pow(trace_generator, (safe_div((safe_mult(39953, global_values.trace_length)), 65536))). + assert pow1835 = pow58 * pow1834; // pow(trace_generator, (safe_div((safe_mult(19977, global_values.trace_length)), 32768))). + assert pow1836 = pow58 * pow1835; // pow(trace_generator, (safe_div((safe_mult(39955, global_values.trace_length)), 65536))). + assert pow1837 = pow58 * pow1836; // pow(trace_generator, (safe_div((safe_mult(9989, global_values.trace_length)), 16384))). + assert pow1838 = pow58 * pow1837; // pow(trace_generator, (safe_div((safe_mult(39957, global_values.trace_length)), 65536))). + assert pow1839 = pow58 * pow1838; // pow(trace_generator, (safe_div((safe_mult(19979, global_values.trace_length)), 32768))). + assert pow1840 = pow58 * pow1839; // pow(trace_generator, (safe_div((safe_mult(39959, global_values.trace_length)), 65536))). + assert pow1841 = pow819 * pow1817; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1842 = pow58 * pow1841; // pow(trace_generator, (safe_div((safe_mult(40961, global_values.trace_length)), 65536))). + assert pow1843 = pow58 * pow1842; // pow(trace_generator, (safe_div((safe_mult(20481, global_values.trace_length)), 32768))). + assert pow1844 = pow58 * pow1843; // pow(trace_generator, (safe_div((safe_mult(40963, global_values.trace_length)), 65536))). + assert pow1845 = pow58 * pow1844; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 16384))). + assert pow1846 = pow58 * pow1845; // pow(trace_generator, (safe_div((safe_mult(40965, global_values.trace_length)), 65536))). + assert pow1847 = pow58 * pow1846; // pow(trace_generator, (safe_div((safe_mult(20483, global_values.trace_length)), 32768))). + assert pow1848 = pow58 * pow1847; // pow(trace_generator, (safe_div((safe_mult(40967, global_values.trace_length)), 65536))). + assert pow1849 = pow58 * pow1848; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 8192))). + assert pow1850 = pow58 * pow1849; // pow(trace_generator, (safe_div((safe_mult(40969, global_values.trace_length)), 65536))). + assert pow1851 = pow58 * pow1850; // pow(trace_generator, (safe_div((safe_mult(20485, global_values.trace_length)), 32768))). + assert pow1852 = pow58 * pow1851; // pow(trace_generator, (safe_div((safe_mult(40971, global_values.trace_length)), 65536))). + assert pow1853 = pow58 * pow1852; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 16384))). + assert pow1854 = pow58 * pow1853; // pow(trace_generator, (safe_div((safe_mult(40973, global_values.trace_length)), 65536))). + assert pow1855 = pow58 * pow1854; // pow(trace_generator, (safe_div((safe_mult(20487, global_values.trace_length)), 32768))). + assert pow1856 = pow58 * pow1855; // pow(trace_generator, (safe_div((safe_mult(40975, global_values.trace_length)), 65536))). + assert pow1857 = pow58 * pow1856; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 4096))). + assert pow1858 = pow58 * pow1857; // pow(trace_generator, (safe_div((safe_mult(40977, global_values.trace_length)), 65536))). + assert pow1859 = pow58 * pow1858; // pow(trace_generator, (safe_div((safe_mult(20489, global_values.trace_length)), 32768))). + assert pow1860 = pow58 * pow1859; // pow(trace_generator, (safe_div((safe_mult(40979, global_values.trace_length)), 65536))). + assert pow1861 = pow58 * pow1860; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 16384))). + assert pow1862 = pow58 * pow1861; // pow(trace_generator, (safe_div((safe_mult(40981, global_values.trace_length)), 65536))). + assert pow1863 = pow58 * pow1862; // pow(trace_generator, (safe_div((safe_mult(20491, global_values.trace_length)), 32768))). + assert pow1864 = pow58 * pow1863; // pow(trace_generator, (safe_div((safe_mult(40983, global_values.trace_length)), 65536))). + assert pow1865 = pow105 * pow1864; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1866 = pow126 * pow1865; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1867 = pow126 * pow1866; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1868 = pow126 * pow1867; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1869 = pow126 * pow1868; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1870 = pow126 * pow1869; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1871 = pow126 * pow1870; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1872 = pow126 * pow1871; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1873 = pow126 * pow1872; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1874 = pow126 * pow1873; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1875 = pow126 * pow1874; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1876 = pow126 * pow1875; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1877 = pow126 * pow1876; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1878 = pow126 * pow1877; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1879 = pow126 * pow1878; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1880 = pow126 * pow1879; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1881 = pow58 * pow1880; // pow(trace_generator, (safe_div((safe_mult(41985, global_values.trace_length)), 65536))). + assert pow1882 = pow58 * pow1881; // pow(trace_generator, (safe_div((safe_mult(20993, global_values.trace_length)), 32768))). + assert pow1883 = pow58 * pow1882; // pow(trace_generator, (safe_div((safe_mult(41987, global_values.trace_length)), 65536))). + assert pow1884 = pow58 * pow1883; // pow(trace_generator, (safe_div((safe_mult(10497, global_values.trace_length)), 16384))). + assert pow1885 = pow58 * pow1884; // pow(trace_generator, (safe_div((safe_mult(41989, global_values.trace_length)), 65536))). + assert pow1886 = pow58 * pow1885; // pow(trace_generator, (safe_div((safe_mult(20995, global_values.trace_length)), 32768))). + assert pow1887 = pow58 * pow1886; // pow(trace_generator, (safe_div((safe_mult(41991, global_values.trace_length)), 65536))). + assert pow1888 = pow58 * pow1887; // pow(trace_generator, (safe_div((safe_mult(5249, global_values.trace_length)), 8192))). + assert pow1889 = pow58 * pow1888; // pow(trace_generator, (safe_div((safe_mult(41993, global_values.trace_length)), 65536))). + assert pow1890 = pow58 * pow1889; // pow(trace_generator, (safe_div((safe_mult(20997, global_values.trace_length)), 32768))). + assert pow1891 = pow58 * pow1890; // pow(trace_generator, (safe_div((safe_mult(41995, global_values.trace_length)), 65536))). + assert pow1892 = pow58 * pow1891; // pow(trace_generator, (safe_div((safe_mult(10499, global_values.trace_length)), 16384))). + assert pow1893 = pow58 * pow1892; // pow(trace_generator, (safe_div((safe_mult(41997, global_values.trace_length)), 65536))). + assert pow1894 = pow58 * pow1893; // pow(trace_generator, (safe_div((safe_mult(20999, global_values.trace_length)), 32768))). + assert pow1895 = pow58 * pow1894; // pow(trace_generator, (safe_div((safe_mult(41999, global_values.trace_length)), 65536))). + assert pow1896 = pow58 * pow1895; // pow(trace_generator, (safe_div((safe_mult(2625, global_values.trace_length)), 4096))). + assert pow1897 = pow58 * pow1896; // pow(trace_generator, (safe_div((safe_mult(42001, global_values.trace_length)), 65536))). + assert pow1898 = pow58 * pow1897; // pow(trace_generator, (safe_div((safe_mult(21001, global_values.trace_length)), 32768))). + assert pow1899 = pow58 * pow1898; // pow(trace_generator, (safe_div((safe_mult(42003, global_values.trace_length)), 65536))). + assert pow1900 = pow58 * pow1899; // pow(trace_generator, (safe_div((safe_mult(10501, global_values.trace_length)), 16384))). + assert pow1901 = pow58 * pow1900; // pow(trace_generator, (safe_div((safe_mult(42005, global_values.trace_length)), 65536))). + assert pow1902 = pow58 * pow1901; // pow(trace_generator, (safe_div((safe_mult(21003, global_values.trace_length)), 32768))). + assert pow1903 = pow58 * pow1902; // pow(trace_generator, (safe_div((safe_mult(42007, global_values.trace_length)), 65536))). + assert pow1904 = pow105 * pow1903; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1905 = pow126 * pow1904; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1906 = pow126 * pow1905; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1907 = pow126 * pow1906; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1908 = pow126 * pow1907; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1909 = pow126 * pow1908; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1910 = pow126 * pow1909; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(5, global_values.trace_length)), 8))). + assert pow1911 = pow606 * pow1910; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1912 = pow58 * pow1911; // pow(trace_generator, (safe_div((safe_mult(43009, global_values.trace_length)), 65536))). + assert pow1913 = pow58 * pow1912; // pow(trace_generator, (safe_div((safe_mult(21505, global_values.trace_length)), 32768))). + assert pow1914 = pow58 * pow1913; // pow(trace_generator, (safe_div((safe_mult(43011, global_values.trace_length)), 65536))). + assert pow1915 = pow58 * pow1914; // pow(trace_generator, (safe_div((safe_mult(10753, global_values.trace_length)), 16384))). + assert pow1916 = pow58 * pow1915; // pow(trace_generator, (safe_div((safe_mult(43013, global_values.trace_length)), 65536))). + assert pow1917 = pow58 * pow1916; // pow(trace_generator, (safe_div((safe_mult(21507, global_values.trace_length)), 32768))). + assert pow1918 = pow58 * pow1917; // pow(trace_generator, (safe_div((safe_mult(43015, global_values.trace_length)), 65536))). + assert pow1919 = pow58 * pow1918; // pow(trace_generator, (safe_div((safe_mult(5377, global_values.trace_length)), 8192))). + assert pow1920 = pow58 * pow1919; // pow(trace_generator, (safe_div((safe_mult(43017, global_values.trace_length)), 65536))). + assert pow1921 = pow58 * pow1920; // pow(trace_generator, (safe_div((safe_mult(21509, global_values.trace_length)), 32768))). + assert pow1922 = pow58 * pow1921; // pow(trace_generator, (safe_div((safe_mult(43019, global_values.trace_length)), 65536))). + assert pow1923 = pow58 * pow1922; // pow(trace_generator, (safe_div((safe_mult(10755, global_values.trace_length)), 16384))). + assert pow1924 = pow58 * pow1923; // pow(trace_generator, (safe_div((safe_mult(43021, global_values.trace_length)), 65536))). + assert pow1925 = pow58 * pow1924; // pow(trace_generator, (safe_div((safe_mult(21511, global_values.trace_length)), 32768))). + assert pow1926 = pow58 * pow1925; // pow(trace_generator, (safe_div((safe_mult(43023, global_values.trace_length)), 65536))). + assert pow1927 = pow58 * pow1926; // pow(trace_generator, (safe_div((safe_mult(2689, global_values.trace_length)), 4096))). + assert pow1928 = pow58 * pow1927; // pow(trace_generator, (safe_div((safe_mult(43025, global_values.trace_length)), 65536))). + assert pow1929 = pow58 * pow1928; // pow(trace_generator, (safe_div((safe_mult(21513, global_values.trace_length)), 32768))). + assert pow1930 = pow58 * pow1929; // pow(trace_generator, (safe_div((safe_mult(43027, global_values.trace_length)), 65536))). + assert pow1931 = pow58 * pow1930; // pow(trace_generator, (safe_div((safe_mult(10757, global_values.trace_length)), 16384))). + assert pow1932 = pow58 * pow1931; // pow(trace_generator, (safe_div((safe_mult(43029, global_values.trace_length)), 65536))). + assert pow1933 = pow58 * pow1932; // pow(trace_generator, (safe_div((safe_mult(21515, global_values.trace_length)), 32768))). + assert pow1934 = pow58 * pow1933; // pow(trace_generator, (safe_div((safe_mult(43031, global_values.trace_length)), 65536))). + assert pow1935 = pow105 * pow1934; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1936 = pow126 * pow1935; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1937 = pow126 * pow1936; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1938 = pow126 * pow1937; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1939 = pow126 * pow1938; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1940 = pow126 * pow1939; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1941 = pow126 * pow1940; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1942 = pow126 * pow1941; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1943 = pow126 * pow1942; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1944 = pow126 * pow1943; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1945 = pow126 * pow1944; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1946 = pow126 * pow1945; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1947 = pow126 * pow1946; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1948 = pow126 * pow1947; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1949 = pow126 * pow1948; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1950 = pow126 * pow1949; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1951 = pow58 * pow1950; // pow(trace_generator, (safe_div((safe_mult(44033, global_values.trace_length)), 65536))). + assert pow1952 = pow58 * pow1951; // pow(trace_generator, (safe_div((safe_mult(22017, global_values.trace_length)), 32768))). + assert pow1953 = pow58 * pow1952; // pow(trace_generator, (safe_div((safe_mult(44035, global_values.trace_length)), 65536))). + assert pow1954 = pow58 * pow1953; // pow(trace_generator, (safe_div((safe_mult(11009, global_values.trace_length)), 16384))). + assert pow1955 = pow58 * pow1954; // pow(trace_generator, (safe_div((safe_mult(44037, global_values.trace_length)), 65536))). + assert pow1956 = pow58 * pow1955; // pow(trace_generator, (safe_div((safe_mult(22019, global_values.trace_length)), 32768))). + assert pow1957 = pow58 * pow1956; // pow(trace_generator, (safe_div((safe_mult(44039, global_values.trace_length)), 65536))). + assert pow1958 = pow58 * pow1957; // pow(trace_generator, (safe_div((safe_mult(5505, global_values.trace_length)), 8192))). + assert pow1959 = pow58 * pow1958; // pow(trace_generator, (safe_div((safe_mult(44041, global_values.trace_length)), 65536))). + assert pow1960 = pow58 * pow1959; // pow(trace_generator, (safe_div((safe_mult(22021, global_values.trace_length)), 32768))). + assert pow1961 = pow58 * pow1960; // pow(trace_generator, (safe_div((safe_mult(44043, global_values.trace_length)), 65536))). + assert pow1962 = pow58 * pow1961; // pow(trace_generator, (safe_div((safe_mult(11011, global_values.trace_length)), 16384))). + assert pow1963 = pow58 * pow1962; // pow(trace_generator, (safe_div((safe_mult(44045, global_values.trace_length)), 65536))). + assert pow1964 = pow58 * pow1963; // pow(trace_generator, (safe_div((safe_mult(22023, global_values.trace_length)), 32768))). + assert pow1965 = pow58 * pow1964; // pow(trace_generator, (safe_div((safe_mult(44047, global_values.trace_length)), 65536))). + assert pow1966 = pow58 * pow1965; // pow(trace_generator, (safe_div((safe_mult(2753, global_values.trace_length)), 4096))). + assert pow1967 = pow58 * pow1966; // pow(trace_generator, (safe_div((safe_mult(44049, global_values.trace_length)), 65536))). + assert pow1968 = pow58 * pow1967; // pow(trace_generator, (safe_div((safe_mult(22025, global_values.trace_length)), 32768))). + assert pow1969 = pow58 * pow1968; // pow(trace_generator, (safe_div((safe_mult(44051, global_values.trace_length)), 65536))). + assert pow1970 = pow58 * pow1969; // pow(trace_generator, (safe_div((safe_mult(11013, global_values.trace_length)), 16384))). + assert pow1971 = pow58 * pow1970; // pow(trace_generator, (safe_div((safe_mult(44053, global_values.trace_length)), 65536))). + assert pow1972 = pow58 * pow1971; // pow(trace_generator, (safe_div((safe_mult(22027, global_values.trace_length)), 32768))). + assert pow1973 = pow58 * pow1972; // pow(trace_generator, (safe_div((safe_mult(44055, global_values.trace_length)), 65536))). + assert pow1974 = pow105 * pow1973; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1975 = pow126 * pow1974; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1976 = pow126 * pow1975; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1977 = pow126 * pow1976; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1978 = pow126 * pow1977; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1979 = pow126 * pow1978; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1980 = pow126 * pow1979; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(21, global_values.trace_length)), 32))). + assert pow1981 = pow606 * pow1980; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow1982 = pow58 * pow1981; // pow(trace_generator, (safe_div((safe_mult(45057, global_values.trace_length)), 65536))). + assert pow1983 = pow58 * pow1982; // pow(trace_generator, (safe_div((safe_mult(22529, global_values.trace_length)), 32768))). + assert pow1984 = pow58 * pow1983; // pow(trace_generator, (safe_div((safe_mult(45059, global_values.trace_length)), 65536))). + assert pow1985 = pow58 * pow1984; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 16384))). + assert pow1986 = pow58 * pow1985; // pow(trace_generator, (safe_div((safe_mult(45061, global_values.trace_length)), 65536))). + assert pow1987 = pow58 * pow1986; // pow(trace_generator, (safe_div((safe_mult(22531, global_values.trace_length)), 32768))). + assert pow1988 = pow58 * pow1987; // pow(trace_generator, (safe_div((safe_mult(45063, global_values.trace_length)), 65536))). + assert pow1989 = pow58 * pow1988; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 8192))). + assert pow1990 = pow58 * pow1989; // pow(trace_generator, (safe_div((safe_mult(45065, global_values.trace_length)), 65536))). + assert pow1991 = pow58 * pow1990; // pow(trace_generator, (safe_div((safe_mult(22533, global_values.trace_length)), 32768))). + assert pow1992 = pow58 * pow1991; // pow(trace_generator, (safe_div((safe_mult(45067, global_values.trace_length)), 65536))). + assert pow1993 = pow58 * pow1992; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 16384))). + assert pow1994 = pow58 * pow1993; // pow(trace_generator, (safe_div((safe_mult(45069, global_values.trace_length)), 65536))). + assert pow1995 = pow58 * pow1994; // pow(trace_generator, (safe_div((safe_mult(22535, global_values.trace_length)), 32768))). + assert pow1996 = pow58 * pow1995; // pow(trace_generator, (safe_div((safe_mult(45071, global_values.trace_length)), 65536))). + assert pow1997 = pow58 * pow1996; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 4096))). + assert pow1998 = pow58 * pow1997; // pow(trace_generator, (safe_div((safe_mult(45073, global_values.trace_length)), 65536))). + assert pow1999 = pow58 * pow1998; // pow(trace_generator, (safe_div((safe_mult(22537, global_values.trace_length)), 32768))). + assert pow2000 = pow58 * pow1999; // pow(trace_generator, (safe_div((safe_mult(45075, global_values.trace_length)), 65536))). + assert pow2001 = pow58 * pow2000; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 16384))). + assert pow2002 = pow58 * pow2001; // pow(trace_generator, (safe_div((safe_mult(45077, global_values.trace_length)), 65536))). + assert pow2003 = pow58 * pow2002; // pow(trace_generator, (safe_div((safe_mult(22539, global_values.trace_length)), 32768))). + assert pow2004 = pow58 * pow2003; // pow(trace_generator, (safe_div((safe_mult(45079, global_values.trace_length)), 65536))). + assert pow2005 = pow105 * pow2004; // pow(trace_generator, (safe_div(global_values.trace_length, 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2006 = pow126 * pow2005; // pow(trace_generator, (safe_div(global_values.trace_length, 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2007 = pow126 * pow2006; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2008 = pow126 * pow2007; // pow(trace_generator, (safe_div(global_values.trace_length, 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2009 = pow126 * pow2008; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2010 = pow126 * pow2009; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2011 = pow126 * pow2010; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2012 = pow126 * pow2011; // pow(trace_generator, (safe_div(global_values.trace_length, 128)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2013 = pow126 * pow2012; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2014 = pow126 * pow2013; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2015 = pow126 * pow2014; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2016 = pow126 * pow2015; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2017 = pow126 * pow2016; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2018 = pow126 * pow2017; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2019 = pow126 * pow2018; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2020 = pow126 * pow2019; // pow(trace_generator, (safe_div(global_values.trace_length, 64)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2021 = pow58 * pow2020; // pow(trace_generator, (safe_div((safe_mult(46081, global_values.trace_length)), 65536))). + assert pow2022 = pow58 * pow2021; // pow(trace_generator, (safe_div((safe_mult(23041, global_values.trace_length)), 32768))). + assert pow2023 = pow58 * pow2022; // pow(trace_generator, (safe_div((safe_mult(46083, global_values.trace_length)), 65536))). + assert pow2024 = pow58 * pow2023; // pow(trace_generator, (safe_div((safe_mult(11521, global_values.trace_length)), 16384))). + assert pow2025 = pow58 * pow2024; // pow(trace_generator, (safe_div((safe_mult(46085, global_values.trace_length)), 65536))). + assert pow2026 = pow58 * pow2025; // pow(trace_generator, (safe_div((safe_mult(23043, global_values.trace_length)), 32768))). + assert pow2027 = pow58 * pow2026; // pow(trace_generator, (safe_div((safe_mult(46087, global_values.trace_length)), 65536))). + assert pow2028 = pow58 * pow2027; // pow(trace_generator, (safe_div((safe_mult(5761, global_values.trace_length)), 8192))). + assert pow2029 = pow58 * pow2028; // pow(trace_generator, (safe_div((safe_mult(46089, global_values.trace_length)), 65536))). + assert pow2030 = pow58 * pow2029; // pow(trace_generator, (safe_div((safe_mult(23045, global_values.trace_length)), 32768))). + assert pow2031 = pow58 * pow2030; // pow(trace_generator, (safe_div((safe_mult(46091, global_values.trace_length)), 65536))). + assert pow2032 = pow58 * pow2031; // pow(trace_generator, (safe_div((safe_mult(11523, global_values.trace_length)), 16384))). + assert pow2033 = pow58 * pow2032; // pow(trace_generator, (safe_div((safe_mult(46093, global_values.trace_length)), 65536))). + assert pow2034 = pow58 * pow2033; // pow(trace_generator, (safe_div((safe_mult(23047, global_values.trace_length)), 32768))). + assert pow2035 = pow58 * pow2034; // pow(trace_generator, (safe_div((safe_mult(46095, global_values.trace_length)), 65536))). + assert pow2036 = pow58 * pow2035; // pow(trace_generator, (safe_div((safe_mult(2881, global_values.trace_length)), 4096))). + assert pow2037 = pow58 * pow2036; // pow(trace_generator, (safe_div((safe_mult(46097, global_values.trace_length)), 65536))). + assert pow2038 = pow58 * pow2037; // pow(trace_generator, (safe_div((safe_mult(23049, global_values.trace_length)), 32768))). + assert pow2039 = pow58 * pow2038; // pow(trace_generator, (safe_div((safe_mult(46099, global_values.trace_length)), 65536))). + assert pow2040 = pow58 * pow2039; // pow(trace_generator, (safe_div((safe_mult(11525, global_values.trace_length)), 16384))). + assert pow2041 = pow58 * pow2040; // pow(trace_generator, (safe_div((safe_mult(46101, global_values.trace_length)), 65536))). + assert pow2042 = pow58 * pow2041; // pow(trace_generator, (safe_div((safe_mult(23051, global_values.trace_length)), 32768))). + assert pow2043 = pow58 * pow2042; // pow(trace_generator, (safe_div((safe_mult(46103, global_values.trace_length)), 65536))). + assert pow2044 = pow105 * pow2043; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2045 = pow126 * pow2044; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2046 = pow126 * pow2045; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2047 = pow126 * pow2046; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2048 = pow126 * pow2047; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2049 = pow126 * pow2048; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2050 = pow126 * pow2049; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024)) + (safe_div((safe_mult(11, global_values.trace_length)), 16))). + assert pow2051 = pow606 * pow2050; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32))). + assert pow2052 = pow819 * pow2051; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 64))). + assert pow2053 = pow819 * pow2052; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4))). + assert pow2054 = pow58 * pow2051; // pow(trace_generator, (safe_div((safe_mult(47105, global_values.trace_length)), 65536))). + assert pow2055 = pow58 * pow2052; // pow(trace_generator, (safe_div((safe_mult(48129, global_values.trace_length)), 65536))). + assert pow2056 = pow58 * pow2053; // pow(trace_generator, (safe_div((safe_mult(49153, global_values.trace_length)), 65536))). + assert pow2057 = pow58 * pow2054; // pow(trace_generator, (safe_div((safe_mult(23553, global_values.trace_length)), 32768))). + assert pow2058 = pow58 * pow2055; // pow(trace_generator, (safe_div((safe_mult(24065, global_values.trace_length)), 32768))). + assert pow2059 = pow58 * pow2056; // pow(trace_generator, (safe_div((safe_mult(24577, global_values.trace_length)), 32768))). + assert pow2060 = pow58 * pow2057; // pow(trace_generator, (safe_div((safe_mult(47107, global_values.trace_length)), 65536))). + assert pow2061 = pow58 * pow2058; // pow(trace_generator, (safe_div((safe_mult(48131, global_values.trace_length)), 65536))). + assert pow2062 = pow58 * pow2059; // pow(trace_generator, (safe_div((safe_mult(49155, global_values.trace_length)), 65536))). + assert pow2063 = pow58 * pow2060; // pow(trace_generator, (safe_div((safe_mult(11777, global_values.trace_length)), 16384))). + assert pow2064 = pow58 * pow2061; // pow(trace_generator, (safe_div((safe_mult(12033, global_values.trace_length)), 16384))). + assert pow2065 = pow58 * pow2062; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 16384))). + assert pow2066 = pow58 * pow2063; // pow(trace_generator, (safe_div((safe_mult(47109, global_values.trace_length)), 65536))). + assert pow2067 = pow58 * pow2064; // pow(trace_generator, (safe_div((safe_mult(48133, global_values.trace_length)), 65536))). + assert pow2068 = pow58 * pow2065; // pow(trace_generator, (safe_div((safe_mult(49157, global_values.trace_length)), 65536))). + assert pow2069 = pow819 * pow2053; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 64))). + assert pow2070 = pow58 * pow2069; // pow(trace_generator, (safe_div((safe_mult(50177, global_values.trace_length)), 65536))). + assert pow2071 = pow58 * pow2070; // pow(trace_generator, (safe_div((safe_mult(25089, global_values.trace_length)), 32768))). + assert pow2072 = pow58 * pow2071; // pow(trace_generator, (safe_div((safe_mult(50179, global_values.trace_length)), 65536))). + assert pow2073 = pow58 * pow2072; // pow(trace_generator, (safe_div((safe_mult(12545, global_values.trace_length)), 16384))). + assert pow2074 = pow58 * pow2073; // pow(trace_generator, (safe_div((safe_mult(50181, global_values.trace_length)), 65536))). + assert pow2075 = pow58 * pow2066; // pow(trace_generator, (safe_div((safe_mult(23555, global_values.trace_length)), 32768))). + assert pow2076 = pow58 * pow2067; // pow(trace_generator, (safe_div((safe_mult(24067, global_values.trace_length)), 32768))). + assert pow2077 = pow58 * pow2068; // pow(trace_generator, (safe_div((safe_mult(24579, global_values.trace_length)), 32768))). + assert pow2078 = pow58 * pow2075; // pow(trace_generator, (safe_div((safe_mult(47111, global_values.trace_length)), 65536))). + assert pow2079 = pow58 * pow2078; // pow(trace_generator, (safe_div((safe_mult(5889, global_values.trace_length)), 8192))). + assert pow2080 = pow58 * pow2079; // pow(trace_generator, (safe_div((safe_mult(47113, global_values.trace_length)), 65536))). + assert pow2081 = pow58 * pow2080; // pow(trace_generator, (safe_div((safe_mult(23557, global_values.trace_length)), 32768))). + assert pow2082 = pow58 * pow2081; // pow(trace_generator, (safe_div((safe_mult(47115, global_values.trace_length)), 65536))). + assert pow2083 = pow58 * pow2082; // pow(trace_generator, (safe_div((safe_mult(11779, global_values.trace_length)), 16384))). + assert pow2084 = pow58 * pow2083; // pow(trace_generator, (safe_div((safe_mult(47117, global_values.trace_length)), 65536))). + assert pow2085 = pow58 * pow2084; // pow(trace_generator, (safe_div((safe_mult(23559, global_values.trace_length)), 32768))). + assert pow2086 = pow58 * pow2085; // pow(trace_generator, (safe_div((safe_mult(47119, global_values.trace_length)), 65536))). + assert pow2087 = pow58 * pow2086; // pow(trace_generator, (safe_div((safe_mult(2945, global_values.trace_length)), 4096))). + assert pow2088 = pow58 * pow2087; // pow(trace_generator, (safe_div((safe_mult(47121, global_values.trace_length)), 65536))). + assert pow2089 = pow58 * pow2088; // pow(trace_generator, (safe_div((safe_mult(23561, global_values.trace_length)), 32768))). + assert pow2090 = pow58 * pow2089; // pow(trace_generator, (safe_div((safe_mult(47123, global_values.trace_length)), 65536))). + assert pow2091 = pow58 * pow2090; // pow(trace_generator, (safe_div((safe_mult(11781, global_values.trace_length)), 16384))). + assert pow2092 = pow58 * pow2091; // pow(trace_generator, (safe_div((safe_mult(47125, global_values.trace_length)), 65536))). + assert pow2093 = pow58 * pow2092; // pow(trace_generator, (safe_div((safe_mult(23563, global_values.trace_length)), 32768))). + assert pow2094 = pow58 * pow2093; // pow(trace_generator, (safe_div((safe_mult(47127, global_values.trace_length)), 65536))). + assert pow2095 = pow58 * pow2076; // pow(trace_generator, (safe_div((safe_mult(48135, global_values.trace_length)), 65536))). + assert pow2096 = pow58 * pow2095; // pow(trace_generator, (safe_div((safe_mult(6017, global_values.trace_length)), 8192))). + assert pow2097 = pow58 * pow2096; // pow(trace_generator, (safe_div((safe_mult(48137, global_values.trace_length)), 65536))). + assert pow2098 = pow58 * pow2097; // pow(trace_generator, (safe_div((safe_mult(24069, global_values.trace_length)), 32768))). + assert pow2099 = pow58 * pow2098; // pow(trace_generator, (safe_div((safe_mult(48139, global_values.trace_length)), 65536))). + assert pow2100 = pow58 * pow2099; // pow(trace_generator, (safe_div((safe_mult(12035, global_values.trace_length)), 16384))). + assert pow2101 = pow58 * pow2100; // pow(trace_generator, (safe_div((safe_mult(48141, global_values.trace_length)), 65536))). + assert pow2102 = pow58 * pow2101; // pow(trace_generator, (safe_div((safe_mult(24071, global_values.trace_length)), 32768))). + assert pow2103 = pow58 * pow2102; // pow(trace_generator, (safe_div((safe_mult(48143, global_values.trace_length)), 65536))). + assert pow2104 = pow58 * pow2103; // pow(trace_generator, (safe_div((safe_mult(3009, global_values.trace_length)), 4096))). + assert pow2105 = pow58 * pow2104; // pow(trace_generator, (safe_div((safe_mult(48145, global_values.trace_length)), 65536))). + assert pow2106 = pow58 * pow2105; // pow(trace_generator, (safe_div((safe_mult(24073, global_values.trace_length)), 32768))). + assert pow2107 = pow58 * pow2106; // pow(trace_generator, (safe_div((safe_mult(48147, global_values.trace_length)), 65536))). + assert pow2108 = pow58 * pow2107; // pow(trace_generator, (safe_div((safe_mult(12037, global_values.trace_length)), 16384))). + assert pow2109 = pow58 * pow2108; // pow(trace_generator, (safe_div((safe_mult(48149, global_values.trace_length)), 65536))). + assert pow2110 = pow58 * pow2109; // pow(trace_generator, (safe_div((safe_mult(24075, global_values.trace_length)), 32768))). + assert pow2111 = pow58 * pow2110; // pow(trace_generator, (safe_div((safe_mult(48151, global_values.trace_length)), 65536))). + assert pow2112 = pow58 * pow2077; // pow(trace_generator, (safe_div((safe_mult(49159, global_values.trace_length)), 65536))). + assert pow2113 = pow58 * pow2112; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 8192))). + assert pow2114 = pow58 * pow2113; // pow(trace_generator, (safe_div((safe_mult(49161, global_values.trace_length)), 65536))). + assert pow2115 = pow58 * pow2114; // pow(trace_generator, (safe_div((safe_mult(24581, global_values.trace_length)), 32768))). + assert pow2116 = pow58 * pow2115; // pow(trace_generator, (safe_div((safe_mult(49163, global_values.trace_length)), 65536))). + assert pow2117 = pow58 * pow2116; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 16384))). + assert pow2118 = pow58 * pow2117; // pow(trace_generator, (safe_div((safe_mult(49165, global_values.trace_length)), 65536))). + assert pow2119 = pow58 * pow2118; // pow(trace_generator, (safe_div((safe_mult(24583, global_values.trace_length)), 32768))). + assert pow2120 = pow58 * pow2119; // pow(trace_generator, (safe_div((safe_mult(49167, global_values.trace_length)), 65536))). + assert pow2121 = pow58 * pow2120; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 4096))). + assert pow2122 = pow58 * pow2121; // pow(trace_generator, (safe_div((safe_mult(49169, global_values.trace_length)), 65536))). + assert pow2123 = pow58 * pow2122; // pow(trace_generator, (safe_div((safe_mult(24585, global_values.trace_length)), 32768))). + assert pow2124 = pow58 * pow2123; // pow(trace_generator, (safe_div((safe_mult(49171, global_values.trace_length)), 65536))). + assert pow2125 = pow58 * pow2124; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 16384))). + assert pow2126 = pow58 * pow2125; // pow(trace_generator, (safe_div((safe_mult(49173, global_values.trace_length)), 65536))). + assert pow2127 = pow58 * pow2126; // pow(trace_generator, (safe_div((safe_mult(24587, global_values.trace_length)), 32768))). + assert pow2128 = pow58 * pow2127; // pow(trace_generator, (safe_div((safe_mult(49175, global_values.trace_length)), 65536))). + assert pow2129 = pow58 * pow2074; // pow(trace_generator, (safe_div((safe_mult(25091, global_values.trace_length)), 32768))). + assert pow2130 = pow58 * pow2129; // pow(trace_generator, (safe_div((safe_mult(50183, global_values.trace_length)), 65536))). + assert pow2131 = pow58 * pow2130; // pow(trace_generator, (safe_div((safe_mult(6273, global_values.trace_length)), 8192))). + assert pow2132 = pow58 * pow2131; // pow(trace_generator, (safe_div((safe_mult(50185, global_values.trace_length)), 65536))). + assert pow2133 = pow58 * pow2132; // pow(trace_generator, (safe_div((safe_mult(25093, global_values.trace_length)), 32768))). + assert pow2134 = pow58 * pow2133; // pow(trace_generator, (safe_div((safe_mult(50187, global_values.trace_length)), 65536))). + assert pow2135 = pow58 * pow2134; // pow(trace_generator, (safe_div((safe_mult(12547, global_values.trace_length)), 16384))). + assert pow2136 = pow58 * pow2135; // pow(trace_generator, (safe_div((safe_mult(50189, global_values.trace_length)), 65536))). + assert pow2137 = pow58 * pow2136; // pow(trace_generator, (safe_div((safe_mult(25095, global_values.trace_length)), 32768))). + assert pow2138 = pow58 * pow2137; // pow(trace_generator, (safe_div((safe_mult(50191, global_values.trace_length)), 65536))). + assert pow2139 = pow58 * pow2138; // pow(trace_generator, (safe_div((safe_mult(3137, global_values.trace_length)), 4096))). + assert pow2140 = pow58 * pow2139; // pow(trace_generator, (safe_div((safe_mult(50193, global_values.trace_length)), 65536))). + assert pow2141 = pow58 * pow2140; // pow(trace_generator, (safe_div((safe_mult(25097, global_values.trace_length)), 32768))). + assert pow2142 = pow58 * pow2141; // pow(trace_generator, (safe_div((safe_mult(50195, global_values.trace_length)), 65536))). + assert pow2143 = pow58 * pow2142; // pow(trace_generator, (safe_div((safe_mult(12549, global_values.trace_length)), 16384))). + assert pow2144 = pow58 * pow2143; // pow(trace_generator, (safe_div((safe_mult(50197, global_values.trace_length)), 65536))). + assert pow2145 = pow58 * pow2144; // pow(trace_generator, (safe_div((safe_mult(25099, global_values.trace_length)), 32768))). + assert pow2146 = pow58 * pow2145; // pow(trace_generator, (safe_div((safe_mult(50199, global_values.trace_length)), 65536))). + assert pow2147 = pow819 * pow2069; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32))). + assert pow2148 = pow819 * pow2147; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 64))). + assert pow2149 = pow819 * pow2148; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16))). + assert pow2150 = pow58 * pow2147; // pow(trace_generator, (safe_div((safe_mult(51201, global_values.trace_length)), 65536))). + assert pow2151 = pow58 * pow2148; // pow(trace_generator, (safe_div((safe_mult(52225, global_values.trace_length)), 65536))). + assert pow2152 = pow58 * pow2149; // pow(trace_generator, (safe_div((safe_mult(53249, global_values.trace_length)), 65536))). + assert pow2153 = pow58 * pow2150; // pow(trace_generator, (safe_div((safe_mult(25601, global_values.trace_length)), 32768))). + assert pow2154 = pow58 * pow2151; // pow(trace_generator, (safe_div((safe_mult(26113, global_values.trace_length)), 32768))). + assert pow2155 = pow58 * pow2152; // pow(trace_generator, (safe_div((safe_mult(26625, global_values.trace_length)), 32768))). + assert pow2156 = pow58 * pow2153; // pow(trace_generator, (safe_div((safe_mult(51203, global_values.trace_length)), 65536))). + assert pow2157 = pow58 * pow2154; // pow(trace_generator, (safe_div((safe_mult(52227, global_values.trace_length)), 65536))). + assert pow2158 = pow58 * pow2155; // pow(trace_generator, (safe_div((safe_mult(53251, global_values.trace_length)), 65536))). + assert pow2159 = pow58 * pow2156; // pow(trace_generator, (safe_div((safe_mult(12801, global_values.trace_length)), 16384))). + assert pow2160 = pow58 * pow2157; // pow(trace_generator, (safe_div((safe_mult(13057, global_values.trace_length)), 16384))). + assert pow2161 = pow58 * pow2158; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 16384))). + assert pow2162 = pow58 * pow2159; // pow(trace_generator, (safe_div((safe_mult(51205, global_values.trace_length)), 65536))). + assert pow2163 = pow58 * pow2160; // pow(trace_generator, (safe_div((safe_mult(52229, global_values.trace_length)), 65536))). + assert pow2164 = pow58 * pow2161; // pow(trace_generator, (safe_div((safe_mult(53253, global_values.trace_length)), 65536))). + assert pow2165 = pow58 * pow2162; // pow(trace_generator, (safe_div((safe_mult(25603, global_values.trace_length)), 32768))). + assert pow2166 = pow58 * pow2163; // pow(trace_generator, (safe_div((safe_mult(26115, global_values.trace_length)), 32768))). + assert pow2167 = pow58 * pow2164; // pow(trace_generator, (safe_div((safe_mult(26627, global_values.trace_length)), 32768))). + assert pow2168 = pow58 * pow2165; // pow(trace_generator, (safe_div((safe_mult(51207, global_values.trace_length)), 65536))). + assert pow2169 = pow58 * pow2168; // pow(trace_generator, (safe_div((safe_mult(6401, global_values.trace_length)), 8192))). + assert pow2170 = pow58 * pow2169; // pow(trace_generator, (safe_div((safe_mult(51209, global_values.trace_length)), 65536))). + assert pow2171 = pow58 * pow2170; // pow(trace_generator, (safe_div((safe_mult(25605, global_values.trace_length)), 32768))). + assert pow2172 = pow58 * pow2171; // pow(trace_generator, (safe_div((safe_mult(51211, global_values.trace_length)), 65536))). + assert pow2173 = pow58 * pow2172; // pow(trace_generator, (safe_div((safe_mult(12803, global_values.trace_length)), 16384))). + assert pow2174 = pow58 * pow2173; // pow(trace_generator, (safe_div((safe_mult(51213, global_values.trace_length)), 65536))). + assert pow2175 = pow58 * pow2174; // pow(trace_generator, (safe_div((safe_mult(25607, global_values.trace_length)), 32768))). + assert pow2176 = pow58 * pow2175; // pow(trace_generator, (safe_div((safe_mult(51215, global_values.trace_length)), 65536))). + assert pow2177 = pow58 * pow2176; // pow(trace_generator, (safe_div((safe_mult(3201, global_values.trace_length)), 4096))). + assert pow2178 = pow58 * pow2177; // pow(trace_generator, (safe_div((safe_mult(51217, global_values.trace_length)), 65536))). + assert pow2179 = pow58 * pow2178; // pow(trace_generator, (safe_div((safe_mult(25609, global_values.trace_length)), 32768))). + assert pow2180 = pow58 * pow2179; // pow(trace_generator, (safe_div((safe_mult(51219, global_values.trace_length)), 65536))). + assert pow2181 = pow58 * pow2180; // pow(trace_generator, (safe_div((safe_mult(12805, global_values.trace_length)), 16384))). + assert pow2182 = pow58 * pow2181; // pow(trace_generator, (safe_div((safe_mult(51221, global_values.trace_length)), 65536))). + assert pow2183 = pow58 * pow2182; // pow(trace_generator, (safe_div((safe_mult(25611, global_values.trace_length)), 32768))). + assert pow2184 = pow58 * pow2183; // pow(trace_generator, (safe_div((safe_mult(51223, global_values.trace_length)), 65536))). + assert pow2185 = pow58 * pow2166; // pow(trace_generator, (safe_div((safe_mult(52231, global_values.trace_length)), 65536))). + assert pow2186 = pow58 * pow2185; // pow(trace_generator, (safe_div((safe_mult(6529, global_values.trace_length)), 8192))). + assert pow2187 = pow58 * pow2186; // pow(trace_generator, (safe_div((safe_mult(52233, global_values.trace_length)), 65536))). + assert pow2188 = pow58 * pow2187; // pow(trace_generator, (safe_div((safe_mult(26117, global_values.trace_length)), 32768))). + assert pow2189 = pow58 * pow2188; // pow(trace_generator, (safe_div((safe_mult(52235, global_values.trace_length)), 65536))). + assert pow2190 = pow58 * pow2189; // pow(trace_generator, (safe_div((safe_mult(13059, global_values.trace_length)), 16384))). + assert pow2191 = pow58 * pow2190; // pow(trace_generator, (safe_div((safe_mult(52237, global_values.trace_length)), 65536))). + assert pow2192 = pow58 * pow2191; // pow(trace_generator, (safe_div((safe_mult(26119, global_values.trace_length)), 32768))). + assert pow2193 = pow58 * pow2192; // pow(trace_generator, (safe_div((safe_mult(52239, global_values.trace_length)), 65536))). + assert pow2194 = pow58 * pow2193; // pow(trace_generator, (safe_div((safe_mult(3265, global_values.trace_length)), 4096))). + assert pow2195 = pow58 * pow2194; // pow(trace_generator, (safe_div((safe_mult(52241, global_values.trace_length)), 65536))). + assert pow2196 = pow58 * pow2195; // pow(trace_generator, (safe_div((safe_mult(26121, global_values.trace_length)), 32768))). + assert pow2197 = pow58 * pow2196; // pow(trace_generator, (safe_div((safe_mult(52243, global_values.trace_length)), 65536))). + assert pow2198 = pow58 * pow2197; // pow(trace_generator, (safe_div((safe_mult(13061, global_values.trace_length)), 16384))). + assert pow2199 = pow58 * pow2198; // pow(trace_generator, (safe_div((safe_mult(52245, global_values.trace_length)), 65536))). + assert pow2200 = pow58 * pow2199; // pow(trace_generator, (safe_div((safe_mult(26123, global_values.trace_length)), 32768))). + assert pow2201 = pow58 * pow2200; // pow(trace_generator, (safe_div((safe_mult(52247, global_values.trace_length)), 65536))). + assert pow2202 = pow58 * pow2167; // pow(trace_generator, (safe_div((safe_mult(53255, global_values.trace_length)), 65536))). + assert pow2203 = pow58 * pow2202; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 8192))). + assert pow2204 = pow58 * pow2203; // pow(trace_generator, (safe_div((safe_mult(53257, global_values.trace_length)), 65536))). + assert pow2205 = pow58 * pow2204; // pow(trace_generator, (safe_div((safe_mult(26629, global_values.trace_length)), 32768))). + assert pow2206 = pow58 * pow2205; // pow(trace_generator, (safe_div((safe_mult(53259, global_values.trace_length)), 65536))). + assert pow2207 = pow58 * pow2206; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 16384))). + assert pow2208 = pow58 * pow2207; // pow(trace_generator, (safe_div((safe_mult(53261, global_values.trace_length)), 65536))). + assert pow2209 = pow58 * pow2208; // pow(trace_generator, (safe_div((safe_mult(26631, global_values.trace_length)), 32768))). + assert pow2210 = pow58 * pow2209; // pow(trace_generator, (safe_div((safe_mult(53263, global_values.trace_length)), 65536))). + assert pow2211 = pow58 * pow2210; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 4096))). + assert pow2212 = pow58 * pow2211; // pow(trace_generator, (safe_div((safe_mult(53265, global_values.trace_length)), 65536))). + assert pow2213 = pow58 * pow2212; // pow(trace_generator, (safe_div((safe_mult(26633, global_values.trace_length)), 32768))). + assert pow2214 = pow58 * pow2213; // pow(trace_generator, (safe_div((safe_mult(53267, global_values.trace_length)), 65536))). + assert pow2215 = pow58 * pow2214; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 16384))). + assert pow2216 = pow58 * pow2215; // pow(trace_generator, (safe_div((safe_mult(53269, global_values.trace_length)), 65536))). + assert pow2217 = pow58 * pow2216; // pow(trace_generator, (safe_div((safe_mult(26635, global_values.trace_length)), 32768))). + assert pow2218 = pow58 * pow2217; // pow(trace_generator, (safe_div((safe_mult(53271, global_values.trace_length)), 65536))). + assert pow2219 = pow105 * pow2218; // pow(trace_generator, (safe_div((safe_mult(833, global_values.trace_length)), 1024))). + assert pow2220 = pow126 * pow2219; // pow(trace_generator, (safe_div((safe_mult(417, global_values.trace_length)), 512))). + assert pow2221 = pow126 * pow2220; // pow(trace_generator, (safe_div((safe_mult(835, global_values.trace_length)), 1024))). + assert pow2222 = pow126 * pow2221; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 256))). + assert pow2223 = pow126 * pow2222; // pow(trace_generator, (safe_div((safe_mult(837, global_values.trace_length)), 1024))). + assert pow2224 = pow126 * pow2223; // pow(trace_generator, (safe_div((safe_mult(419, global_values.trace_length)), 512))). + assert pow2225 = pow126 * pow2224; // pow(trace_generator, (safe_div((safe_mult(839, global_values.trace_length)), 1024))). + assert pow2226 = pow126 * pow2225; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 128))). + assert pow2227 = pow126 * pow2226; // pow(trace_generator, (safe_div((safe_mult(841, global_values.trace_length)), 1024))). + assert pow2228 = pow126 * pow2227; // pow(trace_generator, (safe_div((safe_mult(421, global_values.trace_length)), 512))). + assert pow2229 = pow126 * pow2228; // pow(trace_generator, (safe_div((safe_mult(843, global_values.trace_length)), 1024))). + assert pow2230 = pow126 * pow2229; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 256))). + assert pow2231 = pow126 * pow2230; // pow(trace_generator, (safe_div((safe_mult(845, global_values.trace_length)), 1024))). + assert pow2232 = pow126 * pow2231; // pow(trace_generator, (safe_div((safe_mult(423, global_values.trace_length)), 512))). + assert pow2233 = pow126 * pow2232; // pow(trace_generator, (safe_div((safe_mult(847, global_values.trace_length)), 1024))). + assert pow2234 = pow126 * pow2233; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 64))). + assert pow2235 = pow58 * pow2234; // pow(trace_generator, (safe_div((safe_mult(54273, global_values.trace_length)), 65536))). + assert pow2236 = pow58 * pow2235; // pow(trace_generator, (safe_div((safe_mult(27137, global_values.trace_length)), 32768))). + assert pow2237 = pow58 * pow2236; // pow(trace_generator, (safe_div((safe_mult(54275, global_values.trace_length)), 65536))). + assert pow2238 = pow58 * pow2237; // pow(trace_generator, (safe_div((safe_mult(13569, global_values.trace_length)), 16384))). + assert pow2239 = pow58 * pow2238; // pow(trace_generator, (safe_div((safe_mult(54277, global_values.trace_length)), 65536))). + assert pow2240 = pow58 * pow2239; // pow(trace_generator, (safe_div((safe_mult(27139, global_values.trace_length)), 32768))). + assert pow2241 = pow58 * pow2240; // pow(trace_generator, (safe_div((safe_mult(54279, global_values.trace_length)), 65536))). + assert pow2242 = pow58 * pow2241; // pow(trace_generator, (safe_div((safe_mult(6785, global_values.trace_length)), 8192))). + assert pow2243 = pow58 * pow2242; // pow(trace_generator, (safe_div((safe_mult(54281, global_values.trace_length)), 65536))). + assert pow2244 = pow58 * pow2243; // pow(trace_generator, (safe_div((safe_mult(27141, global_values.trace_length)), 32768))). + assert pow2245 = pow58 * pow2244; // pow(trace_generator, (safe_div((safe_mult(54283, global_values.trace_length)), 65536))). + assert pow2246 = pow58 * pow2245; // pow(trace_generator, (safe_div((safe_mult(13571, global_values.trace_length)), 16384))). + assert pow2247 = pow58 * pow2246; // pow(trace_generator, (safe_div((safe_mult(54285, global_values.trace_length)), 65536))). + assert pow2248 = pow58 * pow2247; // pow(trace_generator, (safe_div((safe_mult(27143, global_values.trace_length)), 32768))). + assert pow2249 = pow58 * pow2248; // pow(trace_generator, (safe_div((safe_mult(54287, global_values.trace_length)), 65536))). + assert pow2250 = pow58 * pow2249; // pow(trace_generator, (safe_div((safe_mult(3393, global_values.trace_length)), 4096))). + assert pow2251 = pow58 * pow2250; // pow(trace_generator, (safe_div((safe_mult(54289, global_values.trace_length)), 65536))). + assert pow2252 = pow58 * pow2251; // pow(trace_generator, (safe_div((safe_mult(27145, global_values.trace_length)), 32768))). + assert pow2253 = pow58 * pow2252; // pow(trace_generator, (safe_div((safe_mult(54291, global_values.trace_length)), 65536))). + assert pow2254 = pow58 * pow2253; // pow(trace_generator, (safe_div((safe_mult(13573, global_values.trace_length)), 16384))). + assert pow2255 = pow58 * pow2254; // pow(trace_generator, (safe_div((safe_mult(54293, global_values.trace_length)), 65536))). + assert pow2256 = pow58 * pow2255; // pow(trace_generator, (safe_div((safe_mult(27147, global_values.trace_length)), 32768))). + assert pow2257 = pow58 * pow2256; // pow(trace_generator, (safe_div((safe_mult(54295, global_values.trace_length)), 65536))). + assert pow2258 = pow105 * pow2257; // pow(trace_generator, (safe_div((safe_mult(849, global_values.trace_length)), 1024))). + assert pow2259 = pow126 * pow2258; // pow(trace_generator, (safe_div((safe_mult(425, global_values.trace_length)), 512))). + assert pow2260 = pow126 * pow2259; // pow(trace_generator, (safe_div((safe_mult(851, global_values.trace_length)), 1024))). + assert pow2261 = pow126 * pow2260; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 256))). + assert pow2262 = pow126 * pow2261; // pow(trace_generator, (safe_div((safe_mult(853, global_values.trace_length)), 1024))). + assert pow2263 = pow126 * pow2262; // pow(trace_generator, (safe_div((safe_mult(427, global_values.trace_length)), 512))). + assert pow2264 = pow126 * pow2263; // pow(trace_generator, (safe_div((safe_mult(855, global_values.trace_length)), 1024))). + assert pow2265 = pow126 * pow2264; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 128))). + assert pow2266 = pow126 * pow2265; // pow(trace_generator, (safe_div((safe_mult(857, global_values.trace_length)), 1024))). + assert pow2267 = pow126 * pow2266; // pow(trace_generator, (safe_div((safe_mult(429, global_values.trace_length)), 512))). + assert pow2268 = pow126 * pow2267; // pow(trace_generator, (safe_div((safe_mult(859, global_values.trace_length)), 1024))). + assert pow2269 = pow126 * pow2268; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 256))). + assert pow2270 = pow126 * pow2269; // pow(trace_generator, (safe_div((safe_mult(861, global_values.trace_length)), 1024))). + assert pow2271 = pow246 * pow2270; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32))). + assert pow2272 = pow58 * pow2271; // pow(trace_generator, (safe_div((safe_mult(55297, global_values.trace_length)), 65536))). + assert pow2273 = pow58 * pow2272; // pow(trace_generator, (safe_div((safe_mult(27649, global_values.trace_length)), 32768))). + assert pow2274 = pow58 * pow2273; // pow(trace_generator, (safe_div((safe_mult(55299, global_values.trace_length)), 65536))). + assert pow2275 = pow58 * pow2274; // pow(trace_generator, (safe_div((safe_mult(13825, global_values.trace_length)), 16384))). + assert pow2276 = pow58 * pow2275; // pow(trace_generator, (safe_div((safe_mult(55301, global_values.trace_length)), 65536))). + assert pow2277 = pow58 * pow2276; // pow(trace_generator, (safe_div((safe_mult(27651, global_values.trace_length)), 32768))). + assert pow2278 = pow58 * pow2277; // pow(trace_generator, (safe_div((safe_mult(55303, global_values.trace_length)), 65536))). + assert pow2279 = pow58 * pow2278; // pow(trace_generator, (safe_div((safe_mult(6913, global_values.trace_length)), 8192))). + assert pow2280 = pow58 * pow2279; // pow(trace_generator, (safe_div((safe_mult(55305, global_values.trace_length)), 65536))). + assert pow2281 = pow58 * pow2280; // pow(trace_generator, (safe_div((safe_mult(27653, global_values.trace_length)), 32768))). + assert pow2282 = pow58 * pow2281; // pow(trace_generator, (safe_div((safe_mult(55307, global_values.trace_length)), 65536))). + assert pow2283 = pow58 * pow2282; // pow(trace_generator, (safe_div((safe_mult(13827, global_values.trace_length)), 16384))). + assert pow2284 = pow58 * pow2283; // pow(trace_generator, (safe_div((safe_mult(55309, global_values.trace_length)), 65536))). + assert pow2285 = pow58 * pow2284; // pow(trace_generator, (safe_div((safe_mult(27655, global_values.trace_length)), 32768))). + assert pow2286 = pow58 * pow2285; // pow(trace_generator, (safe_div((safe_mult(55311, global_values.trace_length)), 65536))). + assert pow2287 = pow58 * pow2286; // pow(trace_generator, (safe_div((safe_mult(3457, global_values.trace_length)), 4096))). + assert pow2288 = pow58 * pow2287; // pow(trace_generator, (safe_div((safe_mult(55313, global_values.trace_length)), 65536))). + assert pow2289 = pow58 * pow2288; // pow(trace_generator, (safe_div((safe_mult(27657, global_values.trace_length)), 32768))). + assert pow2290 = pow58 * pow2289; // pow(trace_generator, (safe_div((safe_mult(55315, global_values.trace_length)), 65536))). + assert pow2291 = pow58 * pow2290; // pow(trace_generator, (safe_div((safe_mult(13829, global_values.trace_length)), 16384))). + assert pow2292 = pow58 * pow2291; // pow(trace_generator, (safe_div((safe_mult(55317, global_values.trace_length)), 65536))). + assert pow2293 = pow58 * pow2292; // pow(trace_generator, (safe_div((safe_mult(27659, global_values.trace_length)), 32768))). + assert pow2294 = pow58 * pow2293; // pow(trace_generator, (safe_div((safe_mult(55319, global_values.trace_length)), 65536))). + assert pow2295 = pow105 * pow2294; // pow(trace_generator, (safe_div((safe_mult(865, global_values.trace_length)), 1024))). + assert pow2296 = pow126 * pow2295; // pow(trace_generator, (safe_div((safe_mult(433, global_values.trace_length)), 512))). + assert pow2297 = pow126 * pow2296; // pow(trace_generator, (safe_div((safe_mult(867, global_values.trace_length)), 1024))). + assert pow2298 = pow126 * pow2297; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 256))). + assert pow2299 = pow126 * pow2298; // pow(trace_generator, (safe_div((safe_mult(869, global_values.trace_length)), 1024))). + assert pow2300 = pow126 * pow2299; // pow(trace_generator, (safe_div((safe_mult(435, global_values.trace_length)), 512))). + assert pow2301 = pow126 * pow2300; // pow(trace_generator, (safe_div((safe_mult(871, global_values.trace_length)), 1024))). + assert pow2302 = pow126 * pow2301; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 128))). + assert pow2303 = pow126 * pow2302; // pow(trace_generator, (safe_div((safe_mult(873, global_values.trace_length)), 1024))). + assert pow2304 = pow126 * pow2303; // pow(trace_generator, (safe_div((safe_mult(437, global_values.trace_length)), 512))). + assert pow2305 = pow126 * pow2304; // pow(trace_generator, (safe_div((safe_mult(875, global_values.trace_length)), 1024))). + assert pow2306 = pow126 * pow2305; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 256))). + assert pow2307 = pow126 * pow2306; // pow(trace_generator, (safe_div((safe_mult(877, global_values.trace_length)), 1024))). + assert pow2308 = pow126 * pow2307; // pow(trace_generator, (safe_div((safe_mult(439, global_values.trace_length)), 512))). + assert pow2309 = pow126 * pow2308; // pow(trace_generator, (safe_div((safe_mult(879, global_values.trace_length)), 1024))). + assert pow2310 = pow126 * pow2309; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 64))). + assert pow2311 = pow58 * pow2310; // pow(trace_generator, (safe_div((safe_mult(56321, global_values.trace_length)), 65536))). + assert pow2312 = pow58 * pow2311; // pow(trace_generator, (safe_div((safe_mult(28161, global_values.trace_length)), 32768))). + assert pow2313 = pow58 * pow2312; // pow(trace_generator, (safe_div((safe_mult(56323, global_values.trace_length)), 65536))). + assert pow2314 = pow58 * pow2313; // pow(trace_generator, (safe_div((safe_mult(14081, global_values.trace_length)), 16384))). + assert pow2315 = pow58 * pow2314; // pow(trace_generator, (safe_div((safe_mult(56325, global_values.trace_length)), 65536))). + assert pow2316 = pow58 * pow2315; // pow(trace_generator, (safe_div((safe_mult(28163, global_values.trace_length)), 32768))). + assert pow2317 = pow58 * pow2316; // pow(trace_generator, (safe_div((safe_mult(56327, global_values.trace_length)), 65536))). + assert pow2318 = pow58 * pow2317; // pow(trace_generator, (safe_div((safe_mult(7041, global_values.trace_length)), 8192))). + assert pow2319 = pow58 * pow2318; // pow(trace_generator, (safe_div((safe_mult(56329, global_values.trace_length)), 65536))). + assert pow2320 = pow58 * pow2319; // pow(trace_generator, (safe_div((safe_mult(28165, global_values.trace_length)), 32768))). + assert pow2321 = pow58 * pow2320; // pow(trace_generator, (safe_div((safe_mult(56331, global_values.trace_length)), 65536))). + assert pow2322 = pow58 * pow2321; // pow(trace_generator, (safe_div((safe_mult(14083, global_values.trace_length)), 16384))). + assert pow2323 = pow58 * pow2322; // pow(trace_generator, (safe_div((safe_mult(56333, global_values.trace_length)), 65536))). + assert pow2324 = pow58 * pow2323; // pow(trace_generator, (safe_div((safe_mult(28167, global_values.trace_length)), 32768))). + assert pow2325 = pow58 * pow2324; // pow(trace_generator, (safe_div((safe_mult(56335, global_values.trace_length)), 65536))). + assert pow2326 = pow58 * pow2325; // pow(trace_generator, (safe_div((safe_mult(3521, global_values.trace_length)), 4096))). + assert pow2327 = pow58 * pow2326; // pow(trace_generator, (safe_div((safe_mult(56337, global_values.trace_length)), 65536))). + assert pow2328 = pow58 * pow2327; // pow(trace_generator, (safe_div((safe_mult(28169, global_values.trace_length)), 32768))). + assert pow2329 = pow58 * pow2328; // pow(trace_generator, (safe_div((safe_mult(56339, global_values.trace_length)), 65536))). + assert pow2330 = pow58 * pow2329; // pow(trace_generator, (safe_div((safe_mult(14085, global_values.trace_length)), 16384))). + assert pow2331 = pow58 * pow2330; // pow(trace_generator, (safe_div((safe_mult(56341, global_values.trace_length)), 65536))). + assert pow2332 = pow58 * pow2331; // pow(trace_generator, (safe_div((safe_mult(28171, global_values.trace_length)), 32768))). + assert pow2333 = pow58 * pow2332; // pow(trace_generator, (safe_div((safe_mult(56343, global_values.trace_length)), 65536))). + assert pow2334 = pow105 * pow2333; // pow(trace_generator, (safe_div((safe_mult(881, global_values.trace_length)), 1024))). + assert pow2335 = pow126 * pow2334; // pow(trace_generator, (safe_div((safe_mult(441, global_values.trace_length)), 512))). + assert pow2336 = pow126 * pow2335; // pow(trace_generator, (safe_div((safe_mult(883, global_values.trace_length)), 1024))). + assert pow2337 = pow126 * pow2336; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 256))). + assert pow2338 = pow126 * pow2337; // pow(trace_generator, (safe_div((safe_mult(885, global_values.trace_length)), 1024))). + assert pow2339 = pow126 * pow2338; // pow(trace_generator, (safe_div((safe_mult(443, global_values.trace_length)), 512))). + assert pow2340 = pow126 * pow2339; // pow(trace_generator, (safe_div((safe_mult(887, global_values.trace_length)), 1024))). + assert pow2341 = pow126 * pow2340; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 128))). + assert pow2342 = pow126 * pow2341; // pow(trace_generator, (safe_div((safe_mult(889, global_values.trace_length)), 1024))). + assert pow2343 = pow126 * pow2342; // pow(trace_generator, (safe_div((safe_mult(445, global_values.trace_length)), 512))). + assert pow2344 = pow126 * pow2343; // pow(trace_generator, (safe_div((safe_mult(891, global_values.trace_length)), 1024))). + assert pow2345 = pow126 * pow2344; // pow(trace_generator, (safe_div((safe_mult(223, global_values.trace_length)), 256))). + assert pow2346 = pow126 * pow2345; // pow(trace_generator, (safe_div((safe_mult(893, global_values.trace_length)), 1024))). + assert pow2347 = pow246 * pow2346; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8))). + assert pow2348 = pow58 * pow2347; // pow(trace_generator, (safe_div((safe_mult(57345, global_values.trace_length)), 65536))). + assert pow2349 = pow58 * pow2348; // pow(trace_generator, (safe_div((safe_mult(28673, global_values.trace_length)), 32768))). + assert pow2350 = pow58 * pow2349; // pow(trace_generator, (safe_div((safe_mult(57347, global_values.trace_length)), 65536))). + assert pow2351 = pow58 * pow2350; // pow(trace_generator, (safe_div((safe_mult(14337, global_values.trace_length)), 16384))). + assert pow2352 = pow58 * pow2351; // pow(trace_generator, (safe_div((safe_mult(57349, global_values.trace_length)), 65536))). + assert pow2353 = pow58 * pow2352; // pow(trace_generator, (safe_div((safe_mult(28675, global_values.trace_length)), 32768))). + assert pow2354 = pow58 * pow2353; // pow(trace_generator, (safe_div((safe_mult(57351, global_values.trace_length)), 65536))). + assert pow2355 = pow58 * pow2354; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 8192))). + assert pow2356 = pow58 * pow2355; // pow(trace_generator, (safe_div((safe_mult(57353, global_values.trace_length)), 65536))). + assert pow2357 = pow58 * pow2356; // pow(trace_generator, (safe_div((safe_mult(28677, global_values.trace_length)), 32768))). + assert pow2358 = pow58 * pow2357; // pow(trace_generator, (safe_div((safe_mult(57355, global_values.trace_length)), 65536))). + assert pow2359 = pow58 * pow2358; // pow(trace_generator, (safe_div((safe_mult(14339, global_values.trace_length)), 16384))). + assert pow2360 = pow58 * pow2359; // pow(trace_generator, (safe_div((safe_mult(57357, global_values.trace_length)), 65536))). + assert pow2361 = pow58 * pow2360; // pow(trace_generator, (safe_div((safe_mult(28679, global_values.trace_length)), 32768))). + assert pow2362 = pow58 * pow2361; // pow(trace_generator, (safe_div((safe_mult(57359, global_values.trace_length)), 65536))). + assert pow2363 = pow58 * pow2362; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 4096))). + assert pow2364 = pow58 * pow2363; // pow(trace_generator, (safe_div((safe_mult(57361, global_values.trace_length)), 65536))). + assert pow2365 = pow58 * pow2364; // pow(trace_generator, (safe_div((safe_mult(28681, global_values.trace_length)), 32768))). + assert pow2366 = pow58 * pow2365; // pow(trace_generator, (safe_div((safe_mult(57363, global_values.trace_length)), 65536))). + assert pow2367 = pow58 * pow2366; // pow(trace_generator, (safe_div((safe_mult(14341, global_values.trace_length)), 16384))). + assert pow2368 = pow58 * pow2367; // pow(trace_generator, (safe_div((safe_mult(57365, global_values.trace_length)), 65536))). + assert pow2369 = pow58 * pow2368; // pow(trace_generator, (safe_div((safe_mult(28683, global_values.trace_length)), 32768))). + assert pow2370 = pow58 * pow2369; // pow(trace_generator, (safe_div((safe_mult(57367, global_values.trace_length)), 65536))). + assert pow2371 = pow105 * pow2370; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 1024))). + assert pow2372 = pow126 * pow2371; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 512))). + assert pow2373 = pow126 * pow2372; // pow(trace_generator, (safe_div((safe_mult(899, global_values.trace_length)), 1024))). + assert pow2374 = pow126 * pow2373; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 256))). + assert pow2375 = pow126 * pow2374; // pow(trace_generator, (safe_div((safe_mult(901, global_values.trace_length)), 1024))). + assert pow2376 = pow126 * pow2375; // pow(trace_generator, (safe_div((safe_mult(451, global_values.trace_length)), 512))). + assert pow2377 = pow126 * pow2376; // pow(trace_generator, (safe_div((safe_mult(903, global_values.trace_length)), 1024))). + assert pow2378 = pow126 * pow2377; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 128))). + assert pow2379 = pow126 * pow2378; // pow(trace_generator, (safe_div((safe_mult(905, global_values.trace_length)), 1024))). + assert pow2380 = pow126 * pow2379; // pow(trace_generator, (safe_div((safe_mult(453, global_values.trace_length)), 512))). + assert pow2381 = pow126 * pow2380; // pow(trace_generator, (safe_div((safe_mult(907, global_values.trace_length)), 1024))). + assert pow2382 = pow126 * pow2381; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 256))). + assert pow2383 = pow126 * pow2382; // pow(trace_generator, (safe_div((safe_mult(909, global_values.trace_length)), 1024))). + assert pow2384 = pow126 * pow2383; // pow(trace_generator, (safe_div((safe_mult(455, global_values.trace_length)), 512))). + assert pow2385 = pow126 * pow2384; // pow(trace_generator, (safe_div((safe_mult(911, global_values.trace_length)), 1024))). + assert pow2386 = pow126 * pow2385; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 64))). + assert pow2387 = pow58 * pow2386; // pow(trace_generator, (safe_div((safe_mult(58369, global_values.trace_length)), 65536))). + assert pow2388 = pow58 * pow2387; // pow(trace_generator, (safe_div((safe_mult(29185, global_values.trace_length)), 32768))). + assert pow2389 = pow58 * pow2388; // pow(trace_generator, (safe_div((safe_mult(58371, global_values.trace_length)), 65536))). + assert pow2390 = pow58 * pow2389; // pow(trace_generator, (safe_div((safe_mult(14593, global_values.trace_length)), 16384))). + assert pow2391 = pow58 * pow2390; // pow(trace_generator, (safe_div((safe_mult(58373, global_values.trace_length)), 65536))). + assert pow2392 = pow58 * pow2391; // pow(trace_generator, (safe_div((safe_mult(29187, global_values.trace_length)), 32768))). + assert pow2393 = pow58 * pow2392; // pow(trace_generator, (safe_div((safe_mult(58375, global_values.trace_length)), 65536))). + assert pow2394 = pow58 * pow2393; // pow(trace_generator, (safe_div((safe_mult(7297, global_values.trace_length)), 8192))). + assert pow2395 = pow58 * pow2394; // pow(trace_generator, (safe_div((safe_mult(58377, global_values.trace_length)), 65536))). + assert pow2396 = pow58 * pow2395; // pow(trace_generator, (safe_div((safe_mult(29189, global_values.trace_length)), 32768))). + assert pow2397 = pow58 * pow2396; // pow(trace_generator, (safe_div((safe_mult(58379, global_values.trace_length)), 65536))). + assert pow2398 = pow58 * pow2397; // pow(trace_generator, (safe_div((safe_mult(14595, global_values.trace_length)), 16384))). + assert pow2399 = pow58 * pow2398; // pow(trace_generator, (safe_div((safe_mult(58381, global_values.trace_length)), 65536))). + assert pow2400 = pow58 * pow2399; // pow(trace_generator, (safe_div((safe_mult(29191, global_values.trace_length)), 32768))). + assert pow2401 = pow58 * pow2400; // pow(trace_generator, (safe_div((safe_mult(58383, global_values.trace_length)), 65536))). + assert pow2402 = pow58 * pow2401; // pow(trace_generator, (safe_div((safe_mult(3649, global_values.trace_length)), 4096))). + assert pow2403 = pow58 * pow2402; // pow(trace_generator, (safe_div((safe_mult(58385, global_values.trace_length)), 65536))). + assert pow2404 = pow58 * pow2403; // pow(trace_generator, (safe_div((safe_mult(29193, global_values.trace_length)), 32768))). + assert pow2405 = pow58 * pow2404; // pow(trace_generator, (safe_div((safe_mult(58387, global_values.trace_length)), 65536))). + assert pow2406 = pow58 * pow2405; // pow(trace_generator, (safe_div((safe_mult(14597, global_values.trace_length)), 16384))). + assert pow2407 = pow58 * pow2406; // pow(trace_generator, (safe_div((safe_mult(58389, global_values.trace_length)), 65536))). + assert pow2408 = pow58 * pow2407; // pow(trace_generator, (safe_div((safe_mult(29195, global_values.trace_length)), 32768))). + assert pow2409 = pow58 * pow2408; // pow(trace_generator, (safe_div((safe_mult(58391, global_values.trace_length)), 65536))). + assert pow2410 = pow105 * pow2409; // pow(trace_generator, (safe_div((safe_mult(913, global_values.trace_length)), 1024))). + assert pow2411 = pow126 * pow2410; // pow(trace_generator, (safe_div((safe_mult(457, global_values.trace_length)), 512))). + assert pow2412 = pow126 * pow2411; // pow(trace_generator, (safe_div((safe_mult(915, global_values.trace_length)), 1024))). + assert pow2413 = pow126 * pow2412; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 256))). + assert pow2414 = pow126 * pow2413; // pow(trace_generator, (safe_div((safe_mult(917, global_values.trace_length)), 1024))). + assert pow2415 = pow126 * pow2414; // pow(trace_generator, (safe_div((safe_mult(459, global_values.trace_length)), 512))). + assert pow2416 = pow126 * pow2415; // pow(trace_generator, (safe_div((safe_mult(919, global_values.trace_length)), 1024))). + assert pow2417 = pow126 * pow2416; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 128))). + assert pow2418 = pow126 * pow2417; // pow(trace_generator, (safe_div((safe_mult(921, global_values.trace_length)), 1024))). + assert pow2419 = pow126 * pow2418; // pow(trace_generator, (safe_div((safe_mult(461, global_values.trace_length)), 512))). + assert pow2420 = pow126 * pow2419; // pow(trace_generator, (safe_div((safe_mult(923, global_values.trace_length)), 1024))). + assert pow2421 = pow126 * pow2420; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 256))). + assert pow2422 = pow126 * pow2421; // pow(trace_generator, (safe_div((safe_mult(925, global_values.trace_length)), 1024))). + assert pow2423 = pow246 * pow2422; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32))). + assert pow2424 = pow58 * pow2423; // pow(trace_generator, (safe_div((safe_mult(59393, global_values.trace_length)), 65536))). + assert pow2425 = pow58 * pow2424; // pow(trace_generator, (safe_div((safe_mult(29697, global_values.trace_length)), 32768))). + assert pow2426 = pow58 * pow2425; // pow(trace_generator, (safe_div((safe_mult(59395, global_values.trace_length)), 65536))). + assert pow2427 = pow58 * pow2426; // pow(trace_generator, (safe_div((safe_mult(14849, global_values.trace_length)), 16384))). + assert pow2428 = pow58 * pow2427; // pow(trace_generator, (safe_div((safe_mult(59397, global_values.trace_length)), 65536))). + assert pow2429 = pow58 * pow2428; // pow(trace_generator, (safe_div((safe_mult(29699, global_values.trace_length)), 32768))). + assert pow2430 = pow58 * pow2429; // pow(trace_generator, (safe_div((safe_mult(59399, global_values.trace_length)), 65536))). + assert pow2431 = pow58 * pow2430; // pow(trace_generator, (safe_div((safe_mult(7425, global_values.trace_length)), 8192))). + assert pow2432 = pow58 * pow2431; // pow(trace_generator, (safe_div((safe_mult(59401, global_values.trace_length)), 65536))). + assert pow2433 = pow58 * pow2432; // pow(trace_generator, (safe_div((safe_mult(29701, global_values.trace_length)), 32768))). + assert pow2434 = pow58 * pow2433; // pow(trace_generator, (safe_div((safe_mult(59403, global_values.trace_length)), 65536))). + assert pow2435 = pow58 * pow2434; // pow(trace_generator, (safe_div((safe_mult(14851, global_values.trace_length)), 16384))). + assert pow2436 = pow58 * pow2435; // pow(trace_generator, (safe_div((safe_mult(59405, global_values.trace_length)), 65536))). + assert pow2437 = pow58 * pow2436; // pow(trace_generator, (safe_div((safe_mult(29703, global_values.trace_length)), 32768))). + assert pow2438 = pow58 * pow2437; // pow(trace_generator, (safe_div((safe_mult(59407, global_values.trace_length)), 65536))). + assert pow2439 = pow58 * pow2438; // pow(trace_generator, (safe_div((safe_mult(3713, global_values.trace_length)), 4096))). + assert pow2440 = pow58 * pow2439; // pow(trace_generator, (safe_div((safe_mult(59409, global_values.trace_length)), 65536))). + assert pow2441 = pow58 * pow2440; // pow(trace_generator, (safe_div((safe_mult(29705, global_values.trace_length)), 32768))). + assert pow2442 = pow58 * pow2441; // pow(trace_generator, (safe_div((safe_mult(59411, global_values.trace_length)), 65536))). + assert pow2443 = pow58 * pow2442; // pow(trace_generator, (safe_div((safe_mult(14853, global_values.trace_length)), 16384))). + assert pow2444 = pow58 * pow2443; // pow(trace_generator, (safe_div((safe_mult(59413, global_values.trace_length)), 65536))). + assert pow2445 = pow58 * pow2444; // pow(trace_generator, (safe_div((safe_mult(29707, global_values.trace_length)), 32768))). + assert pow2446 = pow58 * pow2445; // pow(trace_generator, (safe_div((safe_mult(59415, global_values.trace_length)), 65536))). + assert pow2447 = pow105 * pow2446; // pow(trace_generator, (safe_div((safe_mult(929, global_values.trace_length)), 1024))). + assert pow2448 = pow126 * pow2447; // pow(trace_generator, (safe_div((safe_mult(465, global_values.trace_length)), 512))). + assert pow2449 = pow126 * pow2448; // pow(trace_generator, (safe_div((safe_mult(931, global_values.trace_length)), 1024))). + assert pow2450 = pow126 * pow2449; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 256))). + assert pow2451 = pow126 * pow2450; // pow(trace_generator, (safe_div((safe_mult(933, global_values.trace_length)), 1024))). + assert pow2452 = pow126 * pow2451; // pow(trace_generator, (safe_div((safe_mult(467, global_values.trace_length)), 512))). + assert pow2453 = pow126 * pow2452; // pow(trace_generator, (safe_div((safe_mult(935, global_values.trace_length)), 1024))). + assert pow2454 = pow126 * pow2453; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 128))). + assert pow2455 = pow126 * pow2454; // pow(trace_generator, (safe_div((safe_mult(937, global_values.trace_length)), 1024))). + assert pow2456 = pow126 * pow2455; // pow(trace_generator, (safe_div((safe_mult(469, global_values.trace_length)), 512))). + assert pow2457 = pow126 * pow2456; // pow(trace_generator, (safe_div((safe_mult(939, global_values.trace_length)), 1024))). + assert pow2458 = pow126 * pow2457; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 256))). + assert pow2459 = pow126 * pow2458; // pow(trace_generator, (safe_div((safe_mult(941, global_values.trace_length)), 1024))). + assert pow2460 = pow126 * pow2459; // pow(trace_generator, (safe_div((safe_mult(471, global_values.trace_length)), 512))). + assert pow2461 = pow126 * pow2460; // pow(trace_generator, (safe_div((safe_mult(943, global_values.trace_length)), 1024))). + assert pow2462 = pow126 * pow2461; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 64))). + assert pow2463 = pow58 * pow2462; // pow(trace_generator, (safe_div((safe_mult(60417, global_values.trace_length)), 65536))). + assert pow2464 = pow58 * pow2463; // pow(trace_generator, (safe_div((safe_mult(30209, global_values.trace_length)), 32768))). + assert pow2465 = pow58 * pow2464; // pow(trace_generator, (safe_div((safe_mult(60419, global_values.trace_length)), 65536))). + assert pow2466 = pow58 * pow2465; // pow(trace_generator, (safe_div((safe_mult(15105, global_values.trace_length)), 16384))). + assert pow2467 = pow58 * pow2466; // pow(trace_generator, (safe_div((safe_mult(60421, global_values.trace_length)), 65536))). + assert pow2468 = pow58 * pow2467; // pow(trace_generator, (safe_div((safe_mult(30211, global_values.trace_length)), 32768))). + assert pow2469 = pow58 * pow2468; // pow(trace_generator, (safe_div((safe_mult(60423, global_values.trace_length)), 65536))). + assert pow2470 = pow58 * pow2469; // pow(trace_generator, (safe_div((safe_mult(7553, global_values.trace_length)), 8192))). + assert pow2471 = pow58 * pow2470; // pow(trace_generator, (safe_div((safe_mult(60425, global_values.trace_length)), 65536))). + assert pow2472 = pow58 * pow2471; // pow(trace_generator, (safe_div((safe_mult(30213, global_values.trace_length)), 32768))). + assert pow2473 = pow58 * pow2472; // pow(trace_generator, (safe_div((safe_mult(60427, global_values.trace_length)), 65536))). + assert pow2474 = pow58 * pow2473; // pow(trace_generator, (safe_div((safe_mult(15107, global_values.trace_length)), 16384))). + assert pow2475 = pow58 * pow2474; // pow(trace_generator, (safe_div((safe_mult(60429, global_values.trace_length)), 65536))). + assert pow2476 = pow58 * pow2475; // pow(trace_generator, (safe_div((safe_mult(30215, global_values.trace_length)), 32768))). + assert pow2477 = pow58 * pow2476; // pow(trace_generator, (safe_div((safe_mult(60431, global_values.trace_length)), 65536))). + assert pow2478 = pow58 * pow2477; // pow(trace_generator, (safe_div((safe_mult(3777, global_values.trace_length)), 4096))). + assert pow2479 = pow58 * pow2478; // pow(trace_generator, (safe_div((safe_mult(60433, global_values.trace_length)), 65536))). + assert pow2480 = pow58 * pow2479; // pow(trace_generator, (safe_div((safe_mult(30217, global_values.trace_length)), 32768))). + assert pow2481 = pow58 * pow2480; // pow(trace_generator, (safe_div((safe_mult(60435, global_values.trace_length)), 65536))). + assert pow2482 = pow58 * pow2481; // pow(trace_generator, (safe_div((safe_mult(15109, global_values.trace_length)), 16384))). + assert pow2483 = pow58 * pow2482; // pow(trace_generator, (safe_div((safe_mult(60437, global_values.trace_length)), 65536))). + assert pow2484 = pow58 * pow2483; // pow(trace_generator, (safe_div((safe_mult(30219, global_values.trace_length)), 32768))). + assert pow2485 = pow58 * pow2484; // pow(trace_generator, (safe_div((safe_mult(60439, global_values.trace_length)), 65536))). + assert pow2486 = pow105 * pow2485; // pow(trace_generator, (safe_div((safe_mult(945, global_values.trace_length)), 1024))). + assert pow2487 = pow126 * pow2486; // pow(trace_generator, (safe_div((safe_mult(473, global_values.trace_length)), 512))). + assert pow2488 = pow126 * pow2487; // pow(trace_generator, (safe_div((safe_mult(947, global_values.trace_length)), 1024))). + assert pow2489 = pow126 * pow2488; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 256))). + assert pow2490 = pow126 * pow2489; // pow(trace_generator, (safe_div((safe_mult(949, global_values.trace_length)), 1024))). + assert pow2491 = pow126 * pow2490; // pow(trace_generator, (safe_div((safe_mult(475, global_values.trace_length)), 512))). + assert pow2492 = pow126 * pow2491; // pow(trace_generator, (safe_div((safe_mult(951, global_values.trace_length)), 1024))). + assert pow2493 = pow126 * pow2492; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 128))). + assert pow2494 = pow126 * pow2493; // pow(trace_generator, (safe_div((safe_mult(953, global_values.trace_length)), 1024))). + assert pow2495 = pow126 * pow2494; // pow(trace_generator, (safe_div((safe_mult(477, global_values.trace_length)), 512))). + assert pow2496 = pow126 * pow2495; // pow(trace_generator, (safe_div((safe_mult(955, global_values.trace_length)), 1024))). + assert pow2497 = pow126 * pow2496; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 256))). + assert pow2498 = pow126 * pow2497; // pow(trace_generator, (safe_div((safe_mult(957, global_values.trace_length)), 1024))). + assert pow2499 = pow246 * pow2498; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). + assert pow2500 = pow58 * pow2499; // pow(trace_generator, (safe_div((safe_mult(61441, global_values.trace_length)), 65536))). + assert pow2501 = pow58 * pow2500; // pow(trace_generator, (safe_div((safe_mult(30721, global_values.trace_length)), 32768))). + assert pow2502 = pow58 * pow2501; // pow(trace_generator, (safe_div((safe_mult(61443, global_values.trace_length)), 65536))). + assert pow2503 = pow58 * pow2502; // pow(trace_generator, (safe_div((safe_mult(15361, global_values.trace_length)), 16384))). + assert pow2504 = pow58 * pow2503; // pow(trace_generator, (safe_div((safe_mult(61445, global_values.trace_length)), 65536))). + assert pow2505 = pow58 * pow2504; // pow(trace_generator, (safe_div((safe_mult(30723, global_values.trace_length)), 32768))). + assert pow2506 = pow58 * pow2505; // pow(trace_generator, (safe_div((safe_mult(61447, global_values.trace_length)), 65536))). + assert pow2507 = pow58 * pow2506; // pow(trace_generator, (safe_div((safe_mult(7681, global_values.trace_length)), 8192))). + assert pow2508 = pow58 * pow2507; // pow(trace_generator, (safe_div((safe_mult(61449, global_values.trace_length)), 65536))). + assert pow2509 = pow58 * pow2508; // pow(trace_generator, (safe_div((safe_mult(30725, global_values.trace_length)), 32768))). + assert pow2510 = pow58 * pow2509; // pow(trace_generator, (safe_div((safe_mult(61451, global_values.trace_length)), 65536))). + assert pow2511 = pow58 * pow2510; // pow(trace_generator, (safe_div((safe_mult(15363, global_values.trace_length)), 16384))). + assert pow2512 = pow58 * pow2511; // pow(trace_generator, (safe_div((safe_mult(61453, global_values.trace_length)), 65536))). + assert pow2513 = pow58 * pow2512; // pow(trace_generator, (safe_div((safe_mult(30727, global_values.trace_length)), 32768))). + assert pow2514 = pow58 * pow2513; // pow(trace_generator, (safe_div((safe_mult(61455, global_values.trace_length)), 65536))). + assert pow2515 = pow58 * pow2514; // pow(trace_generator, (safe_div((safe_mult(3841, global_values.trace_length)), 4096))). + assert pow2516 = pow58 * pow2515; // pow(trace_generator, (safe_div((safe_mult(61457, global_values.trace_length)), 65536))). + assert pow2517 = pow58 * pow2516; // pow(trace_generator, (safe_div((safe_mult(30729, global_values.trace_length)), 32768))). + assert pow2518 = pow58 * pow2517; // pow(trace_generator, (safe_div((safe_mult(61459, global_values.trace_length)), 65536))). + assert pow2519 = pow58 * pow2518; // pow(trace_generator, (safe_div((safe_mult(15365, global_values.trace_length)), 16384))). + assert pow2520 = pow58 * pow2519; // pow(trace_generator, (safe_div((safe_mult(61461, global_values.trace_length)), 65536))). + assert pow2521 = pow58 * pow2520; // pow(trace_generator, (safe_div((safe_mult(30731, global_values.trace_length)), 32768))). + assert pow2522 = pow58 * pow2521; // pow(trace_generator, (safe_div((safe_mult(61463, global_values.trace_length)), 65536))). + assert pow2523 = pow105 * pow2522; // pow(trace_generator, (safe_div((safe_mult(961, global_values.trace_length)), 1024))). + assert pow2524 = pow126 * pow2523; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 512))). + assert pow2525 = pow126 * pow2524; // pow(trace_generator, (safe_div((safe_mult(963, global_values.trace_length)), 1024))). + assert pow2526 = pow126 * pow2525; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 256))). + assert pow2527 = pow126 * pow2526; // pow(trace_generator, (safe_div((safe_mult(965, global_values.trace_length)), 1024))). + assert pow2528 = pow126 * pow2527; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 512))). + assert pow2529 = pow126 * pow2528; // pow(trace_generator, (safe_div((safe_mult(967, global_values.trace_length)), 1024))). + assert pow2530 = pow126 * pow2529; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 128))). + assert pow2531 = pow126 * pow2530; // pow(trace_generator, (safe_div((safe_mult(969, global_values.trace_length)), 1024))). + assert pow2532 = pow126 * pow2531; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 512))). + assert pow2533 = pow126 * pow2532; // pow(trace_generator, (safe_div((safe_mult(971, global_values.trace_length)), 1024))). + assert pow2534 = pow126 * pow2533; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 256))). + assert pow2535 = pow126 * pow2534; // pow(trace_generator, (safe_div((safe_mult(973, global_values.trace_length)), 1024))). + assert pow2536 = pow126 * pow2535; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 512))). + assert pow2537 = pow126 * pow2536; // pow(trace_generator, (safe_div((safe_mult(975, global_values.trace_length)), 1024))). + assert pow2538 = pow126 * pow2537; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 64))). + assert pow2539 = pow58 * pow2538; // pow(trace_generator, (safe_div((safe_mult(62465, global_values.trace_length)), 65536))). + assert pow2540 = pow58 * pow2539; // pow(trace_generator, (safe_div((safe_mult(31233, global_values.trace_length)), 32768))). + assert pow2541 = pow58 * pow2540; // pow(trace_generator, (safe_div((safe_mult(62467, global_values.trace_length)), 65536))). + assert pow2542 = pow58 * pow2541; // pow(trace_generator, (safe_div((safe_mult(15617, global_values.trace_length)), 16384))). + assert pow2543 = pow58 * pow2542; // pow(trace_generator, (safe_div((safe_mult(62469, global_values.trace_length)), 65536))). + assert pow2544 = pow58 * pow2543; // pow(trace_generator, (safe_div((safe_mult(31235, global_values.trace_length)), 32768))). + assert pow2545 = pow58 * pow2544; // pow(trace_generator, (safe_div((safe_mult(62471, global_values.trace_length)), 65536))). + assert pow2546 = pow58 * pow2545; // pow(trace_generator, (safe_div((safe_mult(7809, global_values.trace_length)), 8192))). + assert pow2547 = pow58 * pow2546; // pow(trace_generator, (safe_div((safe_mult(62473, global_values.trace_length)), 65536))). + assert pow2548 = pow58 * pow2547; // pow(trace_generator, (safe_div((safe_mult(31237, global_values.trace_length)), 32768))). + assert pow2549 = pow58 * pow2548; // pow(trace_generator, (safe_div((safe_mult(62475, global_values.trace_length)), 65536))). + assert pow2550 = pow58 * pow2549; // pow(trace_generator, (safe_div((safe_mult(15619, global_values.trace_length)), 16384))). + assert pow2551 = pow58 * pow2550; // pow(trace_generator, (safe_div((safe_mult(62477, global_values.trace_length)), 65536))). + assert pow2552 = pow58 * pow2551; // pow(trace_generator, (safe_div((safe_mult(31239, global_values.trace_length)), 32768))). + assert pow2553 = pow58 * pow2552; // pow(trace_generator, (safe_div((safe_mult(62479, global_values.trace_length)), 65536))). + assert pow2554 = pow58 * pow2553; // pow(trace_generator, (safe_div((safe_mult(3905, global_values.trace_length)), 4096))). + assert pow2555 = pow58 * pow2554; // pow(trace_generator, (safe_div((safe_mult(62481, global_values.trace_length)), 65536))). + assert pow2556 = pow58 * pow2555; // pow(trace_generator, (safe_div((safe_mult(31241, global_values.trace_length)), 32768))). + assert pow2557 = pow58 * pow2556; // pow(trace_generator, (safe_div((safe_mult(62483, global_values.trace_length)), 65536))). + assert pow2558 = pow58 * pow2557; // pow(trace_generator, (safe_div((safe_mult(15621, global_values.trace_length)), 16384))). + assert pow2559 = pow58 * pow2558; // pow(trace_generator, (safe_div((safe_mult(62485, global_values.trace_length)), 65536))). + assert pow2560 = pow58 * pow2559; // pow(trace_generator, (safe_div((safe_mult(31243, global_values.trace_length)), 32768))). + assert pow2561 = pow58 * pow2560; // pow(trace_generator, (safe_div((safe_mult(62487, global_values.trace_length)), 65536))). + assert pow2562 = pow105 * pow2561; // pow(trace_generator, (safe_div((safe_mult(977, global_values.trace_length)), 1024))). + assert pow2563 = pow126 * pow2562; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 512))). + assert pow2564 = pow126 * pow2563; // pow(trace_generator, (safe_div((safe_mult(979, global_values.trace_length)), 1024))). + assert pow2565 = pow126 * pow2564; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 256))). + assert pow2566 = pow126 * pow2565; // pow(trace_generator, (safe_div((safe_mult(981, global_values.trace_length)), 1024))). + assert pow2567 = pow126 * pow2566; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 512))). + assert pow2568 = pow126 * pow2567; // pow(trace_generator, (safe_div((safe_mult(983, global_values.trace_length)), 1024))). + assert pow2569 = pow126 * pow2568; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 128))). + assert pow2570 = pow126 * pow2569; // pow(trace_generator, (safe_div((safe_mult(985, global_values.trace_length)), 1024))). + assert pow2571 = pow126 * pow2570; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 512))). + assert pow2572 = pow126 * pow2571; // pow(trace_generator, (safe_div((safe_mult(987, global_values.trace_length)), 1024))). + assert pow2573 = pow126 * pow2572; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 256))). + assert pow2574 = pow126 * pow2573; // pow(trace_generator, (safe_div((safe_mult(989, global_values.trace_length)), 1024))). + assert pow2575 = pow246 * pow2574; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 32))). + assert pow2576 = pow58 * pow2575; // pow(trace_generator, (safe_div((safe_mult(63489, global_values.trace_length)), 65536))). + assert pow2577 = pow58 * pow2576; // pow(trace_generator, (safe_div((safe_mult(31745, global_values.trace_length)), 32768))). + assert pow2578 = pow58 * pow2577; // pow(trace_generator, (safe_div((safe_mult(63491, global_values.trace_length)), 65536))). + assert pow2579 = pow58 * pow2578; // pow(trace_generator, (safe_div((safe_mult(15873, global_values.trace_length)), 16384))). + assert pow2580 = pow58 * pow2579; // pow(trace_generator, (safe_div((safe_mult(63493, global_values.trace_length)), 65536))). + assert pow2581 = pow58 * pow2580; // pow(trace_generator, (safe_div((safe_mult(31747, global_values.trace_length)), 32768))). + assert pow2582 = pow58 * pow2581; // pow(trace_generator, (safe_div((safe_mult(63495, global_values.trace_length)), 65536))). + assert pow2583 = pow58 * pow2582; // pow(trace_generator, (safe_div((safe_mult(7937, global_values.trace_length)), 8192))). + assert pow2584 = pow58 * pow2583; // pow(trace_generator, (safe_div((safe_mult(63497, global_values.trace_length)), 65536))). + assert pow2585 = pow58 * pow2584; // pow(trace_generator, (safe_div((safe_mult(31749, global_values.trace_length)), 32768))). + assert pow2586 = pow58 * pow2585; // pow(trace_generator, (safe_div((safe_mult(63499, global_values.trace_length)), 65536))). + assert pow2587 = pow58 * pow2586; // pow(trace_generator, (safe_div((safe_mult(15875, global_values.trace_length)), 16384))). + assert pow2588 = pow58 * pow2587; // pow(trace_generator, (safe_div((safe_mult(63501, global_values.trace_length)), 65536))). + assert pow2589 = pow58 * pow2588; // pow(trace_generator, (safe_div((safe_mult(31751, global_values.trace_length)), 32768))). + assert pow2590 = pow58 * pow2589; // pow(trace_generator, (safe_div((safe_mult(63503, global_values.trace_length)), 65536))). + assert pow2591 = pow58 * pow2590; // pow(trace_generator, (safe_div((safe_mult(3969, global_values.trace_length)), 4096))). + assert pow2592 = pow58 * pow2591; // pow(trace_generator, (safe_div((safe_mult(63505, global_values.trace_length)), 65536))). + assert pow2593 = pow58 * pow2592; // pow(trace_generator, (safe_div((safe_mult(31753, global_values.trace_length)), 32768))). + assert pow2594 = pow58 * pow2593; // pow(trace_generator, (safe_div((safe_mult(63507, global_values.trace_length)), 65536))). + assert pow2595 = pow58 * pow2594; // pow(trace_generator, (safe_div((safe_mult(15877, global_values.trace_length)), 16384))). + assert pow2596 = pow58 * pow2595; // pow(trace_generator, (safe_div((safe_mult(63509, global_values.trace_length)), 65536))). + assert pow2597 = pow58 * pow2596; // pow(trace_generator, (safe_div((safe_mult(31755, global_values.trace_length)), 32768))). + assert pow2598 = pow58 * pow2597; // pow(trace_generator, (safe_div((safe_mult(63511, global_values.trace_length)), 65536))). + assert pow2599 = pow105 * pow2598; // pow(trace_generator, (safe_div((safe_mult(993, global_values.trace_length)), 1024))). + assert pow2600 = pow126 * pow2599; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 512))). + assert pow2601 = pow126 * pow2600; // pow(trace_generator, (safe_div((safe_mult(995, global_values.trace_length)), 1024))). + assert pow2602 = pow126 * pow2601; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 256))). + assert pow2603 = pow126 * pow2602; // pow(trace_generator, (safe_div((safe_mult(997, global_values.trace_length)), 1024))). + assert pow2604 = pow126 * pow2603; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 512))). + assert pow2605 = pow126 * pow2604; // pow(trace_generator, (safe_div((safe_mult(999, global_values.trace_length)), 1024))). + assert pow2606 = pow126 * pow2605; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 128))). + assert pow2607 = pow126 * pow2606; // pow(trace_generator, (safe_div((safe_mult(1001, global_values.trace_length)), 1024))). + assert pow2608 = pow126 * pow2607; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 512))). + assert pow2609 = pow126 * pow2608; // pow(trace_generator, (safe_div((safe_mult(1003, global_values.trace_length)), 1024))). + assert pow2610 = pow126 * pow2609; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 256))). + assert pow2611 = pow126 * pow2610; // pow(trace_generator, (safe_div((safe_mult(1005, global_values.trace_length)), 1024))). + assert pow2612 = pow126 * pow2611; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 512))). + assert pow2613 = pow126 * pow2612; // pow(trace_generator, (safe_div((safe_mult(1007, global_values.trace_length)), 1024))). + assert pow2614 = pow126 * pow2613; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64))). + assert pow2615 = pow58 * pow2614; // pow(trace_generator, (safe_div((safe_mult(64513, global_values.trace_length)), 65536))). + assert pow2616 = pow58 * pow2615; // pow(trace_generator, (safe_div((safe_mult(32257, global_values.trace_length)), 32768))). + assert pow2617 = pow58 * pow2616; // pow(trace_generator, (safe_div((safe_mult(64515, global_values.trace_length)), 65536))). + assert pow2618 = pow58 * pow2617; // pow(trace_generator, (safe_div((safe_mult(16129, global_values.trace_length)), 16384))). + assert pow2619 = pow58 * pow2618; // pow(trace_generator, (safe_div((safe_mult(64517, global_values.trace_length)), 65536))). + assert pow2620 = pow58 * pow2619; // pow(trace_generator, (safe_div((safe_mult(32259, global_values.trace_length)), 32768))). + assert pow2621 = pow58 * pow2620; // pow(trace_generator, (safe_div((safe_mult(64519, global_values.trace_length)), 65536))). + assert pow2622 = pow58 * pow2621; // pow(trace_generator, (safe_div((safe_mult(8065, global_values.trace_length)), 8192))). + assert pow2623 = pow58 * pow2622; // pow(trace_generator, (safe_div((safe_mult(64521, global_values.trace_length)), 65536))). + assert pow2624 = pow58 * pow2623; // pow(trace_generator, (safe_div((safe_mult(32261, global_values.trace_length)), 32768))). + assert pow2625 = pow58 * pow2624; // pow(trace_generator, (safe_div((safe_mult(64523, global_values.trace_length)), 65536))). + assert pow2626 = pow58 * pow2625; // pow(trace_generator, (safe_div((safe_mult(16131, global_values.trace_length)), 16384))). + assert pow2627 = pow58 * pow2626; // pow(trace_generator, (safe_div((safe_mult(64525, global_values.trace_length)), 65536))). + assert pow2628 = pow58 * pow2627; // pow(trace_generator, (safe_div((safe_mult(32263, global_values.trace_length)), 32768))). + assert pow2629 = pow58 * pow2628; // pow(trace_generator, (safe_div((safe_mult(64527, global_values.trace_length)), 65536))). + assert pow2630 = pow58 * pow2629; // pow(trace_generator, (safe_div((safe_mult(4033, global_values.trace_length)), 4096))). + assert pow2631 = pow58 * pow2630; // pow(trace_generator, (safe_div((safe_mult(64529, global_values.trace_length)), 65536))). + assert pow2632 = pow58 * pow2631; // pow(trace_generator, (safe_div((safe_mult(32265, global_values.trace_length)), 32768))). + assert pow2633 = pow58 * pow2632; // pow(trace_generator, (safe_div((safe_mult(64531, global_values.trace_length)), 65536))). + assert pow2634 = pow58 * pow2633; // pow(trace_generator, (safe_div((safe_mult(16133, global_values.trace_length)), 16384))). + assert pow2635 = pow58 * pow2634; // pow(trace_generator, (safe_div((safe_mult(64533, global_values.trace_length)), 65536))). + assert pow2636 = pow58 * pow2635; // pow(trace_generator, (safe_div((safe_mult(32267, global_values.trace_length)), 32768))). + assert pow2637 = pow58 * pow2636; // pow(trace_generator, (safe_div((safe_mult(64535, global_values.trace_length)), 65536))). + assert pow2638 = pow58 * pow2637; // pow(trace_generator, (safe_div((safe_mult(8067, global_values.trace_length)), 8192))). + assert pow2639 = pow58 * pow2638; // pow(trace_generator, (safe_div((safe_mult(64537, global_values.trace_length)), 65536))). + assert pow2640 = pow58 * pow2639; // pow(trace_generator, (safe_div((safe_mult(32269, global_values.trace_length)), 32768))). + assert pow2641 = pow58 * pow2640; // pow(trace_generator, (safe_div((safe_mult(64539, global_values.trace_length)), 65536))). + assert pow2642 = pow58 * pow2641; // pow(trace_generator, (safe_div((safe_mult(16135, global_values.trace_length)), 16384))). + assert pow2643 = pow58 * pow2642; // pow(trace_generator, (safe_div((safe_mult(64541, global_values.trace_length)), 65536))). + assert pow2644 = pow67 * pow2643; // pow(trace_generator, (safe_div((safe_mult(2017, global_values.trace_length)), 2048))). + assert pow2645 = pow58 * pow2644; // pow(trace_generator, (safe_div((safe_mult(64545, global_values.trace_length)), 65536))). + assert pow2646 = pow58 * pow2645; // pow(trace_generator, (safe_div((safe_mult(32273, global_values.trace_length)), 32768))). + assert pow2647 = pow58 * pow2646; // pow(trace_generator, (safe_div((safe_mult(64547, global_values.trace_length)), 65536))). + assert pow2648 = pow58 * pow2647; // pow(trace_generator, (safe_div((safe_mult(16137, global_values.trace_length)), 16384))). + assert pow2649 = pow58 * pow2648; // pow(trace_generator, (safe_div((safe_mult(64549, global_values.trace_length)), 65536))). + assert pow2650 = pow58 * pow2649; // pow(trace_generator, (safe_div((safe_mult(32275, global_values.trace_length)), 32768))). + assert pow2651 = pow58 * pow2650; // pow(trace_generator, (safe_div((safe_mult(64551, global_values.trace_length)), 65536))). + assert pow2652 = pow58 * pow2651; // pow(trace_generator, (safe_div((safe_mult(8069, global_values.trace_length)), 8192))). + assert pow2653 = pow58 * pow2652; // pow(trace_generator, (safe_div((safe_mult(64553, global_values.trace_length)), 65536))). + assert pow2654 = pow58 * pow2653; // pow(trace_generator, (safe_div((safe_mult(32277, global_values.trace_length)), 32768))). + assert pow2655 = pow58 * pow2654; // pow(trace_generator, (safe_div((safe_mult(64555, global_values.trace_length)), 65536))). + assert pow2656 = pow58 * pow2655; // pow(trace_generator, (safe_div((safe_mult(16139, global_values.trace_length)), 16384))). + assert pow2657 = pow58 * pow2656; // pow(trace_generator, (safe_div((safe_mult(64557, global_values.trace_length)), 65536))). + assert pow2658 = pow58 * pow2657; // pow(trace_generator, (safe_div((safe_mult(32279, global_values.trace_length)), 32768))). + assert pow2659 = pow58 * pow2658; // pow(trace_generator, (safe_div((safe_mult(64559, global_values.trace_length)), 65536))). + assert pow2660 = pow58 * pow2659; // pow(trace_generator, (safe_div((safe_mult(4035, global_values.trace_length)), 4096))). + assert pow2661 = pow58 * pow2660; // pow(trace_generator, (safe_div((safe_mult(64561, global_values.trace_length)), 65536))). + assert pow2662 = pow58 * pow2661; // pow(trace_generator, (safe_div((safe_mult(32281, global_values.trace_length)), 32768))). + assert pow2663 = pow58 * pow2662; // pow(trace_generator, (safe_div((safe_mult(64563, global_values.trace_length)), 65536))). + assert pow2664 = pow58 * pow2663; // pow(trace_generator, (safe_div((safe_mult(16141, global_values.trace_length)), 16384))). + assert pow2665 = pow58 * pow2664; // pow(trace_generator, (safe_div((safe_mult(64565, global_values.trace_length)), 65536))). + assert pow2666 = pow58 * pow2665; // pow(trace_generator, (safe_div((safe_mult(32283, global_values.trace_length)), 32768))). + assert pow2667 = pow58 * pow2666; // pow(trace_generator, (safe_div((safe_mult(64567, global_values.trace_length)), 65536))). + assert pow2668 = pow58 * pow2667; // pow(trace_generator, (safe_div((safe_mult(8071, global_values.trace_length)), 8192))). + assert pow2669 = pow58 * pow2668; // pow(trace_generator, (safe_div((safe_mult(64569, global_values.trace_length)), 65536))). + assert pow2670 = pow58 * pow2669; // pow(trace_generator, (safe_div((safe_mult(32285, global_values.trace_length)), 32768))). + assert pow2671 = pow58 * pow2670; // pow(trace_generator, (safe_div((safe_mult(64571, global_values.trace_length)), 65536))). + assert pow2672 = pow58 * pow2671; // pow(trace_generator, (safe_div((safe_mult(16143, global_values.trace_length)), 16384))). + assert pow2673 = pow58 * pow2672; // pow(trace_generator, (safe_div((safe_mult(64573, global_values.trace_length)), 65536))). + assert pow2674 = pow67 * pow2673; // pow(trace_generator, (safe_div((safe_mult(1009, global_values.trace_length)), 1024))). + assert pow2675 = pow58 * pow2674; // pow(trace_generator, (safe_div((safe_mult(64577, global_values.trace_length)), 65536))). + assert pow2676 = pow58 * pow2675; // pow(trace_generator, (safe_div((safe_mult(32289, global_values.trace_length)), 32768))). + assert pow2677 = pow58 * pow2676; // pow(trace_generator, (safe_div((safe_mult(64579, global_values.trace_length)), 65536))). + assert pow2678 = pow58 * pow2677; // pow(trace_generator, (safe_div((safe_mult(16145, global_values.trace_length)), 16384))). + assert pow2679 = pow58 * pow2678; // pow(trace_generator, (safe_div((safe_mult(64581, global_values.trace_length)), 65536))). + assert pow2680 = pow58 * pow2679; // pow(trace_generator, (safe_div((safe_mult(32291, global_values.trace_length)), 32768))). + assert pow2681 = pow58 * pow2680; // pow(trace_generator, (safe_div((safe_mult(64583, global_values.trace_length)), 65536))). + assert pow2682 = pow58 * pow2681; // pow(trace_generator, (safe_div((safe_mult(8073, global_values.trace_length)), 8192))). + assert pow2683 = pow58 * pow2682; // pow(trace_generator, (safe_div((safe_mult(64585, global_values.trace_length)), 65536))). + assert pow2684 = pow58 * pow2683; // pow(trace_generator, (safe_div((safe_mult(32293, global_values.trace_length)), 32768))). + assert pow2685 = pow58 * pow2684; // pow(trace_generator, (safe_div((safe_mult(64587, global_values.trace_length)), 65536))). + assert pow2686 = pow58 * pow2685; // pow(trace_generator, (safe_div((safe_mult(16147, global_values.trace_length)), 16384))). + assert pow2687 = pow58 * pow2686; // pow(trace_generator, (safe_div((safe_mult(64589, global_values.trace_length)), 65536))). + assert pow2688 = pow58 * pow2687; // pow(trace_generator, (safe_div((safe_mult(32295, global_values.trace_length)), 32768))). + assert pow2689 = pow58 * pow2688; // pow(trace_generator, (safe_div((safe_mult(64591, global_values.trace_length)), 65536))). + assert pow2690 = pow58 * pow2689; // pow(trace_generator, (safe_div((safe_mult(4037, global_values.trace_length)), 4096))). + assert pow2691 = pow58 * pow2690; // pow(trace_generator, (safe_div((safe_mult(64593, global_values.trace_length)), 65536))). + assert pow2692 = pow58 * pow2691; // pow(trace_generator, (safe_div((safe_mult(32297, global_values.trace_length)), 32768))). + assert pow2693 = pow58 * pow2692; // pow(trace_generator, (safe_div((safe_mult(64595, global_values.trace_length)), 65536))). + assert pow2694 = pow58 * pow2693; // pow(trace_generator, (safe_div((safe_mult(16149, global_values.trace_length)), 16384))). + assert pow2695 = pow58 * pow2694; // pow(trace_generator, (safe_div((safe_mult(64597, global_values.trace_length)), 65536))). + assert pow2696 = pow58 * pow2695; // pow(trace_generator, (safe_div((safe_mult(32299, global_values.trace_length)), 32768))). + assert pow2697 = pow58 * pow2696; // pow(trace_generator, (safe_div((safe_mult(64599, global_values.trace_length)), 65536))). + assert pow2698 = pow58 * pow2697; // pow(trace_generator, (safe_div((safe_mult(8075, global_values.trace_length)), 8192))). + assert pow2699 = pow58 * pow2698; // pow(trace_generator, (safe_div((safe_mult(64601, global_values.trace_length)), 65536))). + assert pow2700 = pow58 * pow2699; // pow(trace_generator, (safe_div((safe_mult(32301, global_values.trace_length)), 32768))). + assert pow2701 = pow58 * pow2700; // pow(trace_generator, (safe_div((safe_mult(64603, global_values.trace_length)), 65536))). + assert pow2702 = pow58 * pow2701; // pow(trace_generator, (safe_div((safe_mult(16151, global_values.trace_length)), 16384))). + assert pow2703 = pow58 * pow2702; // pow(trace_generator, (safe_div((safe_mult(64605, global_values.trace_length)), 65536))). + assert pow2704 = pow67 * pow2703; // pow(trace_generator, (safe_div((safe_mult(2019, global_values.trace_length)), 2048))). + assert pow2705 = pow58 * pow2704; // pow(trace_generator, (safe_div((safe_mult(64609, global_values.trace_length)), 65536))). + assert pow2706 = pow58 * pow2705; // pow(trace_generator, (safe_div((safe_mult(32305, global_values.trace_length)), 32768))). + assert pow2707 = pow58 * pow2706; // pow(trace_generator, (safe_div((safe_mult(64611, global_values.trace_length)), 65536))). + assert pow2708 = pow58 * pow2707; // pow(trace_generator, (safe_div((safe_mult(16153, global_values.trace_length)), 16384))). + assert pow2709 = pow58 * pow2708; // pow(trace_generator, (safe_div((safe_mult(64613, global_values.trace_length)), 65536))). + assert pow2710 = pow58 * pow2709; // pow(trace_generator, (safe_div((safe_mult(32307, global_values.trace_length)), 32768))). + assert pow2711 = pow58 * pow2710; // pow(trace_generator, (safe_div((safe_mult(64615, global_values.trace_length)), 65536))). + assert pow2712 = pow58 * pow2711; // pow(trace_generator, (safe_div((safe_mult(8077, global_values.trace_length)), 8192))). + assert pow2713 = pow58 * pow2712; // pow(trace_generator, (safe_div((safe_mult(64617, global_values.trace_length)), 65536))). + assert pow2714 = pow58 * pow2713; // pow(trace_generator, (safe_div((safe_mult(32309, global_values.trace_length)), 32768))). + assert pow2715 = pow58 * pow2714; // pow(trace_generator, (safe_div((safe_mult(64619, global_values.trace_length)), 65536))). + assert pow2716 = pow58 * pow2715; // pow(trace_generator, (safe_div((safe_mult(16155, global_values.trace_length)), 16384))). + assert pow2717 = pow58 * pow2716; // pow(trace_generator, (safe_div((safe_mult(64621, global_values.trace_length)), 65536))). + assert pow2718 = pow58 * pow2717; // pow(trace_generator, (safe_div((safe_mult(32311, global_values.trace_length)), 32768))). + assert pow2719 = pow58 * pow2718; // pow(trace_generator, (safe_div((safe_mult(64623, global_values.trace_length)), 65536))). + assert pow2720 = pow58 * pow2719; // pow(trace_generator, (safe_div((safe_mult(4039, global_values.trace_length)), 4096))). + assert pow2721 = pow58 * pow2720; // pow(trace_generator, (safe_div((safe_mult(64625, global_values.trace_length)), 65536))). + assert pow2722 = pow58 * pow2721; // pow(trace_generator, (safe_div((safe_mult(32313, global_values.trace_length)), 32768))). + assert pow2723 = pow58 * pow2722; // pow(trace_generator, (safe_div((safe_mult(64627, global_values.trace_length)), 65536))). + assert pow2724 = pow58 * pow2723; // pow(trace_generator, (safe_div((safe_mult(16157, global_values.trace_length)), 16384))). + assert pow2725 = pow58 * pow2724; // pow(trace_generator, (safe_div((safe_mult(64629, global_values.trace_length)), 65536))). + assert pow2726 = pow58 * pow2725; // pow(trace_generator, (safe_div((safe_mult(32315, global_values.trace_length)), 32768))). + assert pow2727 = pow58 * pow2726; // pow(trace_generator, (safe_div((safe_mult(64631, global_values.trace_length)), 65536))). + assert pow2728 = pow58 * pow2727; // pow(trace_generator, (safe_div((safe_mult(8079, global_values.trace_length)), 8192))). + assert pow2729 = pow58 * pow2728; // pow(trace_generator, (safe_div((safe_mult(64633, global_values.trace_length)), 65536))). + assert pow2730 = pow58 * pow2729; // pow(trace_generator, (safe_div((safe_mult(32317, global_values.trace_length)), 32768))). + assert pow2731 = pow58 * pow2730; // pow(trace_generator, (safe_div((safe_mult(64635, global_values.trace_length)), 65536))). + assert pow2732 = pow58 * pow2731; // pow(trace_generator, (safe_div((safe_mult(16159, global_values.trace_length)), 16384))). + assert pow2733 = pow58 * pow2732; // pow(trace_generator, (safe_div((safe_mult(64637, global_values.trace_length)), 65536))). + assert pow2734 = pow67 * pow2733; // pow(trace_generator, (safe_div((safe_mult(505, global_values.trace_length)), 512))). + assert pow2735 = pow58 * pow2734; // pow(trace_generator, (safe_div((safe_mult(64641, global_values.trace_length)), 65536))). + assert pow2736 = pow58 * pow2735; // pow(trace_generator, (safe_div((safe_mult(32321, global_values.trace_length)), 32768))). + assert pow2737 = pow58 * pow2736; // pow(trace_generator, (safe_div((safe_mult(64643, global_values.trace_length)), 65536))). + assert pow2738 = pow58 * pow2737; // pow(trace_generator, (safe_div((safe_mult(16161, global_values.trace_length)), 16384))). + assert pow2739 = pow58 * pow2738; // pow(trace_generator, (safe_div((safe_mult(64645, global_values.trace_length)), 65536))). + assert pow2740 = pow58 * pow2739; // pow(trace_generator, (safe_div((safe_mult(32323, global_values.trace_length)), 32768))). + assert pow2741 = pow58 * pow2740; // pow(trace_generator, (safe_div((safe_mult(64647, global_values.trace_length)), 65536))). + assert pow2742 = pow58 * pow2741; // pow(trace_generator, (safe_div((safe_mult(8081, global_values.trace_length)), 8192))). + assert pow2743 = pow58 * pow2742; // pow(trace_generator, (safe_div((safe_mult(64649, global_values.trace_length)), 65536))). + assert pow2744 = pow58 * pow2743; // pow(trace_generator, (safe_div((safe_mult(32325, global_values.trace_length)), 32768))). + assert pow2745 = pow58 * pow2744; // pow(trace_generator, (safe_div((safe_mult(64651, global_values.trace_length)), 65536))). + assert pow2746 = pow58 * pow2745; // pow(trace_generator, (safe_div((safe_mult(16163, global_values.trace_length)), 16384))). + assert pow2747 = pow58 * pow2746; // pow(trace_generator, (safe_div((safe_mult(64653, global_values.trace_length)), 65536))). + assert pow2748 = pow58 * pow2747; // pow(trace_generator, (safe_div((safe_mult(32327, global_values.trace_length)), 32768))). + assert pow2749 = pow58 * pow2748; // pow(trace_generator, (safe_div((safe_mult(64655, global_values.trace_length)), 65536))). + assert pow2750 = pow58 * pow2749; // pow(trace_generator, (safe_div((safe_mult(4041, global_values.trace_length)), 4096))). + assert pow2751 = pow58 * pow2750; // pow(trace_generator, (safe_div((safe_mult(64657, global_values.trace_length)), 65536))). + assert pow2752 = pow58 * pow2751; // pow(trace_generator, (safe_div((safe_mult(32329, global_values.trace_length)), 32768))). + assert pow2753 = pow58 * pow2752; // pow(trace_generator, (safe_div((safe_mult(64659, global_values.trace_length)), 65536))). + assert pow2754 = pow58 * pow2753; // pow(trace_generator, (safe_div((safe_mult(16165, global_values.trace_length)), 16384))). + assert pow2755 = pow58 * pow2754; // pow(trace_generator, (safe_div((safe_mult(64661, global_values.trace_length)), 65536))). + assert pow2756 = pow58 * pow2755; // pow(trace_generator, (safe_div((safe_mult(32331, global_values.trace_length)), 32768))). + assert pow2757 = pow58 * pow2756; // pow(trace_generator, (safe_div((safe_mult(64663, global_values.trace_length)), 65536))). + assert pow2758 = pow58 * pow2757; // pow(trace_generator, (safe_div((safe_mult(8083, global_values.trace_length)), 8192))). + assert pow2759 = pow58 * pow2758; // pow(trace_generator, (safe_div((safe_mult(64665, global_values.trace_length)), 65536))). + assert pow2760 = pow58 * pow2759; // pow(trace_generator, (safe_div((safe_mult(32333, global_values.trace_length)), 32768))). + assert pow2761 = pow58 * pow2760; // pow(trace_generator, (safe_div((safe_mult(64667, global_values.trace_length)), 65536))). + assert pow2762 = pow58 * pow2761; // pow(trace_generator, (safe_div((safe_mult(16167, global_values.trace_length)), 16384))). + assert pow2763 = pow58 * pow2762; // pow(trace_generator, (safe_div((safe_mult(64669, global_values.trace_length)), 65536))). + assert pow2764 = pow67 * pow2763; // pow(trace_generator, (safe_div((safe_mult(2021, global_values.trace_length)), 2048))). + assert pow2765 = pow58 * pow2764; // pow(trace_generator, (safe_div((safe_mult(64673, global_values.trace_length)), 65536))). + assert pow2766 = pow58 * pow2765; // pow(trace_generator, (safe_div((safe_mult(32337, global_values.trace_length)), 32768))). + assert pow2767 = pow58 * pow2766; // pow(trace_generator, (safe_div((safe_mult(64675, global_values.trace_length)), 65536))). + assert pow2768 = pow58 * pow2767; // pow(trace_generator, (safe_div((safe_mult(16169, global_values.trace_length)), 16384))). + assert pow2769 = pow58 * pow2768; // pow(trace_generator, (safe_div((safe_mult(64677, global_values.trace_length)), 65536))). + assert pow2770 = pow58 * pow2769; // pow(trace_generator, (safe_div((safe_mult(32339, global_values.trace_length)), 32768))). + assert pow2771 = pow58 * pow2770; // pow(trace_generator, (safe_div((safe_mult(64679, global_values.trace_length)), 65536))). + assert pow2772 = pow58 * pow2771; // pow(trace_generator, (safe_div((safe_mult(8085, global_values.trace_length)), 8192))). + assert pow2773 = pow58 * pow2772; // pow(trace_generator, (safe_div((safe_mult(64681, global_values.trace_length)), 65536))). + assert pow2774 = pow58 * pow2773; // pow(trace_generator, (safe_div((safe_mult(32341, global_values.trace_length)), 32768))). + assert pow2775 = pow58 * pow2774; // pow(trace_generator, (safe_div((safe_mult(64683, global_values.trace_length)), 65536))). + assert pow2776 = pow58 * pow2775; // pow(trace_generator, (safe_div((safe_mult(16171, global_values.trace_length)), 16384))). + assert pow2777 = pow58 * pow2776; // pow(trace_generator, (safe_div((safe_mult(64685, global_values.trace_length)), 65536))). + assert pow2778 = pow58 * pow2777; // pow(trace_generator, (safe_div((safe_mult(32343, global_values.trace_length)), 32768))). + assert pow2779 = pow58 * pow2778; // pow(trace_generator, (safe_div((safe_mult(64687, global_values.trace_length)), 65536))). + assert pow2780 = pow58 * pow2779; // pow(trace_generator, (safe_div((safe_mult(4043, global_values.trace_length)), 4096))). + assert pow2781 = pow58 * pow2780; // pow(trace_generator, (safe_div((safe_mult(64689, global_values.trace_length)), 65536))). + assert pow2782 = pow58 * pow2781; // pow(trace_generator, (safe_div((safe_mult(32345, global_values.trace_length)), 32768))). + assert pow2783 = pow58 * pow2782; // pow(trace_generator, (safe_div((safe_mult(64691, global_values.trace_length)), 65536))). + assert pow2784 = pow58 * pow2783; // pow(trace_generator, (safe_div((safe_mult(16173, global_values.trace_length)), 16384))). + assert pow2785 = pow58 * pow2784; // pow(trace_generator, (safe_div((safe_mult(64693, global_values.trace_length)), 65536))). + assert pow2786 = pow58 * pow2785; // pow(trace_generator, (safe_div((safe_mult(32347, global_values.trace_length)), 32768))). + assert pow2787 = pow58 * pow2786; // pow(trace_generator, (safe_div((safe_mult(64695, global_values.trace_length)), 65536))). + assert pow2788 = pow58 * pow2787; // pow(trace_generator, (safe_div((safe_mult(8087, global_values.trace_length)), 8192))). + assert pow2789 = pow58 * pow2788; // pow(trace_generator, (safe_div((safe_mult(64697, global_values.trace_length)), 65536))). + assert pow2790 = pow58 * pow2789; // pow(trace_generator, (safe_div((safe_mult(32349, global_values.trace_length)), 32768))). + assert pow2791 = pow58 * pow2790; // pow(trace_generator, (safe_div((safe_mult(64699, global_values.trace_length)), 65536))). + assert pow2792 = pow58 * pow2791; // pow(trace_generator, (safe_div((safe_mult(16175, global_values.trace_length)), 16384))). + assert pow2793 = pow58 * pow2792; // pow(trace_generator, (safe_div((safe_mult(64701, global_values.trace_length)), 65536))). + assert pow2794 = pow67 * pow2793; // pow(trace_generator, (safe_div((safe_mult(1011, global_values.trace_length)), 1024))). + assert pow2795 = pow58 * pow2794; // pow(trace_generator, (safe_div((safe_mult(64705, global_values.trace_length)), 65536))). + assert pow2796 = pow58 * pow2795; // pow(trace_generator, (safe_div((safe_mult(32353, global_values.trace_length)), 32768))). + assert pow2797 = pow58 * pow2796; // pow(trace_generator, (safe_div((safe_mult(64707, global_values.trace_length)), 65536))). + assert pow2798 = pow58 * pow2797; // pow(trace_generator, (safe_div((safe_mult(16177, global_values.trace_length)), 16384))). + assert pow2799 = pow58 * pow2798; // pow(trace_generator, (safe_div((safe_mult(64709, global_values.trace_length)), 65536))). + assert pow2800 = pow58 * pow2799; // pow(trace_generator, (safe_div((safe_mult(32355, global_values.trace_length)), 32768))). + assert pow2801 = pow58 * pow2800; // pow(trace_generator, (safe_div((safe_mult(64711, global_values.trace_length)), 65536))). + assert pow2802 = pow58 * pow2801; // pow(trace_generator, (safe_div((safe_mult(8089, global_values.trace_length)), 8192))). + assert pow2803 = pow58 * pow2802; // pow(trace_generator, (safe_div((safe_mult(64713, global_values.trace_length)), 65536))). + assert pow2804 = pow58 * pow2803; // pow(trace_generator, (safe_div((safe_mult(32357, global_values.trace_length)), 32768))). + assert pow2805 = pow58 * pow2804; // pow(trace_generator, (safe_div((safe_mult(64715, global_values.trace_length)), 65536))). + assert pow2806 = pow58 * pow2805; // pow(trace_generator, (safe_div((safe_mult(16179, global_values.trace_length)), 16384))). + assert pow2807 = pow58 * pow2806; // pow(trace_generator, (safe_div((safe_mult(64717, global_values.trace_length)), 65536))). + assert pow2808 = pow58 * pow2807; // pow(trace_generator, (safe_div((safe_mult(32359, global_values.trace_length)), 32768))). + assert pow2809 = pow58 * pow2808; // pow(trace_generator, (safe_div((safe_mult(64719, global_values.trace_length)), 65536))). + assert pow2810 = pow58 * pow2809; // pow(trace_generator, (safe_div((safe_mult(4045, global_values.trace_length)), 4096))). + assert pow2811 = pow58 * pow2810; // pow(trace_generator, (safe_div((safe_mult(64721, global_values.trace_length)), 65536))). + assert pow2812 = pow58 * pow2811; // pow(trace_generator, (safe_div((safe_mult(32361, global_values.trace_length)), 32768))). + assert pow2813 = pow58 * pow2812; // pow(trace_generator, (safe_div((safe_mult(64723, global_values.trace_length)), 65536))). + assert pow2814 = pow58 * pow2813; // pow(trace_generator, (safe_div((safe_mult(16181, global_values.trace_length)), 16384))). + assert pow2815 = pow58 * pow2814; // pow(trace_generator, (safe_div((safe_mult(64725, global_values.trace_length)), 65536))). + assert pow2816 = pow58 * pow2815; // pow(trace_generator, (safe_div((safe_mult(32363, global_values.trace_length)), 32768))). + assert pow2817 = pow58 * pow2816; // pow(trace_generator, (safe_div((safe_mult(64727, global_values.trace_length)), 65536))). + assert pow2818 = pow58 * pow2817; // pow(trace_generator, (safe_div((safe_mult(8091, global_values.trace_length)), 8192))). + assert pow2819 = pow58 * pow2818; // pow(trace_generator, (safe_div((safe_mult(64729, global_values.trace_length)), 65536))). + assert pow2820 = pow58 * pow2819; // pow(trace_generator, (safe_div((safe_mult(32365, global_values.trace_length)), 32768))). + assert pow2821 = pow58 * pow2820; // pow(trace_generator, (safe_div((safe_mult(64731, global_values.trace_length)), 65536))). + assert pow2822 = pow58 * pow2821; // pow(trace_generator, (safe_div((safe_mult(16183, global_values.trace_length)), 16384))). + assert pow2823 = pow58 * pow2822; // pow(trace_generator, (safe_div((safe_mult(64733, global_values.trace_length)), 65536))). + assert pow2824 = pow67 * pow2823; // pow(trace_generator, (safe_div((safe_mult(2023, global_values.trace_length)), 2048))). + assert pow2825 = pow58 * pow2824; // pow(trace_generator, (safe_div((safe_mult(64737, global_values.trace_length)), 65536))). + assert pow2826 = pow58 * pow2825; // pow(trace_generator, (safe_div((safe_mult(32369, global_values.trace_length)), 32768))). + assert pow2827 = pow58 * pow2826; // pow(trace_generator, (safe_div((safe_mult(64739, global_values.trace_length)), 65536))). + assert pow2828 = pow58 * pow2827; // pow(trace_generator, (safe_div((safe_mult(16185, global_values.trace_length)), 16384))). + assert pow2829 = pow58 * pow2828; // pow(trace_generator, (safe_div((safe_mult(64741, global_values.trace_length)), 65536))). + assert pow2830 = pow58 * pow2829; // pow(trace_generator, (safe_div((safe_mult(32371, global_values.trace_length)), 32768))). + assert pow2831 = pow58 * pow2830; // pow(trace_generator, (safe_div((safe_mult(64743, global_values.trace_length)), 65536))). + assert pow2832 = pow58 * pow2831; // pow(trace_generator, (safe_div((safe_mult(8093, global_values.trace_length)), 8192))). + assert pow2833 = pow58 * pow2832; // pow(trace_generator, (safe_div((safe_mult(64745, global_values.trace_length)), 65536))). + assert pow2834 = pow58 * pow2833; // pow(trace_generator, (safe_div((safe_mult(32373, global_values.trace_length)), 32768))). + assert pow2835 = pow58 * pow2834; // pow(trace_generator, (safe_div((safe_mult(64747, global_values.trace_length)), 65536))). + assert pow2836 = pow58 * pow2835; // pow(trace_generator, (safe_div((safe_mult(16187, global_values.trace_length)), 16384))). + assert pow2837 = pow58 * pow2836; // pow(trace_generator, (safe_div((safe_mult(64749, global_values.trace_length)), 65536))). + assert pow2838 = pow58 * pow2837; // pow(trace_generator, (safe_div((safe_mult(32375, global_values.trace_length)), 32768))). + assert pow2839 = pow58 * pow2838; // pow(trace_generator, (safe_div((safe_mult(64751, global_values.trace_length)), 65536))). + assert pow2840 = pow58 * pow2839; // pow(trace_generator, (safe_div((safe_mult(4047, global_values.trace_length)), 4096))). + assert pow2841 = pow58 * pow2840; // pow(trace_generator, (safe_div((safe_mult(64753, global_values.trace_length)), 65536))). + assert pow2842 = pow58 * pow2841; // pow(trace_generator, (safe_div((safe_mult(32377, global_values.trace_length)), 32768))). + assert pow2843 = pow58 * pow2842; // pow(trace_generator, (safe_div((safe_mult(64755, global_values.trace_length)), 65536))). + assert pow2844 = pow58 * pow2843; // pow(trace_generator, (safe_div((safe_mult(16189, global_values.trace_length)), 16384))). + assert pow2845 = pow58 * pow2844; // pow(trace_generator, (safe_div((safe_mult(64757, global_values.trace_length)), 65536))). + assert pow2846 = pow58 * pow2845; // pow(trace_generator, (safe_div((safe_mult(32379, global_values.trace_length)), 32768))). + assert pow2847 = pow58 * pow2846; // pow(trace_generator, (safe_div((safe_mult(64759, global_values.trace_length)), 65536))). + assert pow2848 = pow58 * pow2847; // pow(trace_generator, (safe_div((safe_mult(8095, global_values.trace_length)), 8192))). + assert pow2849 = pow58 * pow2848; // pow(trace_generator, (safe_div((safe_mult(64761, global_values.trace_length)), 65536))). + assert pow2850 = pow58 * pow2849; // pow(trace_generator, (safe_div((safe_mult(32381, global_values.trace_length)), 32768))). + assert pow2851 = pow58 * pow2850; // pow(trace_generator, (safe_div((safe_mult(64763, global_values.trace_length)), 65536))). + assert pow2852 = pow58 * pow2851; // pow(trace_generator, (safe_div((safe_mult(16191, global_values.trace_length)), 16384))). + assert pow2853 = pow58 * pow2852; // pow(trace_generator, (safe_div((safe_mult(64765, global_values.trace_length)), 65536))). + assert pow2854 = pow67 * pow2853; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 256))). + assert pow2855 = pow58 * pow2854; // pow(trace_generator, (safe_div((safe_mult(64769, global_values.trace_length)), 65536))). + assert pow2856 = pow58 * pow2855; // pow(trace_generator, (safe_div((safe_mult(32385, global_values.trace_length)), 32768))). + assert pow2857 = pow58 * pow2856; // pow(trace_generator, (safe_div((safe_mult(64771, global_values.trace_length)), 65536))). + assert pow2858 = pow58 * pow2857; // pow(trace_generator, (safe_div((safe_mult(16193, global_values.trace_length)), 16384))). + assert pow2859 = pow58 * pow2858; // pow(trace_generator, (safe_div((safe_mult(64773, global_values.trace_length)), 65536))). + assert pow2860 = pow58 * pow2859; // pow(trace_generator, (safe_div((safe_mult(32387, global_values.trace_length)), 32768))). + assert pow2861 = pow58 * pow2860; // pow(trace_generator, (safe_div((safe_mult(64775, global_values.trace_length)), 65536))). + assert pow2862 = pow58 * pow2861; // pow(trace_generator, (safe_div((safe_mult(8097, global_values.trace_length)), 8192))). + assert pow2863 = pow58 * pow2862; // pow(trace_generator, (safe_div((safe_mult(64777, global_values.trace_length)), 65536))). + assert pow2864 = pow58 * pow2863; // pow(trace_generator, (safe_div((safe_mult(32389, global_values.trace_length)), 32768))). + assert pow2865 = pow58 * pow2864; // pow(trace_generator, (safe_div((safe_mult(64779, global_values.trace_length)), 65536))). + assert pow2866 = pow58 * pow2865; // pow(trace_generator, (safe_div((safe_mult(16195, global_values.trace_length)), 16384))). + assert pow2867 = pow58 * pow2866; // pow(trace_generator, (safe_div((safe_mult(64781, global_values.trace_length)), 65536))). + assert pow2868 = pow58 * pow2867; // pow(trace_generator, (safe_div((safe_mult(32391, global_values.trace_length)), 32768))). + assert pow2869 = pow58 * pow2868; // pow(trace_generator, (safe_div((safe_mult(64783, global_values.trace_length)), 65536))). + assert pow2870 = pow58 * pow2869; // pow(trace_generator, (safe_div((safe_mult(4049, global_values.trace_length)), 4096))). + assert pow2871 = pow58 * pow2870; // pow(trace_generator, (safe_div((safe_mult(64785, global_values.trace_length)), 65536))). + assert pow2872 = pow58 * pow2871; // pow(trace_generator, (safe_div((safe_mult(32393, global_values.trace_length)), 32768))). + assert pow2873 = pow58 * pow2872; // pow(trace_generator, (safe_div((safe_mult(64787, global_values.trace_length)), 65536))). + assert pow2874 = pow58 * pow2873; // pow(trace_generator, (safe_div((safe_mult(16197, global_values.trace_length)), 16384))). + assert pow2875 = pow58 * pow2874; // pow(trace_generator, (safe_div((safe_mult(64789, global_values.trace_length)), 65536))). + assert pow2876 = pow58 * pow2875; // pow(trace_generator, (safe_div((safe_mult(32395, global_values.trace_length)), 32768))). + assert pow2877 = pow58 * pow2876; // pow(trace_generator, (safe_div((safe_mult(64791, global_values.trace_length)), 65536))). + assert pow2878 = pow58 * pow2877; // pow(trace_generator, (safe_div((safe_mult(8099, global_values.trace_length)), 8192))). + assert pow2879 = pow58 * pow2878; // pow(trace_generator, (safe_div((safe_mult(64793, global_values.trace_length)), 65536))). + assert pow2880 = pow58 * pow2879; // pow(trace_generator, (safe_div((safe_mult(32397, global_values.trace_length)), 32768))). + assert pow2881 = pow58 * pow2880; // pow(trace_generator, (safe_div((safe_mult(64795, global_values.trace_length)), 65536))). + assert pow2882 = pow58 * pow2881; // pow(trace_generator, (safe_div((safe_mult(16199, global_values.trace_length)), 16384))). + assert pow2883 = pow58 * pow2882; // pow(trace_generator, (safe_div((safe_mult(64797, global_values.trace_length)), 65536))). + assert pow2884 = pow67 * pow2883; // pow(trace_generator, (safe_div((safe_mult(2025, global_values.trace_length)), 2048))). + assert pow2885 = pow58 * pow2884; // pow(trace_generator, (safe_div((safe_mult(64801, global_values.trace_length)), 65536))). + assert pow2886 = pow58 * pow2885; // pow(trace_generator, (safe_div((safe_mult(32401, global_values.trace_length)), 32768))). + assert pow2887 = pow58 * pow2886; // pow(trace_generator, (safe_div((safe_mult(64803, global_values.trace_length)), 65536))). + assert pow2888 = pow58 * pow2887; // pow(trace_generator, (safe_div((safe_mult(16201, global_values.trace_length)), 16384))). + assert pow2889 = pow58 * pow2888; // pow(trace_generator, (safe_div((safe_mult(64805, global_values.trace_length)), 65536))). + assert pow2890 = pow58 * pow2889; // pow(trace_generator, (safe_div((safe_mult(32403, global_values.trace_length)), 32768))). + assert pow2891 = pow58 * pow2890; // pow(trace_generator, (safe_div((safe_mult(64807, global_values.trace_length)), 65536))). + assert pow2892 = pow58 * pow2891; // pow(trace_generator, (safe_div((safe_mult(8101, global_values.trace_length)), 8192))). + assert pow2893 = pow58 * pow2892; // pow(trace_generator, (safe_div((safe_mult(64809, global_values.trace_length)), 65536))). + assert pow2894 = pow58 * pow2893; // pow(trace_generator, (safe_div((safe_mult(32405, global_values.trace_length)), 32768))). + assert pow2895 = pow58 * pow2894; // pow(trace_generator, (safe_div((safe_mult(64811, global_values.trace_length)), 65536))). + assert pow2896 = pow58 * pow2895; // pow(trace_generator, (safe_div((safe_mult(16203, global_values.trace_length)), 16384))). + assert pow2897 = pow58 * pow2896; // pow(trace_generator, (safe_div((safe_mult(64813, global_values.trace_length)), 65536))). + assert pow2898 = pow58 * pow2897; // pow(trace_generator, (safe_div((safe_mult(32407, global_values.trace_length)), 32768))). + assert pow2899 = pow58 * pow2898; // pow(trace_generator, (safe_div((safe_mult(64815, global_values.trace_length)), 65536))). + assert pow2900 = pow58 * pow2899; // pow(trace_generator, (safe_div((safe_mult(4051, global_values.trace_length)), 4096))). + assert pow2901 = pow58 * pow2900; // pow(trace_generator, (safe_div((safe_mult(64817, global_values.trace_length)), 65536))). + assert pow2902 = pow58 * pow2901; // pow(trace_generator, (safe_div((safe_mult(32409, global_values.trace_length)), 32768))). + assert pow2903 = pow58 * pow2902; // pow(trace_generator, (safe_div((safe_mult(64819, global_values.trace_length)), 65536))). + assert pow2904 = pow58 * pow2903; // pow(trace_generator, (safe_div((safe_mult(16205, global_values.trace_length)), 16384))). + assert pow2905 = pow58 * pow2904; // pow(trace_generator, (safe_div((safe_mult(64821, global_values.trace_length)), 65536))). + assert pow2906 = pow58 * pow2905; // pow(trace_generator, (safe_div((safe_mult(32411, global_values.trace_length)), 32768))). + assert pow2907 = pow58 * pow2906; // pow(trace_generator, (safe_div((safe_mult(64823, global_values.trace_length)), 65536))). + assert pow2908 = pow58 * pow2907; // pow(trace_generator, (safe_div((safe_mult(8103, global_values.trace_length)), 8192))). + assert pow2909 = pow58 * pow2908; // pow(trace_generator, (safe_div((safe_mult(64825, global_values.trace_length)), 65536))). + assert pow2910 = pow58 * pow2909; // pow(trace_generator, (safe_div((safe_mult(32413, global_values.trace_length)), 32768))). + assert pow2911 = pow58 * pow2910; // pow(trace_generator, (safe_div((safe_mult(64827, global_values.trace_length)), 65536))). + assert pow2912 = pow58 * pow2911; // pow(trace_generator, (safe_div((safe_mult(16207, global_values.trace_length)), 16384))). + assert pow2913 = pow58 * pow2912; // pow(trace_generator, (safe_div((safe_mult(64829, global_values.trace_length)), 65536))). + assert pow2914 = pow67 * pow2913; // pow(trace_generator, (safe_div((safe_mult(1013, global_values.trace_length)), 1024))). + assert pow2915 = pow58 * pow2914; // pow(trace_generator, (safe_div((safe_mult(64833, global_values.trace_length)), 65536))). + assert pow2916 = pow58 * pow2915; // pow(trace_generator, (safe_div((safe_mult(32417, global_values.trace_length)), 32768))). + assert pow2917 = pow58 * pow2916; // pow(trace_generator, (safe_div((safe_mult(64835, global_values.trace_length)), 65536))). + assert pow2918 = pow58 * pow2917; // pow(trace_generator, (safe_div((safe_mult(16209, global_values.trace_length)), 16384))). + assert pow2919 = pow58 * pow2918; // pow(trace_generator, (safe_div((safe_mult(64837, global_values.trace_length)), 65536))). + assert pow2920 = pow58 * pow2919; // pow(trace_generator, (safe_div((safe_mult(32419, global_values.trace_length)), 32768))). + assert pow2921 = pow58 * pow2920; // pow(trace_generator, (safe_div((safe_mult(64839, global_values.trace_length)), 65536))). + assert pow2922 = pow58 * pow2921; // pow(trace_generator, (safe_div((safe_mult(8105, global_values.trace_length)), 8192))). + assert pow2923 = pow58 * pow2922; // pow(trace_generator, (safe_div((safe_mult(64841, global_values.trace_length)), 65536))). + assert pow2924 = pow58 * pow2923; // pow(trace_generator, (safe_div((safe_mult(32421, global_values.trace_length)), 32768))). + assert pow2925 = pow58 * pow2924; // pow(trace_generator, (safe_div((safe_mult(64843, global_values.trace_length)), 65536))). + assert pow2926 = pow58 * pow2925; // pow(trace_generator, (safe_div((safe_mult(16211, global_values.trace_length)), 16384))). + assert pow2927 = pow58 * pow2926; // pow(trace_generator, (safe_div((safe_mult(64845, global_values.trace_length)), 65536))). + assert pow2928 = pow58 * pow2927; // pow(trace_generator, (safe_div((safe_mult(32423, global_values.trace_length)), 32768))). + assert pow2929 = pow58 * pow2928; // pow(trace_generator, (safe_div((safe_mult(64847, global_values.trace_length)), 65536))). + assert pow2930 = pow58 * pow2929; // pow(trace_generator, (safe_div((safe_mult(4053, global_values.trace_length)), 4096))). + assert pow2931 = pow58 * pow2930; // pow(trace_generator, (safe_div((safe_mult(64849, global_values.trace_length)), 65536))). + assert pow2932 = pow58 * pow2931; // pow(trace_generator, (safe_div((safe_mult(32425, global_values.trace_length)), 32768))). + assert pow2933 = pow58 * pow2932; // pow(trace_generator, (safe_div((safe_mult(64851, global_values.trace_length)), 65536))). + assert pow2934 = pow58 * pow2933; // pow(trace_generator, (safe_div((safe_mult(16213, global_values.trace_length)), 16384))). + assert pow2935 = pow58 * pow2934; // pow(trace_generator, (safe_div((safe_mult(64853, global_values.trace_length)), 65536))). + assert pow2936 = pow58 * pow2935; // pow(trace_generator, (safe_div((safe_mult(32427, global_values.trace_length)), 32768))). + assert pow2937 = pow58 * pow2936; // pow(trace_generator, (safe_div((safe_mult(64855, global_values.trace_length)), 65536))). + assert pow2938 = pow58 * pow2937; // pow(trace_generator, (safe_div((safe_mult(8107, global_values.trace_length)), 8192))). + assert pow2939 = pow58 * pow2938; // pow(trace_generator, (safe_div((safe_mult(64857, global_values.trace_length)), 65536))). + assert pow2940 = pow58 * pow2939; // pow(trace_generator, (safe_div((safe_mult(32429, global_values.trace_length)), 32768))). + assert pow2941 = pow58 * pow2940; // pow(trace_generator, (safe_div((safe_mult(64859, global_values.trace_length)), 65536))). + assert pow2942 = pow58 * pow2941; // pow(trace_generator, (safe_div((safe_mult(16215, global_values.trace_length)), 16384))). + assert pow2943 = pow58 * pow2942; // pow(trace_generator, (safe_div((safe_mult(64861, global_values.trace_length)), 65536))). + assert pow2944 = pow67 * pow2943; // pow(trace_generator, (safe_div((safe_mult(2027, global_values.trace_length)), 2048))). + assert pow2945 = pow58 * pow2944; // pow(trace_generator, (safe_div((safe_mult(64865, global_values.trace_length)), 65536))). + assert pow2946 = pow58 * pow2945; // pow(trace_generator, (safe_div((safe_mult(32433, global_values.trace_length)), 32768))). + assert pow2947 = pow58 * pow2946; // pow(trace_generator, (safe_div((safe_mult(64867, global_values.trace_length)), 65536))). + assert pow2948 = pow58 * pow2947; // pow(trace_generator, (safe_div((safe_mult(16217, global_values.trace_length)), 16384))). + assert pow2949 = pow58 * pow2948; // pow(trace_generator, (safe_div((safe_mult(64869, global_values.trace_length)), 65536))). + assert pow2950 = pow58 * pow2949; // pow(trace_generator, (safe_div((safe_mult(32435, global_values.trace_length)), 32768))). + assert pow2951 = pow58 * pow2950; // pow(trace_generator, (safe_div((safe_mult(64871, global_values.trace_length)), 65536))). + assert pow2952 = pow58 * pow2951; // pow(trace_generator, (safe_div((safe_mult(8109, global_values.trace_length)), 8192))). + assert pow2953 = pow58 * pow2952; // pow(trace_generator, (safe_div((safe_mult(64873, global_values.trace_length)), 65536))). + assert pow2954 = pow58 * pow2953; // pow(trace_generator, (safe_div((safe_mult(32437, global_values.trace_length)), 32768))). + assert pow2955 = pow58 * pow2954; // pow(trace_generator, (safe_div((safe_mult(64875, global_values.trace_length)), 65536))). + assert pow2956 = pow58 * pow2955; // pow(trace_generator, (safe_div((safe_mult(16219, global_values.trace_length)), 16384))). + assert pow2957 = pow58 * pow2956; // pow(trace_generator, (safe_div((safe_mult(64877, global_values.trace_length)), 65536))). + assert pow2958 = pow58 * pow2957; // pow(trace_generator, (safe_div((safe_mult(32439, global_values.trace_length)), 32768))). + assert pow2959 = pow58 * pow2958; // pow(trace_generator, (safe_div((safe_mult(64879, global_values.trace_length)), 65536))). + assert pow2960 = pow58 * pow2959; // pow(trace_generator, (safe_div((safe_mult(4055, global_values.trace_length)), 4096))). + assert pow2961 = pow58 * pow2960; // pow(trace_generator, (safe_div((safe_mult(64881, global_values.trace_length)), 65536))). + assert pow2962 = pow58 * pow2961; // pow(trace_generator, (safe_div((safe_mult(32441, global_values.trace_length)), 32768))). + assert pow2963 = pow58 * pow2962; // pow(trace_generator, (safe_div((safe_mult(64883, global_values.trace_length)), 65536))). + assert pow2964 = pow58 * pow2963; // pow(trace_generator, (safe_div((safe_mult(16221, global_values.trace_length)), 16384))). + assert pow2965 = pow58 * pow2964; // pow(trace_generator, (safe_div((safe_mult(64885, global_values.trace_length)), 65536))). + assert pow2966 = pow58 * pow2965; // pow(trace_generator, (safe_div((safe_mult(32443, global_values.trace_length)), 32768))). + assert pow2967 = pow58 * pow2966; // pow(trace_generator, (safe_div((safe_mult(64887, global_values.trace_length)), 65536))). + assert pow2968 = pow58 * pow2967; // pow(trace_generator, (safe_div((safe_mult(8111, global_values.trace_length)), 8192))). + assert pow2969 = pow58 * pow2968; // pow(trace_generator, (safe_div((safe_mult(64889, global_values.trace_length)), 65536))). + assert pow2970 = pow58 * pow2969; // pow(trace_generator, (safe_div((safe_mult(32445, global_values.trace_length)), 32768))). + assert pow2971 = pow58 * pow2970; // pow(trace_generator, (safe_div((safe_mult(64891, global_values.trace_length)), 65536))). + assert pow2972 = pow58 * pow2971; // pow(trace_generator, (safe_div((safe_mult(16223, global_values.trace_length)), 16384))). + assert pow2973 = pow58 * pow2972; // pow(trace_generator, (safe_div((safe_mult(64893, global_values.trace_length)), 65536))). + assert pow2974 = pow67 * pow2973; // pow(trace_generator, (safe_div((safe_mult(507, global_values.trace_length)), 512))). + assert pow2975 = pow58 * pow2974; // pow(trace_generator, (safe_div((safe_mult(64897, global_values.trace_length)), 65536))). + assert pow2976 = pow58 * pow2975; // pow(trace_generator, (safe_div((safe_mult(32449, global_values.trace_length)), 32768))). + assert pow2977 = pow58 * pow2976; // pow(trace_generator, (safe_div((safe_mult(64899, global_values.trace_length)), 65536))). + assert pow2978 = pow58 * pow2977; // pow(trace_generator, (safe_div((safe_mult(16225, global_values.trace_length)), 16384))). + assert pow2979 = pow58 * pow2978; // pow(trace_generator, (safe_div((safe_mult(64901, global_values.trace_length)), 65536))). + assert pow2980 = pow58 * pow2979; // pow(trace_generator, (safe_div((safe_mult(32451, global_values.trace_length)), 32768))). + assert pow2981 = pow58 * pow2980; // pow(trace_generator, (safe_div((safe_mult(64903, global_values.trace_length)), 65536))). + assert pow2982 = pow58 * pow2981; // pow(trace_generator, (safe_div((safe_mult(8113, global_values.trace_length)), 8192))). + assert pow2983 = pow58 * pow2982; // pow(trace_generator, (safe_div((safe_mult(64905, global_values.trace_length)), 65536))). + assert pow2984 = pow58 * pow2983; // pow(trace_generator, (safe_div((safe_mult(32453, global_values.trace_length)), 32768))). + assert pow2985 = pow58 * pow2984; // pow(trace_generator, (safe_div((safe_mult(64907, global_values.trace_length)), 65536))). + assert pow2986 = pow58 * pow2985; // pow(trace_generator, (safe_div((safe_mult(16227, global_values.trace_length)), 16384))). + assert pow2987 = pow58 * pow2986; // pow(trace_generator, (safe_div((safe_mult(64909, global_values.trace_length)), 65536))). + assert pow2988 = pow58 * pow2987; // pow(trace_generator, (safe_div((safe_mult(32455, global_values.trace_length)), 32768))). + assert pow2989 = pow58 * pow2988; // pow(trace_generator, (safe_div((safe_mult(64911, global_values.trace_length)), 65536))). + assert pow2990 = pow58 * pow2989; // pow(trace_generator, (safe_div((safe_mult(4057, global_values.trace_length)), 4096))). + assert pow2991 = pow58 * pow2990; // pow(trace_generator, (safe_div((safe_mult(64913, global_values.trace_length)), 65536))). + assert pow2992 = pow58 * pow2991; // pow(trace_generator, (safe_div((safe_mult(32457, global_values.trace_length)), 32768))). + assert pow2993 = pow58 * pow2992; // pow(trace_generator, (safe_div((safe_mult(64915, global_values.trace_length)), 65536))). + assert pow2994 = pow58 * pow2993; // pow(trace_generator, (safe_div((safe_mult(16229, global_values.trace_length)), 16384))). + assert pow2995 = pow58 * pow2994; // pow(trace_generator, (safe_div((safe_mult(64917, global_values.trace_length)), 65536))). + assert pow2996 = pow58 * pow2995; // pow(trace_generator, (safe_div((safe_mult(32459, global_values.trace_length)), 32768))). + assert pow2997 = pow58 * pow2996; // pow(trace_generator, (safe_div((safe_mult(64919, global_values.trace_length)), 65536))). + assert pow2998 = pow58 * pow2997; // pow(trace_generator, (safe_div((safe_mult(8115, global_values.trace_length)), 8192))). + assert pow2999 = pow58 * pow2998; // pow(trace_generator, (safe_div((safe_mult(64921, global_values.trace_length)), 65536))). + assert pow3000 = pow58 * pow2999; // pow(trace_generator, (safe_div((safe_mult(32461, global_values.trace_length)), 32768))). + assert pow3001 = pow58 * pow3000; // pow(trace_generator, (safe_div((safe_mult(64923, global_values.trace_length)), 65536))). + assert pow3002 = pow58 * pow3001; // pow(trace_generator, (safe_div((safe_mult(16231, global_values.trace_length)), 16384))). + assert pow3003 = pow58 * pow3002; // pow(trace_generator, (safe_div((safe_mult(64925, global_values.trace_length)), 65536))). + assert pow3004 = pow67 * pow3003; // pow(trace_generator, (safe_div((safe_mult(2029, global_values.trace_length)), 2048))). + assert pow3005 = pow58 * pow3004; // pow(trace_generator, (safe_div((safe_mult(64929, global_values.trace_length)), 65536))). + assert pow3006 = pow58 * pow3005; // pow(trace_generator, (safe_div((safe_mult(32465, global_values.trace_length)), 32768))). + assert pow3007 = pow58 * pow3006; // pow(trace_generator, (safe_div((safe_mult(64931, global_values.trace_length)), 65536))). + assert pow3008 = pow58 * pow3007; // pow(trace_generator, (safe_div((safe_mult(16233, global_values.trace_length)), 16384))). + assert pow3009 = pow58 * pow3008; // pow(trace_generator, (safe_div((safe_mult(64933, global_values.trace_length)), 65536))). + assert pow3010 = pow58 * pow3009; // pow(trace_generator, (safe_div((safe_mult(32467, global_values.trace_length)), 32768))). + assert pow3011 = pow58 * pow3010; // pow(trace_generator, (safe_div((safe_mult(64935, global_values.trace_length)), 65536))). + assert pow3012 = pow58 * pow3011; // pow(trace_generator, (safe_div((safe_mult(8117, global_values.trace_length)), 8192))). + assert pow3013 = pow58 * pow3012; // pow(trace_generator, (safe_div((safe_mult(64937, global_values.trace_length)), 65536))). + assert pow3014 = pow58 * pow3013; // pow(trace_generator, (safe_div((safe_mult(32469, global_values.trace_length)), 32768))). + assert pow3015 = pow58 * pow3014; // pow(trace_generator, (safe_div((safe_mult(64939, global_values.trace_length)), 65536))). + assert pow3016 = pow58 * pow3015; // pow(trace_generator, (safe_div((safe_mult(16235, global_values.trace_length)), 16384))). + assert pow3017 = pow58 * pow3016; // pow(trace_generator, (safe_div((safe_mult(64941, global_values.trace_length)), 65536))). + assert pow3018 = pow58 * pow3017; // pow(trace_generator, (safe_div((safe_mult(32471, global_values.trace_length)), 32768))). + assert pow3019 = pow58 * pow3018; // pow(trace_generator, (safe_div((safe_mult(64943, global_values.trace_length)), 65536))). + assert pow3020 = pow58 * pow3019; // pow(trace_generator, (safe_div((safe_mult(4059, global_values.trace_length)), 4096))). + assert pow3021 = pow58 * pow3020; // pow(trace_generator, (safe_div((safe_mult(64945, global_values.trace_length)), 65536))). + assert pow3022 = pow58 * pow3021; // pow(trace_generator, (safe_div((safe_mult(32473, global_values.trace_length)), 32768))). + assert pow3023 = pow58 * pow3022; // pow(trace_generator, (safe_div((safe_mult(64947, global_values.trace_length)), 65536))). + assert pow3024 = pow58 * pow3023; // pow(trace_generator, (safe_div((safe_mult(16237, global_values.trace_length)), 16384))). + assert pow3025 = pow58 * pow3024; // pow(trace_generator, (safe_div((safe_mult(64949, global_values.trace_length)), 65536))). + assert pow3026 = pow58 * pow3025; // pow(trace_generator, (safe_div((safe_mult(32475, global_values.trace_length)), 32768))). + assert pow3027 = pow58 * pow3026; // pow(trace_generator, (safe_div((safe_mult(64951, global_values.trace_length)), 65536))). + assert pow3028 = pow58 * pow3027; // pow(trace_generator, (safe_div((safe_mult(8119, global_values.trace_length)), 8192))). + assert pow3029 = pow58 * pow3028; // pow(trace_generator, (safe_div((safe_mult(64953, global_values.trace_length)), 65536))). + assert pow3030 = pow58 * pow3029; // pow(trace_generator, (safe_div((safe_mult(32477, global_values.trace_length)), 32768))). + assert pow3031 = pow58 * pow3030; // pow(trace_generator, (safe_div((safe_mult(64955, global_values.trace_length)), 65536))). + assert pow3032 = pow58 * pow3031; // pow(trace_generator, (safe_div((safe_mult(16239, global_values.trace_length)), 16384))). + assert pow3033 = pow58 * pow3032; // pow(trace_generator, (safe_div((safe_mult(64957, global_values.trace_length)), 65536))). + assert pow3034 = pow67 * pow3033; // pow(trace_generator, (safe_div((safe_mult(1015, global_values.trace_length)), 1024))). + assert pow3035 = pow58 * pow3034; // pow(trace_generator, (safe_div((safe_mult(64961, global_values.trace_length)), 65536))). + assert pow3036 = pow58 * pow3035; // pow(trace_generator, (safe_div((safe_mult(32481, global_values.trace_length)), 32768))). + assert pow3037 = pow58 * pow3036; // pow(trace_generator, (safe_div((safe_mult(64963, global_values.trace_length)), 65536))). + assert pow3038 = pow58 * pow3037; // pow(trace_generator, (safe_div((safe_mult(16241, global_values.trace_length)), 16384))). + assert pow3039 = pow58 * pow3038; // pow(trace_generator, (safe_div((safe_mult(64965, global_values.trace_length)), 65536))). + assert pow3040 = pow58 * pow3039; // pow(trace_generator, (safe_div((safe_mult(32483, global_values.trace_length)), 32768))). + assert pow3041 = pow58 * pow3040; // pow(trace_generator, (safe_div((safe_mult(64967, global_values.trace_length)), 65536))). + assert pow3042 = pow58 * pow3041; // pow(trace_generator, (safe_div((safe_mult(8121, global_values.trace_length)), 8192))). + assert pow3043 = pow58 * pow3042; // pow(trace_generator, (safe_div((safe_mult(64969, global_values.trace_length)), 65536))). + assert pow3044 = pow58 * pow3043; // pow(trace_generator, (safe_div((safe_mult(32485, global_values.trace_length)), 32768))). + assert pow3045 = pow58 * pow3044; // pow(trace_generator, (safe_div((safe_mult(64971, global_values.trace_length)), 65536))). + assert pow3046 = pow58 * pow3045; // pow(trace_generator, (safe_div((safe_mult(16243, global_values.trace_length)), 16384))). + assert pow3047 = pow58 * pow3046; // pow(trace_generator, (safe_div((safe_mult(64973, global_values.trace_length)), 65536))). + assert pow3048 = pow58 * pow3047; // pow(trace_generator, (safe_div((safe_mult(32487, global_values.trace_length)), 32768))). + assert pow3049 = pow58 * pow3048; // pow(trace_generator, (safe_div((safe_mult(64975, global_values.trace_length)), 65536))). + assert pow3050 = pow58 * pow3049; // pow(trace_generator, (safe_div((safe_mult(4061, global_values.trace_length)), 4096))). + assert pow3051 = pow58 * pow3050; // pow(trace_generator, (safe_div((safe_mult(64977, global_values.trace_length)), 65536))). + assert pow3052 = pow58 * pow3051; // pow(trace_generator, (safe_div((safe_mult(32489, global_values.trace_length)), 32768))). + assert pow3053 = pow58 * pow3052; // pow(trace_generator, (safe_div((safe_mult(64979, global_values.trace_length)), 65536))). + assert pow3054 = pow58 * pow3053; // pow(trace_generator, (safe_div((safe_mult(16245, global_values.trace_length)), 16384))). + assert pow3055 = pow58 * pow3054; // pow(trace_generator, (safe_div((safe_mult(64981, global_values.trace_length)), 65536))). + assert pow3056 = pow58 * pow3055; // pow(trace_generator, (safe_div((safe_mult(32491, global_values.trace_length)), 32768))). + assert pow3057 = pow58 * pow3056; // pow(trace_generator, (safe_div((safe_mult(64983, global_values.trace_length)), 65536))). + assert pow3058 = pow58 * pow3057; // pow(trace_generator, (safe_div((safe_mult(8123, global_values.trace_length)), 8192))). + assert pow3059 = pow58 * pow3058; // pow(trace_generator, (safe_div((safe_mult(64985, global_values.trace_length)), 65536))). + assert pow3060 = pow58 * pow3059; // pow(trace_generator, (safe_div((safe_mult(32493, global_values.trace_length)), 32768))). + assert pow3061 = pow58 * pow3060; // pow(trace_generator, (safe_div((safe_mult(64987, global_values.trace_length)), 65536))). + assert pow3062 = pow58 * pow3061; // pow(trace_generator, (safe_div((safe_mult(16247, global_values.trace_length)), 16384))). + assert pow3063 = pow58 * pow3062; // pow(trace_generator, (safe_div((safe_mult(64989, global_values.trace_length)), 65536))). + assert pow3064 = pow67 * pow3063; // pow(trace_generator, (safe_div((safe_mult(2031, global_values.trace_length)), 2048))). + assert pow3065 = pow58 * pow3064; // pow(trace_generator, (safe_div((safe_mult(64993, global_values.trace_length)), 65536))). + assert pow3066 = pow58 * pow3065; // pow(trace_generator, (safe_div((safe_mult(32497, global_values.trace_length)), 32768))). + assert pow3067 = pow58 * pow3066; // pow(trace_generator, (safe_div((safe_mult(64995, global_values.trace_length)), 65536))). + assert pow3068 = pow58 * pow3067; // pow(trace_generator, (safe_div((safe_mult(16249, global_values.trace_length)), 16384))). + assert pow3069 = pow58 * pow3068; // pow(trace_generator, (safe_div((safe_mult(64997, global_values.trace_length)), 65536))). + assert pow3070 = pow58 * pow3069; // pow(trace_generator, (safe_div((safe_mult(32499, global_values.trace_length)), 32768))). + assert pow3071 = pow58 * pow3070; // pow(trace_generator, (safe_div((safe_mult(64999, global_values.trace_length)), 65536))). + assert pow3072 = pow58 * pow3071; // pow(trace_generator, (safe_div((safe_mult(8125, global_values.trace_length)), 8192))). + assert pow3073 = pow58 * pow3072; // pow(trace_generator, (safe_div((safe_mult(65001, global_values.trace_length)), 65536))). + assert pow3074 = pow58 * pow3073; // pow(trace_generator, (safe_div((safe_mult(32501, global_values.trace_length)), 32768))). + assert pow3075 = pow58 * pow3074; // pow(trace_generator, (safe_div((safe_mult(65003, global_values.trace_length)), 65536))). + assert pow3076 = pow58 * pow3075; // pow(trace_generator, (safe_div((safe_mult(16251, global_values.trace_length)), 16384))). + assert pow3077 = pow58 * pow3076; // pow(trace_generator, (safe_div((safe_mult(65005, global_values.trace_length)), 65536))). + assert pow3078 = pow58 * pow3077; // pow(trace_generator, (safe_div((safe_mult(32503, global_values.trace_length)), 32768))). + assert pow3079 = pow58 * pow3078; // pow(trace_generator, (safe_div((safe_mult(65007, global_values.trace_length)), 65536))). + assert pow3080 = pow58 * pow3079; // pow(trace_generator, (safe_div((safe_mult(4063, global_values.trace_length)), 4096))). + assert pow3081 = pow58 * pow3080; // pow(trace_generator, (safe_div((safe_mult(65009, global_values.trace_length)), 65536))). + assert pow3082 = pow58 * pow3081; // pow(trace_generator, (safe_div((safe_mult(32505, global_values.trace_length)), 32768))). + assert pow3083 = pow58 * pow3082; // pow(trace_generator, (safe_div((safe_mult(65011, global_values.trace_length)), 65536))). + assert pow3084 = pow58 * pow3083; // pow(trace_generator, (safe_div((safe_mult(16253, global_values.trace_length)), 16384))). + assert pow3085 = pow58 * pow3084; // pow(trace_generator, (safe_div((safe_mult(65013, global_values.trace_length)), 65536))). + assert pow3086 = pow58 * pow3085; // pow(trace_generator, (safe_div((safe_mult(32507, global_values.trace_length)), 32768))). + assert pow3087 = pow58 * pow3086; // pow(trace_generator, (safe_div((safe_mult(65015, global_values.trace_length)), 65536))). + assert pow3088 = pow58 * pow3087; // pow(trace_generator, (safe_div((safe_mult(8127, global_values.trace_length)), 8192))). + assert pow3089 = pow58 * pow3088; // pow(trace_generator, (safe_div((safe_mult(65017, global_values.trace_length)), 65536))). + assert pow3090 = pow58 * pow3089; // pow(trace_generator, (safe_div((safe_mult(32509, global_values.trace_length)), 32768))). + assert pow3091 = pow58 * pow3090; // pow(trace_generator, (safe_div((safe_mult(65019, global_values.trace_length)), 65536))). + assert pow3092 = pow58 * pow3091; // pow(trace_generator, (safe_div((safe_mult(16255, global_values.trace_length)), 16384))). + assert pow3093 = pow58 * pow3092; // pow(trace_generator, (safe_div((safe_mult(65021, global_values.trace_length)), 65536))). + assert pow3094 = pow67 * pow3093; // pow(trace_generator, (safe_div((safe_mult(127, global_values.trace_length)), 128))). + assert pow3095 = pow58 * pow3094; // pow(trace_generator, (safe_div((safe_mult(65025, global_values.trace_length)), 65536))). + assert pow3096 = pow58 * pow3095; // pow(trace_generator, (safe_div((safe_mult(32513, global_values.trace_length)), 32768))). + assert pow3097 = pow58 * pow3096; // pow(trace_generator, (safe_div((safe_mult(65027, global_values.trace_length)), 65536))). + assert pow3098 = pow58 * pow3097; // pow(trace_generator, (safe_div((safe_mult(16257, global_values.trace_length)), 16384))). + assert pow3099 = pow58 * pow3098; // pow(trace_generator, (safe_div((safe_mult(65029, global_values.trace_length)), 65536))). + assert pow3100 = pow58 * pow3099; // pow(trace_generator, (safe_div((safe_mult(32515, global_values.trace_length)), 32768))). + assert pow3101 = pow58 * pow3100; // pow(trace_generator, (safe_div((safe_mult(65031, global_values.trace_length)), 65536))). + assert pow3102 = pow58 * pow3101; // pow(trace_generator, (safe_div((safe_mult(8129, global_values.trace_length)), 8192))). + assert pow3103 = pow58 * pow3102; // pow(trace_generator, (safe_div((safe_mult(65033, global_values.trace_length)), 65536))). + assert pow3104 = pow58 * pow3103; // pow(trace_generator, (safe_div((safe_mult(32517, global_values.trace_length)), 32768))). + assert pow3105 = pow58 * pow3104; // pow(trace_generator, (safe_div((safe_mult(65035, global_values.trace_length)), 65536))). + assert pow3106 = pow58 * pow3105; // pow(trace_generator, (safe_div((safe_mult(16259, global_values.trace_length)), 16384))). + assert pow3107 = pow58 * pow3106; // pow(trace_generator, (safe_div((safe_mult(65037, global_values.trace_length)), 65536))). + assert pow3108 = pow58 * pow3107; // pow(trace_generator, (safe_div((safe_mult(32519, global_values.trace_length)), 32768))). + assert pow3109 = pow58 * pow3108; // pow(trace_generator, (safe_div((safe_mult(65039, global_values.trace_length)), 65536))). + assert pow3110 = pow58 * pow3109; // pow(trace_generator, (safe_div((safe_mult(4065, global_values.trace_length)), 4096))). + assert pow3111 = pow58 * pow3110; // pow(trace_generator, (safe_div((safe_mult(65041, global_values.trace_length)), 65536))). + assert pow3112 = pow58 * pow3111; // pow(trace_generator, (safe_div((safe_mult(32521, global_values.trace_length)), 32768))). + assert pow3113 = pow58 * pow3112; // pow(trace_generator, (safe_div((safe_mult(65043, global_values.trace_length)), 65536))). + assert pow3114 = pow58 * pow3113; // pow(trace_generator, (safe_div((safe_mult(16261, global_values.trace_length)), 16384))). + assert pow3115 = pow58 * pow3114; // pow(trace_generator, (safe_div((safe_mult(65045, global_values.trace_length)), 65536))). + assert pow3116 = pow58 * pow3115; // pow(trace_generator, (safe_div((safe_mult(32523, global_values.trace_length)), 32768))). + assert pow3117 = pow58 * pow3116; // pow(trace_generator, (safe_div((safe_mult(65047, global_values.trace_length)), 65536))). + assert pow3118 = pow58 * pow3117; // pow(trace_generator, (safe_div((safe_mult(8131, global_values.trace_length)), 8192))). + assert pow3119 = pow58 * pow3118; // pow(trace_generator, (safe_div((safe_mult(65049, global_values.trace_length)), 65536))). + assert pow3120 = pow58 * pow3119; // pow(trace_generator, (safe_div((safe_mult(32525, global_values.trace_length)), 32768))). + assert pow3121 = pow58 * pow3120; // pow(trace_generator, (safe_div((safe_mult(65051, global_values.trace_length)), 65536))). + assert pow3122 = pow58 * pow3121; // pow(trace_generator, (safe_div((safe_mult(16263, global_values.trace_length)), 16384))). + assert pow3123 = pow58 * pow3122; // pow(trace_generator, (safe_div((safe_mult(65053, global_values.trace_length)), 65536))). + assert pow3124 = pow67 * pow3123; // pow(trace_generator, (safe_div((safe_mult(2033, global_values.trace_length)), 2048))). + assert pow3125 = pow58 * pow3124; // pow(trace_generator, (safe_div((safe_mult(65057, global_values.trace_length)), 65536))). + assert pow3126 = pow58 * pow3125; // pow(trace_generator, (safe_div((safe_mult(32529, global_values.trace_length)), 32768))). + assert pow3127 = pow58 * pow3126; // pow(trace_generator, (safe_div((safe_mult(65059, global_values.trace_length)), 65536))). + assert pow3128 = pow58 * pow3127; // pow(trace_generator, (safe_div((safe_mult(16265, global_values.trace_length)), 16384))). + assert pow3129 = pow58 * pow3128; // pow(trace_generator, (safe_div((safe_mult(65061, global_values.trace_length)), 65536))). + assert pow3130 = pow58 * pow3129; // pow(trace_generator, (safe_div((safe_mult(32531, global_values.trace_length)), 32768))). + assert pow3131 = pow58 * pow3130; // pow(trace_generator, (safe_div((safe_mult(65063, global_values.trace_length)), 65536))). + assert pow3132 = pow58 * pow3131; // pow(trace_generator, (safe_div((safe_mult(8133, global_values.trace_length)), 8192))). + assert pow3133 = pow58 * pow3132; // pow(trace_generator, (safe_div((safe_mult(65065, global_values.trace_length)), 65536))). + assert pow3134 = pow58 * pow3133; // pow(trace_generator, (safe_div((safe_mult(32533, global_values.trace_length)), 32768))). + assert pow3135 = pow58 * pow3134; // pow(trace_generator, (safe_div((safe_mult(65067, global_values.trace_length)), 65536))). + assert pow3136 = pow58 * pow3135; // pow(trace_generator, (safe_div((safe_mult(16267, global_values.trace_length)), 16384))). + assert pow3137 = pow58 * pow3136; // pow(trace_generator, (safe_div((safe_mult(65069, global_values.trace_length)), 65536))). + assert pow3138 = pow58 * pow3137; // pow(trace_generator, (safe_div((safe_mult(32535, global_values.trace_length)), 32768))). + assert pow3139 = pow58 * pow3138; // pow(trace_generator, (safe_div((safe_mult(65071, global_values.trace_length)), 65536))). + assert pow3140 = pow58 * pow3139; // pow(trace_generator, (safe_div((safe_mult(4067, global_values.trace_length)), 4096))). + assert pow3141 = pow58 * pow3140; // pow(trace_generator, (safe_div((safe_mult(65073, global_values.trace_length)), 65536))). + assert pow3142 = pow58 * pow3141; // pow(trace_generator, (safe_div((safe_mult(32537, global_values.trace_length)), 32768))). + assert pow3143 = pow58 * pow3142; // pow(trace_generator, (safe_div((safe_mult(65075, global_values.trace_length)), 65536))). + assert pow3144 = pow58 * pow3143; // pow(trace_generator, (safe_div((safe_mult(16269, global_values.trace_length)), 16384))). + assert pow3145 = pow58 * pow3144; // pow(trace_generator, (safe_div((safe_mult(65077, global_values.trace_length)), 65536))). + assert pow3146 = pow58 * pow3145; // pow(trace_generator, (safe_div((safe_mult(32539, global_values.trace_length)), 32768))). + assert pow3147 = pow58 * pow3146; // pow(trace_generator, (safe_div((safe_mult(65079, global_values.trace_length)), 65536))). + assert pow3148 = pow58 * pow3147; // pow(trace_generator, (safe_div((safe_mult(8135, global_values.trace_length)), 8192))). + assert pow3149 = pow58 * pow3148; // pow(trace_generator, (safe_div((safe_mult(65081, global_values.trace_length)), 65536))). + assert pow3150 = pow58 * pow3149; // pow(trace_generator, (safe_div((safe_mult(32541, global_values.trace_length)), 32768))). + assert pow3151 = pow58 * pow3150; // pow(trace_generator, (safe_div((safe_mult(65083, global_values.trace_length)), 65536))). + assert pow3152 = pow58 * pow3151; // pow(trace_generator, (safe_div((safe_mult(16271, global_values.trace_length)), 16384))). + assert pow3153 = pow58 * pow3152; // pow(trace_generator, (safe_div((safe_mult(65085, global_values.trace_length)), 65536))). + assert pow3154 = pow67 * pow3153; // pow(trace_generator, (safe_div((safe_mult(1017, global_values.trace_length)), 1024))). + assert pow3155 = pow58 * pow3154; // pow(trace_generator, (safe_div((safe_mult(65089, global_values.trace_length)), 65536))). + assert pow3156 = pow58 * pow3155; // pow(trace_generator, (safe_div((safe_mult(32545, global_values.trace_length)), 32768))). + assert pow3157 = pow58 * pow3156; // pow(trace_generator, (safe_div((safe_mult(65091, global_values.trace_length)), 65536))). + assert pow3158 = pow58 * pow3157; // pow(trace_generator, (safe_div((safe_mult(16273, global_values.trace_length)), 16384))). + assert pow3159 = pow58 * pow3158; // pow(trace_generator, (safe_div((safe_mult(65093, global_values.trace_length)), 65536))). + assert pow3160 = pow58 * pow3159; // pow(trace_generator, (safe_div((safe_mult(32547, global_values.trace_length)), 32768))). + assert pow3161 = pow58 * pow3160; // pow(trace_generator, (safe_div((safe_mult(65095, global_values.trace_length)), 65536))). + assert pow3162 = pow58 * pow3161; // pow(trace_generator, (safe_div((safe_mult(8137, global_values.trace_length)), 8192))). + assert pow3163 = pow58 * pow3162; // pow(trace_generator, (safe_div((safe_mult(65097, global_values.trace_length)), 65536))). + assert pow3164 = pow58 * pow3163; // pow(trace_generator, (safe_div((safe_mult(32549, global_values.trace_length)), 32768))). + assert pow3165 = pow58 * pow3164; // pow(trace_generator, (safe_div((safe_mult(65099, global_values.trace_length)), 65536))). + assert pow3166 = pow58 * pow3165; // pow(trace_generator, (safe_div((safe_mult(16275, global_values.trace_length)), 16384))). + assert pow3167 = pow58 * pow3166; // pow(trace_generator, (safe_div((safe_mult(65101, global_values.trace_length)), 65536))). + assert pow3168 = pow58 * pow3167; // pow(trace_generator, (safe_div((safe_mult(32551, global_values.trace_length)), 32768))). + assert pow3169 = pow58 * pow3168; // pow(trace_generator, (safe_div((safe_mult(65103, global_values.trace_length)), 65536))). + assert pow3170 = pow58 * pow3169; // pow(trace_generator, (safe_div((safe_mult(4069, global_values.trace_length)), 4096))). + assert pow3171 = pow58 * pow3170; // pow(trace_generator, (safe_div((safe_mult(65105, global_values.trace_length)), 65536))). + assert pow3172 = pow58 * pow3171; // pow(trace_generator, (safe_div((safe_mult(32553, global_values.trace_length)), 32768))). + assert pow3173 = pow58 * pow3172; // pow(trace_generator, (safe_div((safe_mult(65107, global_values.trace_length)), 65536))). + assert pow3174 = pow58 * pow3173; // pow(trace_generator, (safe_div((safe_mult(16277, global_values.trace_length)), 16384))). + assert pow3175 = pow58 * pow3174; // pow(trace_generator, (safe_div((safe_mult(65109, global_values.trace_length)), 65536))). + assert pow3176 = pow58 * pow3175; // pow(trace_generator, (safe_div((safe_mult(32555, global_values.trace_length)), 32768))). + assert pow3177 = pow58 * pow3176; // pow(trace_generator, (safe_div((safe_mult(65111, global_values.trace_length)), 65536))). + assert pow3178 = pow58 * pow3177; // pow(trace_generator, (safe_div((safe_mult(8139, global_values.trace_length)), 8192))). + assert pow3179 = pow58 * pow3178; // pow(trace_generator, (safe_div((safe_mult(65113, global_values.trace_length)), 65536))). + assert pow3180 = pow58 * pow3179; // pow(trace_generator, (safe_div((safe_mult(32557, global_values.trace_length)), 32768))). + assert pow3181 = pow58 * pow3180; // pow(trace_generator, (safe_div((safe_mult(65115, global_values.trace_length)), 65536))). + assert pow3182 = pow58 * pow3181; // pow(trace_generator, (safe_div((safe_mult(16279, global_values.trace_length)), 16384))). + assert pow3183 = pow58 * pow3182; // pow(trace_generator, (safe_div((safe_mult(65117, global_values.trace_length)), 65536))). + assert pow3184 = pow67 * pow3183; // pow(trace_generator, (safe_div((safe_mult(2035, global_values.trace_length)), 2048))). + assert pow3185 = pow58 * pow3184; // pow(trace_generator, (safe_div((safe_mult(65121, global_values.trace_length)), 65536))). + assert pow3186 = pow58 * pow3185; // pow(trace_generator, (safe_div((safe_mult(32561, global_values.trace_length)), 32768))). + assert pow3187 = pow58 * pow3186; // pow(trace_generator, (safe_div((safe_mult(65123, global_values.trace_length)), 65536))). + assert pow3188 = pow58 * pow3187; // pow(trace_generator, (safe_div((safe_mult(16281, global_values.trace_length)), 16384))). + assert pow3189 = pow58 * pow3188; // pow(trace_generator, (safe_div((safe_mult(65125, global_values.trace_length)), 65536))). + assert pow3190 = pow58 * pow3189; // pow(trace_generator, (safe_div((safe_mult(32563, global_values.trace_length)), 32768))). + assert pow3191 = pow58 * pow3190; // pow(trace_generator, (safe_div((safe_mult(65127, global_values.trace_length)), 65536))). + assert pow3192 = pow58 * pow3191; // pow(trace_generator, (safe_div((safe_mult(8141, global_values.trace_length)), 8192))). + assert pow3193 = pow58 * pow3192; // pow(trace_generator, (safe_div((safe_mult(65129, global_values.trace_length)), 65536))). + assert pow3194 = pow58 * pow3193; // pow(trace_generator, (safe_div((safe_mult(32565, global_values.trace_length)), 32768))). + assert pow3195 = pow58 * pow3194; // pow(trace_generator, (safe_div((safe_mult(65131, global_values.trace_length)), 65536))). + assert pow3196 = pow58 * pow3195; // pow(trace_generator, (safe_div((safe_mult(16283, global_values.trace_length)), 16384))). + assert pow3197 = pow58 * pow3196; // pow(trace_generator, (safe_div((safe_mult(65133, global_values.trace_length)), 65536))). + assert pow3198 = pow58 * pow3197; // pow(trace_generator, (safe_div((safe_mult(32567, global_values.trace_length)), 32768))). + assert pow3199 = pow58 * pow3198; // pow(trace_generator, (safe_div((safe_mult(65135, global_values.trace_length)), 65536))). + assert pow3200 = pow58 * pow3199; // pow(trace_generator, (safe_div((safe_mult(4071, global_values.trace_length)), 4096))). + assert pow3201 = pow58 * pow3200; // pow(trace_generator, (safe_div((safe_mult(65137, global_values.trace_length)), 65536))). + assert pow3202 = pow58 * pow3201; // pow(trace_generator, (safe_div((safe_mult(32569, global_values.trace_length)), 32768))). + assert pow3203 = pow58 * pow3202; // pow(trace_generator, (safe_div((safe_mult(65139, global_values.trace_length)), 65536))). + assert pow3204 = pow58 * pow3203; // pow(trace_generator, (safe_div((safe_mult(16285, global_values.trace_length)), 16384))). + assert pow3205 = pow58 * pow3204; // pow(trace_generator, (safe_div((safe_mult(65141, global_values.trace_length)), 65536))). + assert pow3206 = pow58 * pow3205; // pow(trace_generator, (safe_div((safe_mult(32571, global_values.trace_length)), 32768))). + assert pow3207 = pow58 * pow3206; // pow(trace_generator, (safe_div((safe_mult(65143, global_values.trace_length)), 65536))). + assert pow3208 = pow58 * pow3207; // pow(trace_generator, (safe_div((safe_mult(8143, global_values.trace_length)), 8192))). + assert pow3209 = pow58 * pow3208; // pow(trace_generator, (safe_div((safe_mult(65145, global_values.trace_length)), 65536))). + assert pow3210 = pow58 * pow3209; // pow(trace_generator, (safe_div((safe_mult(32573, global_values.trace_length)), 32768))). + assert pow3211 = pow58 * pow3210; // pow(trace_generator, (safe_div((safe_mult(65147, global_values.trace_length)), 65536))). + assert pow3212 = pow58 * pow3211; // pow(trace_generator, (safe_div((safe_mult(16287, global_values.trace_length)), 16384))). + assert pow3213 = pow58 * pow3212; // pow(trace_generator, (safe_div((safe_mult(65149, global_values.trace_length)), 65536))). + assert pow3214 = pow67 * pow3213; // pow(trace_generator, (safe_div((safe_mult(509, global_values.trace_length)), 512))). + assert pow3215 = pow58 * pow3214; // pow(trace_generator, (safe_div((safe_mult(65153, global_values.trace_length)), 65536))). + assert pow3216 = pow58 * pow3215; // pow(trace_generator, (safe_div((safe_mult(32577, global_values.trace_length)), 32768))). + assert pow3217 = pow58 * pow3216; // pow(trace_generator, (safe_div((safe_mult(65155, global_values.trace_length)), 65536))). + assert pow3218 = pow58 * pow3217; // pow(trace_generator, (safe_div((safe_mult(16289, global_values.trace_length)), 16384))). + assert pow3219 = pow58 * pow3218; // pow(trace_generator, (safe_div((safe_mult(65157, global_values.trace_length)), 65536))). + assert pow3220 = pow58 * pow3219; // pow(trace_generator, (safe_div((safe_mult(32579, global_values.trace_length)), 32768))). + assert pow3221 = pow58 * pow3220; // pow(trace_generator, (safe_div((safe_mult(65159, global_values.trace_length)), 65536))). + assert pow3222 = pow58 * pow3221; // pow(trace_generator, (safe_div((safe_mult(8145, global_values.trace_length)), 8192))). + assert pow3223 = pow58 * pow3222; // pow(trace_generator, (safe_div((safe_mult(65161, global_values.trace_length)), 65536))). + assert pow3224 = pow58 * pow3223; // pow(trace_generator, (safe_div((safe_mult(32581, global_values.trace_length)), 32768))). + assert pow3225 = pow58 * pow3224; // pow(trace_generator, (safe_div((safe_mult(65163, global_values.trace_length)), 65536))). + assert pow3226 = pow58 * pow3225; // pow(trace_generator, (safe_div((safe_mult(16291, global_values.trace_length)), 16384))). + assert pow3227 = pow58 * pow3226; // pow(trace_generator, (safe_div((safe_mult(65165, global_values.trace_length)), 65536))). + assert pow3228 = pow58 * pow3227; // pow(trace_generator, (safe_div((safe_mult(32583, global_values.trace_length)), 32768))). + assert pow3229 = pow58 * pow3228; // pow(trace_generator, (safe_div((safe_mult(65167, global_values.trace_length)), 65536))). + assert pow3230 = pow58 * pow3229; // pow(trace_generator, (safe_div((safe_mult(4073, global_values.trace_length)), 4096))). + assert pow3231 = pow58 * pow3230; // pow(trace_generator, (safe_div((safe_mult(65169, global_values.trace_length)), 65536))). + assert pow3232 = pow58 * pow3231; // pow(trace_generator, (safe_div((safe_mult(32585, global_values.trace_length)), 32768))). + assert pow3233 = pow58 * pow3232; // pow(trace_generator, (safe_div((safe_mult(65171, global_values.trace_length)), 65536))). + assert pow3234 = pow58 * pow3233; // pow(trace_generator, (safe_div((safe_mult(16293, global_values.trace_length)), 16384))). + assert pow3235 = pow58 * pow3234; // pow(trace_generator, (safe_div((safe_mult(65173, global_values.trace_length)), 65536))). + assert pow3236 = pow58 * pow3235; // pow(trace_generator, (safe_div((safe_mult(32587, global_values.trace_length)), 32768))). + assert pow3237 = pow58 * pow3236; // pow(trace_generator, (safe_div((safe_mult(65175, global_values.trace_length)), 65536))). + assert pow3238 = pow58 * pow3237; // pow(trace_generator, (safe_div((safe_mult(8147, global_values.trace_length)), 8192))). + assert pow3239 = pow58 * pow3238; // pow(trace_generator, (safe_div((safe_mult(65177, global_values.trace_length)), 65536))). + assert pow3240 = pow58 * pow3239; // pow(trace_generator, (safe_div((safe_mult(32589, global_values.trace_length)), 32768))). + assert pow3241 = pow58 * pow3240; // pow(trace_generator, (safe_div((safe_mult(65179, global_values.trace_length)), 65536))). + assert pow3242 = pow58 * pow3241; // pow(trace_generator, (safe_div((safe_mult(16295, global_values.trace_length)), 16384))). + assert pow3243 = pow58 * pow3242; // pow(trace_generator, (safe_div((safe_mult(65181, global_values.trace_length)), 65536))). + assert pow3244 = pow67 * pow3243; // pow(trace_generator, (safe_div((safe_mult(2037, global_values.trace_length)), 2048))). + assert pow3245 = pow58 * pow3244; // pow(trace_generator, (safe_div((safe_mult(65185, global_values.trace_length)), 65536))). + assert pow3246 = pow58 * pow3245; // pow(trace_generator, (safe_div((safe_mult(32593, global_values.trace_length)), 32768))). + assert pow3247 = pow58 * pow3246; // pow(trace_generator, (safe_div((safe_mult(65187, global_values.trace_length)), 65536))). + assert pow3248 = pow58 * pow3247; // pow(trace_generator, (safe_div((safe_mult(16297, global_values.trace_length)), 16384))). + assert pow3249 = pow58 * pow3248; // pow(trace_generator, (safe_div((safe_mult(65189, global_values.trace_length)), 65536))). + assert pow3250 = pow58 * pow3249; // pow(trace_generator, (safe_div((safe_mult(32595, global_values.trace_length)), 32768))). + assert pow3251 = pow58 * pow3250; // pow(trace_generator, (safe_div((safe_mult(65191, global_values.trace_length)), 65536))). + assert pow3252 = pow58 * pow3251; // pow(trace_generator, (safe_div((safe_mult(8149, global_values.trace_length)), 8192))). + assert pow3253 = pow58 * pow3252; // pow(trace_generator, (safe_div((safe_mult(65193, global_values.trace_length)), 65536))). + assert pow3254 = pow58 * pow3253; // pow(trace_generator, (safe_div((safe_mult(32597, global_values.trace_length)), 32768))). + assert pow3255 = pow58 * pow3254; // pow(trace_generator, (safe_div((safe_mult(65195, global_values.trace_length)), 65536))). + assert pow3256 = pow58 * pow3255; // pow(trace_generator, (safe_div((safe_mult(16299, global_values.trace_length)), 16384))). + assert pow3257 = pow58 * pow3256; // pow(trace_generator, (safe_div((safe_mult(65197, global_values.trace_length)), 65536))). + assert pow3258 = pow58 * pow3257; // pow(trace_generator, (safe_div((safe_mult(32599, global_values.trace_length)), 32768))). + assert pow3259 = pow58 * pow3258; // pow(trace_generator, (safe_div((safe_mult(65199, global_values.trace_length)), 65536))). + assert pow3260 = pow58 * pow3259; // pow(trace_generator, (safe_div((safe_mult(4075, global_values.trace_length)), 4096))). + assert pow3261 = pow58 * pow3260; // pow(trace_generator, (safe_div((safe_mult(65201, global_values.trace_length)), 65536))). + assert pow3262 = pow58 * pow3261; // pow(trace_generator, (safe_div((safe_mult(32601, global_values.trace_length)), 32768))). + assert pow3263 = pow58 * pow3262; // pow(trace_generator, (safe_div((safe_mult(65203, global_values.trace_length)), 65536))). + assert pow3264 = pow58 * pow3263; // pow(trace_generator, (safe_div((safe_mult(16301, global_values.trace_length)), 16384))). + assert pow3265 = pow58 * pow3264; // pow(trace_generator, (safe_div((safe_mult(65205, global_values.trace_length)), 65536))). + assert pow3266 = pow58 * pow3265; // pow(trace_generator, (safe_div((safe_mult(32603, global_values.trace_length)), 32768))). + assert pow3267 = pow58 * pow3266; // pow(trace_generator, (safe_div((safe_mult(65207, global_values.trace_length)), 65536))). + assert pow3268 = pow58 * pow3267; // pow(trace_generator, (safe_div((safe_mult(8151, global_values.trace_length)), 8192))). + assert pow3269 = pow58 * pow3268; // pow(trace_generator, (safe_div((safe_mult(65209, global_values.trace_length)), 65536))). + assert pow3270 = pow58 * pow3269; // pow(trace_generator, (safe_div((safe_mult(32605, global_values.trace_length)), 32768))). + assert pow3271 = pow58 * pow3270; // pow(trace_generator, (safe_div((safe_mult(65211, global_values.trace_length)), 65536))). + assert pow3272 = pow58 * pow3271; // pow(trace_generator, (safe_div((safe_mult(16303, global_values.trace_length)), 16384))). + assert pow3273 = pow58 * pow3272; // pow(trace_generator, (safe_div((safe_mult(65213, global_values.trace_length)), 65536))). + assert pow3274 = pow67 * pow3273; // pow(trace_generator, (safe_div((safe_mult(1019, global_values.trace_length)), 1024))). + assert pow3275 = pow58 * pow3274; // pow(trace_generator, (safe_div((safe_mult(65217, global_values.trace_length)), 65536))). + assert pow3276 = pow58 * pow3275; // pow(trace_generator, (safe_div((safe_mult(32609, global_values.trace_length)), 32768))). + assert pow3277 = pow58 * pow3276; // pow(trace_generator, (safe_div((safe_mult(65219, global_values.trace_length)), 65536))). + assert pow3278 = pow58 * pow3277; // pow(trace_generator, (safe_div((safe_mult(16305, global_values.trace_length)), 16384))). + assert pow3279 = pow58 * pow3278; // pow(trace_generator, (safe_div((safe_mult(65221, global_values.trace_length)), 65536))). + assert pow3280 = pow58 * pow3279; // pow(trace_generator, (safe_div((safe_mult(32611, global_values.trace_length)), 32768))). + assert pow3281 = pow58 * pow3280; // pow(trace_generator, (safe_div((safe_mult(65223, global_values.trace_length)), 65536))). + assert pow3282 = pow58 * pow3281; // pow(trace_generator, (safe_div((safe_mult(8153, global_values.trace_length)), 8192))). + assert pow3283 = pow58 * pow3282; // pow(trace_generator, (safe_div((safe_mult(65225, global_values.trace_length)), 65536))). + assert pow3284 = pow58 * pow3283; // pow(trace_generator, (safe_div((safe_mult(32613, global_values.trace_length)), 32768))). + assert pow3285 = pow58 * pow3284; // pow(trace_generator, (safe_div((safe_mult(65227, global_values.trace_length)), 65536))). + assert pow3286 = pow58 * pow3285; // pow(trace_generator, (safe_div((safe_mult(16307, global_values.trace_length)), 16384))). + assert pow3287 = pow58 * pow3286; // pow(trace_generator, (safe_div((safe_mult(65229, global_values.trace_length)), 65536))). + assert pow3288 = pow58 * pow3287; // pow(trace_generator, (safe_div((safe_mult(32615, global_values.trace_length)), 32768))). + assert pow3289 = pow58 * pow3288; // pow(trace_generator, (safe_div((safe_mult(65231, global_values.trace_length)), 65536))). + assert pow3290 = pow58 * pow3289; // pow(trace_generator, (safe_div((safe_mult(4077, global_values.trace_length)), 4096))). + assert pow3291 = pow58 * pow3290; // pow(trace_generator, (safe_div((safe_mult(65233, global_values.trace_length)), 65536))). + assert pow3292 = pow58 * pow3291; // pow(trace_generator, (safe_div((safe_mult(32617, global_values.trace_length)), 32768))). + assert pow3293 = pow58 * pow3292; // pow(trace_generator, (safe_div((safe_mult(65235, global_values.trace_length)), 65536))). + assert pow3294 = pow58 * pow3293; // pow(trace_generator, (safe_div((safe_mult(16309, global_values.trace_length)), 16384))). + assert pow3295 = pow58 * pow3294; // pow(trace_generator, (safe_div((safe_mult(65237, global_values.trace_length)), 65536))). + assert pow3296 = pow58 * pow3295; // pow(trace_generator, (safe_div((safe_mult(32619, global_values.trace_length)), 32768))). + assert pow3297 = pow58 * pow3296; // pow(trace_generator, (safe_div((safe_mult(65239, global_values.trace_length)), 65536))). + assert pow3298 = pow58 * pow3297; // pow(trace_generator, (safe_div((safe_mult(8155, global_values.trace_length)), 8192))). + assert pow3299 = pow58 * pow3298; // pow(trace_generator, (safe_div((safe_mult(65241, global_values.trace_length)), 65536))). + assert pow3300 = pow58 * pow3299; // pow(trace_generator, (safe_div((safe_mult(32621, global_values.trace_length)), 32768))). + assert pow3301 = pow58 * pow3300; // pow(trace_generator, (safe_div((safe_mult(65243, global_values.trace_length)), 65536))). + assert pow3302 = pow58 * pow3301; // pow(trace_generator, (safe_div((safe_mult(16311, global_values.trace_length)), 16384))). + assert pow3303 = pow58 * pow3302; // pow(trace_generator, (safe_div((safe_mult(65245, global_values.trace_length)), 65536))). + assert pow3304 = pow67 * pow3303; // pow(trace_generator, (safe_div((safe_mult(2039, global_values.trace_length)), 2048))). + assert pow3305 = pow58 * pow3304; // pow(trace_generator, (safe_div((safe_mult(65249, global_values.trace_length)), 65536))). + assert pow3306 = pow58 * pow3305; // pow(trace_generator, (safe_div((safe_mult(32625, global_values.trace_length)), 32768))). + assert pow3307 = pow58 * pow3306; // pow(trace_generator, (safe_div((safe_mult(65251, global_values.trace_length)), 65536))). + assert pow3308 = pow58 * pow3307; // pow(trace_generator, (safe_div((safe_mult(16313, global_values.trace_length)), 16384))). + assert pow3309 = pow58 * pow3308; // pow(trace_generator, (safe_div((safe_mult(65253, global_values.trace_length)), 65536))). + assert pow3310 = pow58 * pow3309; // pow(trace_generator, (safe_div((safe_mult(32627, global_values.trace_length)), 32768))). + assert pow3311 = pow58 * pow3310; // pow(trace_generator, (safe_div((safe_mult(65255, global_values.trace_length)), 65536))). + assert pow3312 = pow58 * pow3311; // pow(trace_generator, (safe_div((safe_mult(8157, global_values.trace_length)), 8192))). + assert pow3313 = pow58 * pow3312; // pow(trace_generator, (safe_div((safe_mult(65257, global_values.trace_length)), 65536))). + assert pow3314 = pow58 * pow3313; // pow(trace_generator, (safe_div((safe_mult(32629, global_values.trace_length)), 32768))). + assert pow3315 = pow58 * pow3314; // pow(trace_generator, (safe_div((safe_mult(65259, global_values.trace_length)), 65536))). + assert pow3316 = pow58 * pow3315; // pow(trace_generator, (safe_div((safe_mult(16315, global_values.trace_length)), 16384))). + assert pow3317 = pow58 * pow3316; // pow(trace_generator, (safe_div((safe_mult(65261, global_values.trace_length)), 65536))). + assert pow3318 = pow58 * pow3317; // pow(trace_generator, (safe_div((safe_mult(32631, global_values.trace_length)), 32768))). + assert pow3319 = pow58 * pow3318; // pow(trace_generator, (safe_div((safe_mult(65263, global_values.trace_length)), 65536))). + assert pow3320 = pow58 * pow3319; // pow(trace_generator, (safe_div((safe_mult(4079, global_values.trace_length)), 4096))). + assert pow3321 = pow58 * pow3320; // pow(trace_generator, (safe_div((safe_mult(65265, global_values.trace_length)), 65536))). + assert pow3322 = pow58 * pow3321; // pow(trace_generator, (safe_div((safe_mult(32633, global_values.trace_length)), 32768))). + assert pow3323 = pow58 * pow3322; // pow(trace_generator, (safe_div((safe_mult(65267, global_values.trace_length)), 65536))). + assert pow3324 = pow58 * pow3323; // pow(trace_generator, (safe_div((safe_mult(16317, global_values.trace_length)), 16384))). + assert pow3325 = pow58 * pow3324; // pow(trace_generator, (safe_div((safe_mult(65269, global_values.trace_length)), 65536))). + assert pow3326 = pow58 * pow3325; // pow(trace_generator, (safe_div((safe_mult(32635, global_values.trace_length)), 32768))). + assert pow3327 = pow58 * pow3326; // pow(trace_generator, (safe_div((safe_mult(65271, global_values.trace_length)), 65536))). + assert pow3328 = pow58 * pow3327; // pow(trace_generator, (safe_div((safe_mult(8159, global_values.trace_length)), 8192))). + assert pow3329 = pow58 * pow3328; // pow(trace_generator, (safe_div((safe_mult(65273, global_values.trace_length)), 65536))). + assert pow3330 = pow58 * pow3329; // pow(trace_generator, (safe_div((safe_mult(32637, global_values.trace_length)), 32768))). + assert pow3331 = pow58 * pow3330; // pow(trace_generator, (safe_div((safe_mult(65275, global_values.trace_length)), 65536))). + assert pow3332 = pow58 * pow3331; // pow(trace_generator, (safe_div((safe_mult(16319, global_values.trace_length)), 16384))). + assert pow3333 = pow58 * pow3332; // pow(trace_generator, (safe_div((safe_mult(65277, global_values.trace_length)), 65536))). + assert pow3334 = pow67 * pow3333; // pow(trace_generator, (safe_div((safe_mult(255, global_values.trace_length)), 256))). + assert pow3335 = pow58 * pow3334; // pow(trace_generator, (safe_div((safe_mult(65281, global_values.trace_length)), 65536))). + assert pow3336 = pow58 * pow3335; // pow(trace_generator, (safe_div((safe_mult(32641, global_values.trace_length)), 32768))). + assert pow3337 = pow58 * pow3336; // pow(trace_generator, (safe_div((safe_mult(65283, global_values.trace_length)), 65536))). + assert pow3338 = pow58 * pow3337; // pow(trace_generator, (safe_div((safe_mult(16321, global_values.trace_length)), 16384))). + assert pow3339 = pow58 * pow3338; // pow(trace_generator, (safe_div((safe_mult(65285, global_values.trace_length)), 65536))). + assert pow3340 = pow58 * pow3339; // pow(trace_generator, (safe_div((safe_mult(32643, global_values.trace_length)), 32768))). + assert pow3341 = pow58 * pow3340; // pow(trace_generator, (safe_div((safe_mult(65287, global_values.trace_length)), 65536))). + assert pow3342 = pow58 * pow3341; // pow(trace_generator, (safe_div((safe_mult(8161, global_values.trace_length)), 8192))). + assert pow3343 = pow58 * pow3342; // pow(trace_generator, (safe_div((safe_mult(65289, global_values.trace_length)), 65536))). + assert pow3344 = pow58 * pow3343; // pow(trace_generator, (safe_div((safe_mult(32645, global_values.trace_length)), 32768))). + assert pow3345 = pow58 * pow3344; // pow(trace_generator, (safe_div((safe_mult(65291, global_values.trace_length)), 65536))). + assert pow3346 = pow58 * pow3345; // pow(trace_generator, (safe_div((safe_mult(16323, global_values.trace_length)), 16384))). + assert pow3347 = pow58 * pow3346; // pow(trace_generator, (safe_div((safe_mult(65293, global_values.trace_length)), 65536))). + assert pow3348 = pow58 * pow3347; // pow(trace_generator, (safe_div((safe_mult(32647, global_values.trace_length)), 32768))). + assert pow3349 = pow58 * pow3348; // pow(trace_generator, (safe_div((safe_mult(65295, global_values.trace_length)), 65536))). + assert pow3350 = pow58 * pow3349; // pow(trace_generator, (safe_div((safe_mult(4081, global_values.trace_length)), 4096))). + assert pow3351 = pow58 * pow3350; // pow(trace_generator, (safe_div((safe_mult(65297, global_values.trace_length)), 65536))). + assert pow3352 = pow58 * pow3351; // pow(trace_generator, (safe_div((safe_mult(32649, global_values.trace_length)), 32768))). + assert pow3353 = pow58 * pow3352; // pow(trace_generator, (safe_div((safe_mult(65299, global_values.trace_length)), 65536))). + assert pow3354 = pow58 * pow3353; // pow(trace_generator, (safe_div((safe_mult(16325, global_values.trace_length)), 16384))). + assert pow3355 = pow58 * pow3354; // pow(trace_generator, (safe_div((safe_mult(65301, global_values.trace_length)), 65536))). + assert pow3356 = pow58 * pow3355; // pow(trace_generator, (safe_div((safe_mult(32651, global_values.trace_length)), 32768))). + assert pow3357 = pow58 * pow3356; // pow(trace_generator, (safe_div((safe_mult(65303, global_values.trace_length)), 65536))). + assert pow3358 = pow58 * pow3357; // pow(trace_generator, (safe_div((safe_mult(8163, global_values.trace_length)), 8192))). + assert pow3359 = pow58 * pow3358; // pow(trace_generator, (safe_div((safe_mult(65305, global_values.trace_length)), 65536))). + assert pow3360 = pow58 * pow3359; // pow(trace_generator, (safe_div((safe_mult(32653, global_values.trace_length)), 32768))). + assert pow3361 = pow58 * pow3360; // pow(trace_generator, (safe_div((safe_mult(65307, global_values.trace_length)), 65536))). + assert pow3362 = pow58 * pow3361; // pow(trace_generator, (safe_div((safe_mult(16327, global_values.trace_length)), 16384))). + assert pow3363 = pow58 * pow3362; // pow(trace_generator, (safe_div((safe_mult(65309, global_values.trace_length)), 65536))). + assert pow3364 = pow67 * pow3363; // pow(trace_generator, (safe_div((safe_mult(2041, global_values.trace_length)), 2048))). + assert pow3365 = pow58 * pow3364; // pow(trace_generator, (safe_div((safe_mult(65313, global_values.trace_length)), 65536))). + assert pow3366 = pow58 * pow3365; // pow(trace_generator, (safe_div((safe_mult(32657, global_values.trace_length)), 32768))). + assert pow3367 = pow58 * pow3366; // pow(trace_generator, (safe_div((safe_mult(65315, global_values.trace_length)), 65536))). + assert pow3368 = pow58 * pow3367; // pow(trace_generator, (safe_div((safe_mult(16329, global_values.trace_length)), 16384))). + assert pow3369 = pow58 * pow3368; // pow(trace_generator, (safe_div((safe_mult(65317, global_values.trace_length)), 65536))). + assert pow3370 = pow58 * pow3369; // pow(trace_generator, (safe_div((safe_mult(32659, global_values.trace_length)), 32768))). + assert pow3371 = pow58 * pow3370; // pow(trace_generator, (safe_div((safe_mult(65319, global_values.trace_length)), 65536))). + assert pow3372 = pow58 * pow3371; // pow(trace_generator, (safe_div((safe_mult(8165, global_values.trace_length)), 8192))). + assert pow3373 = pow58 * pow3372; // pow(trace_generator, (safe_div((safe_mult(65321, global_values.trace_length)), 65536))). + assert pow3374 = pow58 * pow3373; // pow(trace_generator, (safe_div((safe_mult(32661, global_values.trace_length)), 32768))). + assert pow3375 = pow58 * pow3374; // pow(trace_generator, (safe_div((safe_mult(65323, global_values.trace_length)), 65536))). + assert pow3376 = pow58 * pow3375; // pow(trace_generator, (safe_div((safe_mult(16331, global_values.trace_length)), 16384))). + assert pow3377 = pow58 * pow3376; // pow(trace_generator, (safe_div((safe_mult(65325, global_values.trace_length)), 65536))). + assert pow3378 = pow58 * pow3377; // pow(trace_generator, (safe_div((safe_mult(32663, global_values.trace_length)), 32768))). + assert pow3379 = pow58 * pow3378; // pow(trace_generator, (safe_div((safe_mult(65327, global_values.trace_length)), 65536))). + assert pow3380 = pow58 * pow3379; // pow(trace_generator, (safe_div((safe_mult(4083, global_values.trace_length)), 4096))). + assert pow3381 = pow58 * pow3380; // pow(trace_generator, (safe_div((safe_mult(65329, global_values.trace_length)), 65536))). + assert pow3382 = pow58 * pow3381; // pow(trace_generator, (safe_div((safe_mult(32665, global_values.trace_length)), 32768))). + assert pow3383 = pow58 * pow3382; // pow(trace_generator, (safe_div((safe_mult(65331, global_values.trace_length)), 65536))). + assert pow3384 = pow58 * pow3383; // pow(trace_generator, (safe_div((safe_mult(16333, global_values.trace_length)), 16384))). + assert pow3385 = pow58 * pow3384; // pow(trace_generator, (safe_div((safe_mult(65333, global_values.trace_length)), 65536))). + assert pow3386 = pow58 * pow3385; // pow(trace_generator, (safe_div((safe_mult(32667, global_values.trace_length)), 32768))). + assert pow3387 = pow58 * pow3386; // pow(trace_generator, (safe_div((safe_mult(65335, global_values.trace_length)), 65536))). + assert pow3388 = pow58 * pow3387; // pow(trace_generator, (safe_div((safe_mult(8167, global_values.trace_length)), 8192))). + assert pow3389 = pow58 * pow3388; // pow(trace_generator, (safe_div((safe_mult(65337, global_values.trace_length)), 65536))). + assert pow3390 = pow58 * pow3389; // pow(trace_generator, (safe_div((safe_mult(32669, global_values.trace_length)), 32768))). + assert pow3391 = pow58 * pow3390; // pow(trace_generator, (safe_div((safe_mult(65339, global_values.trace_length)), 65536))). + assert pow3392 = pow58 * pow3391; // pow(trace_generator, (safe_div((safe_mult(16335, global_values.trace_length)), 16384))). + assert pow3393 = pow58 * pow3392; // pow(trace_generator, (safe_div((safe_mult(65341, global_values.trace_length)), 65536))). + assert pow3394 = pow67 * pow3393; // pow(trace_generator, (safe_div((safe_mult(1021, global_values.trace_length)), 1024))). tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; } - local pow3393; - local pow3394; local pow3395; local pow3396; + if (uses_mul_mod_builtin != 0) { + let (temp3395) = pow(point, (safe_div(global_values.trace_length, mul_mod__row_ratio))); + assert pow3395 = temp3395; + let (temp3396) = pow(trace_generator, global_values.trace_length - mul_mod__row_ratio); + assert pow3396 = temp3396; + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } local pow3397; local pow3398; local pow3399; + local pow3400; + local pow3401; + local pow3402; + local pow3403; if (uses_pedersen_builtin != 0) { - let (temp3393) = pow( + let (temp3397) = pow( point, (safe_div(global_values.trace_length, pedersen_builtin_row_ratio)) ); - assert pow3393 = temp3393; - assert pow3394 = pow3393 * pow3393; // pow(point, (safe_div((safe_mult(2, global_values.trace_length)), pedersen_builtin_row_ratio))). - let (temp3395) = pow( + assert pow3397 = temp3397; + assert pow3398 = pow3397 * pow3397; // pow(point, (safe_div((safe_mult(2, global_values.trace_length)), pedersen_builtin_row_ratio))). + let (temp3399) = pow( point, (safe_div((safe_mult(512, global_values.trace_length)), pedersen_builtin_row_ratio)), ); - assert pow3395 = temp3395; - let (temp3396) = pow( + assert pow3399 = temp3399; + let (temp3400) = pow( trace_generator, global_values.trace_length - pedersen_builtin_row_ratio ); - assert pow3396 = temp3396; - let (temp3397) = pow(trace_generator, (safe_div(global_values.trace_length, 2))); - assert pow3397 = temp3397; - let (temp3398) = pow( + assert pow3400 = temp3400; + let (temp3401) = pow(trace_generator, (safe_div(global_values.trace_length, 2))); + assert pow3401 = temp3401; + let (temp3402) = pow( trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64)) ); - assert pow3398 = temp3398; - let (temp3399) = pow( + assert pow3402 = temp3402; + let (temp3403) = pow( trace_generator, (safe_div((safe_mult(255, global_values.trace_length)), 256)) ); - assert pow3399 = temp3399; + assert pow3403 = temp3403; tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; } - local pow3400; - local pow3401; - local pow3402; - local pow3403; local pow3404; local pow3405; local pow3406; @@ -7374,98 +7675,117 @@ func eval_composition_polynomial{range_check_ptr}( local pow3418; local pow3419; local pow3420; + local pow3421; + local pow3422; + local pow3423; + local pow3424; if (uses_poseidon_builtin != 0) { - let (temp3400) = pow(point, (safe_div(global_values.trace_length, poseidon__row_ratio))); - assert pow3400 = temp3400; - assert pow3401 = pow3400 * pow3400; // pow(point, (safe_div((safe_mult(2, global_values.trace_length)), poseidon__row_ratio))). - let (temp3402) = pow( - point, (safe_div((safe_mult(8, global_values.trace_length)), poseidon__row_ratio)) - ); - assert pow3402 = temp3402; - let (temp3403) = pow( - point, (safe_div((safe_mult(32, global_values.trace_length)), poseidon__row_ratio)) - ); - assert pow3403 = temp3403; - assert pow3404 = pow3403 * pow3403; // pow(point, (safe_div((safe_mult(64, global_values.trace_length)), poseidon__row_ratio))). - let (temp3405) = pow( - trace_generator, global_values.trace_length - (safe_div(poseidon__row_ratio, 2)) - ); - assert pow3405 = temp3405; + let (temp3404) = pow(point, (safe_div(global_values.trace_length, poseidon__row_ratio))); + assert pow3404 = temp3404; + assert pow3405 = pow3404 * pow3404; // pow(point, (safe_div((safe_mult(2, global_values.trace_length)), poseidon__row_ratio))). let (temp3406) = pow( - trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32)) + point, (safe_div((safe_mult(8, global_values.trace_length)), poseidon__row_ratio)) ); assert pow3406 = temp3406; let (temp3407) = pow( - trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8)) + point, (safe_div((safe_mult(32, global_values.trace_length)), poseidon__row_ratio)) ); assert pow3407 = temp3407; - let (temp3408) = pow( - trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32)) - ); - assert pow3408 = temp3408; + assert pow3408 = pow3407 * pow3407; // pow(point, (safe_div((safe_mult(64, global_values.trace_length)), poseidon__row_ratio))). let (temp3409) = pow( - trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64)) + trace_generator, global_values.trace_length - (safe_div(poseidon__row_ratio, 2)) ); assert pow3409 = temp3409; let (temp3410) = pow( - trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 64)) + trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32)) ); assert pow3410 = temp3410; let (temp3411) = pow( - trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16)) + trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8)) ); assert pow3411 = temp3411; let (temp3412) = pow( - trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32)) + trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32)) ); assert pow3412 = temp3412; let (temp3413) = pow( - trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8)) + trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64)) ); assert pow3413 = temp3413; let (temp3414) = pow( - trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32)) + trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 64)) ); assert pow3414 = temp3414; let (temp3415) = pow( - trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16)) + trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16)) ); assert pow3415 = temp3415; let (temp3416) = pow( - trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32)) + trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32)) ); assert pow3416 = temp3416; let (temp3417) = pow( - trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32)) + trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8)) ); assert pow3417 = temp3417; let (temp3418) = pow( - trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16)) + trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32)) ); assert pow3418 = temp3418; let (temp3419) = pow( - trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 32)) + trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16)) ); assert pow3419 = temp3419; let (temp3420) = pow( - trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4)) + trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32)) ); assert pow3420 = temp3420; + let (temp3421) = pow( + trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32)) + ); + assert pow3421 = temp3421; + let (temp3422) = pow( + trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16)) + ); + assert pow3422 = temp3422; + let (temp3423) = pow( + trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 32)) + ); + assert pow3423 = temp3423; + let (temp3424) = pow( + trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4)) + ); + assert pow3424 = temp3424; tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; } - local pow3421; - local pow3422; + local pow3425; + local pow3426; + if (uses_range_check96_builtin != 0) { + let (temp3425) = pow( + point, (safe_div(global_values.trace_length, range_check96_builtin_row_ratio)) + ); + assert pow3425 = temp3425; + let (temp3426) = pow( + trace_generator, global_values.trace_length - range_check96_builtin_row_ratio + ); + assert pow3426 = temp3426; + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + local pow3427; + local pow3428; if (uses_range_check_builtin != 0) { - let (temp3421) = pow( + let (temp3427) = pow( point, (safe_div(global_values.trace_length, range_check_builtin_row_ratio)) ); - assert pow3421 = temp3421; - let (temp3422) = pow( + assert pow3427 = temp3427; + let (temp3428) = pow( trace_generator, global_values.trace_length - range_check_builtin_row_ratio ); - assert pow3422 = temp3422; + assert pow3428 = temp3428; tempvar range_check_ptr = range_check_ptr; } else { tempvar range_check_ptr = range_check_ptr; @@ -7488,49 +7808,54 @@ func eval_composition_polynomial{range_check_ptr}( local domain12; local domain13; local domain14; + if (uses_add_mod_builtin != 0) { + assert domain12 = pow11 - 1; + assert domain13 = point - 1; + assert domain14 = point - pow12; + } local domain15; local domain16; local domain17; - if (uses_bitwise_builtin != 0) { - assert domain12 = pow12 - 1; - assert domain13 = pow11 - pow29; - assert domain14 = pow11 - 1; - tempvar temp = pow11 - pow14; - tempvar temp = temp * (pow11 - pow15); - tempvar temp = temp * (pow11 - pow16); - tempvar temp = temp * (pow11 - pow17); - tempvar temp = temp * (pow11 - pow18); - tempvar temp = temp * (pow11 - pow19); - tempvar temp = temp * (pow11 - pow20); - tempvar temp = temp * (pow11 - pow21); - tempvar temp = temp * (pow11 - pow22); - tempvar temp = temp * (pow11 - pow23); - tempvar temp = temp * (pow11 - pow24); - tempvar temp = temp * (pow11 - pow25); - tempvar temp = temp * (pow11 - pow26); - tempvar temp = temp * (pow11 - pow27); - tempvar temp = temp * (pow11 - pow28); - assert domain15 = temp * (domain14); - assert domain16 = point - 1; - assert domain17 = point - pow13; - } local domain18; local domain19; local domain20; + if (uses_bitwise_builtin != 0) { + assert domain15 = pow14 - 1; + assert domain16 = pow13 - pow31; + assert domain17 = pow13 - 1; + tempvar temp = pow13 - pow16; + tempvar temp = temp * (pow13 - pow17); + tempvar temp = temp * (pow13 - pow18); + tempvar temp = temp * (pow13 - pow19); + tempvar temp = temp * (pow13 - pow20); + tempvar temp = temp * (pow13 - pow21); + tempvar temp = temp * (pow13 - pow22); + tempvar temp = temp * (pow13 - pow23); + tempvar temp = temp * (pow13 - pow24); + tempvar temp = temp * (pow13 - pow25); + tempvar temp = temp * (pow13 - pow26); + tempvar temp = temp * (pow13 - pow27); + tempvar temp = temp * (pow13 - pow28); + tempvar temp = temp * (pow13 - pow29); + tempvar temp = temp * (pow13 - pow30); + assert domain18 = temp * (domain17); + assert domain19 = point - 1; + assert domain20 = point - pow15; + } local domain21; local domain22; local domain23; - if (uses_ec_op_builtin != 0) { - assert domain18 = pow31 - 1; - assert domain19 = pow30 - 1; - assert domain20 = pow30 - pow34; - assert domain21 = pow30 - pow33; - assert domain22 = point - 1; - assert domain23 = point - pow32; - } local domain24; local domain25; local domain26; + if (uses_ec_op_builtin != 0) { + assert domain21 = pow33 - 1; + assert domain22 = pow32 - 1; + assert domain23 = pow32 - pow36; + assert domain24 = pow32 - pow35; + assert domain25 = point - 1; + assert domain26 = point - pow34; + } local domain27; local domain28; local domain29; @@ -7538,21 +7863,21 @@ func eval_composition_polynomial{range_check_ptr}( local domain31; local domain32; local domain33; - if (uses_ecdsa_builtin != 0) { - assert domain24 = pow38 - 1; - assert domain25 = pow37 - 1; - assert domain26 = pow36 - pow41; - assert domain27 = pow36 - pow40; - assert domain28 = pow36 - 1; - assert domain29 = pow35 - pow41; - assert domain30 = pow35 - pow40; - assert domain31 = pow35 - 1; - assert domain32 = point - 1; - assert domain33 = point - pow39; - } local domain34; local domain35; local domain36; + if (uses_ecdsa_builtin != 0) { + assert domain27 = pow40 - 1; + assert domain28 = pow39 - 1; + assert domain29 = pow38 - pow43; + assert domain30 = pow38 - pow42; + assert domain31 = pow38 - 1; + assert domain32 = pow37 - pow43; + assert domain33 = pow37 - pow42; + assert domain34 = pow37 - 1; + assert domain35 = point - 1; + assert domain36 = point - pow41; + } local domain37; local domain38; local domain39; @@ -7668,3785 +7993,3804 @@ func eval_composition_polynomial{range_check_ptr}( local domain149; local domain150; local domain151; + local domain152; + local domain153; + local domain154; if (uses_keccak_builtin != 0) { - assert domain34 = pow47 - 1; - assert domain35 = pow46 - 1; - tempvar temp = pow46 - pow848; - assert domain36 = temp * (domain35); - assert domain37 = pow45 - 1; - tempvar temp = pow44 - 1; + assert domain37 = pow49 - 1; + assert domain38 = pow48 - 1; + tempvar temp = pow48 - pow850; + assert domain39 = temp * (domain38); + assert domain40 = pow47 - 1; + tempvar temp = pow46 - 1; + tempvar temp = temp * (pow46 - pow126); + tempvar temp = temp * (pow46 - pow186); + tempvar temp = temp * (pow46 - pow246); + tempvar temp = temp * (pow46 - pow306); + tempvar temp = temp * (pow46 - pow366); + tempvar temp = temp * (pow46 - pow426); + assert domain41 = temp * (pow46 - pow486); + tempvar temp = pow46 - pow546; + tempvar temp = temp * (pow46 - pow606); + tempvar temp = temp * (pow46 - pow666); + tempvar temp = temp * (pow46 - pow726); + tempvar temp = temp * (pow46 - pow786); + tempvar temp = temp * (pow46 - pow816); + tempvar temp = temp * (pow46 - pow817); + tempvar temp = temp * (pow46 - pow818); + tempvar temp = temp * (pow46 - pow819); + tempvar temp = temp * (pow46 - pow843); + tempvar temp = temp * (pow46 - pow844); + tempvar temp = temp * (pow46 - pow845); + tempvar temp = temp * (pow46 - pow846); + tempvar temp = temp * (pow46 - pow847); + tempvar temp = temp * (pow46 - pow848); + tempvar temp = temp * (pow46 - pow849); + assert domain42 = temp * (domain41); + tempvar temp = pow46 - pow1086; + tempvar temp = temp * (pow46 - pow1110); + tempvar temp = temp * (pow46 - pow1111); + tempvar temp = temp * (pow46 - pow1112); + tempvar temp = temp * (pow46 - pow1113); + tempvar temp = temp * (pow46 - pow1114); + tempvar temp = temp * (pow46 - pow1115); + tempvar temp = temp * (pow46 - pow1116); + tempvar temp = temp * (pow46 - pow1117); + tempvar temp = temp * (pow46 - pow1118); + tempvar temp = temp * (pow46 - pow1119); + tempvar temp = temp * (pow46 - pow1120); + tempvar temp = temp * (pow46 - pow1121); + tempvar temp = temp * (pow46 - pow1122); + tempvar temp = temp * (pow46 - pow1123); + tempvar temp = temp * (pow46 - pow1124); + tempvar temp = temp * (pow46 - pow1125); + tempvar temp = temp * (pow46 - pow1149); + tempvar temp = temp * (pow46 - pow1150); + tempvar temp = temp * (pow46 - pow1151); + tempvar temp = temp * (pow46 - pow1152); + tempvar temp = temp * (pow46 - pow1153); + tempvar temp = temp * (pow46 - pow1154); + tempvar temp = temp * (pow46 - pow1155); + tempvar temp = temp * (pow46 - pow1392); + tempvar temp = temp * (pow46 - pow1416); + tempvar temp = temp * (pow46 - pow1417); + tempvar temp = temp * (pow46 - pow1418); + tempvar temp = temp * (pow46 - pow1419); + tempvar temp = temp * (pow46 - pow1420); + tempvar temp = temp * (pow46 - pow1421); + tempvar temp = temp * (pow46 - pow1422); + tempvar temp = temp * (pow46 - pow1423); + tempvar temp = temp * (pow46 - pow1424); + tempvar temp = temp * (pow46 - pow1425); + tempvar temp = temp * (pow46 - pow1426); + tempvar temp = temp * (pow46 - pow1427); + tempvar temp = temp * (pow46 - pow1428); + tempvar temp = temp * (pow46 - pow1429); + tempvar temp = temp * (pow46 - pow1430); + tempvar temp = temp * (pow46 - pow1431); + tempvar temp = temp * (pow46 - pow1455); + tempvar temp = temp * (pow46 - pow1456); + tempvar temp = temp * (pow46 - pow1457); + tempvar temp = temp * (pow46 - pow1458); + tempvar temp = temp * (pow46 - pow1459); + tempvar temp = temp * (pow46 - pow1460); + tempvar temp = temp * (pow46 - pow1461); + tempvar temp = temp * (pow46 - pow1650); + tempvar temp = temp * (pow46 - pow1651); + tempvar temp = temp * (pow46 - pow1652); + tempvar temp = temp * (pow46 - pow1653); + tempvar temp = temp * (pow46 - pow1654); + tempvar temp = temp * (pow46 - pow1655); + tempvar temp = temp * (pow46 - pow1656); + tempvar temp = temp * (pow46 - pow1657); + tempvar temp = temp * (pow46 - pow1658); + tempvar temp = temp * (pow46 - pow1659); + tempvar temp = temp * (pow46 - pow1660); + tempvar temp = temp * (pow46 - pow1661); + tempvar temp = temp * (pow46 - pow1662); + tempvar temp = temp * (pow46 - pow1663); + tempvar temp = temp * (pow46 - pow1664); + tempvar temp = temp * (pow46 - pow1665); + tempvar temp = temp * (pow46 - pow1666); + tempvar temp = temp * (pow46 - pow1690); + tempvar temp = temp * (pow46 - pow1691); + tempvar temp = temp * (pow46 - pow1692); + tempvar temp = temp * (pow46 - pow1693); + tempvar temp = temp * (pow46 - pow1694); + tempvar temp = temp * (pow46 - pow1695); + tempvar temp = temp * (pow46 - pow1696); + tempvar temp = temp * (pow46 - pow1841); + tempvar temp = temp * (pow46 - pow1865); + tempvar temp = temp * (pow46 - pow1866); + tempvar temp = temp * (pow46 - pow1867); + tempvar temp = temp * (pow46 - pow1868); + tempvar temp = temp * (pow46 - pow1869); + tempvar temp = temp * (pow46 - pow1870); + tempvar temp = temp * (pow46 - pow1871); + tempvar temp = temp * (pow46 - pow1872); + tempvar temp = temp * (pow46 - pow1873); + tempvar temp = temp * (pow46 - pow1874); + tempvar temp = temp * (pow46 - pow1875); + tempvar temp = temp * (pow46 - pow1876); + tempvar temp = temp * (pow46 - pow1877); + tempvar temp = temp * (pow46 - pow1878); + tempvar temp = temp * (pow46 - pow1879); + tempvar temp = temp * (pow46 - pow1880); + tempvar temp = temp * (pow46 - pow1904); + tempvar temp = temp * (pow46 - pow1905); + tempvar temp = temp * (pow46 - pow1906); + tempvar temp = temp * (pow46 - pow1907); + tempvar temp = temp * (pow46 - pow1908); + tempvar temp = temp * (pow46 - pow1909); + tempvar temp = temp * (pow46 - pow1910); + assert domain43 = temp * (domain42); + tempvar temp = pow46 - pow850; + tempvar temp = temp * (pow46 - pow874); + tempvar temp = temp * (pow46 - pow875); + tempvar temp = temp * (pow46 - pow876); + tempvar temp = temp * (pow46 - pow877); + tempvar temp = temp * (pow46 - pow878); + tempvar temp = temp * (pow46 - pow879); + tempvar temp = temp * (pow46 - pow880); + tempvar temp = temp * (pow46 - pow881); + tempvar temp = temp * (pow46 - pow882); + tempvar temp = temp * (pow46 - pow883); + tempvar temp = temp * (pow46 - pow884); + tempvar temp = temp * (pow46 - pow885); + tempvar temp = temp * (pow46 - pow886); + tempvar temp = temp * (pow46 - pow887); + tempvar temp = temp * (pow46 - pow888); + tempvar temp = temp * (pow46 - pow889); + tempvar temp = temp * (pow46 - pow913); + tempvar temp = temp * (pow46 - pow914); + tempvar temp = temp * (pow46 - pow915); + tempvar temp = temp * (pow46 - pow916); + tempvar temp = temp * (pow46 - pow917); + tempvar temp = temp * (pow46 - pow918); + tempvar temp = temp * (pow46 - pow919); + tempvar temp = temp * (pow46 - pow920); + tempvar temp = temp * (pow46 - pow944); + tempvar temp = temp * (pow46 - pow945); + tempvar temp = temp * (pow46 - pow946); + tempvar temp = temp * (pow46 - pow947); + tempvar temp = temp * (pow46 - pow948); + tempvar temp = temp * (pow46 - pow949); + tempvar temp = temp * (pow46 - pow950); + tempvar temp = temp * (pow46 - pow951); + tempvar temp = temp * (pow46 - pow952); + tempvar temp = temp * (pow46 - pow953); + tempvar temp = temp * (pow46 - pow954); + tempvar temp = temp * (pow46 - pow955); + tempvar temp = temp * (pow46 - pow956); + tempvar temp = temp * (pow46 - pow957); + tempvar temp = temp * (pow46 - pow958); + tempvar temp = temp * (pow46 - pow959); + tempvar temp = temp * (pow46 - pow983); + tempvar temp = temp * (pow46 - pow984); + tempvar temp = temp * (pow46 - pow985); + tempvar temp = temp * (pow46 - pow986); + tempvar temp = temp * (pow46 - pow987); + tempvar temp = temp * (pow46 - pow988); + tempvar temp = temp * (pow46 - pow989); + tempvar temp = temp * (pow46 - pow1156); + tempvar temp = temp * (pow46 - pow1180); + tempvar temp = temp * (pow46 - pow1181); + tempvar temp = temp * (pow46 - pow1182); + tempvar temp = temp * (pow46 - pow1183); + tempvar temp = temp * (pow46 - pow1184); + tempvar temp = temp * (pow46 - pow1185); + tempvar temp = temp * (pow46 - pow1186); + tempvar temp = temp * (pow46 - pow1187); + tempvar temp = temp * (pow46 - pow1188); + tempvar temp = temp * (pow46 - pow1189); + tempvar temp = temp * (pow46 - pow1190); + tempvar temp = temp * (pow46 - pow1191); + tempvar temp = temp * (pow46 - pow1192); + tempvar temp = temp * (pow46 - pow1193); + tempvar temp = temp * (pow46 - pow1194); + tempvar temp = temp * (pow46 - pow1195); + tempvar temp = temp * (pow46 - pow1219); + tempvar temp = temp * (pow46 - pow1220); + tempvar temp = temp * (pow46 - pow1221); + tempvar temp = temp * (pow46 - pow1222); + tempvar temp = temp * (pow46 - pow1223); + tempvar temp = temp * (pow46 - pow1224); + tempvar temp = temp * (pow46 - pow1225); + tempvar temp = temp * (pow46 - pow1226); + tempvar temp = temp * (pow46 - pow1250); + tempvar temp = temp * (pow46 - pow1251); + tempvar temp = temp * (pow46 - pow1252); + tempvar temp = temp * (pow46 - pow1253); + tempvar temp = temp * (pow46 - pow1254); + tempvar temp = temp * (pow46 - pow1255); + tempvar temp = temp * (pow46 - pow1256); + tempvar temp = temp * (pow46 - pow1257); + tempvar temp = temp * (pow46 - pow1258); + tempvar temp = temp * (pow46 - pow1259); + tempvar temp = temp * (pow46 - pow1260); + tempvar temp = temp * (pow46 - pow1261); + tempvar temp = temp * (pow46 - pow1262); + tempvar temp = temp * (pow46 - pow1263); + tempvar temp = temp * (pow46 - pow1264); + tempvar temp = temp * (pow46 - pow1265); + tempvar temp = temp * (pow46 - pow1289); + tempvar temp = temp * (pow46 - pow1290); + tempvar temp = temp * (pow46 - pow1291); + tempvar temp = temp * (pow46 - pow1292); + tempvar temp = temp * (pow46 - pow1293); + tempvar temp = temp * (pow46 - pow1294); + tempvar temp = temp * (pow46 - pow1295); + tempvar temp = temp * (pow46 - pow1462); + tempvar temp = temp * (pow46 - pow1486); + tempvar temp = temp * (pow46 - pow1487); + tempvar temp = temp * (pow46 - pow1488); + tempvar temp = temp * (pow46 - pow1489); + tempvar temp = temp * (pow46 - pow1490); + tempvar temp = temp * (pow46 - pow1491); + tempvar temp = temp * (pow46 - pow1492); + tempvar temp = temp * (pow46 - pow1493); + tempvar temp = temp * (pow46 - pow1494); + tempvar temp = temp * (pow46 - pow1495); + tempvar temp = temp * (pow46 - pow1496); + tempvar temp = temp * (pow46 - pow1497); + tempvar temp = temp * (pow46 - pow1498); + tempvar temp = temp * (pow46 - pow1499); + tempvar temp = temp * (pow46 - pow1500); + tempvar temp = temp * (pow46 - pow1501); + tempvar temp = temp * (pow46 - pow1525); + tempvar temp = temp * (pow46 - pow1526); + tempvar temp = temp * (pow46 - pow1527); + tempvar temp = temp * (pow46 - pow1528); + tempvar temp = temp * (pow46 - pow1529); + tempvar temp = temp * (pow46 - pow1530); + tempvar temp = temp * (pow46 - pow1531); + tempvar temp = temp * (pow46 - pow1532); + tempvar temp = temp * (pow46 - pow1556); + tempvar temp = temp * (pow46 - pow1557); + tempvar temp = temp * (pow46 - pow1558); + tempvar temp = temp * (pow46 - pow1559); + tempvar temp = temp * (pow46 - pow1560); + tempvar temp = temp * (pow46 - pow1561); + tempvar temp = temp * (pow46 - pow1562); + tempvar temp = temp * (pow46 - pow1563); + tempvar temp = temp * (pow46 - pow1564); + tempvar temp = temp * (pow46 - pow1565); + tempvar temp = temp * (pow46 - pow1566); + tempvar temp = temp * (pow46 - pow1567); + tempvar temp = temp * (pow46 - pow1568); + tempvar temp = temp * (pow46 - pow1569); + tempvar temp = temp * (pow46 - pow1570); + tempvar temp = temp * (pow46 - pow1571); + tempvar temp = temp * (pow46 - pow1595); + tempvar temp = temp * (pow46 - pow1596); + tempvar temp = temp * (pow46 - pow1597); + tempvar temp = temp * (pow46 - pow1598); + tempvar temp = temp * (pow46 - pow1599); + tempvar temp = temp * (pow46 - pow1600); + tempvar temp = temp * (pow46 - pow1601); + tempvar temp = temp * (pow46 - pow1697); + tempvar temp = temp * (pow46 - pow1698); + tempvar temp = temp * (pow46 - pow1699); + tempvar temp = temp * (pow46 - pow1700); + tempvar temp = temp * (pow46 - pow1701); + tempvar temp = temp * (pow46 - pow1702); + tempvar temp = temp * (pow46 - pow1703); + tempvar temp = temp * (pow46 - pow1704); + tempvar temp = temp * (pow46 - pow1705); + tempvar temp = temp * (pow46 - pow1706); + tempvar temp = temp * (pow46 - pow1707); + tempvar temp = temp * (pow46 - pow1708); + tempvar temp = temp * (pow46 - pow1709); + tempvar temp = temp * (pow46 - pow1710); + tempvar temp = temp * (pow46 - pow1711); + tempvar temp = temp * (pow46 - pow1712); + tempvar temp = temp * (pow46 - pow1713); + tempvar temp = temp * (pow46 - pow1714); + tempvar temp = temp * (pow46 - pow1715); + tempvar temp = temp * (pow46 - pow1716); + tempvar temp = temp * (pow46 - pow1717); + tempvar temp = temp * (pow46 - pow1718); + tempvar temp = temp * (pow46 - pow1719); + tempvar temp = temp * (pow46 - pow1720); + tempvar temp = temp * (pow46 - pow1721); + tempvar temp = temp * (pow46 - pow1722); + tempvar temp = temp * (pow46 - pow1723); + tempvar temp = temp * (pow46 - pow1724); + tempvar temp = temp * (pow46 - pow1725); + tempvar temp = temp * (pow46 - pow1726); + tempvar temp = temp * (pow46 - pow1727); + tempvar temp = temp * (pow46 - pow1728); + tempvar temp = temp * (pow46 - pow1729); + tempvar temp = temp * (pow46 - pow1730); + tempvar temp = temp * (pow46 - pow1731); + tempvar temp = temp * (pow46 - pow1732); + tempvar temp = temp * (pow46 - pow1733); + tempvar temp = temp * (pow46 - pow1734); + tempvar temp = temp * (pow46 - pow1735); + tempvar temp = temp * (pow46 - pow1736); + tempvar temp = temp * (pow46 - pow1737); + tempvar temp = temp * (pow46 - pow1738); + tempvar temp = temp * (pow46 - pow1739); + tempvar temp = temp * (pow46 - pow1740); + tempvar temp = temp * (pow46 - pow1741); + tempvar temp = temp * (pow46 - pow1742); + tempvar temp = temp * (pow46 - pow1743); + tempvar temp = temp * (pow46 - pow1744); + tempvar temp = temp * (pow46 - pow1911); + tempvar temp = temp * (pow46 - pow1935); + tempvar temp = temp * (pow46 - pow1936); + tempvar temp = temp * (pow46 - pow1937); + tempvar temp = temp * (pow46 - pow1938); + tempvar temp = temp * (pow46 - pow1939); + tempvar temp = temp * (pow46 - pow1940); + tempvar temp = temp * (pow46 - pow1941); + tempvar temp = temp * (pow46 - pow1942); + tempvar temp = temp * (pow46 - pow1943); + tempvar temp = temp * (pow46 - pow1944); + tempvar temp = temp * (pow46 - pow1945); + tempvar temp = temp * (pow46 - pow1946); + tempvar temp = temp * (pow46 - pow1947); + tempvar temp = temp * (pow46 - pow1948); + tempvar temp = temp * (pow46 - pow1949); + tempvar temp = temp * (pow46 - pow1950); + tempvar temp = temp * (pow46 - pow1974); + tempvar temp = temp * (pow46 - pow1975); + tempvar temp = temp * (pow46 - pow1976); + tempvar temp = temp * (pow46 - pow1977); + tempvar temp = temp * (pow46 - pow1978); + tempvar temp = temp * (pow46 - pow1979); + tempvar temp = temp * (pow46 - pow1980); + tempvar temp = temp * (pow46 - pow1981); + tempvar temp = temp * (pow46 - pow2005); + tempvar temp = temp * (pow46 - pow2006); + tempvar temp = temp * (pow46 - pow2007); + tempvar temp = temp * (pow46 - pow2008); + tempvar temp = temp * (pow46 - pow2009); + tempvar temp = temp * (pow46 - pow2010); + tempvar temp = temp * (pow46 - pow2011); + tempvar temp = temp * (pow46 - pow2012); + tempvar temp = temp * (pow46 - pow2013); + tempvar temp = temp * (pow46 - pow2014); + tempvar temp = temp * (pow46 - pow2015); + tempvar temp = temp * (pow46 - pow2016); + tempvar temp = temp * (pow46 - pow2017); + tempvar temp = temp * (pow46 - pow2018); + tempvar temp = temp * (pow46 - pow2019); + tempvar temp = temp * (pow46 - pow2020); + tempvar temp = temp * (pow46 - pow2044); + tempvar temp = temp * (pow46 - pow2045); + tempvar temp = temp * (pow46 - pow2046); + tempvar temp = temp * (pow46 - pow2047); + tempvar temp = temp * (pow46 - pow2048); + tempvar temp = temp * (pow46 - pow2049); + tempvar temp = temp * (pow46 - pow2050); + assert domain44 = temp * (domain43); + assert domain45 = pow45 - 1; + assert domain46 = pow44 - 1; + tempvar temp = pow44 - pow58; + assert domain47 = temp * (domain46); + tempvar temp = pow44 - pow51; + tempvar temp = temp * (pow44 - pow52); + tempvar temp = temp * (pow44 - pow53); + tempvar temp = temp * (pow44 - pow54); + tempvar temp = temp * (pow44 - pow55); + tempvar temp = temp * (pow44 - pow56); + tempvar temp = temp * (pow44 - pow57); + tempvar temp = temp * (pow44 - pow59); + tempvar temp = temp * (pow44 - pow60); + tempvar temp = temp * (pow44 - pow61); + tempvar temp = temp * (pow44 - pow62); + tempvar temp = temp * (pow44 - pow63); + tempvar temp = temp * (pow44 - pow64); + tempvar temp = temp * (pow44 - pow65); + assert domain48 = temp * (domain47); + tempvar temp = pow44 - pow66; + tempvar temp = temp * (pow44 - pow67); + tempvar temp = temp * (pow44 - pow68); + tempvar temp = temp * (pow44 - pow69); + tempvar temp = temp * (pow44 - pow70); + tempvar temp = temp * (pow44 - pow71); + assert domain49 = temp * (domain47); + tempvar temp = pow44 - pow72; + tempvar temp = temp * (pow44 - pow73); + tempvar temp = temp * (pow44 - pow74); + tempvar temp = temp * (pow44 - pow75); + tempvar temp = temp * (pow44 - pow76); + tempvar temp = temp * (pow44 - pow77); + tempvar temp = temp * (pow44 - pow78); + tempvar temp = temp * (pow44 - pow79); + tempvar temp = temp * (pow44 - pow80); + tempvar temp = temp * (pow44 - pow81); + tempvar temp = temp * (pow44 - pow82); + tempvar temp = temp * (pow44 - pow83); + tempvar temp = temp * (pow44 - pow84); + tempvar temp = temp * (pow44 - pow85); + tempvar temp = temp * (pow44 - pow86); + tempvar temp = temp * (pow44 - pow87); + assert domain50 = temp * (domain49); + tempvar temp = pow44 - pow88; + tempvar temp = temp * (pow44 - pow89); + tempvar temp = temp * (pow44 - pow90); + tempvar temp = temp * (pow44 - pow91); + tempvar temp = temp * (pow44 - pow92); + tempvar temp = temp * (pow44 - pow93); + assert domain51 = temp * (domain50); + tempvar temp = pow44 - pow94; + tempvar temp = temp * (pow44 - pow95); + assert domain52 = temp * (domain51); + tempvar temp = pow44 - pow96; + tempvar temp = temp * (pow44 - pow126); + tempvar temp = temp * (pow44 - pow156); + tempvar temp = temp * (pow44 - pow186); + tempvar temp = temp * (pow44 - pow216); + tempvar temp = temp * (pow44 - pow246); + tempvar temp = temp * (pow44 - pow276); + tempvar temp = temp * (pow44 - pow306); + tempvar temp = temp * (pow44 - pow336); + tempvar temp = temp * (pow44 - pow366); + tempvar temp = temp * (pow44 - pow396); + tempvar temp = temp * (pow44 - pow426); + tempvar temp = temp * (pow44 - pow456); + tempvar temp = temp * (pow44 - pow486); + tempvar temp = temp * (pow44 - pow516); + tempvar temp = temp * (pow44 - pow546); + tempvar temp = temp * (pow44 - pow576); + tempvar temp = temp * (pow44 - pow606); + tempvar temp = temp * (pow44 - pow636); + tempvar temp = temp * (pow44 - pow666); + tempvar temp = temp * (pow44 - pow696); + tempvar temp = temp * (pow44 - pow726); + tempvar temp = temp * (pow44 - pow756); + assert domain53 = temp * (pow44 - pow786); + tempvar temp = pow44 - pow97; + tempvar temp = temp * (pow44 - pow127); + tempvar temp = temp * (pow44 - pow157); + tempvar temp = temp * (pow44 - pow187); + tempvar temp = temp * (pow44 - pow217); + tempvar temp = temp * (pow44 - pow247); + tempvar temp = temp * (pow44 - pow277); + tempvar temp = temp * (pow44 - pow307); + tempvar temp = temp * (pow44 - pow337); + tempvar temp = temp * (pow44 - pow367); + tempvar temp = temp * (pow44 - pow397); + tempvar temp = temp * (pow44 - pow427); + tempvar temp = temp * (pow44 - pow457); + tempvar temp = temp * (pow44 - pow487); + tempvar temp = temp * (pow44 - pow517); + tempvar temp = temp * (pow44 - pow547); + tempvar temp = temp * (pow44 - pow577); + tempvar temp = temp * (pow44 - pow607); + tempvar temp = temp * (pow44 - pow637); + tempvar temp = temp * (pow44 - pow667); + tempvar temp = temp * (pow44 - pow697); + tempvar temp = temp * (pow44 - pow727); + tempvar temp = temp * (pow44 - pow757); + tempvar temp = temp * (pow44 - pow787); + assert domain54 = temp * (domain53); + tempvar temp = domain47; + assert domain55 = temp * (domain54); + tempvar temp = pow44 - pow98; + tempvar temp = temp * (pow44 - pow99); + tempvar temp = temp * (pow44 - pow100); + tempvar temp = temp * (pow44 - pow101); + tempvar temp = temp * (pow44 - pow102); + tempvar temp = temp * (pow44 - pow103); + tempvar temp = temp * (pow44 - pow104); + tempvar temp = temp * (pow44 - pow105); + tempvar temp = temp * (pow44 - pow106); + tempvar temp = temp * (pow44 - pow107); + tempvar temp = temp * (pow44 - pow108); + tempvar temp = temp * (pow44 - pow109); + tempvar temp = temp * (pow44 - pow110); + tempvar temp = temp * (pow44 - pow111); + tempvar temp = temp * (pow44 - pow112); + tempvar temp = temp * (pow44 - pow113); + tempvar temp = temp * (pow44 - pow114); + tempvar temp = temp * (pow44 - pow115); + tempvar temp = temp * (pow44 - pow116); + tempvar temp = temp * (pow44 - pow117); + tempvar temp = temp * (pow44 - pow118); + tempvar temp = temp * (pow44 - pow119); + tempvar temp = temp * (pow44 - pow120); + tempvar temp = temp * (pow44 - pow121); + tempvar temp = temp * (pow44 - pow122); + tempvar temp = temp * (pow44 - pow123); tempvar temp = temp * (pow44 - pow124); + tempvar temp = temp * (pow44 - pow125); + tempvar temp = temp * (pow44 - pow128); + tempvar temp = temp * (pow44 - pow129); + tempvar temp = temp * (pow44 - pow130); + tempvar temp = temp * (pow44 - pow131); + tempvar temp = temp * (pow44 - pow132); + tempvar temp = temp * (pow44 - pow133); + tempvar temp = temp * (pow44 - pow134); + tempvar temp = temp * (pow44 - pow135); + tempvar temp = temp * (pow44 - pow136); + tempvar temp = temp * (pow44 - pow137); + tempvar temp = temp * (pow44 - pow138); + tempvar temp = temp * (pow44 - pow139); + tempvar temp = temp * (pow44 - pow140); + tempvar temp = temp * (pow44 - pow141); + tempvar temp = temp * (pow44 - pow142); + tempvar temp = temp * (pow44 - pow143); + tempvar temp = temp * (pow44 - pow144); + tempvar temp = temp * (pow44 - pow145); + tempvar temp = temp * (pow44 - pow146); + tempvar temp = temp * (pow44 - pow147); + tempvar temp = temp * (pow44 - pow148); + tempvar temp = temp * (pow44 - pow149); + tempvar temp = temp * (pow44 - pow150); + tempvar temp = temp * (pow44 - pow151); + tempvar temp = temp * (pow44 - pow152); + tempvar temp = temp * (pow44 - pow153); + tempvar temp = temp * (pow44 - pow154); + tempvar temp = temp * (pow44 - pow155); + tempvar temp = temp * (pow44 - pow158); + tempvar temp = temp * (pow44 - pow159); + tempvar temp = temp * (pow44 - pow160); + tempvar temp = temp * (pow44 - pow161); + tempvar temp = temp * (pow44 - pow162); + tempvar temp = temp * (pow44 - pow163); + tempvar temp = temp * (pow44 - pow164); + tempvar temp = temp * (pow44 - pow165); + tempvar temp = temp * (pow44 - pow166); + tempvar temp = temp * (pow44 - pow167); + tempvar temp = temp * (pow44 - pow168); + tempvar temp = temp * (pow44 - pow169); + tempvar temp = temp * (pow44 - pow170); + tempvar temp = temp * (pow44 - pow171); + tempvar temp = temp * (pow44 - pow172); + tempvar temp = temp * (pow44 - pow173); + tempvar temp = temp * (pow44 - pow174); + tempvar temp = temp * (pow44 - pow175); + tempvar temp = temp * (pow44 - pow176); + tempvar temp = temp * (pow44 - pow177); + tempvar temp = temp * (pow44 - pow178); + tempvar temp = temp * (pow44 - pow179); + tempvar temp = temp * (pow44 - pow180); + tempvar temp = temp * (pow44 - pow181); + tempvar temp = temp * (pow44 - pow182); + tempvar temp = temp * (pow44 - pow183); tempvar temp = temp * (pow44 - pow184); + tempvar temp = temp * (pow44 - pow185); + tempvar temp = temp * (pow44 - pow188); + tempvar temp = temp * (pow44 - pow189); + tempvar temp = temp * (pow44 - pow190); + tempvar temp = temp * (pow44 - pow191); + tempvar temp = temp * (pow44 - pow192); + tempvar temp = temp * (pow44 - pow193); + tempvar temp = temp * (pow44 - pow194); + tempvar temp = temp * (pow44 - pow195); + tempvar temp = temp * (pow44 - pow196); + tempvar temp = temp * (pow44 - pow197); + tempvar temp = temp * (pow44 - pow198); + tempvar temp = temp * (pow44 - pow199); + tempvar temp = temp * (pow44 - pow200); + tempvar temp = temp * (pow44 - pow201); + tempvar temp = temp * (pow44 - pow202); + tempvar temp = temp * (pow44 - pow203); + tempvar temp = temp * (pow44 - pow204); + tempvar temp = temp * (pow44 - pow205); + tempvar temp = temp * (pow44 - pow206); + tempvar temp = temp * (pow44 - pow207); + tempvar temp = temp * (pow44 - pow208); + tempvar temp = temp * (pow44 - pow209); + tempvar temp = temp * (pow44 - pow210); + tempvar temp = temp * (pow44 - pow211); + tempvar temp = temp * (pow44 - pow212); + tempvar temp = temp * (pow44 - pow213); + tempvar temp = temp * (pow44 - pow214); + tempvar temp = temp * (pow44 - pow215); + tempvar temp = temp * (pow44 - pow218); + tempvar temp = temp * (pow44 - pow219); + tempvar temp = temp * (pow44 - pow220); + tempvar temp = temp * (pow44 - pow221); + tempvar temp = temp * (pow44 - pow222); + tempvar temp = temp * (pow44 - pow223); + tempvar temp = temp * (pow44 - pow224); + tempvar temp = temp * (pow44 - pow225); + tempvar temp = temp * (pow44 - pow226); + tempvar temp = temp * (pow44 - pow227); + tempvar temp = temp * (pow44 - pow228); + tempvar temp = temp * (pow44 - pow229); + tempvar temp = temp * (pow44 - pow230); + tempvar temp = temp * (pow44 - pow231); + tempvar temp = temp * (pow44 - pow232); + tempvar temp = temp * (pow44 - pow233); + tempvar temp = temp * (pow44 - pow234); + tempvar temp = temp * (pow44 - pow235); + tempvar temp = temp * (pow44 - pow236); + tempvar temp = temp * (pow44 - pow237); + tempvar temp = temp * (pow44 - pow238); + tempvar temp = temp * (pow44 - pow239); + tempvar temp = temp * (pow44 - pow240); + tempvar temp = temp * (pow44 - pow241); + tempvar temp = temp * (pow44 - pow242); + tempvar temp = temp * (pow44 - pow243); tempvar temp = temp * (pow44 - pow244); + tempvar temp = temp * (pow44 - pow245); + tempvar temp = temp * (pow44 - pow248); + tempvar temp = temp * (pow44 - pow249); + tempvar temp = temp * (pow44 - pow250); + tempvar temp = temp * (pow44 - pow251); + tempvar temp = temp * (pow44 - pow252); + tempvar temp = temp * (pow44 - pow253); + tempvar temp = temp * (pow44 - pow254); + tempvar temp = temp * (pow44 - pow255); + tempvar temp = temp * (pow44 - pow256); + tempvar temp = temp * (pow44 - pow257); + tempvar temp = temp * (pow44 - pow258); + tempvar temp = temp * (pow44 - pow259); + tempvar temp = temp * (pow44 - pow260); + tempvar temp = temp * (pow44 - pow261); + tempvar temp = temp * (pow44 - pow262); + tempvar temp = temp * (pow44 - pow263); + tempvar temp = temp * (pow44 - pow264); + tempvar temp = temp * (pow44 - pow265); + tempvar temp = temp * (pow44 - pow266); + tempvar temp = temp * (pow44 - pow267); + tempvar temp = temp * (pow44 - pow268); + tempvar temp = temp * (pow44 - pow269); + tempvar temp = temp * (pow44 - pow270); + tempvar temp = temp * (pow44 - pow271); + tempvar temp = temp * (pow44 - pow272); + tempvar temp = temp * (pow44 - pow273); + tempvar temp = temp * (pow44 - pow274); + tempvar temp = temp * (pow44 - pow275); + tempvar temp = temp * (pow44 - pow278); + tempvar temp = temp * (pow44 - pow279); + tempvar temp = temp * (pow44 - pow280); + tempvar temp = temp * (pow44 - pow281); + tempvar temp = temp * (pow44 - pow282); + tempvar temp = temp * (pow44 - pow283); + tempvar temp = temp * (pow44 - pow284); + tempvar temp = temp * (pow44 - pow285); + tempvar temp = temp * (pow44 - pow286); + tempvar temp = temp * (pow44 - pow287); + tempvar temp = temp * (pow44 - pow288); + tempvar temp = temp * (pow44 - pow289); + tempvar temp = temp * (pow44 - pow290); + tempvar temp = temp * (pow44 - pow291); + tempvar temp = temp * (pow44 - pow292); + tempvar temp = temp * (pow44 - pow293); + tempvar temp = temp * (pow44 - pow294); + tempvar temp = temp * (pow44 - pow295); + tempvar temp = temp * (pow44 - pow296); + tempvar temp = temp * (pow44 - pow297); + tempvar temp = temp * (pow44 - pow298); + tempvar temp = temp * (pow44 - pow299); + tempvar temp = temp * (pow44 - pow300); + tempvar temp = temp * (pow44 - pow301); + tempvar temp = temp * (pow44 - pow302); + tempvar temp = temp * (pow44 - pow303); tempvar temp = temp * (pow44 - pow304); + tempvar temp = temp * (pow44 - pow305); + tempvar temp = temp * (pow44 - pow308); + tempvar temp = temp * (pow44 - pow309); + tempvar temp = temp * (pow44 - pow310); + tempvar temp = temp * (pow44 - pow311); + tempvar temp = temp * (pow44 - pow312); + tempvar temp = temp * (pow44 - pow313); + tempvar temp = temp * (pow44 - pow314); + tempvar temp = temp * (pow44 - pow315); + tempvar temp = temp * (pow44 - pow316); + tempvar temp = temp * (pow44 - pow317); + tempvar temp = temp * (pow44 - pow318); + tempvar temp = temp * (pow44 - pow319); + tempvar temp = temp * (pow44 - pow320); + tempvar temp = temp * (pow44 - pow321); + tempvar temp = temp * (pow44 - pow322); + tempvar temp = temp * (pow44 - pow323); + tempvar temp = temp * (pow44 - pow324); + tempvar temp = temp * (pow44 - pow325); + tempvar temp = temp * (pow44 - pow326); + tempvar temp = temp * (pow44 - pow327); + tempvar temp = temp * (pow44 - pow328); + tempvar temp = temp * (pow44 - pow329); + tempvar temp = temp * (pow44 - pow330); + tempvar temp = temp * (pow44 - pow331); + tempvar temp = temp * (pow44 - pow332); + tempvar temp = temp * (pow44 - pow333); + tempvar temp = temp * (pow44 - pow334); + tempvar temp = temp * (pow44 - pow335); + tempvar temp = temp * (pow44 - pow338); + tempvar temp = temp * (pow44 - pow339); + tempvar temp = temp * (pow44 - pow340); + tempvar temp = temp * (pow44 - pow341); + tempvar temp = temp * (pow44 - pow342); + tempvar temp = temp * (pow44 - pow343); + tempvar temp = temp * (pow44 - pow344); + tempvar temp = temp * (pow44 - pow345); + tempvar temp = temp * (pow44 - pow346); + tempvar temp = temp * (pow44 - pow347); + tempvar temp = temp * (pow44 - pow348); + tempvar temp = temp * (pow44 - pow349); + tempvar temp = temp * (pow44 - pow350); + tempvar temp = temp * (pow44 - pow351); + tempvar temp = temp * (pow44 - pow352); + tempvar temp = temp * (pow44 - pow353); + tempvar temp = temp * (pow44 - pow354); + tempvar temp = temp * (pow44 - pow355); + tempvar temp = temp * (pow44 - pow356); + tempvar temp = temp * (pow44 - pow357); + tempvar temp = temp * (pow44 - pow358); + tempvar temp = temp * (pow44 - pow359); + tempvar temp = temp * (pow44 - pow360); + tempvar temp = temp * (pow44 - pow361); + tempvar temp = temp * (pow44 - pow362); + tempvar temp = temp * (pow44 - pow363); tempvar temp = temp * (pow44 - pow364); + tempvar temp = temp * (pow44 - pow365); + tempvar temp = temp * (pow44 - pow368); + tempvar temp = temp * (pow44 - pow369); + tempvar temp = temp * (pow44 - pow370); + tempvar temp = temp * (pow44 - pow371); + tempvar temp = temp * (pow44 - pow372); + tempvar temp = temp * (pow44 - pow373); + tempvar temp = temp * (pow44 - pow374); + tempvar temp = temp * (pow44 - pow375); + tempvar temp = temp * (pow44 - pow376); + tempvar temp = temp * (pow44 - pow377); + tempvar temp = temp * (pow44 - pow378); + tempvar temp = temp * (pow44 - pow379); + tempvar temp = temp * (pow44 - pow380); + tempvar temp = temp * (pow44 - pow381); + tempvar temp = temp * (pow44 - pow382); + tempvar temp = temp * (pow44 - pow383); + tempvar temp = temp * (pow44 - pow384); + tempvar temp = temp * (pow44 - pow385); + tempvar temp = temp * (pow44 - pow386); + tempvar temp = temp * (pow44 - pow387); + tempvar temp = temp * (pow44 - pow388); + tempvar temp = temp * (pow44 - pow389); + tempvar temp = temp * (pow44 - pow390); + tempvar temp = temp * (pow44 - pow391); + tempvar temp = temp * (pow44 - pow392); + tempvar temp = temp * (pow44 - pow393); + tempvar temp = temp * (pow44 - pow394); + tempvar temp = temp * (pow44 - pow395); + tempvar temp = temp * (pow44 - pow398); + tempvar temp = temp * (pow44 - pow399); + tempvar temp = temp * (pow44 - pow400); + tempvar temp = temp * (pow44 - pow401); + tempvar temp = temp * (pow44 - pow402); + tempvar temp = temp * (pow44 - pow403); + tempvar temp = temp * (pow44 - pow404); + tempvar temp = temp * (pow44 - pow405); + tempvar temp = temp * (pow44 - pow406); + tempvar temp = temp * (pow44 - pow407); + tempvar temp = temp * (pow44 - pow408); + tempvar temp = temp * (pow44 - pow409); + tempvar temp = temp * (pow44 - pow410); + tempvar temp = temp * (pow44 - pow411); + tempvar temp = temp * (pow44 - pow412); + tempvar temp = temp * (pow44 - pow413); + tempvar temp = temp * (pow44 - pow414); + tempvar temp = temp * (pow44 - pow415); + tempvar temp = temp * (pow44 - pow416); + tempvar temp = temp * (pow44 - pow417); + tempvar temp = temp * (pow44 - pow418); + tempvar temp = temp * (pow44 - pow419); + tempvar temp = temp * (pow44 - pow420); + tempvar temp = temp * (pow44 - pow421); + tempvar temp = temp * (pow44 - pow422); + tempvar temp = temp * (pow44 - pow423); tempvar temp = temp * (pow44 - pow424); - assert domain38 = temp * (pow44 - pow484); - tempvar temp = pow44 - pow544; + tempvar temp = temp * (pow44 - pow425); + tempvar temp = temp * (pow44 - pow428); + tempvar temp = temp * (pow44 - pow429); + tempvar temp = temp * (pow44 - pow430); + tempvar temp = temp * (pow44 - pow431); + tempvar temp = temp * (pow44 - pow432); + tempvar temp = temp * (pow44 - pow433); + tempvar temp = temp * (pow44 - pow434); + tempvar temp = temp * (pow44 - pow435); + tempvar temp = temp * (pow44 - pow436); + tempvar temp = temp * (pow44 - pow437); + tempvar temp = temp * (pow44 - pow438); + tempvar temp = temp * (pow44 - pow439); + tempvar temp = temp * (pow44 - pow440); + tempvar temp = temp * (pow44 - pow441); + tempvar temp = temp * (pow44 - pow442); + tempvar temp = temp * (pow44 - pow443); + tempvar temp = temp * (pow44 - pow444); + tempvar temp = temp * (pow44 - pow445); + tempvar temp = temp * (pow44 - pow446); + tempvar temp = temp * (pow44 - pow447); + tempvar temp = temp * (pow44 - pow448); + tempvar temp = temp * (pow44 - pow449); + tempvar temp = temp * (pow44 - pow450); + tempvar temp = temp * (pow44 - pow451); + tempvar temp = temp * (pow44 - pow452); + tempvar temp = temp * (pow44 - pow453); + tempvar temp = temp * (pow44 - pow454); + tempvar temp = temp * (pow44 - pow455); + tempvar temp = temp * (pow44 - pow458); + tempvar temp = temp * (pow44 - pow459); + tempvar temp = temp * (pow44 - pow460); + tempvar temp = temp * (pow44 - pow461); + tempvar temp = temp * (pow44 - pow462); + tempvar temp = temp * (pow44 - pow463); + tempvar temp = temp * (pow44 - pow464); + tempvar temp = temp * (pow44 - pow465); + tempvar temp = temp * (pow44 - pow466); + tempvar temp = temp * (pow44 - pow467); + tempvar temp = temp * (pow44 - pow468); + tempvar temp = temp * (pow44 - pow469); + tempvar temp = temp * (pow44 - pow470); + tempvar temp = temp * (pow44 - pow471); + tempvar temp = temp * (pow44 - pow472); + tempvar temp = temp * (pow44 - pow473); + tempvar temp = temp * (pow44 - pow474); + tempvar temp = temp * (pow44 - pow475); + tempvar temp = temp * (pow44 - pow476); + tempvar temp = temp * (pow44 - pow477); + tempvar temp = temp * (pow44 - pow478); + tempvar temp = temp * (pow44 - pow479); + tempvar temp = temp * (pow44 - pow480); + tempvar temp = temp * (pow44 - pow481); + tempvar temp = temp * (pow44 - pow482); + tempvar temp = temp * (pow44 - pow483); + tempvar temp = temp * (pow44 - pow484); + tempvar temp = temp * (pow44 - pow485); + tempvar temp = temp * (pow44 - pow488); + tempvar temp = temp * (pow44 - pow489); + tempvar temp = temp * (pow44 - pow490); + tempvar temp = temp * (pow44 - pow491); + tempvar temp = temp * (pow44 - pow492); + tempvar temp = temp * (pow44 - pow493); + tempvar temp = temp * (pow44 - pow494); + tempvar temp = temp * (pow44 - pow495); + tempvar temp = temp * (pow44 - pow496); + tempvar temp = temp * (pow44 - pow497); + tempvar temp = temp * (pow44 - pow498); + tempvar temp = temp * (pow44 - pow499); + tempvar temp = temp * (pow44 - pow500); + tempvar temp = temp * (pow44 - pow501); + tempvar temp = temp * (pow44 - pow502); + tempvar temp = temp * (pow44 - pow503); + tempvar temp = temp * (pow44 - pow504); + tempvar temp = temp * (pow44 - pow505); + tempvar temp = temp * (pow44 - pow506); + tempvar temp = temp * (pow44 - pow507); + tempvar temp = temp * (pow44 - pow508); + tempvar temp = temp * (pow44 - pow509); + tempvar temp = temp * (pow44 - pow510); + tempvar temp = temp * (pow44 - pow511); + tempvar temp = temp * (pow44 - pow512); + tempvar temp = temp * (pow44 - pow513); + tempvar temp = temp * (pow44 - pow514); + tempvar temp = temp * (pow44 - pow515); + tempvar temp = temp * (pow44 - pow518); + tempvar temp = temp * (pow44 - pow519); + tempvar temp = temp * (pow44 - pow520); + tempvar temp = temp * (pow44 - pow521); + tempvar temp = temp * (pow44 - pow522); + tempvar temp = temp * (pow44 - pow523); + tempvar temp = temp * (pow44 - pow524); + tempvar temp = temp * (pow44 - pow525); + tempvar temp = temp * (pow44 - pow526); + tempvar temp = temp * (pow44 - pow527); + tempvar temp = temp * (pow44 - pow528); + tempvar temp = temp * (pow44 - pow529); + tempvar temp = temp * (pow44 - pow530); + tempvar temp = temp * (pow44 - pow531); + tempvar temp = temp * (pow44 - pow532); + tempvar temp = temp * (pow44 - pow533); + tempvar temp = temp * (pow44 - pow534); + tempvar temp = temp * (pow44 - pow535); + tempvar temp = temp * (pow44 - pow536); + tempvar temp = temp * (pow44 - pow537); + tempvar temp = temp * (pow44 - pow538); + tempvar temp = temp * (pow44 - pow539); + tempvar temp = temp * (pow44 - pow540); + tempvar temp = temp * (pow44 - pow541); + tempvar temp = temp * (pow44 - pow542); + tempvar temp = temp * (pow44 - pow543); + tempvar temp = temp * (pow44 - pow544); + tempvar temp = temp * (pow44 - pow545); + tempvar temp = temp * (pow44 - pow548); + tempvar temp = temp * (pow44 - pow549); + tempvar temp = temp * (pow44 - pow550); + tempvar temp = temp * (pow44 - pow551); + tempvar temp = temp * (pow44 - pow552); + tempvar temp = temp * (pow44 - pow553); + tempvar temp = temp * (pow44 - pow554); + tempvar temp = temp * (pow44 - pow555); + tempvar temp = temp * (pow44 - pow556); + tempvar temp = temp * (pow44 - pow557); + tempvar temp = temp * (pow44 - pow558); + tempvar temp = temp * (pow44 - pow559); + tempvar temp = temp * (pow44 - pow560); + tempvar temp = temp * (pow44 - pow561); + tempvar temp = temp * (pow44 - pow562); + tempvar temp = temp * (pow44 - pow563); + tempvar temp = temp * (pow44 - pow564); + tempvar temp = temp * (pow44 - pow565); + tempvar temp = temp * (pow44 - pow566); + tempvar temp = temp * (pow44 - pow567); + tempvar temp = temp * (pow44 - pow568); + tempvar temp = temp * (pow44 - pow569); + tempvar temp = temp * (pow44 - pow570); + tempvar temp = temp * (pow44 - pow571); + tempvar temp = temp * (pow44 - pow572); + tempvar temp = temp * (pow44 - pow573); + tempvar temp = temp * (pow44 - pow574); + tempvar temp = temp * (pow44 - pow575); + tempvar temp = temp * (pow44 - pow578); + tempvar temp = temp * (pow44 - pow579); + tempvar temp = temp * (pow44 - pow580); + tempvar temp = temp * (pow44 - pow581); + tempvar temp = temp * (pow44 - pow582); + tempvar temp = temp * (pow44 - pow583); + tempvar temp = temp * (pow44 - pow584); + tempvar temp = temp * (pow44 - pow585); + tempvar temp = temp * (pow44 - pow586); + tempvar temp = temp * (pow44 - pow587); + tempvar temp = temp * (pow44 - pow588); + tempvar temp = temp * (pow44 - pow589); + tempvar temp = temp * (pow44 - pow590); + tempvar temp = temp * (pow44 - pow591); + tempvar temp = temp * (pow44 - pow592); + tempvar temp = temp * (pow44 - pow593); + tempvar temp = temp * (pow44 - pow594); + tempvar temp = temp * (pow44 - pow595); + tempvar temp = temp * (pow44 - pow596); + tempvar temp = temp * (pow44 - pow597); + tempvar temp = temp * (pow44 - pow598); + tempvar temp = temp * (pow44 - pow599); + tempvar temp = temp * (pow44 - pow600); + tempvar temp = temp * (pow44 - pow601); + tempvar temp = temp * (pow44 - pow602); + tempvar temp = temp * (pow44 - pow603); tempvar temp = temp * (pow44 - pow604); + tempvar temp = temp * (pow44 - pow605); + tempvar temp = temp * (pow44 - pow608); + tempvar temp = temp * (pow44 - pow609); + tempvar temp = temp * (pow44 - pow610); + tempvar temp = temp * (pow44 - pow611); + tempvar temp = temp * (pow44 - pow612); + tempvar temp = temp * (pow44 - pow613); + tempvar temp = temp * (pow44 - pow614); + tempvar temp = temp * (pow44 - pow615); + tempvar temp = temp * (pow44 - pow616); + tempvar temp = temp * (pow44 - pow617); + tempvar temp = temp * (pow44 - pow618); + tempvar temp = temp * (pow44 - pow619); + tempvar temp = temp * (pow44 - pow620); + tempvar temp = temp * (pow44 - pow621); + tempvar temp = temp * (pow44 - pow622); + tempvar temp = temp * (pow44 - pow623); + tempvar temp = temp * (pow44 - pow624); + tempvar temp = temp * (pow44 - pow625); + tempvar temp = temp * (pow44 - pow626); + tempvar temp = temp * (pow44 - pow627); + tempvar temp = temp * (pow44 - pow628); + tempvar temp = temp * (pow44 - pow629); + tempvar temp = temp * (pow44 - pow630); + tempvar temp = temp * (pow44 - pow631); + tempvar temp = temp * (pow44 - pow632); + tempvar temp = temp * (pow44 - pow633); + tempvar temp = temp * (pow44 - pow634); + tempvar temp = temp * (pow44 - pow635); + tempvar temp = temp * (pow44 - pow638); + tempvar temp = temp * (pow44 - pow639); + tempvar temp = temp * (pow44 - pow640); + tempvar temp = temp * (pow44 - pow641); + tempvar temp = temp * (pow44 - pow642); + tempvar temp = temp * (pow44 - pow643); + tempvar temp = temp * (pow44 - pow644); + tempvar temp = temp * (pow44 - pow645); + tempvar temp = temp * (pow44 - pow646); + tempvar temp = temp * (pow44 - pow647); + tempvar temp = temp * (pow44 - pow648); + tempvar temp = temp * (pow44 - pow649); + tempvar temp = temp * (pow44 - pow650); + tempvar temp = temp * (pow44 - pow651); + tempvar temp = temp * (pow44 - pow652); + tempvar temp = temp * (pow44 - pow653); + tempvar temp = temp * (pow44 - pow654); + tempvar temp = temp * (pow44 - pow655); + tempvar temp = temp * (pow44 - pow656); + tempvar temp = temp * (pow44 - pow657); + tempvar temp = temp * (pow44 - pow658); + tempvar temp = temp * (pow44 - pow659); + tempvar temp = temp * (pow44 - pow660); + tempvar temp = temp * (pow44 - pow661); + tempvar temp = temp * (pow44 - pow662); + tempvar temp = temp * (pow44 - pow663); tempvar temp = temp * (pow44 - pow664); + tempvar temp = temp * (pow44 - pow665); + tempvar temp = temp * (pow44 - pow668); + tempvar temp = temp * (pow44 - pow669); + tempvar temp = temp * (pow44 - pow670); + tempvar temp = temp * (pow44 - pow671); + tempvar temp = temp * (pow44 - pow672); + tempvar temp = temp * (pow44 - pow673); + tempvar temp = temp * (pow44 - pow674); + tempvar temp = temp * (pow44 - pow675); + tempvar temp = temp * (pow44 - pow676); + tempvar temp = temp * (pow44 - pow677); + tempvar temp = temp * (pow44 - pow678); + tempvar temp = temp * (pow44 - pow679); + tempvar temp = temp * (pow44 - pow680); + tempvar temp = temp * (pow44 - pow681); + tempvar temp = temp * (pow44 - pow682); + tempvar temp = temp * (pow44 - pow683); + tempvar temp = temp * (pow44 - pow684); + tempvar temp = temp * (pow44 - pow685); + tempvar temp = temp * (pow44 - pow686); + tempvar temp = temp * (pow44 - pow687); + tempvar temp = temp * (pow44 - pow688); + tempvar temp = temp * (pow44 - pow689); + tempvar temp = temp * (pow44 - pow690); + tempvar temp = temp * (pow44 - pow691); + tempvar temp = temp * (pow44 - pow692); + tempvar temp = temp * (pow44 - pow693); + tempvar temp = temp * (pow44 - pow694); + tempvar temp = temp * (pow44 - pow695); + tempvar temp = temp * (pow44 - pow698); + tempvar temp = temp * (pow44 - pow699); + tempvar temp = temp * (pow44 - pow700); + tempvar temp = temp * (pow44 - pow701); + tempvar temp = temp * (pow44 - pow702); + tempvar temp = temp * (pow44 - pow703); + tempvar temp = temp * (pow44 - pow704); + tempvar temp = temp * (pow44 - pow705); + tempvar temp = temp * (pow44 - pow706); + tempvar temp = temp * (pow44 - pow707); + tempvar temp = temp * (pow44 - pow708); + tempvar temp = temp * (pow44 - pow709); + tempvar temp = temp * (pow44 - pow710); + tempvar temp = temp * (pow44 - pow711); + tempvar temp = temp * (pow44 - pow712); + tempvar temp = temp * (pow44 - pow713); + tempvar temp = temp * (pow44 - pow714); + tempvar temp = temp * (pow44 - pow715); + tempvar temp = temp * (pow44 - pow716); + tempvar temp = temp * (pow44 - pow717); + tempvar temp = temp * (pow44 - pow718); + tempvar temp = temp * (pow44 - pow719); + tempvar temp = temp * (pow44 - pow720); + tempvar temp = temp * (pow44 - pow721); + tempvar temp = temp * (pow44 - pow722); + tempvar temp = temp * (pow44 - pow723); tempvar temp = temp * (pow44 - pow724); + tempvar temp = temp * (pow44 - pow725); + tempvar temp = temp * (pow44 - pow728); + tempvar temp = temp * (pow44 - pow729); + tempvar temp = temp * (pow44 - pow730); + tempvar temp = temp * (pow44 - pow731); + tempvar temp = temp * (pow44 - pow732); + tempvar temp = temp * (pow44 - pow733); + tempvar temp = temp * (pow44 - pow734); + tempvar temp = temp * (pow44 - pow735); + tempvar temp = temp * (pow44 - pow736); + tempvar temp = temp * (pow44 - pow737); + tempvar temp = temp * (pow44 - pow738); + tempvar temp = temp * (pow44 - pow739); + tempvar temp = temp * (pow44 - pow740); + tempvar temp = temp * (pow44 - pow741); + tempvar temp = temp * (pow44 - pow742); + tempvar temp = temp * (pow44 - pow743); + tempvar temp = temp * (pow44 - pow744); + tempvar temp = temp * (pow44 - pow745); + tempvar temp = temp * (pow44 - pow746); + tempvar temp = temp * (pow44 - pow747); + tempvar temp = temp * (pow44 - pow748); + tempvar temp = temp * (pow44 - pow749); + tempvar temp = temp * (pow44 - pow750); + tempvar temp = temp * (pow44 - pow751); + tempvar temp = temp * (pow44 - pow752); + tempvar temp = temp * (pow44 - pow753); + tempvar temp = temp * (pow44 - pow754); + tempvar temp = temp * (pow44 - pow755); + tempvar temp = temp * (pow44 - pow758); + tempvar temp = temp * (pow44 - pow759); + tempvar temp = temp * (pow44 - pow760); + tempvar temp = temp * (pow44 - pow761); + tempvar temp = temp * (pow44 - pow762); + tempvar temp = temp * (pow44 - pow763); + tempvar temp = temp * (pow44 - pow764); + tempvar temp = temp * (pow44 - pow765); + tempvar temp = temp * (pow44 - pow766); + tempvar temp = temp * (pow44 - pow767); + tempvar temp = temp * (pow44 - pow768); + tempvar temp = temp * (pow44 - pow769); + tempvar temp = temp * (pow44 - pow770); + tempvar temp = temp * (pow44 - pow771); + tempvar temp = temp * (pow44 - pow772); + tempvar temp = temp * (pow44 - pow773); + tempvar temp = temp * (pow44 - pow774); + tempvar temp = temp * (pow44 - pow775); + tempvar temp = temp * (pow44 - pow776); + tempvar temp = temp * (pow44 - pow777); + tempvar temp = temp * (pow44 - pow778); + tempvar temp = temp * (pow44 - pow779); + tempvar temp = temp * (pow44 - pow780); + tempvar temp = temp * (pow44 - pow781); + tempvar temp = temp * (pow44 - pow782); + tempvar temp = temp * (pow44 - pow783); tempvar temp = temp * (pow44 - pow784); + tempvar temp = temp * (pow44 - pow785); + tempvar temp = temp * (pow44 - pow788); + tempvar temp = temp * (pow44 - pow789); + tempvar temp = temp * (pow44 - pow790); + tempvar temp = temp * (pow44 - pow791); + tempvar temp = temp * (pow44 - pow792); + tempvar temp = temp * (pow44 - pow793); + tempvar temp = temp * (pow44 - pow794); + tempvar temp = temp * (pow44 - pow795); + tempvar temp = temp * (pow44 - pow796); + tempvar temp = temp * (pow44 - pow797); + tempvar temp = temp * (pow44 - pow798); + tempvar temp = temp * (pow44 - pow799); + tempvar temp = temp * (pow44 - pow800); + tempvar temp = temp * (pow44 - pow801); + tempvar temp = temp * (pow44 - pow802); + tempvar temp = temp * (pow44 - pow803); + tempvar temp = temp * (pow44 - pow804); + tempvar temp = temp * (pow44 - pow805); + tempvar temp = temp * (pow44 - pow806); + tempvar temp = temp * (pow44 - pow807); + tempvar temp = temp * (pow44 - pow808); + tempvar temp = temp * (pow44 - pow809); + tempvar temp = temp * (pow44 - pow810); + tempvar temp = temp * (pow44 - pow811); + tempvar temp = temp * (pow44 - pow812); + tempvar temp = temp * (pow44 - pow813); tempvar temp = temp * (pow44 - pow814); tempvar temp = temp * (pow44 - pow815); - tempvar temp = temp * (pow44 - pow816); - tempvar temp = temp * (pow44 - pow817); + tempvar temp = temp * (domain51); + assert domain56 = temp * (domain54); + tempvar temp = domain46; + assert domain57 = temp * (domain53); + assert domain58 = pow44 - pow2614; + tempvar temp = pow46 - pow2149; + tempvar temp = temp * (pow46 - pow2271); + tempvar temp = temp * (pow46 - pow2347); + tempvar temp = temp * (pow46 - pow2423); + tempvar temp = temp * (pow46 - pow2499); + tempvar temp = temp * (pow46 - pow2575); + tempvar temp = temp * (pow44 - pow2644); + tempvar temp = temp * (pow44 - pow2674); + tempvar temp = temp * (pow44 - pow2704); + tempvar temp = temp * (pow44 - pow2734); + tempvar temp = temp * (pow44 - pow2764); + tempvar temp = temp * (pow44 - pow2794); + tempvar temp = temp * (pow44 - pow2824); + tempvar temp = temp * (pow44 - pow2854); + tempvar temp = temp * (pow44 - pow2884); + tempvar temp = temp * (pow44 - pow2914); + tempvar temp = temp * (pow44 - pow2944); + tempvar temp = temp * (pow44 - pow2974); + tempvar temp = temp * (pow44 - pow3004); + tempvar temp = temp * (pow44 - pow3034); + tempvar temp = temp * (pow44 - pow3064); + tempvar temp = temp * (pow44 - pow3094); + tempvar temp = temp * (pow44 - pow3124); + tempvar temp = temp * (pow44 - pow3154); + tempvar temp = temp * (pow44 - pow3184); + tempvar temp = temp * (pow44 - pow3214); + tempvar temp = temp * (pow44 - pow3244); + tempvar temp = temp * (pow44 - pow3274); + tempvar temp = temp * (pow44 - pow3304); + tempvar temp = temp * (pow44 - pow3334); + assert domain59 = temp * (domain58); + assert domain60 = pow44 - pow2615; + tempvar temp = pow46 - pow2219; + tempvar temp = temp * (pow46 - pow2295); + tempvar temp = temp * (pow46 - pow2371); + tempvar temp = temp * (pow46 - pow2447); + tempvar temp = temp * (pow46 - pow2523); + tempvar temp = temp * (pow46 - pow2599); + tempvar temp = temp * (pow44 - pow2645); + tempvar temp = temp * (pow44 - pow2675); + tempvar temp = temp * (pow44 - pow2705); + tempvar temp = temp * (pow44 - pow2735); + tempvar temp = temp * (pow44 - pow2765); + tempvar temp = temp * (pow44 - pow2795); + tempvar temp = temp * (pow44 - pow2825); + tempvar temp = temp * (pow44 - pow2855); + tempvar temp = temp * (pow44 - pow2885); + tempvar temp = temp * (pow44 - pow2915); + tempvar temp = temp * (pow44 - pow2945); + tempvar temp = temp * (pow44 - pow2975); + tempvar temp = temp * (pow44 - pow3005); + tempvar temp = temp * (pow44 - pow3035); + tempvar temp = temp * (pow44 - pow3065); + tempvar temp = temp * (pow44 - pow3095); + tempvar temp = temp * (pow44 - pow3125); + tempvar temp = temp * (pow44 - pow3155); + tempvar temp = temp * (pow44 - pow3185); + tempvar temp = temp * (pow44 - pow3215); + tempvar temp = temp * (pow44 - pow3245); + tempvar temp = temp * (pow44 - pow3275); + tempvar temp = temp * (pow44 - pow3305); + tempvar temp = temp * (pow44 - pow3335); + tempvar temp = temp * (pow44 - pow3364); + tempvar temp = temp * (pow44 - pow3365); + tempvar temp = temp * (domain59); + assert domain61 = temp * (domain60); + tempvar temp = pow44 - pow2616; + tempvar temp = temp * (pow44 - pow2617); + tempvar temp = temp * (pow44 - pow2618); + tempvar temp = temp * (pow44 - pow2619); + tempvar temp = temp * (pow44 - pow2620); + assert domain62 = temp * (pow44 - pow2621); + tempvar temp = pow44 - pow2622; + tempvar temp = temp * (pow44 - pow2623); + tempvar temp = temp * (pow44 - pow2624); + tempvar temp = temp * (pow44 - pow2625); + tempvar temp = temp * (pow44 - pow2626); + tempvar temp = temp * (pow44 - pow2627); + tempvar temp = temp * (pow44 - pow2628); + tempvar temp = temp * (pow44 - pow2629); + tempvar temp = temp * (pow44 - pow2630); + tempvar temp = temp * (pow44 - pow2631); + tempvar temp = temp * (pow44 - pow2632); + tempvar temp = temp * (pow44 - pow2633); + tempvar temp = temp * (pow44 - pow2634); + tempvar temp = temp * (pow44 - pow2635); + tempvar temp = temp * (pow44 - pow2636); + tempvar temp = temp * (pow44 - pow2637); + assert domain63 = temp * (domain62); + tempvar temp = pow48 - pow2499; + tempvar temp = temp * (pow48 - pow2575); + tempvar temp = temp * (pow46 - pow2220); + tempvar temp = temp * (pow46 - pow2221); + tempvar temp = temp * (pow46 - pow2222); + tempvar temp = temp * (pow46 - pow2223); + tempvar temp = temp * (pow46 - pow2224); + tempvar temp = temp * (pow46 - pow2225); + tempvar temp = temp * (pow46 - pow2226); + tempvar temp = temp * (pow46 - pow2227); + tempvar temp = temp * (pow46 - pow2228); + tempvar temp = temp * (pow46 - pow2229); + tempvar temp = temp * (pow46 - pow2230); + tempvar temp = temp * (pow46 - pow2231); + tempvar temp = temp * (pow46 - pow2232); + tempvar temp = temp * (pow46 - pow2233); + tempvar temp = temp * (pow46 - pow2234); + tempvar temp = temp * (pow46 - pow2258); + tempvar temp = temp * (pow46 - pow2259); + tempvar temp = temp * (pow46 - pow2260); + tempvar temp = temp * (pow46 - pow2261); + tempvar temp = temp * (pow46 - pow2262); + tempvar temp = temp * (pow46 - pow2263); + tempvar temp = temp * (pow46 - pow2264); + tempvar temp = temp * (pow46 - pow2265); + tempvar temp = temp * (pow46 - pow2266); + tempvar temp = temp * (pow46 - pow2267); + tempvar temp = temp * (pow46 - pow2268); + tempvar temp = temp * (pow46 - pow2269); + tempvar temp = temp * (pow46 - pow2270); + tempvar temp = temp * (pow46 - pow2296); + tempvar temp = temp * (pow46 - pow2297); + tempvar temp = temp * (pow46 - pow2298); + tempvar temp = temp * (pow46 - pow2299); + tempvar temp = temp * (pow46 - pow2300); + tempvar temp = temp * (pow46 - pow2301); + tempvar temp = temp * (pow46 - pow2302); + tempvar temp = temp * (pow46 - pow2303); + tempvar temp = temp * (pow46 - pow2304); + tempvar temp = temp * (pow46 - pow2305); + tempvar temp = temp * (pow46 - pow2306); + tempvar temp = temp * (pow46 - pow2307); + tempvar temp = temp * (pow46 - pow2308); + tempvar temp = temp * (pow46 - pow2309); + tempvar temp = temp * (pow46 - pow2310); + tempvar temp = temp * (pow46 - pow2334); + tempvar temp = temp * (pow46 - pow2335); + tempvar temp = temp * (pow46 - pow2336); + tempvar temp = temp * (pow46 - pow2337); + tempvar temp = temp * (pow46 - pow2338); + tempvar temp = temp * (pow46 - pow2339); + tempvar temp = temp * (pow46 - pow2340); + tempvar temp = temp * (pow46 - pow2341); + tempvar temp = temp * (pow46 - pow2342); + tempvar temp = temp * (pow46 - pow2343); + tempvar temp = temp * (pow46 - pow2344); + tempvar temp = temp * (pow46 - pow2345); + tempvar temp = temp * (pow46 - pow2346); + tempvar temp = temp * (pow46 - pow2372); + tempvar temp = temp * (pow46 - pow2373); + tempvar temp = temp * (pow46 - pow2374); + tempvar temp = temp * (pow46 - pow2375); + tempvar temp = temp * (pow46 - pow2376); + tempvar temp = temp * (pow46 - pow2377); + tempvar temp = temp * (pow46 - pow2378); + tempvar temp = temp * (pow46 - pow2379); + tempvar temp = temp * (pow46 - pow2380); + tempvar temp = temp * (pow46 - pow2381); + tempvar temp = temp * (pow46 - pow2382); + tempvar temp = temp * (pow46 - pow2383); + tempvar temp = temp * (pow46 - pow2384); + tempvar temp = temp * (pow46 - pow2385); + tempvar temp = temp * (pow46 - pow2386); + tempvar temp = temp * (pow46 - pow2410); + tempvar temp = temp * (pow46 - pow2411); + tempvar temp = temp * (pow46 - pow2412); + tempvar temp = temp * (pow46 - pow2413); + tempvar temp = temp * (pow46 - pow2414); + tempvar temp = temp * (pow46 - pow2415); + tempvar temp = temp * (pow46 - pow2416); + tempvar temp = temp * (pow46 - pow2417); + tempvar temp = temp * (pow46 - pow2418); + tempvar temp = temp * (pow46 - pow2419); + tempvar temp = temp * (pow46 - pow2420); + tempvar temp = temp * (pow46 - pow2421); + tempvar temp = temp * (pow46 - pow2422); + tempvar temp = temp * (pow46 - pow2448); + tempvar temp = temp * (pow46 - pow2449); + tempvar temp = temp * (pow46 - pow2450); + tempvar temp = temp * (pow46 - pow2451); + tempvar temp = temp * (pow46 - pow2452); + tempvar temp = temp * (pow46 - pow2453); + tempvar temp = temp * (pow46 - pow2454); + tempvar temp = temp * (pow46 - pow2455); + tempvar temp = temp * (pow46 - pow2456); + tempvar temp = temp * (pow46 - pow2457); + tempvar temp = temp * (pow46 - pow2458); + tempvar temp = temp * (pow46 - pow2459); + tempvar temp = temp * (pow46 - pow2460); + tempvar temp = temp * (pow46 - pow2461); + tempvar temp = temp * (pow46 - pow2462); + tempvar temp = temp * (pow46 - pow2486); + tempvar temp = temp * (pow46 - pow2487); + tempvar temp = temp * (pow46 - pow2488); + tempvar temp = temp * (pow46 - pow2489); + tempvar temp = temp * (pow46 - pow2490); + tempvar temp = temp * (pow46 - pow2491); + tempvar temp = temp * (pow46 - pow2492); + tempvar temp = temp * (pow46 - pow2493); + tempvar temp = temp * (pow46 - pow2494); + tempvar temp = temp * (pow46 - pow2495); + tempvar temp = temp * (pow46 - pow2496); + tempvar temp = temp * (pow46 - pow2497); + tempvar temp = temp * (pow46 - pow2498); + tempvar temp = temp * (pow46 - pow2524); + tempvar temp = temp * (pow46 - pow2525); + tempvar temp = temp * (pow46 - pow2526); + tempvar temp = temp * (pow46 - pow2527); + tempvar temp = temp * (pow46 - pow2528); + tempvar temp = temp * (pow46 - pow2529); + tempvar temp = temp * (pow46 - pow2530); + tempvar temp = temp * (pow46 - pow2531); + tempvar temp = temp * (pow46 - pow2532); + tempvar temp = temp * (pow46 - pow2533); + tempvar temp = temp * (pow46 - pow2534); + tempvar temp = temp * (pow46 - pow2535); + tempvar temp = temp * (pow46 - pow2536); + tempvar temp = temp * (pow46 - pow2537); + tempvar temp = temp * (pow46 - pow2538); + tempvar temp = temp * (pow46 - pow2562); + tempvar temp = temp * (pow46 - pow2563); + tempvar temp = temp * (pow46 - pow2564); + tempvar temp = temp * (pow46 - pow2565); + tempvar temp = temp * (pow46 - pow2566); + tempvar temp = temp * (pow46 - pow2567); + tempvar temp = temp * (pow46 - pow2568); + tempvar temp = temp * (pow46 - pow2569); + tempvar temp = temp * (pow46 - pow2570); + tempvar temp = temp * (pow46 - pow2571); + tempvar temp = temp * (pow46 - pow2572); + tempvar temp = temp * (pow46 - pow2573); + tempvar temp = temp * (pow46 - pow2574); + tempvar temp = temp * (pow46 - pow2600); + tempvar temp = temp * (pow46 - pow2601); + tempvar temp = temp * (pow46 - pow2602); + tempvar temp = temp * (pow46 - pow2603); + tempvar temp = temp * (pow46 - pow2604); + tempvar temp = temp * (pow46 - pow2605); + tempvar temp = temp * (pow46 - pow2606); + tempvar temp = temp * (pow46 - pow2607); + tempvar temp = temp * (pow46 - pow2608); + tempvar temp = temp * (pow46 - pow2609); + tempvar temp = temp * (pow46 - pow2610); + tempvar temp = temp * (pow46 - pow2611); + tempvar temp = temp * (pow46 - pow2612); + tempvar temp = temp * (pow46 - pow2613); + tempvar temp = temp * (pow46 - pow2614); + tempvar temp = temp * (pow46 - pow2674); + tempvar temp = temp * (pow46 - pow2734); + tempvar temp = temp * (pow46 - pow2794); + tempvar temp = temp * (pow46 - pow2854); + tempvar temp = temp * (pow46 - pow2914); + tempvar temp = temp * (pow46 - pow2974); + tempvar temp = temp * (pow46 - pow3034); + tempvar temp = temp * (pow46 - pow3094); + tempvar temp = temp * (pow46 - pow3154); + tempvar temp = temp * (pow46 - pow3214); + tempvar temp = temp * (pow46 - pow3274); + tempvar temp = temp * (pow46 - pow3334); + tempvar temp = temp * (pow46 - pow3394); + tempvar temp = temp * (pow44 - pow2638); + tempvar temp = temp * (pow44 - pow2639); + tempvar temp = temp * (pow44 - pow2640); + tempvar temp = temp * (pow44 - pow2641); + tempvar temp = temp * (pow44 - pow2642); + tempvar temp = temp * (pow44 - pow2643); + tempvar temp = temp * (pow44 - pow2646); + tempvar temp = temp * (pow44 - pow2647); + tempvar temp = temp * (pow44 - pow2648); + tempvar temp = temp * (pow44 - pow2649); + tempvar temp = temp * (pow44 - pow2650); + tempvar temp = temp * (pow44 - pow2651); + tempvar temp = temp * (pow44 - pow2652); + tempvar temp = temp * (pow44 - pow2653); + tempvar temp = temp * (pow44 - pow2654); + tempvar temp = temp * (pow44 - pow2655); + tempvar temp = temp * (pow44 - pow2656); + tempvar temp = temp * (pow44 - pow2657); + tempvar temp = temp * (pow44 - pow2658); + tempvar temp = temp * (pow44 - pow2659); + tempvar temp = temp * (pow44 - pow2660); + tempvar temp = temp * (pow44 - pow2661); + tempvar temp = temp * (pow44 - pow2662); + tempvar temp = temp * (pow44 - pow2663); + tempvar temp = temp * (pow44 - pow2664); + tempvar temp = temp * (pow44 - pow2665); + tempvar temp = temp * (pow44 - pow2666); + tempvar temp = temp * (pow44 - pow2667); + tempvar temp = temp * (pow44 - pow2668); + tempvar temp = temp * (pow44 - pow2669); + tempvar temp = temp * (pow44 - pow2670); + tempvar temp = temp * (pow44 - pow2671); + tempvar temp = temp * (pow44 - pow2672); + tempvar temp = temp * (pow44 - pow2673); + tempvar temp = temp * (pow44 - pow2676); + tempvar temp = temp * (pow44 - pow2677); + tempvar temp = temp * (pow44 - pow2678); + tempvar temp = temp * (pow44 - pow2679); + tempvar temp = temp * (pow44 - pow2680); + tempvar temp = temp * (pow44 - pow2681); + tempvar temp = temp * (pow44 - pow2682); + tempvar temp = temp * (pow44 - pow2683); + tempvar temp = temp * (pow44 - pow2684); + tempvar temp = temp * (pow44 - pow2685); + tempvar temp = temp * (pow44 - pow2686); + tempvar temp = temp * (pow44 - pow2687); + tempvar temp = temp * (pow44 - pow2688); + tempvar temp = temp * (pow44 - pow2689); + tempvar temp = temp * (pow44 - pow2690); + tempvar temp = temp * (pow44 - pow2691); + tempvar temp = temp * (pow44 - pow2692); + tempvar temp = temp * (pow44 - pow2693); + tempvar temp = temp * (pow44 - pow2694); + tempvar temp = temp * (pow44 - pow2695); + tempvar temp = temp * (pow44 - pow2696); + tempvar temp = temp * (pow44 - pow2697); + tempvar temp = temp * (pow44 - pow2698); + tempvar temp = temp * (pow44 - pow2699); + tempvar temp = temp * (pow44 - pow2700); + tempvar temp = temp * (pow44 - pow2701); + tempvar temp = temp * (pow44 - pow2702); + tempvar temp = temp * (pow44 - pow2703); + tempvar temp = temp * (pow44 - pow2706); + tempvar temp = temp * (pow44 - pow2707); + tempvar temp = temp * (pow44 - pow2708); + tempvar temp = temp * (pow44 - pow2709); + tempvar temp = temp * (pow44 - pow2710); + tempvar temp = temp * (pow44 - pow2711); + tempvar temp = temp * (pow44 - pow2712); + tempvar temp = temp * (pow44 - pow2713); + tempvar temp = temp * (pow44 - pow2714); + tempvar temp = temp * (pow44 - pow2715); + tempvar temp = temp * (pow44 - pow2716); + tempvar temp = temp * (pow44 - pow2717); + tempvar temp = temp * (pow44 - pow2718); + tempvar temp = temp * (pow44 - pow2719); + tempvar temp = temp * (pow44 - pow2720); + tempvar temp = temp * (pow44 - pow2721); + tempvar temp = temp * (pow44 - pow2722); + tempvar temp = temp * (pow44 - pow2723); + tempvar temp = temp * (pow44 - pow2724); + tempvar temp = temp * (pow44 - pow2725); + tempvar temp = temp * (pow44 - pow2726); + tempvar temp = temp * (pow44 - pow2727); + tempvar temp = temp * (pow44 - pow2728); + tempvar temp = temp * (pow44 - pow2729); + tempvar temp = temp * (pow44 - pow2730); + tempvar temp = temp * (pow44 - pow2731); + tempvar temp = temp * (pow44 - pow2732); + tempvar temp = temp * (pow44 - pow2733); + tempvar temp = temp * (pow44 - pow2736); + tempvar temp = temp * (pow44 - pow2737); + tempvar temp = temp * (pow44 - pow2738); + tempvar temp = temp * (pow44 - pow2739); + tempvar temp = temp * (pow44 - pow2740); + tempvar temp = temp * (pow44 - pow2741); + tempvar temp = temp * (pow44 - pow2742); + tempvar temp = temp * (pow44 - pow2743); + tempvar temp = temp * (pow44 - pow2744); + tempvar temp = temp * (pow44 - pow2745); + tempvar temp = temp * (pow44 - pow2746); + tempvar temp = temp * (pow44 - pow2747); + tempvar temp = temp * (pow44 - pow2748); + tempvar temp = temp * (pow44 - pow2749); + tempvar temp = temp * (pow44 - pow2750); + tempvar temp = temp * (pow44 - pow2751); + tempvar temp = temp * (pow44 - pow2752); + tempvar temp = temp * (pow44 - pow2753); + tempvar temp = temp * (pow44 - pow2754); + tempvar temp = temp * (pow44 - pow2755); + tempvar temp = temp * (pow44 - pow2756); + tempvar temp = temp * (pow44 - pow2757); + tempvar temp = temp * (pow44 - pow2758); + tempvar temp = temp * (pow44 - pow2759); + tempvar temp = temp * (pow44 - pow2760); + tempvar temp = temp * (pow44 - pow2761); + tempvar temp = temp * (pow44 - pow2762); + tempvar temp = temp * (pow44 - pow2763); + tempvar temp = temp * (pow44 - pow2766); + tempvar temp = temp * (pow44 - pow2767); + tempvar temp = temp * (pow44 - pow2768); + tempvar temp = temp * (pow44 - pow2769); + tempvar temp = temp * (pow44 - pow2770); + tempvar temp = temp * (pow44 - pow2771); + tempvar temp = temp * (pow44 - pow2772); + tempvar temp = temp * (pow44 - pow2773); + tempvar temp = temp * (pow44 - pow2774); + tempvar temp = temp * (pow44 - pow2775); + tempvar temp = temp * (pow44 - pow2776); + tempvar temp = temp * (pow44 - pow2777); + tempvar temp = temp * (pow44 - pow2778); + tempvar temp = temp * (pow44 - pow2779); + tempvar temp = temp * (pow44 - pow2780); + tempvar temp = temp * (pow44 - pow2781); + tempvar temp = temp * (pow44 - pow2782); + tempvar temp = temp * (pow44 - pow2783); + tempvar temp = temp * (pow44 - pow2784); + tempvar temp = temp * (pow44 - pow2785); + tempvar temp = temp * (pow44 - pow2786); + tempvar temp = temp * (pow44 - pow2787); + tempvar temp = temp * (pow44 - pow2788); + tempvar temp = temp * (pow44 - pow2789); + tempvar temp = temp * (pow44 - pow2790); + tempvar temp = temp * (pow44 - pow2791); + tempvar temp = temp * (pow44 - pow2792); + tempvar temp = temp * (pow44 - pow2793); + tempvar temp = temp * (pow44 - pow2796); + tempvar temp = temp * (pow44 - pow2797); + tempvar temp = temp * (pow44 - pow2798); + tempvar temp = temp * (pow44 - pow2799); + tempvar temp = temp * (pow44 - pow2800); + tempvar temp = temp * (pow44 - pow2801); + tempvar temp = temp * (pow44 - pow2802); + tempvar temp = temp * (pow44 - pow2803); + tempvar temp = temp * (pow44 - pow2804); + tempvar temp = temp * (pow44 - pow2805); + tempvar temp = temp * (pow44 - pow2806); + tempvar temp = temp * (pow44 - pow2807); + tempvar temp = temp * (pow44 - pow2808); + tempvar temp = temp * (pow44 - pow2809); + tempvar temp = temp * (pow44 - pow2810); + tempvar temp = temp * (pow44 - pow2811); + tempvar temp = temp * (pow44 - pow2812); + tempvar temp = temp * (pow44 - pow2813); + tempvar temp = temp * (pow44 - pow2814); + tempvar temp = temp * (pow44 - pow2815); + tempvar temp = temp * (pow44 - pow2816); + tempvar temp = temp * (pow44 - pow2817); + tempvar temp = temp * (pow44 - pow2818); + tempvar temp = temp * (pow44 - pow2819); + tempvar temp = temp * (pow44 - pow2820); + tempvar temp = temp * (pow44 - pow2821); + tempvar temp = temp * (pow44 - pow2822); + tempvar temp = temp * (pow44 - pow2823); + tempvar temp = temp * (pow44 - pow2826); + tempvar temp = temp * (pow44 - pow2827); + tempvar temp = temp * (pow44 - pow2828); + tempvar temp = temp * (pow44 - pow2829); + tempvar temp = temp * (pow44 - pow2830); + tempvar temp = temp * (pow44 - pow2831); + tempvar temp = temp * (pow44 - pow2832); + tempvar temp = temp * (pow44 - pow2833); + tempvar temp = temp * (pow44 - pow2834); + tempvar temp = temp * (pow44 - pow2835); + tempvar temp = temp * (pow44 - pow2836); + tempvar temp = temp * (pow44 - pow2837); + tempvar temp = temp * (pow44 - pow2838); + tempvar temp = temp * (pow44 - pow2839); + tempvar temp = temp * (pow44 - pow2840); + tempvar temp = temp * (pow44 - pow2841); + tempvar temp = temp * (pow44 - pow2842); + tempvar temp = temp * (pow44 - pow2843); + tempvar temp = temp * (pow44 - pow2844); + tempvar temp = temp * (pow44 - pow2845); + tempvar temp = temp * (pow44 - pow2846); + tempvar temp = temp * (pow44 - pow2847); + tempvar temp = temp * (pow44 - pow2848); + tempvar temp = temp * (pow44 - pow2849); + tempvar temp = temp * (pow44 - pow2850); + tempvar temp = temp * (pow44 - pow2851); + tempvar temp = temp * (pow44 - pow2852); + tempvar temp = temp * (pow44 - pow2853); + tempvar temp = temp * (pow44 - pow2856); + tempvar temp = temp * (pow44 - pow2857); + tempvar temp = temp * (pow44 - pow2858); + tempvar temp = temp * (pow44 - pow2859); + tempvar temp = temp * (pow44 - pow2860); + tempvar temp = temp * (pow44 - pow2861); + tempvar temp = temp * (pow44 - pow2862); + tempvar temp = temp * (pow44 - pow2863); + tempvar temp = temp * (pow44 - pow2864); + tempvar temp = temp * (pow44 - pow2865); + tempvar temp = temp * (pow44 - pow2866); + tempvar temp = temp * (pow44 - pow2867); + tempvar temp = temp * (pow44 - pow2868); + tempvar temp = temp * (pow44 - pow2869); + tempvar temp = temp * (pow44 - pow2870); + tempvar temp = temp * (pow44 - pow2871); + tempvar temp = temp * (pow44 - pow2872); + tempvar temp = temp * (pow44 - pow2873); + tempvar temp = temp * (pow44 - pow2874); + tempvar temp = temp * (pow44 - pow2875); + tempvar temp = temp * (pow44 - pow2876); + tempvar temp = temp * (pow44 - pow2877); + tempvar temp = temp * (pow44 - pow2878); + tempvar temp = temp * (pow44 - pow2879); + tempvar temp = temp * (pow44 - pow2880); + tempvar temp = temp * (pow44 - pow2881); + tempvar temp = temp * (pow44 - pow2882); + tempvar temp = temp * (pow44 - pow2883); + tempvar temp = temp * (pow44 - pow2886); + tempvar temp = temp * (pow44 - pow2887); + tempvar temp = temp * (pow44 - pow2888); + tempvar temp = temp * (pow44 - pow2889); + tempvar temp = temp * (pow44 - pow2890); + tempvar temp = temp * (pow44 - pow2891); + tempvar temp = temp * (pow44 - pow2892); + tempvar temp = temp * (pow44 - pow2893); + tempvar temp = temp * (pow44 - pow2894); + tempvar temp = temp * (pow44 - pow2895); + tempvar temp = temp * (pow44 - pow2896); + tempvar temp = temp * (pow44 - pow2897); + tempvar temp = temp * (pow44 - pow2898); + tempvar temp = temp * (pow44 - pow2899); + tempvar temp = temp * (pow44 - pow2900); + tempvar temp = temp * (pow44 - pow2901); + tempvar temp = temp * (pow44 - pow2902); + tempvar temp = temp * (pow44 - pow2903); + tempvar temp = temp * (pow44 - pow2904); + tempvar temp = temp * (pow44 - pow2905); + tempvar temp = temp * (pow44 - pow2906); + tempvar temp = temp * (pow44 - pow2907); + tempvar temp = temp * (pow44 - pow2908); + tempvar temp = temp * (pow44 - pow2909); + tempvar temp = temp * (pow44 - pow2910); + tempvar temp = temp * (pow44 - pow2911); + tempvar temp = temp * (pow44 - pow2912); + tempvar temp = temp * (pow44 - pow2913); + tempvar temp = temp * (pow44 - pow2916); + tempvar temp = temp * (pow44 - pow2917); + tempvar temp = temp * (pow44 - pow2918); + tempvar temp = temp * (pow44 - pow2919); + tempvar temp = temp * (pow44 - pow2920); + tempvar temp = temp * (pow44 - pow2921); + tempvar temp = temp * (pow44 - pow2922); + tempvar temp = temp * (pow44 - pow2923); + tempvar temp = temp * (pow44 - pow2924); + tempvar temp = temp * (pow44 - pow2925); + tempvar temp = temp * (pow44 - pow2926); + tempvar temp = temp * (pow44 - pow2927); + tempvar temp = temp * (pow44 - pow2928); + tempvar temp = temp * (pow44 - pow2929); + tempvar temp = temp * (pow44 - pow2930); + tempvar temp = temp * (pow44 - pow2931); + tempvar temp = temp * (pow44 - pow2932); + tempvar temp = temp * (pow44 - pow2933); + tempvar temp = temp * (pow44 - pow2934); + tempvar temp = temp * (pow44 - pow2935); + tempvar temp = temp * (pow44 - pow2936); + tempvar temp = temp * (pow44 - pow2937); + tempvar temp = temp * (pow44 - pow2938); + tempvar temp = temp * (pow44 - pow2939); + tempvar temp = temp * (pow44 - pow2940); + tempvar temp = temp * (pow44 - pow2941); + tempvar temp = temp * (pow44 - pow2942); + tempvar temp = temp * (pow44 - pow2943); + tempvar temp = temp * (pow44 - pow2946); + tempvar temp = temp * (pow44 - pow2947); + tempvar temp = temp * (pow44 - pow2948); + tempvar temp = temp * (pow44 - pow2949); + tempvar temp = temp * (pow44 - pow2950); + tempvar temp = temp * (pow44 - pow2951); + tempvar temp = temp * (pow44 - pow2952); + tempvar temp = temp * (pow44 - pow2953); + tempvar temp = temp * (pow44 - pow2954); + tempvar temp = temp * (pow44 - pow2955); + tempvar temp = temp * (pow44 - pow2956); + tempvar temp = temp * (pow44 - pow2957); + tempvar temp = temp * (pow44 - pow2958); + tempvar temp = temp * (pow44 - pow2959); + tempvar temp = temp * (pow44 - pow2960); + tempvar temp = temp * (pow44 - pow2961); + tempvar temp = temp * (pow44 - pow2962); + tempvar temp = temp * (pow44 - pow2963); + tempvar temp = temp * (pow44 - pow2964); + tempvar temp = temp * (pow44 - pow2965); + tempvar temp = temp * (pow44 - pow2966); + tempvar temp = temp * (pow44 - pow2967); + tempvar temp = temp * (pow44 - pow2968); + tempvar temp = temp * (pow44 - pow2969); + tempvar temp = temp * (pow44 - pow2970); + tempvar temp = temp * (pow44 - pow2971); + tempvar temp = temp * (pow44 - pow2972); + tempvar temp = temp * (pow44 - pow2973); + tempvar temp = temp * (pow44 - pow2976); + tempvar temp = temp * (pow44 - pow2977); + tempvar temp = temp * (pow44 - pow2978); + tempvar temp = temp * (pow44 - pow2979); + tempvar temp = temp * (pow44 - pow2980); + tempvar temp = temp * (pow44 - pow2981); + tempvar temp = temp * (pow44 - pow2982); + tempvar temp = temp * (pow44 - pow2983); + tempvar temp = temp * (pow44 - pow2984); + tempvar temp = temp * (pow44 - pow2985); + tempvar temp = temp * (pow44 - pow2986); + tempvar temp = temp * (pow44 - pow2987); + tempvar temp = temp * (pow44 - pow2988); + tempvar temp = temp * (pow44 - pow2989); + tempvar temp = temp * (pow44 - pow2990); + tempvar temp = temp * (pow44 - pow2991); + tempvar temp = temp * (pow44 - pow2992); + tempvar temp = temp * (pow44 - pow2993); + tempvar temp = temp * (pow44 - pow2994); + tempvar temp = temp * (pow44 - pow2995); + tempvar temp = temp * (pow44 - pow2996); + tempvar temp = temp * (pow44 - pow2997); + tempvar temp = temp * (pow44 - pow2998); + tempvar temp = temp * (pow44 - pow2999); + tempvar temp = temp * (pow44 - pow3000); + tempvar temp = temp * (pow44 - pow3001); + tempvar temp = temp * (pow44 - pow3002); + tempvar temp = temp * (pow44 - pow3003); + tempvar temp = temp * (pow44 - pow3006); + tempvar temp = temp * (pow44 - pow3007); + tempvar temp = temp * (pow44 - pow3008); + tempvar temp = temp * (pow44 - pow3009); + tempvar temp = temp * (pow44 - pow3010); + tempvar temp = temp * (pow44 - pow3011); + tempvar temp = temp * (pow44 - pow3012); + tempvar temp = temp * (pow44 - pow3013); + tempvar temp = temp * (pow44 - pow3014); + tempvar temp = temp * (pow44 - pow3015); + tempvar temp = temp * (pow44 - pow3016); + tempvar temp = temp * (pow44 - pow3017); + tempvar temp = temp * (pow44 - pow3018); + tempvar temp = temp * (pow44 - pow3019); + tempvar temp = temp * (pow44 - pow3020); + tempvar temp = temp * (pow44 - pow3021); + tempvar temp = temp * (pow44 - pow3022); + tempvar temp = temp * (pow44 - pow3023); + tempvar temp = temp * (pow44 - pow3024); + tempvar temp = temp * (pow44 - pow3025); + tempvar temp = temp * (pow44 - pow3026); + tempvar temp = temp * (pow44 - pow3027); + tempvar temp = temp * (pow44 - pow3028); + tempvar temp = temp * (pow44 - pow3029); + tempvar temp = temp * (pow44 - pow3030); + tempvar temp = temp * (pow44 - pow3031); + tempvar temp = temp * (pow44 - pow3032); + tempvar temp = temp * (pow44 - pow3033); + tempvar temp = temp * (pow44 - pow3036); + tempvar temp = temp * (pow44 - pow3037); + tempvar temp = temp * (pow44 - pow3038); + tempvar temp = temp * (pow44 - pow3039); + tempvar temp = temp * (pow44 - pow3040); + tempvar temp = temp * (pow44 - pow3041); + tempvar temp = temp * (pow44 - pow3042); + tempvar temp = temp * (pow44 - pow3043); + tempvar temp = temp * (pow44 - pow3044); + tempvar temp = temp * (pow44 - pow3045); + tempvar temp = temp * (pow44 - pow3046); + tempvar temp = temp * (pow44 - pow3047); + tempvar temp = temp * (pow44 - pow3048); + tempvar temp = temp * (pow44 - pow3049); + tempvar temp = temp * (pow44 - pow3050); + tempvar temp = temp * (pow44 - pow3051); + tempvar temp = temp * (pow44 - pow3052); + tempvar temp = temp * (pow44 - pow3053); + tempvar temp = temp * (pow44 - pow3054); + tempvar temp = temp * (pow44 - pow3055); + tempvar temp = temp * (pow44 - pow3056); + tempvar temp = temp * (pow44 - pow3057); + tempvar temp = temp * (pow44 - pow3058); + tempvar temp = temp * (pow44 - pow3059); + tempvar temp = temp * (pow44 - pow3060); + tempvar temp = temp * (pow44 - pow3061); + tempvar temp = temp * (pow44 - pow3062); + tempvar temp = temp * (pow44 - pow3063); + tempvar temp = temp * (pow44 - pow3066); + tempvar temp = temp * (pow44 - pow3067); + tempvar temp = temp * (pow44 - pow3068); + tempvar temp = temp * (pow44 - pow3069); + tempvar temp = temp * (pow44 - pow3070); + tempvar temp = temp * (pow44 - pow3071); + tempvar temp = temp * (pow44 - pow3072); + tempvar temp = temp * (pow44 - pow3073); + tempvar temp = temp * (pow44 - pow3074); + tempvar temp = temp * (pow44 - pow3075); + tempvar temp = temp * (pow44 - pow3076); + tempvar temp = temp * (pow44 - pow3077); + tempvar temp = temp * (pow44 - pow3078); + tempvar temp = temp * (pow44 - pow3079); + tempvar temp = temp * (pow44 - pow3080); + tempvar temp = temp * (pow44 - pow3081); + tempvar temp = temp * (pow44 - pow3082); + tempvar temp = temp * (pow44 - pow3083); + tempvar temp = temp * (pow44 - pow3084); + tempvar temp = temp * (pow44 - pow3085); + tempvar temp = temp * (pow44 - pow3086); + tempvar temp = temp * (pow44 - pow3087); + tempvar temp = temp * (pow44 - pow3088); + tempvar temp = temp * (pow44 - pow3089); + tempvar temp = temp * (pow44 - pow3090); + tempvar temp = temp * (pow44 - pow3091); + tempvar temp = temp * (pow44 - pow3092); + tempvar temp = temp * (pow44 - pow3093); + tempvar temp = temp * (pow44 - pow3096); + tempvar temp = temp * (pow44 - pow3097); + tempvar temp = temp * (pow44 - pow3098); + tempvar temp = temp * (pow44 - pow3099); + tempvar temp = temp * (pow44 - pow3100); + tempvar temp = temp * (pow44 - pow3101); + tempvar temp = temp * (pow44 - pow3102); + tempvar temp = temp * (pow44 - pow3103); + tempvar temp = temp * (pow44 - pow3104); + tempvar temp = temp * (pow44 - pow3105); + tempvar temp = temp * (pow44 - pow3106); + tempvar temp = temp * (pow44 - pow3107); + tempvar temp = temp * (pow44 - pow3108); + tempvar temp = temp * (pow44 - pow3109); + tempvar temp = temp * (pow44 - pow3110); + tempvar temp = temp * (pow44 - pow3111); + tempvar temp = temp * (pow44 - pow3112); + tempvar temp = temp * (pow44 - pow3113); + tempvar temp = temp * (pow44 - pow3114); + tempvar temp = temp * (pow44 - pow3115); + tempvar temp = temp * (pow44 - pow3116); + tempvar temp = temp * (pow44 - pow3117); + tempvar temp = temp * (pow44 - pow3118); + tempvar temp = temp * (pow44 - pow3119); + tempvar temp = temp * (pow44 - pow3120); + tempvar temp = temp * (pow44 - pow3121); + tempvar temp = temp * (pow44 - pow3122); + tempvar temp = temp * (pow44 - pow3123); + tempvar temp = temp * (pow44 - pow3126); + tempvar temp = temp * (pow44 - pow3127); + tempvar temp = temp * (pow44 - pow3128); + tempvar temp = temp * (pow44 - pow3129); + tempvar temp = temp * (pow44 - pow3130); + tempvar temp = temp * (pow44 - pow3131); + tempvar temp = temp * (pow44 - pow3132); + tempvar temp = temp * (pow44 - pow3133); + tempvar temp = temp * (pow44 - pow3134); + tempvar temp = temp * (pow44 - pow3135); + tempvar temp = temp * (pow44 - pow3136); + tempvar temp = temp * (pow44 - pow3137); + tempvar temp = temp * (pow44 - pow3138); + tempvar temp = temp * (pow44 - pow3139); + tempvar temp = temp * (pow44 - pow3140); + tempvar temp = temp * (pow44 - pow3141); + tempvar temp = temp * (pow44 - pow3142); + tempvar temp = temp * (pow44 - pow3143); + tempvar temp = temp * (pow44 - pow3144); + tempvar temp = temp * (pow44 - pow3145); + tempvar temp = temp * (pow44 - pow3146); + tempvar temp = temp * (pow44 - pow3147); + tempvar temp = temp * (pow44 - pow3148); + tempvar temp = temp * (pow44 - pow3149); + tempvar temp = temp * (pow44 - pow3150); + tempvar temp = temp * (pow44 - pow3151); + tempvar temp = temp * (pow44 - pow3152); + tempvar temp = temp * (pow44 - pow3153); + tempvar temp = temp * (pow44 - pow3156); + tempvar temp = temp * (pow44 - pow3157); + tempvar temp = temp * (pow44 - pow3158); + tempvar temp = temp * (pow44 - pow3159); + tempvar temp = temp * (pow44 - pow3160); + tempvar temp = temp * (pow44 - pow3161); + tempvar temp = temp * (pow44 - pow3162); + tempvar temp = temp * (pow44 - pow3163); + tempvar temp = temp * (pow44 - pow3164); + tempvar temp = temp * (pow44 - pow3165); + tempvar temp = temp * (pow44 - pow3166); + tempvar temp = temp * (pow44 - pow3167); + tempvar temp = temp * (pow44 - pow3168); + tempvar temp = temp * (pow44 - pow3169); + tempvar temp = temp * (pow44 - pow3170); + tempvar temp = temp * (pow44 - pow3171); + tempvar temp = temp * (pow44 - pow3172); + tempvar temp = temp * (pow44 - pow3173); + tempvar temp = temp * (pow44 - pow3174); + tempvar temp = temp * (pow44 - pow3175); + tempvar temp = temp * (pow44 - pow3176); + tempvar temp = temp * (pow44 - pow3177); + tempvar temp = temp * (pow44 - pow3178); + tempvar temp = temp * (pow44 - pow3179); + tempvar temp = temp * (pow44 - pow3180); + tempvar temp = temp * (pow44 - pow3181); + tempvar temp = temp * (pow44 - pow3182); + tempvar temp = temp * (pow44 - pow3183); + tempvar temp = temp * (pow44 - pow3186); + tempvar temp = temp * (pow44 - pow3187); + tempvar temp = temp * (pow44 - pow3188); + tempvar temp = temp * (pow44 - pow3189); + tempvar temp = temp * (pow44 - pow3190); + tempvar temp = temp * (pow44 - pow3191); + tempvar temp = temp * (pow44 - pow3192); + tempvar temp = temp * (pow44 - pow3193); + tempvar temp = temp * (pow44 - pow3194); + tempvar temp = temp * (pow44 - pow3195); + tempvar temp = temp * (pow44 - pow3196); + tempvar temp = temp * (pow44 - pow3197); + tempvar temp = temp * (pow44 - pow3198); + tempvar temp = temp * (pow44 - pow3199); + tempvar temp = temp * (pow44 - pow3200); + tempvar temp = temp * (pow44 - pow3201); + tempvar temp = temp * (pow44 - pow3202); + tempvar temp = temp * (pow44 - pow3203); + tempvar temp = temp * (pow44 - pow3204); + tempvar temp = temp * (pow44 - pow3205); + tempvar temp = temp * (pow44 - pow3206); + tempvar temp = temp * (pow44 - pow3207); + tempvar temp = temp * (pow44 - pow3208); + tempvar temp = temp * (pow44 - pow3209); + tempvar temp = temp * (pow44 - pow3210); + tempvar temp = temp * (pow44 - pow3211); + tempvar temp = temp * (pow44 - pow3212); + tempvar temp = temp * (pow44 - pow3213); + tempvar temp = temp * (pow44 - pow3216); + tempvar temp = temp * (pow44 - pow3217); + tempvar temp = temp * (pow44 - pow3218); + tempvar temp = temp * (pow44 - pow3219); + tempvar temp = temp * (pow44 - pow3220); + tempvar temp = temp * (pow44 - pow3221); + tempvar temp = temp * (pow44 - pow3222); + tempvar temp = temp * (pow44 - pow3223); + tempvar temp = temp * (pow44 - pow3224); + tempvar temp = temp * (pow44 - pow3225); + tempvar temp = temp * (pow44 - pow3226); + tempvar temp = temp * (pow44 - pow3227); + tempvar temp = temp * (pow44 - pow3228); + tempvar temp = temp * (pow44 - pow3229); + tempvar temp = temp * (pow44 - pow3230); + tempvar temp = temp * (pow44 - pow3231); + tempvar temp = temp * (pow44 - pow3232); + tempvar temp = temp * (pow44 - pow3233); + tempvar temp = temp * (pow44 - pow3234); + tempvar temp = temp * (pow44 - pow3235); + tempvar temp = temp * (pow44 - pow3236); + tempvar temp = temp * (pow44 - pow3237); + tempvar temp = temp * (pow44 - pow3238); + tempvar temp = temp * (pow44 - pow3239); + tempvar temp = temp * (pow44 - pow3240); + tempvar temp = temp * (pow44 - pow3241); + tempvar temp = temp * (pow44 - pow3242); + tempvar temp = temp * (pow44 - pow3243); + tempvar temp = temp * (pow44 - pow3246); + tempvar temp = temp * (pow44 - pow3247); + tempvar temp = temp * (pow44 - pow3248); + tempvar temp = temp * (pow44 - pow3249); + tempvar temp = temp * (pow44 - pow3250); + tempvar temp = temp * (pow44 - pow3251); + tempvar temp = temp * (pow44 - pow3252); + tempvar temp = temp * (pow44 - pow3253); + tempvar temp = temp * (pow44 - pow3254); + tempvar temp = temp * (pow44 - pow3255); + tempvar temp = temp * (pow44 - pow3256); + tempvar temp = temp * (pow44 - pow3257); + tempvar temp = temp * (pow44 - pow3258); + tempvar temp = temp * (pow44 - pow3259); + tempvar temp = temp * (pow44 - pow3260); + tempvar temp = temp * (pow44 - pow3261); + tempvar temp = temp * (pow44 - pow3262); + tempvar temp = temp * (pow44 - pow3263); + tempvar temp = temp * (pow44 - pow3264); + tempvar temp = temp * (pow44 - pow3265); + tempvar temp = temp * (pow44 - pow3266); + tempvar temp = temp * (pow44 - pow3267); + tempvar temp = temp * (pow44 - pow3268); + tempvar temp = temp * (pow44 - pow3269); + tempvar temp = temp * (pow44 - pow3270); + tempvar temp = temp * (pow44 - pow3271); + tempvar temp = temp * (pow44 - pow3272); + tempvar temp = temp * (pow44 - pow3273); + tempvar temp = temp * (pow44 - pow3276); + tempvar temp = temp * (pow44 - pow3277); + tempvar temp = temp * (pow44 - pow3278); + tempvar temp = temp * (pow44 - pow3279); + tempvar temp = temp * (pow44 - pow3280); + tempvar temp = temp * (pow44 - pow3281); + tempvar temp = temp * (pow44 - pow3282); + tempvar temp = temp * (pow44 - pow3283); + tempvar temp = temp * (pow44 - pow3284); + tempvar temp = temp * (pow44 - pow3285); + tempvar temp = temp * (pow44 - pow3286); + tempvar temp = temp * (pow44 - pow3287); + tempvar temp = temp * (pow44 - pow3288); + tempvar temp = temp * (pow44 - pow3289); + tempvar temp = temp * (pow44 - pow3290); + tempvar temp = temp * (pow44 - pow3291); + tempvar temp = temp * (pow44 - pow3292); + tempvar temp = temp * (pow44 - pow3293); + tempvar temp = temp * (pow44 - pow3294); + tempvar temp = temp * (pow44 - pow3295); + tempvar temp = temp * (pow44 - pow3296); + tempvar temp = temp * (pow44 - pow3297); + tempvar temp = temp * (pow44 - pow3298); + tempvar temp = temp * (pow44 - pow3299); + tempvar temp = temp * (pow44 - pow3300); + tempvar temp = temp * (pow44 - pow3301); + tempvar temp = temp * (pow44 - pow3302); + tempvar temp = temp * (pow44 - pow3303); + tempvar temp = temp * (pow44 - pow3306); + tempvar temp = temp * (pow44 - pow3307); + tempvar temp = temp * (pow44 - pow3308); + tempvar temp = temp * (pow44 - pow3309); + tempvar temp = temp * (pow44 - pow3310); + tempvar temp = temp * (pow44 - pow3311); + tempvar temp = temp * (pow44 - pow3312); + tempvar temp = temp * (pow44 - pow3313); + tempvar temp = temp * (pow44 - pow3314); + tempvar temp = temp * (pow44 - pow3315); + tempvar temp = temp * (pow44 - pow3316); + tempvar temp = temp * (pow44 - pow3317); + tempvar temp = temp * (pow44 - pow3318); + tempvar temp = temp * (pow44 - pow3319); + tempvar temp = temp * (pow44 - pow3320); + tempvar temp = temp * (pow44 - pow3321); + tempvar temp = temp * (pow44 - pow3322); + tempvar temp = temp * (pow44 - pow3323); + tempvar temp = temp * (pow44 - pow3324); + tempvar temp = temp * (pow44 - pow3325); + tempvar temp = temp * (pow44 - pow3326); + tempvar temp = temp * (pow44 - pow3327); + tempvar temp = temp * (pow44 - pow3328); + tempvar temp = temp * (pow44 - pow3329); + tempvar temp = temp * (pow44 - pow3330); + tempvar temp = temp * (pow44 - pow3331); + tempvar temp = temp * (pow44 - pow3332); + tempvar temp = temp * (pow44 - pow3333); + tempvar temp = temp * (pow44 - pow3336); + tempvar temp = temp * (pow44 - pow3337); + tempvar temp = temp * (pow44 - pow3338); + tempvar temp = temp * (pow44 - pow3339); + tempvar temp = temp * (pow44 - pow3340); + tempvar temp = temp * (pow44 - pow3341); + tempvar temp = temp * (pow44 - pow3342); + tempvar temp = temp * (pow44 - pow3343); + tempvar temp = temp * (pow44 - pow3344); + tempvar temp = temp * (pow44 - pow3345); + tempvar temp = temp * (pow44 - pow3346); + tempvar temp = temp * (pow44 - pow3347); + tempvar temp = temp * (pow44 - pow3348); + tempvar temp = temp * (pow44 - pow3349); + tempvar temp = temp * (pow44 - pow3350); + tempvar temp = temp * (pow44 - pow3351); + tempvar temp = temp * (pow44 - pow3352); + tempvar temp = temp * (pow44 - pow3353); + tempvar temp = temp * (pow44 - pow3354); + tempvar temp = temp * (pow44 - pow3355); + tempvar temp = temp * (pow44 - pow3356); + tempvar temp = temp * (pow44 - pow3357); + tempvar temp = temp * (pow44 - pow3358); + tempvar temp = temp * (pow44 - pow3359); + tempvar temp = temp * (pow44 - pow3360); + tempvar temp = temp * (pow44 - pow3361); + tempvar temp = temp * (pow44 - pow3362); + tempvar temp = temp * (pow44 - pow3363); + tempvar temp = temp * (pow44 - pow3366); + tempvar temp = temp * (pow44 - pow3367); + tempvar temp = temp * (pow44 - pow3368); + tempvar temp = temp * (pow44 - pow3369); + tempvar temp = temp * (pow44 - pow3370); + tempvar temp = temp * (pow44 - pow3371); + tempvar temp = temp * (pow44 - pow3372); + tempvar temp = temp * (pow44 - pow3373); + tempvar temp = temp * (pow44 - pow3374); + tempvar temp = temp * (pow44 - pow3375); + tempvar temp = temp * (pow44 - pow3376); + tempvar temp = temp * (pow44 - pow3377); + tempvar temp = temp * (pow44 - pow3378); + tempvar temp = temp * (pow44 - pow3379); + tempvar temp = temp * (pow44 - pow3380); + tempvar temp = temp * (pow44 - pow3381); + tempvar temp = temp * (pow44 - pow3382); + tempvar temp = temp * (pow44 - pow3383); + tempvar temp = temp * (pow44 - pow3384); + tempvar temp = temp * (pow44 - pow3385); + tempvar temp = temp * (pow44 - pow3386); + tempvar temp = temp * (pow44 - pow3387); + tempvar temp = temp * (pow44 - pow3388); + tempvar temp = temp * (pow44 - pow3389); + tempvar temp = temp * (pow44 - pow3390); + tempvar temp = temp * (pow44 - pow3391); + tempvar temp = temp * (pow44 - pow3392); + tempvar temp = temp * (pow44 - pow3393); + tempvar temp = temp * (domain61); + assert domain64 = temp * (domain63); + tempvar temp = pow46 - pow2147; + assert domain65 = temp * (domain59); + tempvar temp = domain58; + assert domain66 = temp * (domain60); + tempvar temp = domain63; + assert domain67 = temp * (domain66); + assert domain68 = pow44 - pow819; + tempvar temp = pow44 - pow820; + tempvar temp = temp * (pow44 - pow821); + tempvar temp = temp * (pow44 - pow822); + tempvar temp = temp * (pow44 - pow823); + tempvar temp = temp * (pow44 - pow824); + tempvar temp = temp * (pow44 - pow825); + tempvar temp = temp * (pow44 - pow826); + assert domain69 = temp * (domain68); + tempvar temp = pow44 - pow827; + tempvar temp = temp * (pow44 - pow828); + tempvar temp = temp * (pow44 - pow829); + tempvar temp = temp * (pow44 - pow830); + tempvar temp = temp * (pow44 - pow831); + tempvar temp = temp * (pow44 - pow832); + tempvar temp = temp * (pow44 - pow833); + tempvar temp = temp * (pow44 - pow834); + tempvar temp = temp * (pow44 - pow835); + tempvar temp = temp * (pow44 - pow836); + tempvar temp = temp * (pow44 - pow837); + tempvar temp = temp * (pow44 - pow838); + tempvar temp = temp * (pow44 - pow839); + tempvar temp = temp * (pow44 - pow840); tempvar temp = temp * (pow44 - pow841); tempvar temp = temp * (pow44 - pow842); - tempvar temp = temp * (pow44 - pow843); - tempvar temp = temp * (pow44 - pow844); - tempvar temp = temp * (pow44 - pow845); - tempvar temp = temp * (pow44 - pow846); - tempvar temp = temp * (pow44 - pow847); - assert domain39 = temp * (domain38); - tempvar temp = pow44 - pow1084; - tempvar temp = temp * (pow44 - pow1108); - tempvar temp = temp * (pow44 - pow1109); - tempvar temp = temp * (pow44 - pow1110); - tempvar temp = temp * (pow44 - pow1111); - tempvar temp = temp * (pow44 - pow1112); - tempvar temp = temp * (pow44 - pow1113); - tempvar temp = temp * (pow44 - pow1114); - tempvar temp = temp * (pow44 - pow1115); - tempvar temp = temp * (pow44 - pow1116); - tempvar temp = temp * (pow44 - pow1117); - tempvar temp = temp * (pow44 - pow1118); - tempvar temp = temp * (pow44 - pow1119); - tempvar temp = temp * (pow44 - pow1120); - tempvar temp = temp * (pow44 - pow1121); - tempvar temp = temp * (pow44 - pow1122); - tempvar temp = temp * (pow44 - pow1123); - tempvar temp = temp * (pow44 - pow1147); - tempvar temp = temp * (pow44 - pow1148); - tempvar temp = temp * (pow44 - pow1149); - tempvar temp = temp * (pow44 - pow1150); - tempvar temp = temp * (pow44 - pow1151); - tempvar temp = temp * (pow44 - pow1152); - tempvar temp = temp * (pow44 - pow1153); - tempvar temp = temp * (pow44 - pow1390); - tempvar temp = temp * (pow44 - pow1414); - tempvar temp = temp * (pow44 - pow1415); - tempvar temp = temp * (pow44 - pow1416); - tempvar temp = temp * (pow44 - pow1417); - tempvar temp = temp * (pow44 - pow1418); - tempvar temp = temp * (pow44 - pow1419); - tempvar temp = temp * (pow44 - pow1420); - tempvar temp = temp * (pow44 - pow1421); - tempvar temp = temp * (pow44 - pow1422); - tempvar temp = temp * (pow44 - pow1423); - tempvar temp = temp * (pow44 - pow1424); - tempvar temp = temp * (pow44 - pow1425); - tempvar temp = temp * (pow44 - pow1426); - tempvar temp = temp * (pow44 - pow1427); - tempvar temp = temp * (pow44 - pow1428); - tempvar temp = temp * (pow44 - pow1429); - tempvar temp = temp * (pow44 - pow1453); - tempvar temp = temp * (pow44 - pow1454); - tempvar temp = temp * (pow44 - pow1455); - tempvar temp = temp * (pow44 - pow1456); - tempvar temp = temp * (pow44 - pow1457); - tempvar temp = temp * (pow44 - pow1458); - tempvar temp = temp * (pow44 - pow1459); - tempvar temp = temp * (pow44 - pow1648); - tempvar temp = temp * (pow44 - pow1649); - tempvar temp = temp * (pow44 - pow1650); - tempvar temp = temp * (pow44 - pow1651); - tempvar temp = temp * (pow44 - pow1652); - tempvar temp = temp * (pow44 - pow1653); - tempvar temp = temp * (pow44 - pow1654); - tempvar temp = temp * (pow44 - pow1655); - tempvar temp = temp * (pow44 - pow1656); - tempvar temp = temp * (pow44 - pow1657); - tempvar temp = temp * (pow44 - pow1658); - tempvar temp = temp * (pow44 - pow1659); - tempvar temp = temp * (pow44 - pow1660); - tempvar temp = temp * (pow44 - pow1661); - tempvar temp = temp * (pow44 - pow1662); - tempvar temp = temp * (pow44 - pow1663); - tempvar temp = temp * (pow44 - pow1664); - tempvar temp = temp * (pow44 - pow1688); - tempvar temp = temp * (pow44 - pow1689); - tempvar temp = temp * (pow44 - pow1690); - tempvar temp = temp * (pow44 - pow1691); - tempvar temp = temp * (pow44 - pow1692); - tempvar temp = temp * (pow44 - pow1693); - tempvar temp = temp * (pow44 - pow1694); + tempvar temp = temp * (domain50); + assert domain70 = temp * (domain69); + tempvar temp = pow44 - pow2575; + tempvar temp = temp * (pow44 - pow2576); + tempvar temp = temp * (pow44 - pow2577); + tempvar temp = temp * (pow44 - pow2578); + tempvar temp = temp * (pow44 - pow2579); + tempvar temp = temp * (pow44 - pow2580); + tempvar temp = temp * (pow44 - pow2581); + assert domain71 = temp * (pow44 - pow2582); + tempvar temp = pow44 - pow2583; + tempvar temp = temp * (pow44 - pow2584); + tempvar temp = temp * (pow44 - pow2585); + tempvar temp = temp * (pow44 - pow2586); + tempvar temp = temp * (pow44 - pow2587); + tempvar temp = temp * (pow44 - pow2588); + tempvar temp = temp * (pow44 - pow2589); + tempvar temp = temp * (pow44 - pow2590); + tempvar temp = temp * (pow44 - pow2591); + tempvar temp = temp * (pow44 - pow2592); + tempvar temp = temp * (pow44 - pow2593); + tempvar temp = temp * (pow44 - pow2594); + tempvar temp = temp * (pow44 - pow2595); + tempvar temp = temp * (pow44 - pow2596); + tempvar temp = temp * (pow44 - pow2597); + tempvar temp = temp * (pow44 - pow2598); + tempvar temp = temp * (domain67); + assert domain72 = temp * (domain71); + tempvar temp = pow44 - pow2538; + tempvar temp = temp * (pow44 - pow2539); + tempvar temp = temp * (pow44 - pow2540); + tempvar temp = temp * (pow44 - pow2541); + tempvar temp = temp * (pow44 - pow2542); + tempvar temp = temp * (pow44 - pow2543); + tempvar temp = temp * (pow44 - pow2544); + assert domain73 = temp * (pow44 - pow2545); + tempvar temp = pow44 - pow2423; + tempvar temp = temp * (pow44 - pow2424); + tempvar temp = temp * (pow44 - pow2425); + tempvar temp = temp * (pow44 - pow2426); + tempvar temp = temp * (pow44 - pow2427); + tempvar temp = temp * (pow44 - pow2428); + tempvar temp = temp * (pow44 - pow2429); + tempvar temp = temp * (pow44 - pow2430); + tempvar temp = temp * (pow44 - pow2462); + tempvar temp = temp * (pow44 - pow2463); + tempvar temp = temp * (pow44 - pow2464); + tempvar temp = temp * (pow44 - pow2465); + tempvar temp = temp * (pow44 - pow2466); + tempvar temp = temp * (pow44 - pow2467); + tempvar temp = temp * (pow44 - pow2468); + tempvar temp = temp * (pow44 - pow2469); + tempvar temp = temp * (pow44 - pow2499); + tempvar temp = temp * (pow44 - pow2500); + tempvar temp = temp * (pow44 - pow2501); + tempvar temp = temp * (pow44 - pow2502); + tempvar temp = temp * (pow44 - pow2503); + tempvar temp = temp * (pow44 - pow2504); + tempvar temp = temp * (pow44 - pow2505); + tempvar temp = temp * (pow44 - pow2506); + assert domain74 = temp * (domain73); + tempvar temp = pow44 - pow2546; + tempvar temp = temp * (pow44 - pow2547); + tempvar temp = temp * (pow44 - pow2548); + tempvar temp = temp * (pow44 - pow2549); + tempvar temp = temp * (pow44 - pow2550); + tempvar temp = temp * (pow44 - pow2551); + tempvar temp = temp * (pow44 - pow2552); + tempvar temp = temp * (pow44 - pow2553); + tempvar temp = temp * (pow44 - pow2554); + tempvar temp = temp * (pow44 - pow2555); + tempvar temp = temp * (pow44 - pow2556); + tempvar temp = temp * (pow44 - pow2557); + tempvar temp = temp * (pow44 - pow2558); + tempvar temp = temp * (pow44 - pow2559); + tempvar temp = temp * (pow44 - pow2560); + tempvar temp = temp * (pow44 - pow2561); + assert domain75 = temp * (domain72); + tempvar temp = pow44 - pow2431; + tempvar temp = temp * (pow44 - pow2432); + tempvar temp = temp * (pow44 - pow2433); + tempvar temp = temp * (pow44 - pow2434); + tempvar temp = temp * (pow44 - pow2435); + tempvar temp = temp * (pow44 - pow2436); + tempvar temp = temp * (pow44 - pow2437); + tempvar temp = temp * (pow44 - pow2438); + tempvar temp = temp * (pow44 - pow2439); + tempvar temp = temp * (pow44 - pow2440); + tempvar temp = temp * (pow44 - pow2441); + tempvar temp = temp * (pow44 - pow2442); + tempvar temp = temp * (pow44 - pow2443); + tempvar temp = temp * (pow44 - pow2444); + tempvar temp = temp * (pow44 - pow2445); + tempvar temp = temp * (pow44 - pow2446); + tempvar temp = temp * (pow44 - pow2470); + tempvar temp = temp * (pow44 - pow2471); + tempvar temp = temp * (pow44 - pow2472); + tempvar temp = temp * (pow44 - pow2473); + tempvar temp = temp * (pow44 - pow2474); + tempvar temp = temp * (pow44 - pow2475); + tempvar temp = temp * (pow44 - pow2476); + tempvar temp = temp * (pow44 - pow2477); + tempvar temp = temp * (pow44 - pow2478); + tempvar temp = temp * (pow44 - pow2479); + tempvar temp = temp * (pow44 - pow2480); + tempvar temp = temp * (pow44 - pow2481); + tempvar temp = temp * (pow44 - pow2482); + tempvar temp = temp * (pow44 - pow2483); + tempvar temp = temp * (pow44 - pow2484); + tempvar temp = temp * (pow44 - pow2485); + tempvar temp = temp * (pow44 - pow2507); + tempvar temp = temp * (pow44 - pow2508); + tempvar temp = temp * (pow44 - pow2509); + tempvar temp = temp * (pow44 - pow2510); + tempvar temp = temp * (pow44 - pow2511); + tempvar temp = temp * (pow44 - pow2512); + tempvar temp = temp * (pow44 - pow2513); + tempvar temp = temp * (pow44 - pow2514); + tempvar temp = temp * (pow44 - pow2515); + tempvar temp = temp * (pow44 - pow2516); + tempvar temp = temp * (pow44 - pow2517); + tempvar temp = temp * (pow44 - pow2518); + tempvar temp = temp * (pow44 - pow2519); + tempvar temp = temp * (pow44 - pow2520); + tempvar temp = temp * (pow44 - pow2521); + tempvar temp = temp * (pow44 - pow2522); + tempvar temp = temp * (domain74); + assert domain76 = temp * (domain75); + tempvar temp = pow44 - pow2347; + tempvar temp = temp * (pow44 - pow2348); + tempvar temp = temp * (pow44 - pow2349); + tempvar temp = temp * (pow44 - pow2350); + tempvar temp = temp * (pow44 - pow2351); + tempvar temp = temp * (pow44 - pow2352); + tempvar temp = temp * (pow44 - pow2353); + tempvar temp = temp * (pow44 - pow2354); + tempvar temp = temp * (pow44 - pow2386); + tempvar temp = temp * (pow44 - pow2387); + tempvar temp = temp * (pow44 - pow2388); + tempvar temp = temp * (pow44 - pow2389); + tempvar temp = temp * (pow44 - pow2390); + tempvar temp = temp * (pow44 - pow2391); + tempvar temp = temp * (pow44 - pow2392); + assert domain77 = temp * (pow44 - pow2393); + tempvar temp = pow44 - pow2310; + tempvar temp = temp * (pow44 - pow2311); + tempvar temp = temp * (pow44 - pow2312); + tempvar temp = temp * (pow44 - pow2313); + tempvar temp = temp * (pow44 - pow2314); + tempvar temp = temp * (pow44 - pow2315); + tempvar temp = temp * (pow44 - pow2316); + tempvar temp = temp * (pow44 - pow2317); + assert domain78 = temp * (domain77); + tempvar temp = pow44 - pow2271; + tempvar temp = temp * (pow44 - pow2272); + tempvar temp = temp * (pow44 - pow2273); + tempvar temp = temp * (pow44 - pow2274); + tempvar temp = temp * (pow44 - pow2275); + tempvar temp = temp * (pow44 - pow2276); + tempvar temp = temp * (pow44 - pow2277); + tempvar temp = temp * (pow44 - pow2278); + assert domain79 = temp * (domain78); + tempvar temp = pow44 - pow2355; + tempvar temp = temp * (pow44 - pow2356); + tempvar temp = temp * (pow44 - pow2357); + tempvar temp = temp * (pow44 - pow2358); + tempvar temp = temp * (pow44 - pow2359); + tempvar temp = temp * (pow44 - pow2360); + tempvar temp = temp * (pow44 - pow2361); + tempvar temp = temp * (pow44 - pow2362); + tempvar temp = temp * (pow44 - pow2363); + tempvar temp = temp * (pow44 - pow2364); + tempvar temp = temp * (pow44 - pow2365); + tempvar temp = temp * (pow44 - pow2366); + tempvar temp = temp * (pow44 - pow2367); + tempvar temp = temp * (pow44 - pow2368); + tempvar temp = temp * (pow44 - pow2369); + tempvar temp = temp * (pow44 - pow2370); + tempvar temp = temp * (pow44 - pow2394); + tempvar temp = temp * (pow44 - pow2395); + tempvar temp = temp * (pow44 - pow2396); + tempvar temp = temp * (pow44 - pow2397); + tempvar temp = temp * (pow44 - pow2398); + tempvar temp = temp * (pow44 - pow2399); + tempvar temp = temp * (pow44 - pow2400); + tempvar temp = temp * (pow44 - pow2401); + tempvar temp = temp * (pow44 - pow2402); + tempvar temp = temp * (pow44 - pow2403); + tempvar temp = temp * (pow44 - pow2404); + tempvar temp = temp * (pow44 - pow2405); + tempvar temp = temp * (pow44 - pow2406); + tempvar temp = temp * (pow44 - pow2407); + tempvar temp = temp * (pow44 - pow2408); + tempvar temp = temp * (pow44 - pow2409); + assert domain80 = temp * (domain76); + tempvar temp = pow44 - pow2279; + tempvar temp = temp * (pow44 - pow2280); + tempvar temp = temp * (pow44 - pow2281); + tempvar temp = temp * (pow44 - pow2282); + tempvar temp = temp * (pow44 - pow2283); + tempvar temp = temp * (pow44 - pow2284); + tempvar temp = temp * (pow44 - pow2285); + tempvar temp = temp * (pow44 - pow2286); + tempvar temp = temp * (pow44 - pow2287); + tempvar temp = temp * (pow44 - pow2288); + tempvar temp = temp * (pow44 - pow2289); + tempvar temp = temp * (pow44 - pow2290); + tempvar temp = temp * (pow44 - pow2291); + tempvar temp = temp * (pow44 - pow2292); + tempvar temp = temp * (pow44 - pow2293); + tempvar temp = temp * (pow44 - pow2294); + tempvar temp = temp * (pow44 - pow2318); + tempvar temp = temp * (pow44 - pow2319); + tempvar temp = temp * (pow44 - pow2320); + tempvar temp = temp * (pow44 - pow2321); + tempvar temp = temp * (pow44 - pow2322); + tempvar temp = temp * (pow44 - pow2323); + tempvar temp = temp * (pow44 - pow2324); + tempvar temp = temp * (pow44 - pow2325); + tempvar temp = temp * (pow44 - pow2326); + tempvar temp = temp * (pow44 - pow2327); + tempvar temp = temp * (pow44 - pow2328); + tempvar temp = temp * (pow44 - pow2329); + tempvar temp = temp * (pow44 - pow2330); + tempvar temp = temp * (pow44 - pow2331); + tempvar temp = temp * (pow44 - pow2332); + tempvar temp = temp * (pow44 - pow2333); + tempvar temp = temp * (domain79); + assert domain81 = temp * (domain80); + tempvar temp = pow44 - pow2147; + tempvar temp = temp * (pow44 - pow2150); + tempvar temp = temp * (pow44 - pow2153); + tempvar temp = temp * (pow44 - pow2156); + tempvar temp = temp * (pow44 - pow2159); + tempvar temp = temp * (pow44 - pow2162); + tempvar temp = temp * (pow44 - pow2165); + tempvar temp = temp * (pow44 - pow2168); + tempvar temp = temp * (pow44 - pow2148); + tempvar temp = temp * (pow44 - pow2151); + tempvar temp = temp * (pow44 - pow2154); + tempvar temp = temp * (pow44 - pow2157); + tempvar temp = temp * (pow44 - pow2160); + tempvar temp = temp * (pow44 - pow2163); + tempvar temp = temp * (pow44 - pow2166); + tempvar temp = temp * (pow44 - pow2185); + tempvar temp = temp * (pow44 - pow2149); + tempvar temp = temp * (pow44 - pow2152); + tempvar temp = temp * (pow44 - pow2155); + tempvar temp = temp * (pow44 - pow2158); + tempvar temp = temp * (pow44 - pow2161); + tempvar temp = temp * (pow44 - pow2164); + tempvar temp = temp * (pow44 - pow2167); + tempvar temp = temp * (pow44 - pow2202); + tempvar temp = temp * (pow44 - pow2234); + tempvar temp = temp * (pow44 - pow2235); + tempvar temp = temp * (pow44 - pow2236); + tempvar temp = temp * (pow44 - pow2237); + tempvar temp = temp * (pow44 - pow2238); + tempvar temp = temp * (pow44 - pow2239); + tempvar temp = temp * (pow44 - pow2240); + assert domain82 = temp * (pow44 - pow2241); + tempvar temp = pow44 - pow2069; + tempvar temp = temp * (pow44 - pow2070); + tempvar temp = temp * (pow44 - pow2071); + tempvar temp = temp * (pow44 - pow2072); + tempvar temp = temp * (pow44 - pow2073); + tempvar temp = temp * (pow44 - pow2074); + tempvar temp = temp * (pow44 - pow2129); + tempvar temp = temp * (pow44 - pow2130); + assert domain83 = temp * (domain82); + tempvar temp = pow44 - pow2051; + tempvar temp = temp * (pow44 - pow2054); + tempvar temp = temp * (pow44 - pow2057); + tempvar temp = temp * (pow44 - pow2060); + tempvar temp = temp * (pow44 - pow2063); + tempvar temp = temp * (pow44 - pow2066); + tempvar temp = temp * (pow44 - pow2075); + tempvar temp = temp * (pow44 - pow2078); + tempvar temp = temp * (pow44 - pow2052); + tempvar temp = temp * (pow44 - pow2055); + tempvar temp = temp * (pow44 - pow2058); + tempvar temp = temp * (pow44 - pow2061); + tempvar temp = temp * (pow44 - pow2064); + tempvar temp = temp * (pow44 - pow2067); + tempvar temp = temp * (pow44 - pow2076); + tempvar temp = temp * (pow44 - pow2095); + tempvar temp = temp * (pow44 - pow2053); + tempvar temp = temp * (pow44 - pow2056); + tempvar temp = temp * (pow44 - pow2059); + tempvar temp = temp * (pow44 - pow2062); + tempvar temp = temp * (pow44 - pow2065); + tempvar temp = temp * (pow44 - pow2068); + tempvar temp = temp * (pow44 - pow2077); + tempvar temp = temp * (pow44 - pow2112); + assert domain84 = temp * (domain83); + tempvar temp = pow44 - pow2020; + tempvar temp = temp * (pow44 - pow2021); + tempvar temp = temp * (pow44 - pow2022); + tempvar temp = temp * (pow44 - pow2023); + tempvar temp = temp * (pow44 - pow2024); + tempvar temp = temp * (pow44 - pow2025); + tempvar temp = temp * (pow44 - pow2026); + tempvar temp = temp * (pow44 - pow2027); + assert domain85 = temp * (domain84); + tempvar temp = pow44 - pow1981; + tempvar temp = temp * (pow44 - pow1982); + tempvar temp = temp * (pow44 - pow1983); + tempvar temp = temp * (pow44 - pow1984); + tempvar temp = temp * (pow44 - pow1985); + tempvar temp = temp * (pow44 - pow1986); + tempvar temp = temp * (pow44 - pow1987); + tempvar temp = temp * (pow44 - pow1988); + assert domain86 = temp * (domain85); + tempvar temp = pow44 - pow2169; + tempvar temp = temp * (pow44 - pow2170); + tempvar temp = temp * (pow44 - pow2171); + tempvar temp = temp * (pow44 - pow2172); + tempvar temp = temp * (pow44 - pow2173); + tempvar temp = temp * (pow44 - pow2174); + tempvar temp = temp * (pow44 - pow2175); + tempvar temp = temp * (pow44 - pow2176); + tempvar temp = temp * (pow44 - pow2177); + tempvar temp = temp * (pow44 - pow2178); + tempvar temp = temp * (pow44 - pow2179); + tempvar temp = temp * (pow44 - pow2180); + tempvar temp = temp * (pow44 - pow2181); + tempvar temp = temp * (pow44 - pow2182); + tempvar temp = temp * (pow44 - pow2183); + tempvar temp = temp * (pow44 - pow2184); + tempvar temp = temp * (pow44 - pow2186); + tempvar temp = temp * (pow44 - pow2187); + tempvar temp = temp * (pow44 - pow2188); + tempvar temp = temp * (pow44 - pow2189); + tempvar temp = temp * (pow44 - pow2190); + tempvar temp = temp * (pow44 - pow2191); + tempvar temp = temp * (pow44 - pow2192); + tempvar temp = temp * (pow44 - pow2193); + tempvar temp = temp * (pow44 - pow2194); + tempvar temp = temp * (pow44 - pow2195); + tempvar temp = temp * (pow44 - pow2196); + tempvar temp = temp * (pow44 - pow2197); + tempvar temp = temp * (pow44 - pow2198); + tempvar temp = temp * (pow44 - pow2199); + tempvar temp = temp * (pow44 - pow2200); + tempvar temp = temp * (pow44 - pow2201); + tempvar temp = temp * (pow44 - pow2203); + tempvar temp = temp * (pow44 - pow2204); + tempvar temp = temp * (pow44 - pow2205); + tempvar temp = temp * (pow44 - pow2206); + tempvar temp = temp * (pow44 - pow2207); + tempvar temp = temp * (pow44 - pow2208); + tempvar temp = temp * (pow44 - pow2209); + tempvar temp = temp * (pow44 - pow2210); + tempvar temp = temp * (pow44 - pow2211); + tempvar temp = temp * (pow44 - pow2212); + tempvar temp = temp * (pow44 - pow2213); + tempvar temp = temp * (pow44 - pow2214); + tempvar temp = temp * (pow44 - pow2215); + tempvar temp = temp * (pow44 - pow2216); + tempvar temp = temp * (pow44 - pow2217); + tempvar temp = temp * (pow44 - pow2218); + tempvar temp = temp * (pow44 - pow2242); + tempvar temp = temp * (pow44 - pow2243); + tempvar temp = temp * (pow44 - pow2244); + tempvar temp = temp * (pow44 - pow2245); + tempvar temp = temp * (pow44 - pow2246); + tempvar temp = temp * (pow44 - pow2247); + tempvar temp = temp * (pow44 - pow2248); + tempvar temp = temp * (pow44 - pow2249); + tempvar temp = temp * (pow44 - pow2250); + tempvar temp = temp * (pow44 - pow2251); + tempvar temp = temp * (pow44 - pow2252); + tempvar temp = temp * (pow44 - pow2253); + tempvar temp = temp * (pow44 - pow2254); + tempvar temp = temp * (pow44 - pow2255); + tempvar temp = temp * (pow44 - pow2256); + tempvar temp = temp * (pow44 - pow2257); + assert domain87 = temp * (domain81); + tempvar temp = pow44 - pow2131; + tempvar temp = temp * (pow44 - pow2132); + tempvar temp = temp * (pow44 - pow2133); + tempvar temp = temp * (pow44 - pow2134); + tempvar temp = temp * (pow44 - pow2135); + tempvar temp = temp * (pow44 - pow2136); + tempvar temp = temp * (pow44 - pow2137); + tempvar temp = temp * (pow44 - pow2138); + tempvar temp = temp * (pow44 - pow2139); + tempvar temp = temp * (pow44 - pow2140); + tempvar temp = temp * (pow44 - pow2141); + tempvar temp = temp * (pow44 - pow2142); + tempvar temp = temp * (pow44 - pow2143); + tempvar temp = temp * (pow44 - pow2144); + tempvar temp = temp * (pow44 - pow2145); + tempvar temp = temp * (pow44 - pow2146); + assert domain88 = temp * (domain87); + tempvar temp = pow44 - pow2079; + tempvar temp = temp * (pow44 - pow2080); + tempvar temp = temp * (pow44 - pow2081); + tempvar temp = temp * (pow44 - pow2082); + tempvar temp = temp * (pow44 - pow2083); + tempvar temp = temp * (pow44 - pow2084); + tempvar temp = temp * (pow44 - pow2085); + tempvar temp = temp * (pow44 - pow2086); + tempvar temp = temp * (pow44 - pow2087); + tempvar temp = temp * (pow44 - pow2088); + tempvar temp = temp * (pow44 - pow2089); + tempvar temp = temp * (pow44 - pow2090); + tempvar temp = temp * (pow44 - pow2091); + tempvar temp = temp * (pow44 - pow2092); + tempvar temp = temp * (pow44 - pow2093); + tempvar temp = temp * (pow44 - pow2094); + tempvar temp = temp * (pow44 - pow2096); + tempvar temp = temp * (pow44 - pow2097); + tempvar temp = temp * (pow44 - pow2098); + tempvar temp = temp * (pow44 - pow2099); + tempvar temp = temp * (pow44 - pow2100); + tempvar temp = temp * (pow44 - pow2101); + tempvar temp = temp * (pow44 - pow2102); + tempvar temp = temp * (pow44 - pow2103); + tempvar temp = temp * (pow44 - pow2104); + tempvar temp = temp * (pow44 - pow2105); + tempvar temp = temp * (pow44 - pow2106); + tempvar temp = temp * (pow44 - pow2107); + tempvar temp = temp * (pow44 - pow2108); + tempvar temp = temp * (pow44 - pow2109); + tempvar temp = temp * (pow44 - pow2110); + tempvar temp = temp * (pow44 - pow2111); + tempvar temp = temp * (pow44 - pow2113); + tempvar temp = temp * (pow44 - pow2114); + tempvar temp = temp * (pow44 - pow2115); + tempvar temp = temp * (pow44 - pow2116); + tempvar temp = temp * (pow44 - pow2117); + tempvar temp = temp * (pow44 - pow2118); + tempvar temp = temp * (pow44 - pow2119); + tempvar temp = temp * (pow44 - pow2120); + tempvar temp = temp * (pow44 - pow2121); + tempvar temp = temp * (pow44 - pow2122); + tempvar temp = temp * (pow44 - pow2123); + tempvar temp = temp * (pow44 - pow2124); + tempvar temp = temp * (pow44 - pow2125); + tempvar temp = temp * (pow44 - pow2126); + tempvar temp = temp * (pow44 - pow2127); + tempvar temp = temp * (pow44 - pow2128); + assert domain89 = temp * (domain88); + tempvar temp = pow44 - pow2028; + tempvar temp = temp * (pow44 - pow2029); + tempvar temp = temp * (pow44 - pow2030); + tempvar temp = temp * (pow44 - pow2031); + tempvar temp = temp * (pow44 - pow2032); + tempvar temp = temp * (pow44 - pow2033); + tempvar temp = temp * (pow44 - pow2034); + tempvar temp = temp * (pow44 - pow2035); + tempvar temp = temp * (pow44 - pow2036); + tempvar temp = temp * (pow44 - pow2037); + tempvar temp = temp * (pow44 - pow2038); + tempvar temp = temp * (pow44 - pow2039); + tempvar temp = temp * (pow44 - pow2040); + tempvar temp = temp * (pow44 - pow2041); + tempvar temp = temp * (pow44 - pow2042); + tempvar temp = temp * (pow44 - pow2043); + assert domain90 = temp * (domain89); + tempvar temp = pow44 - pow1989; + tempvar temp = temp * (pow44 - pow1990); + tempvar temp = temp * (pow44 - pow1991); + tempvar temp = temp * (pow44 - pow1992); + tempvar temp = temp * (pow44 - pow1993); + tempvar temp = temp * (pow44 - pow1994); + tempvar temp = temp * (pow44 - pow1995); + tempvar temp = temp * (pow44 - pow1996); + tempvar temp = temp * (pow44 - pow1997); + tempvar temp = temp * (pow44 - pow1998); + tempvar temp = temp * (pow44 - pow1999); + tempvar temp = temp * (pow44 - pow2000); + tempvar temp = temp * (pow44 - pow2001); + tempvar temp = temp * (pow44 - pow2002); + tempvar temp = temp * (pow44 - pow2003); + tempvar temp = temp * (pow44 - pow2004); + tempvar temp = temp * (domain86); + assert domain91 = temp * (domain90); + tempvar temp = pow44 - pow1950; + tempvar temp = temp * (pow44 - pow1951); + tempvar temp = temp * (pow44 - pow1952); + tempvar temp = temp * (pow44 - pow1953); + tempvar temp = temp * (pow44 - pow1954); + tempvar temp = temp * (pow44 - pow1955); + tempvar temp = temp * (pow44 - pow1956); + assert domain92 = temp * (pow44 - pow1957); + tempvar temp = pow44 - pow1958; + tempvar temp = temp * (pow44 - pow1959); + tempvar temp = temp * (pow44 - pow1960); + tempvar temp = temp * (pow44 - pow1961); + tempvar temp = temp * (pow44 - pow1962); + tempvar temp = temp * (pow44 - pow1963); + tempvar temp = temp * (pow44 - pow1964); + tempvar temp = temp * (pow44 - pow1965); + tempvar temp = temp * (pow44 - pow1966); + tempvar temp = temp * (pow44 - pow1967); + tempvar temp = temp * (pow44 - pow1968); + tempvar temp = temp * (pow44 - pow1969); + tempvar temp = temp * (pow44 - pow1970); + tempvar temp = temp * (pow44 - pow1971); + tempvar temp = temp * (pow44 - pow1972); + tempvar temp = temp * (pow44 - pow1973); + tempvar temp = temp * (domain91); + assert domain93 = temp * (domain92); + tempvar temp = pow44 - pow1880; + tempvar temp = temp * (pow44 - pow1881); + tempvar temp = temp * (pow44 - pow1882); + tempvar temp = temp * (pow44 - pow1883); + tempvar temp = temp * (pow44 - pow1884); + tempvar temp = temp * (pow44 - pow1885); + tempvar temp = temp * (pow44 - pow1886); + tempvar temp = temp * (pow44 - pow1887); + tempvar temp = temp * (pow44 - pow1911); + tempvar temp = temp * (pow44 - pow1912); + tempvar temp = temp * (pow44 - pow1913); + tempvar temp = temp * (pow44 - pow1914); + tempvar temp = temp * (pow44 - pow1915); + tempvar temp = temp * (pow44 - pow1916); + tempvar temp = temp * (pow44 - pow1917); + assert domain94 = temp * (pow44 - pow1918); + tempvar temp = pow44 - pow1817; + tempvar temp = temp * (pow44 - pow1818); + tempvar temp = temp * (pow44 - pow1819); + tempvar temp = temp * (pow44 - pow1820); + tempvar temp = temp * (pow44 - pow1821); + tempvar temp = temp * (pow44 - pow1822); + tempvar temp = temp * (pow44 - pow1823); + tempvar temp = temp * (pow44 - pow1824); + tempvar temp = temp * (pow44 - pow1841); + tempvar temp = temp * (pow44 - pow1842); + tempvar temp = temp * (pow44 - pow1843); + tempvar temp = temp * (pow44 - pow1844); + tempvar temp = temp * (pow44 - pow1845); + tempvar temp = temp * (pow44 - pow1846); + tempvar temp = temp * (pow44 - pow1847); + tempvar temp = temp * (pow44 - pow1848); + assert domain95 = temp * (domain94); + tempvar temp = pow44 - pow1825; + tempvar temp = temp * (pow44 - pow1826); + tempvar temp = temp * (pow44 - pow1827); + tempvar temp = temp * (pow44 - pow1828); + tempvar temp = temp * (pow44 - pow1829); + tempvar temp = temp * (pow44 - pow1830); + tempvar temp = temp * (pow44 - pow1831); + tempvar temp = temp * (pow44 - pow1832); + tempvar temp = temp * (pow44 - pow1833); + tempvar temp = temp * (pow44 - pow1834); + tempvar temp = temp * (pow44 - pow1835); + tempvar temp = temp * (pow44 - pow1836); + tempvar temp = temp * (pow44 - pow1837); + tempvar temp = temp * (pow44 - pow1838); tempvar temp = temp * (pow44 - pow1839); + tempvar temp = temp * (pow44 - pow1840); + tempvar temp = temp * (pow44 - pow1849); + tempvar temp = temp * (pow44 - pow1850); + tempvar temp = temp * (pow44 - pow1851); + tempvar temp = temp * (pow44 - pow1852); + tempvar temp = temp * (pow44 - pow1853); + tempvar temp = temp * (pow44 - pow1854); + tempvar temp = temp * (pow44 - pow1855); + tempvar temp = temp * (pow44 - pow1856); + tempvar temp = temp * (pow44 - pow1857); + tempvar temp = temp * (pow44 - pow1858); + tempvar temp = temp * (pow44 - pow1859); + tempvar temp = temp * (pow44 - pow1860); + tempvar temp = temp * (pow44 - pow1861); + tempvar temp = temp * (pow44 - pow1862); tempvar temp = temp * (pow44 - pow1863); tempvar temp = temp * (pow44 - pow1864); - tempvar temp = temp * (pow44 - pow1865); - tempvar temp = temp * (pow44 - pow1866); - tempvar temp = temp * (pow44 - pow1867); - tempvar temp = temp * (pow44 - pow1868); - tempvar temp = temp * (pow44 - pow1869); - tempvar temp = temp * (pow44 - pow1870); - tempvar temp = temp * (pow44 - pow1871); - tempvar temp = temp * (pow44 - pow1872); - tempvar temp = temp * (pow44 - pow1873); - tempvar temp = temp * (pow44 - pow1874); - tempvar temp = temp * (pow44 - pow1875); - tempvar temp = temp * (pow44 - pow1876); - tempvar temp = temp * (pow44 - pow1877); - tempvar temp = temp * (pow44 - pow1878); + tempvar temp = temp * (pow44 - pow1888); + tempvar temp = temp * (pow44 - pow1889); + tempvar temp = temp * (pow44 - pow1890); + tempvar temp = temp * (pow44 - pow1891); + tempvar temp = temp * (pow44 - pow1892); + tempvar temp = temp * (pow44 - pow1893); + tempvar temp = temp * (pow44 - pow1894); + tempvar temp = temp * (pow44 - pow1895); + tempvar temp = temp * (pow44 - pow1896); + tempvar temp = temp * (pow44 - pow1897); + tempvar temp = temp * (pow44 - pow1898); + tempvar temp = temp * (pow44 - pow1899); + tempvar temp = temp * (pow44 - pow1900); + tempvar temp = temp * (pow44 - pow1901); tempvar temp = temp * (pow44 - pow1902); tempvar temp = temp * (pow44 - pow1903); - tempvar temp = temp * (pow44 - pow1904); - tempvar temp = temp * (pow44 - pow1905); - tempvar temp = temp * (pow44 - pow1906); - tempvar temp = temp * (pow44 - pow1907); - tempvar temp = temp * (pow44 - pow1908); - assert domain40 = temp * (domain39); - tempvar temp = pow44 - pow848; + tempvar temp = temp * (pow44 - pow1919); + tempvar temp = temp * (pow44 - pow1920); + tempvar temp = temp * (pow44 - pow1921); + tempvar temp = temp * (pow44 - pow1922); + tempvar temp = temp * (pow44 - pow1923); + tempvar temp = temp * (pow44 - pow1924); + tempvar temp = temp * (pow44 - pow1925); + tempvar temp = temp * (pow44 - pow1926); + tempvar temp = temp * (pow44 - pow1927); + tempvar temp = temp * (pow44 - pow1928); + tempvar temp = temp * (pow44 - pow1929); + tempvar temp = temp * (pow44 - pow1930); + tempvar temp = temp * (pow44 - pow1931); + tempvar temp = temp * (pow44 - pow1932); + tempvar temp = temp * (pow44 - pow1933); + tempvar temp = temp * (pow44 - pow1934); + tempvar temp = temp * (domain93); + assert domain96 = temp * (domain95); + tempvar temp = pow44 - pow1769; + tempvar temp = temp * (pow44 - pow1770); + tempvar temp = temp * (pow44 - pow1771); + tempvar temp = temp * (pow44 - pow1772); + tempvar temp = temp * (pow44 - pow1773); + tempvar temp = temp * (pow44 - pow1774); + tempvar temp = temp * (pow44 - pow1775); + tempvar temp = temp * (pow44 - pow1776); + tempvar temp = temp * (pow44 - pow1777); + tempvar temp = temp * (pow44 - pow1778); + tempvar temp = temp * (pow44 - pow1779); + tempvar temp = temp * (pow44 - pow1780); + tempvar temp = temp * (pow44 - pow1781); + tempvar temp = temp * (pow44 - pow1782); + tempvar temp = temp * (pow44 - pow1783); + tempvar temp = temp * (pow44 - pow1784); + tempvar temp = temp * (pow44 - pow1785); + tempvar temp = temp * (pow44 - pow1786); + tempvar temp = temp * (pow44 - pow1787); + tempvar temp = temp * (pow44 - pow1788); + tempvar temp = temp * (pow44 - pow1789); + tempvar temp = temp * (pow44 - pow1790); + tempvar temp = temp * (pow44 - pow1791); + tempvar temp = temp * (pow44 - pow1792); + tempvar temp = temp * (pow44 - pow1793); + tempvar temp = temp * (pow44 - pow1794); + tempvar temp = temp * (pow44 - pow1795); + tempvar temp = temp * (pow44 - pow1796); + tempvar temp = temp * (pow44 - pow1797); + tempvar temp = temp * (pow44 - pow1798); + tempvar temp = temp * (pow44 - pow1799); + tempvar temp = temp * (pow44 - pow1800); + tempvar temp = temp * (pow44 - pow1801); + tempvar temp = temp * (pow44 - pow1802); + tempvar temp = temp * (pow44 - pow1803); + tempvar temp = temp * (pow44 - pow1804); + tempvar temp = temp * (pow44 - pow1805); + tempvar temp = temp * (pow44 - pow1806); + tempvar temp = temp * (pow44 - pow1807); + tempvar temp = temp * (pow44 - pow1808); + tempvar temp = temp * (pow44 - pow1809); + tempvar temp = temp * (pow44 - pow1810); + tempvar temp = temp * (pow44 - pow1811); + tempvar temp = temp * (pow44 - pow1812); + tempvar temp = temp * (pow44 - pow1813); + tempvar temp = temp * (pow44 - pow1814); + tempvar temp = temp * (pow44 - pow1815); + tempvar temp = temp * (pow44 - pow1816); + assert domain97 = temp * (domain96); + tempvar temp = pow44 - pow1745; + tempvar temp = temp * (pow44 - pow1746); + tempvar temp = temp * (pow44 - pow1747); + tempvar temp = temp * (pow44 - pow1748); + tempvar temp = temp * (pow44 - pow1749); + tempvar temp = temp * (pow44 - pow1750); + tempvar temp = temp * (pow44 - pow1751); + tempvar temp = temp * (pow44 - pow1752); + tempvar temp = temp * (pow44 - pow1753); + tempvar temp = temp * (pow44 - pow1754); + tempvar temp = temp * (pow44 - pow1755); + tempvar temp = temp * (pow44 - pow1756); + tempvar temp = temp * (pow44 - pow1757); + tempvar temp = temp * (pow44 - pow1758); + tempvar temp = temp * (pow44 - pow1759); + tempvar temp = temp * (pow44 - pow1760); + tempvar temp = temp * (pow44 - pow1761); + tempvar temp = temp * (pow44 - pow1762); + tempvar temp = temp * (pow44 - pow1763); + tempvar temp = temp * (pow44 - pow1764); + tempvar temp = temp * (pow44 - pow1765); + tempvar temp = temp * (pow44 - pow1766); + tempvar temp = temp * (pow44 - pow1767); + tempvar temp = temp * (pow44 - pow1768); + assert domain98 = temp * (domain97); + tempvar temp = pow44 - pow850; + tempvar temp = temp * (pow44 - pow851); + tempvar temp = temp * (pow44 - pow852); + tempvar temp = temp * (pow44 - pow853); + tempvar temp = temp * (pow44 - pow854); + tempvar temp = temp * (pow44 - pow855); + tempvar temp = temp * (pow44 - pow856); + assert domain99 = temp * (pow44 - pow857); + assert domain100 = pow44 - pow889; + tempvar temp = pow44 - pow890; + tempvar temp = temp * (pow44 - pow891); + tempvar temp = temp * (pow44 - pow892); + tempvar temp = temp * (pow44 - pow893); + tempvar temp = temp * (pow44 - pow894); + tempvar temp = temp * (pow44 - pow895); + tempvar temp = temp * (pow44 - pow896); + tempvar temp = temp * (pow44 - pow920); + tempvar temp = temp * (pow44 - pow921); + tempvar temp = temp * (pow44 - pow922); + tempvar temp = temp * (pow44 - pow923); + tempvar temp = temp * (pow44 - pow924); + tempvar temp = temp * (pow44 - pow925); + tempvar temp = temp * (pow44 - pow926); + tempvar temp = temp * (pow44 - pow927); + tempvar temp = temp * (pow44 - pow959); + tempvar temp = temp * (pow44 - pow960); + tempvar temp = temp * (pow44 - pow961); + tempvar temp = temp * (pow44 - pow962); + tempvar temp = temp * (pow44 - pow963); + tempvar temp = temp * (pow44 - pow964); + tempvar temp = temp * (pow44 - pow965); + tempvar temp = temp * (pow44 - pow966); + tempvar temp = temp * (domain99); + assert domain101 = temp * (domain100); + tempvar temp = pow44 - pow858; + tempvar temp = temp * (pow44 - pow859); + tempvar temp = temp * (pow44 - pow860); + tempvar temp = temp * (pow44 - pow861); + tempvar temp = temp * (pow44 - pow862); + tempvar temp = temp * (pow44 - pow863); + tempvar temp = temp * (pow44 - pow864); + tempvar temp = temp * (pow44 - pow865); + tempvar temp = temp * (pow44 - pow866); + tempvar temp = temp * (pow44 - pow867); + tempvar temp = temp * (pow44 - pow868); + tempvar temp = temp * (pow44 - pow869); + tempvar temp = temp * (pow44 - pow870); + tempvar temp = temp * (pow44 - pow871); tempvar temp = temp * (pow44 - pow872); tempvar temp = temp * (pow44 - pow873); - tempvar temp = temp * (pow44 - pow874); - tempvar temp = temp * (pow44 - pow875); - tempvar temp = temp * (pow44 - pow876); - tempvar temp = temp * (pow44 - pow877); - tempvar temp = temp * (pow44 - pow878); - tempvar temp = temp * (pow44 - pow879); - tempvar temp = temp * (pow44 - pow880); - tempvar temp = temp * (pow44 - pow881); - tempvar temp = temp * (pow44 - pow882); - tempvar temp = temp * (pow44 - pow883); - tempvar temp = temp * (pow44 - pow884); - tempvar temp = temp * (pow44 - pow885); - tempvar temp = temp * (pow44 - pow886); - tempvar temp = temp * (pow44 - pow887); + assert domain102 = temp * (domain70); + tempvar temp = pow44 - pow897; + tempvar temp = temp * (pow44 - pow898); + tempvar temp = temp * (pow44 - pow899); + tempvar temp = temp * (pow44 - pow900); + tempvar temp = temp * (pow44 - pow901); + tempvar temp = temp * (pow44 - pow902); + tempvar temp = temp * (pow44 - pow903); + tempvar temp = temp * (pow44 - pow904); + tempvar temp = temp * (pow44 - pow905); + tempvar temp = temp * (pow44 - pow906); + tempvar temp = temp * (pow44 - pow907); + tempvar temp = temp * (pow44 - pow908); + tempvar temp = temp * (pow44 - pow909); + tempvar temp = temp * (pow44 - pow910); tempvar temp = temp * (pow44 - pow911); tempvar temp = temp * (pow44 - pow912); - tempvar temp = temp * (pow44 - pow913); - tempvar temp = temp * (pow44 - pow914); - tempvar temp = temp * (pow44 - pow915); - tempvar temp = temp * (pow44 - pow916); - tempvar temp = temp * (pow44 - pow917); - tempvar temp = temp * (pow44 - pow918); + tempvar temp = temp * (pow44 - pow928); + tempvar temp = temp * (pow44 - pow929); + tempvar temp = temp * (pow44 - pow930); + tempvar temp = temp * (pow44 - pow931); + tempvar temp = temp * (pow44 - pow932); + tempvar temp = temp * (pow44 - pow933); + tempvar temp = temp * (pow44 - pow934); + tempvar temp = temp * (pow44 - pow935); + tempvar temp = temp * (pow44 - pow936); + tempvar temp = temp * (pow44 - pow937); + tempvar temp = temp * (pow44 - pow938); + tempvar temp = temp * (pow44 - pow939); + tempvar temp = temp * (pow44 - pow940); + tempvar temp = temp * (pow44 - pow941); tempvar temp = temp * (pow44 - pow942); tempvar temp = temp * (pow44 - pow943); - tempvar temp = temp * (pow44 - pow944); - tempvar temp = temp * (pow44 - pow945); - tempvar temp = temp * (pow44 - pow946); - tempvar temp = temp * (pow44 - pow947); - tempvar temp = temp * (pow44 - pow948); - tempvar temp = temp * (pow44 - pow949); - tempvar temp = temp * (pow44 - pow950); - tempvar temp = temp * (pow44 - pow951); - tempvar temp = temp * (pow44 - pow952); - tempvar temp = temp * (pow44 - pow953); - tempvar temp = temp * (pow44 - pow954); - tempvar temp = temp * (pow44 - pow955); - tempvar temp = temp * (pow44 - pow956); - tempvar temp = temp * (pow44 - pow957); + tempvar temp = temp * (pow44 - pow967); + tempvar temp = temp * (pow44 - pow968); + tempvar temp = temp * (pow44 - pow969); + tempvar temp = temp * (pow44 - pow970); + tempvar temp = temp * (pow44 - pow971); + tempvar temp = temp * (pow44 - pow972); + tempvar temp = temp * (pow44 - pow973); + tempvar temp = temp * (pow44 - pow974); + tempvar temp = temp * (pow44 - pow975); + tempvar temp = temp * (pow44 - pow976); + tempvar temp = temp * (pow44 - pow977); + tempvar temp = temp * (pow44 - pow978); + tempvar temp = temp * (pow44 - pow979); + tempvar temp = temp * (pow44 - pow980); tempvar temp = temp * (pow44 - pow981); tempvar temp = temp * (pow44 - pow982); - tempvar temp = temp * (pow44 - pow983); - tempvar temp = temp * (pow44 - pow984); - tempvar temp = temp * (pow44 - pow985); - tempvar temp = temp * (pow44 - pow986); - tempvar temp = temp * (pow44 - pow987); - tempvar temp = temp * (pow44 - pow1154); + tempvar temp = temp * (domain101); + assert domain103 = temp * (domain102); + assert domain104 = pow44 - pow1014; + tempvar temp = pow44 - pow990; + tempvar temp = temp * (pow44 - pow991); + tempvar temp = temp * (pow44 - pow992); + tempvar temp = temp * (pow44 - pow993); + tempvar temp = temp * (pow44 - pow994); + tempvar temp = temp * (pow44 - pow995); + tempvar temp = temp * (pow44 - pow996); + tempvar temp = temp * (pow44 - pow997); + tempvar temp = temp * (pow44 - pow1017); + tempvar temp = temp * (pow44 - pow1020); + tempvar temp = temp * (pow44 - pow1023); + tempvar temp = temp * (pow44 - pow1026); + tempvar temp = temp * (pow44 - pow1029); + tempvar temp = temp * (pow44 - pow1032); + tempvar temp = temp * (pow44 - pow1035); + assert domain105 = temp * (domain104); + tempvar temp = pow44 - pow1015; + tempvar temp = temp * (pow44 - pow1018); + tempvar temp = temp * (pow44 - pow1021); + tempvar temp = temp * (pow44 - pow1024); + tempvar temp = temp * (pow44 - pow1027); + tempvar temp = temp * (pow44 - pow1030); + tempvar temp = temp * (pow44 - pow1033); + tempvar temp = temp * (pow44 - pow1052); + assert domain106 = temp * (domain105); + tempvar temp = pow44 - pow1016; + tempvar temp = temp * (pow44 - pow1019); + tempvar temp = temp * (pow44 - pow1022); + tempvar temp = temp * (pow44 - pow1025); + tempvar temp = temp * (pow44 - pow1028); + tempvar temp = temp * (pow44 - pow1031); + tempvar temp = temp * (pow44 - pow1034); + tempvar temp = temp * (pow44 - pow1069); + assert domain107 = temp * (domain106); + tempvar temp = pow44 - pow998; + tempvar temp = temp * (pow44 - pow999); + tempvar temp = temp * (pow44 - pow1000); + tempvar temp = temp * (pow44 - pow1001); + tempvar temp = temp * (pow44 - pow1002); + tempvar temp = temp * (pow44 - pow1003); + tempvar temp = temp * (pow44 - pow1004); + tempvar temp = temp * (pow44 - pow1005); + tempvar temp = temp * (pow44 - pow1006); + tempvar temp = temp * (pow44 - pow1007); + tempvar temp = temp * (pow44 - pow1008); + tempvar temp = temp * (pow44 - pow1009); + tempvar temp = temp * (pow44 - pow1010); + tempvar temp = temp * (pow44 - pow1011); + tempvar temp = temp * (pow44 - pow1012); + tempvar temp = temp * (pow44 - pow1013); + tempvar temp = temp * (pow44 - pow1036); + tempvar temp = temp * (pow44 - pow1037); + tempvar temp = temp * (pow44 - pow1038); + tempvar temp = temp * (pow44 - pow1039); + tempvar temp = temp * (pow44 - pow1040); + tempvar temp = temp * (pow44 - pow1041); + tempvar temp = temp * (pow44 - pow1042); + tempvar temp = temp * (pow44 - pow1043); + tempvar temp = temp * (pow44 - pow1044); + tempvar temp = temp * (pow44 - pow1045); + tempvar temp = temp * (pow44 - pow1046); + tempvar temp = temp * (pow44 - pow1047); + tempvar temp = temp * (pow44 - pow1048); + tempvar temp = temp * (pow44 - pow1049); + tempvar temp = temp * (pow44 - pow1050); + tempvar temp = temp * (pow44 - pow1051); + assert domain108 = temp * (domain103); + tempvar temp = pow44 - pow1053; + tempvar temp = temp * (pow44 - pow1054); + tempvar temp = temp * (pow44 - pow1055); + tempvar temp = temp * (pow44 - pow1056); + tempvar temp = temp * (pow44 - pow1057); + tempvar temp = temp * (pow44 - pow1058); + tempvar temp = temp * (pow44 - pow1059); + tempvar temp = temp * (pow44 - pow1060); + tempvar temp = temp * (pow44 - pow1061); + tempvar temp = temp * (pow44 - pow1062); + tempvar temp = temp * (pow44 - pow1063); + tempvar temp = temp * (pow44 - pow1064); + tempvar temp = temp * (pow44 - pow1065); + tempvar temp = temp * (pow44 - pow1066); + tempvar temp = temp * (pow44 - pow1067); + tempvar temp = temp * (pow44 - pow1068); + tempvar temp = temp * (pow44 - pow1070); + tempvar temp = temp * (pow44 - pow1071); + tempvar temp = temp * (pow44 - pow1072); + tempvar temp = temp * (pow44 - pow1073); + tempvar temp = temp * (pow44 - pow1074); + tempvar temp = temp * (pow44 - pow1075); + tempvar temp = temp * (pow44 - pow1076); + tempvar temp = temp * (pow44 - pow1077); + tempvar temp = temp * (pow44 - pow1078); + tempvar temp = temp * (pow44 - pow1079); + tempvar temp = temp * (pow44 - pow1080); + tempvar temp = temp * (pow44 - pow1081); + tempvar temp = temp * (pow44 - pow1082); + tempvar temp = temp * (pow44 - pow1083); + tempvar temp = temp * (pow44 - pow1084); + tempvar temp = temp * (pow44 - pow1085); + tempvar temp = temp * (domain107); + assert domain109 = temp * (domain108); + tempvar temp = pow44 - pow1086; + tempvar temp = temp * (pow44 - pow1087); + tempvar temp = temp * (pow44 - pow1088); + tempvar temp = temp * (pow44 - pow1089); + tempvar temp = temp * (pow44 - pow1090); + tempvar temp = temp * (pow44 - pow1091); + tempvar temp = temp * (pow44 - pow1092); + tempvar temp = temp * (pow44 - pow1093); + tempvar temp = temp * (pow44 - pow1125); + tempvar temp = temp * (pow44 - pow1126); + tempvar temp = temp * (pow44 - pow1127); + tempvar temp = temp * (pow44 - pow1128); + tempvar temp = temp * (pow44 - pow1129); + tempvar temp = temp * (pow44 - pow1130); + tempvar temp = temp * (pow44 - pow1131); + tempvar temp = temp * (pow44 - pow1132); + tempvar temp = temp * (pow44 - pow1156); + tempvar temp = temp * (pow44 - pow1157); + tempvar temp = temp * (pow44 - pow1158); + tempvar temp = temp * (pow44 - pow1159); + tempvar temp = temp * (pow44 - pow1160); + tempvar temp = temp * (pow44 - pow1161); + tempvar temp = temp * (pow44 - pow1162); + tempvar temp = temp * (pow44 - pow1163); + tempvar temp = temp * (pow44 - pow1195); + tempvar temp = temp * (pow44 - pow1196); + tempvar temp = temp * (pow44 - pow1197); + tempvar temp = temp * (pow44 - pow1198); + tempvar temp = temp * (pow44 - pow1199); + tempvar temp = temp * (pow44 - pow1200); + tempvar temp = temp * (pow44 - pow1201); + assert domain110 = temp * (pow44 - pow1202); + tempvar temp = pow44 - pow1226; + tempvar temp = temp * (pow44 - pow1227); + tempvar temp = temp * (pow44 - pow1228); + tempvar temp = temp * (pow44 - pow1229); + tempvar temp = temp * (pow44 - pow1230); + tempvar temp = temp * (pow44 - pow1231); + tempvar temp = temp * (pow44 - pow1232); + tempvar temp = temp * (pow44 - pow1233); + assert domain111 = temp * (domain110); + assert domain112 = pow44 - pow1265; + tempvar temp = pow44 - pow1266; + tempvar temp = temp * (pow44 - pow1267); + tempvar temp = temp * (pow44 - pow1268); + tempvar temp = temp * (pow44 - pow1269); + tempvar temp = temp * (pow44 - pow1270); + tempvar temp = temp * (pow44 - pow1271); + tempvar temp = temp * (pow44 - pow1272); + tempvar temp = temp * (pow44 - pow1296); + tempvar temp = temp * (pow44 - pow1300); + tempvar temp = temp * (pow44 - pow1304); + tempvar temp = temp * (pow44 - pow1308); + tempvar temp = temp * (pow44 - pow1312); + tempvar temp = temp * (pow44 - pow1316); + tempvar temp = temp * (pow44 - pow1320); + tempvar temp = temp * (pow44 - pow1324); + tempvar temp = temp * (pow44 - pow1297); + tempvar temp = temp * (pow44 - pow1301); + tempvar temp = temp * (pow44 - pow1305); + tempvar temp = temp * (pow44 - pow1309); + tempvar temp = temp * (pow44 - pow1313); + tempvar temp = temp * (pow44 - pow1317); + tempvar temp = temp * (pow44 - pow1321); + tempvar temp = temp * (pow44 - pow1326); + tempvar temp = temp * (domain111); + assert domain113 = temp * (domain112); + tempvar temp = pow44 - pow1298; + tempvar temp = temp * (pow44 - pow1302); + tempvar temp = temp * (pow44 - pow1306); + tempvar temp = temp * (pow44 - pow1310); + tempvar temp = temp * (pow44 - pow1314); + tempvar temp = temp * (pow44 - pow1318); + tempvar temp = temp * (pow44 - pow1322); + tempvar temp = temp * (pow44 - pow1328); + assert domain114 = temp * (domain113); + tempvar temp = pow44 - pow1299; + tempvar temp = temp * (pow44 - pow1303); + tempvar temp = temp * (pow44 - pow1307); + tempvar temp = temp * (pow44 - pow1311); + tempvar temp = temp * (pow44 - pow1315); + tempvar temp = temp * (pow44 - pow1319); + tempvar temp = temp * (pow44 - pow1323); + tempvar temp = temp * (pow44 - pow1330); + assert domain115 = temp * (domain114); + tempvar temp = pow44 - pow1094; + tempvar temp = temp * (pow44 - pow1095); + tempvar temp = temp * (pow44 - pow1096); + tempvar temp = temp * (pow44 - pow1097); + tempvar temp = temp * (pow44 - pow1098); + tempvar temp = temp * (pow44 - pow1099); + tempvar temp = temp * (pow44 - pow1100); + tempvar temp = temp * (pow44 - pow1101); + tempvar temp = temp * (pow44 - pow1102); + tempvar temp = temp * (pow44 - pow1103); + tempvar temp = temp * (pow44 - pow1104); + tempvar temp = temp * (pow44 - pow1105); + tempvar temp = temp * (pow44 - pow1106); + tempvar temp = temp * (pow44 - pow1107); + tempvar temp = temp * (pow44 - pow1108); + tempvar temp = temp * (pow44 - pow1109); + tempvar temp = temp * (pow44 - pow1133); + tempvar temp = temp * (pow44 - pow1134); + tempvar temp = temp * (pow44 - pow1135); + tempvar temp = temp * (pow44 - pow1136); + tempvar temp = temp * (pow44 - pow1137); + tempvar temp = temp * (pow44 - pow1138); + tempvar temp = temp * (pow44 - pow1139); + tempvar temp = temp * (pow44 - pow1140); + tempvar temp = temp * (pow44 - pow1141); + tempvar temp = temp * (pow44 - pow1142); + tempvar temp = temp * (pow44 - pow1143); + tempvar temp = temp * (pow44 - pow1144); + tempvar temp = temp * (pow44 - pow1145); + tempvar temp = temp * (pow44 - pow1146); + tempvar temp = temp * (pow44 - pow1147); + tempvar temp = temp * (pow44 - pow1148); + tempvar temp = temp * (pow44 - pow1164); + tempvar temp = temp * (pow44 - pow1165); + tempvar temp = temp * (pow44 - pow1166); + tempvar temp = temp * (pow44 - pow1167); + tempvar temp = temp * (pow44 - pow1168); + tempvar temp = temp * (pow44 - pow1169); + tempvar temp = temp * (pow44 - pow1170); + tempvar temp = temp * (pow44 - pow1171); + tempvar temp = temp * (pow44 - pow1172); + tempvar temp = temp * (pow44 - pow1173); + tempvar temp = temp * (pow44 - pow1174); + tempvar temp = temp * (pow44 - pow1175); + tempvar temp = temp * (pow44 - pow1176); + tempvar temp = temp * (pow44 - pow1177); tempvar temp = temp * (pow44 - pow1178); tempvar temp = temp * (pow44 - pow1179); - tempvar temp = temp * (pow44 - pow1180); - tempvar temp = temp * (pow44 - pow1181); - tempvar temp = temp * (pow44 - pow1182); - tempvar temp = temp * (pow44 - pow1183); - tempvar temp = temp * (pow44 - pow1184); - tempvar temp = temp * (pow44 - pow1185); - tempvar temp = temp * (pow44 - pow1186); - tempvar temp = temp * (pow44 - pow1187); - tempvar temp = temp * (pow44 - pow1188); - tempvar temp = temp * (pow44 - pow1189); - tempvar temp = temp * (pow44 - pow1190); - tempvar temp = temp * (pow44 - pow1191); - tempvar temp = temp * (pow44 - pow1192); - tempvar temp = temp * (pow44 - pow1193); + tempvar temp = temp * (pow44 - pow1203); + tempvar temp = temp * (pow44 - pow1204); + tempvar temp = temp * (pow44 - pow1205); + tempvar temp = temp * (pow44 - pow1206); + tempvar temp = temp * (pow44 - pow1207); + tempvar temp = temp * (pow44 - pow1208); + tempvar temp = temp * (pow44 - pow1209); + tempvar temp = temp * (pow44 - pow1210); + tempvar temp = temp * (pow44 - pow1211); + tempvar temp = temp * (pow44 - pow1212); + tempvar temp = temp * (pow44 - pow1213); + tempvar temp = temp * (pow44 - pow1214); + tempvar temp = temp * (pow44 - pow1215); + tempvar temp = temp * (pow44 - pow1216); tempvar temp = temp * (pow44 - pow1217); tempvar temp = temp * (pow44 - pow1218); - tempvar temp = temp * (pow44 - pow1219); - tempvar temp = temp * (pow44 - pow1220); - tempvar temp = temp * (pow44 - pow1221); - tempvar temp = temp * (pow44 - pow1222); - tempvar temp = temp * (pow44 - pow1223); - tempvar temp = temp * (pow44 - pow1224); + assert domain116 = temp * (domain109); + tempvar temp = pow44 - pow1234; + tempvar temp = temp * (pow44 - pow1235); + tempvar temp = temp * (pow44 - pow1236); + tempvar temp = temp * (pow44 - pow1237); + tempvar temp = temp * (pow44 - pow1238); + tempvar temp = temp * (pow44 - pow1239); + tempvar temp = temp * (pow44 - pow1240); + tempvar temp = temp * (pow44 - pow1241); + tempvar temp = temp * (pow44 - pow1242); + tempvar temp = temp * (pow44 - pow1243); + tempvar temp = temp * (pow44 - pow1244); + tempvar temp = temp * (pow44 - pow1245); + tempvar temp = temp * (pow44 - pow1246); + tempvar temp = temp * (pow44 - pow1247); tempvar temp = temp * (pow44 - pow1248); tempvar temp = temp * (pow44 - pow1249); - tempvar temp = temp * (pow44 - pow1250); - tempvar temp = temp * (pow44 - pow1251); - tempvar temp = temp * (pow44 - pow1252); - tempvar temp = temp * (pow44 - pow1253); - tempvar temp = temp * (pow44 - pow1254); - tempvar temp = temp * (pow44 - pow1255); - tempvar temp = temp * (pow44 - pow1256); - tempvar temp = temp * (pow44 - pow1257); - tempvar temp = temp * (pow44 - pow1258); - tempvar temp = temp * (pow44 - pow1259); - tempvar temp = temp * (pow44 - pow1260); - tempvar temp = temp * (pow44 - pow1261); - tempvar temp = temp * (pow44 - pow1262); - tempvar temp = temp * (pow44 - pow1263); + assert domain117 = temp * (domain116); + tempvar temp = pow44 - pow1273; + tempvar temp = temp * (pow44 - pow1274); + tempvar temp = temp * (pow44 - pow1275); + tempvar temp = temp * (pow44 - pow1276); + tempvar temp = temp * (pow44 - pow1277); + tempvar temp = temp * (pow44 - pow1278); + tempvar temp = temp * (pow44 - pow1279); + tempvar temp = temp * (pow44 - pow1280); + tempvar temp = temp * (pow44 - pow1281); + tempvar temp = temp * (pow44 - pow1282); + tempvar temp = temp * (pow44 - pow1283); + tempvar temp = temp * (pow44 - pow1284); + tempvar temp = temp * (pow44 - pow1285); + tempvar temp = temp * (pow44 - pow1286); tempvar temp = temp * (pow44 - pow1287); tempvar temp = temp * (pow44 - pow1288); - tempvar temp = temp * (pow44 - pow1289); - tempvar temp = temp * (pow44 - pow1290); - tempvar temp = temp * (pow44 - pow1291); - tempvar temp = temp * (pow44 - pow1292); - tempvar temp = temp * (pow44 - pow1293); - tempvar temp = temp * (pow44 - pow1460); + tempvar temp = temp * (pow44 - pow1325); + tempvar temp = temp * (pow44 - pow1332); + tempvar temp = temp * (pow44 - pow1336); + tempvar temp = temp * (pow44 - pow1340); + tempvar temp = temp * (pow44 - pow1344); + tempvar temp = temp * (pow44 - pow1348); + tempvar temp = temp * (pow44 - pow1352); + tempvar temp = temp * (pow44 - pow1356); + tempvar temp = temp * (pow44 - pow1360); + tempvar temp = temp * (pow44 - pow1364); + tempvar temp = temp * (pow44 - pow1368); + tempvar temp = temp * (pow44 - pow1372); + tempvar temp = temp * (pow44 - pow1376); + tempvar temp = temp * (pow44 - pow1380); + tempvar temp = temp * (pow44 - pow1384); + tempvar temp = temp * (pow44 - pow1388); + tempvar temp = temp * (pow44 - pow1327); + tempvar temp = temp * (pow44 - pow1333); + tempvar temp = temp * (pow44 - pow1337); + tempvar temp = temp * (pow44 - pow1341); + tempvar temp = temp * (pow44 - pow1345); + tempvar temp = temp * (pow44 - pow1349); + tempvar temp = temp * (pow44 - pow1353); + tempvar temp = temp * (pow44 - pow1357); + tempvar temp = temp * (pow44 - pow1361); + tempvar temp = temp * (pow44 - pow1365); + tempvar temp = temp * (pow44 - pow1369); + tempvar temp = temp * (pow44 - pow1373); + tempvar temp = temp * (pow44 - pow1377); + tempvar temp = temp * (pow44 - pow1381); + tempvar temp = temp * (pow44 - pow1385); + tempvar temp = temp * (pow44 - pow1389); + assert domain118 = temp * (domain117); + tempvar temp = pow44 - pow1329; + tempvar temp = temp * (pow44 - pow1334); + tempvar temp = temp * (pow44 - pow1338); + tempvar temp = temp * (pow44 - pow1342); + tempvar temp = temp * (pow44 - pow1346); + tempvar temp = temp * (pow44 - pow1350); + tempvar temp = temp * (pow44 - pow1354); + tempvar temp = temp * (pow44 - pow1358); + tempvar temp = temp * (pow44 - pow1362); + tempvar temp = temp * (pow44 - pow1366); + tempvar temp = temp * (pow44 - pow1370); + tempvar temp = temp * (pow44 - pow1374); + tempvar temp = temp * (pow44 - pow1378); + tempvar temp = temp * (pow44 - pow1382); + tempvar temp = temp * (pow44 - pow1386); + tempvar temp = temp * (pow44 - pow1390); + assert domain119 = temp * (domain118); + tempvar temp = pow44 - pow1331; + tempvar temp = temp * (pow44 - pow1335); + tempvar temp = temp * (pow44 - pow1339); + tempvar temp = temp * (pow44 - pow1343); + tempvar temp = temp * (pow44 - pow1347); + tempvar temp = temp * (pow44 - pow1351); + tempvar temp = temp * (pow44 - pow1355); + tempvar temp = temp * (pow44 - pow1359); + tempvar temp = temp * (pow44 - pow1363); + tempvar temp = temp * (pow44 - pow1367); + tempvar temp = temp * (pow44 - pow1371); + tempvar temp = temp * (pow44 - pow1375); + tempvar temp = temp * (pow44 - pow1379); + tempvar temp = temp * (pow44 - pow1383); + tempvar temp = temp * (pow44 - pow1387); + tempvar temp = temp * (pow44 - pow1391); + tempvar temp = temp * (domain115); + assert domain120 = temp * (domain119); + tempvar temp = pow44 - pow1392; + tempvar temp = temp * (pow44 - pow1393); + tempvar temp = temp * (pow44 - pow1394); + tempvar temp = temp * (pow44 - pow1395); + tempvar temp = temp * (pow44 - pow1396); + tempvar temp = temp * (pow44 - pow1397); + tempvar temp = temp * (pow44 - pow1398); + assert domain121 = temp * (pow44 - pow1399); + tempvar temp = pow44 - pow1400; + tempvar temp = temp * (pow44 - pow1401); + tempvar temp = temp * (pow44 - pow1402); + tempvar temp = temp * (pow44 - pow1403); + tempvar temp = temp * (pow44 - pow1404); + tempvar temp = temp * (pow44 - pow1405); + tempvar temp = temp * (pow44 - pow1406); + tempvar temp = temp * (pow44 - pow1407); + tempvar temp = temp * (pow44 - pow1408); + tempvar temp = temp * (pow44 - pow1409); + tempvar temp = temp * (pow44 - pow1410); + tempvar temp = temp * (pow44 - pow1411); + tempvar temp = temp * (pow44 - pow1412); + tempvar temp = temp * (pow44 - pow1413); + tempvar temp = temp * (pow44 - pow1414); + tempvar temp = temp * (pow44 - pow1415); + tempvar temp = temp * (domain120); + assert domain122 = temp * (domain121); + tempvar temp = pow44 - pow1431; + tempvar temp = temp * (pow44 - pow1432); + tempvar temp = temp * (pow44 - pow1433); + tempvar temp = temp * (pow44 - pow1434); + tempvar temp = temp * (pow44 - pow1435); + tempvar temp = temp * (pow44 - pow1436); + tempvar temp = temp * (pow44 - pow1437); + tempvar temp = temp * (pow44 - pow1438); + tempvar temp = temp * (pow44 - pow1462); + tempvar temp = temp * (pow44 - pow1463); + tempvar temp = temp * (pow44 - pow1464); + tempvar temp = temp * (pow44 - pow1465); + tempvar temp = temp * (pow44 - pow1466); + tempvar temp = temp * (pow44 - pow1467); + tempvar temp = temp * (pow44 - pow1468); + assert domain123 = temp * (pow44 - pow1469); + tempvar temp = pow44 - pow1501; + tempvar temp = temp * (pow44 - pow1502); + tempvar temp = temp * (pow44 - pow1503); + tempvar temp = temp * (pow44 - pow1504); + tempvar temp = temp * (pow44 - pow1505); + tempvar temp = temp * (pow44 - pow1506); + tempvar temp = temp * (pow44 - pow1507); + tempvar temp = temp * (pow44 - pow1508); + tempvar temp = temp * (pow44 - pow1532); + tempvar temp = temp * (pow44 - pow1533); + tempvar temp = temp * (pow44 - pow1534); + tempvar temp = temp * (pow44 - pow1535); + tempvar temp = temp * (pow44 - pow1536); + tempvar temp = temp * (pow44 - pow1537); + tempvar temp = temp * (pow44 - pow1538); + tempvar temp = temp * (pow44 - pow1539); + assert domain124 = temp * (domain123); + tempvar temp = pow44 - pow1439; + tempvar temp = temp * (pow44 - pow1440); + tempvar temp = temp * (pow44 - pow1441); + tempvar temp = temp * (pow44 - pow1442); + tempvar temp = temp * (pow44 - pow1443); + tempvar temp = temp * (pow44 - pow1444); + tempvar temp = temp * (pow44 - pow1445); + tempvar temp = temp * (pow44 - pow1446); + tempvar temp = temp * (pow44 - pow1447); + tempvar temp = temp * (pow44 - pow1448); + tempvar temp = temp * (pow44 - pow1449); + tempvar temp = temp * (pow44 - pow1450); + tempvar temp = temp * (pow44 - pow1451); + tempvar temp = temp * (pow44 - pow1452); + tempvar temp = temp * (pow44 - pow1453); + tempvar temp = temp * (pow44 - pow1454); + tempvar temp = temp * (pow44 - pow1470); + tempvar temp = temp * (pow44 - pow1471); + tempvar temp = temp * (pow44 - pow1472); + tempvar temp = temp * (pow44 - pow1473); + tempvar temp = temp * (pow44 - pow1474); + tempvar temp = temp * (pow44 - pow1475); + tempvar temp = temp * (pow44 - pow1476); + tempvar temp = temp * (pow44 - pow1477); + tempvar temp = temp * (pow44 - pow1478); + tempvar temp = temp * (pow44 - pow1479); + tempvar temp = temp * (pow44 - pow1480); + tempvar temp = temp * (pow44 - pow1481); + tempvar temp = temp * (pow44 - pow1482); + tempvar temp = temp * (pow44 - pow1483); tempvar temp = temp * (pow44 - pow1484); tempvar temp = temp * (pow44 - pow1485); - tempvar temp = temp * (pow44 - pow1486); - tempvar temp = temp * (pow44 - pow1487); - tempvar temp = temp * (pow44 - pow1488); - tempvar temp = temp * (pow44 - pow1489); - tempvar temp = temp * (pow44 - pow1490); - tempvar temp = temp * (pow44 - pow1491); - tempvar temp = temp * (pow44 - pow1492); - tempvar temp = temp * (pow44 - pow1493); - tempvar temp = temp * (pow44 - pow1494); - tempvar temp = temp * (pow44 - pow1495); - tempvar temp = temp * (pow44 - pow1496); - tempvar temp = temp * (pow44 - pow1497); - tempvar temp = temp * (pow44 - pow1498); - tempvar temp = temp * (pow44 - pow1499); + tempvar temp = temp * (pow44 - pow1509); + tempvar temp = temp * (pow44 - pow1510); + tempvar temp = temp * (pow44 - pow1511); + tempvar temp = temp * (pow44 - pow1512); + tempvar temp = temp * (pow44 - pow1513); + tempvar temp = temp * (pow44 - pow1514); + tempvar temp = temp * (pow44 - pow1515); + tempvar temp = temp * (pow44 - pow1516); + tempvar temp = temp * (pow44 - pow1517); + tempvar temp = temp * (pow44 - pow1518); + tempvar temp = temp * (pow44 - pow1519); + tempvar temp = temp * (pow44 - pow1520); + tempvar temp = temp * (pow44 - pow1521); + tempvar temp = temp * (pow44 - pow1522); tempvar temp = temp * (pow44 - pow1523); tempvar temp = temp * (pow44 - pow1524); - tempvar temp = temp * (pow44 - pow1525); - tempvar temp = temp * (pow44 - pow1526); - tempvar temp = temp * (pow44 - pow1527); - tempvar temp = temp * (pow44 - pow1528); - tempvar temp = temp * (pow44 - pow1529); - tempvar temp = temp * (pow44 - pow1530); + tempvar temp = temp * (pow44 - pow1540); + tempvar temp = temp * (pow44 - pow1541); + tempvar temp = temp * (pow44 - pow1542); + tempvar temp = temp * (pow44 - pow1543); + tempvar temp = temp * (pow44 - pow1544); + tempvar temp = temp * (pow44 - pow1545); + tempvar temp = temp * (pow44 - pow1546); + tempvar temp = temp * (pow44 - pow1547); + tempvar temp = temp * (pow44 - pow1548); + tempvar temp = temp * (pow44 - pow1549); + tempvar temp = temp * (pow44 - pow1550); + tempvar temp = temp * (pow44 - pow1551); + tempvar temp = temp * (pow44 - pow1552); + tempvar temp = temp * (pow44 - pow1553); tempvar temp = temp * (pow44 - pow1554); tempvar temp = temp * (pow44 - pow1555); - tempvar temp = temp * (pow44 - pow1556); - tempvar temp = temp * (pow44 - pow1557); - tempvar temp = temp * (pow44 - pow1558); - tempvar temp = temp * (pow44 - pow1559); - tempvar temp = temp * (pow44 - pow1560); - tempvar temp = temp * (pow44 - pow1561); - tempvar temp = temp * (pow44 - pow1562); - tempvar temp = temp * (pow44 - pow1563); - tempvar temp = temp * (pow44 - pow1564); - tempvar temp = temp * (pow44 - pow1565); - tempvar temp = temp * (pow44 - pow1566); - tempvar temp = temp * (pow44 - pow1567); - tempvar temp = temp * (pow44 - pow1568); - tempvar temp = temp * (pow44 - pow1569); + tempvar temp = temp * (domain122); + assert domain125 = temp * (domain124); + tempvar temp = pow44 - pow1571; + tempvar temp = temp * (pow44 - pow1572); + tempvar temp = temp * (pow44 - pow1573); + tempvar temp = temp * (pow44 - pow1574); + tempvar temp = temp * (pow44 - pow1575); + tempvar temp = temp * (pow44 - pow1576); + tempvar temp = temp * (pow44 - pow1577); + tempvar temp = temp * (pow44 - pow1578); + tempvar temp = temp * (pow44 - pow1579); + tempvar temp = temp * (pow44 - pow1580); + tempvar temp = temp * (pow44 - pow1581); + tempvar temp = temp * (pow44 - pow1582); + tempvar temp = temp * (pow44 - pow1583); + tempvar temp = temp * (pow44 - pow1584); + tempvar temp = temp * (pow44 - pow1585); + tempvar temp = temp * (pow44 - pow1586); + tempvar temp = temp * (pow44 - pow1587); + tempvar temp = temp * (pow44 - pow1588); + tempvar temp = temp * (pow44 - pow1589); + tempvar temp = temp * (pow44 - pow1590); + tempvar temp = temp * (pow44 - pow1591); + tempvar temp = temp * (pow44 - pow1592); tempvar temp = temp * (pow44 - pow1593); tempvar temp = temp * (pow44 - pow1594); - tempvar temp = temp * (pow44 - pow1595); - tempvar temp = temp * (pow44 - pow1596); - tempvar temp = temp * (pow44 - pow1597); - tempvar temp = temp * (pow44 - pow1598); - tempvar temp = temp * (pow44 - pow1599); - tempvar temp = temp * (pow44 - pow1695); - tempvar temp = temp * (pow44 - pow1696); - tempvar temp = temp * (pow44 - pow1697); - tempvar temp = temp * (pow44 - pow1698); - tempvar temp = temp * (pow44 - pow1699); - tempvar temp = temp * (pow44 - pow1700); - tempvar temp = temp * (pow44 - pow1701); - tempvar temp = temp * (pow44 - pow1702); - tempvar temp = temp * (pow44 - pow1703); - tempvar temp = temp * (pow44 - pow1704); - tempvar temp = temp * (pow44 - pow1705); - tempvar temp = temp * (pow44 - pow1706); - tempvar temp = temp * (pow44 - pow1707); - tempvar temp = temp * (pow44 - pow1708); - tempvar temp = temp * (pow44 - pow1709); - tempvar temp = temp * (pow44 - pow1710); - tempvar temp = temp * (pow44 - pow1711); - tempvar temp = temp * (pow44 - pow1712); - tempvar temp = temp * (pow44 - pow1713); - tempvar temp = temp * (pow44 - pow1714); - tempvar temp = temp * (pow44 - pow1715); - tempvar temp = temp * (pow44 - pow1716); - tempvar temp = temp * (pow44 - pow1717); - tempvar temp = temp * (pow44 - pow1718); - tempvar temp = temp * (pow44 - pow1719); - tempvar temp = temp * (pow44 - pow1720); - tempvar temp = temp * (pow44 - pow1721); - tempvar temp = temp * (pow44 - pow1722); - tempvar temp = temp * (pow44 - pow1723); - tempvar temp = temp * (pow44 - pow1724); - tempvar temp = temp * (pow44 - pow1725); - tempvar temp = temp * (pow44 - pow1726); - tempvar temp = temp * (pow44 - pow1727); - tempvar temp = temp * (pow44 - pow1728); - tempvar temp = temp * (pow44 - pow1729); - tempvar temp = temp * (pow44 - pow1730); - tempvar temp = temp * (pow44 - pow1731); - tempvar temp = temp * (pow44 - pow1732); - tempvar temp = temp * (pow44 - pow1733); - tempvar temp = temp * (pow44 - pow1734); - tempvar temp = temp * (pow44 - pow1735); - tempvar temp = temp * (pow44 - pow1736); - tempvar temp = temp * (pow44 - pow1737); - tempvar temp = temp * (pow44 - pow1738); - tempvar temp = temp * (pow44 - pow1739); - tempvar temp = temp * (pow44 - pow1740); - tempvar temp = temp * (pow44 - pow1741); - tempvar temp = temp * (pow44 - pow1742); - tempvar temp = temp * (pow44 - pow1909); - tempvar temp = temp * (pow44 - pow1933); - tempvar temp = temp * (pow44 - pow1934); - tempvar temp = temp * (pow44 - pow1935); - tempvar temp = temp * (pow44 - pow1936); - tempvar temp = temp * (pow44 - pow1937); - tempvar temp = temp * (pow44 - pow1938); - tempvar temp = temp * (pow44 - pow1939); - tempvar temp = temp * (pow44 - pow1940); - tempvar temp = temp * (pow44 - pow1941); - tempvar temp = temp * (pow44 - pow1942); - tempvar temp = temp * (pow44 - pow1943); - tempvar temp = temp * (pow44 - pow1944); - tempvar temp = temp * (pow44 - pow1945); - tempvar temp = temp * (pow44 - pow1946); - tempvar temp = temp * (pow44 - pow1947); - tempvar temp = temp * (pow44 - pow1948); - tempvar temp = temp * (pow44 - pow1972); - tempvar temp = temp * (pow44 - pow1973); - tempvar temp = temp * (pow44 - pow1974); - tempvar temp = temp * (pow44 - pow1975); - tempvar temp = temp * (pow44 - pow1976); - tempvar temp = temp * (pow44 - pow1977); - tempvar temp = temp * (pow44 - pow1978); - tempvar temp = temp * (pow44 - pow1979); - tempvar temp = temp * (pow44 - pow2003); - tempvar temp = temp * (pow44 - pow2004); - tempvar temp = temp * (pow44 - pow2005); - tempvar temp = temp * (pow44 - pow2006); - tempvar temp = temp * (pow44 - pow2007); - tempvar temp = temp * (pow44 - pow2008); - tempvar temp = temp * (pow44 - pow2009); - tempvar temp = temp * (pow44 - pow2010); - tempvar temp = temp * (pow44 - pow2011); - tempvar temp = temp * (pow44 - pow2012); - tempvar temp = temp * (pow44 - pow2013); - tempvar temp = temp * (pow44 - pow2014); - tempvar temp = temp * (pow44 - pow2015); - tempvar temp = temp * (pow44 - pow2016); - tempvar temp = temp * (pow44 - pow2017); - tempvar temp = temp * (pow44 - pow2018); - tempvar temp = temp * (pow44 - pow2042); - tempvar temp = temp * (pow44 - pow2043); - tempvar temp = temp * (pow44 - pow2044); - tempvar temp = temp * (pow44 - pow2045); - tempvar temp = temp * (pow44 - pow2046); - tempvar temp = temp * (pow44 - pow2047); - tempvar temp = temp * (pow44 - pow2048); - assert domain41 = temp * (domain40); - assert domain42 = pow43 - 1; - assert domain43 = pow42 - 1; - tempvar temp = pow42 - pow56; - assert domain44 = temp * (domain43); - tempvar temp = pow42 - pow49; - tempvar temp = temp * (pow42 - pow50); - tempvar temp = temp * (pow42 - pow51); - tempvar temp = temp * (pow42 - pow52); - tempvar temp = temp * (pow42 - pow53); - tempvar temp = temp * (pow42 - pow54); - tempvar temp = temp * (pow42 - pow55); - tempvar temp = temp * (pow42 - pow57); - tempvar temp = temp * (pow42 - pow58); - tempvar temp = temp * (pow42 - pow59); - tempvar temp = temp * (pow42 - pow60); - tempvar temp = temp * (pow42 - pow61); - tempvar temp = temp * (pow42 - pow62); - tempvar temp = temp * (pow42 - pow63); - assert domain45 = temp * (domain44); - tempvar temp = pow42 - pow64; - tempvar temp = temp * (pow42 - pow65); - tempvar temp = temp * (pow42 - pow66); - tempvar temp = temp * (pow42 - pow67); - tempvar temp = temp * (pow42 - pow68); - tempvar temp = temp * (pow42 - pow69); - assert domain46 = temp * (domain44); - tempvar temp = pow42 - pow70; - tempvar temp = temp * (pow42 - pow71); - tempvar temp = temp * (pow42 - pow72); - tempvar temp = temp * (pow42 - pow73); - tempvar temp = temp * (pow42 - pow74); - tempvar temp = temp * (pow42 - pow75); - tempvar temp = temp * (pow42 - pow76); - tempvar temp = temp * (pow42 - pow77); - tempvar temp = temp * (pow42 - pow78); - tempvar temp = temp * (pow42 - pow79); - tempvar temp = temp * (pow42 - pow80); - tempvar temp = temp * (pow42 - pow81); - tempvar temp = temp * (pow42 - pow82); - tempvar temp = temp * (pow42 - pow83); - tempvar temp = temp * (pow42 - pow84); - tempvar temp = temp * (pow42 - pow85); - assert domain47 = temp * (domain46); - tempvar temp = pow42 - pow86; - tempvar temp = temp * (pow42 - pow87); - tempvar temp = temp * (pow42 - pow88); - tempvar temp = temp * (pow42 - pow89); - tempvar temp = temp * (pow42 - pow90); - tempvar temp = temp * (pow42 - pow91); - assert domain48 = temp * (domain47); - tempvar temp = pow42 - pow92; - tempvar temp = temp * (pow42 - pow93); - assert domain49 = temp * (domain48); - tempvar temp = pow42 - pow94; - tempvar temp = temp * (pow42 - pow124); - tempvar temp = temp * (pow42 - pow154); - tempvar temp = temp * (pow42 - pow184); - tempvar temp = temp * (pow42 - pow214); - tempvar temp = temp * (pow42 - pow244); - tempvar temp = temp * (pow42 - pow274); - tempvar temp = temp * (pow42 - pow304); - tempvar temp = temp * (pow42 - pow334); - tempvar temp = temp * (pow42 - pow364); - tempvar temp = temp * (pow42 - pow394); - tempvar temp = temp * (pow42 - pow424); - tempvar temp = temp * (pow42 - pow454); - tempvar temp = temp * (pow42 - pow484); - tempvar temp = temp * (pow42 - pow514); - tempvar temp = temp * (pow42 - pow544); - tempvar temp = temp * (pow42 - pow574); - tempvar temp = temp * (pow42 - pow604); - tempvar temp = temp * (pow42 - pow634); - tempvar temp = temp * (pow42 - pow664); - tempvar temp = temp * (pow42 - pow694); - tempvar temp = temp * (pow42 - pow724); - tempvar temp = temp * (pow42 - pow754); - assert domain50 = temp * (pow42 - pow784); - tempvar temp = pow42 - pow95; - tempvar temp = temp * (pow42 - pow125); - tempvar temp = temp * (pow42 - pow155); - tempvar temp = temp * (pow42 - pow185); - tempvar temp = temp * (pow42 - pow215); - tempvar temp = temp * (pow42 - pow245); - tempvar temp = temp * (pow42 - pow275); - tempvar temp = temp * (pow42 - pow305); - tempvar temp = temp * (pow42 - pow335); - tempvar temp = temp * (pow42 - pow365); - tempvar temp = temp * (pow42 - pow395); - tempvar temp = temp * (pow42 - pow425); - tempvar temp = temp * (pow42 - pow455); - tempvar temp = temp * (pow42 - pow485); - tempvar temp = temp * (pow42 - pow515); - tempvar temp = temp * (pow42 - pow545); - tempvar temp = temp * (pow42 - pow575); - tempvar temp = temp * (pow42 - pow605); - tempvar temp = temp * (pow42 - pow635); - tempvar temp = temp * (pow42 - pow665); - tempvar temp = temp * (pow42 - pow695); - tempvar temp = temp * (pow42 - pow725); - tempvar temp = temp * (pow42 - pow755); - tempvar temp = temp * (pow42 - pow785); - assert domain51 = temp * (domain50); - tempvar temp = domain44; - assert domain52 = temp * (domain51); - tempvar temp = pow42 - pow96; - tempvar temp = temp * (pow42 - pow97); - tempvar temp = temp * (pow42 - pow98); - tempvar temp = temp * (pow42 - pow99); - tempvar temp = temp * (pow42 - pow100); - tempvar temp = temp * (pow42 - pow101); - tempvar temp = temp * (pow42 - pow102); - tempvar temp = temp * (pow42 - pow103); - tempvar temp = temp * (pow42 - pow104); - tempvar temp = temp * (pow42 - pow105); - tempvar temp = temp * (pow42 - pow106); - tempvar temp = temp * (pow42 - pow107); - tempvar temp = temp * (pow42 - pow108); - tempvar temp = temp * (pow42 - pow109); - tempvar temp = temp * (pow42 - pow110); - tempvar temp = temp * (pow42 - pow111); - tempvar temp = temp * (pow42 - pow112); - tempvar temp = temp * (pow42 - pow113); - tempvar temp = temp * (pow42 - pow114); - tempvar temp = temp * (pow42 - pow115); - tempvar temp = temp * (pow42 - pow116); - tempvar temp = temp * (pow42 - pow117); - tempvar temp = temp * (pow42 - pow118); - tempvar temp = temp * (pow42 - pow119); - tempvar temp = temp * (pow42 - pow120); - tempvar temp = temp * (pow42 - pow121); - tempvar temp = temp * (pow42 - pow122); - tempvar temp = temp * (pow42 - pow123); - tempvar temp = temp * (pow42 - pow126); - tempvar temp = temp * (pow42 - pow127); - tempvar temp = temp * (pow42 - pow128); - tempvar temp = temp * (pow42 - pow129); - tempvar temp = temp * (pow42 - pow130); - tempvar temp = temp * (pow42 - pow131); - tempvar temp = temp * (pow42 - pow132); - tempvar temp = temp * (pow42 - pow133); - tempvar temp = temp * (pow42 - pow134); - tempvar temp = temp * (pow42 - pow135); - tempvar temp = temp * (pow42 - pow136); - tempvar temp = temp * (pow42 - pow137); - tempvar temp = temp * (pow42 - pow138); - tempvar temp = temp * (pow42 - pow139); - tempvar temp = temp * (pow42 - pow140); - tempvar temp = temp * (pow42 - pow141); - tempvar temp = temp * (pow42 - pow142); - tempvar temp = temp * (pow42 - pow143); - tempvar temp = temp * (pow42 - pow144); - tempvar temp = temp * (pow42 - pow145); - tempvar temp = temp * (pow42 - pow146); - tempvar temp = temp * (pow42 - pow147); - tempvar temp = temp * (pow42 - pow148); - tempvar temp = temp * (pow42 - pow149); - tempvar temp = temp * (pow42 - pow150); - tempvar temp = temp * (pow42 - pow151); - tempvar temp = temp * (pow42 - pow152); - tempvar temp = temp * (pow42 - pow153); - tempvar temp = temp * (pow42 - pow156); - tempvar temp = temp * (pow42 - pow157); - tempvar temp = temp * (pow42 - pow158); - tempvar temp = temp * (pow42 - pow159); - tempvar temp = temp * (pow42 - pow160); - tempvar temp = temp * (pow42 - pow161); - tempvar temp = temp * (pow42 - pow162); - tempvar temp = temp * (pow42 - pow163); - tempvar temp = temp * (pow42 - pow164); - tempvar temp = temp * (pow42 - pow165); - tempvar temp = temp * (pow42 - pow166); - tempvar temp = temp * (pow42 - pow167); - tempvar temp = temp * (pow42 - pow168); - tempvar temp = temp * (pow42 - pow169); - tempvar temp = temp * (pow42 - pow170); - tempvar temp = temp * (pow42 - pow171); - tempvar temp = temp * (pow42 - pow172); - tempvar temp = temp * (pow42 - pow173); - tempvar temp = temp * (pow42 - pow174); - tempvar temp = temp * (pow42 - pow175); - tempvar temp = temp * (pow42 - pow176); - tempvar temp = temp * (pow42 - pow177); - tempvar temp = temp * (pow42 - pow178); - tempvar temp = temp * (pow42 - pow179); - tempvar temp = temp * (pow42 - pow180); - tempvar temp = temp * (pow42 - pow181); - tempvar temp = temp * (pow42 - pow182); - tempvar temp = temp * (pow42 - pow183); - tempvar temp = temp * (pow42 - pow186); - tempvar temp = temp * (pow42 - pow187); - tempvar temp = temp * (pow42 - pow188); - tempvar temp = temp * (pow42 - pow189); - tempvar temp = temp * (pow42 - pow190); - tempvar temp = temp * (pow42 - pow191); - tempvar temp = temp * (pow42 - pow192); - tempvar temp = temp * (pow42 - pow193); - tempvar temp = temp * (pow42 - pow194); - tempvar temp = temp * (pow42 - pow195); - tempvar temp = temp * (pow42 - pow196); - tempvar temp = temp * (pow42 - pow197); - tempvar temp = temp * (pow42 - pow198); - tempvar temp = temp * (pow42 - pow199); - tempvar temp = temp * (pow42 - pow200); - tempvar temp = temp * (pow42 - pow201); - tempvar temp = temp * (pow42 - pow202); - tempvar temp = temp * (pow42 - pow203); - tempvar temp = temp * (pow42 - pow204); - tempvar temp = temp * (pow42 - pow205); - tempvar temp = temp * (pow42 - pow206); - tempvar temp = temp * (pow42 - pow207); - tempvar temp = temp * (pow42 - pow208); - tempvar temp = temp * (pow42 - pow209); - tempvar temp = temp * (pow42 - pow210); - tempvar temp = temp * (pow42 - pow211); - tempvar temp = temp * (pow42 - pow212); - tempvar temp = temp * (pow42 - pow213); - tempvar temp = temp * (pow42 - pow216); - tempvar temp = temp * (pow42 - pow217); - tempvar temp = temp * (pow42 - pow218); - tempvar temp = temp * (pow42 - pow219); - tempvar temp = temp * (pow42 - pow220); - tempvar temp = temp * (pow42 - pow221); - tempvar temp = temp * (pow42 - pow222); - tempvar temp = temp * (pow42 - pow223); - tempvar temp = temp * (pow42 - pow224); - tempvar temp = temp * (pow42 - pow225); - tempvar temp = temp * (pow42 - pow226); - tempvar temp = temp * (pow42 - pow227); - tempvar temp = temp * (pow42 - pow228); - tempvar temp = temp * (pow42 - pow229); - tempvar temp = temp * (pow42 - pow230); - tempvar temp = temp * (pow42 - pow231); - tempvar temp = temp * (pow42 - pow232); - tempvar temp = temp * (pow42 - pow233); - tempvar temp = temp * (pow42 - pow234); - tempvar temp = temp * (pow42 - pow235); - tempvar temp = temp * (pow42 - pow236); - tempvar temp = temp * (pow42 - pow237); - tempvar temp = temp * (pow42 - pow238); - tempvar temp = temp * (pow42 - pow239); - tempvar temp = temp * (pow42 - pow240); - tempvar temp = temp * (pow42 - pow241); - tempvar temp = temp * (pow42 - pow242); - tempvar temp = temp * (pow42 - pow243); - tempvar temp = temp * (pow42 - pow246); - tempvar temp = temp * (pow42 - pow247); - tempvar temp = temp * (pow42 - pow248); - tempvar temp = temp * (pow42 - pow249); - tempvar temp = temp * (pow42 - pow250); - tempvar temp = temp * (pow42 - pow251); - tempvar temp = temp * (pow42 - pow252); - tempvar temp = temp * (pow42 - pow253); - tempvar temp = temp * (pow42 - pow254); - tempvar temp = temp * (pow42 - pow255); - tempvar temp = temp * (pow42 - pow256); - tempvar temp = temp * (pow42 - pow257); - tempvar temp = temp * (pow42 - pow258); - tempvar temp = temp * (pow42 - pow259); - tempvar temp = temp * (pow42 - pow260); - tempvar temp = temp * (pow42 - pow261); - tempvar temp = temp * (pow42 - pow262); - tempvar temp = temp * (pow42 - pow263); - tempvar temp = temp * (pow42 - pow264); - tempvar temp = temp * (pow42 - pow265); - tempvar temp = temp * (pow42 - pow266); - tempvar temp = temp * (pow42 - pow267); - tempvar temp = temp * (pow42 - pow268); - tempvar temp = temp * (pow42 - pow269); - tempvar temp = temp * (pow42 - pow270); - tempvar temp = temp * (pow42 - pow271); - tempvar temp = temp * (pow42 - pow272); - tempvar temp = temp * (pow42 - pow273); - tempvar temp = temp * (pow42 - pow276); - tempvar temp = temp * (pow42 - pow277); - tempvar temp = temp * (pow42 - pow278); - tempvar temp = temp * (pow42 - pow279); - tempvar temp = temp * (pow42 - pow280); - tempvar temp = temp * (pow42 - pow281); - tempvar temp = temp * (pow42 - pow282); - tempvar temp = temp * (pow42 - pow283); - tempvar temp = temp * (pow42 - pow284); - tempvar temp = temp * (pow42 - pow285); - tempvar temp = temp * (pow42 - pow286); - tempvar temp = temp * (pow42 - pow287); - tempvar temp = temp * (pow42 - pow288); - tempvar temp = temp * (pow42 - pow289); - tempvar temp = temp * (pow42 - pow290); - tempvar temp = temp * (pow42 - pow291); - tempvar temp = temp * (pow42 - pow292); - tempvar temp = temp * (pow42 - pow293); - tempvar temp = temp * (pow42 - pow294); - tempvar temp = temp * (pow42 - pow295); - tempvar temp = temp * (pow42 - pow296); - tempvar temp = temp * (pow42 - pow297); - tempvar temp = temp * (pow42 - pow298); - tempvar temp = temp * (pow42 - pow299); - tempvar temp = temp * (pow42 - pow300); - tempvar temp = temp * (pow42 - pow301); - tempvar temp = temp * (pow42 - pow302); - tempvar temp = temp * (pow42 - pow303); - tempvar temp = temp * (pow42 - pow306); - tempvar temp = temp * (pow42 - pow307); - tempvar temp = temp * (pow42 - pow308); - tempvar temp = temp * (pow42 - pow309); - tempvar temp = temp * (pow42 - pow310); - tempvar temp = temp * (pow42 - pow311); - tempvar temp = temp * (pow42 - pow312); - tempvar temp = temp * (pow42 - pow313); - tempvar temp = temp * (pow42 - pow314); - tempvar temp = temp * (pow42 - pow315); - tempvar temp = temp * (pow42 - pow316); - tempvar temp = temp * (pow42 - pow317); - tempvar temp = temp * (pow42 - pow318); - tempvar temp = temp * (pow42 - pow319); - tempvar temp = temp * (pow42 - pow320); - tempvar temp = temp * (pow42 - pow321); - tempvar temp = temp * (pow42 - pow322); - tempvar temp = temp * (pow42 - pow323); - tempvar temp = temp * (pow42 - pow324); - tempvar temp = temp * (pow42 - pow325); - tempvar temp = temp * (pow42 - pow326); - tempvar temp = temp * (pow42 - pow327); - tempvar temp = temp * (pow42 - pow328); - tempvar temp = temp * (pow42 - pow329); - tempvar temp = temp * (pow42 - pow330); - tempvar temp = temp * (pow42 - pow331); - tempvar temp = temp * (pow42 - pow332); - tempvar temp = temp * (pow42 - pow333); - tempvar temp = temp * (pow42 - pow336); - tempvar temp = temp * (pow42 - pow337); - tempvar temp = temp * (pow42 - pow338); - tempvar temp = temp * (pow42 - pow339); - tempvar temp = temp * (pow42 - pow340); - tempvar temp = temp * (pow42 - pow341); - tempvar temp = temp * (pow42 - pow342); - tempvar temp = temp * (pow42 - pow343); - tempvar temp = temp * (pow42 - pow344); - tempvar temp = temp * (pow42 - pow345); - tempvar temp = temp * (pow42 - pow346); - tempvar temp = temp * (pow42 - pow347); - tempvar temp = temp * (pow42 - pow348); - tempvar temp = temp * (pow42 - pow349); - tempvar temp = temp * (pow42 - pow350); - tempvar temp = temp * (pow42 - pow351); - tempvar temp = temp * (pow42 - pow352); - tempvar temp = temp * (pow42 - pow353); - tempvar temp = temp * (pow42 - pow354); - tempvar temp = temp * (pow42 - pow355); - tempvar temp = temp * (pow42 - pow356); - tempvar temp = temp * (pow42 - pow357); - tempvar temp = temp * (pow42 - pow358); - tempvar temp = temp * (pow42 - pow359); - tempvar temp = temp * (pow42 - pow360); - tempvar temp = temp * (pow42 - pow361); - tempvar temp = temp * (pow42 - pow362); - tempvar temp = temp * (pow42 - pow363); - tempvar temp = temp * (pow42 - pow366); - tempvar temp = temp * (pow42 - pow367); - tempvar temp = temp * (pow42 - pow368); - tempvar temp = temp * (pow42 - pow369); - tempvar temp = temp * (pow42 - pow370); - tempvar temp = temp * (pow42 - pow371); - tempvar temp = temp * (pow42 - pow372); - tempvar temp = temp * (pow42 - pow373); - tempvar temp = temp * (pow42 - pow374); - tempvar temp = temp * (pow42 - pow375); - tempvar temp = temp * (pow42 - pow376); - tempvar temp = temp * (pow42 - pow377); - tempvar temp = temp * (pow42 - pow378); - tempvar temp = temp * (pow42 - pow379); - tempvar temp = temp * (pow42 - pow380); - tempvar temp = temp * (pow42 - pow381); - tempvar temp = temp * (pow42 - pow382); - tempvar temp = temp * (pow42 - pow383); - tempvar temp = temp * (pow42 - pow384); - tempvar temp = temp * (pow42 - pow385); - tempvar temp = temp * (pow42 - pow386); - tempvar temp = temp * (pow42 - pow387); - tempvar temp = temp * (pow42 - pow388); - tempvar temp = temp * (pow42 - pow389); - tempvar temp = temp * (pow42 - pow390); - tempvar temp = temp * (pow42 - pow391); - tempvar temp = temp * (pow42 - pow392); - tempvar temp = temp * (pow42 - pow393); - tempvar temp = temp * (pow42 - pow396); - tempvar temp = temp * (pow42 - pow397); - tempvar temp = temp * (pow42 - pow398); - tempvar temp = temp * (pow42 - pow399); - tempvar temp = temp * (pow42 - pow400); - tempvar temp = temp * (pow42 - pow401); - tempvar temp = temp * (pow42 - pow402); - tempvar temp = temp * (pow42 - pow403); - tempvar temp = temp * (pow42 - pow404); - tempvar temp = temp * (pow42 - pow405); - tempvar temp = temp * (pow42 - pow406); - tempvar temp = temp * (pow42 - pow407); - tempvar temp = temp * (pow42 - pow408); - tempvar temp = temp * (pow42 - pow409); - tempvar temp = temp * (pow42 - pow410); - tempvar temp = temp * (pow42 - pow411); - tempvar temp = temp * (pow42 - pow412); - tempvar temp = temp * (pow42 - pow413); - tempvar temp = temp * (pow42 - pow414); - tempvar temp = temp * (pow42 - pow415); - tempvar temp = temp * (pow42 - pow416); - tempvar temp = temp * (pow42 - pow417); - tempvar temp = temp * (pow42 - pow418); - tempvar temp = temp * (pow42 - pow419); - tempvar temp = temp * (pow42 - pow420); - tempvar temp = temp * (pow42 - pow421); - tempvar temp = temp * (pow42 - pow422); - tempvar temp = temp * (pow42 - pow423); - tempvar temp = temp * (pow42 - pow426); - tempvar temp = temp * (pow42 - pow427); - tempvar temp = temp * (pow42 - pow428); - tempvar temp = temp * (pow42 - pow429); - tempvar temp = temp * (pow42 - pow430); - tempvar temp = temp * (pow42 - pow431); - tempvar temp = temp * (pow42 - pow432); - tempvar temp = temp * (pow42 - pow433); - tempvar temp = temp * (pow42 - pow434); - tempvar temp = temp * (pow42 - pow435); - tempvar temp = temp * (pow42 - pow436); - tempvar temp = temp * (pow42 - pow437); - tempvar temp = temp * (pow42 - pow438); - tempvar temp = temp * (pow42 - pow439); - tempvar temp = temp * (pow42 - pow440); - tempvar temp = temp * (pow42 - pow441); - tempvar temp = temp * (pow42 - pow442); - tempvar temp = temp * (pow42 - pow443); - tempvar temp = temp * (pow42 - pow444); - tempvar temp = temp * (pow42 - pow445); - tempvar temp = temp * (pow42 - pow446); - tempvar temp = temp * (pow42 - pow447); - tempvar temp = temp * (pow42 - pow448); - tempvar temp = temp * (pow42 - pow449); - tempvar temp = temp * (pow42 - pow450); - tempvar temp = temp * (pow42 - pow451); - tempvar temp = temp * (pow42 - pow452); - tempvar temp = temp * (pow42 - pow453); - tempvar temp = temp * (pow42 - pow456); - tempvar temp = temp * (pow42 - pow457); - tempvar temp = temp * (pow42 - pow458); - tempvar temp = temp * (pow42 - pow459); - tempvar temp = temp * (pow42 - pow460); - tempvar temp = temp * (pow42 - pow461); - tempvar temp = temp * (pow42 - pow462); - tempvar temp = temp * (pow42 - pow463); - tempvar temp = temp * (pow42 - pow464); - tempvar temp = temp * (pow42 - pow465); - tempvar temp = temp * (pow42 - pow466); - tempvar temp = temp * (pow42 - pow467); - tempvar temp = temp * (pow42 - pow468); - tempvar temp = temp * (pow42 - pow469); - tempvar temp = temp * (pow42 - pow470); - tempvar temp = temp * (pow42 - pow471); - tempvar temp = temp * (pow42 - pow472); - tempvar temp = temp * (pow42 - pow473); - tempvar temp = temp * (pow42 - pow474); - tempvar temp = temp * (pow42 - pow475); - tempvar temp = temp * (pow42 - pow476); - tempvar temp = temp * (pow42 - pow477); - tempvar temp = temp * (pow42 - pow478); - tempvar temp = temp * (pow42 - pow479); - tempvar temp = temp * (pow42 - pow480); - tempvar temp = temp * (pow42 - pow481); - tempvar temp = temp * (pow42 - pow482); - tempvar temp = temp * (pow42 - pow483); - tempvar temp = temp * (pow42 - pow486); - tempvar temp = temp * (pow42 - pow487); - tempvar temp = temp * (pow42 - pow488); - tempvar temp = temp * (pow42 - pow489); - tempvar temp = temp * (pow42 - pow490); - tempvar temp = temp * (pow42 - pow491); - tempvar temp = temp * (pow42 - pow492); - tempvar temp = temp * (pow42 - pow493); - tempvar temp = temp * (pow42 - pow494); - tempvar temp = temp * (pow42 - pow495); - tempvar temp = temp * (pow42 - pow496); - tempvar temp = temp * (pow42 - pow497); - tempvar temp = temp * (pow42 - pow498); - tempvar temp = temp * (pow42 - pow499); - tempvar temp = temp * (pow42 - pow500); - tempvar temp = temp * (pow42 - pow501); - tempvar temp = temp * (pow42 - pow502); - tempvar temp = temp * (pow42 - pow503); - tempvar temp = temp * (pow42 - pow504); - tempvar temp = temp * (pow42 - pow505); - tempvar temp = temp * (pow42 - pow506); - tempvar temp = temp * (pow42 - pow507); - tempvar temp = temp * (pow42 - pow508); - tempvar temp = temp * (pow42 - pow509); - tempvar temp = temp * (pow42 - pow510); - tempvar temp = temp * (pow42 - pow511); - tempvar temp = temp * (pow42 - pow512); - tempvar temp = temp * (pow42 - pow513); - tempvar temp = temp * (pow42 - pow516); - tempvar temp = temp * (pow42 - pow517); - tempvar temp = temp * (pow42 - pow518); - tempvar temp = temp * (pow42 - pow519); - tempvar temp = temp * (pow42 - pow520); - tempvar temp = temp * (pow42 - pow521); - tempvar temp = temp * (pow42 - pow522); - tempvar temp = temp * (pow42 - pow523); - tempvar temp = temp * (pow42 - pow524); - tempvar temp = temp * (pow42 - pow525); - tempvar temp = temp * (pow42 - pow526); - tempvar temp = temp * (pow42 - pow527); - tempvar temp = temp * (pow42 - pow528); - tempvar temp = temp * (pow42 - pow529); - tempvar temp = temp * (pow42 - pow530); - tempvar temp = temp * (pow42 - pow531); - tempvar temp = temp * (pow42 - pow532); - tempvar temp = temp * (pow42 - pow533); - tempvar temp = temp * (pow42 - pow534); - tempvar temp = temp * (pow42 - pow535); - tempvar temp = temp * (pow42 - pow536); - tempvar temp = temp * (pow42 - pow537); - tempvar temp = temp * (pow42 - pow538); - tempvar temp = temp * (pow42 - pow539); - tempvar temp = temp * (pow42 - pow540); - tempvar temp = temp * (pow42 - pow541); - tempvar temp = temp * (pow42 - pow542); - tempvar temp = temp * (pow42 - pow543); - tempvar temp = temp * (pow42 - pow546); - tempvar temp = temp * (pow42 - pow547); - tempvar temp = temp * (pow42 - pow548); - tempvar temp = temp * (pow42 - pow549); - tempvar temp = temp * (pow42 - pow550); - tempvar temp = temp * (pow42 - pow551); - tempvar temp = temp * (pow42 - pow552); - tempvar temp = temp * (pow42 - pow553); - tempvar temp = temp * (pow42 - pow554); - tempvar temp = temp * (pow42 - pow555); - tempvar temp = temp * (pow42 - pow556); - tempvar temp = temp * (pow42 - pow557); - tempvar temp = temp * (pow42 - pow558); - tempvar temp = temp * (pow42 - pow559); - tempvar temp = temp * (pow42 - pow560); - tempvar temp = temp * (pow42 - pow561); - tempvar temp = temp * (pow42 - pow562); - tempvar temp = temp * (pow42 - pow563); - tempvar temp = temp * (pow42 - pow564); - tempvar temp = temp * (pow42 - pow565); - tempvar temp = temp * (pow42 - pow566); - tempvar temp = temp * (pow42 - pow567); - tempvar temp = temp * (pow42 - pow568); - tempvar temp = temp * (pow42 - pow569); - tempvar temp = temp * (pow42 - pow570); - tempvar temp = temp * (pow42 - pow571); - tempvar temp = temp * (pow42 - pow572); - tempvar temp = temp * (pow42 - pow573); - tempvar temp = temp * (pow42 - pow576); - tempvar temp = temp * (pow42 - pow577); - tempvar temp = temp * (pow42 - pow578); - tempvar temp = temp * (pow42 - pow579); - tempvar temp = temp * (pow42 - pow580); - tempvar temp = temp * (pow42 - pow581); - tempvar temp = temp * (pow42 - pow582); - tempvar temp = temp * (pow42 - pow583); - tempvar temp = temp * (pow42 - pow584); - tempvar temp = temp * (pow42 - pow585); - tempvar temp = temp * (pow42 - pow586); - tempvar temp = temp * (pow42 - pow587); - tempvar temp = temp * (pow42 - pow588); - tempvar temp = temp * (pow42 - pow589); - tempvar temp = temp * (pow42 - pow590); - tempvar temp = temp * (pow42 - pow591); - tempvar temp = temp * (pow42 - pow592); - tempvar temp = temp * (pow42 - pow593); - tempvar temp = temp * (pow42 - pow594); - tempvar temp = temp * (pow42 - pow595); - tempvar temp = temp * (pow42 - pow596); - tempvar temp = temp * (pow42 - pow597); - tempvar temp = temp * (pow42 - pow598); - tempvar temp = temp * (pow42 - pow599); - tempvar temp = temp * (pow42 - pow600); - tempvar temp = temp * (pow42 - pow601); - tempvar temp = temp * (pow42 - pow602); - tempvar temp = temp * (pow42 - pow603); - tempvar temp = temp * (pow42 - pow606); - tempvar temp = temp * (pow42 - pow607); - tempvar temp = temp * (pow42 - pow608); - tempvar temp = temp * (pow42 - pow609); - tempvar temp = temp * (pow42 - pow610); - tempvar temp = temp * (pow42 - pow611); - tempvar temp = temp * (pow42 - pow612); - tempvar temp = temp * (pow42 - pow613); - tempvar temp = temp * (pow42 - pow614); - tempvar temp = temp * (pow42 - pow615); - tempvar temp = temp * (pow42 - pow616); - tempvar temp = temp * (pow42 - pow617); - tempvar temp = temp * (pow42 - pow618); - tempvar temp = temp * (pow42 - pow619); - tempvar temp = temp * (pow42 - pow620); - tempvar temp = temp * (pow42 - pow621); - tempvar temp = temp * (pow42 - pow622); - tempvar temp = temp * (pow42 - pow623); - tempvar temp = temp * (pow42 - pow624); - tempvar temp = temp * (pow42 - pow625); - tempvar temp = temp * (pow42 - pow626); - tempvar temp = temp * (pow42 - pow627); - tempvar temp = temp * (pow42 - pow628); - tempvar temp = temp * (pow42 - pow629); - tempvar temp = temp * (pow42 - pow630); - tempvar temp = temp * (pow42 - pow631); - tempvar temp = temp * (pow42 - pow632); - tempvar temp = temp * (pow42 - pow633); - tempvar temp = temp * (pow42 - pow636); - tempvar temp = temp * (pow42 - pow637); - tempvar temp = temp * (pow42 - pow638); - tempvar temp = temp * (pow42 - pow639); - tempvar temp = temp * (pow42 - pow640); - tempvar temp = temp * (pow42 - pow641); - tempvar temp = temp * (pow42 - pow642); - tempvar temp = temp * (pow42 - pow643); - tempvar temp = temp * (pow42 - pow644); - tempvar temp = temp * (pow42 - pow645); - tempvar temp = temp * (pow42 - pow646); - tempvar temp = temp * (pow42 - pow647); - tempvar temp = temp * (pow42 - pow648); - tempvar temp = temp * (pow42 - pow649); - tempvar temp = temp * (pow42 - pow650); - tempvar temp = temp * (pow42 - pow651); - tempvar temp = temp * (pow42 - pow652); - tempvar temp = temp * (pow42 - pow653); - tempvar temp = temp * (pow42 - pow654); - tempvar temp = temp * (pow42 - pow655); - tempvar temp = temp * (pow42 - pow656); - tempvar temp = temp * (pow42 - pow657); - tempvar temp = temp * (pow42 - pow658); - tempvar temp = temp * (pow42 - pow659); - tempvar temp = temp * (pow42 - pow660); - tempvar temp = temp * (pow42 - pow661); - tempvar temp = temp * (pow42 - pow662); - tempvar temp = temp * (pow42 - pow663); - tempvar temp = temp * (pow42 - pow666); - tempvar temp = temp * (pow42 - pow667); - tempvar temp = temp * (pow42 - pow668); - tempvar temp = temp * (pow42 - pow669); - tempvar temp = temp * (pow42 - pow670); - tempvar temp = temp * (pow42 - pow671); - tempvar temp = temp * (pow42 - pow672); - tempvar temp = temp * (pow42 - pow673); - tempvar temp = temp * (pow42 - pow674); - tempvar temp = temp * (pow42 - pow675); - tempvar temp = temp * (pow42 - pow676); - tempvar temp = temp * (pow42 - pow677); - tempvar temp = temp * (pow42 - pow678); - tempvar temp = temp * (pow42 - pow679); - tempvar temp = temp * (pow42 - pow680); - tempvar temp = temp * (pow42 - pow681); - tempvar temp = temp * (pow42 - pow682); - tempvar temp = temp * (pow42 - pow683); - tempvar temp = temp * (pow42 - pow684); - tempvar temp = temp * (pow42 - pow685); - tempvar temp = temp * (pow42 - pow686); - tempvar temp = temp * (pow42 - pow687); - tempvar temp = temp * (pow42 - pow688); - tempvar temp = temp * (pow42 - pow689); - tempvar temp = temp * (pow42 - pow690); - tempvar temp = temp * (pow42 - pow691); - tempvar temp = temp * (pow42 - pow692); - tempvar temp = temp * (pow42 - pow693); - tempvar temp = temp * (pow42 - pow696); - tempvar temp = temp * (pow42 - pow697); - tempvar temp = temp * (pow42 - pow698); - tempvar temp = temp * (pow42 - pow699); - tempvar temp = temp * (pow42 - pow700); - tempvar temp = temp * (pow42 - pow701); - tempvar temp = temp * (pow42 - pow702); - tempvar temp = temp * (pow42 - pow703); - tempvar temp = temp * (pow42 - pow704); - tempvar temp = temp * (pow42 - pow705); - tempvar temp = temp * (pow42 - pow706); - tempvar temp = temp * (pow42 - pow707); - tempvar temp = temp * (pow42 - pow708); - tempvar temp = temp * (pow42 - pow709); - tempvar temp = temp * (pow42 - pow710); - tempvar temp = temp * (pow42 - pow711); - tempvar temp = temp * (pow42 - pow712); - tempvar temp = temp * (pow42 - pow713); - tempvar temp = temp * (pow42 - pow714); - tempvar temp = temp * (pow42 - pow715); - tempvar temp = temp * (pow42 - pow716); - tempvar temp = temp * (pow42 - pow717); - tempvar temp = temp * (pow42 - pow718); - tempvar temp = temp * (pow42 - pow719); - tempvar temp = temp * (pow42 - pow720); - tempvar temp = temp * (pow42 - pow721); - tempvar temp = temp * (pow42 - pow722); - tempvar temp = temp * (pow42 - pow723); - tempvar temp = temp * (pow42 - pow726); - tempvar temp = temp * (pow42 - pow727); - tempvar temp = temp * (pow42 - pow728); - tempvar temp = temp * (pow42 - pow729); - tempvar temp = temp * (pow42 - pow730); - tempvar temp = temp * (pow42 - pow731); - tempvar temp = temp * (pow42 - pow732); - tempvar temp = temp * (pow42 - pow733); - tempvar temp = temp * (pow42 - pow734); - tempvar temp = temp * (pow42 - pow735); - tempvar temp = temp * (pow42 - pow736); - tempvar temp = temp * (pow42 - pow737); - tempvar temp = temp * (pow42 - pow738); - tempvar temp = temp * (pow42 - pow739); - tempvar temp = temp * (pow42 - pow740); - tempvar temp = temp * (pow42 - pow741); - tempvar temp = temp * (pow42 - pow742); - tempvar temp = temp * (pow42 - pow743); - tempvar temp = temp * (pow42 - pow744); - tempvar temp = temp * (pow42 - pow745); - tempvar temp = temp * (pow42 - pow746); - tempvar temp = temp * (pow42 - pow747); - tempvar temp = temp * (pow42 - pow748); - tempvar temp = temp * (pow42 - pow749); - tempvar temp = temp * (pow42 - pow750); - tempvar temp = temp * (pow42 - pow751); - tempvar temp = temp * (pow42 - pow752); - tempvar temp = temp * (pow42 - pow753); - tempvar temp = temp * (pow42 - pow756); - tempvar temp = temp * (pow42 - pow757); - tempvar temp = temp * (pow42 - pow758); - tempvar temp = temp * (pow42 - pow759); - tempvar temp = temp * (pow42 - pow760); - tempvar temp = temp * (pow42 - pow761); - tempvar temp = temp * (pow42 - pow762); - tempvar temp = temp * (pow42 - pow763); - tempvar temp = temp * (pow42 - pow764); - tempvar temp = temp * (pow42 - pow765); - tempvar temp = temp * (pow42 - pow766); - tempvar temp = temp * (pow42 - pow767); - tempvar temp = temp * (pow42 - pow768); - tempvar temp = temp * (pow42 - pow769); - tempvar temp = temp * (pow42 - pow770); - tempvar temp = temp * (pow42 - pow771); - tempvar temp = temp * (pow42 - pow772); - tempvar temp = temp * (pow42 - pow773); - tempvar temp = temp * (pow42 - pow774); - tempvar temp = temp * (pow42 - pow775); - tempvar temp = temp * (pow42 - pow776); - tempvar temp = temp * (pow42 - pow777); - tempvar temp = temp * (pow42 - pow778); - tempvar temp = temp * (pow42 - pow779); - tempvar temp = temp * (pow42 - pow780); - tempvar temp = temp * (pow42 - pow781); - tempvar temp = temp * (pow42 - pow782); - tempvar temp = temp * (pow42 - pow783); - tempvar temp = temp * (pow42 - pow786); - tempvar temp = temp * (pow42 - pow787); - tempvar temp = temp * (pow42 - pow788); - tempvar temp = temp * (pow42 - pow789); - tempvar temp = temp * (pow42 - pow790); - tempvar temp = temp * (pow42 - pow791); - tempvar temp = temp * (pow42 - pow792); - tempvar temp = temp * (pow42 - pow793); - tempvar temp = temp * (pow42 - pow794); - tempvar temp = temp * (pow42 - pow795); - tempvar temp = temp * (pow42 - pow796); - tempvar temp = temp * (pow42 - pow797); - tempvar temp = temp * (pow42 - pow798); - tempvar temp = temp * (pow42 - pow799); - tempvar temp = temp * (pow42 - pow800); - tempvar temp = temp * (pow42 - pow801); - tempvar temp = temp * (pow42 - pow802); - tempvar temp = temp * (pow42 - pow803); - tempvar temp = temp * (pow42 - pow804); - tempvar temp = temp * (pow42 - pow805); - tempvar temp = temp * (pow42 - pow806); - tempvar temp = temp * (pow42 - pow807); - tempvar temp = temp * (pow42 - pow808); - tempvar temp = temp * (pow42 - pow809); - tempvar temp = temp * (pow42 - pow810); - tempvar temp = temp * (pow42 - pow811); - tempvar temp = temp * (pow42 - pow812); - tempvar temp = temp * (pow42 - pow813); - tempvar temp = temp * (domain48); - assert domain53 = temp * (domain51); - tempvar temp = domain43; - assert domain54 = temp * (domain50); - assert domain55 = pow42 - pow2612; - tempvar temp = pow44 - pow2147; - tempvar temp = temp * (pow44 - pow2269); - tempvar temp = temp * (pow44 - pow2345); - tempvar temp = temp * (pow44 - pow2421); - tempvar temp = temp * (pow44 - pow2497); - tempvar temp = temp * (pow44 - pow2573); - tempvar temp = temp * (pow42 - pow2642); - tempvar temp = temp * (pow42 - pow2672); - tempvar temp = temp * (pow42 - pow2702); - tempvar temp = temp * (pow42 - pow2732); - tempvar temp = temp * (pow42 - pow2762); - tempvar temp = temp * (pow42 - pow2792); - tempvar temp = temp * (pow42 - pow2822); - tempvar temp = temp * (pow42 - pow2852); - tempvar temp = temp * (pow42 - pow2882); - tempvar temp = temp * (pow42 - pow2912); - tempvar temp = temp * (pow42 - pow2942); - tempvar temp = temp * (pow42 - pow2972); - tempvar temp = temp * (pow42 - pow3002); - tempvar temp = temp * (pow42 - pow3032); - tempvar temp = temp * (pow42 - pow3062); - tempvar temp = temp * (pow42 - pow3092); - tempvar temp = temp * (pow42 - pow3122); - tempvar temp = temp * (pow42 - pow3152); - tempvar temp = temp * (pow42 - pow3182); - tempvar temp = temp * (pow42 - pow3212); - tempvar temp = temp * (pow42 - pow3242); - tempvar temp = temp * (pow42 - pow3272); - tempvar temp = temp * (pow42 - pow3302); - tempvar temp = temp * (pow42 - pow3332); - assert domain56 = temp * (domain55); - assert domain57 = pow42 - pow2613; - tempvar temp = pow44 - pow2217; - tempvar temp = temp * (pow44 - pow2293); - tempvar temp = temp * (pow44 - pow2369); - tempvar temp = temp * (pow44 - pow2445); - tempvar temp = temp * (pow44 - pow2521); - tempvar temp = temp * (pow44 - pow2597); - tempvar temp = temp * (pow42 - pow2643); - tempvar temp = temp * (pow42 - pow2673); - tempvar temp = temp * (pow42 - pow2703); - tempvar temp = temp * (pow42 - pow2733); - tempvar temp = temp * (pow42 - pow2763); - tempvar temp = temp * (pow42 - pow2793); - tempvar temp = temp * (pow42 - pow2823); - tempvar temp = temp * (pow42 - pow2853); - tempvar temp = temp * (pow42 - pow2883); - tempvar temp = temp * (pow42 - pow2913); - tempvar temp = temp * (pow42 - pow2943); - tempvar temp = temp * (pow42 - pow2973); - tempvar temp = temp * (pow42 - pow3003); - tempvar temp = temp * (pow42 - pow3033); - tempvar temp = temp * (pow42 - pow3063); - tempvar temp = temp * (pow42 - pow3093); - tempvar temp = temp * (pow42 - pow3123); - tempvar temp = temp * (pow42 - pow3153); - tempvar temp = temp * (pow42 - pow3183); - tempvar temp = temp * (pow42 - pow3213); - tempvar temp = temp * (pow42 - pow3243); - tempvar temp = temp * (pow42 - pow3273); - tempvar temp = temp * (pow42 - pow3303); - tempvar temp = temp * (pow42 - pow3333); - tempvar temp = temp * (pow42 - pow3362); - tempvar temp = temp * (pow42 - pow3363); - tempvar temp = temp * (domain56); - assert domain58 = temp * (domain57); - tempvar temp = pow42 - pow2614; - tempvar temp = temp * (pow42 - pow2615); - tempvar temp = temp * (pow42 - pow2616); - tempvar temp = temp * (pow42 - pow2617); - tempvar temp = temp * (pow42 - pow2618); - assert domain59 = temp * (pow42 - pow2619); - tempvar temp = pow42 - pow2620; - tempvar temp = temp * (pow42 - pow2621); - tempvar temp = temp * (pow42 - pow2622); - tempvar temp = temp * (pow42 - pow2623); - tempvar temp = temp * (pow42 - pow2624); - tempvar temp = temp * (pow42 - pow2625); - tempvar temp = temp * (pow42 - pow2626); - tempvar temp = temp * (pow42 - pow2627); - tempvar temp = temp * (pow42 - pow2628); - tempvar temp = temp * (pow42 - pow2629); - tempvar temp = temp * (pow42 - pow2630); - tempvar temp = temp * (pow42 - pow2631); - tempvar temp = temp * (pow42 - pow2632); - tempvar temp = temp * (pow42 - pow2633); - tempvar temp = temp * (pow42 - pow2634); - tempvar temp = temp * (pow42 - pow2635); - assert domain60 = temp * (domain59); - tempvar temp = pow46 - pow2497; - tempvar temp = temp * (pow46 - pow2573); - tempvar temp = temp * (pow44 - pow2218); - tempvar temp = temp * (pow44 - pow2219); - tempvar temp = temp * (pow44 - pow2220); - tempvar temp = temp * (pow44 - pow2221); - tempvar temp = temp * (pow44 - pow2222); - tempvar temp = temp * (pow44 - pow2223); - tempvar temp = temp * (pow44 - pow2224); - tempvar temp = temp * (pow44 - pow2225); - tempvar temp = temp * (pow44 - pow2226); - tempvar temp = temp * (pow44 - pow2227); - tempvar temp = temp * (pow44 - pow2228); - tempvar temp = temp * (pow44 - pow2229); - tempvar temp = temp * (pow44 - pow2230); - tempvar temp = temp * (pow44 - pow2231); - tempvar temp = temp * (pow44 - pow2232); - tempvar temp = temp * (pow44 - pow2256); - tempvar temp = temp * (pow44 - pow2257); - tempvar temp = temp * (pow44 - pow2258); - tempvar temp = temp * (pow44 - pow2259); - tempvar temp = temp * (pow44 - pow2260); - tempvar temp = temp * (pow44 - pow2261); - tempvar temp = temp * (pow44 - pow2262); - tempvar temp = temp * (pow44 - pow2263); - tempvar temp = temp * (pow44 - pow2264); - tempvar temp = temp * (pow44 - pow2265); - tempvar temp = temp * (pow44 - pow2266); - tempvar temp = temp * (pow44 - pow2267); - tempvar temp = temp * (pow44 - pow2268); - tempvar temp = temp * (pow44 - pow2294); - tempvar temp = temp * (pow44 - pow2295); - tempvar temp = temp * (pow44 - pow2296); - tempvar temp = temp * (pow44 - pow2297); - tempvar temp = temp * (pow44 - pow2298); - tempvar temp = temp * (pow44 - pow2299); - tempvar temp = temp * (pow44 - pow2300); - tempvar temp = temp * (pow44 - pow2301); - tempvar temp = temp * (pow44 - pow2302); - tempvar temp = temp * (pow44 - pow2303); - tempvar temp = temp * (pow44 - pow2304); - tempvar temp = temp * (pow44 - pow2305); - tempvar temp = temp * (pow44 - pow2306); - tempvar temp = temp * (pow44 - pow2307); - tempvar temp = temp * (pow44 - pow2308); - tempvar temp = temp * (pow44 - pow2332); - tempvar temp = temp * (pow44 - pow2333); - tempvar temp = temp * (pow44 - pow2334); - tempvar temp = temp * (pow44 - pow2335); - tempvar temp = temp * (pow44 - pow2336); - tempvar temp = temp * (pow44 - pow2337); - tempvar temp = temp * (pow44 - pow2338); - tempvar temp = temp * (pow44 - pow2339); - tempvar temp = temp * (pow44 - pow2340); - tempvar temp = temp * (pow44 - pow2341); - tempvar temp = temp * (pow44 - pow2342); - tempvar temp = temp * (pow44 - pow2343); - tempvar temp = temp * (pow44 - pow2344); - tempvar temp = temp * (pow44 - pow2370); - tempvar temp = temp * (pow44 - pow2371); - tempvar temp = temp * (pow44 - pow2372); - tempvar temp = temp * (pow44 - pow2373); - tempvar temp = temp * (pow44 - pow2374); - tempvar temp = temp * (pow44 - pow2375); - tempvar temp = temp * (pow44 - pow2376); - tempvar temp = temp * (pow44 - pow2377); - tempvar temp = temp * (pow44 - pow2378); - tempvar temp = temp * (pow44 - pow2379); - tempvar temp = temp * (pow44 - pow2380); - tempvar temp = temp * (pow44 - pow2381); - tempvar temp = temp * (pow44 - pow2382); - tempvar temp = temp * (pow44 - pow2383); - tempvar temp = temp * (pow44 - pow2384); - tempvar temp = temp * (pow44 - pow2408); - tempvar temp = temp * (pow44 - pow2409); - tempvar temp = temp * (pow44 - pow2410); - tempvar temp = temp * (pow44 - pow2411); - tempvar temp = temp * (pow44 - pow2412); - tempvar temp = temp * (pow44 - pow2413); - tempvar temp = temp * (pow44 - pow2414); - tempvar temp = temp * (pow44 - pow2415); - tempvar temp = temp * (pow44 - pow2416); - tempvar temp = temp * (pow44 - pow2417); - tempvar temp = temp * (pow44 - pow2418); - tempvar temp = temp * (pow44 - pow2419); - tempvar temp = temp * (pow44 - pow2420); - tempvar temp = temp * (pow44 - pow2446); - tempvar temp = temp * (pow44 - pow2447); - tempvar temp = temp * (pow44 - pow2448); - tempvar temp = temp * (pow44 - pow2449); - tempvar temp = temp * (pow44 - pow2450); - tempvar temp = temp * (pow44 - pow2451); - tempvar temp = temp * (pow44 - pow2452); - tempvar temp = temp * (pow44 - pow2453); - tempvar temp = temp * (pow44 - pow2454); - tempvar temp = temp * (pow44 - pow2455); - tempvar temp = temp * (pow44 - pow2456); - tempvar temp = temp * (pow44 - pow2457); - tempvar temp = temp * (pow44 - pow2458); - tempvar temp = temp * (pow44 - pow2459); - tempvar temp = temp * (pow44 - pow2460); - tempvar temp = temp * (pow44 - pow2484); - tempvar temp = temp * (pow44 - pow2485); - tempvar temp = temp * (pow44 - pow2486); - tempvar temp = temp * (pow44 - pow2487); - tempvar temp = temp * (pow44 - pow2488); - tempvar temp = temp * (pow44 - pow2489); - tempvar temp = temp * (pow44 - pow2490); - tempvar temp = temp * (pow44 - pow2491); - tempvar temp = temp * (pow44 - pow2492); - tempvar temp = temp * (pow44 - pow2493); - tempvar temp = temp * (pow44 - pow2494); - tempvar temp = temp * (pow44 - pow2495); - tempvar temp = temp * (pow44 - pow2496); - tempvar temp = temp * (pow44 - pow2522); - tempvar temp = temp * (pow44 - pow2523); - tempvar temp = temp * (pow44 - pow2524); - tempvar temp = temp * (pow44 - pow2525); - tempvar temp = temp * (pow44 - pow2526); - tempvar temp = temp * (pow44 - pow2527); - tempvar temp = temp * (pow44 - pow2528); - tempvar temp = temp * (pow44 - pow2529); - tempvar temp = temp * (pow44 - pow2530); - tempvar temp = temp * (pow44 - pow2531); - tempvar temp = temp * (pow44 - pow2532); - tempvar temp = temp * (pow44 - pow2533); - tempvar temp = temp * (pow44 - pow2534); - tempvar temp = temp * (pow44 - pow2535); - tempvar temp = temp * (pow44 - pow2536); - tempvar temp = temp * (pow44 - pow2560); - tempvar temp = temp * (pow44 - pow2561); - tempvar temp = temp * (pow44 - pow2562); - tempvar temp = temp * (pow44 - pow2563); - tempvar temp = temp * (pow44 - pow2564); - tempvar temp = temp * (pow44 - pow2565); - tempvar temp = temp * (pow44 - pow2566); - tempvar temp = temp * (pow44 - pow2567); - tempvar temp = temp * (pow44 - pow2568); - tempvar temp = temp * (pow44 - pow2569); - tempvar temp = temp * (pow44 - pow2570); - tempvar temp = temp * (pow44 - pow2571); - tempvar temp = temp * (pow44 - pow2572); - tempvar temp = temp * (pow44 - pow2598); - tempvar temp = temp * (pow44 - pow2599); - tempvar temp = temp * (pow44 - pow2600); - tempvar temp = temp * (pow44 - pow2601); - tempvar temp = temp * (pow44 - pow2602); - tempvar temp = temp * (pow44 - pow2603); - tempvar temp = temp * (pow44 - pow2604); - tempvar temp = temp * (pow44 - pow2605); - tempvar temp = temp * (pow44 - pow2606); - tempvar temp = temp * (pow44 - pow2607); - tempvar temp = temp * (pow44 - pow2608); - tempvar temp = temp * (pow44 - pow2609); - tempvar temp = temp * (pow44 - pow2610); - tempvar temp = temp * (pow44 - pow2611); - tempvar temp = temp * (pow44 - pow2612); - tempvar temp = temp * (pow44 - pow2672); - tempvar temp = temp * (pow44 - pow2732); - tempvar temp = temp * (pow44 - pow2792); - tempvar temp = temp * (pow44 - pow2852); - tempvar temp = temp * (pow44 - pow2912); - tempvar temp = temp * (pow44 - pow2972); - tempvar temp = temp * (pow44 - pow3032); - tempvar temp = temp * (pow44 - pow3092); - tempvar temp = temp * (pow44 - pow3152); - tempvar temp = temp * (pow44 - pow3212); - tempvar temp = temp * (pow44 - pow3272); - tempvar temp = temp * (pow44 - pow3332); - tempvar temp = temp * (pow44 - pow3392); - tempvar temp = temp * (pow42 - pow2636); - tempvar temp = temp * (pow42 - pow2637); - tempvar temp = temp * (pow42 - pow2638); - tempvar temp = temp * (pow42 - pow2639); - tempvar temp = temp * (pow42 - pow2640); - tempvar temp = temp * (pow42 - pow2641); - tempvar temp = temp * (pow42 - pow2644); - tempvar temp = temp * (pow42 - pow2645); - tempvar temp = temp * (pow42 - pow2646); - tempvar temp = temp * (pow42 - pow2647); - tempvar temp = temp * (pow42 - pow2648); - tempvar temp = temp * (pow42 - pow2649); - tempvar temp = temp * (pow42 - pow2650); - tempvar temp = temp * (pow42 - pow2651); - tempvar temp = temp * (pow42 - pow2652); - tempvar temp = temp * (pow42 - pow2653); - tempvar temp = temp * (pow42 - pow2654); - tempvar temp = temp * (pow42 - pow2655); - tempvar temp = temp * (pow42 - pow2656); - tempvar temp = temp * (pow42 - pow2657); - tempvar temp = temp * (pow42 - pow2658); - tempvar temp = temp * (pow42 - pow2659); - tempvar temp = temp * (pow42 - pow2660); - tempvar temp = temp * (pow42 - pow2661); - tempvar temp = temp * (pow42 - pow2662); - tempvar temp = temp * (pow42 - pow2663); - tempvar temp = temp * (pow42 - pow2664); - tempvar temp = temp * (pow42 - pow2665); - tempvar temp = temp * (pow42 - pow2666); - tempvar temp = temp * (pow42 - pow2667); - tempvar temp = temp * (pow42 - pow2668); - tempvar temp = temp * (pow42 - pow2669); - tempvar temp = temp * (pow42 - pow2670); - tempvar temp = temp * (pow42 - pow2671); - tempvar temp = temp * (pow42 - pow2674); - tempvar temp = temp * (pow42 - pow2675); - tempvar temp = temp * (pow42 - pow2676); - tempvar temp = temp * (pow42 - pow2677); - tempvar temp = temp * (pow42 - pow2678); - tempvar temp = temp * (pow42 - pow2679); - tempvar temp = temp * (pow42 - pow2680); - tempvar temp = temp * (pow42 - pow2681); - tempvar temp = temp * (pow42 - pow2682); - tempvar temp = temp * (pow42 - pow2683); - tempvar temp = temp * (pow42 - pow2684); - tempvar temp = temp * (pow42 - pow2685); - tempvar temp = temp * (pow42 - pow2686); - tempvar temp = temp * (pow42 - pow2687); - tempvar temp = temp * (pow42 - pow2688); - tempvar temp = temp * (pow42 - pow2689); - tempvar temp = temp * (pow42 - pow2690); - tempvar temp = temp * (pow42 - pow2691); - tempvar temp = temp * (pow42 - pow2692); - tempvar temp = temp * (pow42 - pow2693); - tempvar temp = temp * (pow42 - pow2694); - tempvar temp = temp * (pow42 - pow2695); - tempvar temp = temp * (pow42 - pow2696); - tempvar temp = temp * (pow42 - pow2697); - tempvar temp = temp * (pow42 - pow2698); - tempvar temp = temp * (pow42 - pow2699); - tempvar temp = temp * (pow42 - pow2700); - tempvar temp = temp * (pow42 - pow2701); - tempvar temp = temp * (pow42 - pow2704); - tempvar temp = temp * (pow42 - pow2705); - tempvar temp = temp * (pow42 - pow2706); - tempvar temp = temp * (pow42 - pow2707); - tempvar temp = temp * (pow42 - pow2708); - tempvar temp = temp * (pow42 - pow2709); - tempvar temp = temp * (pow42 - pow2710); - tempvar temp = temp * (pow42 - pow2711); - tempvar temp = temp * (pow42 - pow2712); - tempvar temp = temp * (pow42 - pow2713); - tempvar temp = temp * (pow42 - pow2714); - tempvar temp = temp * (pow42 - pow2715); - tempvar temp = temp * (pow42 - pow2716); - tempvar temp = temp * (pow42 - pow2717); - tempvar temp = temp * (pow42 - pow2718); - tempvar temp = temp * (pow42 - pow2719); - tempvar temp = temp * (pow42 - pow2720); - tempvar temp = temp * (pow42 - pow2721); - tempvar temp = temp * (pow42 - pow2722); - tempvar temp = temp * (pow42 - pow2723); - tempvar temp = temp * (pow42 - pow2724); - tempvar temp = temp * (pow42 - pow2725); - tempvar temp = temp * (pow42 - pow2726); - tempvar temp = temp * (pow42 - pow2727); - tempvar temp = temp * (pow42 - pow2728); - tempvar temp = temp * (pow42 - pow2729); - tempvar temp = temp * (pow42 - pow2730); - tempvar temp = temp * (pow42 - pow2731); - tempvar temp = temp * (pow42 - pow2734); - tempvar temp = temp * (pow42 - pow2735); - tempvar temp = temp * (pow42 - pow2736); - tempvar temp = temp * (pow42 - pow2737); - tempvar temp = temp * (pow42 - pow2738); - tempvar temp = temp * (pow42 - pow2739); - tempvar temp = temp * (pow42 - pow2740); - tempvar temp = temp * (pow42 - pow2741); - tempvar temp = temp * (pow42 - pow2742); - tempvar temp = temp * (pow42 - pow2743); - tempvar temp = temp * (pow42 - pow2744); - tempvar temp = temp * (pow42 - pow2745); - tempvar temp = temp * (pow42 - pow2746); - tempvar temp = temp * (pow42 - pow2747); - tempvar temp = temp * (pow42 - pow2748); - tempvar temp = temp * (pow42 - pow2749); - tempvar temp = temp * (pow42 - pow2750); - tempvar temp = temp * (pow42 - pow2751); - tempvar temp = temp * (pow42 - pow2752); - tempvar temp = temp * (pow42 - pow2753); - tempvar temp = temp * (pow42 - pow2754); - tempvar temp = temp * (pow42 - pow2755); - tempvar temp = temp * (pow42 - pow2756); - tempvar temp = temp * (pow42 - pow2757); - tempvar temp = temp * (pow42 - pow2758); - tempvar temp = temp * (pow42 - pow2759); - tempvar temp = temp * (pow42 - pow2760); - tempvar temp = temp * (pow42 - pow2761); - tempvar temp = temp * (pow42 - pow2764); - tempvar temp = temp * (pow42 - pow2765); - tempvar temp = temp * (pow42 - pow2766); - tempvar temp = temp * (pow42 - pow2767); - tempvar temp = temp * (pow42 - pow2768); - tempvar temp = temp * (pow42 - pow2769); - tempvar temp = temp * (pow42 - pow2770); - tempvar temp = temp * (pow42 - pow2771); - tempvar temp = temp * (pow42 - pow2772); - tempvar temp = temp * (pow42 - pow2773); - tempvar temp = temp * (pow42 - pow2774); - tempvar temp = temp * (pow42 - pow2775); - tempvar temp = temp * (pow42 - pow2776); - tempvar temp = temp * (pow42 - pow2777); - tempvar temp = temp * (pow42 - pow2778); - tempvar temp = temp * (pow42 - pow2779); - tempvar temp = temp * (pow42 - pow2780); - tempvar temp = temp * (pow42 - pow2781); - tempvar temp = temp * (pow42 - pow2782); - tempvar temp = temp * (pow42 - pow2783); - tempvar temp = temp * (pow42 - pow2784); - tempvar temp = temp * (pow42 - pow2785); - tempvar temp = temp * (pow42 - pow2786); - tempvar temp = temp * (pow42 - pow2787); - tempvar temp = temp * (pow42 - pow2788); - tempvar temp = temp * (pow42 - pow2789); - tempvar temp = temp * (pow42 - pow2790); - tempvar temp = temp * (pow42 - pow2791); - tempvar temp = temp * (pow42 - pow2794); - tempvar temp = temp * (pow42 - pow2795); - tempvar temp = temp * (pow42 - pow2796); - tempvar temp = temp * (pow42 - pow2797); - tempvar temp = temp * (pow42 - pow2798); - tempvar temp = temp * (pow42 - pow2799); - tempvar temp = temp * (pow42 - pow2800); - tempvar temp = temp * (pow42 - pow2801); - tempvar temp = temp * (pow42 - pow2802); - tempvar temp = temp * (pow42 - pow2803); - tempvar temp = temp * (pow42 - pow2804); - tempvar temp = temp * (pow42 - pow2805); - tempvar temp = temp * (pow42 - pow2806); - tempvar temp = temp * (pow42 - pow2807); - tempvar temp = temp * (pow42 - pow2808); - tempvar temp = temp * (pow42 - pow2809); - tempvar temp = temp * (pow42 - pow2810); - tempvar temp = temp * (pow42 - pow2811); - tempvar temp = temp * (pow42 - pow2812); - tempvar temp = temp * (pow42 - pow2813); - tempvar temp = temp * (pow42 - pow2814); - tempvar temp = temp * (pow42 - pow2815); - tempvar temp = temp * (pow42 - pow2816); - tempvar temp = temp * (pow42 - pow2817); - tempvar temp = temp * (pow42 - pow2818); - tempvar temp = temp * (pow42 - pow2819); - tempvar temp = temp * (pow42 - pow2820); - tempvar temp = temp * (pow42 - pow2821); - tempvar temp = temp * (pow42 - pow2824); - tempvar temp = temp * (pow42 - pow2825); - tempvar temp = temp * (pow42 - pow2826); - tempvar temp = temp * (pow42 - pow2827); - tempvar temp = temp * (pow42 - pow2828); - tempvar temp = temp * (pow42 - pow2829); - tempvar temp = temp * (pow42 - pow2830); - tempvar temp = temp * (pow42 - pow2831); - tempvar temp = temp * (pow42 - pow2832); - tempvar temp = temp * (pow42 - pow2833); - tempvar temp = temp * (pow42 - pow2834); - tempvar temp = temp * (pow42 - pow2835); - tempvar temp = temp * (pow42 - pow2836); - tempvar temp = temp * (pow42 - pow2837); - tempvar temp = temp * (pow42 - pow2838); - tempvar temp = temp * (pow42 - pow2839); - tempvar temp = temp * (pow42 - pow2840); - tempvar temp = temp * (pow42 - pow2841); - tempvar temp = temp * (pow42 - pow2842); - tempvar temp = temp * (pow42 - pow2843); - tempvar temp = temp * (pow42 - pow2844); - tempvar temp = temp * (pow42 - pow2845); - tempvar temp = temp * (pow42 - pow2846); - tempvar temp = temp * (pow42 - pow2847); - tempvar temp = temp * (pow42 - pow2848); - tempvar temp = temp * (pow42 - pow2849); - tempvar temp = temp * (pow42 - pow2850); - tempvar temp = temp * (pow42 - pow2851); - tempvar temp = temp * (pow42 - pow2854); - tempvar temp = temp * (pow42 - pow2855); - tempvar temp = temp * (pow42 - pow2856); - tempvar temp = temp * (pow42 - pow2857); - tempvar temp = temp * (pow42 - pow2858); - tempvar temp = temp * (pow42 - pow2859); - tempvar temp = temp * (pow42 - pow2860); - tempvar temp = temp * (pow42 - pow2861); - tempvar temp = temp * (pow42 - pow2862); - tempvar temp = temp * (pow42 - pow2863); - tempvar temp = temp * (pow42 - pow2864); - tempvar temp = temp * (pow42 - pow2865); - tempvar temp = temp * (pow42 - pow2866); - tempvar temp = temp * (pow42 - pow2867); - tempvar temp = temp * (pow42 - pow2868); - tempvar temp = temp * (pow42 - pow2869); - tempvar temp = temp * (pow42 - pow2870); - tempvar temp = temp * (pow42 - pow2871); - tempvar temp = temp * (pow42 - pow2872); - tempvar temp = temp * (pow42 - pow2873); - tempvar temp = temp * (pow42 - pow2874); - tempvar temp = temp * (pow42 - pow2875); - tempvar temp = temp * (pow42 - pow2876); - tempvar temp = temp * (pow42 - pow2877); - tempvar temp = temp * (pow42 - pow2878); - tempvar temp = temp * (pow42 - pow2879); - tempvar temp = temp * (pow42 - pow2880); - tempvar temp = temp * (pow42 - pow2881); - tempvar temp = temp * (pow42 - pow2884); - tempvar temp = temp * (pow42 - pow2885); - tempvar temp = temp * (pow42 - pow2886); - tempvar temp = temp * (pow42 - pow2887); - tempvar temp = temp * (pow42 - pow2888); - tempvar temp = temp * (pow42 - pow2889); - tempvar temp = temp * (pow42 - pow2890); - tempvar temp = temp * (pow42 - pow2891); - tempvar temp = temp * (pow42 - pow2892); - tempvar temp = temp * (pow42 - pow2893); - tempvar temp = temp * (pow42 - pow2894); - tempvar temp = temp * (pow42 - pow2895); - tempvar temp = temp * (pow42 - pow2896); - tempvar temp = temp * (pow42 - pow2897); - tempvar temp = temp * (pow42 - pow2898); - tempvar temp = temp * (pow42 - pow2899); - tempvar temp = temp * (pow42 - pow2900); - tempvar temp = temp * (pow42 - pow2901); - tempvar temp = temp * (pow42 - pow2902); - tempvar temp = temp * (pow42 - pow2903); - tempvar temp = temp * (pow42 - pow2904); - tempvar temp = temp * (pow42 - pow2905); - tempvar temp = temp * (pow42 - pow2906); - tempvar temp = temp * (pow42 - pow2907); - tempvar temp = temp * (pow42 - pow2908); - tempvar temp = temp * (pow42 - pow2909); - tempvar temp = temp * (pow42 - pow2910); - tempvar temp = temp * (pow42 - pow2911); - tempvar temp = temp * (pow42 - pow2914); - tempvar temp = temp * (pow42 - pow2915); - tempvar temp = temp * (pow42 - pow2916); - tempvar temp = temp * (pow42 - pow2917); - tempvar temp = temp * (pow42 - pow2918); - tempvar temp = temp * (pow42 - pow2919); - tempvar temp = temp * (pow42 - pow2920); - tempvar temp = temp * (pow42 - pow2921); - tempvar temp = temp * (pow42 - pow2922); - tempvar temp = temp * (pow42 - pow2923); - tempvar temp = temp * (pow42 - pow2924); - tempvar temp = temp * (pow42 - pow2925); - tempvar temp = temp * (pow42 - pow2926); - tempvar temp = temp * (pow42 - pow2927); - tempvar temp = temp * (pow42 - pow2928); - tempvar temp = temp * (pow42 - pow2929); - tempvar temp = temp * (pow42 - pow2930); - tempvar temp = temp * (pow42 - pow2931); - tempvar temp = temp * (pow42 - pow2932); - tempvar temp = temp * (pow42 - pow2933); - tempvar temp = temp * (pow42 - pow2934); - tempvar temp = temp * (pow42 - pow2935); - tempvar temp = temp * (pow42 - pow2936); - tempvar temp = temp * (pow42 - pow2937); - tempvar temp = temp * (pow42 - pow2938); - tempvar temp = temp * (pow42 - pow2939); - tempvar temp = temp * (pow42 - pow2940); - tempvar temp = temp * (pow42 - pow2941); - tempvar temp = temp * (pow42 - pow2944); - tempvar temp = temp * (pow42 - pow2945); - tempvar temp = temp * (pow42 - pow2946); - tempvar temp = temp * (pow42 - pow2947); - tempvar temp = temp * (pow42 - pow2948); - tempvar temp = temp * (pow42 - pow2949); - tempvar temp = temp * (pow42 - pow2950); - tempvar temp = temp * (pow42 - pow2951); - tempvar temp = temp * (pow42 - pow2952); - tempvar temp = temp * (pow42 - pow2953); - tempvar temp = temp * (pow42 - pow2954); - tempvar temp = temp * (pow42 - pow2955); - tempvar temp = temp * (pow42 - pow2956); - tempvar temp = temp * (pow42 - pow2957); - tempvar temp = temp * (pow42 - pow2958); - tempvar temp = temp * (pow42 - pow2959); - tempvar temp = temp * (pow42 - pow2960); - tempvar temp = temp * (pow42 - pow2961); - tempvar temp = temp * (pow42 - pow2962); - tempvar temp = temp * (pow42 - pow2963); - tempvar temp = temp * (pow42 - pow2964); - tempvar temp = temp * (pow42 - pow2965); - tempvar temp = temp * (pow42 - pow2966); - tempvar temp = temp * (pow42 - pow2967); - tempvar temp = temp * (pow42 - pow2968); - tempvar temp = temp * (pow42 - pow2969); - tempvar temp = temp * (pow42 - pow2970); - tempvar temp = temp * (pow42 - pow2971); - tempvar temp = temp * (pow42 - pow2974); - tempvar temp = temp * (pow42 - pow2975); - tempvar temp = temp * (pow42 - pow2976); - tempvar temp = temp * (pow42 - pow2977); - tempvar temp = temp * (pow42 - pow2978); - tempvar temp = temp * (pow42 - pow2979); - tempvar temp = temp * (pow42 - pow2980); - tempvar temp = temp * (pow42 - pow2981); - tempvar temp = temp * (pow42 - pow2982); - tempvar temp = temp * (pow42 - pow2983); - tempvar temp = temp * (pow42 - pow2984); - tempvar temp = temp * (pow42 - pow2985); - tempvar temp = temp * (pow42 - pow2986); - tempvar temp = temp * (pow42 - pow2987); - tempvar temp = temp * (pow42 - pow2988); - tempvar temp = temp * (pow42 - pow2989); - tempvar temp = temp * (pow42 - pow2990); - tempvar temp = temp * (pow42 - pow2991); - tempvar temp = temp * (pow42 - pow2992); - tempvar temp = temp * (pow42 - pow2993); - tempvar temp = temp * (pow42 - pow2994); - tempvar temp = temp * (pow42 - pow2995); - tempvar temp = temp * (pow42 - pow2996); - tempvar temp = temp * (pow42 - pow2997); - tempvar temp = temp * (pow42 - pow2998); - tempvar temp = temp * (pow42 - pow2999); - tempvar temp = temp * (pow42 - pow3000); - tempvar temp = temp * (pow42 - pow3001); - tempvar temp = temp * (pow42 - pow3004); - tempvar temp = temp * (pow42 - pow3005); - tempvar temp = temp * (pow42 - pow3006); - tempvar temp = temp * (pow42 - pow3007); - tempvar temp = temp * (pow42 - pow3008); - tempvar temp = temp * (pow42 - pow3009); - tempvar temp = temp * (pow42 - pow3010); - tempvar temp = temp * (pow42 - pow3011); - tempvar temp = temp * (pow42 - pow3012); - tempvar temp = temp * (pow42 - pow3013); - tempvar temp = temp * (pow42 - pow3014); - tempvar temp = temp * (pow42 - pow3015); - tempvar temp = temp * (pow42 - pow3016); - tempvar temp = temp * (pow42 - pow3017); - tempvar temp = temp * (pow42 - pow3018); - tempvar temp = temp * (pow42 - pow3019); - tempvar temp = temp * (pow42 - pow3020); - tempvar temp = temp * (pow42 - pow3021); - tempvar temp = temp * (pow42 - pow3022); - tempvar temp = temp * (pow42 - pow3023); - tempvar temp = temp * (pow42 - pow3024); - tempvar temp = temp * (pow42 - pow3025); - tempvar temp = temp * (pow42 - pow3026); - tempvar temp = temp * (pow42 - pow3027); - tempvar temp = temp * (pow42 - pow3028); - tempvar temp = temp * (pow42 - pow3029); - tempvar temp = temp * (pow42 - pow3030); - tempvar temp = temp * (pow42 - pow3031); - tempvar temp = temp * (pow42 - pow3034); - tempvar temp = temp * (pow42 - pow3035); - tempvar temp = temp * (pow42 - pow3036); - tempvar temp = temp * (pow42 - pow3037); - tempvar temp = temp * (pow42 - pow3038); - tempvar temp = temp * (pow42 - pow3039); - tempvar temp = temp * (pow42 - pow3040); - tempvar temp = temp * (pow42 - pow3041); - tempvar temp = temp * (pow42 - pow3042); - tempvar temp = temp * (pow42 - pow3043); - tempvar temp = temp * (pow42 - pow3044); - tempvar temp = temp * (pow42 - pow3045); - tempvar temp = temp * (pow42 - pow3046); - tempvar temp = temp * (pow42 - pow3047); - tempvar temp = temp * (pow42 - pow3048); - tempvar temp = temp * (pow42 - pow3049); - tempvar temp = temp * (pow42 - pow3050); - tempvar temp = temp * (pow42 - pow3051); - tempvar temp = temp * (pow42 - pow3052); - tempvar temp = temp * (pow42 - pow3053); - tempvar temp = temp * (pow42 - pow3054); - tempvar temp = temp * (pow42 - pow3055); - tempvar temp = temp * (pow42 - pow3056); - tempvar temp = temp * (pow42 - pow3057); - tempvar temp = temp * (pow42 - pow3058); - tempvar temp = temp * (pow42 - pow3059); - tempvar temp = temp * (pow42 - pow3060); - tempvar temp = temp * (pow42 - pow3061); - tempvar temp = temp * (pow42 - pow3064); - tempvar temp = temp * (pow42 - pow3065); - tempvar temp = temp * (pow42 - pow3066); - tempvar temp = temp * (pow42 - pow3067); - tempvar temp = temp * (pow42 - pow3068); - tempvar temp = temp * (pow42 - pow3069); - tempvar temp = temp * (pow42 - pow3070); - tempvar temp = temp * (pow42 - pow3071); - tempvar temp = temp * (pow42 - pow3072); - tempvar temp = temp * (pow42 - pow3073); - tempvar temp = temp * (pow42 - pow3074); - tempvar temp = temp * (pow42 - pow3075); - tempvar temp = temp * (pow42 - pow3076); - tempvar temp = temp * (pow42 - pow3077); - tempvar temp = temp * (pow42 - pow3078); - tempvar temp = temp * (pow42 - pow3079); - tempvar temp = temp * (pow42 - pow3080); - tempvar temp = temp * (pow42 - pow3081); - tempvar temp = temp * (pow42 - pow3082); - tempvar temp = temp * (pow42 - pow3083); - tempvar temp = temp * (pow42 - pow3084); - tempvar temp = temp * (pow42 - pow3085); - tempvar temp = temp * (pow42 - pow3086); - tempvar temp = temp * (pow42 - pow3087); - tempvar temp = temp * (pow42 - pow3088); - tempvar temp = temp * (pow42 - pow3089); - tempvar temp = temp * (pow42 - pow3090); - tempvar temp = temp * (pow42 - pow3091); - tempvar temp = temp * (pow42 - pow3094); - tempvar temp = temp * (pow42 - pow3095); - tempvar temp = temp * (pow42 - pow3096); - tempvar temp = temp * (pow42 - pow3097); - tempvar temp = temp * (pow42 - pow3098); - tempvar temp = temp * (pow42 - pow3099); - tempvar temp = temp * (pow42 - pow3100); - tempvar temp = temp * (pow42 - pow3101); - tempvar temp = temp * (pow42 - pow3102); - tempvar temp = temp * (pow42 - pow3103); - tempvar temp = temp * (pow42 - pow3104); - tempvar temp = temp * (pow42 - pow3105); - tempvar temp = temp * (pow42 - pow3106); - tempvar temp = temp * (pow42 - pow3107); - tempvar temp = temp * (pow42 - pow3108); - tempvar temp = temp * (pow42 - pow3109); - tempvar temp = temp * (pow42 - pow3110); - tempvar temp = temp * (pow42 - pow3111); - tempvar temp = temp * (pow42 - pow3112); - tempvar temp = temp * (pow42 - pow3113); - tempvar temp = temp * (pow42 - pow3114); - tempvar temp = temp * (pow42 - pow3115); - tempvar temp = temp * (pow42 - pow3116); - tempvar temp = temp * (pow42 - pow3117); - tempvar temp = temp * (pow42 - pow3118); - tempvar temp = temp * (pow42 - pow3119); - tempvar temp = temp * (pow42 - pow3120); - tempvar temp = temp * (pow42 - pow3121); - tempvar temp = temp * (pow42 - pow3124); - tempvar temp = temp * (pow42 - pow3125); - tempvar temp = temp * (pow42 - pow3126); - tempvar temp = temp * (pow42 - pow3127); - tempvar temp = temp * (pow42 - pow3128); - tempvar temp = temp * (pow42 - pow3129); - tempvar temp = temp * (pow42 - pow3130); - tempvar temp = temp * (pow42 - pow3131); - tempvar temp = temp * (pow42 - pow3132); - tempvar temp = temp * (pow42 - pow3133); - tempvar temp = temp * (pow42 - pow3134); - tempvar temp = temp * (pow42 - pow3135); - tempvar temp = temp * (pow42 - pow3136); - tempvar temp = temp * (pow42 - pow3137); - tempvar temp = temp * (pow42 - pow3138); - tempvar temp = temp * (pow42 - pow3139); - tempvar temp = temp * (pow42 - pow3140); - tempvar temp = temp * (pow42 - pow3141); - tempvar temp = temp * (pow42 - pow3142); - tempvar temp = temp * (pow42 - pow3143); - tempvar temp = temp * (pow42 - pow3144); - tempvar temp = temp * (pow42 - pow3145); - tempvar temp = temp * (pow42 - pow3146); - tempvar temp = temp * (pow42 - pow3147); - tempvar temp = temp * (pow42 - pow3148); - tempvar temp = temp * (pow42 - pow3149); - tempvar temp = temp * (pow42 - pow3150); - tempvar temp = temp * (pow42 - pow3151); - tempvar temp = temp * (pow42 - pow3154); - tempvar temp = temp * (pow42 - pow3155); - tempvar temp = temp * (pow42 - pow3156); - tempvar temp = temp * (pow42 - pow3157); - tempvar temp = temp * (pow42 - pow3158); - tempvar temp = temp * (pow42 - pow3159); - tempvar temp = temp * (pow42 - pow3160); - tempvar temp = temp * (pow42 - pow3161); - tempvar temp = temp * (pow42 - pow3162); - tempvar temp = temp * (pow42 - pow3163); - tempvar temp = temp * (pow42 - pow3164); - tempvar temp = temp * (pow42 - pow3165); - tempvar temp = temp * (pow42 - pow3166); - tempvar temp = temp * (pow42 - pow3167); - tempvar temp = temp * (pow42 - pow3168); - tempvar temp = temp * (pow42 - pow3169); - tempvar temp = temp * (pow42 - pow3170); - tempvar temp = temp * (pow42 - pow3171); - tempvar temp = temp * (pow42 - pow3172); - tempvar temp = temp * (pow42 - pow3173); - tempvar temp = temp * (pow42 - pow3174); - tempvar temp = temp * (pow42 - pow3175); - tempvar temp = temp * (pow42 - pow3176); - tempvar temp = temp * (pow42 - pow3177); - tempvar temp = temp * (pow42 - pow3178); - tempvar temp = temp * (pow42 - pow3179); - tempvar temp = temp * (pow42 - pow3180); - tempvar temp = temp * (pow42 - pow3181); - tempvar temp = temp * (pow42 - pow3184); - tempvar temp = temp * (pow42 - pow3185); - tempvar temp = temp * (pow42 - pow3186); - tempvar temp = temp * (pow42 - pow3187); - tempvar temp = temp * (pow42 - pow3188); - tempvar temp = temp * (pow42 - pow3189); - tempvar temp = temp * (pow42 - pow3190); - tempvar temp = temp * (pow42 - pow3191); - tempvar temp = temp * (pow42 - pow3192); - tempvar temp = temp * (pow42 - pow3193); - tempvar temp = temp * (pow42 - pow3194); - tempvar temp = temp * (pow42 - pow3195); - tempvar temp = temp * (pow42 - pow3196); - tempvar temp = temp * (pow42 - pow3197); - tempvar temp = temp * (pow42 - pow3198); - tempvar temp = temp * (pow42 - pow3199); - tempvar temp = temp * (pow42 - pow3200); - tempvar temp = temp * (pow42 - pow3201); - tempvar temp = temp * (pow42 - pow3202); - tempvar temp = temp * (pow42 - pow3203); - tempvar temp = temp * (pow42 - pow3204); - tempvar temp = temp * (pow42 - pow3205); - tempvar temp = temp * (pow42 - pow3206); - tempvar temp = temp * (pow42 - pow3207); - tempvar temp = temp * (pow42 - pow3208); - tempvar temp = temp * (pow42 - pow3209); - tempvar temp = temp * (pow42 - pow3210); - tempvar temp = temp * (pow42 - pow3211); - tempvar temp = temp * (pow42 - pow3214); - tempvar temp = temp * (pow42 - pow3215); - tempvar temp = temp * (pow42 - pow3216); - tempvar temp = temp * (pow42 - pow3217); - tempvar temp = temp * (pow42 - pow3218); - tempvar temp = temp * (pow42 - pow3219); - tempvar temp = temp * (pow42 - pow3220); - tempvar temp = temp * (pow42 - pow3221); - tempvar temp = temp * (pow42 - pow3222); - tempvar temp = temp * (pow42 - pow3223); - tempvar temp = temp * (pow42 - pow3224); - tempvar temp = temp * (pow42 - pow3225); - tempvar temp = temp * (pow42 - pow3226); - tempvar temp = temp * (pow42 - pow3227); - tempvar temp = temp * (pow42 - pow3228); - tempvar temp = temp * (pow42 - pow3229); - tempvar temp = temp * (pow42 - pow3230); - tempvar temp = temp * (pow42 - pow3231); - tempvar temp = temp * (pow42 - pow3232); - tempvar temp = temp * (pow42 - pow3233); - tempvar temp = temp * (pow42 - pow3234); - tempvar temp = temp * (pow42 - pow3235); - tempvar temp = temp * (pow42 - pow3236); - tempvar temp = temp * (pow42 - pow3237); - tempvar temp = temp * (pow42 - pow3238); - tempvar temp = temp * (pow42 - pow3239); - tempvar temp = temp * (pow42 - pow3240); - tempvar temp = temp * (pow42 - pow3241); - tempvar temp = temp * (pow42 - pow3244); - tempvar temp = temp * (pow42 - pow3245); - tempvar temp = temp * (pow42 - pow3246); - tempvar temp = temp * (pow42 - pow3247); - tempvar temp = temp * (pow42 - pow3248); - tempvar temp = temp * (pow42 - pow3249); - tempvar temp = temp * (pow42 - pow3250); - tempvar temp = temp * (pow42 - pow3251); - tempvar temp = temp * (pow42 - pow3252); - tempvar temp = temp * (pow42 - pow3253); - tempvar temp = temp * (pow42 - pow3254); - tempvar temp = temp * (pow42 - pow3255); - tempvar temp = temp * (pow42 - pow3256); - tempvar temp = temp * (pow42 - pow3257); - tempvar temp = temp * (pow42 - pow3258); - tempvar temp = temp * (pow42 - pow3259); - tempvar temp = temp * (pow42 - pow3260); - tempvar temp = temp * (pow42 - pow3261); - tempvar temp = temp * (pow42 - pow3262); - tempvar temp = temp * (pow42 - pow3263); - tempvar temp = temp * (pow42 - pow3264); - tempvar temp = temp * (pow42 - pow3265); - tempvar temp = temp * (pow42 - pow3266); - tempvar temp = temp * (pow42 - pow3267); - tempvar temp = temp * (pow42 - pow3268); - tempvar temp = temp * (pow42 - pow3269); - tempvar temp = temp * (pow42 - pow3270); - tempvar temp = temp * (pow42 - pow3271); - tempvar temp = temp * (pow42 - pow3274); - tempvar temp = temp * (pow42 - pow3275); - tempvar temp = temp * (pow42 - pow3276); - tempvar temp = temp * (pow42 - pow3277); - tempvar temp = temp * (pow42 - pow3278); - tempvar temp = temp * (pow42 - pow3279); - tempvar temp = temp * (pow42 - pow3280); - tempvar temp = temp * (pow42 - pow3281); - tempvar temp = temp * (pow42 - pow3282); - tempvar temp = temp * (pow42 - pow3283); - tempvar temp = temp * (pow42 - pow3284); - tempvar temp = temp * (pow42 - pow3285); - tempvar temp = temp * (pow42 - pow3286); - tempvar temp = temp * (pow42 - pow3287); - tempvar temp = temp * (pow42 - pow3288); - tempvar temp = temp * (pow42 - pow3289); - tempvar temp = temp * (pow42 - pow3290); - tempvar temp = temp * (pow42 - pow3291); - tempvar temp = temp * (pow42 - pow3292); - tempvar temp = temp * (pow42 - pow3293); - tempvar temp = temp * (pow42 - pow3294); - tempvar temp = temp * (pow42 - pow3295); - tempvar temp = temp * (pow42 - pow3296); - tempvar temp = temp * (pow42 - pow3297); - tempvar temp = temp * (pow42 - pow3298); - tempvar temp = temp * (pow42 - pow3299); - tempvar temp = temp * (pow42 - pow3300); - tempvar temp = temp * (pow42 - pow3301); - tempvar temp = temp * (pow42 - pow3304); - tempvar temp = temp * (pow42 - pow3305); - tempvar temp = temp * (pow42 - pow3306); - tempvar temp = temp * (pow42 - pow3307); - tempvar temp = temp * (pow42 - pow3308); - tempvar temp = temp * (pow42 - pow3309); - tempvar temp = temp * (pow42 - pow3310); - tempvar temp = temp * (pow42 - pow3311); - tempvar temp = temp * (pow42 - pow3312); - tempvar temp = temp * (pow42 - pow3313); - tempvar temp = temp * (pow42 - pow3314); - tempvar temp = temp * (pow42 - pow3315); - tempvar temp = temp * (pow42 - pow3316); - tempvar temp = temp * (pow42 - pow3317); - tempvar temp = temp * (pow42 - pow3318); - tempvar temp = temp * (pow42 - pow3319); - tempvar temp = temp * (pow42 - pow3320); - tempvar temp = temp * (pow42 - pow3321); - tempvar temp = temp * (pow42 - pow3322); - tempvar temp = temp * (pow42 - pow3323); - tempvar temp = temp * (pow42 - pow3324); - tempvar temp = temp * (pow42 - pow3325); - tempvar temp = temp * (pow42 - pow3326); - tempvar temp = temp * (pow42 - pow3327); - tempvar temp = temp * (pow42 - pow3328); - tempvar temp = temp * (pow42 - pow3329); - tempvar temp = temp * (pow42 - pow3330); - tempvar temp = temp * (pow42 - pow3331); - tempvar temp = temp * (pow42 - pow3334); - tempvar temp = temp * (pow42 - pow3335); - tempvar temp = temp * (pow42 - pow3336); - tempvar temp = temp * (pow42 - pow3337); - tempvar temp = temp * (pow42 - pow3338); - tempvar temp = temp * (pow42 - pow3339); - tempvar temp = temp * (pow42 - pow3340); - tempvar temp = temp * (pow42 - pow3341); - tempvar temp = temp * (pow42 - pow3342); - tempvar temp = temp * (pow42 - pow3343); - tempvar temp = temp * (pow42 - pow3344); - tempvar temp = temp * (pow42 - pow3345); - tempvar temp = temp * (pow42 - pow3346); - tempvar temp = temp * (pow42 - pow3347); - tempvar temp = temp * (pow42 - pow3348); - tempvar temp = temp * (pow42 - pow3349); - tempvar temp = temp * (pow42 - pow3350); - tempvar temp = temp * (pow42 - pow3351); - tempvar temp = temp * (pow42 - pow3352); - tempvar temp = temp * (pow42 - pow3353); - tempvar temp = temp * (pow42 - pow3354); - tempvar temp = temp * (pow42 - pow3355); - tempvar temp = temp * (pow42 - pow3356); - tempvar temp = temp * (pow42 - pow3357); - tempvar temp = temp * (pow42 - pow3358); - tempvar temp = temp * (pow42 - pow3359); - tempvar temp = temp * (pow42 - pow3360); - tempvar temp = temp * (pow42 - pow3361); - tempvar temp = temp * (pow42 - pow3364); - tempvar temp = temp * (pow42 - pow3365); - tempvar temp = temp * (pow42 - pow3366); - tempvar temp = temp * (pow42 - pow3367); - tempvar temp = temp * (pow42 - pow3368); - tempvar temp = temp * (pow42 - pow3369); - tempvar temp = temp * (pow42 - pow3370); - tempvar temp = temp * (pow42 - pow3371); - tempvar temp = temp * (pow42 - pow3372); - tempvar temp = temp * (pow42 - pow3373); - tempvar temp = temp * (pow42 - pow3374); - tempvar temp = temp * (pow42 - pow3375); - tempvar temp = temp * (pow42 - pow3376); - tempvar temp = temp * (pow42 - pow3377); - tempvar temp = temp * (pow42 - pow3378); - tempvar temp = temp * (pow42 - pow3379); - tempvar temp = temp * (pow42 - pow3380); - tempvar temp = temp * (pow42 - pow3381); - tempvar temp = temp * (pow42 - pow3382); - tempvar temp = temp * (pow42 - pow3383); - tempvar temp = temp * (pow42 - pow3384); - tempvar temp = temp * (pow42 - pow3385); - tempvar temp = temp * (pow42 - pow3386); - tempvar temp = temp * (pow42 - pow3387); - tempvar temp = temp * (pow42 - pow3388); - tempvar temp = temp * (pow42 - pow3389); - tempvar temp = temp * (pow42 - pow3390); - tempvar temp = temp * (pow42 - pow3391); - tempvar temp = temp * (domain58); - assert domain61 = temp * (domain60); - tempvar temp = pow44 - pow2145; - assert domain62 = temp * (domain56); - tempvar temp = domain55; - assert domain63 = temp * (domain57); - tempvar temp = domain60; - assert domain64 = temp * (domain63); - assert domain65 = pow42 - pow817; - tempvar temp = pow42 - pow818; - tempvar temp = temp * (pow42 - pow819); - tempvar temp = temp * (pow42 - pow820); - tempvar temp = temp * (pow42 - pow821); - tempvar temp = temp * (pow42 - pow822); - tempvar temp = temp * (pow42 - pow823); - tempvar temp = temp * (pow42 - pow824); - assert domain66 = temp * (domain65); - tempvar temp = pow42 - pow825; - tempvar temp = temp * (pow42 - pow826); - tempvar temp = temp * (pow42 - pow827); - tempvar temp = temp * (pow42 - pow828); - tempvar temp = temp * (pow42 - pow829); - tempvar temp = temp * (pow42 - pow830); - tempvar temp = temp * (pow42 - pow831); - tempvar temp = temp * (pow42 - pow832); - tempvar temp = temp * (pow42 - pow833); - tempvar temp = temp * (pow42 - pow834); - tempvar temp = temp * (pow42 - pow835); - tempvar temp = temp * (pow42 - pow836); - tempvar temp = temp * (pow42 - pow837); - tempvar temp = temp * (pow42 - pow838); - tempvar temp = temp * (pow42 - pow839); - tempvar temp = temp * (pow42 - pow840); - tempvar temp = temp * (domain47); - assert domain67 = temp * (domain66); - tempvar temp = pow42 - pow2573; - tempvar temp = temp * (pow42 - pow2574); - tempvar temp = temp * (pow42 - pow2575); - tempvar temp = temp * (pow42 - pow2576); - tempvar temp = temp * (pow42 - pow2577); - tempvar temp = temp * (pow42 - pow2578); - tempvar temp = temp * (pow42 - pow2579); - assert domain68 = temp * (pow42 - pow2580); - tempvar temp = pow42 - pow2581; - tempvar temp = temp * (pow42 - pow2582); - tempvar temp = temp * (pow42 - pow2583); - tempvar temp = temp * (pow42 - pow2584); - tempvar temp = temp * (pow42 - pow2585); - tempvar temp = temp * (pow42 - pow2586); - tempvar temp = temp * (pow42 - pow2587); - tempvar temp = temp * (pow42 - pow2588); - tempvar temp = temp * (pow42 - pow2589); - tempvar temp = temp * (pow42 - pow2590); - tempvar temp = temp * (pow42 - pow2591); - tempvar temp = temp * (pow42 - pow2592); - tempvar temp = temp * (pow42 - pow2593); - tempvar temp = temp * (pow42 - pow2594); - tempvar temp = temp * (pow42 - pow2595); - tempvar temp = temp * (pow42 - pow2596); - tempvar temp = temp * (domain64); - assert domain69 = temp * (domain68); - tempvar temp = pow42 - pow2536; - tempvar temp = temp * (pow42 - pow2537); - tempvar temp = temp * (pow42 - pow2538); - tempvar temp = temp * (pow42 - pow2539); - tempvar temp = temp * (pow42 - pow2540); - tempvar temp = temp * (pow42 - pow2541); - tempvar temp = temp * (pow42 - pow2542); - assert domain70 = temp * (pow42 - pow2543); - tempvar temp = pow42 - pow2421; - tempvar temp = temp * (pow42 - pow2422); - tempvar temp = temp * (pow42 - pow2423); - tempvar temp = temp * (pow42 - pow2424); - tempvar temp = temp * (pow42 - pow2425); - tempvar temp = temp * (pow42 - pow2426); - tempvar temp = temp * (pow42 - pow2427); - tempvar temp = temp * (pow42 - pow2428); - tempvar temp = temp * (pow42 - pow2460); - tempvar temp = temp * (pow42 - pow2461); - tempvar temp = temp * (pow42 - pow2462); - tempvar temp = temp * (pow42 - pow2463); - tempvar temp = temp * (pow42 - pow2464); - tempvar temp = temp * (pow42 - pow2465); - tempvar temp = temp * (pow42 - pow2466); - tempvar temp = temp * (pow42 - pow2467); - tempvar temp = temp * (pow42 - pow2497); - tempvar temp = temp * (pow42 - pow2498); - tempvar temp = temp * (pow42 - pow2499); - tempvar temp = temp * (pow42 - pow2500); - tempvar temp = temp * (pow42 - pow2501); - tempvar temp = temp * (pow42 - pow2502); - tempvar temp = temp * (pow42 - pow2503); - tempvar temp = temp * (pow42 - pow2504); - assert domain71 = temp * (domain70); - tempvar temp = pow42 - pow2544; - tempvar temp = temp * (pow42 - pow2545); - tempvar temp = temp * (pow42 - pow2546); - tempvar temp = temp * (pow42 - pow2547); - tempvar temp = temp * (pow42 - pow2548); - tempvar temp = temp * (pow42 - pow2549); - tempvar temp = temp * (pow42 - pow2550); - tempvar temp = temp * (pow42 - pow2551); - tempvar temp = temp * (pow42 - pow2552); - tempvar temp = temp * (pow42 - pow2553); - tempvar temp = temp * (pow42 - pow2554); - tempvar temp = temp * (pow42 - pow2555); - tempvar temp = temp * (pow42 - pow2556); - tempvar temp = temp * (pow42 - pow2557); - tempvar temp = temp * (pow42 - pow2558); - tempvar temp = temp * (pow42 - pow2559); - assert domain72 = temp * (domain69); - tempvar temp = pow42 - pow2429; - tempvar temp = temp * (pow42 - pow2430); - tempvar temp = temp * (pow42 - pow2431); - tempvar temp = temp * (pow42 - pow2432); - tempvar temp = temp * (pow42 - pow2433); - tempvar temp = temp * (pow42 - pow2434); - tempvar temp = temp * (pow42 - pow2435); - tempvar temp = temp * (pow42 - pow2436); - tempvar temp = temp * (pow42 - pow2437); - tempvar temp = temp * (pow42 - pow2438); - tempvar temp = temp * (pow42 - pow2439); - tempvar temp = temp * (pow42 - pow2440); - tempvar temp = temp * (pow42 - pow2441); - tempvar temp = temp * (pow42 - pow2442); - tempvar temp = temp * (pow42 - pow2443); - tempvar temp = temp * (pow42 - pow2444); - tempvar temp = temp * (pow42 - pow2468); - tempvar temp = temp * (pow42 - pow2469); - tempvar temp = temp * (pow42 - pow2470); - tempvar temp = temp * (pow42 - pow2471); - tempvar temp = temp * (pow42 - pow2472); - tempvar temp = temp * (pow42 - pow2473); - tempvar temp = temp * (pow42 - pow2474); - tempvar temp = temp * (pow42 - pow2475); - tempvar temp = temp * (pow42 - pow2476); - tempvar temp = temp * (pow42 - pow2477); - tempvar temp = temp * (pow42 - pow2478); - tempvar temp = temp * (pow42 - pow2479); - tempvar temp = temp * (pow42 - pow2480); - tempvar temp = temp * (pow42 - pow2481); - tempvar temp = temp * (pow42 - pow2482); - tempvar temp = temp * (pow42 - pow2483); - tempvar temp = temp * (pow42 - pow2505); - tempvar temp = temp * (pow42 - pow2506); - tempvar temp = temp * (pow42 - pow2507); - tempvar temp = temp * (pow42 - pow2508); - tempvar temp = temp * (pow42 - pow2509); - tempvar temp = temp * (pow42 - pow2510); - tempvar temp = temp * (pow42 - pow2511); - tempvar temp = temp * (pow42 - pow2512); - tempvar temp = temp * (pow42 - pow2513); - tempvar temp = temp * (pow42 - pow2514); - tempvar temp = temp * (pow42 - pow2515); - tempvar temp = temp * (pow42 - pow2516); - tempvar temp = temp * (pow42 - pow2517); - tempvar temp = temp * (pow42 - pow2518); - tempvar temp = temp * (pow42 - pow2519); - tempvar temp = temp * (pow42 - pow2520); - tempvar temp = temp * (domain71); - assert domain73 = temp * (domain72); - tempvar temp = pow42 - pow2345; - tempvar temp = temp * (pow42 - pow2346); - tempvar temp = temp * (pow42 - pow2347); - tempvar temp = temp * (pow42 - pow2348); - tempvar temp = temp * (pow42 - pow2349); - tempvar temp = temp * (pow42 - pow2350); - tempvar temp = temp * (pow42 - pow2351); - tempvar temp = temp * (pow42 - pow2352); - tempvar temp = temp * (pow42 - pow2384); - tempvar temp = temp * (pow42 - pow2385); - tempvar temp = temp * (pow42 - pow2386); - tempvar temp = temp * (pow42 - pow2387); - tempvar temp = temp * (pow42 - pow2388); - tempvar temp = temp * (pow42 - pow2389); - tempvar temp = temp * (pow42 - pow2390); - assert domain74 = temp * (pow42 - pow2391); - tempvar temp = pow42 - pow2308; - tempvar temp = temp * (pow42 - pow2309); - tempvar temp = temp * (pow42 - pow2310); - tempvar temp = temp * (pow42 - pow2311); - tempvar temp = temp * (pow42 - pow2312); - tempvar temp = temp * (pow42 - pow2313); - tempvar temp = temp * (pow42 - pow2314); - tempvar temp = temp * (pow42 - pow2315); - assert domain75 = temp * (domain74); - tempvar temp = pow42 - pow2269; - tempvar temp = temp * (pow42 - pow2270); - tempvar temp = temp * (pow42 - pow2271); - tempvar temp = temp * (pow42 - pow2272); - tempvar temp = temp * (pow42 - pow2273); - tempvar temp = temp * (pow42 - pow2274); - tempvar temp = temp * (pow42 - pow2275); - tempvar temp = temp * (pow42 - pow2276); - assert domain76 = temp * (domain75); - tempvar temp = pow42 - pow2353; - tempvar temp = temp * (pow42 - pow2354); - tempvar temp = temp * (pow42 - pow2355); - tempvar temp = temp * (pow42 - pow2356); - tempvar temp = temp * (pow42 - pow2357); - tempvar temp = temp * (pow42 - pow2358); - tempvar temp = temp * (pow42 - pow2359); - tempvar temp = temp * (pow42 - pow2360); - tempvar temp = temp * (pow42 - pow2361); - tempvar temp = temp * (pow42 - pow2362); - tempvar temp = temp * (pow42 - pow2363); - tempvar temp = temp * (pow42 - pow2364); - tempvar temp = temp * (pow42 - pow2365); - tempvar temp = temp * (pow42 - pow2366); - tempvar temp = temp * (pow42 - pow2367); - tempvar temp = temp * (pow42 - pow2368); - tempvar temp = temp * (pow42 - pow2392); - tempvar temp = temp * (pow42 - pow2393); - tempvar temp = temp * (pow42 - pow2394); - tempvar temp = temp * (pow42 - pow2395); - tempvar temp = temp * (pow42 - pow2396); - tempvar temp = temp * (pow42 - pow2397); - tempvar temp = temp * (pow42 - pow2398); - tempvar temp = temp * (pow42 - pow2399); - tempvar temp = temp * (pow42 - pow2400); - tempvar temp = temp * (pow42 - pow2401); - tempvar temp = temp * (pow42 - pow2402); - tempvar temp = temp * (pow42 - pow2403); - tempvar temp = temp * (pow42 - pow2404); - tempvar temp = temp * (pow42 - pow2405); - tempvar temp = temp * (pow42 - pow2406); - tempvar temp = temp * (pow42 - pow2407); - assert domain77 = temp * (domain73); - tempvar temp = pow42 - pow2277; - tempvar temp = temp * (pow42 - pow2278); - tempvar temp = temp * (pow42 - pow2279); - tempvar temp = temp * (pow42 - pow2280); - tempvar temp = temp * (pow42 - pow2281); - tempvar temp = temp * (pow42 - pow2282); - tempvar temp = temp * (pow42 - pow2283); - tempvar temp = temp * (pow42 - pow2284); - tempvar temp = temp * (pow42 - pow2285); - tempvar temp = temp * (pow42 - pow2286); - tempvar temp = temp * (pow42 - pow2287); - tempvar temp = temp * (pow42 - pow2288); - tempvar temp = temp * (pow42 - pow2289); - tempvar temp = temp * (pow42 - pow2290); - tempvar temp = temp * (pow42 - pow2291); - tempvar temp = temp * (pow42 - pow2292); - tempvar temp = temp * (pow42 - pow2316); - tempvar temp = temp * (pow42 - pow2317); - tempvar temp = temp * (pow42 - pow2318); - tempvar temp = temp * (pow42 - pow2319); - tempvar temp = temp * (pow42 - pow2320); - tempvar temp = temp * (pow42 - pow2321); - tempvar temp = temp * (pow42 - pow2322); - tempvar temp = temp * (pow42 - pow2323); - tempvar temp = temp * (pow42 - pow2324); - tempvar temp = temp * (pow42 - pow2325); - tempvar temp = temp * (pow42 - pow2326); - tempvar temp = temp * (pow42 - pow2327); - tempvar temp = temp * (pow42 - pow2328); - tempvar temp = temp * (pow42 - pow2329); - tempvar temp = temp * (pow42 - pow2330); - tempvar temp = temp * (pow42 - pow2331); - tempvar temp = temp * (domain76); - assert domain78 = temp * (domain77); - tempvar temp = pow42 - pow2145; - tempvar temp = temp * (pow42 - pow2148); - tempvar temp = temp * (pow42 - pow2151); - tempvar temp = temp * (pow42 - pow2154); - tempvar temp = temp * (pow42 - pow2157); - tempvar temp = temp * (pow42 - pow2160); - tempvar temp = temp * (pow42 - pow2163); - tempvar temp = temp * (pow42 - pow2166); - tempvar temp = temp * (pow42 - pow2146); - tempvar temp = temp * (pow42 - pow2149); - tempvar temp = temp * (pow42 - pow2152); - tempvar temp = temp * (pow42 - pow2155); - tempvar temp = temp * (pow42 - pow2158); - tempvar temp = temp * (pow42 - pow2161); - tempvar temp = temp * (pow42 - pow2164); - tempvar temp = temp * (pow42 - pow2183); - tempvar temp = temp * (pow42 - pow2147); - tempvar temp = temp * (pow42 - pow2150); - tempvar temp = temp * (pow42 - pow2153); - tempvar temp = temp * (pow42 - pow2156); - tempvar temp = temp * (pow42 - pow2159); - tempvar temp = temp * (pow42 - pow2162); - tempvar temp = temp * (pow42 - pow2165); - tempvar temp = temp * (pow42 - pow2200); - tempvar temp = temp * (pow42 - pow2232); - tempvar temp = temp * (pow42 - pow2233); - tempvar temp = temp * (pow42 - pow2234); - tempvar temp = temp * (pow42 - pow2235); - tempvar temp = temp * (pow42 - pow2236); - tempvar temp = temp * (pow42 - pow2237); - tempvar temp = temp * (pow42 - pow2238); - assert domain79 = temp * (pow42 - pow2239); - tempvar temp = pow42 - pow2067; - tempvar temp = temp * (pow42 - pow2068); - tempvar temp = temp * (pow42 - pow2069); - tempvar temp = temp * (pow42 - pow2070); - tempvar temp = temp * (pow42 - pow2071); - tempvar temp = temp * (pow42 - pow2072); - tempvar temp = temp * (pow42 - pow2127); - tempvar temp = temp * (pow42 - pow2128); - assert domain80 = temp * (domain79); - tempvar temp = pow42 - pow2049; - tempvar temp = temp * (pow42 - pow2052); - tempvar temp = temp * (pow42 - pow2055); - tempvar temp = temp * (pow42 - pow2058); - tempvar temp = temp * (pow42 - pow2061); - tempvar temp = temp * (pow42 - pow2064); - tempvar temp = temp * (pow42 - pow2073); - tempvar temp = temp * (pow42 - pow2076); - tempvar temp = temp * (pow42 - pow2050); - tempvar temp = temp * (pow42 - pow2053); - tempvar temp = temp * (pow42 - pow2056); - tempvar temp = temp * (pow42 - pow2059); - tempvar temp = temp * (pow42 - pow2062); - tempvar temp = temp * (pow42 - pow2065); - tempvar temp = temp * (pow42 - pow2074); - tempvar temp = temp * (pow42 - pow2093); - tempvar temp = temp * (pow42 - pow2051); - tempvar temp = temp * (pow42 - pow2054); - tempvar temp = temp * (pow42 - pow2057); - tempvar temp = temp * (pow42 - pow2060); - tempvar temp = temp * (pow42 - pow2063); - tempvar temp = temp * (pow42 - pow2066); - tempvar temp = temp * (pow42 - pow2075); - tempvar temp = temp * (pow42 - pow2110); - assert domain81 = temp * (domain80); - tempvar temp = pow42 - pow2018; - tempvar temp = temp * (pow42 - pow2019); - tempvar temp = temp * (pow42 - pow2020); - tempvar temp = temp * (pow42 - pow2021); - tempvar temp = temp * (pow42 - pow2022); - tempvar temp = temp * (pow42 - pow2023); - tempvar temp = temp * (pow42 - pow2024); - tempvar temp = temp * (pow42 - pow2025); - assert domain82 = temp * (domain81); - tempvar temp = pow42 - pow1979; - tempvar temp = temp * (pow42 - pow1980); - tempvar temp = temp * (pow42 - pow1981); - tempvar temp = temp * (pow42 - pow1982); - tempvar temp = temp * (pow42 - pow1983); - tempvar temp = temp * (pow42 - pow1984); - tempvar temp = temp * (pow42 - pow1985); - tempvar temp = temp * (pow42 - pow1986); - assert domain83 = temp * (domain82); - tempvar temp = pow42 - pow2167; - tempvar temp = temp * (pow42 - pow2168); - tempvar temp = temp * (pow42 - pow2169); - tempvar temp = temp * (pow42 - pow2170); - tempvar temp = temp * (pow42 - pow2171); - tempvar temp = temp * (pow42 - pow2172); - tempvar temp = temp * (pow42 - pow2173); - tempvar temp = temp * (pow42 - pow2174); - tempvar temp = temp * (pow42 - pow2175); - tempvar temp = temp * (pow42 - pow2176); - tempvar temp = temp * (pow42 - pow2177); - tempvar temp = temp * (pow42 - pow2178); - tempvar temp = temp * (pow42 - pow2179); - tempvar temp = temp * (pow42 - pow2180); - tempvar temp = temp * (pow42 - pow2181); - tempvar temp = temp * (pow42 - pow2182); - tempvar temp = temp * (pow42 - pow2184); - tempvar temp = temp * (pow42 - pow2185); - tempvar temp = temp * (pow42 - pow2186); - tempvar temp = temp * (pow42 - pow2187); - tempvar temp = temp * (pow42 - pow2188); - tempvar temp = temp * (pow42 - pow2189); - tempvar temp = temp * (pow42 - pow2190); - tempvar temp = temp * (pow42 - pow2191); - tempvar temp = temp * (pow42 - pow2192); - tempvar temp = temp * (pow42 - pow2193); - tempvar temp = temp * (pow42 - pow2194); - tempvar temp = temp * (pow42 - pow2195); - tempvar temp = temp * (pow42 - pow2196); - tempvar temp = temp * (pow42 - pow2197); - tempvar temp = temp * (pow42 - pow2198); - tempvar temp = temp * (pow42 - pow2199); - tempvar temp = temp * (pow42 - pow2201); - tempvar temp = temp * (pow42 - pow2202); - tempvar temp = temp * (pow42 - pow2203); - tempvar temp = temp * (pow42 - pow2204); - tempvar temp = temp * (pow42 - pow2205); - tempvar temp = temp * (pow42 - pow2206); - tempvar temp = temp * (pow42 - pow2207); - tempvar temp = temp * (pow42 - pow2208); - tempvar temp = temp * (pow42 - pow2209); - tempvar temp = temp * (pow42 - pow2210); - tempvar temp = temp * (pow42 - pow2211); - tempvar temp = temp * (pow42 - pow2212); - tempvar temp = temp * (pow42 - pow2213); - tempvar temp = temp * (pow42 - pow2214); - tempvar temp = temp * (pow42 - pow2215); - tempvar temp = temp * (pow42 - pow2216); - tempvar temp = temp * (pow42 - pow2240); - tempvar temp = temp * (pow42 - pow2241); - tempvar temp = temp * (pow42 - pow2242); - tempvar temp = temp * (pow42 - pow2243); - tempvar temp = temp * (pow42 - pow2244); - tempvar temp = temp * (pow42 - pow2245); - tempvar temp = temp * (pow42 - pow2246); - tempvar temp = temp * (pow42 - pow2247); - tempvar temp = temp * (pow42 - pow2248); - tempvar temp = temp * (pow42 - pow2249); - tempvar temp = temp * (pow42 - pow2250); - tempvar temp = temp * (pow42 - pow2251); - tempvar temp = temp * (pow42 - pow2252); - tempvar temp = temp * (pow42 - pow2253); - tempvar temp = temp * (pow42 - pow2254); - tempvar temp = temp * (pow42 - pow2255); - assert domain84 = temp * (domain78); - tempvar temp = pow42 - pow2129; - tempvar temp = temp * (pow42 - pow2130); - tempvar temp = temp * (pow42 - pow2131); - tempvar temp = temp * (pow42 - pow2132); - tempvar temp = temp * (pow42 - pow2133); - tempvar temp = temp * (pow42 - pow2134); - tempvar temp = temp * (pow42 - pow2135); - tempvar temp = temp * (pow42 - pow2136); - tempvar temp = temp * (pow42 - pow2137); - tempvar temp = temp * (pow42 - pow2138); - tempvar temp = temp * (pow42 - pow2139); - tempvar temp = temp * (pow42 - pow2140); - tempvar temp = temp * (pow42 - pow2141); - tempvar temp = temp * (pow42 - pow2142); - tempvar temp = temp * (pow42 - pow2143); - tempvar temp = temp * (pow42 - pow2144); - assert domain85 = temp * (domain84); - tempvar temp = pow42 - pow2077; - tempvar temp = temp * (pow42 - pow2078); - tempvar temp = temp * (pow42 - pow2079); - tempvar temp = temp * (pow42 - pow2080); - tempvar temp = temp * (pow42 - pow2081); - tempvar temp = temp * (pow42 - pow2082); - tempvar temp = temp * (pow42 - pow2083); - tempvar temp = temp * (pow42 - pow2084); - tempvar temp = temp * (pow42 - pow2085); - tempvar temp = temp * (pow42 - pow2086); - tempvar temp = temp * (pow42 - pow2087); - tempvar temp = temp * (pow42 - pow2088); - tempvar temp = temp * (pow42 - pow2089); - tempvar temp = temp * (pow42 - pow2090); - tempvar temp = temp * (pow42 - pow2091); - tempvar temp = temp * (pow42 - pow2092); - tempvar temp = temp * (pow42 - pow2094); - tempvar temp = temp * (pow42 - pow2095); - tempvar temp = temp * (pow42 - pow2096); - tempvar temp = temp * (pow42 - pow2097); - tempvar temp = temp * (pow42 - pow2098); - tempvar temp = temp * (pow42 - pow2099); - tempvar temp = temp * (pow42 - pow2100); - tempvar temp = temp * (pow42 - pow2101); - tempvar temp = temp * (pow42 - pow2102); - tempvar temp = temp * (pow42 - pow2103); - tempvar temp = temp * (pow42 - pow2104); - tempvar temp = temp * (pow42 - pow2105); - tempvar temp = temp * (pow42 - pow2106); - tempvar temp = temp * (pow42 - pow2107); - tempvar temp = temp * (pow42 - pow2108); - tempvar temp = temp * (pow42 - pow2109); - tempvar temp = temp * (pow42 - pow2111); - tempvar temp = temp * (pow42 - pow2112); - tempvar temp = temp * (pow42 - pow2113); - tempvar temp = temp * (pow42 - pow2114); - tempvar temp = temp * (pow42 - pow2115); - tempvar temp = temp * (pow42 - pow2116); - tempvar temp = temp * (pow42 - pow2117); - tempvar temp = temp * (pow42 - pow2118); - tempvar temp = temp * (pow42 - pow2119); - tempvar temp = temp * (pow42 - pow2120); - tempvar temp = temp * (pow42 - pow2121); - tempvar temp = temp * (pow42 - pow2122); - tempvar temp = temp * (pow42 - pow2123); - tempvar temp = temp * (pow42 - pow2124); - tempvar temp = temp * (pow42 - pow2125); - tempvar temp = temp * (pow42 - pow2126); - assert domain86 = temp * (domain85); - tempvar temp = pow42 - pow2026; - tempvar temp = temp * (pow42 - pow2027); - tempvar temp = temp * (pow42 - pow2028); - tempvar temp = temp * (pow42 - pow2029); - tempvar temp = temp * (pow42 - pow2030); - tempvar temp = temp * (pow42 - pow2031); - tempvar temp = temp * (pow42 - pow2032); - tempvar temp = temp * (pow42 - pow2033); - tempvar temp = temp * (pow42 - pow2034); - tempvar temp = temp * (pow42 - pow2035); - tempvar temp = temp * (pow42 - pow2036); - tempvar temp = temp * (pow42 - pow2037); - tempvar temp = temp * (pow42 - pow2038); - tempvar temp = temp * (pow42 - pow2039); - tempvar temp = temp * (pow42 - pow2040); - tempvar temp = temp * (pow42 - pow2041); - assert domain87 = temp * (domain86); - tempvar temp = pow42 - pow1987; - tempvar temp = temp * (pow42 - pow1988); - tempvar temp = temp * (pow42 - pow1989); - tempvar temp = temp * (pow42 - pow1990); - tempvar temp = temp * (pow42 - pow1991); - tempvar temp = temp * (pow42 - pow1992); - tempvar temp = temp * (pow42 - pow1993); - tempvar temp = temp * (pow42 - pow1994); - tempvar temp = temp * (pow42 - pow1995); - tempvar temp = temp * (pow42 - pow1996); - tempvar temp = temp * (pow42 - pow1997); - tempvar temp = temp * (pow42 - pow1998); - tempvar temp = temp * (pow42 - pow1999); - tempvar temp = temp * (pow42 - pow2000); - tempvar temp = temp * (pow42 - pow2001); - tempvar temp = temp * (pow42 - pow2002); - tempvar temp = temp * (domain83); - assert domain88 = temp * (domain87); - tempvar temp = pow42 - pow1948; - tempvar temp = temp * (pow42 - pow1949); - tempvar temp = temp * (pow42 - pow1950); - tempvar temp = temp * (pow42 - pow1951); - tempvar temp = temp * (pow42 - pow1952); - tempvar temp = temp * (pow42 - pow1953); - tempvar temp = temp * (pow42 - pow1954); - assert domain89 = temp * (pow42 - pow1955); - tempvar temp = pow42 - pow1956; - tempvar temp = temp * (pow42 - pow1957); - tempvar temp = temp * (pow42 - pow1958); - tempvar temp = temp * (pow42 - pow1959); - tempvar temp = temp * (pow42 - pow1960); - tempvar temp = temp * (pow42 - pow1961); - tempvar temp = temp * (pow42 - pow1962); - tempvar temp = temp * (pow42 - pow1963); - tempvar temp = temp * (pow42 - pow1964); - tempvar temp = temp * (pow42 - pow1965); - tempvar temp = temp * (pow42 - pow1966); - tempvar temp = temp * (pow42 - pow1967); - tempvar temp = temp * (pow42 - pow1968); - tempvar temp = temp * (pow42 - pow1969); - tempvar temp = temp * (pow42 - pow1970); - tempvar temp = temp * (pow42 - pow1971); - tempvar temp = temp * (domain88); - assert domain90 = temp * (domain89); - tempvar temp = pow42 - pow1878; - tempvar temp = temp * (pow42 - pow1879); - tempvar temp = temp * (pow42 - pow1880); - tempvar temp = temp * (pow42 - pow1881); - tempvar temp = temp * (pow42 - pow1882); - tempvar temp = temp * (pow42 - pow1883); - tempvar temp = temp * (pow42 - pow1884); - tempvar temp = temp * (pow42 - pow1885); - tempvar temp = temp * (pow42 - pow1909); - tempvar temp = temp * (pow42 - pow1910); - tempvar temp = temp * (pow42 - pow1911); - tempvar temp = temp * (pow42 - pow1912); - tempvar temp = temp * (pow42 - pow1913); - tempvar temp = temp * (pow42 - pow1914); - tempvar temp = temp * (pow42 - pow1915); - assert domain91 = temp * (pow42 - pow1916); - tempvar temp = pow42 - pow1815; - tempvar temp = temp * (pow42 - pow1816); - tempvar temp = temp * (pow42 - pow1817); - tempvar temp = temp * (pow42 - pow1818); - tempvar temp = temp * (pow42 - pow1819); - tempvar temp = temp * (pow42 - pow1820); - tempvar temp = temp * (pow42 - pow1821); - tempvar temp = temp * (pow42 - pow1822); - tempvar temp = temp * (pow42 - pow1839); - tempvar temp = temp * (pow42 - pow1840); - tempvar temp = temp * (pow42 - pow1841); - tempvar temp = temp * (pow42 - pow1842); - tempvar temp = temp * (pow42 - pow1843); - tempvar temp = temp * (pow42 - pow1844); - tempvar temp = temp * (pow42 - pow1845); - tempvar temp = temp * (pow42 - pow1846); - assert domain92 = temp * (domain91); - tempvar temp = pow42 - pow1823; - tempvar temp = temp * (pow42 - pow1824); - tempvar temp = temp * (pow42 - pow1825); - tempvar temp = temp * (pow42 - pow1826); - tempvar temp = temp * (pow42 - pow1827); - tempvar temp = temp * (pow42 - pow1828); - tempvar temp = temp * (pow42 - pow1829); - tempvar temp = temp * (pow42 - pow1830); - tempvar temp = temp * (pow42 - pow1831); - tempvar temp = temp * (pow42 - pow1832); - tempvar temp = temp * (pow42 - pow1833); - tempvar temp = temp * (pow42 - pow1834); - tempvar temp = temp * (pow42 - pow1835); - tempvar temp = temp * (pow42 - pow1836); - tempvar temp = temp * (pow42 - pow1837); - tempvar temp = temp * (pow42 - pow1838); - tempvar temp = temp * (pow42 - pow1847); - tempvar temp = temp * (pow42 - pow1848); - tempvar temp = temp * (pow42 - pow1849); - tempvar temp = temp * (pow42 - pow1850); - tempvar temp = temp * (pow42 - pow1851); - tempvar temp = temp * (pow42 - pow1852); - tempvar temp = temp * (pow42 - pow1853); - tempvar temp = temp * (pow42 - pow1854); - tempvar temp = temp * (pow42 - pow1855); - tempvar temp = temp * (pow42 - pow1856); - tempvar temp = temp * (pow42 - pow1857); - tempvar temp = temp * (pow42 - pow1858); - tempvar temp = temp * (pow42 - pow1859); - tempvar temp = temp * (pow42 - pow1860); - tempvar temp = temp * (pow42 - pow1861); - tempvar temp = temp * (pow42 - pow1862); - tempvar temp = temp * (pow42 - pow1886); - tempvar temp = temp * (pow42 - pow1887); - tempvar temp = temp * (pow42 - pow1888); - tempvar temp = temp * (pow42 - pow1889); - tempvar temp = temp * (pow42 - pow1890); - tempvar temp = temp * (pow42 - pow1891); - tempvar temp = temp * (pow42 - pow1892); - tempvar temp = temp * (pow42 - pow1893); - tempvar temp = temp * (pow42 - pow1894); - tempvar temp = temp * (pow42 - pow1895); - tempvar temp = temp * (pow42 - pow1896); - tempvar temp = temp * (pow42 - pow1897); - tempvar temp = temp * (pow42 - pow1898); - tempvar temp = temp * (pow42 - pow1899); - tempvar temp = temp * (pow42 - pow1900); - tempvar temp = temp * (pow42 - pow1901); - tempvar temp = temp * (pow42 - pow1917); - tempvar temp = temp * (pow42 - pow1918); - tempvar temp = temp * (pow42 - pow1919); - tempvar temp = temp * (pow42 - pow1920); - tempvar temp = temp * (pow42 - pow1921); - tempvar temp = temp * (pow42 - pow1922); - tempvar temp = temp * (pow42 - pow1923); - tempvar temp = temp * (pow42 - pow1924); - tempvar temp = temp * (pow42 - pow1925); - tempvar temp = temp * (pow42 - pow1926); - tempvar temp = temp * (pow42 - pow1927); - tempvar temp = temp * (pow42 - pow1928); - tempvar temp = temp * (pow42 - pow1929); - tempvar temp = temp * (pow42 - pow1930); - tempvar temp = temp * (pow42 - pow1931); - tempvar temp = temp * (pow42 - pow1932); - tempvar temp = temp * (domain90); - assert domain93 = temp * (domain92); - tempvar temp = pow42 - pow1767; - tempvar temp = temp * (pow42 - pow1768); - tempvar temp = temp * (pow42 - pow1769); - tempvar temp = temp * (pow42 - pow1770); - tempvar temp = temp * (pow42 - pow1771); - tempvar temp = temp * (pow42 - pow1772); - tempvar temp = temp * (pow42 - pow1773); - tempvar temp = temp * (pow42 - pow1774); - tempvar temp = temp * (pow42 - pow1775); - tempvar temp = temp * (pow42 - pow1776); - tempvar temp = temp * (pow42 - pow1777); - tempvar temp = temp * (pow42 - pow1778); - tempvar temp = temp * (pow42 - pow1779); - tempvar temp = temp * (pow42 - pow1780); - tempvar temp = temp * (pow42 - pow1781); - tempvar temp = temp * (pow42 - pow1782); - tempvar temp = temp * (pow42 - pow1783); - tempvar temp = temp * (pow42 - pow1784); - tempvar temp = temp * (pow42 - pow1785); - tempvar temp = temp * (pow42 - pow1786); - tempvar temp = temp * (pow42 - pow1787); - tempvar temp = temp * (pow42 - pow1788); - tempvar temp = temp * (pow42 - pow1789); - tempvar temp = temp * (pow42 - pow1790); - tempvar temp = temp * (pow42 - pow1791); - tempvar temp = temp * (pow42 - pow1792); - tempvar temp = temp * (pow42 - pow1793); - tempvar temp = temp * (pow42 - pow1794); - tempvar temp = temp * (pow42 - pow1795); - tempvar temp = temp * (pow42 - pow1796); - tempvar temp = temp * (pow42 - pow1797); - tempvar temp = temp * (pow42 - pow1798); - tempvar temp = temp * (pow42 - pow1799); - tempvar temp = temp * (pow42 - pow1800); - tempvar temp = temp * (pow42 - pow1801); - tempvar temp = temp * (pow42 - pow1802); - tempvar temp = temp * (pow42 - pow1803); - tempvar temp = temp * (pow42 - pow1804); - tempvar temp = temp * (pow42 - pow1805); - tempvar temp = temp * (pow42 - pow1806); - tempvar temp = temp * (pow42 - pow1807); - tempvar temp = temp * (pow42 - pow1808); - tempvar temp = temp * (pow42 - pow1809); - tempvar temp = temp * (pow42 - pow1810); - tempvar temp = temp * (pow42 - pow1811); - tempvar temp = temp * (pow42 - pow1812); - tempvar temp = temp * (pow42 - pow1813); - tempvar temp = temp * (pow42 - pow1814); - assert domain94 = temp * (domain93); - tempvar temp = pow42 - pow1743; - tempvar temp = temp * (pow42 - pow1744); - tempvar temp = temp * (pow42 - pow1745); - tempvar temp = temp * (pow42 - pow1746); - tempvar temp = temp * (pow42 - pow1747); - tempvar temp = temp * (pow42 - pow1748); - tempvar temp = temp * (pow42 - pow1749); - tempvar temp = temp * (pow42 - pow1750); - tempvar temp = temp * (pow42 - pow1751); - tempvar temp = temp * (pow42 - pow1752); - tempvar temp = temp * (pow42 - pow1753); - tempvar temp = temp * (pow42 - pow1754); - tempvar temp = temp * (pow42 - pow1755); - tempvar temp = temp * (pow42 - pow1756); - tempvar temp = temp * (pow42 - pow1757); - tempvar temp = temp * (pow42 - pow1758); - tempvar temp = temp * (pow42 - pow1759); - tempvar temp = temp * (pow42 - pow1760); - tempvar temp = temp * (pow42 - pow1761); - tempvar temp = temp * (pow42 - pow1762); - tempvar temp = temp * (pow42 - pow1763); - tempvar temp = temp * (pow42 - pow1764); - tempvar temp = temp * (pow42 - pow1765); - tempvar temp = temp * (pow42 - pow1766); - assert domain95 = temp * (domain94); - tempvar temp = pow42 - pow848; - tempvar temp = temp * (pow42 - pow849); - tempvar temp = temp * (pow42 - pow850); - tempvar temp = temp * (pow42 - pow851); - tempvar temp = temp * (pow42 - pow852); - tempvar temp = temp * (pow42 - pow853); - tempvar temp = temp * (pow42 - pow854); - assert domain96 = temp * (pow42 - pow855); - assert domain97 = pow42 - pow887; - tempvar temp = pow42 - pow888; - tempvar temp = temp * (pow42 - pow889); - tempvar temp = temp * (pow42 - pow890); - tempvar temp = temp * (pow42 - pow891); - tempvar temp = temp * (pow42 - pow892); - tempvar temp = temp * (pow42 - pow893); - tempvar temp = temp * (pow42 - pow894); - tempvar temp = temp * (pow42 - pow918); - tempvar temp = temp * (pow42 - pow919); - tempvar temp = temp * (pow42 - pow920); - tempvar temp = temp * (pow42 - pow921); - tempvar temp = temp * (pow42 - pow922); - tempvar temp = temp * (pow42 - pow923); - tempvar temp = temp * (pow42 - pow924); - tempvar temp = temp * (pow42 - pow925); - tempvar temp = temp * (pow42 - pow957); - tempvar temp = temp * (pow42 - pow958); - tempvar temp = temp * (pow42 - pow959); - tempvar temp = temp * (pow42 - pow960); - tempvar temp = temp * (pow42 - pow961); - tempvar temp = temp * (pow42 - pow962); - tempvar temp = temp * (pow42 - pow963); - tempvar temp = temp * (pow42 - pow964); - tempvar temp = temp * (domain96); - assert domain98 = temp * (domain97); - tempvar temp = pow42 - pow856; - tempvar temp = temp * (pow42 - pow857); - tempvar temp = temp * (pow42 - pow858); - tempvar temp = temp * (pow42 - pow859); - tempvar temp = temp * (pow42 - pow860); - tempvar temp = temp * (pow42 - pow861); - tempvar temp = temp * (pow42 - pow862); - tempvar temp = temp * (pow42 - pow863); - tempvar temp = temp * (pow42 - pow864); - tempvar temp = temp * (pow42 - pow865); - tempvar temp = temp * (pow42 - pow866); - tempvar temp = temp * (pow42 - pow867); - tempvar temp = temp * (pow42 - pow868); - tempvar temp = temp * (pow42 - pow869); - tempvar temp = temp * (pow42 - pow870); - tempvar temp = temp * (pow42 - pow871); - assert domain99 = temp * (domain67); - tempvar temp = pow42 - pow895; - tempvar temp = temp * (pow42 - pow896); - tempvar temp = temp * (pow42 - pow897); - tempvar temp = temp * (pow42 - pow898); - tempvar temp = temp * (pow42 - pow899); - tempvar temp = temp * (pow42 - pow900); - tempvar temp = temp * (pow42 - pow901); - tempvar temp = temp * (pow42 - pow902); - tempvar temp = temp * (pow42 - pow903); - tempvar temp = temp * (pow42 - pow904); - tempvar temp = temp * (pow42 - pow905); - tempvar temp = temp * (pow42 - pow906); - tempvar temp = temp * (pow42 - pow907); - tempvar temp = temp * (pow42 - pow908); - tempvar temp = temp * (pow42 - pow909); - tempvar temp = temp * (pow42 - pow910); - tempvar temp = temp * (pow42 - pow926); - tempvar temp = temp * (pow42 - pow927); - tempvar temp = temp * (pow42 - pow928); - tempvar temp = temp * (pow42 - pow929); - tempvar temp = temp * (pow42 - pow930); - tempvar temp = temp * (pow42 - pow931); - tempvar temp = temp * (pow42 - pow932); - tempvar temp = temp * (pow42 - pow933); - tempvar temp = temp * (pow42 - pow934); - tempvar temp = temp * (pow42 - pow935); - tempvar temp = temp * (pow42 - pow936); - tempvar temp = temp * (pow42 - pow937); - tempvar temp = temp * (pow42 - pow938); - tempvar temp = temp * (pow42 - pow939); - tempvar temp = temp * (pow42 - pow940); - tempvar temp = temp * (pow42 - pow941); - tempvar temp = temp * (pow42 - pow965); - tempvar temp = temp * (pow42 - pow966); - tempvar temp = temp * (pow42 - pow967); - tempvar temp = temp * (pow42 - pow968); - tempvar temp = temp * (pow42 - pow969); - tempvar temp = temp * (pow42 - pow970); - tempvar temp = temp * (pow42 - pow971); - tempvar temp = temp * (pow42 - pow972); - tempvar temp = temp * (pow42 - pow973); - tempvar temp = temp * (pow42 - pow974); - tempvar temp = temp * (pow42 - pow975); - tempvar temp = temp * (pow42 - pow976); - tempvar temp = temp * (pow42 - pow977); - tempvar temp = temp * (pow42 - pow978); - tempvar temp = temp * (pow42 - pow979); - tempvar temp = temp * (pow42 - pow980); - tempvar temp = temp * (domain98); - assert domain100 = temp * (domain99); - assert domain101 = pow42 - pow1012; - tempvar temp = pow42 - pow988; - tempvar temp = temp * (pow42 - pow989); - tempvar temp = temp * (pow42 - pow990); - tempvar temp = temp * (pow42 - pow991); - tempvar temp = temp * (pow42 - pow992); - tempvar temp = temp * (pow42 - pow993); - tempvar temp = temp * (pow42 - pow994); - tempvar temp = temp * (pow42 - pow995); - tempvar temp = temp * (pow42 - pow1015); - tempvar temp = temp * (pow42 - pow1018); - tempvar temp = temp * (pow42 - pow1021); - tempvar temp = temp * (pow42 - pow1024); - tempvar temp = temp * (pow42 - pow1027); - tempvar temp = temp * (pow42 - pow1030); - tempvar temp = temp * (pow42 - pow1033); - assert domain102 = temp * (domain101); - tempvar temp = pow42 - pow1013; - tempvar temp = temp * (pow42 - pow1016); - tempvar temp = temp * (pow42 - pow1019); - tempvar temp = temp * (pow42 - pow1022); - tempvar temp = temp * (pow42 - pow1025); - tempvar temp = temp * (pow42 - pow1028); - tempvar temp = temp * (pow42 - pow1031); - tempvar temp = temp * (pow42 - pow1050); - assert domain103 = temp * (domain102); - tempvar temp = pow42 - pow1014; - tempvar temp = temp * (pow42 - pow1017); - tempvar temp = temp * (pow42 - pow1020); - tempvar temp = temp * (pow42 - pow1023); - tempvar temp = temp * (pow42 - pow1026); - tempvar temp = temp * (pow42 - pow1029); - tempvar temp = temp * (pow42 - pow1032); - tempvar temp = temp * (pow42 - pow1067); - assert domain104 = temp * (domain103); - tempvar temp = pow42 - pow996; - tempvar temp = temp * (pow42 - pow997); - tempvar temp = temp * (pow42 - pow998); - tempvar temp = temp * (pow42 - pow999); - tempvar temp = temp * (pow42 - pow1000); - tempvar temp = temp * (pow42 - pow1001); - tempvar temp = temp * (pow42 - pow1002); - tempvar temp = temp * (pow42 - pow1003); - tempvar temp = temp * (pow42 - pow1004); - tempvar temp = temp * (pow42 - pow1005); - tempvar temp = temp * (pow42 - pow1006); - tempvar temp = temp * (pow42 - pow1007); - tempvar temp = temp * (pow42 - pow1008); - tempvar temp = temp * (pow42 - pow1009); - tempvar temp = temp * (pow42 - pow1010); - tempvar temp = temp * (pow42 - pow1011); - tempvar temp = temp * (pow42 - pow1034); - tempvar temp = temp * (pow42 - pow1035); - tempvar temp = temp * (pow42 - pow1036); - tempvar temp = temp * (pow42 - pow1037); - tempvar temp = temp * (pow42 - pow1038); - tempvar temp = temp * (pow42 - pow1039); - tempvar temp = temp * (pow42 - pow1040); - tempvar temp = temp * (pow42 - pow1041); - tempvar temp = temp * (pow42 - pow1042); - tempvar temp = temp * (pow42 - pow1043); - tempvar temp = temp * (pow42 - pow1044); - tempvar temp = temp * (pow42 - pow1045); - tempvar temp = temp * (pow42 - pow1046); - tempvar temp = temp * (pow42 - pow1047); - tempvar temp = temp * (pow42 - pow1048); - tempvar temp = temp * (pow42 - pow1049); - assert domain105 = temp * (domain100); - tempvar temp = pow42 - pow1051; - tempvar temp = temp * (pow42 - pow1052); - tempvar temp = temp * (pow42 - pow1053); - tempvar temp = temp * (pow42 - pow1054); - tempvar temp = temp * (pow42 - pow1055); - tempvar temp = temp * (pow42 - pow1056); - tempvar temp = temp * (pow42 - pow1057); - tempvar temp = temp * (pow42 - pow1058); - tempvar temp = temp * (pow42 - pow1059); - tempvar temp = temp * (pow42 - pow1060); - tempvar temp = temp * (pow42 - pow1061); - tempvar temp = temp * (pow42 - pow1062); - tempvar temp = temp * (pow42 - pow1063); - tempvar temp = temp * (pow42 - pow1064); - tempvar temp = temp * (pow42 - pow1065); - tempvar temp = temp * (pow42 - pow1066); - tempvar temp = temp * (pow42 - pow1068); - tempvar temp = temp * (pow42 - pow1069); - tempvar temp = temp * (pow42 - pow1070); - tempvar temp = temp * (pow42 - pow1071); - tempvar temp = temp * (pow42 - pow1072); - tempvar temp = temp * (pow42 - pow1073); - tempvar temp = temp * (pow42 - pow1074); - tempvar temp = temp * (pow42 - pow1075); - tempvar temp = temp * (pow42 - pow1076); - tempvar temp = temp * (pow42 - pow1077); - tempvar temp = temp * (pow42 - pow1078); - tempvar temp = temp * (pow42 - pow1079); - tempvar temp = temp * (pow42 - pow1080); - tempvar temp = temp * (pow42 - pow1081); - tempvar temp = temp * (pow42 - pow1082); - tempvar temp = temp * (pow42 - pow1083); - tempvar temp = temp * (domain104); - assert domain106 = temp * (domain105); - tempvar temp = pow42 - pow1084; - tempvar temp = temp * (pow42 - pow1085); - tempvar temp = temp * (pow42 - pow1086); - tempvar temp = temp * (pow42 - pow1087); - tempvar temp = temp * (pow42 - pow1088); - tempvar temp = temp * (pow42 - pow1089); - tempvar temp = temp * (pow42 - pow1090); - tempvar temp = temp * (pow42 - pow1091); - tempvar temp = temp * (pow42 - pow1123); - tempvar temp = temp * (pow42 - pow1124); - tempvar temp = temp * (pow42 - pow1125); - tempvar temp = temp * (pow42 - pow1126); - tempvar temp = temp * (pow42 - pow1127); - tempvar temp = temp * (pow42 - pow1128); - tempvar temp = temp * (pow42 - pow1129); - tempvar temp = temp * (pow42 - pow1130); - tempvar temp = temp * (pow42 - pow1154); - tempvar temp = temp * (pow42 - pow1155); - tempvar temp = temp * (pow42 - pow1156); - tempvar temp = temp * (pow42 - pow1157); - tempvar temp = temp * (pow42 - pow1158); - tempvar temp = temp * (pow42 - pow1159); - tempvar temp = temp * (pow42 - pow1160); - tempvar temp = temp * (pow42 - pow1161); - tempvar temp = temp * (pow42 - pow1193); - tempvar temp = temp * (pow42 - pow1194); - tempvar temp = temp * (pow42 - pow1195); - tempvar temp = temp * (pow42 - pow1196); - tempvar temp = temp * (pow42 - pow1197); - tempvar temp = temp * (pow42 - pow1198); - tempvar temp = temp * (pow42 - pow1199); - assert domain107 = temp * (pow42 - pow1200); - tempvar temp = pow42 - pow1224; - tempvar temp = temp * (pow42 - pow1225); - tempvar temp = temp * (pow42 - pow1226); - tempvar temp = temp * (pow42 - pow1227); - tempvar temp = temp * (pow42 - pow1228); - tempvar temp = temp * (pow42 - pow1229); - tempvar temp = temp * (pow42 - pow1230); - tempvar temp = temp * (pow42 - pow1231); - assert domain108 = temp * (domain107); - assert domain109 = pow42 - pow1263; - tempvar temp = pow42 - pow1264; - tempvar temp = temp * (pow42 - pow1265); - tempvar temp = temp * (pow42 - pow1266); - tempvar temp = temp * (pow42 - pow1267); - tempvar temp = temp * (pow42 - pow1268); - tempvar temp = temp * (pow42 - pow1269); - tempvar temp = temp * (pow42 - pow1270); - tempvar temp = temp * (pow42 - pow1294); - tempvar temp = temp * (pow42 - pow1298); - tempvar temp = temp * (pow42 - pow1302); - tempvar temp = temp * (pow42 - pow1306); - tempvar temp = temp * (pow42 - pow1310); - tempvar temp = temp * (pow42 - pow1314); - tempvar temp = temp * (pow42 - pow1318); - tempvar temp = temp * (pow42 - pow1322); - tempvar temp = temp * (pow42 - pow1295); - tempvar temp = temp * (pow42 - pow1299); - tempvar temp = temp * (pow42 - pow1303); - tempvar temp = temp * (pow42 - pow1307); - tempvar temp = temp * (pow42 - pow1311); - tempvar temp = temp * (pow42 - pow1315); - tempvar temp = temp * (pow42 - pow1319); - tempvar temp = temp * (pow42 - pow1324); - tempvar temp = temp * (domain108); - assert domain110 = temp * (domain109); - tempvar temp = pow42 - pow1296; - tempvar temp = temp * (pow42 - pow1300); - tempvar temp = temp * (pow42 - pow1304); - tempvar temp = temp * (pow42 - pow1308); - tempvar temp = temp * (pow42 - pow1312); - tempvar temp = temp * (pow42 - pow1316); - tempvar temp = temp * (pow42 - pow1320); - tempvar temp = temp * (pow42 - pow1326); - assert domain111 = temp * (domain110); - tempvar temp = pow42 - pow1297; - tempvar temp = temp * (pow42 - pow1301); - tempvar temp = temp * (pow42 - pow1305); - tempvar temp = temp * (pow42 - pow1309); - tempvar temp = temp * (pow42 - pow1313); - tempvar temp = temp * (pow42 - pow1317); - tempvar temp = temp * (pow42 - pow1321); - tempvar temp = temp * (pow42 - pow1328); - assert domain112 = temp * (domain111); - tempvar temp = pow42 - pow1092; - tempvar temp = temp * (pow42 - pow1093); - tempvar temp = temp * (pow42 - pow1094); - tempvar temp = temp * (pow42 - pow1095); - tempvar temp = temp * (pow42 - pow1096); - tempvar temp = temp * (pow42 - pow1097); - tempvar temp = temp * (pow42 - pow1098); - tempvar temp = temp * (pow42 - pow1099); - tempvar temp = temp * (pow42 - pow1100); - tempvar temp = temp * (pow42 - pow1101); - tempvar temp = temp * (pow42 - pow1102); - tempvar temp = temp * (pow42 - pow1103); - tempvar temp = temp * (pow42 - pow1104); - tempvar temp = temp * (pow42 - pow1105); - tempvar temp = temp * (pow42 - pow1106); - tempvar temp = temp * (pow42 - pow1107); - tempvar temp = temp * (pow42 - pow1131); - tempvar temp = temp * (pow42 - pow1132); - tempvar temp = temp * (pow42 - pow1133); - tempvar temp = temp * (pow42 - pow1134); - tempvar temp = temp * (pow42 - pow1135); - tempvar temp = temp * (pow42 - pow1136); - tempvar temp = temp * (pow42 - pow1137); - tempvar temp = temp * (pow42 - pow1138); - tempvar temp = temp * (pow42 - pow1139); - tempvar temp = temp * (pow42 - pow1140); - tempvar temp = temp * (pow42 - pow1141); - tempvar temp = temp * (pow42 - pow1142); - tempvar temp = temp * (pow42 - pow1143); - tempvar temp = temp * (pow42 - pow1144); - tempvar temp = temp * (pow42 - pow1145); - tempvar temp = temp * (pow42 - pow1146); - tempvar temp = temp * (pow42 - pow1162); - tempvar temp = temp * (pow42 - pow1163); - tempvar temp = temp * (pow42 - pow1164); - tempvar temp = temp * (pow42 - pow1165); - tempvar temp = temp * (pow42 - pow1166); - tempvar temp = temp * (pow42 - pow1167); - tempvar temp = temp * (pow42 - pow1168); - tempvar temp = temp * (pow42 - pow1169); - tempvar temp = temp * (pow42 - pow1170); - tempvar temp = temp * (pow42 - pow1171); - tempvar temp = temp * (pow42 - pow1172); - tempvar temp = temp * (pow42 - pow1173); - tempvar temp = temp * (pow42 - pow1174); - tempvar temp = temp * (pow42 - pow1175); - tempvar temp = temp * (pow42 - pow1176); - tempvar temp = temp * (pow42 - pow1177); - tempvar temp = temp * (pow42 - pow1201); - tempvar temp = temp * (pow42 - pow1202); - tempvar temp = temp * (pow42 - pow1203); - tempvar temp = temp * (pow42 - pow1204); - tempvar temp = temp * (pow42 - pow1205); - tempvar temp = temp * (pow42 - pow1206); - tempvar temp = temp * (pow42 - pow1207); - tempvar temp = temp * (pow42 - pow1208); - tempvar temp = temp * (pow42 - pow1209); - tempvar temp = temp * (pow42 - pow1210); - tempvar temp = temp * (pow42 - pow1211); - tempvar temp = temp * (pow42 - pow1212); - tempvar temp = temp * (pow42 - pow1213); - tempvar temp = temp * (pow42 - pow1214); - tempvar temp = temp * (pow42 - pow1215); - tempvar temp = temp * (pow42 - pow1216); - assert domain113 = temp * (domain106); - tempvar temp = pow42 - pow1232; - tempvar temp = temp * (pow42 - pow1233); - tempvar temp = temp * (pow42 - pow1234); - tempvar temp = temp * (pow42 - pow1235); - tempvar temp = temp * (pow42 - pow1236); - tempvar temp = temp * (pow42 - pow1237); - tempvar temp = temp * (pow42 - pow1238); - tempvar temp = temp * (pow42 - pow1239); - tempvar temp = temp * (pow42 - pow1240); - tempvar temp = temp * (pow42 - pow1241); - tempvar temp = temp * (pow42 - pow1242); - tempvar temp = temp * (pow42 - pow1243); - tempvar temp = temp * (pow42 - pow1244); - tempvar temp = temp * (pow42 - pow1245); - tempvar temp = temp * (pow42 - pow1246); - tempvar temp = temp * (pow42 - pow1247); - assert domain114 = temp * (domain113); - tempvar temp = pow42 - pow1271; - tempvar temp = temp * (pow42 - pow1272); - tempvar temp = temp * (pow42 - pow1273); - tempvar temp = temp * (pow42 - pow1274); - tempvar temp = temp * (pow42 - pow1275); - tempvar temp = temp * (pow42 - pow1276); - tempvar temp = temp * (pow42 - pow1277); - tempvar temp = temp * (pow42 - pow1278); - tempvar temp = temp * (pow42 - pow1279); - tempvar temp = temp * (pow42 - pow1280); - tempvar temp = temp * (pow42 - pow1281); - tempvar temp = temp * (pow42 - pow1282); - tempvar temp = temp * (pow42 - pow1283); - tempvar temp = temp * (pow42 - pow1284); - tempvar temp = temp * (pow42 - pow1285); - tempvar temp = temp * (pow42 - pow1286); - tempvar temp = temp * (pow42 - pow1323); - tempvar temp = temp * (pow42 - pow1330); - tempvar temp = temp * (pow42 - pow1334); - tempvar temp = temp * (pow42 - pow1338); - tempvar temp = temp * (pow42 - pow1342); - tempvar temp = temp * (pow42 - pow1346); - tempvar temp = temp * (pow42 - pow1350); - tempvar temp = temp * (pow42 - pow1354); - tempvar temp = temp * (pow42 - pow1358); - tempvar temp = temp * (pow42 - pow1362); - tempvar temp = temp * (pow42 - pow1366); - tempvar temp = temp * (pow42 - pow1370); - tempvar temp = temp * (pow42 - pow1374); - tempvar temp = temp * (pow42 - pow1378); - tempvar temp = temp * (pow42 - pow1382); - tempvar temp = temp * (pow42 - pow1386); - tempvar temp = temp * (pow42 - pow1325); - tempvar temp = temp * (pow42 - pow1331); - tempvar temp = temp * (pow42 - pow1335); - tempvar temp = temp * (pow42 - pow1339); - tempvar temp = temp * (pow42 - pow1343); - tempvar temp = temp * (pow42 - pow1347); - tempvar temp = temp * (pow42 - pow1351); - tempvar temp = temp * (pow42 - pow1355); - tempvar temp = temp * (pow42 - pow1359); - tempvar temp = temp * (pow42 - pow1363); - tempvar temp = temp * (pow42 - pow1367); - tempvar temp = temp * (pow42 - pow1371); - tempvar temp = temp * (pow42 - pow1375); - tempvar temp = temp * (pow42 - pow1379); - tempvar temp = temp * (pow42 - pow1383); - tempvar temp = temp * (pow42 - pow1387); - assert domain115 = temp * (domain114); - tempvar temp = pow42 - pow1327; - tempvar temp = temp * (pow42 - pow1332); - tempvar temp = temp * (pow42 - pow1336); - tempvar temp = temp * (pow42 - pow1340); - tempvar temp = temp * (pow42 - pow1344); - tempvar temp = temp * (pow42 - pow1348); - tempvar temp = temp * (pow42 - pow1352); - tempvar temp = temp * (pow42 - pow1356); - tempvar temp = temp * (pow42 - pow1360); - tempvar temp = temp * (pow42 - pow1364); - tempvar temp = temp * (pow42 - pow1368); - tempvar temp = temp * (pow42 - pow1372); - tempvar temp = temp * (pow42 - pow1376); - tempvar temp = temp * (pow42 - pow1380); - tempvar temp = temp * (pow42 - pow1384); - tempvar temp = temp * (pow42 - pow1388); - assert domain116 = temp * (domain115); - tempvar temp = pow42 - pow1329; - tempvar temp = temp * (pow42 - pow1333); - tempvar temp = temp * (pow42 - pow1337); - tempvar temp = temp * (pow42 - pow1341); - tempvar temp = temp * (pow42 - pow1345); - tempvar temp = temp * (pow42 - pow1349); - tempvar temp = temp * (pow42 - pow1353); - tempvar temp = temp * (pow42 - pow1357); - tempvar temp = temp * (pow42 - pow1361); - tempvar temp = temp * (pow42 - pow1365); - tempvar temp = temp * (pow42 - pow1369); - tempvar temp = temp * (pow42 - pow1373); - tempvar temp = temp * (pow42 - pow1377); - tempvar temp = temp * (pow42 - pow1381); - tempvar temp = temp * (pow42 - pow1385); - tempvar temp = temp * (pow42 - pow1389); - tempvar temp = temp * (domain112); - assert domain117 = temp * (domain116); - tempvar temp = pow42 - pow1390; - tempvar temp = temp * (pow42 - pow1391); - tempvar temp = temp * (pow42 - pow1392); - tempvar temp = temp * (pow42 - pow1393); - tempvar temp = temp * (pow42 - pow1394); - tempvar temp = temp * (pow42 - pow1395); - tempvar temp = temp * (pow42 - pow1396); - assert domain118 = temp * (pow42 - pow1397); - tempvar temp = pow42 - pow1398; - tempvar temp = temp * (pow42 - pow1399); - tempvar temp = temp * (pow42 - pow1400); - tempvar temp = temp * (pow42 - pow1401); - tempvar temp = temp * (pow42 - pow1402); - tempvar temp = temp * (pow42 - pow1403); - tempvar temp = temp * (pow42 - pow1404); - tempvar temp = temp * (pow42 - pow1405); - tempvar temp = temp * (pow42 - pow1406); - tempvar temp = temp * (pow42 - pow1407); - tempvar temp = temp * (pow42 - pow1408); - tempvar temp = temp * (pow42 - pow1409); - tempvar temp = temp * (pow42 - pow1410); - tempvar temp = temp * (pow42 - pow1411); - tempvar temp = temp * (pow42 - pow1412); - tempvar temp = temp * (pow42 - pow1413); - tempvar temp = temp * (domain117); - assert domain119 = temp * (domain118); - tempvar temp = pow42 - pow1429; - tempvar temp = temp * (pow42 - pow1430); - tempvar temp = temp * (pow42 - pow1431); - tempvar temp = temp * (pow42 - pow1432); - tempvar temp = temp * (pow42 - pow1433); - tempvar temp = temp * (pow42 - pow1434); - tempvar temp = temp * (pow42 - pow1435); - tempvar temp = temp * (pow42 - pow1436); - tempvar temp = temp * (pow42 - pow1460); - tempvar temp = temp * (pow42 - pow1461); - tempvar temp = temp * (pow42 - pow1462); - tempvar temp = temp * (pow42 - pow1463); - tempvar temp = temp * (pow42 - pow1464); - tempvar temp = temp * (pow42 - pow1465); - tempvar temp = temp * (pow42 - pow1466); - assert domain120 = temp * (pow42 - pow1467); - tempvar temp = pow42 - pow1499; - tempvar temp = temp * (pow42 - pow1500); - tempvar temp = temp * (pow42 - pow1501); - tempvar temp = temp * (pow42 - pow1502); - tempvar temp = temp * (pow42 - pow1503); - tempvar temp = temp * (pow42 - pow1504); - tempvar temp = temp * (pow42 - pow1505); - tempvar temp = temp * (pow42 - pow1506); - tempvar temp = temp * (pow42 - pow1530); - tempvar temp = temp * (pow42 - pow1531); - tempvar temp = temp * (pow42 - pow1532); - tempvar temp = temp * (pow42 - pow1533); - tempvar temp = temp * (pow42 - pow1534); - tempvar temp = temp * (pow42 - pow1535); - tempvar temp = temp * (pow42 - pow1536); - tempvar temp = temp * (pow42 - pow1537); - assert domain121 = temp * (domain120); - tempvar temp = pow42 - pow1437; - tempvar temp = temp * (pow42 - pow1438); - tempvar temp = temp * (pow42 - pow1439); - tempvar temp = temp * (pow42 - pow1440); - tempvar temp = temp * (pow42 - pow1441); - tempvar temp = temp * (pow42 - pow1442); - tempvar temp = temp * (pow42 - pow1443); - tempvar temp = temp * (pow42 - pow1444); - tempvar temp = temp * (pow42 - pow1445); - tempvar temp = temp * (pow42 - pow1446); - tempvar temp = temp * (pow42 - pow1447); - tempvar temp = temp * (pow42 - pow1448); - tempvar temp = temp * (pow42 - pow1449); - tempvar temp = temp * (pow42 - pow1450); - tempvar temp = temp * (pow42 - pow1451); - tempvar temp = temp * (pow42 - pow1452); - tempvar temp = temp * (pow42 - pow1468); - tempvar temp = temp * (pow42 - pow1469); - tempvar temp = temp * (pow42 - pow1470); - tempvar temp = temp * (pow42 - pow1471); - tempvar temp = temp * (pow42 - pow1472); - tempvar temp = temp * (pow42 - pow1473); - tempvar temp = temp * (pow42 - pow1474); - tempvar temp = temp * (pow42 - pow1475); - tempvar temp = temp * (pow42 - pow1476); - tempvar temp = temp * (pow42 - pow1477); - tempvar temp = temp * (pow42 - pow1478); - tempvar temp = temp * (pow42 - pow1479); - tempvar temp = temp * (pow42 - pow1480); - tempvar temp = temp * (pow42 - pow1481); - tempvar temp = temp * (pow42 - pow1482); - tempvar temp = temp * (pow42 - pow1483); - tempvar temp = temp * (pow42 - pow1507); - tempvar temp = temp * (pow42 - pow1508); - tempvar temp = temp * (pow42 - pow1509); - tempvar temp = temp * (pow42 - pow1510); - tempvar temp = temp * (pow42 - pow1511); - tempvar temp = temp * (pow42 - pow1512); - tempvar temp = temp * (pow42 - pow1513); - tempvar temp = temp * (pow42 - pow1514); - tempvar temp = temp * (pow42 - pow1515); - tempvar temp = temp * (pow42 - pow1516); - tempvar temp = temp * (pow42 - pow1517); - tempvar temp = temp * (pow42 - pow1518); - tempvar temp = temp * (pow42 - pow1519); - tempvar temp = temp * (pow42 - pow1520); - tempvar temp = temp * (pow42 - pow1521); - tempvar temp = temp * (pow42 - pow1522); - tempvar temp = temp * (pow42 - pow1538); - tempvar temp = temp * (pow42 - pow1539); - tempvar temp = temp * (pow42 - pow1540); - tempvar temp = temp * (pow42 - pow1541); - tempvar temp = temp * (pow42 - pow1542); - tempvar temp = temp * (pow42 - pow1543); - tempvar temp = temp * (pow42 - pow1544); - tempvar temp = temp * (pow42 - pow1545); - tempvar temp = temp * (pow42 - pow1546); - tempvar temp = temp * (pow42 - pow1547); - tempvar temp = temp * (pow42 - pow1548); - tempvar temp = temp * (pow42 - pow1549); - tempvar temp = temp * (pow42 - pow1550); - tempvar temp = temp * (pow42 - pow1551); - tempvar temp = temp * (pow42 - pow1552); - tempvar temp = temp * (pow42 - pow1553); - tempvar temp = temp * (domain119); - assert domain122 = temp * (domain121); - tempvar temp = pow42 - pow1569; - tempvar temp = temp * (pow42 - pow1570); - tempvar temp = temp * (pow42 - pow1571); - tempvar temp = temp * (pow42 - pow1572); - tempvar temp = temp * (pow42 - pow1573); - tempvar temp = temp * (pow42 - pow1574); - tempvar temp = temp * (pow42 - pow1575); - tempvar temp = temp * (pow42 - pow1576); - tempvar temp = temp * (pow42 - pow1577); - tempvar temp = temp * (pow42 - pow1578); - tempvar temp = temp * (pow42 - pow1579); - tempvar temp = temp * (pow42 - pow1580); - tempvar temp = temp * (pow42 - pow1581); - tempvar temp = temp * (pow42 - pow1582); - tempvar temp = temp * (pow42 - pow1583); - tempvar temp = temp * (pow42 - pow1584); - tempvar temp = temp * (pow42 - pow1585); - tempvar temp = temp * (pow42 - pow1586); - tempvar temp = temp * (pow42 - pow1587); - tempvar temp = temp * (pow42 - pow1588); - tempvar temp = temp * (pow42 - pow1589); - tempvar temp = temp * (pow42 - pow1590); - tempvar temp = temp * (pow42 - pow1591); - tempvar temp = temp * (pow42 - pow1592); - tempvar temp = temp * (pow42 - pow1600); - tempvar temp = temp * (pow42 - pow1602); - tempvar temp = temp * (pow42 - pow1604); - tempvar temp = temp * (pow42 - pow1606); - tempvar temp = temp * (pow42 - pow1608); - tempvar temp = temp * (pow42 - pow1610); - tempvar temp = temp * (pow42 - pow1612); - tempvar temp = temp * (pow42 - pow1614); - tempvar temp = temp * (pow42 - pow1616); - tempvar temp = temp * (pow42 - pow1617); - tempvar temp = temp * (pow42 - pow1618); - tempvar temp = temp * (pow42 - pow1619); - tempvar temp = temp * (pow42 - pow1620); - tempvar temp = temp * (pow42 - pow1621); - tempvar temp = temp * (pow42 - pow1622); - tempvar temp = temp * (pow42 - pow1623); - tempvar temp = temp * (pow42 - pow1624); - tempvar temp = temp * (pow42 - pow1625); - tempvar temp = temp * (pow42 - pow1626); - tempvar temp = temp * (pow42 - pow1627); - tempvar temp = temp * (pow42 - pow1628); - tempvar temp = temp * (pow42 - pow1629); - tempvar temp = temp * (pow42 - pow1630); - tempvar temp = temp * (pow42 - pow1631); - assert domain123 = temp * (domain122); - tempvar temp = pow42 - pow1601; - tempvar temp = temp * (pow42 - pow1603); - tempvar temp = temp * (pow42 - pow1605); - tempvar temp = temp * (pow42 - pow1607); - tempvar temp = temp * (pow42 - pow1609); - tempvar temp = temp * (pow42 - pow1611); - tempvar temp = temp * (pow42 - pow1613); - tempvar temp = temp * (pow42 - pow1615); - tempvar temp = temp * (pow42 - pow1632); - tempvar temp = temp * (pow42 - pow1633); - tempvar temp = temp * (pow42 - pow1634); - tempvar temp = temp * (pow42 - pow1635); - tempvar temp = temp * (pow42 - pow1636); - tempvar temp = temp * (pow42 - pow1637); - tempvar temp = temp * (pow42 - pow1638); - tempvar temp = temp * (pow42 - pow1639); - tempvar temp = temp * (pow42 - pow1640); - tempvar temp = temp * (pow42 - pow1641); - tempvar temp = temp * (pow42 - pow1642); - tempvar temp = temp * (pow42 - pow1643); - tempvar temp = temp * (pow42 - pow1644); - tempvar temp = temp * (pow42 - pow1645); - tempvar temp = temp * (pow42 - pow1646); - tempvar temp = temp * (pow42 - pow1647); - assert domain124 = temp * (domain123); - tempvar temp = domain46; - assert domain125 = temp * (domain66); - tempvar temp = domain98; + tempvar temp = temp * (pow44 - pow1602); + tempvar temp = temp * (pow44 - pow1604); + tempvar temp = temp * (pow44 - pow1606); + tempvar temp = temp * (pow44 - pow1608); + tempvar temp = temp * (pow44 - pow1610); + tempvar temp = temp * (pow44 - pow1612); + tempvar temp = temp * (pow44 - pow1614); + tempvar temp = temp * (pow44 - pow1616); + tempvar temp = temp * (pow44 - pow1618); + tempvar temp = temp * (pow44 - pow1619); + tempvar temp = temp * (pow44 - pow1620); + tempvar temp = temp * (pow44 - pow1621); + tempvar temp = temp * (pow44 - pow1622); + tempvar temp = temp * (pow44 - pow1623); + tempvar temp = temp * (pow44 - pow1624); + tempvar temp = temp * (pow44 - pow1625); + tempvar temp = temp * (pow44 - pow1626); + tempvar temp = temp * (pow44 - pow1627); + tempvar temp = temp * (pow44 - pow1628); + tempvar temp = temp * (pow44 - pow1629); + tempvar temp = temp * (pow44 - pow1630); + tempvar temp = temp * (pow44 - pow1631); + tempvar temp = temp * (pow44 - pow1632); + tempvar temp = temp * (pow44 - pow1633); assert domain126 = temp * (domain125); - tempvar temp = domain103; + tempvar temp = pow44 - pow1603; + tempvar temp = temp * (pow44 - pow1605); + tempvar temp = temp * (pow44 - pow1607); + tempvar temp = temp * (pow44 - pow1609); + tempvar temp = temp * (pow44 - pow1611); + tempvar temp = temp * (pow44 - pow1613); + tempvar temp = temp * (pow44 - pow1615); + tempvar temp = temp * (pow44 - pow1617); + tempvar temp = temp * (pow44 - pow1634); + tempvar temp = temp * (pow44 - pow1635); + tempvar temp = temp * (pow44 - pow1636); + tempvar temp = temp * (pow44 - pow1637); + tempvar temp = temp * (pow44 - pow1638); + tempvar temp = temp * (pow44 - pow1639); + tempvar temp = temp * (pow44 - pow1640); + tempvar temp = temp * (pow44 - pow1641); + tempvar temp = temp * (pow44 - pow1642); + tempvar temp = temp * (pow44 - pow1643); + tempvar temp = temp * (pow44 - pow1644); + tempvar temp = temp * (pow44 - pow1645); + tempvar temp = temp * (pow44 - pow1646); + tempvar temp = temp * (pow44 - pow1647); + tempvar temp = temp * (pow44 - pow1648); + tempvar temp = temp * (pow44 - pow1649); assert domain127 = temp * (domain126); - tempvar temp = domain59; - tempvar temp = temp * (domain63); - assert domain128 = temp * (domain68); - tempvar temp = domain71; + tempvar temp = domain49; + assert domain128 = temp * (domain69); + tempvar temp = domain101; assert domain129 = temp * (domain128); - tempvar temp = domain75; + tempvar temp = domain106; assert domain130 = temp * (domain129); - tempvar temp = domain70; - assert domain131 = temp * (domain72); - tempvar temp = domain96; - assert domain132 = temp * (domain99); - tempvar temp = domain104; - tempvar temp = temp * (domain112); - tempvar temp = temp * (domain118); - assert domain133 = temp * (domain126); - tempvar temp = domain121; - assert domain134 = temp * (domain133); - tempvar temp = domain76; - tempvar temp = temp * (domain83); - tempvar temp = temp * (domain89); - assert domain135 = temp * (domain129); - tempvar temp = domain92; - assert domain136 = temp * (domain135); - tempvar temp = domain120; - assert domain137 = temp * (domain133); - tempvar temp = domain91; - assert domain138 = temp * (domain135); + tempvar temp = domain62; + tempvar temp = temp * (domain66); + assert domain131 = temp * (domain71); + tempvar temp = domain74; + assert domain132 = temp * (domain131); + tempvar temp = domain78; + assert domain133 = temp * (domain132); + tempvar temp = domain73; + assert domain134 = temp * (domain75); + tempvar temp = domain99; + assert domain135 = temp * (domain102); + tempvar temp = domain107; + tempvar temp = temp * (domain115); + tempvar temp = temp * (domain121); + assert domain136 = temp * (domain129); + tempvar temp = domain124; + assert domain137 = temp * (domain136); + tempvar temp = domain79; + tempvar temp = temp * (domain86); + tempvar temp = temp * (domain92); + assert domain138 = temp * (domain132); + tempvar temp = domain95; + assert domain139 = temp * (domain138); + tempvar temp = domain123; + assert domain140 = temp * (domain136); + tempvar temp = domain94; + assert domain141 = temp * (domain138); + tempvar temp = domain114; + assert domain142 = temp * (domain119); + tempvar temp = domain85; + assert domain143 = temp * (domain90); + tempvar temp = domain83; + assert domain144 = temp * (domain88); tempvar temp = domain111; - assert domain139 = temp * (domain116); + assert domain145 = temp * (domain117); + tempvar temp = domain77; + assert domain146 = temp * (domain80); + tempvar temp = domain105; + assert domain147 = temp * (domain108); + tempvar temp = domain84; + assert domain148 = temp * (domain89); + tempvar temp = domain113; + assert domain149 = temp * (domain118); tempvar temp = domain82; - assert domain140 = temp * (domain87); - tempvar temp = domain80; - assert domain141 = temp * (domain85); - tempvar temp = domain108; - assert domain142 = temp * (domain114); - tempvar temp = domain74; - assert domain143 = temp * (domain77); - tempvar temp = domain102; - assert domain144 = temp * (domain105); - tempvar temp = domain81; - assert domain145 = temp * (domain86); + assert domain150 = temp * (domain87); tempvar temp = domain110; - assert domain146 = temp * (domain115); - tempvar temp = domain79; - assert domain147 = temp * (domain84); - tempvar temp = domain107; - assert domain148 = temp * (domain113); - tempvar temp = pow42 - pow818; - tempvar temp = temp * (pow42 - pow819); - tempvar temp = temp * (pow42 - pow820); - tempvar temp = temp * (pow42 - pow821); - tempvar temp = temp * (pow42 - pow822); - tempvar temp = temp * (pow42 - pow823); - tempvar temp = temp * (pow42 - pow824); - tempvar temp = temp * (pow42 - pow825); - tempvar temp = temp * (pow42 - pow826); - tempvar temp = temp * (pow42 - pow827); - tempvar temp = temp * (pow42 - pow828); - tempvar temp = temp * (pow42 - pow829); - tempvar temp = temp * (pow42 - pow830); - tempvar temp = temp * (pow42 - pow831); - tempvar temp = temp * (pow42 - pow832); - tempvar temp = temp * (pow42 - pow833); - tempvar temp = temp * (pow42 - pow834); - tempvar temp = temp * (pow42 - pow835); - tempvar temp = temp * (pow42 - pow836); - tempvar temp = temp * (pow42 - pow837); - tempvar temp = temp * (pow42 - pow838); - tempvar temp = temp * (pow42 - pow839); - tempvar temp = temp * (pow42 - pow840); - tempvar temp = temp * (pow42 - pow888); - tempvar temp = temp * (pow42 - pow889); - tempvar temp = temp * (pow42 - pow890); - tempvar temp = temp * (pow42 - pow891); - tempvar temp = temp * (pow42 - pow892); - tempvar temp = temp * (pow42 - pow893); - tempvar temp = temp * (pow42 - pow894); - tempvar temp = temp * (pow42 - pow895); - tempvar temp = temp * (pow42 - pow896); - tempvar temp = temp * (pow42 - pow897); - tempvar temp = temp * (pow42 - pow898); - tempvar temp = temp * (pow42 - pow899); - tempvar temp = temp * (pow42 - pow900); - tempvar temp = temp * (pow42 - pow901); - tempvar temp = temp * (pow42 - pow902); - tempvar temp = temp * (pow42 - pow903); - tempvar temp = temp * (pow42 - pow904); - tempvar temp = temp * (pow42 - pow905); - tempvar temp = temp * (pow42 - pow906); - tempvar temp = temp * (pow42 - pow907); - tempvar temp = temp * (pow42 - pow908); - tempvar temp = temp * (pow42 - pow909); - tempvar temp = temp * (pow42 - pow910); - tempvar temp = temp * (pow42 - pow1015); - tempvar temp = temp * (pow42 - pow1018); - tempvar temp = temp * (pow42 - pow1021); - tempvar temp = temp * (pow42 - pow1024); - tempvar temp = temp * (pow42 - pow1027); - tempvar temp = temp * (pow42 - pow1030); - tempvar temp = temp * (pow42 - pow1033); - tempvar temp = temp * (pow42 - pow1034); - tempvar temp = temp * (pow42 - pow1035); - tempvar temp = temp * (pow42 - pow1036); - tempvar temp = temp * (pow42 - pow1037); - tempvar temp = temp * (pow42 - pow1038); - tempvar temp = temp * (pow42 - pow1039); - tempvar temp = temp * (pow42 - pow1040); - tempvar temp = temp * (pow42 - pow1041); - tempvar temp = temp * (pow42 - pow1042); - tempvar temp = temp * (pow42 - pow1043); - tempvar temp = temp * (pow42 - pow1044); - tempvar temp = temp * (pow42 - pow1045); - tempvar temp = temp * (pow42 - pow1046); - tempvar temp = temp * (pow42 - pow1047); - tempvar temp = temp * (pow42 - pow1048); - tempvar temp = temp * (pow42 - pow1049); - tempvar temp = temp * (pow42 - pow1264); - tempvar temp = temp * (pow42 - pow1265); - tempvar temp = temp * (pow42 - pow1266); - tempvar temp = temp * (pow42 - pow1267); - tempvar temp = temp * (pow42 - pow1268); - tempvar temp = temp * (pow42 - pow1269); - tempvar temp = temp * (pow42 - pow1270); - tempvar temp = temp * (pow42 - pow1271); - tempvar temp = temp * (pow42 - pow1272); - tempvar temp = temp * (pow42 - pow1273); - tempvar temp = temp * (pow42 - pow1274); - tempvar temp = temp * (pow42 - pow1275); - tempvar temp = temp * (pow42 - pow1276); - tempvar temp = temp * (pow42 - pow1277); - tempvar temp = temp * (pow42 - pow1278); - tempvar temp = temp * (pow42 - pow1279); - tempvar temp = temp * (pow42 - pow1280); - tempvar temp = temp * (pow42 - pow1281); - tempvar temp = temp * (pow42 - pow1282); - tempvar temp = temp * (pow42 - pow1283); - tempvar temp = temp * (pow42 - pow1284); - tempvar temp = temp * (pow42 - pow1285); - tempvar temp = temp * (pow42 - pow1286); - tempvar temp = temp * (pow42 - pow1664); - tempvar temp = temp * (pow42 - pow1665); - tempvar temp = temp * (pow42 - pow1666); - tempvar temp = temp * (pow42 - pow1667); - tempvar temp = temp * (pow42 - pow1668); - tempvar temp = temp * (pow42 - pow1669); - tempvar temp = temp * (pow42 - pow1670); - tempvar temp = temp * (pow42 - pow1671); - tempvar temp = temp * (pow42 - pow1672); - tempvar temp = temp * (pow42 - pow1673); - tempvar temp = temp * (pow42 - pow1674); - tempvar temp = temp * (pow42 - pow1675); - tempvar temp = temp * (pow42 - pow1676); - tempvar temp = temp * (pow42 - pow1677); - tempvar temp = temp * (pow42 - pow1678); - tempvar temp = temp * (pow42 - pow1679); - tempvar temp = temp * (pow42 - pow1680); - tempvar temp = temp * (pow42 - pow1681); - tempvar temp = temp * (pow42 - pow1682); - tempvar temp = temp * (pow42 - pow1683); - tempvar temp = temp * (pow42 - pow1684); - tempvar temp = temp * (pow42 - pow1685); - tempvar temp = temp * (pow42 - pow1686); - tempvar temp = temp * (pow42 - pow1687); - tempvar temp = temp * (pow42 - pow2613); - tempvar temp = temp * (pow42 - pow2614); - tempvar temp = temp * (pow42 - pow2615); - tempvar temp = temp * (pow42 - pow2616); - tempvar temp = temp * (pow42 - pow2617); - tempvar temp = temp * (pow42 - pow2618); - tempvar temp = temp * (pow42 - pow2619); - tempvar temp = temp * (pow42 - pow2620); - tempvar temp = temp * (pow42 - pow2621); - tempvar temp = temp * (pow42 - pow2622); - tempvar temp = temp * (pow42 - pow2623); - tempvar temp = temp * (pow42 - pow2624); - tempvar temp = temp * (pow42 - pow2625); - tempvar temp = temp * (pow42 - pow2626); - tempvar temp = temp * (pow42 - pow2627); - tempvar temp = temp * (pow42 - pow2628); - tempvar temp = temp * (pow42 - pow2629); - tempvar temp = temp * (pow42 - pow2630); - tempvar temp = temp * (pow42 - pow2631); - tempvar temp = temp * (pow42 - pow2632); - tempvar temp = temp * (pow42 - pow2633); - tempvar temp = temp * (pow42 - pow2634); - tempvar temp = temp * (pow42 - pow2635); - tempvar temp = temp * (domain47); - tempvar temp = temp * (domain55); - tempvar temp = temp * (domain65); - tempvar temp = temp * (domain97); - tempvar temp = temp * (domain101); - assert domain149 = temp * (domain109); - assert domain150 = point - 1; - assert domain151 = point - pow48; + assert domain151 = temp * (domain116); + tempvar temp = pow44 - pow820; + tempvar temp = temp * (pow44 - pow821); + tempvar temp = temp * (pow44 - pow822); + tempvar temp = temp * (pow44 - pow823); + tempvar temp = temp * (pow44 - pow824); + tempvar temp = temp * (pow44 - pow825); + tempvar temp = temp * (pow44 - pow826); + tempvar temp = temp * (pow44 - pow827); + tempvar temp = temp * (pow44 - pow828); + tempvar temp = temp * (pow44 - pow829); + tempvar temp = temp * (pow44 - pow830); + tempvar temp = temp * (pow44 - pow831); + tempvar temp = temp * (pow44 - pow832); + tempvar temp = temp * (pow44 - pow833); + tempvar temp = temp * (pow44 - pow834); + tempvar temp = temp * (pow44 - pow835); + tempvar temp = temp * (pow44 - pow836); + tempvar temp = temp * (pow44 - pow837); + tempvar temp = temp * (pow44 - pow838); + tempvar temp = temp * (pow44 - pow839); + tempvar temp = temp * (pow44 - pow840); + tempvar temp = temp * (pow44 - pow841); + tempvar temp = temp * (pow44 - pow842); + tempvar temp = temp * (pow44 - pow890); + tempvar temp = temp * (pow44 - pow891); + tempvar temp = temp * (pow44 - pow892); + tempvar temp = temp * (pow44 - pow893); + tempvar temp = temp * (pow44 - pow894); + tempvar temp = temp * (pow44 - pow895); + tempvar temp = temp * (pow44 - pow896); + tempvar temp = temp * (pow44 - pow897); + tempvar temp = temp * (pow44 - pow898); + tempvar temp = temp * (pow44 - pow899); + tempvar temp = temp * (pow44 - pow900); + tempvar temp = temp * (pow44 - pow901); + tempvar temp = temp * (pow44 - pow902); + tempvar temp = temp * (pow44 - pow903); + tempvar temp = temp * (pow44 - pow904); + tempvar temp = temp * (pow44 - pow905); + tempvar temp = temp * (pow44 - pow906); + tempvar temp = temp * (pow44 - pow907); + tempvar temp = temp * (pow44 - pow908); + tempvar temp = temp * (pow44 - pow909); + tempvar temp = temp * (pow44 - pow910); + tempvar temp = temp * (pow44 - pow911); + tempvar temp = temp * (pow44 - pow912); + tempvar temp = temp * (pow44 - pow1017); + tempvar temp = temp * (pow44 - pow1020); + tempvar temp = temp * (pow44 - pow1023); + tempvar temp = temp * (pow44 - pow1026); + tempvar temp = temp * (pow44 - pow1029); + tempvar temp = temp * (pow44 - pow1032); + tempvar temp = temp * (pow44 - pow1035); + tempvar temp = temp * (pow44 - pow1036); + tempvar temp = temp * (pow44 - pow1037); + tempvar temp = temp * (pow44 - pow1038); + tempvar temp = temp * (pow44 - pow1039); + tempvar temp = temp * (pow44 - pow1040); + tempvar temp = temp * (pow44 - pow1041); + tempvar temp = temp * (pow44 - pow1042); + tempvar temp = temp * (pow44 - pow1043); + tempvar temp = temp * (pow44 - pow1044); + tempvar temp = temp * (pow44 - pow1045); + tempvar temp = temp * (pow44 - pow1046); + tempvar temp = temp * (pow44 - pow1047); + tempvar temp = temp * (pow44 - pow1048); + tempvar temp = temp * (pow44 - pow1049); + tempvar temp = temp * (pow44 - pow1050); + tempvar temp = temp * (pow44 - pow1051); + tempvar temp = temp * (pow44 - pow1266); + tempvar temp = temp * (pow44 - pow1267); + tempvar temp = temp * (pow44 - pow1268); + tempvar temp = temp * (pow44 - pow1269); + tempvar temp = temp * (pow44 - pow1270); + tempvar temp = temp * (pow44 - pow1271); + tempvar temp = temp * (pow44 - pow1272); + tempvar temp = temp * (pow44 - pow1273); + tempvar temp = temp * (pow44 - pow1274); + tempvar temp = temp * (pow44 - pow1275); + tempvar temp = temp * (pow44 - pow1276); + tempvar temp = temp * (pow44 - pow1277); + tempvar temp = temp * (pow44 - pow1278); + tempvar temp = temp * (pow44 - pow1279); + tempvar temp = temp * (pow44 - pow1280); + tempvar temp = temp * (pow44 - pow1281); + tempvar temp = temp * (pow44 - pow1282); + tempvar temp = temp * (pow44 - pow1283); + tempvar temp = temp * (pow44 - pow1284); + tempvar temp = temp * (pow44 - pow1285); + tempvar temp = temp * (pow44 - pow1286); + tempvar temp = temp * (pow44 - pow1287); + tempvar temp = temp * (pow44 - pow1288); + tempvar temp = temp * (pow44 - pow1666); + tempvar temp = temp * (pow44 - pow1667); + tempvar temp = temp * (pow44 - pow1668); + tempvar temp = temp * (pow44 - pow1669); + tempvar temp = temp * (pow44 - pow1670); + tempvar temp = temp * (pow44 - pow1671); + tempvar temp = temp * (pow44 - pow1672); + tempvar temp = temp * (pow44 - pow1673); + tempvar temp = temp * (pow44 - pow1674); + tempvar temp = temp * (pow44 - pow1675); + tempvar temp = temp * (pow44 - pow1676); + tempvar temp = temp * (pow44 - pow1677); + tempvar temp = temp * (pow44 - pow1678); + tempvar temp = temp * (pow44 - pow1679); + tempvar temp = temp * (pow44 - pow1680); + tempvar temp = temp * (pow44 - pow1681); + tempvar temp = temp * (pow44 - pow1682); + tempvar temp = temp * (pow44 - pow1683); + tempvar temp = temp * (pow44 - pow1684); + tempvar temp = temp * (pow44 - pow1685); + tempvar temp = temp * (pow44 - pow1686); + tempvar temp = temp * (pow44 - pow1687); + tempvar temp = temp * (pow44 - pow1688); + tempvar temp = temp * (pow44 - pow1689); + tempvar temp = temp * (pow44 - pow2615); + tempvar temp = temp * (pow44 - pow2616); + tempvar temp = temp * (pow44 - pow2617); + tempvar temp = temp * (pow44 - pow2618); + tempvar temp = temp * (pow44 - pow2619); + tempvar temp = temp * (pow44 - pow2620); + tempvar temp = temp * (pow44 - pow2621); + tempvar temp = temp * (pow44 - pow2622); + tempvar temp = temp * (pow44 - pow2623); + tempvar temp = temp * (pow44 - pow2624); + tempvar temp = temp * (pow44 - pow2625); + tempvar temp = temp * (pow44 - pow2626); + tempvar temp = temp * (pow44 - pow2627); + tempvar temp = temp * (pow44 - pow2628); + tempvar temp = temp * (pow44 - pow2629); + tempvar temp = temp * (pow44 - pow2630); + tempvar temp = temp * (pow44 - pow2631); + tempvar temp = temp * (pow44 - pow2632); + tempvar temp = temp * (pow44 - pow2633); + tempvar temp = temp * (pow44 - pow2634); + tempvar temp = temp * (pow44 - pow2635); + tempvar temp = temp * (pow44 - pow2636); + tempvar temp = temp * (pow44 - pow2637); + tempvar temp = temp * (domain50); + tempvar temp = temp * (domain58); + tempvar temp = temp * (domain68); + tempvar temp = temp * (domain100); + tempvar temp = temp * (domain104); + assert domain152 = temp * (domain112); + assert domain153 = point - 1; + assert domain154 = point - pow50; } - local domain152; - local domain153; - local domain154; local domain155; local domain156; local domain157; + if (uses_mul_mod_builtin != 0) { + assert domain155 = pow3395 - 1; + assert domain156 = point - 1; + assert domain157 = point - pow3396; + } local domain158; local domain159; - if (uses_pedersen_builtin != 0) { - assert domain152 = pow3395 - 1; - assert domain153 = pow3394 - 1; - assert domain154 = pow3394 - pow3399; - assert domain155 = pow3394 - pow3398; - assert domain156 = pow3393 - pow3397; - assert domain157 = pow3393 - 1; - assert domain158 = point - pow3396; - assert domain159 = point - 1; - } local domain160; local domain161; local domain162; local domain163; local domain164; local domain165; + if (uses_pedersen_builtin != 0) { + assert domain158 = pow3399 - 1; + assert domain159 = pow3398 - 1; + assert domain160 = pow3398 - pow3403; + assert domain161 = pow3398 - pow3402; + assert domain162 = pow3397 - pow3401; + assert domain163 = pow3397 - 1; + assert domain164 = point - pow3400; + assert domain165 = point - 1; + } local domain166; local domain167; local domain168; local domain169; local domain170; local domain171; - if (uses_poseidon_builtin != 0) { - assert domain160 = pow3404 - 1; - assert domain161 = pow3403 - 1; - assert domain162 = pow3402 - 1; - assert domain163 = pow3401 - 1; - assert domain164 = pow3401 - pow3420; - assert domain165 = pow3400 - pow3419; - tempvar temp = pow3400 - pow3418; - tempvar temp = temp * (pow3400 - pow3417); - tempvar temp = temp * (pow3400 - pow3420); - tempvar temp = temp * (pow3400 - pow3416); - tempvar temp = temp * (pow3400 - pow3415); - tempvar temp = temp * (pow3400 - pow3414); - tempvar temp = temp * (pow3400 - pow3413); - tempvar temp = temp * (pow3400 - pow3412); - tempvar temp = temp * (pow3400 - pow3411); - assert domain166 = temp * (domain165); - assert domain167 = pow3400 - 1; - tempvar temp = pow3400 - pow3410; - tempvar temp = temp * (pow3400 - pow3409); - assert domain168 = temp * (domain165); - tempvar temp = pow3400 - pow3408; - tempvar temp = temp * (pow3400 - pow3407); - tempvar temp = temp * (pow3400 - pow3406); - assert domain169 = temp * (domain166); - assert domain170 = point - 1; - assert domain171 = point - pow3405; - } local domain172; local domain173; local domain174; + local domain175; + local domain176; + local domain177; + if (uses_poseidon_builtin != 0) { + assert domain166 = pow3408 - 1; + assert domain167 = pow3407 - 1; + assert domain168 = pow3406 - 1; + assert domain169 = pow3405 - 1; + assert domain170 = pow3405 - pow3424; + assert domain171 = pow3404 - pow3423; + tempvar temp = pow3404 - pow3422; + tempvar temp = temp * (pow3404 - pow3421); + tempvar temp = temp * (pow3404 - pow3424); + tempvar temp = temp * (pow3404 - pow3420); + tempvar temp = temp * (pow3404 - pow3419); + tempvar temp = temp * (pow3404 - pow3418); + tempvar temp = temp * (pow3404 - pow3417); + tempvar temp = temp * (pow3404 - pow3416); + tempvar temp = temp * (pow3404 - pow3415); + assert domain172 = temp * (domain171); + assert domain173 = pow3404 - 1; + tempvar temp = pow3404 - pow3414; + tempvar temp = temp * (pow3404 - pow3413); + assert domain174 = temp * (domain171); + tempvar temp = pow3404 - pow3412; + tempvar temp = temp * (pow3404 - pow3411); + tempvar temp = temp * (pow3404 - pow3410); + assert domain175 = temp * (domain172); + assert domain176 = point - 1; + assert domain177 = point - pow3409; + } + local domain178; + local domain179; + local domain180; + if (uses_range_check96_builtin != 0) { + assert domain178 = pow3425 - 1; + assert domain179 = point - pow3426; + assert domain180 = point - 1; + } + local domain181; + local domain182; + local domain183; if (uses_range_check_builtin != 0) { - assert domain172 = pow3421 - 1; - assert domain173 = point - pow3422; - assert domain174 = point - 1; + assert domain181 = pow3427 - 1; + assert domain182 = point - pow3428; + assert domain183 = point - 1; } // Fetch mask variables. tempvar cpu__decode__opcode_range_check__column_column_row_expr0 = mask_values[0]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr566 = mask_values[1]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr680 = mask_values[1]; tempvar mem_pool__value_column_row_expr1 = mask_values[2]; tempvar range_check16_pool_column_row_expr2 = mask_values[3]; tempvar range_check16_pool_column_row_expr3 = mask_values[4]; tempvar range_check16_pool_column_row_expr4 = mask_values[5]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr567 = mask_values[6]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr568 = mask_values[7]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr569 = mask_values[8]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr570 = mask_values[9]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr571 = mask_values[10]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr572 = mask_values[11]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr573 = mask_values[12]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr574 = mask_values[13]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr575 = mask_values[14]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr576 = mask_values[15]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr577 = mask_values[16]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr578 = mask_values[17]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr579 = mask_values[18]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr580 = mask_values[19]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr581 = mask_values[20]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr582 = mask_values[21]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr583 = mask_values[22]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr584 = mask_values[23]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr585 = mask_values[24]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr586 = mask_values[25]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr681 = mask_values[6]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr682 = mask_values[7]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr683 = mask_values[8]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr684 = mask_values[9]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr685 = mask_values[10]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr686 = mask_values[11]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr687 = mask_values[12]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr688 = mask_values[13]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr689 = mask_values[14]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr690 = mask_values[15]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr691 = mask_values[16]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr692 = mask_values[17]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr693 = mask_values[18]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr694 = mask_values[19]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr695 = mask_values[20]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr696 = mask_values[21]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr697 = mask_values[22]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr698 = mask_values[23]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr699 = mask_values[24]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr700 = mask_values[25]; tempvar mem_pool__addr_column_row_expr5 = mask_values[26]; tempvar cpu__registers__fp_column_row_expr6 = mask_values[27]; tempvar cpu__registers__ap_column_row_expr7 = mask_values[28]; tempvar mem_pool__addr_column_row_expr8 = mask_values[29]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr587 = mask_values[30]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr701 = mask_values[30]; tempvar mem_pool__addr_column_row_expr9 = mask_values[31]; tempvar mem_pool__addr_column_row_expr10 = mask_values[32]; tempvar mem_pool__value_column_row_expr11 = mask_values[33]; @@ -11458,13 +11802,13 @@ func eval_composition_polynomial{range_check_ptr}( tempvar cpu__update_registers__update_pc__tmp1_column_row_expr17 = mask_values[39]; tempvar mem_pool__addr_column_row_expr18 = mask_values[40]; tempvar cpu__registers__ap_column_row_expr19 = mask_values[41]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr588 = mask_values[42]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr589 = mask_values[43]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr590 = mask_values[44]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr591 = mask_values[45]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr702 = mask_values[42]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr703 = mask_values[43]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr704 = mask_values[44]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr705 = mask_values[45]; tempvar cpu__registers__fp_column_row_expr20 = mask_values[46]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr592 = mask_values[47]; - tempvar cpu__decode__opcode_range_check__column_column_row_expr593 = mask_values[48]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr706 = mask_values[47]; + tempvar cpu__decode__opcode_range_check__column_column_row_expr707 = mask_values[48]; tempvar memory__sorted__addr_column_row_expr21 = mask_values[49]; tempvar memory__sorted__value_column_row_expr22 = mask_values[50]; tempvar mem_pool__addr_column_row_expr24 = mask_values[51]; @@ -11514,14 +11858,14 @@ func eval_composition_polynomial{range_check_ptr}( tempvar mem_pool__value_column_row_expr73 = mask_values[93]; tempvar pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr74 = mask_values[94]; tempvar mem_pool__value_column_row_expr75 = mask_values[95]; - tempvar range_check16_pool_column_row_expr594 = mask_values[96]; - tempvar range_check16_pool_column_row_expr595 = mask_values[97]; - tempvar range_check16_pool_column_row_expr596 = mask_values[98]; - tempvar range_check16_pool_column_row_expr597 = mask_values[99]; - tempvar range_check16_pool_column_row_expr598 = mask_values[100]; - tempvar range_check16_pool_column_row_expr599 = mask_values[101]; - tempvar range_check16_pool_column_row_expr600 = mask_values[102]; - tempvar range_check16_pool_column_row_expr601 = mask_values[103]; + tempvar range_check16_pool_column_row_expr708 = mask_values[96]; + tempvar range_check16_pool_column_row_expr709 = mask_values[97]; + tempvar range_check16_pool_column_row_expr710 = mask_values[98]; + tempvar range_check16_pool_column_row_expr711 = mask_values[99]; + tempvar range_check16_pool_column_row_expr712 = mask_values[100]; + tempvar range_check16_pool_column_row_expr713 = mask_values[101]; + tempvar range_check16_pool_column_row_expr714 = mask_values[102]; + tempvar range_check16_pool_column_row_expr715 = mask_values[103]; tempvar mem_pool__addr_column_row_expr76 = mask_values[104]; tempvar mem_pool__addr_column_row_expr77 = mask_values[105]; tempvar ecdsa__signature0__key_points__x_column_row_expr80 = mask_values[106]; @@ -11532,7 +11876,7 @@ func eval_composition_polynomial{range_check_ptr}( tempvar ecdsa__signature0__exponentiate_generator__selector_column_row_expr83 = mask_values[ 111 ]; - tempvar ecdsa__signature0__exponentiate_generator__selector_column_row_expr602 = mask_values[ + tempvar ecdsa__signature0__exponentiate_generator__selector_column_row_expr716 = mask_values[ 112 ]; tempvar ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr86 = mask_values[ @@ -11548,7 +11892,7 @@ func eval_composition_polynomial{range_check_ptr}( 118 ]; tempvar ecdsa__signature0__exponentiate_key__selector_column_row_expr90 = mask_values[119]; - tempvar ecdsa__signature0__exponentiate_key__selector_column_row_expr603 = mask_values[120]; + tempvar ecdsa__signature0__exponentiate_key__selector_column_row_expr717 = mask_values[120]; tempvar ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr93 = mask_values[ 121 ]; @@ -11600,21 +11944,21 @@ func eval_composition_polynomial{range_check_ptr}( tempvar mem_pool__addr_column_row_expr121 = mask_values[151]; tempvar mem_pool__value_column_row_expr122 = mask_values[152]; tempvar diluted_pool_column_row_expr126 = mask_values[153]; - tempvar diluted_pool_column_row_expr604 = mask_values[154]; - tempvar diluted_pool_column_row_expr605 = mask_values[155]; - tempvar diluted_pool_column_row_expr606 = mask_values[156]; - tempvar diluted_pool_column_row_expr607 = mask_values[157]; - tempvar diluted_pool_column_row_expr608 = mask_values[158]; - tempvar diluted_pool_column_row_expr609 = mask_values[159]; - tempvar diluted_pool_column_row_expr610 = mask_values[160]; - tempvar diluted_pool_column_row_expr611 = mask_values[161]; - tempvar diluted_pool_column_row_expr612 = mask_values[162]; - tempvar diluted_pool_column_row_expr613 = mask_values[163]; - tempvar diluted_pool_column_row_expr614 = mask_values[164]; - tempvar diluted_pool_column_row_expr615 = mask_values[165]; - tempvar diluted_pool_column_row_expr616 = mask_values[166]; - tempvar diluted_pool_column_row_expr617 = mask_values[167]; - tempvar diluted_pool_column_row_expr618 = mask_values[168]; + tempvar diluted_pool_column_row_expr718 = mask_values[154]; + tempvar diluted_pool_column_row_expr719 = mask_values[155]; + tempvar diluted_pool_column_row_expr720 = mask_values[156]; + tempvar diluted_pool_column_row_expr721 = mask_values[157]; + tempvar diluted_pool_column_row_expr722 = mask_values[158]; + tempvar diluted_pool_column_row_expr723 = mask_values[159]; + tempvar diluted_pool_column_row_expr724 = mask_values[160]; + tempvar diluted_pool_column_row_expr725 = mask_values[161]; + tempvar diluted_pool_column_row_expr726 = mask_values[162]; + tempvar diluted_pool_column_row_expr727 = mask_values[163]; + tempvar diluted_pool_column_row_expr728 = mask_values[164]; + tempvar diluted_pool_column_row_expr729 = mask_values[165]; + tempvar diluted_pool_column_row_expr730 = mask_values[166]; + tempvar diluted_pool_column_row_expr731 = mask_values[167]; + tempvar diluted_pool_column_row_expr732 = mask_values[168]; tempvar mem_pool__value_column_row_expr123 = mask_values[169]; tempvar mem_pool__value_column_row_expr124 = mask_values[170]; tempvar mem_pool__value_column_row_expr125 = mask_values[171]; @@ -11800,83 +12144,83 @@ func eval_composition_polynomial{range_check_ptr}( tempvar keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr243 = mask_values[ 289]; tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr245 = mask_values[290]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr619 = mask_values[291]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr620 = mask_values[292]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr621 = mask_values[293]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr622 = mask_values[294]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr623 = mask_values[295]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr733 = mask_values[291]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr734 = mask_values[292]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr735 = mask_values[293]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr736 = mask_values[294]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr737 = mask_values[295]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr246 = mask_values[ 296 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr624 = mask_values[297]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr738 = mask_values[297]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr247 = mask_values[ 298 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr625 = mask_values[299]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr739 = mask_values[299]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr248 = mask_values[ 300 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr626 = mask_values[301]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr740 = mask_values[301]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr249 = mask_values[ 302 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr627 = mask_values[303]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr741 = mask_values[303]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr250 = mask_values[ 304 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr628 = mask_values[305]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr742 = mask_values[305]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr251 = mask_values[ 306 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr629 = mask_values[307]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr743 = mask_values[307]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr252 = mask_values[ 308 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr630 = mask_values[309]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr744 = mask_values[309]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr253 = mask_values[ 310 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr631 = mask_values[311]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr745 = mask_values[311]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr254 = mask_values[ 312 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr632 = mask_values[313]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr746 = mask_values[313]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr255 = mask_values[ 314 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr633 = mask_values[315]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr747 = mask_values[315]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr256 = mask_values[ 316 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr634 = mask_values[317]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr748 = mask_values[317]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr257 = mask_values[ 318 ]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr258 = mask_values[ 319 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr635 = mask_values[320]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr749 = mask_values[320]; tempvar keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr259 = mask_values[ 321 ]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr636 = mask_values[322]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr637 = mask_values[323]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr638 = mask_values[324]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr639 = mask_values[325]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr750 = mask_values[322]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr751 = mask_values[323]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr752 = mask_values[324]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr753 = mask_values[325]; tempvar diluted_pool_column_row_expr260 = mask_values[326]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr640 = mask_values[327]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr641 = mask_values[328]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr754 = mask_values[327]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr755 = mask_values[328]; tempvar diluted_pool_column_row_expr261 = mask_values[329]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr642 = mask_values[330]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr643 = mask_values[331]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr644 = mask_values[332]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr645 = mask_values[333]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr756 = mask_values[330]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr757 = mask_values[331]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr758 = mask_values[332]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr759 = mask_values[333]; tempvar diluted_pool_column_row_expr262 = mask_values[334]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr646 = mask_values[335]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr647 = mask_values[336]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr760 = mask_values[335]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr761 = mask_values[336]; tempvar diluted_pool_column_row_expr263 = mask_values[337]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr648 = mask_values[338]; - tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr649 = mask_values[339]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr762 = mask_values[338]; + tempvar keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr763 = mask_values[339]; tempvar diluted_pool_column_row_expr268 = mask_values[340]; tempvar diluted_pool_column_row_expr264 = mask_values[341]; tempvar diluted_pool_column_row_expr265 = mask_values[342]; @@ -11936,248 +12280,248 @@ func eval_composition_polynomial{range_check_ptr}( tempvar diluted_pool_column_row_expr323 = mask_values[396]; tempvar diluted_pool_column_row_expr320 = mask_values[397]; tempvar diluted_pool_column_row_expr321 = mask_values[398]; - tempvar keccak__keccak__rotated_parity2_column_row_expr650 = mask_values[399]; + tempvar keccak__keccak__rotated_parity2_column_row_expr764 = mask_values[399]; tempvar diluted_pool_column_row_expr322 = mask_values[400]; tempvar diluted_pool_column_row_expr324 = mask_values[401]; tempvar diluted_pool_column_row_expr328 = mask_values[402]; tempvar diluted_pool_column_row_expr325 = mask_values[403]; tempvar diluted_pool_column_row_expr326 = mask_values[404]; - tempvar diluted_pool_column_row_expr651 = mask_values[405]; - tempvar keccak__keccak__rotated_parity3_column_row_expr652 = mask_values[406]; + tempvar diluted_pool_column_row_expr765 = mask_values[405]; + tempvar keccak__keccak__rotated_parity3_column_row_expr766 = mask_values[406]; tempvar diluted_pool_column_row_expr327 = mask_values[407]; tempvar diluted_pool_column_row_expr329 = mask_values[408]; tempvar diluted_pool_column_row_expr333 = mask_values[409]; tempvar diluted_pool_column_row_expr330 = mask_values[410]; tempvar diluted_pool_column_row_expr331 = mask_values[411]; - tempvar diluted_pool_column_row_expr653 = mask_values[412]; - tempvar keccak__keccak__rotated_parity4_column_row_expr654 = mask_values[413]; + tempvar diluted_pool_column_row_expr767 = mask_values[412]; + tempvar keccak__keccak__rotated_parity4_column_row_expr768 = mask_values[413]; tempvar diluted_pool_column_row_expr332 = mask_values[414]; tempvar diluted_pool_column_row_expr334 = mask_values[415]; tempvar diluted_pool_column_row_expr338 = mask_values[416]; tempvar diluted_pool_column_row_expr335 = mask_values[417]; tempvar diluted_pool_column_row_expr336 = mask_values[418]; - tempvar diluted_pool_column_row_expr655 = mask_values[419]; - tempvar keccak__keccak__rotated_parity0_column_row_expr656 = mask_values[420]; + tempvar diluted_pool_column_row_expr769 = mask_values[419]; + tempvar keccak__keccak__rotated_parity0_column_row_expr770 = mask_values[420]; tempvar diluted_pool_column_row_expr337 = mask_values[421]; tempvar diluted_pool_column_row_expr339 = mask_values[422]; tempvar diluted_pool_column_row_expr343 = mask_values[423]; tempvar diluted_pool_column_row_expr340 = mask_values[424]; tempvar diluted_pool_column_row_expr341 = mask_values[425]; - tempvar diluted_pool_column_row_expr657 = mask_values[426]; - tempvar keccak__keccak__rotated_parity1_column_row_expr658 = mask_values[427]; + tempvar diluted_pool_column_row_expr771 = mask_values[426]; + tempvar keccak__keccak__rotated_parity1_column_row_expr772 = mask_values[427]; tempvar diluted_pool_column_row_expr342 = mask_values[428]; tempvar diluted_pool_column_row_expr344 = mask_values[429]; tempvar diluted_pool_column_row_expr348 = mask_values[430]; tempvar diluted_pool_column_row_expr345 = mask_values[431]; tempvar diluted_pool_column_row_expr346 = mask_values[432]; - tempvar diluted_pool_column_row_expr659 = mask_values[433]; - tempvar keccak__keccak__rotated_parity2_column_row_expr660 = mask_values[434]; + tempvar diluted_pool_column_row_expr773 = mask_values[433]; + tempvar keccak__keccak__rotated_parity2_column_row_expr774 = mask_values[434]; tempvar diluted_pool_column_row_expr347 = mask_values[435]; tempvar diluted_pool_column_row_expr349 = mask_values[436]; tempvar diluted_pool_column_row_expr353 = mask_values[437]; tempvar diluted_pool_column_row_expr350 = mask_values[438]; tempvar diluted_pool_column_row_expr351 = mask_values[439]; - tempvar diluted_pool_column_row_expr661 = mask_values[440]; - tempvar keccak__keccak__rotated_parity3_column_row_expr662 = mask_values[441]; + tempvar diluted_pool_column_row_expr775 = mask_values[440]; + tempvar keccak__keccak__rotated_parity3_column_row_expr776 = mask_values[441]; tempvar diluted_pool_column_row_expr352 = mask_values[442]; tempvar diluted_pool_column_row_expr354 = mask_values[443]; tempvar diluted_pool_column_row_expr370 = mask_values[444]; tempvar diluted_pool_column_row_expr355 = mask_values[445]; tempvar diluted_pool_column_row_expr356 = mask_values[446]; - tempvar diluted_pool_column_row_expr663 = mask_values[447]; - tempvar keccak__keccak__rotated_parity4_column_row_expr664 = mask_values[448]; + tempvar diluted_pool_column_row_expr777 = mask_values[447]; + tempvar keccak__keccak__rotated_parity4_column_row_expr778 = mask_values[448]; tempvar diluted_pool_column_row_expr357 = mask_values[449]; tempvar diluted_pool_column_row_expr358 = mask_values[450]; tempvar diluted_pool_column_row_expr359 = mask_values[451]; - tempvar diluted_pool_column_row_expr665 = mask_values[452]; - tempvar keccak__keccak__rotated_parity4_column_row_expr666 = mask_values[453]; + tempvar diluted_pool_column_row_expr779 = mask_values[452]; + tempvar keccak__keccak__rotated_parity4_column_row_expr780 = mask_values[453]; tempvar diluted_pool_column_row_expr360 = mask_values[454]; tempvar diluted_pool_column_row_expr361 = mask_values[455]; tempvar diluted_pool_column_row_expr362 = mask_values[456]; - tempvar diluted_pool_column_row_expr667 = mask_values[457]; - tempvar keccak__keccak__rotated_parity4_column_row_expr668 = mask_values[458]; + tempvar diluted_pool_column_row_expr781 = mask_values[457]; + tempvar keccak__keccak__rotated_parity4_column_row_expr782 = mask_values[458]; tempvar diluted_pool_column_row_expr363 = mask_values[459]; tempvar diluted_pool_column_row_expr364 = mask_values[460]; tempvar diluted_pool_column_row_expr365 = mask_values[461]; - tempvar diluted_pool_column_row_expr669 = mask_values[462]; - tempvar keccak__keccak__rotated_parity4_column_row_expr670 = mask_values[463]; + tempvar diluted_pool_column_row_expr783 = mask_values[462]; + tempvar keccak__keccak__rotated_parity4_column_row_expr784 = mask_values[463]; tempvar diluted_pool_column_row_expr366 = mask_values[464]; tempvar diluted_pool_column_row_expr367 = mask_values[465]; tempvar diluted_pool_column_row_expr368 = mask_values[466]; - tempvar diluted_pool_column_row_expr671 = mask_values[467]; - tempvar keccak__keccak__rotated_parity4_column_row_expr672 = mask_values[468]; + tempvar diluted_pool_column_row_expr785 = mask_values[467]; + tempvar keccak__keccak__rotated_parity4_column_row_expr786 = mask_values[468]; tempvar diluted_pool_column_row_expr369 = mask_values[469]; tempvar diluted_pool_column_row_expr371 = mask_values[470]; tempvar diluted_pool_column_row_expr375 = mask_values[471]; tempvar diluted_pool_column_row_expr372 = mask_values[472]; tempvar diluted_pool_column_row_expr373 = mask_values[473]; - tempvar diluted_pool_column_row_expr673 = mask_values[474]; - tempvar keccak__keccak__rotated_parity0_column_row_expr674 = mask_values[475]; + tempvar diluted_pool_column_row_expr787 = mask_values[474]; + tempvar keccak__keccak__rotated_parity0_column_row_expr788 = mask_values[475]; tempvar diluted_pool_column_row_expr374 = mask_values[476]; tempvar diluted_pool_column_row_expr376 = mask_values[477]; tempvar diluted_pool_column_row_expr380 = mask_values[478]; tempvar diluted_pool_column_row_expr377 = mask_values[479]; tempvar diluted_pool_column_row_expr378 = mask_values[480]; - tempvar diluted_pool_column_row_expr675 = mask_values[481]; - tempvar keccak__keccak__rotated_parity1_column_row_expr676 = mask_values[482]; + tempvar diluted_pool_column_row_expr789 = mask_values[481]; + tempvar keccak__keccak__rotated_parity1_column_row_expr790 = mask_values[482]; tempvar diluted_pool_column_row_expr379 = mask_values[483]; tempvar diluted_pool_column_row_expr381 = mask_values[484]; tempvar diluted_pool_column_row_expr385 = mask_values[485]; tempvar diluted_pool_column_row_expr382 = mask_values[486]; tempvar diluted_pool_column_row_expr383 = mask_values[487]; - tempvar diluted_pool_column_row_expr677 = mask_values[488]; - tempvar keccak__keccak__rotated_parity2_column_row_expr678 = mask_values[489]; + tempvar diluted_pool_column_row_expr791 = mask_values[488]; + tempvar keccak__keccak__rotated_parity2_column_row_expr792 = mask_values[489]; tempvar diluted_pool_column_row_expr384 = mask_values[490]; tempvar diluted_pool_column_row_expr386 = mask_values[491]; tempvar diluted_pool_column_row_expr390 = mask_values[492]; tempvar diluted_pool_column_row_expr387 = mask_values[493]; tempvar diluted_pool_column_row_expr388 = mask_values[494]; - tempvar diluted_pool_column_row_expr679 = mask_values[495]; - tempvar keccak__keccak__rotated_parity3_column_row_expr680 = mask_values[496]; + tempvar diluted_pool_column_row_expr793 = mask_values[495]; + tempvar keccak__keccak__rotated_parity3_column_row_expr794 = mask_values[496]; tempvar diluted_pool_column_row_expr389 = mask_values[497]; tempvar diluted_pool_column_row_expr391 = mask_values[498]; tempvar diluted_pool_column_row_expr395 = mask_values[499]; tempvar diluted_pool_column_row_expr392 = mask_values[500]; tempvar diluted_pool_column_row_expr393 = mask_values[501]; - tempvar diluted_pool_column_row_expr681 = mask_values[502]; - tempvar keccak__keccak__rotated_parity4_column_row_expr682 = mask_values[503]; + tempvar diluted_pool_column_row_expr795 = mask_values[502]; + tempvar keccak__keccak__rotated_parity4_column_row_expr796 = mask_values[503]; tempvar diluted_pool_column_row_expr394 = mask_values[504]; tempvar diluted_pool_column_row_expr396 = mask_values[505]; tempvar diluted_pool_column_row_expr412 = mask_values[506]; tempvar diluted_pool_column_row_expr397 = mask_values[507]; tempvar diluted_pool_column_row_expr398 = mask_values[508]; - tempvar diluted_pool_column_row_expr683 = mask_values[509]; - tempvar keccak__keccak__rotated_parity0_column_row_expr684 = mask_values[510]; + tempvar diluted_pool_column_row_expr797 = mask_values[509]; + tempvar keccak__keccak__rotated_parity0_column_row_expr798 = mask_values[510]; tempvar diluted_pool_column_row_expr399 = mask_values[511]; tempvar diluted_pool_column_row_expr400 = mask_values[512]; tempvar diluted_pool_column_row_expr401 = mask_values[513]; - tempvar diluted_pool_column_row_expr685 = mask_values[514]; - tempvar keccak__keccak__rotated_parity0_column_row_expr686 = mask_values[515]; + tempvar diluted_pool_column_row_expr799 = mask_values[514]; + tempvar keccak__keccak__rotated_parity0_column_row_expr800 = mask_values[515]; tempvar diluted_pool_column_row_expr402 = mask_values[516]; tempvar diluted_pool_column_row_expr403 = mask_values[517]; tempvar diluted_pool_column_row_expr404 = mask_values[518]; - tempvar diluted_pool_column_row_expr687 = mask_values[519]; - tempvar keccak__keccak__rotated_parity0_column_row_expr688 = mask_values[520]; + tempvar diluted_pool_column_row_expr801 = mask_values[519]; + tempvar keccak__keccak__rotated_parity0_column_row_expr802 = mask_values[520]; tempvar diluted_pool_column_row_expr405 = mask_values[521]; tempvar diluted_pool_column_row_expr406 = mask_values[522]; tempvar diluted_pool_column_row_expr407 = mask_values[523]; - tempvar diluted_pool_column_row_expr689 = mask_values[524]; - tempvar keccak__keccak__rotated_parity0_column_row_expr690 = mask_values[525]; + tempvar diluted_pool_column_row_expr803 = mask_values[524]; + tempvar keccak__keccak__rotated_parity0_column_row_expr804 = mask_values[525]; tempvar diluted_pool_column_row_expr408 = mask_values[526]; tempvar diluted_pool_column_row_expr409 = mask_values[527]; tempvar diluted_pool_column_row_expr410 = mask_values[528]; - tempvar diluted_pool_column_row_expr691 = mask_values[529]; - tempvar keccak__keccak__rotated_parity0_column_row_expr692 = mask_values[530]; + tempvar diluted_pool_column_row_expr805 = mask_values[529]; + tempvar keccak__keccak__rotated_parity0_column_row_expr806 = mask_values[530]; tempvar diluted_pool_column_row_expr411 = mask_values[531]; tempvar diluted_pool_column_row_expr413 = mask_values[532]; tempvar diluted_pool_column_row_expr429 = mask_values[533]; tempvar diluted_pool_column_row_expr414 = mask_values[534]; tempvar diluted_pool_column_row_expr415 = mask_values[535]; - tempvar diluted_pool_column_row_expr693 = mask_values[536]; - tempvar keccak__keccak__rotated_parity1_column_row_expr694 = mask_values[537]; + tempvar diluted_pool_column_row_expr807 = mask_values[536]; + tempvar keccak__keccak__rotated_parity1_column_row_expr808 = mask_values[537]; tempvar diluted_pool_column_row_expr416 = mask_values[538]; tempvar diluted_pool_column_row_expr417 = mask_values[539]; tempvar diluted_pool_column_row_expr418 = mask_values[540]; - tempvar diluted_pool_column_row_expr695 = mask_values[541]; - tempvar keccak__keccak__rotated_parity1_column_row_expr696 = mask_values[542]; + tempvar diluted_pool_column_row_expr809 = mask_values[541]; + tempvar keccak__keccak__rotated_parity1_column_row_expr810 = mask_values[542]; tempvar diluted_pool_column_row_expr419 = mask_values[543]; tempvar diluted_pool_column_row_expr420 = mask_values[544]; tempvar diluted_pool_column_row_expr421 = mask_values[545]; - tempvar diluted_pool_column_row_expr697 = mask_values[546]; - tempvar keccak__keccak__rotated_parity1_column_row_expr698 = mask_values[547]; + tempvar diluted_pool_column_row_expr811 = mask_values[546]; + tempvar keccak__keccak__rotated_parity1_column_row_expr812 = mask_values[547]; tempvar diluted_pool_column_row_expr422 = mask_values[548]; tempvar diluted_pool_column_row_expr423 = mask_values[549]; tempvar diluted_pool_column_row_expr424 = mask_values[550]; - tempvar diluted_pool_column_row_expr699 = mask_values[551]; - tempvar keccak__keccak__rotated_parity1_column_row_expr700 = mask_values[552]; + tempvar diluted_pool_column_row_expr813 = mask_values[551]; + tempvar keccak__keccak__rotated_parity1_column_row_expr814 = mask_values[552]; tempvar diluted_pool_column_row_expr425 = mask_values[553]; tempvar diluted_pool_column_row_expr426 = mask_values[554]; tempvar diluted_pool_column_row_expr427 = mask_values[555]; - tempvar diluted_pool_column_row_expr701 = mask_values[556]; - tempvar keccak__keccak__rotated_parity1_column_row_expr702 = mask_values[557]; + tempvar diluted_pool_column_row_expr815 = mask_values[556]; + tempvar keccak__keccak__rotated_parity1_column_row_expr816 = mask_values[557]; tempvar diluted_pool_column_row_expr428 = mask_values[558]; tempvar diluted_pool_column_row_expr430 = mask_values[559]; tempvar diluted_pool_column_row_expr434 = mask_values[560]; tempvar diluted_pool_column_row_expr431 = mask_values[561]; tempvar diluted_pool_column_row_expr432 = mask_values[562]; - tempvar diluted_pool_column_row_expr703 = mask_values[563]; - tempvar keccak__keccak__rotated_parity2_column_row_expr704 = mask_values[564]; + tempvar diluted_pool_column_row_expr817 = mask_values[563]; + tempvar keccak__keccak__rotated_parity2_column_row_expr818 = mask_values[564]; tempvar diluted_pool_column_row_expr433 = mask_values[565]; tempvar diluted_pool_column_row_expr435 = mask_values[566]; tempvar diluted_pool_column_row_expr439 = mask_values[567]; tempvar diluted_pool_column_row_expr436 = mask_values[568]; tempvar diluted_pool_column_row_expr437 = mask_values[569]; - tempvar diluted_pool_column_row_expr705 = mask_values[570]; - tempvar keccak__keccak__rotated_parity3_column_row_expr706 = mask_values[571]; + tempvar diluted_pool_column_row_expr819 = mask_values[570]; + tempvar keccak__keccak__rotated_parity3_column_row_expr820 = mask_values[571]; tempvar diluted_pool_column_row_expr438 = mask_values[572]; tempvar diluted_pool_column_row_expr440 = mask_values[573]; tempvar diluted_pool_column_row_expr444 = mask_values[574]; tempvar diluted_pool_column_row_expr441 = mask_values[575]; tempvar diluted_pool_column_row_expr442 = mask_values[576]; - tempvar diluted_pool_column_row_expr707 = mask_values[577]; - tempvar keccak__keccak__rotated_parity4_column_row_expr708 = mask_values[578]; + tempvar diluted_pool_column_row_expr821 = mask_values[577]; + tempvar keccak__keccak__rotated_parity4_column_row_expr822 = mask_values[578]; tempvar diluted_pool_column_row_expr443 = mask_values[579]; tempvar diluted_pool_column_row_expr445 = mask_values[580]; tempvar diluted_pool_column_row_expr449 = mask_values[581]; tempvar diluted_pool_column_row_expr446 = mask_values[582]; tempvar diluted_pool_column_row_expr447 = mask_values[583]; - tempvar diluted_pool_column_row_expr709 = mask_values[584]; - tempvar keccak__keccak__rotated_parity0_column_row_expr710 = mask_values[585]; + tempvar diluted_pool_column_row_expr823 = mask_values[584]; + tempvar keccak__keccak__rotated_parity0_column_row_expr824 = mask_values[585]; tempvar diluted_pool_column_row_expr448 = mask_values[586]; tempvar diluted_pool_column_row_expr450 = mask_values[587]; tempvar diluted_pool_column_row_expr454 = mask_values[588]; tempvar diluted_pool_column_row_expr451 = mask_values[589]; tempvar diluted_pool_column_row_expr452 = mask_values[590]; - tempvar diluted_pool_column_row_expr711 = mask_values[591]; - tempvar keccak__keccak__rotated_parity1_column_row_expr712 = mask_values[592]; + tempvar diluted_pool_column_row_expr825 = mask_values[591]; + tempvar keccak__keccak__rotated_parity1_column_row_expr826 = mask_values[592]; tempvar diluted_pool_column_row_expr453 = mask_values[593]; tempvar diluted_pool_column_row_expr455 = mask_values[594]; tempvar diluted_pool_column_row_expr471 = mask_values[595]; tempvar diluted_pool_column_row_expr456 = mask_values[596]; tempvar diluted_pool_column_row_expr457 = mask_values[597]; - tempvar diluted_pool_column_row_expr713 = mask_values[598]; - tempvar keccak__keccak__rotated_parity2_column_row_expr714 = mask_values[599]; + tempvar diluted_pool_column_row_expr827 = mask_values[598]; + tempvar keccak__keccak__rotated_parity2_column_row_expr828 = mask_values[599]; tempvar diluted_pool_column_row_expr458 = mask_values[600]; tempvar diluted_pool_column_row_expr459 = mask_values[601]; tempvar diluted_pool_column_row_expr460 = mask_values[602]; - tempvar diluted_pool_column_row_expr715 = mask_values[603]; - tempvar keccak__keccak__rotated_parity2_column_row_expr716 = mask_values[604]; + tempvar diluted_pool_column_row_expr829 = mask_values[603]; + tempvar keccak__keccak__rotated_parity2_column_row_expr830 = mask_values[604]; tempvar diluted_pool_column_row_expr461 = mask_values[605]; tempvar diluted_pool_column_row_expr462 = mask_values[606]; tempvar diluted_pool_column_row_expr463 = mask_values[607]; - tempvar diluted_pool_column_row_expr717 = mask_values[608]; - tempvar keccak__keccak__rotated_parity2_column_row_expr718 = mask_values[609]; + tempvar diluted_pool_column_row_expr831 = mask_values[608]; + tempvar keccak__keccak__rotated_parity2_column_row_expr832 = mask_values[609]; tempvar diluted_pool_column_row_expr464 = mask_values[610]; tempvar diluted_pool_column_row_expr465 = mask_values[611]; tempvar diluted_pool_column_row_expr466 = mask_values[612]; - tempvar diluted_pool_column_row_expr719 = mask_values[613]; - tempvar keccak__keccak__rotated_parity2_column_row_expr720 = mask_values[614]; + tempvar diluted_pool_column_row_expr833 = mask_values[613]; + tempvar keccak__keccak__rotated_parity2_column_row_expr834 = mask_values[614]; tempvar diluted_pool_column_row_expr467 = mask_values[615]; tempvar diluted_pool_column_row_expr468 = mask_values[616]; tempvar diluted_pool_column_row_expr469 = mask_values[617]; - tempvar diluted_pool_column_row_expr721 = mask_values[618]; - tempvar keccak__keccak__rotated_parity2_column_row_expr722 = mask_values[619]; + tempvar diluted_pool_column_row_expr835 = mask_values[618]; + tempvar keccak__keccak__rotated_parity2_column_row_expr836 = mask_values[619]; tempvar diluted_pool_column_row_expr470 = mask_values[620]; tempvar diluted_pool_column_row_expr472 = mask_values[621]; tempvar diluted_pool_column_row_expr476 = mask_values[622]; tempvar diluted_pool_column_row_expr473 = mask_values[623]; tempvar diluted_pool_column_row_expr474 = mask_values[624]; - tempvar diluted_pool_column_row_expr723 = mask_values[625]; - tempvar keccak__keccak__rotated_parity3_column_row_expr724 = mask_values[626]; + tempvar diluted_pool_column_row_expr837 = mask_values[625]; + tempvar keccak__keccak__rotated_parity3_column_row_expr838 = mask_values[626]; tempvar diluted_pool_column_row_expr475 = mask_values[627]; tempvar diluted_pool_column_row_expr477 = mask_values[628]; tempvar diluted_pool_column_row_expr481 = mask_values[629]; tempvar diluted_pool_column_row_expr478 = mask_values[630]; tempvar diluted_pool_column_row_expr479 = mask_values[631]; - tempvar diluted_pool_column_row_expr725 = mask_values[632]; - tempvar keccak__keccak__rotated_parity4_column_row_expr726 = mask_values[633]; + tempvar diluted_pool_column_row_expr839 = mask_values[632]; + tempvar keccak__keccak__rotated_parity4_column_row_expr840 = mask_values[633]; tempvar diluted_pool_column_row_expr480 = mask_values[634]; tempvar diluted_pool_column_row_expr482 = mask_values[635]; tempvar diluted_pool_column_row_expr486 = mask_values[636]; tempvar diluted_pool_column_row_expr483 = mask_values[637]; tempvar diluted_pool_column_row_expr484 = mask_values[638]; - tempvar diluted_pool_column_row_expr727 = mask_values[639]; - tempvar keccak__keccak__rotated_parity0_column_row_expr728 = mask_values[640]; + tempvar diluted_pool_column_row_expr841 = mask_values[639]; + tempvar keccak__keccak__rotated_parity0_column_row_expr842 = mask_values[640]; tempvar diluted_pool_column_row_expr485 = mask_values[641]; tempvar diluted_pool_column_row_expr487 = mask_values[642]; tempvar diluted_pool_column_row_expr489 = mask_values[643]; @@ -12185,37 +12529,37 @@ func eval_composition_polynomial{range_check_ptr}( tempvar diluted_pool_column_row_expr490 = mask_values[645]; tempvar diluted_pool_column_row_expr494 = mask_values[646]; tempvar diluted_pool_column_row_expr491 = mask_values[647]; - tempvar diluted_pool_column_row_expr729 = mask_values[648]; + tempvar diluted_pool_column_row_expr843 = mask_values[648]; tempvar diluted_pool_column_row_expr492 = mask_values[649]; tempvar diluted_pool_column_row_expr493 = mask_values[650]; tempvar diluted_pool_column_row_expr495 = mask_values[651]; tempvar diluted_pool_column_row_expr499 = mask_values[652]; tempvar diluted_pool_column_row_expr496 = mask_values[653]; - tempvar diluted_pool_column_row_expr730 = mask_values[654]; + tempvar diluted_pool_column_row_expr844 = mask_values[654]; tempvar diluted_pool_column_row_expr497 = mask_values[655]; tempvar diluted_pool_column_row_expr498 = mask_values[656]; tempvar diluted_pool_column_row_expr500 = mask_values[657]; tempvar diluted_pool_column_row_expr504 = mask_values[658]; tempvar diluted_pool_column_row_expr501 = mask_values[659]; - tempvar diluted_pool_column_row_expr731 = mask_values[660]; + tempvar diluted_pool_column_row_expr845 = mask_values[660]; tempvar diluted_pool_column_row_expr502 = mask_values[661]; tempvar diluted_pool_column_row_expr503 = mask_values[662]; tempvar diluted_pool_column_row_expr505 = mask_values[663]; tempvar diluted_pool_column_row_expr509 = mask_values[664]; tempvar diluted_pool_column_row_expr506 = mask_values[665]; - tempvar diluted_pool_column_row_expr732 = mask_values[666]; + tempvar diluted_pool_column_row_expr846 = mask_values[666]; tempvar diluted_pool_column_row_expr507 = mask_values[667]; tempvar diluted_pool_column_row_expr508 = mask_values[668]; tempvar diluted_pool_column_row_expr510 = mask_values[669]; tempvar diluted_pool_column_row_expr514 = mask_values[670]; tempvar diluted_pool_column_row_expr511 = mask_values[671]; - tempvar diluted_pool_column_row_expr733 = mask_values[672]; + tempvar diluted_pool_column_row_expr847 = mask_values[672]; tempvar diluted_pool_column_row_expr512 = mask_values[673]; tempvar diluted_pool_column_row_expr513 = mask_values[674]; tempvar diluted_pool_column_row_expr515 = mask_values[675]; tempvar diluted_pool_column_row_expr519 = mask_values[676]; tempvar diluted_pool_column_row_expr516 = mask_values[677]; - tempvar diluted_pool_column_row_expr734 = mask_values[678]; + tempvar diluted_pool_column_row_expr848 = mask_values[678]; tempvar diluted_pool_column_row_expr517 = mask_values[679]; tempvar diluted_pool_column_row_expr518 = mask_values[680]; tempvar diluted_pool_column_row_expr520 = mask_values[681]; @@ -12248,12 +12592,12 @@ func eval_composition_polynomial{range_check_ptr}( tempvar poseidon__poseidon__full_rounds_state1_column_row_expr547 = mask_values[708]; tempvar poseidon__poseidon__full_rounds_state2_column_row_expr548 = mask_values[709]; tempvar mem_pool__value_column_row_expr549 = mask_values[710]; - tempvar poseidon__poseidon__full_rounds_state0_column_row_expr735 = mask_values[711]; - tempvar poseidon__poseidon__full_rounds_state0_squared_column_row_expr736 = mask_values[712]; - tempvar poseidon__poseidon__full_rounds_state1_column_row_expr737 = mask_values[713]; - tempvar poseidon__poseidon__full_rounds_state1_squared_column_row_expr738 = mask_values[714]; - tempvar poseidon__poseidon__full_rounds_state2_column_row_expr739 = mask_values[715]; - tempvar poseidon__poseidon__full_rounds_state2_squared_column_row_expr740 = mask_values[716]; + tempvar poseidon__poseidon__full_rounds_state0_column_row_expr849 = mask_values[711]; + tempvar poseidon__poseidon__full_rounds_state0_squared_column_row_expr850 = mask_values[712]; + tempvar poseidon__poseidon__full_rounds_state1_column_row_expr851 = mask_values[713]; + tempvar poseidon__poseidon__full_rounds_state1_squared_column_row_expr852 = mask_values[714]; + tempvar poseidon__poseidon__full_rounds_state2_column_row_expr853 = mask_values[715]; + tempvar poseidon__poseidon__full_rounds_state2_squared_column_row_expr854 = mask_values[716]; tempvar mem_pool__value_column_row_expr550 = mask_values[717]; tempvar mem_pool__value_column_row_expr551 = mask_values[718]; tempvar poseidon__poseidon__partial_rounds_state0_column_row_expr552 = mask_values[719]; @@ -12261,133 +12605,319 @@ func eval_composition_polynomial{range_check_ptr}( tempvar poseidon__poseidon__partial_rounds_state0_column_row_expr553 = mask_values[721]; tempvar poseidon__poseidon__partial_rounds_state1_column_row_expr556 = mask_values[722]; tempvar poseidon__poseidon__partial_rounds_state0_column_row_expr555 = mask_values[723]; - tempvar poseidon__poseidon__full_rounds_state0_column_row_expr741 = mask_values[724]; - tempvar poseidon__poseidon__full_rounds_state0_squared_column_row_expr742 = mask_values[725]; - tempvar poseidon__poseidon__full_rounds_state1_column_row_expr743 = mask_values[726]; - tempvar poseidon__poseidon__full_rounds_state1_squared_column_row_expr744 = mask_values[727]; - tempvar poseidon__poseidon__full_rounds_state2_column_row_expr745 = mask_values[728]; - tempvar poseidon__poseidon__full_rounds_state2_squared_column_row_expr746 = mask_values[729]; + tempvar poseidon__poseidon__full_rounds_state0_column_row_expr855 = mask_values[724]; + tempvar poseidon__poseidon__full_rounds_state0_squared_column_row_expr856 = mask_values[725]; + tempvar poseidon__poseidon__full_rounds_state1_column_row_expr857 = mask_values[726]; + tempvar poseidon__poseidon__full_rounds_state1_squared_column_row_expr858 = mask_values[727]; + tempvar poseidon__poseidon__full_rounds_state2_column_row_expr859 = mask_values[728]; + tempvar poseidon__poseidon__full_rounds_state2_squared_column_row_expr860 = mask_values[729]; tempvar poseidon__poseidon__partial_rounds_state0_column_row_expr557 = mask_values[730]; tempvar poseidon__poseidon__partial_rounds_state0_column_row_expr558 = mask_values[731]; - tempvar poseidon__poseidon__partial_rounds_state0_squared_column_row_expr747 = mask_values[732]; + tempvar poseidon__poseidon__partial_rounds_state0_squared_column_row_expr861 = mask_values[732]; tempvar poseidon__poseidon__partial_rounds_state0_column_row_expr559 = mask_values[733]; - tempvar poseidon__poseidon__partial_rounds_state0_squared_column_row_expr748 = mask_values[734]; + tempvar poseidon__poseidon__partial_rounds_state0_squared_column_row_expr862 = mask_values[734]; tempvar poseidon__poseidon__partial_rounds_state1_column_row_expr560 = mask_values[735]; - tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr749 = mask_values[736]; - tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr750 = mask_values[737]; + tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr863 = mask_values[736]; + tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr864 = mask_values[737]; tempvar poseidon__poseidon__full_rounds_state0_column_row_expr561 = mask_values[738]; - tempvar poseidon__poseidon__partial_rounds_state1_column_row_expr751 = mask_values[739]; - tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr752 = mask_values[740]; + tempvar poseidon__poseidon__partial_rounds_state1_column_row_expr865 = mask_values[739]; + tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr866 = mask_values[740]; tempvar poseidon__poseidon__partial_rounds_state1_column_row_expr562 = mask_values[741]; - tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr753 = mask_values[742]; + tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr867 = mask_values[742]; tempvar poseidon__poseidon__partial_rounds_state1_column_row_expr563 = mask_values[743]; - tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr754 = mask_values[744]; + tempvar poseidon__poseidon__partial_rounds_state1_squared_column_row_expr868 = mask_values[744]; tempvar poseidon__poseidon__full_rounds_state1_column_row_expr564 = mask_values[745]; tempvar poseidon__poseidon__full_rounds_state2_column_row_expr565 = mask_values[746]; - tempvar memory__multi_column_perm__perm__cum_prod0_column_row_expr23 = mask_values[747]; - tempvar memory__multi_column_perm__perm__cum_prod0_column_row_expr28 = mask_values[748]; - tempvar range_check16__perm__cum_prod0_column_row_expr34 = mask_values[749]; - tempvar range_check16__perm__cum_prod0_column_row_expr37 = mask_values[750]; - tempvar diluted_check__permutation__cum_prod0_column_row_expr40 = mask_values[751]; - tempvar diluted_check__permutation__cum_prod0_column_row_expr43 = mask_values[752]; - tempvar diluted_check__cumulative_value_column_row_expr45 = mask_values[753]; - tempvar diluted_check__cumulative_value_column_row_expr46 = mask_values[754]; + tempvar mem_pool__value_column_row_expr566 = mask_values[747]; + tempvar range_check16_pool_column_row_expr869 = mask_values[748]; + tempvar range_check16_pool_column_row_expr870 = mask_values[749]; + tempvar range_check16_pool_column_row_expr871 = mask_values[750]; + tempvar range_check16_pool_column_row_expr872 = mask_values[751]; + tempvar range_check16_pool_column_row_expr873 = mask_values[752]; + tempvar range_check16_pool_column_row_expr874 = mask_values[753]; + tempvar mem_pool__addr_column_row_expr567 = mask_values[754]; + tempvar mem_pool__addr_column_row_expr568 = mask_values[755]; + tempvar mem_pool__addr_column_row_expr569 = mask_values[756]; + tempvar mem_pool__addr_column_row_expr570 = mask_values[757]; + tempvar mem_pool__addr_column_row_expr571 = mask_values[758]; + tempvar mem_pool__addr_column_row_expr572 = mask_values[759]; + tempvar mem_pool__addr_column_row_expr573 = mask_values[760]; + tempvar mem_pool__addr_column_row_expr574 = mask_values[761]; + tempvar mem_pool__addr_column_row_expr575 = mask_values[762]; + tempvar mem_pool__addr_column_row_expr576 = mask_values[763]; + tempvar mem_pool__value_column_row_expr577 = mask_values[764]; + tempvar mem_pool__value_column_row_expr578 = mask_values[765]; + tempvar mem_pool__value_column_row_expr579 = mask_values[766]; + tempvar mem_pool__value_column_row_expr580 = mask_values[767]; + tempvar mem_pool__value_column_row_expr581 = mask_values[768]; + tempvar mem_pool__value_column_row_expr582 = mask_values[769]; + tempvar mem_pool__value_column_row_expr583 = mask_values[770]; + tempvar mem_pool__value_column_row_expr584 = mask_values[771]; + tempvar mem_pool__value_column_row_expr585 = mask_values[772]; + tempvar mem_pool__value_column_row_expr586 = mask_values[773]; + tempvar mem_pool__value_column_row_expr587 = mask_values[774]; + tempvar mem_pool__value_column_row_expr588 = mask_values[775]; + tempvar mem_pool__value_column_row_expr589 = mask_values[776]; + tempvar mem_pool__value_column_row_expr590 = mask_values[777]; + tempvar mem_pool__addr_column_row_expr591 = mask_values[778]; + tempvar mem_pool__addr_column_row_expr592 = mask_values[779]; + tempvar mem_pool__addr_column_row_expr593 = mask_values[780]; + tempvar mem_pool__addr_column_row_expr594 = mask_values[781]; + tempvar mem_pool__value_column_row_expr595 = mask_values[782]; + tempvar mem_pool__addr_column_row_expr596 = mask_values[783]; + tempvar mem_pool__addr_column_row_expr597 = mask_values[784]; + tempvar mem_pool__addr_column_row_expr598 = mask_values[785]; + tempvar mem_pool__addr_column_row_expr599 = mask_values[786]; + tempvar mem_pool__value_column_row_expr600 = mask_values[787]; + tempvar mem_pool__addr_column_row_expr601 = mask_values[788]; + tempvar mem_pool__addr_column_row_expr602 = mask_values[789]; + tempvar mem_pool__addr_column_row_expr603 = mask_values[790]; + tempvar mem_pool__addr_column_row_expr604 = mask_values[791]; + tempvar mem_pool__value_column_row_expr605 = mask_values[792]; + tempvar mem_pool__addr_column_row_expr606 = mask_values[793]; + tempvar mem_pool__addr_column_row_expr607 = mask_values[794]; + tempvar mem_pool__addr_column_row_expr608 = mask_values[795]; + tempvar add_mod__sub_p_bit_column_row_expr609 = mask_values[796]; + tempvar add_mod__carry1_bit_column_row_expr610 = mask_values[797]; + tempvar add_mod__carry1_sign_column_row_expr611 = mask_values[798]; + tempvar add_mod__carry2_bit_column_row_expr612 = mask_values[799]; + tempvar add_mod__carry2_sign_column_row_expr613 = mask_values[800]; + tempvar add_mod__carry3_bit_column_row_expr614 = mask_values[801]; + tempvar add_mod__carry3_sign_column_row_expr615 = mask_values[802]; + tempvar mem_pool__value_column_row_expr616 = mask_values[803]; + tempvar mem_pool__value_column_row_expr617 = mask_values[804]; + tempvar mem_pool__value_column_row_expr618 = mask_values[805]; + tempvar mem_pool__value_column_row_expr619 = mask_values[806]; + tempvar mem_pool__value_column_row_expr620 = mask_values[807]; + tempvar mem_pool__value_column_row_expr621 = mask_values[808]; + tempvar mem_pool__value_column_row_expr622 = mask_values[809]; + tempvar mem_pool__value_column_row_expr623 = mask_values[810]; + tempvar mem_pool__value_column_row_expr624 = mask_values[811]; + tempvar mem_pool__value_column_row_expr625 = mask_values[812]; + tempvar mem_pool__value_column_row_expr626 = mask_values[813]; + tempvar mem_pool__value_column_row_expr627 = mask_values[814]; + tempvar mem_pool__addr_column_row_expr628 = mask_values[815]; + tempvar mem_pool__addr_column_row_expr629 = mask_values[816]; + tempvar mem_pool__addr_column_row_expr630 = mask_values[817]; + tempvar mem_pool__addr_column_row_expr631 = mask_values[818]; + tempvar mem_pool__addr_column_row_expr632 = mask_values[819]; + tempvar mem_pool__addr_column_row_expr633 = mask_values[820]; + tempvar mem_pool__addr_column_row_expr634 = mask_values[821]; + tempvar mem_pool__addr_column_row_expr635 = mask_values[822]; + tempvar mem_pool__value_column_row_expr636 = mask_values[823]; + tempvar mem_pool__value_column_row_expr637 = mask_values[824]; + tempvar mem_pool__value_column_row_expr638 = mask_values[825]; + tempvar mem_pool__value_column_row_expr639 = mask_values[826]; + tempvar mem_pool__value_column_row_expr640 = mask_values[827]; + tempvar mem_pool__value_column_row_expr641 = mask_values[828]; + tempvar mem_pool__value_column_row_expr642 = mask_values[829]; + tempvar mem_pool__value_column_row_expr643 = mask_values[830]; + tempvar mem_pool__value_column_row_expr644 = mask_values[831]; + tempvar mem_pool__value_column_row_expr645 = mask_values[832]; + tempvar mem_pool__value_column_row_expr646 = mask_values[833]; + tempvar mem_pool__value_column_row_expr647 = mask_values[834]; + tempvar mem_pool__value_column_row_expr648 = mask_values[835]; + tempvar mem_pool__value_column_row_expr649 = mask_values[836]; + tempvar mem_pool__addr_column_row_expr650 = mask_values[837]; + tempvar mem_pool__addr_column_row_expr651 = mask_values[838]; + tempvar mem_pool__addr_column_row_expr652 = mask_values[839]; + tempvar mem_pool__addr_column_row_expr653 = mask_values[840]; + tempvar mem_pool__value_column_row_expr654 = mask_values[841]; + tempvar mem_pool__addr_column_row_expr655 = mask_values[842]; + tempvar mem_pool__addr_column_row_expr656 = mask_values[843]; + tempvar mem_pool__addr_column_row_expr657 = mask_values[844]; + tempvar mem_pool__addr_column_row_expr658 = mask_values[845]; + tempvar mem_pool__value_column_row_expr659 = mask_values[846]; + tempvar mem_pool__addr_column_row_expr660 = mask_values[847]; + tempvar mem_pool__addr_column_row_expr661 = mask_values[848]; + tempvar mem_pool__addr_column_row_expr662 = mask_values[849]; + tempvar mem_pool__addr_column_row_expr663 = mask_values[850]; + tempvar mem_pool__value_column_row_expr664 = mask_values[851]; + tempvar mem_pool__addr_column_row_expr665 = mask_values[852]; + tempvar mem_pool__addr_column_row_expr666 = mask_values[853]; + tempvar mem_pool__addr_column_row_expr667 = mask_values[854]; + tempvar mem_pool__value_column_row_expr668 = mask_values[855]; + tempvar mem_pool__value_column_row_expr669 = mask_values[856]; + tempvar mem_pool__value_column_row_expr670 = mask_values[857]; + tempvar mem_pool__value_column_row_expr671 = mask_values[858]; + tempvar mem_pool__value_column_row_expr672 = mask_values[859]; + tempvar mem_pool__value_column_row_expr673 = mask_values[860]; + tempvar mem_pool__value_column_row_expr674 = mask_values[861]; + tempvar mem_pool__value_column_row_expr675 = mask_values[862]; + tempvar mem_pool__value_column_row_expr676 = mask_values[863]; + tempvar mem_pool__value_column_row_expr677 = mask_values[864]; + tempvar mem_pool__value_column_row_expr678 = mask_values[865]; + tempvar mem_pool__value_column_row_expr679 = mask_values[866]; + tempvar range_check16_pool_column_row_expr875 = mask_values[867]; + tempvar range_check16_pool_column_row_expr876 = mask_values[868]; + tempvar range_check16_pool_column_row_expr877 = mask_values[869]; + tempvar range_check16_pool_column_row_expr878 = mask_values[870]; + tempvar range_check16_pool_column_row_expr879 = mask_values[871]; + tempvar range_check16_pool_column_row_expr880 = mask_values[872]; + tempvar range_check16_pool_column_row_expr881 = mask_values[873]; + tempvar range_check16_pool_column_row_expr882 = mask_values[874]; + tempvar range_check16_pool_column_row_expr883 = mask_values[875]; + tempvar range_check16_pool_column_row_expr884 = mask_values[876]; + tempvar range_check16_pool_column_row_expr885 = mask_values[877]; + tempvar range_check16_pool_column_row_expr886 = mask_values[878]; + tempvar range_check16_pool_column_row_expr887 = mask_values[879]; + tempvar range_check16_pool_column_row_expr888 = mask_values[880]; + tempvar range_check16_pool_column_row_expr889 = mask_values[881]; + tempvar range_check16_pool_column_row_expr890 = mask_values[882]; + tempvar range_check16_pool_column_row_expr891 = mask_values[883]; + tempvar range_check16_pool_column_row_expr892 = mask_values[884]; + tempvar range_check16_pool_column_row_expr893 = mask_values[885]; + tempvar range_check16_pool_column_row_expr894 = mask_values[886]; + tempvar range_check16_pool_column_row_expr895 = mask_values[887]; + tempvar range_check16_pool_column_row_expr896 = mask_values[888]; + tempvar range_check16_pool_column_row_expr897 = mask_values[889]; + tempvar range_check16_pool_column_row_expr898 = mask_values[890]; + tempvar range_check16_pool_column_row_expr899 = mask_values[891]; + tempvar range_check16_pool_column_row_expr900 = mask_values[892]; + tempvar range_check16_pool_column_row_expr901 = mask_values[893]; + tempvar range_check16_pool_column_row_expr902 = mask_values[894]; + tempvar range_check16_pool_column_row_expr903 = mask_values[895]; + tempvar range_check16_pool_column_row_expr904 = mask_values[896]; + tempvar range_check16_pool_column_row_expr905 = mask_values[897]; + tempvar range_check16_pool_column_row_expr906 = mask_values[898]; + tempvar range_check16_pool_column_row_expr907 = mask_values[899]; + tempvar range_check16_pool_column_row_expr908 = mask_values[900]; + tempvar range_check16_pool_column_row_expr909 = mask_values[901]; + tempvar range_check16_pool_column_row_expr910 = mask_values[902]; + tempvar range_check16_pool_column_row_expr911 = mask_values[903]; + tempvar range_check16_pool_column_row_expr912 = mask_values[904]; + tempvar range_check16_pool_column_row_expr913 = mask_values[905]; + tempvar range_check16_pool_column_row_expr914 = mask_values[906]; + tempvar range_check16_pool_column_row_expr915 = mask_values[907]; + tempvar range_check16_pool_column_row_expr916 = mask_values[908]; + tempvar range_check16_pool_column_row_expr917 = mask_values[909]; + tempvar range_check16_pool_column_row_expr918 = mask_values[910]; + tempvar range_check16_pool_column_row_expr919 = mask_values[911]; + tempvar range_check16_pool_column_row_expr920 = mask_values[912]; + tempvar range_check16_pool_column_row_expr921 = mask_values[913]; + tempvar range_check16_pool_column_row_expr922 = mask_values[914]; + tempvar range_check16_pool_column_row_expr923 = mask_values[915]; + tempvar range_check16_pool_column_row_expr924 = mask_values[916]; + tempvar range_check16_pool_column_row_expr925 = mask_values[917]; + tempvar range_check16_pool_column_row_expr926 = mask_values[918]; + tempvar range_check16_pool_column_row_expr927 = mask_values[919]; + tempvar range_check16_pool_column_row_expr928 = mask_values[920]; + tempvar range_check16_pool_column_row_expr929 = mask_values[921]; + tempvar range_check16_pool_column_row_expr930 = mask_values[922]; + tempvar range_check16_pool_column_row_expr931 = mask_values[923]; + tempvar range_check16_pool_column_row_expr932 = mask_values[924]; + tempvar range_check16_pool_column_row_expr933 = mask_values[925]; + tempvar range_check16_pool_column_row_expr934 = mask_values[926]; + tempvar range_check16_pool_column_row_expr935 = mask_values[927]; + tempvar range_check16_pool_column_row_expr936 = mask_values[928]; + tempvar range_check16_pool_column_row_expr937 = mask_values[929]; + tempvar range_check16_pool_column_row_expr938 = mask_values[930]; + tempvar range_check16_pool_column_row_expr939 = mask_values[931]; + tempvar range_check16_pool_column_row_expr940 = mask_values[932]; + tempvar memory__multi_column_perm__perm__cum_prod0_column_row_expr23 = mask_values[933]; + tempvar memory__multi_column_perm__perm__cum_prod0_column_row_expr28 = mask_values[934]; + tempvar range_check16__perm__cum_prod0_column_row_expr34 = mask_values[935]; + tempvar range_check16__perm__cum_prod0_column_row_expr37 = mask_values[936]; + tempvar diluted_check__permutation__cum_prod0_column_row_expr40 = mask_values[937]; + tempvar diluted_check__permutation__cum_prod0_column_row_expr43 = mask_values[938]; + tempvar diluted_check__cumulative_value_column_row_expr45 = mask_values[939]; + tempvar diluted_check__cumulative_value_column_row_expr46 = mask_values[940]; // Compute intermediate values. tempvar cpu__decode__opcode_range_check__bit_0 = cpu__decode__opcode_range_check__column_column_row_expr0 - ( - cpu__decode__opcode_range_check__column_column_row_expr566 + - cpu__decode__opcode_range_check__column_column_row_expr566 + cpu__decode__opcode_range_check__column_column_row_expr680 + + cpu__decode__opcode_range_check__column_column_row_expr680 ); - tempvar cpu__decode__opcode_range_check__bit_2 = cpu__decode__opcode_range_check__column_column_row_expr567 - + tempvar cpu__decode__opcode_range_check__bit_2 = cpu__decode__opcode_range_check__column_column_row_expr681 - ( - cpu__decode__opcode_range_check__column_column_row_expr568 + - cpu__decode__opcode_range_check__column_column_row_expr568 + cpu__decode__opcode_range_check__column_column_row_expr682 + + cpu__decode__opcode_range_check__column_column_row_expr682 ); - tempvar cpu__decode__opcode_range_check__bit_4 = cpu__decode__opcode_range_check__column_column_row_expr569 - + tempvar cpu__decode__opcode_range_check__bit_4 = cpu__decode__opcode_range_check__column_column_row_expr683 - ( - cpu__decode__opcode_range_check__column_column_row_expr570 + - cpu__decode__opcode_range_check__column_column_row_expr570 + cpu__decode__opcode_range_check__column_column_row_expr684 + + cpu__decode__opcode_range_check__column_column_row_expr684 ); - tempvar cpu__decode__opcode_range_check__bit_3 = cpu__decode__opcode_range_check__column_column_row_expr571 - + tempvar cpu__decode__opcode_range_check__bit_3 = cpu__decode__opcode_range_check__column_column_row_expr685 - ( - cpu__decode__opcode_range_check__column_column_row_expr572 + - cpu__decode__opcode_range_check__column_column_row_expr572 + cpu__decode__opcode_range_check__column_column_row_expr686 + + cpu__decode__opcode_range_check__column_column_row_expr686 ); tempvar cpu__decode__flag_op1_base_op0_0 = 1 - ( cpu__decode__opcode_range_check__bit_2 + cpu__decode__opcode_range_check__bit_4 + cpu__decode__opcode_range_check__bit_3 ); - tempvar cpu__decode__opcode_range_check__bit_5 = cpu__decode__opcode_range_check__column_column_row_expr573 - + tempvar cpu__decode__opcode_range_check__bit_5 = cpu__decode__opcode_range_check__column_column_row_expr687 - ( - cpu__decode__opcode_range_check__column_column_row_expr574 + - cpu__decode__opcode_range_check__column_column_row_expr574 + cpu__decode__opcode_range_check__column_column_row_expr688 + + cpu__decode__opcode_range_check__column_column_row_expr688 ); - tempvar cpu__decode__opcode_range_check__bit_6 = cpu__decode__opcode_range_check__column_column_row_expr575 - + tempvar cpu__decode__opcode_range_check__bit_6 = cpu__decode__opcode_range_check__column_column_row_expr689 - ( - cpu__decode__opcode_range_check__column_column_row_expr576 + - cpu__decode__opcode_range_check__column_column_row_expr576 + cpu__decode__opcode_range_check__column_column_row_expr690 + + cpu__decode__opcode_range_check__column_column_row_expr690 ); - tempvar cpu__decode__opcode_range_check__bit_9 = cpu__decode__opcode_range_check__column_column_row_expr577 - + tempvar cpu__decode__opcode_range_check__bit_9 = cpu__decode__opcode_range_check__column_column_row_expr691 - ( - cpu__decode__opcode_range_check__column_column_row_expr578 + - cpu__decode__opcode_range_check__column_column_row_expr578 + cpu__decode__opcode_range_check__column_column_row_expr692 + + cpu__decode__opcode_range_check__column_column_row_expr692 ); tempvar cpu__decode__flag_res_op1_0 = 1 - ( cpu__decode__opcode_range_check__bit_5 + cpu__decode__opcode_range_check__bit_6 + cpu__decode__opcode_range_check__bit_9 ); - tempvar cpu__decode__opcode_range_check__bit_7 = cpu__decode__opcode_range_check__column_column_row_expr579 - + tempvar cpu__decode__opcode_range_check__bit_7 = cpu__decode__opcode_range_check__column_column_row_expr693 - ( - cpu__decode__opcode_range_check__column_column_row_expr580 + - cpu__decode__opcode_range_check__column_column_row_expr580 + cpu__decode__opcode_range_check__column_column_row_expr694 + + cpu__decode__opcode_range_check__column_column_row_expr694 ); - tempvar cpu__decode__opcode_range_check__bit_8 = cpu__decode__opcode_range_check__column_column_row_expr581 - + tempvar cpu__decode__opcode_range_check__bit_8 = cpu__decode__opcode_range_check__column_column_row_expr695 - ( - cpu__decode__opcode_range_check__column_column_row_expr582 + - cpu__decode__opcode_range_check__column_column_row_expr582 + cpu__decode__opcode_range_check__column_column_row_expr696 + + cpu__decode__opcode_range_check__column_column_row_expr696 ); tempvar cpu__decode__flag_pc_update_regular_0 = 1 - ( cpu__decode__opcode_range_check__bit_7 + cpu__decode__opcode_range_check__bit_8 + cpu__decode__opcode_range_check__bit_9 ); - tempvar cpu__decode__opcode_range_check__bit_12 = cpu__decode__opcode_range_check__column_column_row_expr583 - + tempvar cpu__decode__opcode_range_check__bit_12 = cpu__decode__opcode_range_check__column_column_row_expr697 - ( - cpu__decode__opcode_range_check__column_column_row_expr584 + - cpu__decode__opcode_range_check__column_column_row_expr584 + cpu__decode__opcode_range_check__column_column_row_expr698 + + cpu__decode__opcode_range_check__column_column_row_expr698 ); - tempvar cpu__decode__opcode_range_check__bit_13 = cpu__decode__opcode_range_check__column_column_row_expr585 - + tempvar cpu__decode__opcode_range_check__bit_13 = cpu__decode__opcode_range_check__column_column_row_expr699 - ( - cpu__decode__opcode_range_check__column_column_row_expr586 + - cpu__decode__opcode_range_check__column_column_row_expr586 + cpu__decode__opcode_range_check__column_column_row_expr700 + + cpu__decode__opcode_range_check__column_column_row_expr700 ); tempvar cpu__decode__fp_update_regular_0 = 1 - ( cpu__decode__opcode_range_check__bit_12 + cpu__decode__opcode_range_check__bit_13 ); - tempvar cpu__decode__opcode_range_check__bit_1 = cpu__decode__opcode_range_check__column_column_row_expr566 - + tempvar cpu__decode__opcode_range_check__bit_1 = cpu__decode__opcode_range_check__column_column_row_expr680 - ( - cpu__decode__opcode_range_check__column_column_row_expr587 + - cpu__decode__opcode_range_check__column_column_row_expr587 + cpu__decode__opcode_range_check__column_column_row_expr701 + + cpu__decode__opcode_range_check__column_column_row_expr701 ); tempvar npc_reg_0 = mem_pool__addr_column_row_expr10 + cpu__decode__opcode_range_check__bit_2 + 1; - tempvar cpu__decode__opcode_range_check__bit_10 = cpu__decode__opcode_range_check__column_column_row_expr588 - + tempvar cpu__decode__opcode_range_check__bit_10 = cpu__decode__opcode_range_check__column_column_row_expr702 - ( - cpu__decode__opcode_range_check__column_column_row_expr589 + - cpu__decode__opcode_range_check__column_column_row_expr589 + cpu__decode__opcode_range_check__column_column_row_expr703 + + cpu__decode__opcode_range_check__column_column_row_expr703 ); - tempvar cpu__decode__opcode_range_check__bit_11 = cpu__decode__opcode_range_check__column_column_row_expr590 - + tempvar cpu__decode__opcode_range_check__bit_11 = cpu__decode__opcode_range_check__column_column_row_expr704 - ( - cpu__decode__opcode_range_check__column_column_row_expr591 + - cpu__decode__opcode_range_check__column_column_row_expr591 + cpu__decode__opcode_range_check__column_column_row_expr705 + + cpu__decode__opcode_range_check__column_column_row_expr705 ); - tempvar cpu__decode__opcode_range_check__bit_14 = cpu__decode__opcode_range_check__column_column_row_expr592 - + tempvar cpu__decode__opcode_range_check__bit_14 = cpu__decode__opcode_range_check__column_column_row_expr706 - ( - cpu__decode__opcode_range_check__column_column_row_expr593 + - cpu__decode__opcode_range_check__column_column_row_expr593 + cpu__decode__opcode_range_check__column_column_row_expr707 + + cpu__decode__opcode_range_check__column_column_row_expr707 ); tempvar memory__address_diff_0 = memory__sorted__addr_column_row_expr26 - memory__sorted__addr_column_row_expr21; @@ -12399,54 +12929,54 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__selector_column_row_expr49 ); tempvar pedersen__hash0__ec_subset_sum__bit_neg_0 = 1 - pedersen__hash0__ec_subset_sum__bit_0; - tempvar range_check_builtin__value0_0 = range_check16_pool_column_row_expr594; + tempvar range_check_builtin__value0_0 = range_check16_pool_column_row_expr708; tempvar range_check_builtin__value1_0 = range_check_builtin__value0_0 * - global_values.offset_size + range_check16_pool_column_row_expr595; + global_values.offset_size + range_check16_pool_column_row_expr709; tempvar range_check_builtin__value2_0 = range_check_builtin__value1_0 * - global_values.offset_size + range_check16_pool_column_row_expr596; + global_values.offset_size + range_check16_pool_column_row_expr710; tempvar range_check_builtin__value3_0 = range_check_builtin__value2_0 * - global_values.offset_size + range_check16_pool_column_row_expr597; + global_values.offset_size + range_check16_pool_column_row_expr711; tempvar range_check_builtin__value4_0 = range_check_builtin__value3_0 * - global_values.offset_size + range_check16_pool_column_row_expr598; + global_values.offset_size + range_check16_pool_column_row_expr712; tempvar range_check_builtin__value5_0 = range_check_builtin__value4_0 * - global_values.offset_size + range_check16_pool_column_row_expr599; + global_values.offset_size + range_check16_pool_column_row_expr713; tempvar range_check_builtin__value6_0 = range_check_builtin__value5_0 * - global_values.offset_size + range_check16_pool_column_row_expr600; + global_values.offset_size + range_check16_pool_column_row_expr714; tempvar range_check_builtin__value7_0 = range_check_builtin__value6_0 * - global_values.offset_size + range_check16_pool_column_row_expr601; + global_values.offset_size + range_check16_pool_column_row_expr715; tempvar ecdsa__signature0__doubling_key__x_squared = ecdsa__signature0__key_points__x_column_row_expr80 * ecdsa__signature0__key_points__x_column_row_expr80; tempvar ecdsa__signature0__exponentiate_generator__bit_0 = ecdsa__signature0__exponentiate_generator__selector_column_row_expr83 - ( - ecdsa__signature0__exponentiate_generator__selector_column_row_expr602 + - ecdsa__signature0__exponentiate_generator__selector_column_row_expr602 + ecdsa__signature0__exponentiate_generator__selector_column_row_expr716 + + ecdsa__signature0__exponentiate_generator__selector_column_row_expr716 ); tempvar ecdsa__signature0__exponentiate_generator__bit_neg_0 = 1 - ecdsa__signature0__exponentiate_generator__bit_0; tempvar ecdsa__signature0__exponentiate_key__bit_0 = ecdsa__signature0__exponentiate_key__selector_column_row_expr90 - ( - ecdsa__signature0__exponentiate_key__selector_column_row_expr603 + - ecdsa__signature0__exponentiate_key__selector_column_row_expr603 + ecdsa__signature0__exponentiate_key__selector_column_row_expr717 + + ecdsa__signature0__exponentiate_key__selector_column_row_expr717 ); tempvar ecdsa__signature0__exponentiate_key__bit_neg_0 = 1 - ecdsa__signature0__exponentiate_key__bit_0; tempvar bitwise__sum_var_0_0 = diluted_pool_column_row_expr126 + - diluted_pool_column_row_expr604 * 2 + diluted_pool_column_row_expr605 * 4 + - diluted_pool_column_row_expr606 * 8 + diluted_pool_column_row_expr607 * - 18446744073709551616 + diluted_pool_column_row_expr608 * 36893488147419103232 + - diluted_pool_column_row_expr609 * 73786976294838206464 + diluted_pool_column_row_expr610 * + diluted_pool_column_row_expr718 * 2 + diluted_pool_column_row_expr719 * 4 + + diluted_pool_column_row_expr720 * 8 + diluted_pool_column_row_expr721 * + 18446744073709551616 + diluted_pool_column_row_expr722 * 36893488147419103232 + + diluted_pool_column_row_expr723 * 73786976294838206464 + diluted_pool_column_row_expr724 * 147573952589676412928; - tempvar bitwise__sum_var_8_0 = diluted_pool_column_row_expr611 * - 340282366920938463463374607431768211456 + diluted_pool_column_row_expr612 * - 680564733841876926926749214863536422912 + diluted_pool_column_row_expr613 * - 1361129467683753853853498429727072845824 + diluted_pool_column_row_expr614 * - 2722258935367507707706996859454145691648 + diluted_pool_column_row_expr615 * + tempvar bitwise__sum_var_8_0 = diluted_pool_column_row_expr725 * + 340282366920938463463374607431768211456 + diluted_pool_column_row_expr726 * + 680564733841876926926749214863536422912 + diluted_pool_column_row_expr727 * + 1361129467683753853853498429727072845824 + diluted_pool_column_row_expr728 * + 2722258935367507707706996859454145691648 + diluted_pool_column_row_expr729 * 6277101735386680763835789423207666416102355444464034512896 + - diluted_pool_column_row_expr616 * + diluted_pool_column_row_expr730 * 12554203470773361527671578846415332832204710888928069025792 + - diluted_pool_column_row_expr617 * + diluted_pool_column_row_expr731 * 25108406941546723055343157692830665664409421777856138051584 + - diluted_pool_column_row_expr618 * + diluted_pool_column_row_expr732 * 50216813883093446110686315385661331328818843555712276103168; tempvar ec_op__doubling_q__x_squared_0 = ec_op__doubled_points__x_column_row_expr152 * ec_op__doubled_points__x_column_row_expr152; @@ -12455,202 +12985,202 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__selector_column_row_expr159 ); tempvar ec_op__ec_subset_sum__bit_neg_0 = 1 - ec_op__ec_subset_sum__bit_0; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances0_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr619 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr620 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances0_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr733 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr734 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances0_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr621 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr622 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances0_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr735 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr736 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances1_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr620 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr623 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances1_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr734 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr737 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances1_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr622 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr624 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances1_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr736 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr738 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances2_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr623 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr625 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances2_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr737 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr739 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances2_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr624 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr626 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances2_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr738 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr740 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances3_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr625 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr627 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances3_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr739 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr741 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances3_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr626 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr628 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances3_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr740 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr742 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances4_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr627 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr629 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances4_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr741 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr743 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances4_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr628 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr630 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances4_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr742 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr744 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances5_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr629 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr631 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances5_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr743 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr745 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances5_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr630 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr632 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances5_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr744 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr746 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances6_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr631 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr633 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances6_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr745 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr747 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances6_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr632 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr634 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances6_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr746 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr748 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances7_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr633 - + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances7_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr747 - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr245 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances7_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr634 - - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr635 * + tempvar keccak__keccak__parse_to_diluted__sum_words_over_instances7_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr748 - + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr749 * 1606938044258990275541962092341162602522202993782792835301376; - tempvar keccak__keccak__parse_to_diluted__partial_diluted1_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr636 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted1_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr750 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr637 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr637 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr751 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr751 ); - tempvar keccak__keccak__parse_to_diluted__partial_diluted1_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr638 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted1_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr752 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr639 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr639 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr753 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr753 ); tempvar keccak__keccak__parse_to_diluted__bit_other1_0 = keccak__keccak__parse_to_diluted__partial_diluted1_2 - 16 * keccak__keccak__parse_to_diluted__partial_diluted1_0; - tempvar keccak__keccak__parse_to_diluted__partial_diluted1_30 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr640 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted1_30 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr754 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr641 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr641 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr755 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr755 ); - tempvar keccak__keccak__parse_to_diluted__partial_diluted1_31 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr642 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted1_31 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr756 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr643 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr643 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr757 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr757 ); - tempvar keccak__keccak__parse_to_diluted__partial_diluted0_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr619 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted0_0 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr733 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr644 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr644 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr758 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr758 ); - tempvar keccak__keccak__parse_to_diluted__partial_diluted0_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr621 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted0_2 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr735 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr645 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr645 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr759 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr759 ); tempvar keccak__keccak__parse_to_diluted__bit_other0_0 = keccak__keccak__parse_to_diluted__partial_diluted0_2 - 16 * keccak__keccak__parse_to_diluted__partial_diluted0_0; - tempvar keccak__keccak__parse_to_diluted__partial_diluted0_30 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr646 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted0_30 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr760 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr647 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr647 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr761 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr761 ); - tempvar keccak__keccak__parse_to_diluted__partial_diluted0_31 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr648 - + tempvar keccak__keccak__parse_to_diluted__partial_diluted0_31 = keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr762 - ( - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr649 + - keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr649 + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr763 + + keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr763 ); tempvar keccak__keccak__sum_parities0_0 = diluted_pool_column_row_expr300 + keccak__keccak__rotated_parity1_column_row_expr306; tempvar keccak__keccak__sum_parities1_0 = diluted_pool_column_row_expr268 + keccak__keccak__rotated_parity2_column_row_expr309; tempvar keccak__keccak__sum_parities1_64512 = diluted_pool_column_row_expr304 + - keccak__keccak__rotated_parity2_column_row_expr650; + keccak__keccak__rotated_parity2_column_row_expr764; tempvar keccak__keccak__sum_parities2_0 = diluted_pool_column_row_expr276 + keccak__keccak__rotated_parity3_column_row_expr312; - tempvar keccak__keccak__sum_parities2_2048 = diluted_pool_column_row_expr651 + - keccak__keccak__rotated_parity3_column_row_expr652; + tempvar keccak__keccak__sum_parities2_2048 = diluted_pool_column_row_expr765 + + keccak__keccak__rotated_parity3_column_row_expr766; tempvar keccak__keccak__sum_parities3_0 = diluted_pool_column_row_expr284 + keccak__keccak__rotated_parity4_column_row_expr315; - tempvar keccak__keccak__sum_parities3_36864 = diluted_pool_column_row_expr653 + - keccak__keccak__rotated_parity4_column_row_expr654; + tempvar keccak__keccak__sum_parities3_36864 = diluted_pool_column_row_expr767 + + keccak__keccak__rotated_parity4_column_row_expr768; tempvar keccak__keccak__sum_parities4_0 = diluted_pool_column_row_expr292 + keccak__keccak__rotated_parity0_column_row_expr303; - tempvar keccak__keccak__sum_parities4_37888 = diluted_pool_column_row_expr655 + - keccak__keccak__rotated_parity0_column_row_expr656; - tempvar keccak__keccak__sum_parities0_28672 = diluted_pool_column_row_expr657 + - keccak__keccak__rotated_parity1_column_row_expr658; - tempvar keccak__keccak__sum_parities1_20480 = diluted_pool_column_row_expr659 + - keccak__keccak__rotated_parity2_column_row_expr660; - tempvar keccak__keccak__sum_parities2_59392 = diluted_pool_column_row_expr661 + - keccak__keccak__rotated_parity3_column_row_expr662; - tempvar keccak__keccak__sum_parities3_8 = diluted_pool_column_row_expr663 + - keccak__keccak__rotated_parity4_column_row_expr664; - tempvar keccak__keccak__sum_parities3_16 = diluted_pool_column_row_expr665 + - keccak__keccak__rotated_parity4_column_row_expr666; - tempvar keccak__keccak__sum_parities3_9216 = diluted_pool_column_row_expr667 + - keccak__keccak__rotated_parity4_column_row_expr668; - tempvar keccak__keccak__sum_parities3_9224 = diluted_pool_column_row_expr669 + - keccak__keccak__rotated_parity4_column_row_expr670; - tempvar keccak__keccak__sum_parities3_9232 = diluted_pool_column_row_expr671 + - keccak__keccak__rotated_parity4_column_row_expr672; - tempvar keccak__keccak__sum_parities4_45056 = diluted_pool_column_row_expr673 + - keccak__keccak__rotated_parity0_column_row_expr674; - tempvar keccak__keccak__sum_parities0_62464 = diluted_pool_column_row_expr675 + - keccak__keccak__rotated_parity1_column_row_expr676; - tempvar keccak__keccak__sum_parities1_55296 = diluted_pool_column_row_expr677 + - keccak__keccak__rotated_parity2_column_row_expr678; - tempvar keccak__keccak__sum_parities2_21504 = diluted_pool_column_row_expr679 + - keccak__keccak__rotated_parity3_column_row_expr680; - tempvar keccak__keccak__sum_parities3_39936 = diluted_pool_column_row_expr681 + - keccak__keccak__rotated_parity4_column_row_expr682; - tempvar keccak__keccak__sum_parities4_8 = diluted_pool_column_row_expr683 + - keccak__keccak__rotated_parity0_column_row_expr684; - tempvar keccak__keccak__sum_parities4_16 = diluted_pool_column_row_expr685 + - keccak__keccak__rotated_parity0_column_row_expr686; - tempvar keccak__keccak__sum_parities4_25600 = diluted_pool_column_row_expr687 + - keccak__keccak__rotated_parity0_column_row_expr688; - tempvar keccak__keccak__sum_parities4_25608 = diluted_pool_column_row_expr689 + - keccak__keccak__rotated_parity0_column_row_expr690; - tempvar keccak__keccak__sum_parities4_25616 = diluted_pool_column_row_expr691 + - keccak__keccak__rotated_parity0_column_row_expr692; - tempvar keccak__keccak__sum_parities0_8 = diluted_pool_column_row_expr693 + - keccak__keccak__rotated_parity1_column_row_expr694; - tempvar keccak__keccak__sum_parities0_16 = diluted_pool_column_row_expr695 + - keccak__keccak__rotated_parity1_column_row_expr696; - tempvar keccak__keccak__sum_parities0_23552 = diluted_pool_column_row_expr697 + - keccak__keccak__rotated_parity1_column_row_expr698; - tempvar keccak__keccak__sum_parities0_23560 = diluted_pool_column_row_expr699 + - keccak__keccak__rotated_parity1_column_row_expr700; - tempvar keccak__keccak__sum_parities0_23568 = diluted_pool_column_row_expr701 + - keccak__keccak__rotated_parity1_column_row_expr702; - tempvar keccak__keccak__sum_parities1_19456 = diluted_pool_column_row_expr703 + - keccak__keccak__rotated_parity2_column_row_expr704; - tempvar keccak__keccak__sum_parities2_50176 = diluted_pool_column_row_expr705 + - keccak__keccak__rotated_parity3_column_row_expr706; - tempvar keccak__keccak__sum_parities3_44032 = diluted_pool_column_row_expr707 + - keccak__keccak__rotated_parity4_column_row_expr708; - tempvar keccak__keccak__sum_parities4_57344 = diluted_pool_column_row_expr709 + - keccak__keccak__rotated_parity0_column_row_expr710; - tempvar keccak__keccak__sum_parities0_47104 = diluted_pool_column_row_expr711 + - keccak__keccak__rotated_parity1_column_row_expr712; - tempvar keccak__keccak__sum_parities1_8 = diluted_pool_column_row_expr713 + - keccak__keccak__rotated_parity2_column_row_expr714; - tempvar keccak__keccak__sum_parities1_16 = diluted_pool_column_row_expr715 + - keccak__keccak__rotated_parity2_column_row_expr716; - tempvar keccak__keccak__sum_parities1_63488 = diluted_pool_column_row_expr717 + - keccak__keccak__rotated_parity2_column_row_expr718; - tempvar keccak__keccak__sum_parities1_63496 = diluted_pool_column_row_expr719 + - keccak__keccak__rotated_parity2_column_row_expr720; - tempvar keccak__keccak__sum_parities1_63504 = diluted_pool_column_row_expr721 + - keccak__keccak__rotated_parity2_column_row_expr722; - tempvar keccak__keccak__sum_parities2_3072 = diluted_pool_column_row_expr723 + - keccak__keccak__rotated_parity3_column_row_expr724; - tempvar keccak__keccak__sum_parities3_8192 = diluted_pool_column_row_expr725 + - keccak__keccak__rotated_parity4_column_row_expr726; - tempvar keccak__keccak__sum_parities4_51200 = diluted_pool_column_row_expr727 + - keccak__keccak__rotated_parity0_column_row_expr728; + tempvar keccak__keccak__sum_parities4_37888 = diluted_pool_column_row_expr769 + + keccak__keccak__rotated_parity0_column_row_expr770; + tempvar keccak__keccak__sum_parities0_28672 = diluted_pool_column_row_expr771 + + keccak__keccak__rotated_parity1_column_row_expr772; + tempvar keccak__keccak__sum_parities1_20480 = diluted_pool_column_row_expr773 + + keccak__keccak__rotated_parity2_column_row_expr774; + tempvar keccak__keccak__sum_parities2_59392 = diluted_pool_column_row_expr775 + + keccak__keccak__rotated_parity3_column_row_expr776; + tempvar keccak__keccak__sum_parities3_8 = diluted_pool_column_row_expr777 + + keccak__keccak__rotated_parity4_column_row_expr778; + tempvar keccak__keccak__sum_parities3_16 = diluted_pool_column_row_expr779 + + keccak__keccak__rotated_parity4_column_row_expr780; + tempvar keccak__keccak__sum_parities3_9216 = diluted_pool_column_row_expr781 + + keccak__keccak__rotated_parity4_column_row_expr782; + tempvar keccak__keccak__sum_parities3_9224 = diluted_pool_column_row_expr783 + + keccak__keccak__rotated_parity4_column_row_expr784; + tempvar keccak__keccak__sum_parities3_9232 = diluted_pool_column_row_expr785 + + keccak__keccak__rotated_parity4_column_row_expr786; + tempvar keccak__keccak__sum_parities4_45056 = diluted_pool_column_row_expr787 + + keccak__keccak__rotated_parity0_column_row_expr788; + tempvar keccak__keccak__sum_parities0_62464 = diluted_pool_column_row_expr789 + + keccak__keccak__rotated_parity1_column_row_expr790; + tempvar keccak__keccak__sum_parities1_55296 = diluted_pool_column_row_expr791 + + keccak__keccak__rotated_parity2_column_row_expr792; + tempvar keccak__keccak__sum_parities2_21504 = diluted_pool_column_row_expr793 + + keccak__keccak__rotated_parity3_column_row_expr794; + tempvar keccak__keccak__sum_parities3_39936 = diluted_pool_column_row_expr795 + + keccak__keccak__rotated_parity4_column_row_expr796; + tempvar keccak__keccak__sum_parities4_8 = diluted_pool_column_row_expr797 + + keccak__keccak__rotated_parity0_column_row_expr798; + tempvar keccak__keccak__sum_parities4_16 = diluted_pool_column_row_expr799 + + keccak__keccak__rotated_parity0_column_row_expr800; + tempvar keccak__keccak__sum_parities4_25600 = diluted_pool_column_row_expr801 + + keccak__keccak__rotated_parity0_column_row_expr802; + tempvar keccak__keccak__sum_parities4_25608 = diluted_pool_column_row_expr803 + + keccak__keccak__rotated_parity0_column_row_expr804; + tempvar keccak__keccak__sum_parities4_25616 = diluted_pool_column_row_expr805 + + keccak__keccak__rotated_parity0_column_row_expr806; + tempvar keccak__keccak__sum_parities0_8 = diluted_pool_column_row_expr807 + + keccak__keccak__rotated_parity1_column_row_expr808; + tempvar keccak__keccak__sum_parities0_16 = diluted_pool_column_row_expr809 + + keccak__keccak__rotated_parity1_column_row_expr810; + tempvar keccak__keccak__sum_parities0_23552 = diluted_pool_column_row_expr811 + + keccak__keccak__rotated_parity1_column_row_expr812; + tempvar keccak__keccak__sum_parities0_23560 = diluted_pool_column_row_expr813 + + keccak__keccak__rotated_parity1_column_row_expr814; + tempvar keccak__keccak__sum_parities0_23568 = diluted_pool_column_row_expr815 + + keccak__keccak__rotated_parity1_column_row_expr816; + tempvar keccak__keccak__sum_parities1_19456 = diluted_pool_column_row_expr817 + + keccak__keccak__rotated_parity2_column_row_expr818; + tempvar keccak__keccak__sum_parities2_50176 = diluted_pool_column_row_expr819 + + keccak__keccak__rotated_parity3_column_row_expr820; + tempvar keccak__keccak__sum_parities3_44032 = diluted_pool_column_row_expr821 + + keccak__keccak__rotated_parity4_column_row_expr822; + tempvar keccak__keccak__sum_parities4_57344 = diluted_pool_column_row_expr823 + + keccak__keccak__rotated_parity0_column_row_expr824; + tempvar keccak__keccak__sum_parities0_47104 = diluted_pool_column_row_expr825 + + keccak__keccak__rotated_parity1_column_row_expr826; + tempvar keccak__keccak__sum_parities1_8 = diluted_pool_column_row_expr827 + + keccak__keccak__rotated_parity2_column_row_expr828; + tempvar keccak__keccak__sum_parities1_16 = diluted_pool_column_row_expr829 + + keccak__keccak__rotated_parity2_column_row_expr830; + tempvar keccak__keccak__sum_parities1_63488 = diluted_pool_column_row_expr831 + + keccak__keccak__rotated_parity2_column_row_expr832; + tempvar keccak__keccak__sum_parities1_63496 = diluted_pool_column_row_expr833 + + keccak__keccak__rotated_parity2_column_row_expr834; + tempvar keccak__keccak__sum_parities1_63504 = diluted_pool_column_row_expr835 + + keccak__keccak__rotated_parity2_column_row_expr836; + tempvar keccak__keccak__sum_parities2_3072 = diluted_pool_column_row_expr837 + + keccak__keccak__rotated_parity3_column_row_expr838; + tempvar keccak__keccak__sum_parities3_8192 = diluted_pool_column_row_expr839 + + keccak__keccak__rotated_parity4_column_row_expr840; + tempvar keccak__keccak__sum_parities4_51200 = diluted_pool_column_row_expr841 + + keccak__keccak__rotated_parity0_column_row_expr842; tempvar keccak__keccak__after_theta_rho_pi_xor_one_32 = 1229782938247303441 - diluted_pool_column_row_expr348; tempvar keccak__keccak__after_theta_rho_pi_xor_one_1056 = 1229782938247303441 - - diluted_pool_column_row_expr729; + diluted_pool_column_row_expr843; tempvar keccak__keccak__after_theta_rho_pi_xor_one_3104 = 1229782938247303441 - - diluted_pool_column_row_expr730; + diluted_pool_column_row_expr844; tempvar keccak__keccak__after_theta_rho_pi_xor_one_7200 = 1229782938247303441 - - diluted_pool_column_row_expr731; + diluted_pool_column_row_expr845; tempvar keccak__keccak__after_theta_rho_pi_xor_one_15392 = 1229782938247303441 - - diluted_pool_column_row_expr732; + diluted_pool_column_row_expr846; tempvar keccak__keccak__after_theta_rho_pi_xor_one_31776 = 1229782938247303441 - - diluted_pool_column_row_expr733; + diluted_pool_column_row_expr847; tempvar keccak__keccak__after_theta_rho_pi_xor_one_64544 = 1229782938247303441 - - diluted_pool_column_row_expr734; + diluted_pool_column_row_expr848; tempvar keccak__keccak__after_theta_rho_pi_xor_one_0 = 1229782938247303441 - diluted_pool_column_row_expr318; tempvar keccak__keccak__after_theta_rho_pi_xor_one_128 = 1229782938247303441 - @@ -12661,36 +13191,103 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state1_squared_column_row_expr536; tempvar poseidon__poseidon__full_rounds_state2_cubed_0 = poseidon__poseidon__full_rounds_state2_column_row_expr537 * poseidon__poseidon__full_rounds_state2_squared_column_row_expr538; - tempvar poseidon__poseidon__full_rounds_state0_cubed_7 = poseidon__poseidon__full_rounds_state0_column_row_expr735 * - poseidon__poseidon__full_rounds_state0_squared_column_row_expr736; - tempvar poseidon__poseidon__full_rounds_state1_cubed_7 = poseidon__poseidon__full_rounds_state1_column_row_expr737 * - poseidon__poseidon__full_rounds_state1_squared_column_row_expr738; - tempvar poseidon__poseidon__full_rounds_state2_cubed_7 = poseidon__poseidon__full_rounds_state2_column_row_expr739 * - poseidon__poseidon__full_rounds_state2_squared_column_row_expr740; - tempvar poseidon__poseidon__full_rounds_state0_cubed_3 = poseidon__poseidon__full_rounds_state0_column_row_expr741 * - poseidon__poseidon__full_rounds_state0_squared_column_row_expr742; - tempvar poseidon__poseidon__full_rounds_state1_cubed_3 = poseidon__poseidon__full_rounds_state1_column_row_expr743 * - poseidon__poseidon__full_rounds_state1_squared_column_row_expr744; - tempvar poseidon__poseidon__full_rounds_state2_cubed_3 = poseidon__poseidon__full_rounds_state2_column_row_expr745 * - poseidon__poseidon__full_rounds_state2_squared_column_row_expr746; + tempvar poseidon__poseidon__full_rounds_state0_cubed_7 = poseidon__poseidon__full_rounds_state0_column_row_expr849 * + poseidon__poseidon__full_rounds_state0_squared_column_row_expr850; + tempvar poseidon__poseidon__full_rounds_state1_cubed_7 = poseidon__poseidon__full_rounds_state1_column_row_expr851 * + poseidon__poseidon__full_rounds_state1_squared_column_row_expr852; + tempvar poseidon__poseidon__full_rounds_state2_cubed_7 = poseidon__poseidon__full_rounds_state2_column_row_expr853 * + poseidon__poseidon__full_rounds_state2_squared_column_row_expr854; + tempvar poseidon__poseidon__full_rounds_state0_cubed_3 = poseidon__poseidon__full_rounds_state0_column_row_expr855 * + poseidon__poseidon__full_rounds_state0_squared_column_row_expr856; + tempvar poseidon__poseidon__full_rounds_state1_cubed_3 = poseidon__poseidon__full_rounds_state1_column_row_expr857 * + poseidon__poseidon__full_rounds_state1_squared_column_row_expr858; + tempvar poseidon__poseidon__full_rounds_state2_cubed_3 = poseidon__poseidon__full_rounds_state2_column_row_expr859 * + poseidon__poseidon__full_rounds_state2_squared_column_row_expr860; tempvar poseidon__poseidon__partial_rounds_state0_cubed_0 = poseidon__poseidon__partial_rounds_state0_column_row_expr539 * poseidon__poseidon__partial_rounds_state0_squared_column_row_expr540; tempvar poseidon__poseidon__partial_rounds_state0_cubed_1 = poseidon__poseidon__partial_rounds_state0_column_row_expr557 * - poseidon__poseidon__partial_rounds_state0_squared_column_row_expr747; + poseidon__poseidon__partial_rounds_state0_squared_column_row_expr861; tempvar poseidon__poseidon__partial_rounds_state0_cubed_2 = poseidon__poseidon__partial_rounds_state0_column_row_expr558 * - poseidon__poseidon__partial_rounds_state0_squared_column_row_expr748; + poseidon__poseidon__partial_rounds_state0_squared_column_row_expr862; tempvar poseidon__poseidon__partial_rounds_state1_cubed_0 = poseidon__poseidon__partial_rounds_state1_column_row_expr541 * poseidon__poseidon__partial_rounds_state1_squared_column_row_expr542; tempvar poseidon__poseidon__partial_rounds_state1_cubed_1 = poseidon__poseidon__partial_rounds_state1_column_row_expr554 * - poseidon__poseidon__partial_rounds_state1_squared_column_row_expr749; + poseidon__poseidon__partial_rounds_state1_squared_column_row_expr863; tempvar poseidon__poseidon__partial_rounds_state1_cubed_2 = poseidon__poseidon__partial_rounds_state1_column_row_expr556 * - poseidon__poseidon__partial_rounds_state1_squared_column_row_expr750; - tempvar poseidon__poseidon__partial_rounds_state1_cubed_19 = poseidon__poseidon__partial_rounds_state1_column_row_expr751 * - poseidon__poseidon__partial_rounds_state1_squared_column_row_expr752; + poseidon__poseidon__partial_rounds_state1_squared_column_row_expr864; + tempvar poseidon__poseidon__partial_rounds_state1_cubed_19 = poseidon__poseidon__partial_rounds_state1_column_row_expr865 * + poseidon__poseidon__partial_rounds_state1_squared_column_row_expr866; tempvar poseidon__poseidon__partial_rounds_state1_cubed_20 = poseidon__poseidon__partial_rounds_state1_column_row_expr562 * - poseidon__poseidon__partial_rounds_state1_squared_column_row_expr753; + poseidon__poseidon__partial_rounds_state1_squared_column_row_expr867; tempvar poseidon__poseidon__partial_rounds_state1_cubed_21 = poseidon__poseidon__partial_rounds_state1_column_row_expr563 * - poseidon__poseidon__partial_rounds_state1_squared_column_row_expr754; + poseidon__poseidon__partial_rounds_state1_squared_column_row_expr868; + tempvar range_check96_builtin__value0_0 = range_check16_pool_column_row_expr869; + tempvar range_check96_builtin__value1_0 = range_check96_builtin__value0_0 * + global_values.offset_size + range_check16_pool_column_row_expr870; + tempvar range_check96_builtin__value2_0 = range_check96_builtin__value1_0 * + global_values.offset_size + range_check16_pool_column_row_expr871; + tempvar range_check96_builtin__value3_0 = range_check96_builtin__value2_0 * + global_values.offset_size + range_check16_pool_column_row_expr872; + tempvar range_check96_builtin__value4_0 = range_check96_builtin__value3_0 * + global_values.offset_size + range_check16_pool_column_row_expr873; + tempvar range_check96_builtin__value5_0 = range_check96_builtin__value4_0 * + global_values.offset_size + range_check16_pool_column_row_expr874; + tempvar mul_mod__p_multiplier1_0 = range_check16_pool_column_row_expr875 + 65536 * + range_check16_pool_column_row_expr876 + 4294967296 * range_check16_pool_column_row_expr877 + + 281474976710656 * range_check16_pool_column_row_expr878 + 18446744073709551616 * + range_check16_pool_column_row_expr879 + 1208925819614629174706176 * + range_check16_pool_column_row_expr880; + tempvar mul_mod__p_multiplier2_0 = range_check16_pool_column_row_expr881 + 65536 * + range_check16_pool_column_row_expr882 + 4294967296 * range_check16_pool_column_row_expr883 + + 281474976710656 * range_check16_pool_column_row_expr884 + 18446744073709551616 * + range_check16_pool_column_row_expr885 + 1208925819614629174706176 * + range_check16_pool_column_row_expr886; + tempvar mul_mod__p_multiplier3_0 = range_check16_pool_column_row_expr887 + 65536 * + range_check16_pool_column_row_expr888 + 4294967296 * range_check16_pool_column_row_expr889 + + 281474976710656 * range_check16_pool_column_row_expr890 + 18446744073709551616 * + range_check16_pool_column_row_expr891 + 1208925819614629174706176 * + range_check16_pool_column_row_expr892; + tempvar mul_mod__p_multiplier0_0 = range_check16_pool_column_row_expr893 + 65536 * + range_check16_pool_column_row_expr894 + 4294967296 * range_check16_pool_column_row_expr895 + + 281474976710656 * range_check16_pool_column_row_expr896 + 18446744073709551616 * + range_check16_pool_column_row_expr897 + 1208925819614629174706176 * + range_check16_pool_column_row_expr898; + tempvar mul_mod__carry1_0 = range_check16_pool_column_row_expr899 + 65536 * + range_check16_pool_column_row_expr900 + 4294967296 * range_check16_pool_column_row_expr901 + + 281474976710656 * range_check16_pool_column_row_expr902 + 18446744073709551616 * + range_check16_pool_column_row_expr903 + 1208925819614629174706176 * + range_check16_pool_column_row_expr904 + 79228162514264337593543950336 * + range_check16_pool_column_row_expr905; + tempvar mul_mod__carry2_0 = range_check16_pool_column_row_expr906 + 65536 * + range_check16_pool_column_row_expr907 + 4294967296 * range_check16_pool_column_row_expr908 + + 281474976710656 * range_check16_pool_column_row_expr909 + 18446744073709551616 * + range_check16_pool_column_row_expr910 + 1208925819614629174706176 * + range_check16_pool_column_row_expr911 + 79228162514264337593543950336 * + range_check16_pool_column_row_expr912; + tempvar mul_mod__carry3_0 = range_check16_pool_column_row_expr913 + 65536 * + range_check16_pool_column_row_expr914 + 4294967296 * range_check16_pool_column_row_expr915 + + 281474976710656 * range_check16_pool_column_row_expr916 + 18446744073709551616 * + range_check16_pool_column_row_expr917 + 1208925819614629174706176 * + range_check16_pool_column_row_expr918 + 79228162514264337593543950336 * + range_check16_pool_column_row_expr919; + tempvar mul_mod__carry4_0 = range_check16_pool_column_row_expr920 + 65536 * + range_check16_pool_column_row_expr921 + 4294967296 * range_check16_pool_column_row_expr922 + + 281474976710656 * range_check16_pool_column_row_expr923 + 18446744073709551616 * + range_check16_pool_column_row_expr924 + 1208925819614629174706176 * + range_check16_pool_column_row_expr925 + 79228162514264337593543950336 * + range_check16_pool_column_row_expr926; + tempvar mul_mod__carry5_0 = range_check16_pool_column_row_expr927 + 65536 * + range_check16_pool_column_row_expr928 + 4294967296 * range_check16_pool_column_row_expr929 + + 281474976710656 * range_check16_pool_column_row_expr930 + 18446744073709551616 * + range_check16_pool_column_row_expr931 + 1208925819614629174706176 * + range_check16_pool_column_row_expr932 + 79228162514264337593543950336 * + range_check16_pool_column_row_expr933; + tempvar mul_mod__carry0_0 = range_check16_pool_column_row_expr934 + 65536 * + range_check16_pool_column_row_expr935 + 4294967296 * range_check16_pool_column_row_expr936 + + 281474976710656 * range_check16_pool_column_row_expr937 + 18446744073709551616 * + range_check16_pool_column_row_expr938 + 1208925819614629174706176 * + range_check16_pool_column_row_expr939 + 79228162514264337593543950336 * + range_check16_pool_column_row_expr940; // Sum constraints. tempvar total_sum = 0; @@ -13173,7 +13770,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__selector_column_row_expr49 ) ) - ) / domain153; + ) / domain159; tempvar total_sum = total_sum + constraint_coefficients[54] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. @@ -13183,7 +13780,7 @@ func eval_composition_polynomial{range_check_ptr}( 3138550867693340381917894711603833208051177722232017256448 * pedersen__hash0__ec_subset_sum__selector_column_row_expr50 ) - ) / domain153; + ) / domain159; tempvar total_sum = total_sum + constraint_coefficients[55] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. @@ -13196,7 +13793,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__selector_column_row_expr52 ) ) - ) / domain153; + ) / domain159; tempvar total_sum = total_sum + constraint_coefficients[56] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. @@ -13205,7 +13802,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__selector_column_row_expr52 - 8 * pedersen__hash0__ec_subset_sum__selector_column_row_expr53 ) - ) / domain153; + ) / domain159; tempvar total_sum = total_sum + constraint_coefficients[57] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. @@ -13224,7 +13821,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__selector_column_row_expr56 ) ) - ) / domain153; + ) / domain159; tempvar total_sum = total_sum + constraint_coefficients[58] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. @@ -13239,21 +13836,21 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__selector_column_row_expr56 - 18014398509481984 * pedersen__hash0__ec_subset_sum__selector_column_row_expr54 ) - ) / domain153; + ) / domain159; tempvar total_sum = total_sum + constraint_coefficients[59] * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. tempvar value = ( pedersen__hash0__ec_subset_sum__bit_0 * (pedersen__hash0__ec_subset_sum__bit_0 - 1) - ) * domain154 / domain152; + ) * domain160 / domain158; tempvar total_sum = total_sum + constraint_coefficients[60] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. - tempvar value = (pedersen__hash0__ec_subset_sum__selector_column_row_expr48) / domain155; + tempvar value = (pedersen__hash0__ec_subset_sum__selector_column_row_expr48) / domain161; tempvar total_sum = total_sum + constraint_coefficients[61] * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. - tempvar value = (pedersen__hash0__ec_subset_sum__selector_column_row_expr48) / domain154; + tempvar value = (pedersen__hash0__ec_subset_sum__selector_column_row_expr48) / domain160; tempvar total_sum = total_sum + constraint_coefficients[62] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. @@ -13266,7 +13863,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr59 - global_values.pedersen__points__x ) - ) * domain154 / domain152; + ) * domain160 / domain158; tempvar total_sum = total_sum + constraint_coefficients[63] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. @@ -13278,7 +13875,7 @@ func eval_composition_polynomial{range_check_ptr}( global_values.pedersen__points__x + pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr60 ) - ) * domain154 / domain152; + ) * domain160 / domain158; tempvar total_sum = total_sum + constraint_coefficients[64] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. @@ -13291,7 +13888,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr59 - pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr60 ) - ) * domain154 / domain152; + ) * domain160 / domain158; tempvar total_sum = total_sum + constraint_coefficients[65] * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. @@ -13300,7 +13897,7 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr60 - pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr59 ) - ) * domain154 / domain152; + ) * domain160 / domain158; tempvar total_sum = total_sum + constraint_coefficients[66] * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. @@ -13309,79 +13906,79 @@ func eval_composition_polynomial{range_check_ptr}( pedersen__hash0__ec_subset_sum__partial_sum__y_column_row_expr61 - pedersen__hash0__ec_subset_sum__partial_sum__y_column_row_expr57 ) - ) * domain154 / domain152; + ) * domain160 / domain158; tempvar total_sum = total_sum + constraint_coefficients[67] * value; // Constraint: pedersen/hash0/copy_point/x. tempvar value = ( pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr62 - pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr63 - ) * domain156 / domain153; + ) * domain162 / domain159; tempvar total_sum = total_sum + constraint_coefficients[68] * value; // Constraint: pedersen/hash0/copy_point/y. tempvar value = ( pedersen__hash0__ec_subset_sum__partial_sum__y_column_row_expr64 - pedersen__hash0__ec_subset_sum__partial_sum__y_column_row_expr65 - ) * domain156 / domain153; + ) * domain162 / domain159; tempvar total_sum = total_sum + constraint_coefficients[69] * value; // Constraint: pedersen/hash0/init/x. tempvar value = ( pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr59 - global_values.pedersen__shift_point.x - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[70] * value; // Constraint: pedersen/hash0/init/y. tempvar value = ( pedersen__hash0__ec_subset_sum__partial_sum__y_column_row_expr57 - global_values.pedersen__shift_point.y - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[71] * value; // Constraint: pedersen/input0_value0. tempvar value = ( mem_pool__value_column_row_expr66 - pedersen__hash0__ec_subset_sum__selector_column_row_expr48 - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[72] * value; // Constraint: pedersen/input0_addr. tempvar value = ( mem_pool__addr_column_row_expr67 - (mem_pool__addr_column_row_expr68 + 1) - ) * domain158 / domain157; + ) * domain164 / domain163; tempvar total_sum = total_sum + constraint_coefficients[73] * value; // Constraint: pedersen/init_addr. tempvar value = (mem_pool__addr_column_row_expr69 - global_values.initial_pedersen_addr) / - domain159; + domain165; tempvar total_sum = total_sum + constraint_coefficients[74] * value; // Constraint: pedersen/input1_value0. tempvar value = ( mem_pool__value_column_row_expr70 - pedersen__hash0__ec_subset_sum__selector_column_row_expr71 - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[75] * value; // Constraint: pedersen/input1_addr. tempvar value = ( mem_pool__addr_column_row_expr72 - (mem_pool__addr_column_row_expr69 + 1) - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[76] * value; // Constraint: pedersen/output_value0. tempvar value = ( mem_pool__value_column_row_expr73 - pedersen__hash0__ec_subset_sum__partial_sum__x_column_row_expr74 - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[77] * value; // Constraint: pedersen/output_addr. tempvar value = ( mem_pool__addr_column_row_expr68 - (mem_pool__addr_column_row_expr72 + 1) - ) / domain157; + ) / domain163; tempvar total_sum = total_sum + constraint_coefficients[78] * value; tempvar range_check_ptr = range_check_ptr; @@ -13392,19 +13989,19 @@ func eval_composition_polynomial{range_check_ptr}( if (uses_range_check_builtin != 0) { // Constraint: range_check_builtin/value. tempvar value = (range_check_builtin__value7_0 - mem_pool__value_column_row_expr75) / - domain172; + domain181; tempvar total_sum = total_sum + constraint_coefficients[79] * value; // Constraint: range_check_builtin/addr_step. tempvar value = ( mem_pool__addr_column_row_expr76 - (mem_pool__addr_column_row_expr77 + 1) - ) * domain173 / domain172; + ) * domain182 / domain181; tempvar total_sum = total_sum + constraint_coefficients[80] * value; // Constraint: range_check_builtin/init_addr. tempvar value = ( mem_pool__addr_column_row_expr77 - global_values.initial_range_check_addr - ) / domain174; + ) / domain183; tempvar total_sum = total_sum + constraint_coefficients[81] * value; tempvar range_check_ptr = range_check_ptr; @@ -13423,7 +14020,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__key_points__y_column_row_expr78 + ecdsa__signature0__key_points__y_column_row_expr78 ) * ecdsa__signature0__doubling_slope_column_row_expr79 - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[82] * value; // Constraint: ecdsa/signature0/doubling_key/x. @@ -13435,7 +14032,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__key_points__x_column_row_expr80 + ecdsa__signature0__key_points__x_column_row_expr81 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[83] * value; // Constraint: ecdsa/signature0/doubling_key/y. @@ -13446,7 +14043,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__key_points__x_column_row_expr80 - ecdsa__signature0__key_points__x_column_row_expr81 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[84] * value; // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. @@ -13454,17 +14051,17 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__bit_0 * ( ecdsa__signature0__exponentiate_generator__bit_0 - 1 ) - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[85] * value; // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. tempvar value = (ecdsa__signature0__exponentiate_generator__selector_column_row_expr83) / - domain30; + domain33; tempvar total_sum = total_sum + constraint_coefficients[86] * value; // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. tempvar value = (ecdsa__signature0__exponentiate_generator__selector_column_row_expr83) / - domain29; + domain32; tempvar total_sum = total_sum + constraint_coefficients[87] * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. @@ -13477,7 +14074,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr86 - global_values.ecdsa__generator_points__x ) - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[88] * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. @@ -13489,7 +14086,7 @@ func eval_composition_polynomial{range_check_ptr}( global_values.ecdsa__generator_points__x + ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr87 ) - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[89] * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. @@ -13502,7 +14099,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr86 - ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr87 ) - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[90] * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. @@ -13512,7 +14109,7 @@ func eval_composition_polynomial{range_check_ptr}( global_values.ecdsa__generator_points__x ) - 1 - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[91] * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. @@ -13521,7 +14118,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr87 - ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr86 ) - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[92] * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. @@ -13530,7 +14127,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__partial_sum__y_column_row_expr88 - ecdsa__signature0__exponentiate_generator__partial_sum__y_column_row_expr84 ) - ) * domain29 / domain25; + ) * domain32 / domain28; tempvar total_sum = total_sum + constraint_coefficients[93] * value; // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. @@ -13538,17 +14135,17 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__bit_0 * ( ecdsa__signature0__exponentiate_key__bit_0 - 1 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[94] * value; // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. tempvar value = (ecdsa__signature0__exponentiate_key__selector_column_row_expr90) / - domain27; + domain30; tempvar total_sum = total_sum + constraint_coefficients[95] * value; // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. tempvar value = (ecdsa__signature0__exponentiate_key__selector_column_row_expr90) / - domain26; + domain29; tempvar total_sum = total_sum + constraint_coefficients[96] * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. @@ -13561,7 +14158,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr93 - ecdsa__signature0__key_points__x_column_row_expr80 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[97] * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. @@ -13573,7 +14170,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__key_points__x_column_row_expr80 + ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr94 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[98] * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. @@ -13586,7 +14183,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr93 - ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr94 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[99] * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. @@ -13596,7 +14193,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__key_points__x_column_row_expr80 ) - 1 - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[100] * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. @@ -13605,7 +14202,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr94 - ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr93 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[101] * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. @@ -13614,35 +14211,35 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__y_column_row_expr95 - ecdsa__signature0__exponentiate_key__partial_sum__y_column_row_expr91 ) - ) * domain26 / domain24; + ) * domain29 / domain27; tempvar total_sum = total_sum + constraint_coefficients[102] * value; // Constraint: ecdsa/signature0/init_gen/x. tempvar value = ( ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr86 - global_values.ecdsa__sig_config.shift_point.x - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[103] * value; // Constraint: ecdsa/signature0/init_gen/y. tempvar value = ( ecdsa__signature0__exponentiate_generator__partial_sum__y_column_row_expr84 + global_values.ecdsa__sig_config.shift_point.y - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[104] * value; // Constraint: ecdsa/signature0/init_key/x. tempvar value = ( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr93 - global_values.ecdsa__sig_config.shift_point.x - ) / domain28; + ) / domain31; tempvar total_sum = total_sum + constraint_coefficients[105] * value; // Constraint: ecdsa/signature0/init_key/y. tempvar value = ( ecdsa__signature0__exponentiate_key__partial_sum__y_column_row_expr91 - global_values.ecdsa__sig_config.shift_point.y - ) / domain28; + ) / domain31; tempvar total_sum = total_sum + constraint_coefficients[106] * value; // Constraint: ecdsa/signature0/add_results/slope. @@ -13655,7 +14252,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr101 ) ) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[107] * value; // Constraint: ecdsa/signature0/add_results/x. @@ -13667,7 +14264,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr101 + ecdsa__signature0__key_points__x_column_row_expr102 ) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[108] * value; // Constraint: ecdsa/signature0/add_results/y. @@ -13678,7 +14275,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__partial_sum__x_column_row_expr100 - ecdsa__signature0__key_points__x_column_row_expr102 ) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[109] * value; // Constraint: ecdsa/signature0/add_results/x_diff_inv. @@ -13688,7 +14285,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr101 ) - 1 - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[110] * value; // Constraint: ecdsa/signature0/extract_r/slope. @@ -13699,7 +14296,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__partial_sum__x_column_row_expr107 - global_values.ecdsa__sig_config.shift_point.x ) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[111] * value; // Constraint: ecdsa/signature0/extract_r/x. @@ -13711,7 +14308,7 @@ func eval_composition_polynomial{range_check_ptr}( global_values.ecdsa__sig_config.shift_point.x + ecdsa__signature0__exponentiate_key__selector_column_row_expr90 ) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[112] * value; // Constraint: ecdsa/signature0/extract_r/x_diff_inv. @@ -13721,7 +14318,7 @@ func eval_composition_polynomial{range_check_ptr}( global_values.ecdsa__sig_config.shift_point.x ) - 1 - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[113] * value; // Constraint: ecdsa/signature0/z_nonzero. @@ -13729,7 +14326,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_generator__selector_column_row_expr83 * ecdsa__signature0__z_inv_column_row_expr109 - 1 - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[114] * value; // Constraint: ecdsa/signature0/r_and_w_nonzero. @@ -13737,7 +14334,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__exponentiate_key__selector_column_row_expr90 * ecdsa__signature0__r_w_inv_column_row_expr110 - 1 - ) / domain28; + ) / domain31; tempvar total_sum = total_sum + constraint_coefficients[115] * value; // Constraint: ecdsa/signature0/q_on_curve/x_squared. @@ -13745,7 +14342,7 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__q_x_squared_column_row_expr111 - ecdsa__signature0__key_points__x_column_row_expr80 * ecdsa__signature0__key_points__x_column_row_expr80 - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[116] * value; // Constraint: ecdsa/signature0/q_on_curve/on_curve. @@ -13759,37 +14356,37 @@ func eval_composition_polynomial{range_check_ptr}( ecdsa__signature0__key_points__x_column_row_expr80 + global_values.ecdsa__sig_config.beta ) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[117] * value; // Constraint: ecdsa/init_addr. tempvar value = (mem_pool__addr_column_row_expr112 - global_values.initial_ecdsa_addr) / - domain32; + domain35; tempvar total_sum = total_sum + constraint_coefficients[118] * value; // Constraint: ecdsa/message_addr. tempvar value = ( mem_pool__addr_column_row_expr113 - (mem_pool__addr_column_row_expr112 + 1) - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[119] * value; // Constraint: ecdsa/pubkey_addr. tempvar value = ( mem_pool__addr_column_row_expr114 - (mem_pool__addr_column_row_expr113 + 1) - ) * domain33 / domain31; + ) * domain36 / domain34; tempvar total_sum = total_sum + constraint_coefficients[120] * value; // Constraint: ecdsa/message_value0. tempvar value = ( mem_pool__value_column_row_expr115 - ecdsa__signature0__exponentiate_generator__selector_column_row_expr83 - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[121] * value; // Constraint: ecdsa/pubkey_value0. tempvar value = ( mem_pool__value_column_row_expr116 - ecdsa__signature0__key_points__x_column_row_expr80 - ) / domain31; + ) / domain34; tempvar total_sum = total_sum + constraint_coefficients[122] * value; tempvar range_check_ptr = range_check_ptr; @@ -13800,38 +14397,38 @@ func eval_composition_polynomial{range_check_ptr}( if (uses_bitwise_builtin != 0) { // Constraint: bitwise/init_var_pool_addr. tempvar value = (mem_pool__addr_column_row_expr117 - global_values.initial_bitwise_addr) / - domain16; + domain19; tempvar total_sum = total_sum + constraint_coefficients[123] * value; // Constraint: bitwise/step_var_pool_addr. tempvar value = ( mem_pool__addr_column_row_expr118 - (mem_pool__addr_column_row_expr117 + 1) - ) * domain13 / domain12; + ) * domain16 / domain15; tempvar total_sum = total_sum + constraint_coefficients[124] * value; // Constraint: bitwise/x_or_y_addr. tempvar value = ( mem_pool__addr_column_row_expr119 - (mem_pool__addr_column_row_expr120 + 1) - ) / domain14; + ) / domain17; tempvar total_sum = total_sum + constraint_coefficients[125] * value; // Constraint: bitwise/next_var_pool_addr. tempvar value = ( mem_pool__addr_column_row_expr121 - (mem_pool__addr_column_row_expr119 + 1) - ) * domain17 / domain14; + ) * domain20 / domain17; tempvar total_sum = total_sum + constraint_coefficients[126] * value; // Constraint: bitwise/partition. tempvar value = ( bitwise__sum_var_0_0 + bitwise__sum_var_8_0 - mem_pool__value_column_row_expr122 - ) / domain12; + ) / domain15; tempvar total_sum = total_sum + constraint_coefficients[127] * value; // Constraint: bitwise/or_is_and_plus_xor. tempvar value = ( mem_pool__value_column_row_expr123 - (mem_pool__value_column_row_expr124 + mem_pool__value_column_row_expr125) - ) / domain14; + ) / domain17; tempvar total_sum = total_sum + constraint_coefficients[128] * value; // Constraint: bitwise/addition_is_xor_with_and. @@ -13843,35 +14440,35 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr129 + diluted_pool_column_row_expr129 ) - ) / domain15; + ) / domain18; tempvar total_sum = total_sum + constraint_coefficients[129] * value; // Constraint: bitwise/unique_unpacking192. tempvar value = ( (diluted_pool_column_row_expr130 + diluted_pool_column_row_expr131) * 16 - diluted_pool_column_row_expr132 - ) / domain14; + ) / domain17; tempvar total_sum = total_sum + constraint_coefficients[130] * value; // Constraint: bitwise/unique_unpacking193. tempvar value = ( (diluted_pool_column_row_expr133 + diluted_pool_column_row_expr134) * 16 - diluted_pool_column_row_expr135 - ) / domain14; + ) / domain17; tempvar total_sum = total_sum + constraint_coefficients[131] * value; // Constraint: bitwise/unique_unpacking194. tempvar value = ( (diluted_pool_column_row_expr136 + diluted_pool_column_row_expr137) * 16 - diluted_pool_column_row_expr138 - ) / domain14; + ) / domain17; tempvar total_sum = total_sum + constraint_coefficients[132] * value; // Constraint: bitwise/unique_unpacking195. tempvar value = ( (diluted_pool_column_row_expr139 + diluted_pool_column_row_expr140) * 256 - diluted_pool_column_row_expr141 - ) / domain14; + ) / domain17; tempvar total_sum = total_sum + constraint_coefficients[133] * value; tempvar range_check_ptr = range_check_ptr; @@ -13882,49 +14479,49 @@ func eval_composition_polynomial{range_check_ptr}( if (uses_ec_op_builtin != 0) { // Constraint: ec_op/init_addr. tempvar value = (mem_pool__addr_column_row_expr142 - global_values.initial_ec_op_addr) / - domain22; + domain25; tempvar total_sum = total_sum + constraint_coefficients[134] * value; // Constraint: ec_op/p_x_addr. tempvar value = ( mem_pool__addr_column_row_expr143 - (mem_pool__addr_column_row_expr142 + 7) - ) * domain23 / domain19; + ) * domain26 / domain22; tempvar total_sum = total_sum + constraint_coefficients[135] * value; // Constraint: ec_op/p_y_addr. tempvar value = ( mem_pool__addr_column_row_expr144 - (mem_pool__addr_column_row_expr142 + 1) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[136] * value; // Constraint: ec_op/q_x_addr. tempvar value = ( mem_pool__addr_column_row_expr145 - (mem_pool__addr_column_row_expr144 + 1) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[137] * value; // Constraint: ec_op/q_y_addr. tempvar value = ( mem_pool__addr_column_row_expr146 - (mem_pool__addr_column_row_expr145 + 1) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[138] * value; // Constraint: ec_op/m_addr. tempvar value = ( mem_pool__addr_column_row_expr147 - (mem_pool__addr_column_row_expr146 + 1) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[139] * value; // Constraint: ec_op/r_x_addr. tempvar value = ( mem_pool__addr_column_row_expr148 - (mem_pool__addr_column_row_expr147 + 1) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[140] * value; // Constraint: ec_op/r_y_addr. tempvar value = ( mem_pool__addr_column_row_expr149 - (mem_pool__addr_column_row_expr148 + 1) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[141] * value; // Constraint: ec_op/doubling_q/slope. @@ -13937,7 +14534,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__doubled_points__y_column_row_expr150 + ec_op__doubled_points__y_column_row_expr150 ) * ec_op__doubling_slope_column_row_expr151 - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[142] * value; // Constraint: ec_op/doubling_q/x. @@ -13948,7 +14545,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__doubled_points__x_column_row_expr152 + ec_op__doubled_points__x_column_row_expr153 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[143] * value; // Constraint: ec_op/doubling_q/y. @@ -13959,19 +14556,19 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__doubled_points__x_column_row_expr152 - ec_op__doubled_points__x_column_row_expr153 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[144] * value; // Constraint: ec_op/get_q_x. tempvar value = ( mem_pool__value_column_row_expr155 - ec_op__doubled_points__x_column_row_expr152 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[145] * value; // Constraint: ec_op/get_q_y. tempvar value = ( mem_pool__value_column_row_expr156 - ec_op__doubled_points__y_column_row_expr150 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[146] * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/last_one_is_zero. @@ -13983,7 +14580,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__selector_column_row_expr159 ) ) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[147] * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones0. @@ -13993,7 +14590,7 @@ func eval_composition_polynomial{range_check_ptr}( 3138550867693340381917894711603833208051177722232017256448 * ec_op__ec_subset_sum__selector_column_row_expr160 ) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[148] * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit192. @@ -14006,7 +14603,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__selector_column_row_expr162 ) ) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[149] * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones192. @@ -14015,7 +14612,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__selector_column_row_expr162 - 8 * ec_op__ec_subset_sum__selector_column_row_expr163 ) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[150] * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit196. @@ -14034,7 +14631,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__selector_column_row_expr166 ) ) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[151] * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones196. @@ -14049,20 +14646,20 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__selector_column_row_expr166 - 18014398509481984 * ec_op__ec_subset_sum__selector_column_row_expr164 ) - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[152] * value; // Constraint: ec_op/ec_subset_sum/booleanity_test. tempvar value = (ec_op__ec_subset_sum__bit_0 * (ec_op__ec_subset_sum__bit_0 - 1)) * - domain20 / domain18; + domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[153] * value; // Constraint: ec_op/ec_subset_sum/bit_extraction_end. - tempvar value = (ec_op__ec_subset_sum__selector_column_row_expr158) / domain21; + tempvar value = (ec_op__ec_subset_sum__selector_column_row_expr158) / domain24; tempvar total_sum = total_sum + constraint_coefficients[154] * value; // Constraint: ec_op/ec_subset_sum/zeros_tail. - tempvar value = (ec_op__ec_subset_sum__selector_column_row_expr158) / domain20; + tempvar value = (ec_op__ec_subset_sum__selector_column_row_expr158) / domain23; tempvar total_sum = total_sum + constraint_coefficients[155] * value; // Constraint: ec_op/ec_subset_sum/add_points/slope. @@ -14075,7 +14672,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__partial_sum__x_column_row_expr169 - ec_op__doubled_points__x_column_row_expr152 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[156] * value; // Constraint: ec_op/ec_subset_sum/add_points/x. @@ -14087,7 +14684,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__doubled_points__x_column_row_expr152 + ec_op__ec_subset_sum__partial_sum__x_column_row_expr170 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[157] * value; // Constraint: ec_op/ec_subset_sum/add_points/y. @@ -14100,7 +14697,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__partial_sum__x_column_row_expr169 - ec_op__ec_subset_sum__partial_sum__x_column_row_expr170 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[158] * value; // Constraint: ec_op/ec_subset_sum/add_points/x_diff_inv. @@ -14110,7 +14707,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__doubled_points__x_column_row_expr152 ) - 1 - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[159] * value; // Constraint: ec_op/ec_subset_sum/copy_point/x. @@ -14119,7 +14716,7 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__partial_sum__x_column_row_expr170 - ec_op__ec_subset_sum__partial_sum__x_column_row_expr169 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[160] * value; // Constraint: ec_op/ec_subset_sum/copy_point/y. @@ -14128,41 +14725,41 @@ func eval_composition_polynomial{range_check_ptr}( ec_op__ec_subset_sum__partial_sum__y_column_row_expr171 - ec_op__ec_subset_sum__partial_sum__y_column_row_expr167 ) - ) * domain20 / domain18; + ) * domain23 / domain21; tempvar total_sum = total_sum + constraint_coefficients[161] * value; // Constraint: ec_op/get_m. tempvar value = ( ec_op__ec_subset_sum__selector_column_row_expr158 - mem_pool__value_column_row_expr173 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[162] * value; // Constraint: ec_op/get_p_x. tempvar value = ( mem_pool__value_column_row_expr174 - ec_op__ec_subset_sum__partial_sum__x_column_row_expr169 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[163] * value; // Constraint: ec_op/get_p_y. tempvar value = ( mem_pool__value_column_row_expr175 - ec_op__ec_subset_sum__partial_sum__y_column_row_expr167 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[164] * value; // Constraint: ec_op/set_r_x. tempvar value = ( mem_pool__value_column_row_expr176 - ec_op__ec_subset_sum__partial_sum__x_column_row_expr177 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[165] * value; // Constraint: ec_op/set_r_y. tempvar value = ( mem_pool__value_column_row_expr178 - ec_op__ec_subset_sum__partial_sum__y_column_row_expr179 - ) / domain19; + ) / domain22; tempvar total_sum = total_sum + constraint_coefficients[166] * value; tempvar range_check_ptr = range_check_ptr; @@ -14173,249 +14770,249 @@ func eval_composition_polynomial{range_check_ptr}( if (uses_keccak_builtin != 0) { // Constraint: keccak/init_input_output_addr. tempvar value = (mem_pool__addr_column_row_expr180 - global_values.initial_keccak_addr) / - domain150; + domain153; tempvar total_sum = total_sum + constraint_coefficients[167] * value; // Constraint: keccak/addr_input_output_step. tempvar value = ( mem_pool__addr_column_row_expr181 - (mem_pool__addr_column_row_expr180 + 1) - ) * domain151 / domain37; + ) * domain154 / domain40; tempvar total_sum = total_sum + constraint_coefficients[168] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w0. tempvar value = ( mem_pool__value_column_row_expr182 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr183 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[169] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w1. tempvar value = ( mem_pool__value_column_row_expr184 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr185 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[170] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w2. tempvar value = ( mem_pool__value_column_row_expr186 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr187 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[171] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w3. tempvar value = ( mem_pool__value_column_row_expr188 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr189 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[172] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w4. tempvar value = ( mem_pool__value_column_row_expr190 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr191 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[173] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w5. tempvar value = ( mem_pool__value_column_row_expr192 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr193 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[174] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w6. tempvar value = ( mem_pool__value_column_row_expr194 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr195 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[175] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w7. tempvar value = ( mem_pool__value_column_row_expr196 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr197 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[176] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w0. tempvar value = ( mem_pool__value_column_row_expr198 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr199 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[177] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w1. tempvar value = ( mem_pool__value_column_row_expr200 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr201 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[178] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w2. tempvar value = ( mem_pool__value_column_row_expr202 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr203 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[179] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w3. tempvar value = ( mem_pool__value_column_row_expr204 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr205 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[180] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w4. tempvar value = ( mem_pool__value_column_row_expr206 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr207 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[181] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w5. tempvar value = ( mem_pool__value_column_row_expr208 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr209 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[182] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w6. tempvar value = ( mem_pool__value_column_row_expr210 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr211 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[183] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w7. tempvar value = ( mem_pool__value_column_row_expr212 - keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr213 - ) / domain42; + ) / domain45; tempvar total_sum = total_sum + constraint_coefficients[184] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final0. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr183 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr214 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[185] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final1. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr215 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr216 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[186] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final2. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr217 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr218 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[187] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final3. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr219 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr220 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[188] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final4. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr221 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr222 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[189] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final5. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr223 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr224 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[190] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final6. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr225 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr226 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[191] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final7. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr227 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr228 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[192] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final8. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr229 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr230 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[193] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final9. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr231 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr232 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[194] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final10. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr233 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr234 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[195] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final11. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr235 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr236 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[196] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final12. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr237 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr238 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[197] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final13. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr239 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr240 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[198] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final14. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr241 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr242 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[199] * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final15. tempvar value = ( keccak__keccak__parse_to_diluted__reshaped_intermediate_column_row_expr243 - keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr244 - ) / domain45; + ) / domain48; tempvar total_sum = total_sum + constraint_coefficients[200] * value; // Constraint: keccak/keccak/parse_to_diluted/start_accumulation. tempvar value = (keccak__keccak__parse_to_diluted__cumulative_sum_column_row_expr245) / - domain49; + domain52; tempvar total_sum = total_sum + constraint_coefficients[201] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation0. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr214 - keccak__keccak__parse_to_diluted__sum_words_over_instances0_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[202] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations0. @@ -14423,14 +15020,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr216 + keccak__keccak__parse_to_diluted__sum_words_over_instances0_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances0_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[203] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation1. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr246 - keccak__keccak__parse_to_diluted__sum_words_over_instances1_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[204] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations1. @@ -14438,14 +15035,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr247 + keccak__keccak__parse_to_diluted__sum_words_over_instances1_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances1_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[205] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation2. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr248 - keccak__keccak__parse_to_diluted__sum_words_over_instances2_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[206] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations2. @@ -14453,14 +15050,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr249 + keccak__keccak__parse_to_diluted__sum_words_over_instances2_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances2_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[207] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation3. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr250 - keccak__keccak__parse_to_diluted__sum_words_over_instances3_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[208] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations3. @@ -14468,14 +15065,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr251 + keccak__keccak__parse_to_diluted__sum_words_over_instances3_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances3_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[209] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation4. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr252 - keccak__keccak__parse_to_diluted__sum_words_over_instances4_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[210] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations4. @@ -14483,14 +15080,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr253 + keccak__keccak__parse_to_diluted__sum_words_over_instances4_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances4_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[211] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation5. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr254 - keccak__keccak__parse_to_diluted__sum_words_over_instances5_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[212] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations5. @@ -14498,14 +15095,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr255 + keccak__keccak__parse_to_diluted__sum_words_over_instances5_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances5_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[213] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation6. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr256 - keccak__keccak__parse_to_diluted__sum_words_over_instances6_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[214] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations6. @@ -14513,14 +15110,14 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr257 + keccak__keccak__parse_to_diluted__sum_words_over_instances6_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances6_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[215] * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation7. tempvar value = ( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr258 - keccak__keccak__parse_to_diluted__sum_words_over_instances7_0 - ) / domain44; + ) / domain47; tempvar total_sum = total_sum + constraint_coefficients[216] * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations7. @@ -14528,7 +15125,7 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__final_reshaped_input_column_row_expr259 + keccak__keccak__parse_to_diluted__sum_words_over_instances7_0 * 16 - keccak__keccak__parse_to_diluted__sum_words_over_instances7_2 - ) / domain48; + ) / domain51; tempvar total_sum = total_sum + constraint_coefficients[217] * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation1. @@ -14536,7 +15133,7 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__partial_diluted1_0 * keccak__keccak__parse_to_diluted__partial_diluted1_0 - keccak__keccak__parse_to_diluted__partial_diluted1_0 - ) / domain52; + ) / domain55; tempvar total_sum = total_sum + constraint_coefficients[218] * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations1. @@ -14544,19 +15141,19 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__bit_other1_0 * keccak__keccak__parse_to_diluted__bit_other1_0 - keccak__keccak__parse_to_diluted__bit_other1_0 - ) / domain53; + ) / domain56; tempvar total_sum = total_sum + constraint_coefficients[219] * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p1. tempvar value = ( keccak__keccak__parse_to_diluted__partial_diluted1_30 - diluted_pool_column_row_expr260 - ) / domain54; + ) / domain57; tempvar total_sum = total_sum + constraint_coefficients[220] * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p1. tempvar value = ( keccak__keccak__parse_to_diluted__partial_diluted1_31 - diluted_pool_column_row_expr261 - ) / domain54; + ) / domain57; tempvar total_sum = total_sum + constraint_coefficients[221] * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation0. @@ -14564,7 +15161,7 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__partial_diluted0_0 * keccak__keccak__parse_to_diluted__partial_diluted0_0 - keccak__keccak__parse_to_diluted__partial_diluted0_0 - ) * domain58 / domain36; + ) * domain61 / domain39; tempvar total_sum = total_sum + constraint_coefficients[222] * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations0. @@ -14572,19 +15169,19 @@ func eval_composition_polynomial{range_check_ptr}( keccak__keccak__parse_to_diluted__bit_other0_0 * keccak__keccak__parse_to_diluted__bit_other0_0 - keccak__keccak__parse_to_diluted__bit_other0_0 - ) * domain61 / domain34; + ) * domain64 / domain37; tempvar total_sum = total_sum + constraint_coefficients[223] * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p0. tempvar value = ( keccak__keccak__parse_to_diluted__partial_diluted0_30 - diluted_pool_column_row_expr262 - ) * domain62 / domain35; + ) * domain65 / domain38; tempvar total_sum = total_sum + constraint_coefficients[224] * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p0. tempvar value = ( keccak__keccak__parse_to_diluted__partial_diluted0_31 - diluted_pool_column_row_expr263 - ) * domain62 / domain35; + ) * domain65 / domain38; tempvar total_sum = total_sum + constraint_coefficients[225] * value; // Constraint: keccak/keccak/parity0. @@ -14600,7 +15197,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr269 + diluted_pool_column_row_expr270 * 4 ) - ) / domain39; + ) / domain42; tempvar total_sum = total_sum + constraint_coefficients[226] * value; // Constraint: keccak/keccak/parity1. @@ -14616,7 +15213,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr277 + diluted_pool_column_row_expr278 * 4 ) - ) / domain39; + ) / domain42; tempvar total_sum = total_sum + constraint_coefficients[227] * value; // Constraint: keccak/keccak/parity2. @@ -14632,7 +15229,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr285 + diluted_pool_column_row_expr286 * 4 ) - ) / domain39; + ) / domain42; tempvar total_sum = total_sum + constraint_coefficients[228] * value; // Constraint: keccak/keccak/parity3. @@ -14648,7 +15245,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr293 + diluted_pool_column_row_expr294 * 4 ) - ) / domain39; + ) / domain42; tempvar total_sum = total_sum + constraint_coefficients[229] * value; // Constraint: keccak/keccak/parity4. @@ -14664,67 +15261,67 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr301 + diluted_pool_column_row_expr302 * 4 ) - ) / domain39; + ) / domain42; tempvar total_sum = total_sum + constraint_coefficients[230] * value; // Constraint: keccak/keccak/rotate_parity0/n0. tempvar value = ( keccak__keccak__rotated_parity0_column_row_expr303 - diluted_pool_column_row_expr304 - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[231] * value; // Constraint: keccak/keccak/rotate_parity0/n1. tempvar value = ( keccak__keccak__rotated_parity0_column_row_expr305 - diluted_pool_column_row_expr268 - ) * domain64 / domain39; + ) * domain67 / domain42; tempvar total_sum = total_sum + constraint_coefficients[232] * value; // Constraint: keccak/keccak/rotate_parity1/n0. tempvar value = ( keccak__keccak__rotated_parity1_column_row_expr306 - diluted_pool_column_row_expr307 - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[233] * value; // Constraint: keccak/keccak/rotate_parity1/n1. tempvar value = ( keccak__keccak__rotated_parity1_column_row_expr308 - diluted_pool_column_row_expr276 - ) * domain64 / domain39; + ) * domain67 / domain42; tempvar total_sum = total_sum + constraint_coefficients[234] * value; // Constraint: keccak/keccak/rotate_parity2/n0. tempvar value = ( keccak__keccak__rotated_parity2_column_row_expr309 - diluted_pool_column_row_expr310 - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[235] * value; // Constraint: keccak/keccak/rotate_parity2/n1. tempvar value = ( keccak__keccak__rotated_parity2_column_row_expr311 - diluted_pool_column_row_expr284 - ) * domain64 / domain39; + ) * domain67 / domain42; tempvar total_sum = total_sum + constraint_coefficients[236] * value; // Constraint: keccak/keccak/rotate_parity3/n0. tempvar value = ( keccak__keccak__rotated_parity3_column_row_expr312 - diluted_pool_column_row_expr313 - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[237] * value; // Constraint: keccak/keccak/rotate_parity3/n1. tempvar value = ( keccak__keccak__rotated_parity3_column_row_expr314 - diluted_pool_column_row_expr292 - ) * domain64 / domain39; + ) * domain67 / domain42; tempvar total_sum = total_sum + constraint_coefficients[238] * value; // Constraint: keccak/keccak/rotate_parity4/n0. tempvar value = ( keccak__keccak__rotated_parity4_column_row_expr315 - diluted_pool_column_row_expr316 - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[239] * value; // Constraint: keccak/keccak/rotate_parity4/n1. tempvar value = ( keccak__keccak__rotated_parity4_column_row_expr317 - diluted_pool_column_row_expr300 - ) * domain64 / domain39; + ) * domain67 / domain42; tempvar total_sum = total_sum + constraint_coefficients[240] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j0. @@ -14736,7 +15333,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr319 + diluted_pool_column_row_expr319 ) - ) / domain39; + ) / domain42; tempvar total_sum = total_sum + constraint_coefficients[241] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n0. @@ -14748,7 +15345,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr321 + diluted_pool_column_row_expr321 ) - ) * domain64 / domain39; + ) * domain67 / domain42; tempvar total_sum = total_sum + constraint_coefficients[242] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n1. @@ -14760,7 +15357,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr324 + diluted_pool_column_row_expr324 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[243] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n0. @@ -14772,7 +15369,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr326 + diluted_pool_column_row_expr326 ) - ) / domain67; + ) / domain70; tempvar total_sum = total_sum + constraint_coefficients[244] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n1. @@ -14784,7 +15381,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr329 + diluted_pool_column_row_expr329 ) - ) * domain69 / domain39; + ) * domain72 / domain42; tempvar total_sum = total_sum + constraint_coefficients[245] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n0. @@ -14796,7 +15393,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr331 + diluted_pool_column_row_expr331 ) - ) * domain95 / domain39; + ) * domain98 / domain42; tempvar total_sum = total_sum + constraint_coefficients[246] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n1. @@ -14808,7 +15405,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr334 + diluted_pool_column_row_expr334 ) - ) / domain124; + ) / domain127; tempvar total_sum = total_sum + constraint_coefficients[247] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n0. @@ -14820,7 +15417,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr336 + diluted_pool_column_row_expr336 ) - ) * domain94 / domain39; + ) * domain97 / domain42; tempvar total_sum = total_sum + constraint_coefficients[248] * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n1. @@ -14832,7 +15429,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr339 + diluted_pool_column_row_expr339 ) - ) / domain123; + ) / domain126; tempvar total_sum = total_sum + constraint_coefficients[249] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n0. @@ -14844,7 +15441,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr341 + diluted_pool_column_row_expr341 ) - ) / domain124; + ) / domain127; tempvar total_sum = total_sum + constraint_coefficients[250] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n1. @@ -14856,7 +15453,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr344 + diluted_pool_column_row_expr344 ) - ) * domain95 / domain39; + ) * domain98 / domain42; tempvar total_sum = total_sum + constraint_coefficients[251] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n0. @@ -14868,7 +15465,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr346 + diluted_pool_column_row_expr346 ) - ) / domain117; + ) / domain120; tempvar total_sum = total_sum + constraint_coefficients[252] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n1. @@ -14880,7 +15477,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr349 + diluted_pool_column_row_expr349 ) - ) * domain88 / domain39; + ) * domain91 / domain42; tempvar total_sum = total_sum + constraint_coefficients[253] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n0. @@ -14892,7 +15489,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr351 + diluted_pool_column_row_expr351 ) - ) * domain73 / domain39; + ) * domain76 / domain42; tempvar total_sum = total_sum + constraint_coefficients[254] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n1. @@ -14904,7 +15501,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr354 + diluted_pool_column_row_expr354 ) - ) / domain100; + ) / domain103; tempvar total_sum = total_sum + constraint_coefficients[255] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n0. @@ -14916,7 +15513,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr356 + diluted_pool_column_row_expr356 ) - ) / domain127; + ) / domain130; tempvar total_sum = total_sum + constraint_coefficients[256] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n1. @@ -14928,7 +15525,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr359 + diluted_pool_column_row_expr359 ) - ) / domain127; + ) / domain130; tempvar total_sum = total_sum + constraint_coefficients[257] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n2. @@ -14940,7 +15537,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr362 + diluted_pool_column_row_expr362 ) - ) / domain127; + ) / domain130; tempvar total_sum = total_sum + constraint_coefficients[258] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n3. @@ -14952,7 +15549,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr365 + diluted_pool_column_row_expr365 ) - ) * domain130 / domain38; + ) * domain133 / domain41; tempvar total_sum = total_sum + constraint_coefficients[259] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n4. @@ -14964,7 +15561,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr368 + diluted_pool_column_row_expr368 ) - ) * domain130 / domain38; + ) * domain133 / domain41; tempvar total_sum = total_sum + constraint_coefficients[260] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n5. @@ -14976,7 +15573,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr371 + diluted_pool_column_row_expr371 ) - ) * domain130 / domain38; + ) * domain133 / domain41; tempvar total_sum = total_sum + constraint_coefficients[261] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n0. @@ -14988,7 +15585,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr373 + diluted_pool_column_row_expr373 ) - ) * domain88 / domain39; + ) * domain91 / domain42; tempvar total_sum = total_sum + constraint_coefficients[262] * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n1. @@ -15000,7 +15597,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr376 + diluted_pool_column_row_expr376 ) - ) / domain117; + ) / domain120; tempvar total_sum = total_sum + constraint_coefficients[263] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n0. @@ -15012,7 +15609,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr378 + diluted_pool_column_row_expr378 ) - ) * domain131 / domain39; + ) * domain134 / domain42; tempvar total_sum = total_sum + constraint_coefficients[264] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n1. @@ -15024,7 +15621,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr381 + diluted_pool_column_row_expr381 ) - ) / domain132; + ) / domain135; tempvar total_sum = total_sum + constraint_coefficients[265] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n0. @@ -15036,7 +15633,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr383 + diluted_pool_column_row_expr383 ) - ) * domain78 / domain39; + ) * domain81 / domain42; tempvar total_sum = total_sum + constraint_coefficients[266] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n1. @@ -15048,7 +15645,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr386 + diluted_pool_column_row_expr386 ) - ) / domain106; + ) / domain109; tempvar total_sum = total_sum + constraint_coefficients[267] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n0. @@ -15060,7 +15657,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr388 + diluted_pool_column_row_expr388 ) - ) / domain119; + ) / domain122; tempvar total_sum = total_sum + constraint_coefficients[268] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n1. @@ -15072,7 +15669,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr391 + diluted_pool_column_row_expr391 ) - ) * domain90 / domain39; + ) * domain93 / domain42; tempvar total_sum = total_sum + constraint_coefficients[269] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n0. @@ -15084,7 +15681,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr393 + diluted_pool_column_row_expr393 ) - ) * domain93 / domain39; + ) * domain96 / domain42; tempvar total_sum = total_sum + constraint_coefficients[270] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n1. @@ -15096,7 +15693,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr396 + diluted_pool_column_row_expr396 ) - ) / domain122; + ) / domain125; tempvar total_sum = total_sum + constraint_coefficients[271] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n0. @@ -15108,7 +15705,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr398 + diluted_pool_column_row_expr398 ) - ) / domain134; + ) / domain137; tempvar total_sum = total_sum + constraint_coefficients[272] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n1. @@ -15120,7 +15717,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr401 + diluted_pool_column_row_expr401 ) - ) / domain134; + ) / domain137; tempvar total_sum = total_sum + constraint_coefficients[273] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n2. @@ -15132,7 +15729,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr404 + diluted_pool_column_row_expr404 ) - ) / domain134; + ) / domain137; tempvar total_sum = total_sum + constraint_coefficients[274] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n3. @@ -15144,7 +15741,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr407 + diluted_pool_column_row_expr407 ) - ) * domain136 / domain38; + ) * domain139 / domain41; tempvar total_sum = total_sum + constraint_coefficients[275] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n4. @@ -15156,7 +15753,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr410 + diluted_pool_column_row_expr410 ) - ) * domain136 / domain38; + ) * domain139 / domain41; tempvar total_sum = total_sum + constraint_coefficients[276] * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n5. @@ -15168,7 +15765,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr413 + diluted_pool_column_row_expr413 ) - ) * domain136 / domain38; + ) * domain139 / domain41; tempvar total_sum = total_sum + constraint_coefficients[277] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n0. @@ -15180,7 +15777,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr415 + diluted_pool_column_row_expr415 ) - ) / domain137; + ) / domain140; tempvar total_sum = total_sum + constraint_coefficients[278] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n1. @@ -15192,7 +15789,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr418 + diluted_pool_column_row_expr418 ) - ) / domain137; + ) / domain140; tempvar total_sum = total_sum + constraint_coefficients[279] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n2. @@ -15204,7 +15801,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr421 + diluted_pool_column_row_expr421 ) - ) / domain137; + ) / domain140; tempvar total_sum = total_sum + constraint_coefficients[280] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n3. @@ -15216,7 +15813,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr424 + diluted_pool_column_row_expr424 ) - ) * domain138 / domain38; + ) * domain141 / domain41; tempvar total_sum = total_sum + constraint_coefficients[281] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n4. @@ -15228,7 +15825,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr427 + diluted_pool_column_row_expr427 ) - ) * domain138 / domain38; + ) * domain141 / domain41; tempvar total_sum = total_sum + constraint_coefficients[282] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n5. @@ -15240,7 +15837,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr430 + diluted_pool_column_row_expr430 ) - ) * domain138 / domain38; + ) * domain141 / domain41; tempvar total_sum = total_sum + constraint_coefficients[283] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n0. @@ -15252,7 +15849,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr432 + diluted_pool_column_row_expr432 ) - ) / domain139; + ) / domain142; tempvar total_sum = total_sum + constraint_coefficients[284] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n1. @@ -15264,7 +15861,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr435 + diluted_pool_column_row_expr435 ) - ) * domain140 / domain39; + ) * domain143 / domain42; tempvar total_sum = total_sum + constraint_coefficients[285] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n0. @@ -15276,7 +15873,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr437 + diluted_pool_column_row_expr437 ) - ) * domain141 / domain39; + ) * domain144 / domain42; tempvar total_sum = total_sum + constraint_coefficients[286] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n1. @@ -15288,7 +15885,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr440 + diluted_pool_column_row_expr440 ) - ) / domain142; + ) / domain145; tempvar total_sum = total_sum + constraint_coefficients[287] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n0. @@ -15300,7 +15897,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr442 + diluted_pool_column_row_expr442 ) - ) * domain90 / domain39; + ) * domain93 / domain42; tempvar total_sum = total_sum + constraint_coefficients[288] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n1. @@ -15312,7 +15909,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr445 + diluted_pool_column_row_expr445 ) - ) / domain119; + ) / domain122; tempvar total_sum = total_sum + constraint_coefficients[289] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n0. @@ -15324,7 +15921,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr447 + diluted_pool_column_row_expr447 ) - ) * domain143 / domain39; + ) * domain146 / domain42; tempvar total_sum = total_sum + constraint_coefficients[290] * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n1. @@ -15336,7 +15933,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr450 + diluted_pool_column_row_expr450 ) - ) / domain144; + ) / domain147; tempvar total_sum = total_sum + constraint_coefficients[291] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n0. @@ -15348,7 +15945,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr452 + diluted_pool_column_row_expr452 ) - ) * domain145 / domain39; + ) * domain148 / domain42; tempvar total_sum = total_sum + constraint_coefficients[292] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n1. @@ -15360,7 +15957,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr455 + diluted_pool_column_row_expr455 ) - ) / domain146; + ) / domain149; tempvar total_sum = total_sum + constraint_coefficients[293] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n0. @@ -15372,7 +15969,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr457 + diluted_pool_column_row_expr457 ) - ) * domain128 / domain38; + ) * domain131 / domain41; tempvar total_sum = total_sum + constraint_coefficients[294] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n1. @@ -15384,7 +15981,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr460 + diluted_pool_column_row_expr460 ) - ) * domain128 / domain38; + ) * domain131 / domain41; tempvar total_sum = total_sum + constraint_coefficients[295] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n2. @@ -15396,7 +15993,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr463 + diluted_pool_column_row_expr463 ) - ) * domain128 / domain38; + ) * domain131 / domain41; tempvar total_sum = total_sum + constraint_coefficients[296] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n3. @@ -15408,7 +16005,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr466 + diluted_pool_column_row_expr466 ) - ) / domain125; + ) / domain128; tempvar total_sum = total_sum + constraint_coefficients[297] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n4. @@ -15420,7 +16017,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr469 + diluted_pool_column_row_expr469 ) - ) / domain125; + ) / domain128; tempvar total_sum = total_sum + constraint_coefficients[298] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n5. @@ -15432,7 +16029,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr472 + diluted_pool_column_row_expr472 ) - ) / domain125; + ) / domain128; tempvar total_sum = total_sum + constraint_coefficients[299] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n0. @@ -15444,7 +16041,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr474 + diluted_pool_column_row_expr474 ) - ) / domain132; + ) / domain135; tempvar total_sum = total_sum + constraint_coefficients[300] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n1. @@ -15456,7 +16053,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr477 + diluted_pool_column_row_expr477 ) - ) * domain131 / domain39; + ) * domain134 / domain42; tempvar total_sum = total_sum + constraint_coefficients[301] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n0. @@ -15468,7 +16065,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr479 + diluted_pool_column_row_expr479 ) - ) / domain144; + ) / domain147; tempvar total_sum = total_sum + constraint_coefficients[302] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n1. @@ -15480,7 +16077,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr482 + diluted_pool_column_row_expr482 ) - ) * domain143 / domain39; + ) * domain146 / domain42; tempvar total_sum = total_sum + constraint_coefficients[303] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n0. @@ -15492,7 +16089,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr484 + diluted_pool_column_row_expr484 ) - ) * domain147 / domain39; + ) * domain150 / domain42; tempvar total_sum = total_sum + constraint_coefficients[304] * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n1. @@ -15504,7 +16101,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr487 + diluted_pool_column_row_expr487 ) - ) / domain148; + ) / domain151; tempvar total_sum = total_sum + constraint_coefficients[305] * value; // Constraint: keccak/keccak/chi_iota0. @@ -15520,7 +16117,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr489 + diluted_pool_column_row_expr490 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[306] * value; // Constraint: keccak/keccak/chi_iota1. @@ -15536,7 +16133,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr494 + diluted_pool_column_row_expr495 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[307] * value; // Constraint: keccak/keccak/chi_iota3. @@ -15552,7 +16149,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr499 + diluted_pool_column_row_expr500 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[308] * value; // Constraint: keccak/keccak/chi_iota7. @@ -15568,7 +16165,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr504 + diluted_pool_column_row_expr505 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[309] * value; // Constraint: keccak/keccak/chi_iota15. @@ -15584,7 +16181,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr509 + diluted_pool_column_row_expr510 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[310] * value; // Constraint: keccak/keccak/chi_iota31. @@ -15600,7 +16197,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr514 + diluted_pool_column_row_expr515 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[311] * value; // Constraint: keccak/keccak/chi_iota63. @@ -15616,7 +16213,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr519 + diluted_pool_column_row_expr520 * 4 ) - ) / domain47; + ) / domain50; tempvar total_sum = total_sum + constraint_coefficients[312] * value; // Constraint: keccak/keccak/chi0. @@ -15631,7 +16228,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr489 + diluted_pool_column_row_expr490 * 4 ) - ) * domain149 / domain41; + ) * domain152 / domain44; tempvar total_sum = total_sum + constraint_coefficients[313] * value; // Constraint: keccak/keccak/chi1. @@ -15646,7 +16243,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr522 + diluted_pool_column_row_expr523 * 4 ) - ) / domain40; + ) / domain43; tempvar total_sum = total_sum + constraint_coefficients[314] * value; // Constraint: keccak/keccak/chi2. @@ -15661,7 +16258,7 @@ func eval_composition_polynomial{range_check_ptr}( diluted_pool_column_row_expr525 + diluted_pool_column_row_expr526 * 4 ) - ) / domain40; + ) / domain43; tempvar total_sum = total_sum + constraint_coefficients[315] * value; tempvar range_check_ptr = range_check_ptr; @@ -15672,37 +16269,37 @@ func eval_composition_polynomial{range_check_ptr}( if (uses_poseidon_builtin != 0) { // Constraint: poseidon/param_0/init_input_output_addr. tempvar value = (mem_pool__addr_column_row_expr527 - global_values.initial_poseidon_addr) / - domain170; + domain176; tempvar total_sum = total_sum + constraint_coefficients[316] * value; // Constraint: poseidon/param_0/addr_input_output_step. tempvar value = ( mem_pool__addr_column_row_expr528 - (mem_pool__addr_column_row_expr527 + 3) - ) * domain171 / domain163; + ) * domain177 / domain169; tempvar total_sum = total_sum + constraint_coefficients[317] * value; // Constraint: poseidon/param_1/init_input_output_addr. tempvar value = ( mem_pool__addr_column_row_expr529 - (global_values.initial_poseidon_addr + 1) - ) / domain170; + ) / domain176; tempvar total_sum = total_sum + constraint_coefficients[318] * value; // Constraint: poseidon/param_1/addr_input_output_step. tempvar value = ( mem_pool__addr_column_row_expr530 - (mem_pool__addr_column_row_expr529 + 3) - ) * domain171 / domain163; + ) * domain177 / domain169; tempvar total_sum = total_sum + constraint_coefficients[319] * value; // Constraint: poseidon/param_2/init_input_output_addr. tempvar value = ( mem_pool__addr_column_row_expr531 - (global_values.initial_poseidon_addr + 2) - ) / domain170; + ) / domain176; tempvar total_sum = total_sum + constraint_coefficients[320] * value; // Constraint: poseidon/param_2/addr_input_output_step. tempvar value = ( mem_pool__addr_column_row_expr532 - (mem_pool__addr_column_row_expr531 + 3) - ) * domain171 / domain163; + ) * domain177 / domain169; tempvar total_sum = total_sum + constraint_coefficients[321] * value; // Constraint: poseidon/poseidon/full_rounds_state0_squaring. @@ -15710,7 +16307,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state0_column_row_expr533 * poseidon__poseidon__full_rounds_state0_column_row_expr533 - poseidon__poseidon__full_rounds_state0_squared_column_row_expr534 - ) / domain162; + ) / domain168; tempvar total_sum = total_sum + constraint_coefficients[322] * value; // Constraint: poseidon/poseidon/full_rounds_state1_squaring. @@ -15718,7 +16315,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state1_column_row_expr535 * poseidon__poseidon__full_rounds_state1_column_row_expr535 - poseidon__poseidon__full_rounds_state1_squared_column_row_expr536 - ) / domain162; + ) / domain168; tempvar total_sum = total_sum + constraint_coefficients[323] * value; // Constraint: poseidon/poseidon/full_rounds_state2_squaring. @@ -15726,7 +16323,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state2_column_row_expr537 * poseidon__poseidon__full_rounds_state2_column_row_expr537 - poseidon__poseidon__full_rounds_state2_squared_column_row_expr538 - ) / domain162; + ) / domain168; tempvar total_sum = total_sum + constraint_coefficients[324] * value; // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. @@ -15734,7 +16331,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state0_column_row_expr539 * poseidon__poseidon__partial_rounds_state0_column_row_expr539 - poseidon__poseidon__partial_rounds_state0_squared_column_row_expr540 - ) / domain160; + ) / domain166; tempvar total_sum = total_sum + constraint_coefficients[325] * value; // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. @@ -15742,7 +16339,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state1_column_row_expr541 * poseidon__poseidon__partial_rounds_state1_column_row_expr541 - poseidon__poseidon__partial_rounds_state1_squared_column_row_expr542 - ) * domain166 / domain161; + ) * domain172 / domain167; tempvar total_sum = total_sum + constraint_coefficients[326] * value; // Constraint: poseidon/poseidon/add_first_round_key0. @@ -15750,7 +16347,7 @@ func eval_composition_polynomial{range_check_ptr}( mem_pool__value_column_row_expr543 + 2950795762459345168613727575620414179244544320470208355568817838579231751791 - poseidon__poseidon__full_rounds_state0_column_row_expr533 - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[327] * value; // Constraint: poseidon/poseidon/add_first_round_key1. @@ -15758,7 +16355,7 @@ func eval_composition_polynomial{range_check_ptr}( mem_pool__value_column_row_expr544 + 1587446564224215276866294500450702039420286416111469274423465069420553242820 - poseidon__poseidon__full_rounds_state1_column_row_expr535 - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[328] * value; // Constraint: poseidon/poseidon/add_first_round_key2. @@ -15766,7 +16363,7 @@ func eval_composition_polynomial{range_check_ptr}( mem_pool__value_column_row_expr545 + 1645965921169490687904413452218868659025437693527479459426157555728339600137 - poseidon__poseidon__full_rounds_state2_column_row_expr537 - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[329] * value; // Constraint: poseidon/poseidon/full_round0. @@ -15780,7 +16377,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state2_cubed_0 + global_values.poseidon__poseidon__full_round_key0 ) - ) * domain164 / domain162; + ) * domain170 / domain168; tempvar total_sum = total_sum + constraint_coefficients[330] * value; // Constraint: poseidon/poseidon/full_round1. @@ -15792,7 +16389,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state2_cubed_0 + global_values.poseidon__poseidon__full_round_key1 ) - ) * domain164 / domain162; + ) * domain170 / domain168; tempvar total_sum = total_sum + constraint_coefficients[331] * value; // Constraint: poseidon/poseidon/full_round2. @@ -15805,7 +16402,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state1_cubed_0 + global_values.poseidon__poseidon__full_round_key2 ) - ) * domain164 / domain162; + ) * domain170 / domain168; tempvar total_sum = total_sum + constraint_coefficients[332] * value; // Constraint: poseidon/poseidon/last_full_round0. @@ -15818,7 +16415,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state1_cubed_7 + poseidon__poseidon__full_rounds_state2_cubed_7 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[333] * value; // Constraint: poseidon/poseidon/last_full_round1. @@ -15829,7 +16426,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state0_cubed_7 + poseidon__poseidon__full_rounds_state2_cubed_7 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[334] * value; // Constraint: poseidon/poseidon/last_full_round2. @@ -15841,28 +16438,28 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state0_cubed_7 + poseidon__poseidon__full_rounds_state1_cubed_7 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[335] * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. tempvar value = ( poseidon__poseidon__partial_rounds_state0_column_row_expr552 - poseidon__poseidon__partial_rounds_state1_column_row_expr541 - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[336] * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. tempvar value = ( poseidon__poseidon__partial_rounds_state0_column_row_expr553 - poseidon__poseidon__partial_rounds_state1_column_row_expr554 - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[337] * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. tempvar value = ( poseidon__poseidon__partial_rounds_state0_column_row_expr555 - poseidon__poseidon__partial_rounds_state1_column_row_expr556 - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[338] * value; // Constraint: poseidon/poseidon/margin_full_to_partial0. @@ -15875,7 +16472,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__full_rounds_state1_cubed_3 + 2121140748740143694053732746913428481442990369183417228688865837805149503386 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[339] * value; // Constraint: poseidon/poseidon/margin_full_to_partial1. @@ -15890,7 +16487,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state0_cubed_0 + 2006642341318481906727563724340978325665491359415674592697055778067937914672 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[340] * value; // Constraint: poseidon/poseidon/margin_full_to_partial2. @@ -15906,7 +16503,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state0_cubed_1 + 427751140904099001132521606468025610873158555767197326325930641757709538586 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[341] * value; // Constraint: poseidon/poseidon/partial_round0. @@ -15922,7 +16519,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state0_cubed_2 + global_values.poseidon__poseidon__partial_round_key0 ) - ) * domain168 / domain160; + ) * domain174 / domain166; tempvar total_sum = total_sum + constraint_coefficients[342] * value; // Constraint: poseidon/poseidon/partial_round1. @@ -15938,7 +16535,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state1_cubed_2 + global_values.poseidon__poseidon__partial_round_key1 ) - ) * domain169 / domain161; + ) * domain175 / domain167; tempvar total_sum = total_sum + constraint_coefficients[343] * value; // Constraint: poseidon/poseidon/margin_partial_to_full0. @@ -15952,7 +16549,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state1_cubed_21 + 560279373700919169769089400651532183647886248799764942664266404650165812023 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[344] * value; // Constraint: poseidon/poseidon/margin_partial_to_full1. @@ -15965,7 +16562,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state1_cubed_21 + 1401754474293352309994371631695783042590401941592571735921592823982231996415 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[345] * value; // Constraint: poseidon/poseidon/margin_partial_to_full2. @@ -15981,7 +16578,7 @@ func eval_composition_polynomial{range_check_ptr}( poseidon__poseidon__partial_rounds_state1_cubed_21 + 1246177936547655338400308396717835700699368047388302793172818304164989556526 ) - ) / domain167; + ) / domain173; tempvar total_sum = total_sum + constraint_coefficients[346] * value; tempvar range_check_ptr = range_check_ptr; @@ -15989,6 +16586,602 @@ func eval_composition_polynomial{range_check_ptr}( tempvar total_sum = total_sum; tempvar range_check_ptr = range_check_ptr; } + if (uses_range_check96_builtin != 0) { + // Constraint: range_check96_builtin/value. + tempvar value = (range_check96_builtin__value5_0 - mem_pool__value_column_row_expr566) / + domain178; + tempvar total_sum = total_sum + constraint_coefficients[347] * value; + + // Constraint: range_check96_builtin/addr_step. + tempvar value = ( + mem_pool__addr_column_row_expr567 - (mem_pool__addr_column_row_expr568 + 1) + ) * domain179 / domain178; + tempvar total_sum = total_sum + constraint_coefficients[348] * value; + + // Constraint: range_check96_builtin/init_addr. + tempvar value = ( + mem_pool__addr_column_row_expr568 - global_values.initial_range_check96_addr + ) / domain180; + tempvar total_sum = total_sum + constraint_coefficients[349] * value; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar total_sum = total_sum; + tempvar range_check_ptr = range_check_ptr; + } + if (uses_add_mod_builtin != 0) { + // Constraint: add_mod/init_p0_address. + tempvar value = ( + mem_pool__addr_column_row_expr569 - global_values.add_mod__initial_mod_addr + ) / domain13; + tempvar total_sum = total_sum + constraint_coefficients[350] * value; + + // Constraint: add_mod/step_p1_addr. + tempvar value = ( + mem_pool__addr_column_row_expr570 - (mem_pool__addr_column_row_expr569 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[351] * value; + + // Constraint: add_mod/step_p2_addr. + tempvar value = ( + mem_pool__addr_column_row_expr571 - (mem_pool__addr_column_row_expr570 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[352] * value; + + // Constraint: add_mod/step_p3_addr. + tempvar value = ( + mem_pool__addr_column_row_expr572 - (mem_pool__addr_column_row_expr571 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[353] * value; + + // Constraint: add_mod/step_values_ptr_addr. + tempvar value = ( + mem_pool__addr_column_row_expr573 - (mem_pool__addr_column_row_expr572 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[354] * value; + + // Constraint: add_mod/step_offsets_ptr_addr. + tempvar value = ( + mem_pool__addr_column_row_expr574 - (mem_pool__addr_column_row_expr573 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[355] * value; + + // Constraint: add_mod/step_n_addr. + tempvar value = ( + mem_pool__addr_column_row_expr575 - (mem_pool__addr_column_row_expr574 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[356] * value; + + // Constraint: add_mod/step_p0_addr. + tempvar value = ( + mem_pool__addr_column_row_expr576 - (mem_pool__addr_column_row_expr575 + 1) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[357] * value; + + // Constraint: add_mod/step_p0_value. + tempvar value = ( + (mem_pool__value_column_row_expr577 - mem_pool__value_column_row_expr578) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[358] * value; + + // Constraint: add_mod/step_p1_value. + tempvar value = ( + (mem_pool__value_column_row_expr580 - mem_pool__value_column_row_expr581) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[359] * value; + + // Constraint: add_mod/step_p2_value. + tempvar value = ( + (mem_pool__value_column_row_expr582 - mem_pool__value_column_row_expr583) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[360] * value; + + // Constraint: add_mod/step_p3_value. + tempvar value = ( + (mem_pool__value_column_row_expr584 - mem_pool__value_column_row_expr585) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[361] * value; + + // Constraint: add_mod/step_values_ptr_value. + tempvar value = ( + (mem_pool__value_column_row_expr586 - mem_pool__value_column_row_expr587) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[362] * value; + + // Constraint: add_mod/step_offsets_ptr_value. + tempvar value = ( + (mem_pool__value_column_row_expr588 - (mem_pool__value_column_row_expr589 + 3)) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[363] * value; + + // Constraint: add_mod/step_n_value. + tempvar value = ( + (mem_pool__value_column_row_expr590 + 1 - mem_pool__value_column_row_expr579) * ( + mem_pool__value_column_row_expr579 - 1 + ) + ) * domain14 / domain12; + tempvar total_sum = total_sum + constraint_coefficients[364] * value; + + // Constraint: add_mod/a_offset0. + tempvar value = (mem_pool__addr_column_row_expr591 - mem_pool__value_column_row_expr589) / + domain12; + tempvar total_sum = total_sum + constraint_coefficients[365] * value; + + // Constraint: add_mod/b_offset. + tempvar value = ( + mem_pool__addr_column_row_expr592 - (mem_pool__addr_column_row_expr591 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[366] * value; + + // Constraint: add_mod/c_offset. + tempvar value = ( + mem_pool__addr_column_row_expr593 - (mem_pool__addr_column_row_expr592 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[367] * value; + + // Constraint: add_mod/a0_value_ind0. + tempvar value = ( + mem_pool__addr_column_row_expr594 - + (mem_pool__value_column_row_expr595 + mem_pool__value_column_row_expr587) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[368] * value; + + // Constraint: add_mod/a1_value. + tempvar value = ( + mem_pool__addr_column_row_expr596 - (mem_pool__addr_column_row_expr594 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[369] * value; + + // Constraint: add_mod/a2_value. + tempvar value = ( + mem_pool__addr_column_row_expr597 - (mem_pool__addr_column_row_expr596 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[370] * value; + + // Constraint: add_mod/a3_value. + tempvar value = ( + mem_pool__addr_column_row_expr598 - (mem_pool__addr_column_row_expr597 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[371] * value; + + // Constraint: add_mod/b0_value_ind0. + tempvar value = ( + mem_pool__addr_column_row_expr599 - + (mem_pool__value_column_row_expr600 + mem_pool__value_column_row_expr587) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[372] * value; + + // Constraint: add_mod/b1_value. + tempvar value = ( + mem_pool__addr_column_row_expr601 - (mem_pool__addr_column_row_expr599 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[373] * value; + + // Constraint: add_mod/b2_value. + tempvar value = ( + mem_pool__addr_column_row_expr602 - (mem_pool__addr_column_row_expr601 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[374] * value; + + // Constraint: add_mod/b3_value. + tempvar value = ( + mem_pool__addr_column_row_expr603 - (mem_pool__addr_column_row_expr602 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[375] * value; + + // Constraint: add_mod/c0_value_ind0. + tempvar value = ( + mem_pool__addr_column_row_expr604 - + (mem_pool__value_column_row_expr605 + mem_pool__value_column_row_expr587) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[376] * value; + + // Constraint: add_mod/c1_value. + tempvar value = ( + mem_pool__addr_column_row_expr606 - (mem_pool__addr_column_row_expr604 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[377] * value; + + // Constraint: add_mod/c2_value. + tempvar value = ( + mem_pool__addr_column_row_expr607 - (mem_pool__addr_column_row_expr606 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[378] * value; + + // Constraint: add_mod/c3_value. + tempvar value = ( + mem_pool__addr_column_row_expr608 - (mem_pool__addr_column_row_expr607 + 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[379] * value; + + // Constraint: add_mod/sub_p_bit. + tempvar value = ( + add_mod__sub_p_bit_column_row_expr609 * (add_mod__sub_p_bit_column_row_expr609 - 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[380] * value; + + // Constraint: add_mod/carry1_bit. + tempvar value = ( + add_mod__carry1_bit_column_row_expr610 * (add_mod__carry1_bit_column_row_expr610 - 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[381] * value; + + // Constraint: add_mod/carry1_sign. + tempvar value = ( + add_mod__carry1_sign_column_row_expr611 * add_mod__carry1_sign_column_row_expr611 - 1 + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[382] * value; + + // Constraint: add_mod/carry2_bit. + tempvar value = ( + add_mod__carry2_bit_column_row_expr612 * (add_mod__carry2_bit_column_row_expr612 - 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[383] * value; + + // Constraint: add_mod/carry2_sign. + tempvar value = ( + add_mod__carry2_sign_column_row_expr613 * add_mod__carry2_sign_column_row_expr613 - 1 + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[384] * value; + + // Constraint: add_mod/carry3_bit. + tempvar value = ( + add_mod__carry3_bit_column_row_expr614 * (add_mod__carry3_bit_column_row_expr614 - 1) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[385] * value; + + // Constraint: add_mod/carry3_sign. + tempvar value = ( + add_mod__carry3_sign_column_row_expr615 * add_mod__carry3_sign_column_row_expr615 - 1 + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[386] * value; + + // Constraint: add_mod/addition_constraint_0. + tempvar value = ( + ( + mem_pool__value_column_row_expr616 + + ( + mem_pool__value_column_row_expr617 + + mem_pool__value_column_row_expr618 * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + mem_pool__value_column_row_expr619 + + ( + mem_pool__value_column_row_expr620 + + ( + mem_pool__value_column_row_expr621 + + mem_pool__value_column_row_expr622 * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + mem_pool__value_column_row_expr623 + + ( + ( + add_mod__carry2_bit_column_row_expr612 * + add_mod__carry2_sign_column_row_expr613 + + add_mod__carry3_bit_column_row_expr614 * + add_mod__carry3_sign_column_row_expr615 * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + add_mod__carry1_bit_column_row_expr610 * add_mod__carry1_sign_column_row_expr611 + ) * (global_values.add_mod__interaction_elm - 79228162514264337593543950336) - + ( + ( + mem_pool__value_column_row_expr624 + + ( + mem_pool__value_column_row_expr625 + + mem_pool__value_column_row_expr626 * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + mem_pool__value_column_row_expr627 + + ( + ( + mem_pool__value_column_row_expr581 + + ( + mem_pool__value_column_row_expr583 + + mem_pool__value_column_row_expr585 * + global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + ) * global_values.add_mod__interaction_elm + + mem_pool__value_column_row_expr578 + ) * add_mod__sub_p_bit_column_row_expr609 + ) + ) / domain12; + tempvar total_sum = total_sum + constraint_coefficients[387] * value; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar total_sum = total_sum; + tempvar range_check_ptr = range_check_ptr; + } + if (uses_mul_mod_builtin != 0) { + // Constraint: mul_mod/init_p0_address. + tempvar value = ( + mem_pool__addr_column_row_expr628 - global_values.mul_mod__initial_mod_addr + ) / domain156; + tempvar total_sum = total_sum + constraint_coefficients[388] * value; + + // Constraint: mul_mod/step_p1_addr. + tempvar value = ( + mem_pool__addr_column_row_expr629 - (mem_pool__addr_column_row_expr628 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[389] * value; + + // Constraint: mul_mod/step_p2_addr. + tempvar value = ( + mem_pool__addr_column_row_expr630 - (mem_pool__addr_column_row_expr629 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[390] * value; + + // Constraint: mul_mod/step_p3_addr. + tempvar value = ( + mem_pool__addr_column_row_expr631 - (mem_pool__addr_column_row_expr630 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[391] * value; + + // Constraint: mul_mod/step_values_ptr_addr. + tempvar value = ( + mem_pool__addr_column_row_expr632 - (mem_pool__addr_column_row_expr631 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[392] * value; + + // Constraint: mul_mod/step_offsets_ptr_addr. + tempvar value = ( + mem_pool__addr_column_row_expr633 - (mem_pool__addr_column_row_expr632 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[393] * value; + + // Constraint: mul_mod/step_n_addr. + tempvar value = ( + mem_pool__addr_column_row_expr634 - (mem_pool__addr_column_row_expr633 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[394] * value; + + // Constraint: mul_mod/step_p0_addr. + tempvar value = ( + mem_pool__addr_column_row_expr635 - (mem_pool__addr_column_row_expr634 + 1) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[395] * value; + + // Constraint: mul_mod/step_p0_value. + tempvar value = ( + (mem_pool__value_column_row_expr636 - mem_pool__value_column_row_expr637) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[396] * value; + + // Constraint: mul_mod/step_p1_value. + tempvar value = ( + (mem_pool__value_column_row_expr639 - mem_pool__value_column_row_expr640) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[397] * value; + + // Constraint: mul_mod/step_p2_value. + tempvar value = ( + (mem_pool__value_column_row_expr641 - mem_pool__value_column_row_expr642) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[398] * value; + + // Constraint: mul_mod/step_p3_value. + tempvar value = ( + (mem_pool__value_column_row_expr643 - mem_pool__value_column_row_expr644) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[399] * value; + + // Constraint: mul_mod/step_values_ptr_value. + tempvar value = ( + (mem_pool__value_column_row_expr645 - mem_pool__value_column_row_expr646) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[400] * value; + + // Constraint: mul_mod/step_offsets_ptr_value. + tempvar value = ( + (mem_pool__value_column_row_expr647 - (mem_pool__value_column_row_expr648 + 3)) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[401] * value; + + // Constraint: mul_mod/step_n_value. + tempvar value = ( + (mem_pool__value_column_row_expr649 + 1 - mem_pool__value_column_row_expr638) * ( + mem_pool__value_column_row_expr638 - 1 + ) + ) * domain157 / domain155; + tempvar total_sum = total_sum + constraint_coefficients[402] * value; + + // Constraint: mul_mod/a_offset0. + tempvar value = (mem_pool__addr_column_row_expr650 - mem_pool__value_column_row_expr648) / + domain155; + tempvar total_sum = total_sum + constraint_coefficients[403] * value; + + // Constraint: mul_mod/b_offset. + tempvar value = ( + mem_pool__addr_column_row_expr651 - (mem_pool__addr_column_row_expr650 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[404] * value; + + // Constraint: mul_mod/c_offset. + tempvar value = ( + mem_pool__addr_column_row_expr652 - (mem_pool__addr_column_row_expr651 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[405] * value; + + // Constraint: mul_mod/a0_value_ind0. + tempvar value = ( + mem_pool__addr_column_row_expr653 - + (mem_pool__value_column_row_expr654 + mem_pool__value_column_row_expr646) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[406] * value; + + // Constraint: mul_mod/a1_value. + tempvar value = ( + mem_pool__addr_column_row_expr655 - (mem_pool__addr_column_row_expr653 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[407] * value; + + // Constraint: mul_mod/a2_value. + tempvar value = ( + mem_pool__addr_column_row_expr656 - (mem_pool__addr_column_row_expr655 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[408] * value; + + // Constraint: mul_mod/a3_value. + tempvar value = ( + mem_pool__addr_column_row_expr657 - (mem_pool__addr_column_row_expr656 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[409] * value; + + // Constraint: mul_mod/b0_value_ind0. + tempvar value = ( + mem_pool__addr_column_row_expr658 - + (mem_pool__value_column_row_expr659 + mem_pool__value_column_row_expr646) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[410] * value; + + // Constraint: mul_mod/b1_value. + tempvar value = ( + mem_pool__addr_column_row_expr660 - (mem_pool__addr_column_row_expr658 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[411] * value; + + // Constraint: mul_mod/b2_value. + tempvar value = ( + mem_pool__addr_column_row_expr661 - (mem_pool__addr_column_row_expr660 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[412] * value; + + // Constraint: mul_mod/b3_value. + tempvar value = ( + mem_pool__addr_column_row_expr662 - (mem_pool__addr_column_row_expr661 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[413] * value; + + // Constraint: mul_mod/c0_value_ind0. + tempvar value = ( + mem_pool__addr_column_row_expr663 - + (mem_pool__value_column_row_expr664 + mem_pool__value_column_row_expr646) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[414] * value; + + // Constraint: mul_mod/c1_value. + tempvar value = ( + mem_pool__addr_column_row_expr665 - (mem_pool__addr_column_row_expr663 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[415] * value; + + // Constraint: mul_mod/c2_value. + tempvar value = ( + mem_pool__addr_column_row_expr666 - (mem_pool__addr_column_row_expr665 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[416] * value; + + // Constraint: mul_mod/c3_value. + tempvar value = ( + mem_pool__addr_column_row_expr667 - (mem_pool__addr_column_row_expr666 + 1) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[417] * value; + + // Constraint: mul_mod/multiplication_constraint_0. + tempvar value = ( + ( + ( + mem_pool__value_column_row_expr668 + + ( + mem_pool__value_column_row_expr669 + + mem_pool__value_column_row_expr670 * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + mem_pool__value_column_row_expr671 + ) * ( + ( + mem_pool__value_column_row_expr672 + + ( + mem_pool__value_column_row_expr673 + + mem_pool__value_column_row_expr674 * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + mem_pool__value_column_row_expr675 + ) + + ( + ( + mul_mod__carry1_0 + + ( + mul_mod__carry2_0 + + ( + mul_mod__carry3_0 + + ( + mul_mod__carry4_0 + + (mul_mod__carry5_0 - 316912650057057350374175801344) * + global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm - + 316912650057057350374175801344 + ) * global_values.mul_mod__interaction_elm + + mul_mod__carry0_0 - + 316912650057057350374175801344 + ) * (global_values.mul_mod__interaction_elm - 79228162514264337593543950336) - + ( + ( + mem_pool__value_column_row_expr676 + + ( + mem_pool__value_column_row_expr677 + + mem_pool__value_column_row_expr678 * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + mem_pool__value_column_row_expr679 + + ( + ( + mem_pool__value_column_row_expr640 + + ( + mem_pool__value_column_row_expr642 + + mem_pool__value_column_row_expr644 * + global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + mem_pool__value_column_row_expr637 + ) * ( + ( + mul_mod__p_multiplier1_0 + + ( + mul_mod__p_multiplier2_0 + + mul_mod__p_multiplier3_0 * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + ) * global_values.mul_mod__interaction_elm + + mul_mod__p_multiplier0_0 + ) + ) + ) / domain155; + tempvar total_sum = total_sum + constraint_coefficients[418] * value; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar total_sum = total_sum; + tempvar range_check_ptr = range_check_ptr; + } return (res=total_sum); } @@ -16006,6 +17199,43 @@ func eval_oods_polynomial{range_check_ptr}( // Fetch dynamic params. let layout = cast(self, DynamicLayout*); tempvar dynamic_params = cast(layout.dynamic_params, DynamicParams*); + local add_mod__a0_suboffset = dynamic_params.add_mod__a0_suboffset; + local add_mod__a1_suboffset = dynamic_params.add_mod__a1_suboffset; + local add_mod__a2_suboffset = dynamic_params.add_mod__a2_suboffset; + local add_mod__a3_suboffset = dynamic_params.add_mod__a3_suboffset; + local add_mod__a_offset_suboffset = dynamic_params.add_mod__a_offset_suboffset; + local add_mod__b0_suboffset = dynamic_params.add_mod__b0_suboffset; + local add_mod__b1_suboffset = dynamic_params.add_mod__b1_suboffset; + local add_mod__b2_suboffset = dynamic_params.add_mod__b2_suboffset; + local add_mod__b3_suboffset = dynamic_params.add_mod__b3_suboffset; + local add_mod__b_offset_suboffset = dynamic_params.add_mod__b_offset_suboffset; + local add_mod__c0_suboffset = dynamic_params.add_mod__c0_suboffset; + local add_mod__c1_suboffset = dynamic_params.add_mod__c1_suboffset; + local add_mod__c2_suboffset = dynamic_params.add_mod__c2_suboffset; + local add_mod__c3_suboffset = dynamic_params.add_mod__c3_suboffset; + local add_mod__c_offset_suboffset = dynamic_params.add_mod__c_offset_suboffset; + local add_mod__carry1_bit_column = dynamic_params.add_mod__carry1_bit_column; + local add_mod__carry1_bit_offset = dynamic_params.add_mod__carry1_bit_offset; + local add_mod__carry1_sign_column = dynamic_params.add_mod__carry1_sign_column; + local add_mod__carry1_sign_offset = dynamic_params.add_mod__carry1_sign_offset; + local add_mod__carry2_bit_column = dynamic_params.add_mod__carry2_bit_column; + local add_mod__carry2_bit_offset = dynamic_params.add_mod__carry2_bit_offset; + local add_mod__carry2_sign_column = dynamic_params.add_mod__carry2_sign_column; + local add_mod__carry2_sign_offset = dynamic_params.add_mod__carry2_sign_offset; + local add_mod__carry3_bit_column = dynamic_params.add_mod__carry3_bit_column; + local add_mod__carry3_bit_offset = dynamic_params.add_mod__carry3_bit_offset; + local add_mod__carry3_sign_column = dynamic_params.add_mod__carry3_sign_column; + local add_mod__carry3_sign_offset = dynamic_params.add_mod__carry3_sign_offset; + local add_mod__n_suboffset = dynamic_params.add_mod__n_suboffset; + local add_mod__offsets_ptr_suboffset = dynamic_params.add_mod__offsets_ptr_suboffset; + local add_mod__p0_suboffset = dynamic_params.add_mod__p0_suboffset; + local add_mod__p1_suboffset = dynamic_params.add_mod__p1_suboffset; + local add_mod__p2_suboffset = dynamic_params.add_mod__p2_suboffset; + local add_mod__p3_suboffset = dynamic_params.add_mod__p3_suboffset; + local add_mod__row_ratio = dynamic_params.add_mod__row_ratio; + local add_mod__sub_p_bit_column = dynamic_params.add_mod__sub_p_bit_column; + local add_mod__sub_p_bit_offset = dynamic_params.add_mod__sub_p_bit_offset; + local add_mod__values_ptr_suboffset = dynamic_params.add_mod__values_ptr_suboffset; local bitwise__diluted_var_pool_suboffset = dynamic_params.bitwise__diluted_var_pool_suboffset; local bitwise__row_ratio = dynamic_params.bitwise__row_ratio; local bitwise__trim_unpacking192_suboffset = dynamic_params.bitwise__trim_unpacking192_suboffset; @@ -16149,6 +17379,95 @@ func eval_oods_polynomial{range_check_ptr}( local memory__sorted__value_column = dynamic_params.memory__sorted__value_column; local memory__sorted__value_offset = dynamic_params.memory__sorted__value_offset; local memory_units_row_ratio = dynamic_params.memory_units_row_ratio; + local mul_mod__a0_suboffset = dynamic_params.mul_mod__a0_suboffset; + local mul_mod__a1_suboffset = dynamic_params.mul_mod__a1_suboffset; + local mul_mod__a2_suboffset = dynamic_params.mul_mod__a2_suboffset; + local mul_mod__a3_suboffset = dynamic_params.mul_mod__a3_suboffset; + local mul_mod__a_offset_suboffset = dynamic_params.mul_mod__a_offset_suboffset; + local mul_mod__b0_suboffset = dynamic_params.mul_mod__b0_suboffset; + local mul_mod__b1_suboffset = dynamic_params.mul_mod__b1_suboffset; + local mul_mod__b2_suboffset = dynamic_params.mul_mod__b2_suboffset; + local mul_mod__b3_suboffset = dynamic_params.mul_mod__b3_suboffset; + local mul_mod__b_offset_suboffset = dynamic_params.mul_mod__b_offset_suboffset; + local mul_mod__c0_suboffset = dynamic_params.mul_mod__c0_suboffset; + local mul_mod__c1_suboffset = dynamic_params.mul_mod__c1_suboffset; + local mul_mod__c2_suboffset = dynamic_params.mul_mod__c2_suboffset; + local mul_mod__c3_suboffset = dynamic_params.mul_mod__c3_suboffset; + local mul_mod__c_offset_suboffset = dynamic_params.mul_mod__c_offset_suboffset; + local mul_mod__carry0__part0_suboffset = dynamic_params.mul_mod__carry0__part0_suboffset; + local mul_mod__carry0__part1_suboffset = dynamic_params.mul_mod__carry0__part1_suboffset; + local mul_mod__carry0__part2_suboffset = dynamic_params.mul_mod__carry0__part2_suboffset; + local mul_mod__carry0__part3_suboffset = dynamic_params.mul_mod__carry0__part3_suboffset; + local mul_mod__carry0__part4_suboffset = dynamic_params.mul_mod__carry0__part4_suboffset; + local mul_mod__carry0__part5_suboffset = dynamic_params.mul_mod__carry0__part5_suboffset; + local mul_mod__carry0__part6_suboffset = dynamic_params.mul_mod__carry0__part6_suboffset; + local mul_mod__carry1__part0_suboffset = dynamic_params.mul_mod__carry1__part0_suboffset; + local mul_mod__carry1__part1_suboffset = dynamic_params.mul_mod__carry1__part1_suboffset; + local mul_mod__carry1__part2_suboffset = dynamic_params.mul_mod__carry1__part2_suboffset; + local mul_mod__carry1__part3_suboffset = dynamic_params.mul_mod__carry1__part3_suboffset; + local mul_mod__carry1__part4_suboffset = dynamic_params.mul_mod__carry1__part4_suboffset; + local mul_mod__carry1__part5_suboffset = dynamic_params.mul_mod__carry1__part5_suboffset; + local mul_mod__carry1__part6_suboffset = dynamic_params.mul_mod__carry1__part6_suboffset; + local mul_mod__carry2__part0_suboffset = dynamic_params.mul_mod__carry2__part0_suboffset; + local mul_mod__carry2__part1_suboffset = dynamic_params.mul_mod__carry2__part1_suboffset; + local mul_mod__carry2__part2_suboffset = dynamic_params.mul_mod__carry2__part2_suboffset; + local mul_mod__carry2__part3_suboffset = dynamic_params.mul_mod__carry2__part3_suboffset; + local mul_mod__carry2__part4_suboffset = dynamic_params.mul_mod__carry2__part4_suboffset; + local mul_mod__carry2__part5_suboffset = dynamic_params.mul_mod__carry2__part5_suboffset; + local mul_mod__carry2__part6_suboffset = dynamic_params.mul_mod__carry2__part6_suboffset; + local mul_mod__carry3__part0_suboffset = dynamic_params.mul_mod__carry3__part0_suboffset; + local mul_mod__carry3__part1_suboffset = dynamic_params.mul_mod__carry3__part1_suboffset; + local mul_mod__carry3__part2_suboffset = dynamic_params.mul_mod__carry3__part2_suboffset; + local mul_mod__carry3__part3_suboffset = dynamic_params.mul_mod__carry3__part3_suboffset; + local mul_mod__carry3__part4_suboffset = dynamic_params.mul_mod__carry3__part4_suboffset; + local mul_mod__carry3__part5_suboffset = dynamic_params.mul_mod__carry3__part5_suboffset; + local mul_mod__carry3__part6_suboffset = dynamic_params.mul_mod__carry3__part6_suboffset; + local mul_mod__carry4__part0_suboffset = dynamic_params.mul_mod__carry4__part0_suboffset; + local mul_mod__carry4__part1_suboffset = dynamic_params.mul_mod__carry4__part1_suboffset; + local mul_mod__carry4__part2_suboffset = dynamic_params.mul_mod__carry4__part2_suboffset; + local mul_mod__carry4__part3_suboffset = dynamic_params.mul_mod__carry4__part3_suboffset; + local mul_mod__carry4__part4_suboffset = dynamic_params.mul_mod__carry4__part4_suboffset; + local mul_mod__carry4__part5_suboffset = dynamic_params.mul_mod__carry4__part5_suboffset; + local mul_mod__carry4__part6_suboffset = dynamic_params.mul_mod__carry4__part6_suboffset; + local mul_mod__carry5__part0_suboffset = dynamic_params.mul_mod__carry5__part0_suboffset; + local mul_mod__carry5__part1_suboffset = dynamic_params.mul_mod__carry5__part1_suboffset; + local mul_mod__carry5__part2_suboffset = dynamic_params.mul_mod__carry5__part2_suboffset; + local mul_mod__carry5__part3_suboffset = dynamic_params.mul_mod__carry5__part3_suboffset; + local mul_mod__carry5__part4_suboffset = dynamic_params.mul_mod__carry5__part4_suboffset; + local mul_mod__carry5__part5_suboffset = dynamic_params.mul_mod__carry5__part5_suboffset; + local mul_mod__carry5__part6_suboffset = dynamic_params.mul_mod__carry5__part6_suboffset; + local mul_mod__n_suboffset = dynamic_params.mul_mod__n_suboffset; + local mul_mod__offsets_ptr_suboffset = dynamic_params.mul_mod__offsets_ptr_suboffset; + local mul_mod__p0_suboffset = dynamic_params.mul_mod__p0_suboffset; + local mul_mod__p1_suboffset = dynamic_params.mul_mod__p1_suboffset; + local mul_mod__p2_suboffset = dynamic_params.mul_mod__p2_suboffset; + local mul_mod__p3_suboffset = dynamic_params.mul_mod__p3_suboffset; + local mul_mod__p_multiplier0__part0_suboffset = dynamic_params.mul_mod__p_multiplier0__part0_suboffset; + local mul_mod__p_multiplier0__part1_suboffset = dynamic_params.mul_mod__p_multiplier0__part1_suboffset; + local mul_mod__p_multiplier0__part2_suboffset = dynamic_params.mul_mod__p_multiplier0__part2_suboffset; + local mul_mod__p_multiplier0__part3_suboffset = dynamic_params.mul_mod__p_multiplier0__part3_suboffset; + local mul_mod__p_multiplier0__part4_suboffset = dynamic_params.mul_mod__p_multiplier0__part4_suboffset; + local mul_mod__p_multiplier0__part5_suboffset = dynamic_params.mul_mod__p_multiplier0__part5_suboffset; + local mul_mod__p_multiplier1__part0_suboffset = dynamic_params.mul_mod__p_multiplier1__part0_suboffset; + local mul_mod__p_multiplier1__part1_suboffset = dynamic_params.mul_mod__p_multiplier1__part1_suboffset; + local mul_mod__p_multiplier1__part2_suboffset = dynamic_params.mul_mod__p_multiplier1__part2_suboffset; + local mul_mod__p_multiplier1__part3_suboffset = dynamic_params.mul_mod__p_multiplier1__part3_suboffset; + local mul_mod__p_multiplier1__part4_suboffset = dynamic_params.mul_mod__p_multiplier1__part4_suboffset; + local mul_mod__p_multiplier1__part5_suboffset = dynamic_params.mul_mod__p_multiplier1__part5_suboffset; + local mul_mod__p_multiplier2__part0_suboffset = dynamic_params.mul_mod__p_multiplier2__part0_suboffset; + local mul_mod__p_multiplier2__part1_suboffset = dynamic_params.mul_mod__p_multiplier2__part1_suboffset; + local mul_mod__p_multiplier2__part2_suboffset = dynamic_params.mul_mod__p_multiplier2__part2_suboffset; + local mul_mod__p_multiplier2__part3_suboffset = dynamic_params.mul_mod__p_multiplier2__part3_suboffset; + local mul_mod__p_multiplier2__part4_suboffset = dynamic_params.mul_mod__p_multiplier2__part4_suboffset; + local mul_mod__p_multiplier2__part5_suboffset = dynamic_params.mul_mod__p_multiplier2__part5_suboffset; + local mul_mod__p_multiplier3__part0_suboffset = dynamic_params.mul_mod__p_multiplier3__part0_suboffset; + local mul_mod__p_multiplier3__part1_suboffset = dynamic_params.mul_mod__p_multiplier3__part1_suboffset; + local mul_mod__p_multiplier3__part2_suboffset = dynamic_params.mul_mod__p_multiplier3__part2_suboffset; + local mul_mod__p_multiplier3__part3_suboffset = dynamic_params.mul_mod__p_multiplier3__part3_suboffset; + local mul_mod__p_multiplier3__part4_suboffset = dynamic_params.mul_mod__p_multiplier3__part4_suboffset; + local mul_mod__p_multiplier3__part5_suboffset = dynamic_params.mul_mod__p_multiplier3__part5_suboffset; + local mul_mod__row_ratio = dynamic_params.mul_mod__row_ratio; + local mul_mod__values_ptr_suboffset = dynamic_params.mul_mod__values_ptr_suboffset; local num_columns_first = dynamic_params.num_columns_first; local num_columns_second = dynamic_params.num_columns_second; local orig__public_memory_suboffset = dynamic_params.orig__public_memory_suboffset; @@ -16198,1863 +17517,2483 @@ func eval_oods_polynomial{range_check_ptr}( local range_check16__sorted_offset = dynamic_params.range_check16__sorted_offset; local range_check16_pool_column = dynamic_params.range_check16_pool_column; local range_check16_pool_offset = dynamic_params.range_check16_pool_offset; + local range_check96_builtin__inner_range_check0_suboffset = dynamic_params.range_check96_builtin__inner_range_check0_suboffset; + local range_check96_builtin__inner_range_check1_suboffset = dynamic_params.range_check96_builtin__inner_range_check1_suboffset; + local range_check96_builtin__inner_range_check2_suboffset = dynamic_params.range_check96_builtin__inner_range_check2_suboffset; + local range_check96_builtin__inner_range_check3_suboffset = dynamic_params.range_check96_builtin__inner_range_check3_suboffset; + local range_check96_builtin__inner_range_check4_suboffset = dynamic_params.range_check96_builtin__inner_range_check4_suboffset; + local range_check96_builtin__inner_range_check5_suboffset = dynamic_params.range_check96_builtin__inner_range_check5_suboffset; + local range_check96_builtin__mem_suboffset = dynamic_params.range_check96_builtin__mem_suboffset; + local range_check96_builtin_row_ratio = dynamic_params.range_check96_builtin_row_ratio; local range_check_builtin__inner_range_check_suboffset = dynamic_params.range_check_builtin__inner_range_check_suboffset; local range_check_builtin__mem_suboffset = dynamic_params.range_check_builtin__mem_suboffset; local range_check_builtin_row_ratio = dynamic_params.range_check_builtin_row_ratio; local range_check_units_row_ratio = dynamic_params.range_check_units_row_ratio; + local uses_add_mod_builtin = dynamic_params.uses_add_mod_builtin; local uses_bitwise_builtin = dynamic_params.uses_bitwise_builtin; local uses_ec_op_builtin = dynamic_params.uses_ec_op_builtin; local uses_ecdsa_builtin = dynamic_params.uses_ecdsa_builtin; local uses_keccak_builtin = dynamic_params.uses_keccak_builtin; + local uses_mul_mod_builtin = dynamic_params.uses_mul_mod_builtin; local uses_pedersen_builtin = dynamic_params.uses_pedersen_builtin; local uses_poseidon_builtin = dynamic_params.uses_poseidon_builtin; + local uses_range_check96_builtin = dynamic_params.uses_range_check96_builtin; local uses_range_check_builtin = dynamic_params.uses_range_check_builtin; // Compute powers. - let (local pow0) = pow(trace_generator, (safe_div(bitwise__row_ratio, 64))); - local pow1 = pow0 * pow0; // pow(trace_generator, (safe_div(bitwise__row_ratio, 32))). - local pow2 = pow0 * pow1; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 64))). - local pow3 = pow0 * pow2; // pow(trace_generator, (safe_div(bitwise__row_ratio, 16))). - local pow4 = pow0 * pow3; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 64))). - local pow5 = pow0 * pow4; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 32))). - local pow6 = pow0 * pow5; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 64))). - local pow7 = pow0 * pow6; // pow(trace_generator, (safe_div(bitwise__row_ratio, 8))). - local pow8 = pow0 * pow7; // pow(trace_generator, (safe_div((safe_mult(9, bitwise__row_ratio)), 64))). - local pow9 = pow0 * pow8; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 32))). - local pow10 = pow0 * pow9; // pow(trace_generator, (safe_div((safe_mult(11, bitwise__row_ratio)), 64))). - local pow11 = pow0 * pow10; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16))). - local pow12 = pow0 * pow11; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64))). - local pow13 = pow0 * pow12; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32))). - local pow14 = pow0 * pow13; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64))). - local pow15 = pow0 * pow14; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4))). - local pow16 = pow15 * pow15; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2))). - local pow17 = pow11 * pow16; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div(bitwise__row_ratio, 2))). - local pow18 = pow0 * pow17; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2))). - local pow19 = pow0 * pow18; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div(bitwise__row_ratio, 2))). - local pow20 = pow0 * pow19; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2))). - local pow21 = pow0 * pow20; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). - local pow22 = pow11 * pow21; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). - local pow23 = pow0 * pow22; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). - local pow24 = pow0 * pow23; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). - local pow25 = pow0 * pow24; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). - local pow26 = pow0 * pow25; // pow(trace_generator, bitwise__row_ratio). - let (local pow27) = pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 8))); - local pow28 = pow27 * pow27; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 4))). - local pow29 = pow27 * pow28; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 8))). - local pow30 = pow27 * pow29; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 2))). - local pow31 = pow27 * pow30; // pow(trace_generator, (safe_div((safe_mult(5, range_check_builtin_row_ratio)), 8))). - local pow32 = pow27 * pow31; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 4))). - local pow33 = pow27 * pow32; // pow(trace_generator, (safe_div((safe_mult(7, range_check_builtin_row_ratio)), 8))). - local pow34 = pow27 * pow33; // pow(trace_generator, range_check_builtin_row_ratio). - let (local pow35) = pow(trace_generator, (safe_div(poseidon__row_ratio, 64))); - let (local pow36) = pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8))); - local pow37 = pow35 * pow35; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32))). - local pow38 = pow35 * pow37; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 64))). - local pow39 = pow35 * pow38; // pow(trace_generator, (safe_div(poseidon__row_ratio, 16))). - local pow40 = pow37 * pow39; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 32))). - let (local pow41) = pow(trace_generator, (safe_div((safe_mult(61, poseidon__row_ratio)), 64))); - local pow42 = pow37 * pow40; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8))). - local pow43 = pow36 * pow42; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2))). - local pow44 = pow40 * pow43; // pow(trace_generator, (safe_div((safe_mult(19, poseidon__row_ratio)), 32))). - local pow45 = pow37 * pow44; // pow(trace_generator, (safe_div((safe_mult(5, poseidon__row_ratio)), 8))). - local pow46 = pow37 * pow45; // pow(trace_generator, (safe_div((safe_mult(21, poseidon__row_ratio)), 32))). - local pow47 = pow36 * pow43; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8))). - local pow48 = pow35 * pow41; // pow(trace_generator, (safe_div((safe_mult(31, poseidon__row_ratio)), 32))). - local pow49 = pow35 * pow48; // pow(trace_generator, (safe_div((safe_mult(63, poseidon__row_ratio)), 64))). + let (local pow0) = pow(trace_generator, mul_mod__row_ratio); + let (local pow1) = pow(trace_generator, add_mod__row_ratio); + let (local pow2) = pow(trace_generator, range_check96_builtin_row_ratio); + let (local pow3) = pow(trace_generator, (safe_div(bitwise__row_ratio, 64))); + local pow4 = pow3 * pow3; // pow(trace_generator, (safe_div(bitwise__row_ratio, 32))). + local pow5 = pow3 * pow4; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 64))). + local pow6 = pow3 * pow5; // pow(trace_generator, (safe_div(bitwise__row_ratio, 16))). + local pow7 = pow3 * pow6; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 64))). + local pow8 = pow3 * pow7; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 32))). + local pow9 = pow3 * pow8; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 64))). + local pow10 = pow3 * pow9; // pow(trace_generator, (safe_div(bitwise__row_ratio, 8))). + local pow11 = pow3 * pow10; // pow(trace_generator, (safe_div((safe_mult(9, bitwise__row_ratio)), 64))). + local pow12 = pow3 * pow11; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 32))). + local pow13 = pow3 * pow12; // pow(trace_generator, (safe_div((safe_mult(11, bitwise__row_ratio)), 64))). + local pow14 = pow3 * pow13; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16))). + local pow15 = pow3 * pow14; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64))). + local pow16 = pow3 * pow15; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32))). + local pow17 = pow3 * pow16; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64))). + local pow18 = pow3 * pow17; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4))). + local pow19 = pow18 * pow18; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2))). + local pow20 = pow14 * pow19; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div(bitwise__row_ratio, 2))). + local pow21 = pow3 * pow20; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2))). + local pow22 = pow3 * pow21; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div(bitwise__row_ratio, 2))). + local pow23 = pow3 * pow22; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2))). + local pow24 = pow3 * pow23; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). + local pow25 = pow14 * pow24; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). + local pow26 = pow3 * pow25; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). + local pow27 = pow3 * pow26; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). + local pow28 = pow3 * pow27; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4))). + local pow29 = pow3 * pow28; // pow(trace_generator, bitwise__row_ratio). + let (local pow30) = pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 8))); + local pow31 = pow30 * pow30; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 4))). + local pow32 = pow30 * pow31; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 8))). + local pow33 = pow30 * pow32; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 2))). + local pow34 = pow30 * pow33; // pow(trace_generator, (safe_div((safe_mult(5, range_check_builtin_row_ratio)), 8))). + local pow35 = pow30 * pow34; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 4))). + local pow36 = pow30 * pow35; // pow(trace_generator, (safe_div((safe_mult(7, range_check_builtin_row_ratio)), 8))). + local pow37 = pow30 * pow36; // pow(trace_generator, range_check_builtin_row_ratio). + let (local pow38) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part6_suboffset, range_check_units_row_ratio)) + ); + let (local pow39) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part5_suboffset, range_check_units_row_ratio)) + ); + let (local pow40) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part4_suboffset, range_check_units_row_ratio)) + ); + let (local pow41) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part3_suboffset, range_check_units_row_ratio)) + ); + let (local pow42) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part2_suboffset, range_check_units_row_ratio)) + ); + let (local pow43) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part1_suboffset, range_check_units_row_ratio)) + ); + let (local pow44) = pow( + trace_generator, (safe_mult(mul_mod__carry0__part0_suboffset, range_check_units_row_ratio)) + ); + let (local pow45) = pow( + trace_generator, (safe_mult(mul_mod__carry5__part6_suboffset, range_check_units_row_ratio)) + ); + let (local pow46) = pow( + trace_generator, (safe_mult(mul_mod__carry5__part5_suboffset, range_check_units_row_ratio)) + ); + let (local pow47) = pow( + trace_generator, (safe_mult(mul_mod__carry5__part4_suboffset, range_check_units_row_ratio)) + ); + let (local pow48) = pow( + trace_generator, (safe_mult(mul_mod__carry5__part3_suboffset, range_check_units_row_ratio)) + ); + let (local pow49) = pow( + trace_generator, (safe_mult(mul_mod__carry5__part2_suboffset, range_check_units_row_ratio)) + ); let (local pow50) = pow( - trace_generator, - (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry5__part1_suboffset, range_check_units_row_ratio)) + ); + let (local pow51) = pow( + trace_generator, (safe_mult(mul_mod__carry5__part0_suboffset, range_check_units_row_ratio)) ); - local pow51 = pow43 * pow50; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio))). let (local pow52) = pow( - trace_generator, - (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry4__part6_suboffset, range_check_units_row_ratio)) + ); + let (local pow53) = pow( + trace_generator, (safe_mult(mul_mod__carry4__part5_suboffset, range_check_units_row_ratio)) ); - local pow53 = pow43 * pow52; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio))). let (local pow54) = pow( - trace_generator, - (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry4__part4_suboffset, range_check_units_row_ratio)) + ); + let (local pow55) = pow( + trace_generator, (safe_mult(mul_mod__carry4__part3_suboffset, range_check_units_row_ratio)) ); - local pow55 = pow43 * pow54; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio))). let (local pow56) = pow( - trace_generator, - (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry4__part2_suboffset, range_check_units_row_ratio)) ); let (local pow57) = pow( - trace_generator, - (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry4__part1_suboffset, range_check_units_row_ratio)) ); let (local pow58) = pow( - trace_generator, - (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry4__part0_suboffset, range_check_units_row_ratio)) ); let (local pow59) = pow( - trace_generator, - (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)), + trace_generator, (safe_mult(mul_mod__carry3__part6_suboffset, range_check_units_row_ratio)) ); - let (local pow60) = pow(trace_generator, (safe_div(keccak__row_ratio, 32768))); - local pow61 = pow60 * pow60; // pow(trace_generator, (safe_div(keccak__row_ratio, 16384))). - local pow62 = pow60 * pow61; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32768))). - local pow63 = pow60 * pow62; // pow(trace_generator, (safe_div(keccak__row_ratio, 8192))). - local pow64 = pow60 * pow63; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32768))). - local pow65 = pow60 * pow64; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16384))). - local pow66 = pow60 * pow65; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 32768))). - local pow67 = pow60 * pow66; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096))). - local pow68 = pow60 * pow67; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 32768))). - local pow69 = pow60 * pow68; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 16384))). - local pow70 = pow60 * pow69; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768))). - local pow71 = pow60 * pow70; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 8192))). - local pow72 = pow60 * pow71; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768))). - local pow73 = pow60 * pow72; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384))). - local pow74 = pow60 * pow73; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768))). - local pow75 = pow60 * pow74; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048))). - local pow76 = pow59 * pow67; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow77 = pow60 * pow75; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 32768))). - local pow78 = pow60 * pow77; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 16384))). - local pow79 = pow60 * pow78; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768))). - local pow80 = pow60 * pow79; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 8192))). - local pow81 = pow60 * pow80; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768))). - local pow82 = pow60 * pow81; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384))). - local pow83 = pow60 * pow82; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768))). - local pow84 = pow68 * pow83; // pow(trace_generator, (safe_div(keccak__row_ratio, 1024))). - local pow85 = pow75 * pow84; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2048))). - local pow86 = pow75 * pow85; // pow(trace_generator, (safe_div(keccak__row_ratio, 512))). - local pow87 = pow75 * pow86; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2048))). - local pow88 = pow75 * pow87; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 1024))). - local pow89 = pow75 * pow88; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2048))). - local pow90 = pow75 * pow89; // pow(trace_generator, (safe_div(keccak__row_ratio, 256))). - local pow91 = pow75 * pow90; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2048))). - local pow92 = pow75 * pow91; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 1024))). - local pow93 = pow75 * pow92; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 2048))). - local pow94 = pow75 * pow93; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow95 = pow59 * pow94; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow96 = pow75 * pow94; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 2048))). - local pow97 = pow75 * pow96; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 1024))). - local pow98 = pow75 * pow97; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048))). - local pow99 = pow67 * pow98; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096))). - local pow100 = pow67 * pow99; // pow(trace_generator, (safe_div(keccak__row_ratio, 128))). - local pow101 = pow59 * pow100; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow102 = pow75 * pow100; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 128))). - local pow103 = pow58 * pow94; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow104 = pow58 * pow100; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow105 = pow85 * pow102; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow106 = pow86 * pow105; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow107 = pow86 * pow106; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 512))). - local pow108 = pow85 * pow107; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 128))). - local pow109 = pow67 * pow108; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 128))). - local pow110 = pow58 * pow107; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow111 = pow67 * pow109; // pow(trace_generator, (safe_div(keccak__row_ratio, 64))). - local pow112 = pow59 * pow111; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow113 = pow58 * pow111; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow114 = pow86 * pow111; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow115 = pow90 * pow114; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 512))). - local pow116 = pow58 * pow115; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow117 = pow86 * pow115; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128))). - local pow118 = pow59 * pow117; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow119 = pow94 * pow117; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 512))). - local pow120 = pow56 * pow117; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow121 = pow57 * pow117; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow122 = pow67 * pow117; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_div(keccak__row_ratio, 4096))). - local pow123 = pow59 * pow122; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow124 = pow86 * pow119; // pow(trace_generator, (safe_div(keccak__row_ratio, 32))). - local pow125 = pow59 * pow124; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow126 = pow56 * pow124; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow127 = pow57 * pow124; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow128 = pow67 * pow124; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_div(keccak__row_ratio, 4096))). - local pow129 = pow59 * pow128; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow130 = pow58 * pow117; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow131 = pow58 * pow119; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow132 = pow58 * pow124; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow133 = pow90 * pow124; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow134 = pow86 * pow133; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 512))). - local pow135 = pow58 * pow134; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow136 = pow86 * pow134; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128))). - local pow137 = pow58 * pow136; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow138 = pow59 * pow136; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow139 = pow86 * pow136; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow140 = pow90 * pow139; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 512))). - local pow141 = pow58 * pow140; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow142 = pow86 * pow140; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64))). - local pow143 = pow94 * pow142; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 512))). - local pow144 = pow59 * pow142; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow145 = pow86 * pow143; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128))). - local pow146 = pow94 * pow145; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 512))). - local pow147 = pow59 * pow145; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow148 = pow86 * pow146; // pow(trace_generator, (safe_div(keccak__row_ratio, 16))). - local pow149 = pow59 * pow148; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow150 = pow86 * pow148; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div(keccak__row_ratio, 16))). - local pow151 = pow86 * pow150; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div(keccak__row_ratio, 16))). - local pow152 = pow86 * pow151; // pow(trace_generator, (safe_div((safe_mult(35, keccak__row_ratio)), 512))). - local pow153 = pow86 * pow152; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128))). - local pow154 = pow94 * pow153; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 512))). - local pow155 = pow86 * pow154; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64))). - local pow156 = pow94 * pow155; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 512))). - local pow157 = pow86 * pow156; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128))). - local pow158 = pow94 * pow157; // pow(trace_generator, (safe_div((safe_mult(47, keccak__row_ratio)), 512))). - local pow159 = pow86 * pow158; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32))). - local pow160 = pow100 * pow159; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128))). - local pow161 = pow100 * pow160; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow162 = pow86 * pow161; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow163 = pow86 * pow162; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow164 = pow90 * pow163; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow165 = pow86 * pow164; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow166 = pow86 * pow165; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow167 = pow90 * pow166; // pow(trace_generator, (safe_div(keccak__row_ratio, 8))). - local pow168 = pow100 * pow167; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128))). - local pow169 = pow100 * pow168; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64))). - local pow170 = pow100 * pow169; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128))). - local pow171 = pow100 * pow170; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32))). - local pow172 = pow100 * pow171; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow173 = pow86 * pow172; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow174 = pow86 * pow173; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow175 = pow90 * pow174; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow176 = pow86 * pow175; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow177 = pow86 * pow176; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow178 = pow90 * pow177; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow179 = pow86 * pow178; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow180 = pow86 * pow179; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow181 = pow90 * pow180; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow182 = pow86 * pow181; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow183 = pow86 * pow182; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow184 = pow90 * pow183; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow185 = pow56 * pow184; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow186 = pow57 * pow184; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow187 = pow75 * pow184; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow188 = pow85 * pow187; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow189 = pow56 * pow188; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow190 = pow86 * pow188; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow191 = pow56 * pow190; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow192 = pow86 * pow190; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow193 = pow57 * pow192; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow194 = pow56 * pow192; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow195 = pow86 * pow192; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow196 = pow86 * pow195; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow197 = pow86 * pow196; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow198 = pow56 * pow197; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow199 = pow94 * pow197; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow200 = pow94 * pow199; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow201 = pow94 * pow200; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow202 = pow94 * pow201; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow203 = pow94 * pow202; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow204 = pow94 * pow203; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow205 = pow56 * pow199; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow206 = pow56 * pow200; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow207 = pow100 * pow204; // pow(trace_generator, (safe_div(keccak__row_ratio, 4))). - local pow208 = pow67 * pow207; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 4096))). - local pow209 = pow67 * pow208; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 4))). - local pow210 = pow56 * pow201; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow211 = pow56 * pow202; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow212 = pow56 * pow203; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow213 = pow93 * pow209; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow214 = pow85 * pow213; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 4))). - local pow215 = pow67 * pow214; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 4))). - local pow216 = pow57 * pow195; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow217 = pow57 * pow196; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow218 = pow57 * pow197; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow219 = pow57 * pow199; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow220 = pow57 * pow200; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow221 = pow67 * pow215; // pow(trace_generator, (safe_div((safe_mult(33, keccak__row_ratio)), 128))). - local pow222 = pow90 * pow221; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow223 = pow56 * pow204; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow224 = pow56 * pow207; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow225 = pow58 * pow142; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow226 = pow58 * pow143; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow227 = pow58 * pow145; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow228 = pow58 * pow146; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow229 = pow58 * pow148; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow230 = pow58 * pow152; // pow(trace_generator, (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow231 = pow58 * pow153; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow232 = pow58 * pow154; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow233 = pow58 * pow155; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow234 = pow58 * pow156; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow235 = pow59 * pow150; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow236 = pow59 * pow151; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow237 = pow59 * pow153; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow238 = pow59 * pow155; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow239 = pow59 * pow157; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow240 = pow59 * pow159; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow241 = pow59 * pow160; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow242 = pow59 * pow161; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow243 = pow59 * pow162; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow244 = pow59 * pow163; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow245 = pow59 * pow164; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow246 = pow59 * pow165; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow247 = pow59 * pow166; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow248 = pow59 * pow167; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow249 = pow59 * pow168; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow250 = pow59 * pow169; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow251 = pow59 * pow170; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow252 = pow59 * pow171; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow253 = pow59 * pow172; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow254 = pow59 * pow173; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow255 = pow59 * pow174; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow256 = pow59 * pow175; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow257 = pow59 * pow178; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow258 = pow59 * pow181; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow259 = pow59 * pow184; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow260 = pow59 * pow188; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow261 = pow59 * pow190; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow262 = pow59 * pow192; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow263 = pow59 * pow195; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow264 = pow59 * pow196; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow265 = pow59 * pow197; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow266 = pow59 * pow199; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow267 = pow59 * pow200; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow268 = pow59 * pow208; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow269 = pow59 * pow201; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow270 = pow59 * pow202; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow271 = pow59 * pow203; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow272 = pow59 * pow204; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow273 = pow58 * pow157; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow274 = pow58 * pow158; // pow(trace_generator, (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow275 = pow58 * pow159; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow276 = pow58 * pow160; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow277 = pow58 * pow161; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow278 = pow58 * pow164; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow279 = pow58 * pow167; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow280 = pow58 * pow168; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow281 = pow58 * pow169; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow282 = pow58 * pow170; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow283 = pow58 * pow171; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow284 = pow58 * pow172; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow285 = pow58 * pow173; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow286 = pow57 * pow201; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow287 = pow57 * pow202; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow288 = pow57 * pow203; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow289 = pow57 * pow204; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow290 = pow57 * pow207; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow291 = pow58 * pow174; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow292 = pow58 * pow175; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow293 = pow58 * pow176; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow294 = pow58 * pow177; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow295 = pow58 * pow178; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow296 = pow58 * pow179; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow297 = pow58 * pow180; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow298 = pow58 * pow181; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow299 = pow58 * pow182; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow300 = pow58 * pow183; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow301 = pow58 * pow184; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow302 = pow58 * pow192; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow303 = pow58 * pow197; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow304 = pow58 * pow199; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow305 = pow58 * pow200; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow306 = pow58 * pow201; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow307 = pow58 * pow202; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow308 = pow58 * pow203; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow309 = pow58 * pow204; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow310 = pow58 * pow207; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow311 = pow58 * pow221; // pow(trace_generator, (safe_div((safe_mult(33, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow312 = pow90 * pow222; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 64))). - local pow313 = pow58 * pow312; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow314 = pow86 * pow312; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow315 = pow94 * pow314; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow316 = pow94 * pow315; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow317 = pow94 * pow316; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow318 = pow94 * pow317; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow319 = pow115 * pow318; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 16))). - local pow320 = pow111 * pow319; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64))). - local pow321 = pow142 * pow320; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 8))). - local pow322 = pow162 * pow321; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow323 = pow56 * pow322; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow324 = pow148 * pow321; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 16))). - local pow325 = pow107 * pow322; // pow(trace_generator, (safe_div(keccak__row_ratio, 2))). - local pow326 = pow86 * pow325; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512))). - local pow327 = pow86 * pow326; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256))). - local pow328 = pow106 * pow327; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 64))). - local pow329 = pow59 * pow328; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow330 = pow142 * pow328; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 16))). - local pow331 = pow107 * pow330; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(39, keccak__row_ratio)), 512))). - local pow332 = pow100 * pow331; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(43, keccak__row_ratio)), 512))). - local pow333 = pow100 * pow332; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(47, keccak__row_ratio)), 512))). - local pow334 = pow139 * pow332; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 8))). - local pow335 = pow148 * pow334; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow336 = pow86 * pow335; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow337 = pow86 * pow336; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow338 = pow90 * pow337; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow339 = pow57 * pow338; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow340 = pow145 * pow338; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4))). - local pow341 = pow56 * pow340; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow342 = pow57 * pow340; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow343 = pow67 * pow340; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). - local pow344 = pow59 * pow343; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow345 = pow94 * pow340; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow346 = pow86 * pow345; // pow(trace_generator, (safe_div((safe_mult(97, keccak__row_ratio)), 128))). - local pow347 = pow58 * pow331; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow348 = pow58 * pow335; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow349 = pow58 * pow336; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow350 = pow58 * pow337; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow351 = pow100 * pow346; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). - local pow352 = pow136 * pow351; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128))). - local pow353 = pow100 * pow352; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 16))). - local pow354 = pow148 * pow353; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 8))). - local pow355 = pow142 * pow354; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow356 = pow111 * pow355; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 16))). - local pow357 = pow100 * pow356; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow358 = pow57 * pow357; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow359 = pow145 * pow357; // pow(trace_generator, keccak__row_ratio). - local pow360 = pow94 * pow357; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow361 = pow59 * pow355; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow362 = pow325 * pow359; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2))). - local pow363 = pow157 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128))). - local pow364 = pow94 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow365 = pow94 * pow364; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow366 = pow166 * pow363; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow367 = pow58 * pow363; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow368 = pow172 * pow363; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4))). - local pow369 = pow56 * pow368; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow370 = pow57 * pow368; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow371 = pow67 * pow368; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). - local pow372 = pow99 * pow371; // pow(trace_generator, (safe_div((safe_mult(225, keccak__row_ratio)), 128))). - local pow373 = pow204 * pow372; // pow(trace_generator, (safe_mult(2, keccak__row_ratio))). - local pow374 = pow75 * pow373; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(2, keccak__row_ratio))). - local pow375 = pow93 * pow374; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow376 = pow94 * pow375; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow377 = pow59 * pow371; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow378 = pow100 * pow372; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). - local pow379 = pow58 * pow320; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow380 = pow58 * pow332; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow381 = pow58 * pow340; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow382 = pow58 * pow360; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow383 = pow58 * pow366; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow384 = pow58 * pow333; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow385 = pow58 * pow346; // pow(trace_generator, (safe_div((safe_mult(97, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow386 = pow58 * pow351; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow387 = pow58 * pow352; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow388 = pow58 * pow368; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow389 = pow58 * pow372; // pow(trace_generator, (safe_div((safe_mult(225, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow390 = pow58 * pow378; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow391 = pow94 * pow376; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow392 = pow94 * pow391; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). - local pow393 = pow75 * pow392; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). - local pow394 = pow93 * pow393; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow395 = pow94 * pow394; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow396 = pow94 * pow395; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow397 = pow94 * pow396; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow398 = pow145 * pow397; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128))). - local pow399 = pow155 * pow398; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow400 = pow111 * pow399; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow401 = pow56 * pow400; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow402 = pow142 * pow400; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow403 = pow59 * pow399; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow404 = pow100 * pow402; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4))). - local pow405 = pow86 * pow404; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512))). - local pow406 = pow58 * pow398; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow407 = pow146 * pow405; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16))). - local pow408 = pow59 * pow407; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow409 = pow86 * pow405; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256))). - local pow410 = pow168 * pow407; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow411 = pow56 * pow410; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow412 = pow57 * pow402; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow413 = pow86 * pow407; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div(keccak__row_ratio, 16))). - local pow414 = pow86 * pow413; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div(keccak__row_ratio, 16))). - local pow415 = pow59 * pow413; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow416 = pow59 * pow414; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow417 = pow86 * pow410; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow418 = pow86 * pow417; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow419 = pow143 * pow417; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2))). - local pow420 = pow325 * pow419; // pow(trace_generator, (safe_mult(3, keccak__row_ratio))). - local pow421 = pow325 * pow420; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2))). - local pow422 = pow94 * pow419; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow423 = pow94 * pow422; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow424 = pow94 * pow421; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow425 = pow94 * pow424; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow426 = pow56 * pow417; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow427 = pow56 * pow418; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow428 = pow94 * pow423; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow429 = pow94 * pow428; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow430 = pow161 * pow429; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128))). - local pow431 = pow58 * pow430; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow432 = pow94 * pow429; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow433 = pow158 * pow430; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow434 = pow58 * pow433; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow435 = pow94 * pow425; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow436 = pow94 * pow435; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow437 = pow94 * pow436; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow438 = pow86 * pow437; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div(keccak__row_ratio, 32))). - local pow439 = pow58 * pow438; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow440 = pow90 * pow438; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow441 = pow200 * pow438; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4))). - local pow442 = pow56 * pow441; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow443 = pow57 * pow441; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow444 = pow58 * pow441; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow445 = pow94 * pow441; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow446 = pow67 * pow441; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). - local pow447 = pow86 * pow445; // pow(trace_generator, (safe_div((safe_mult(481, keccak__row_ratio)), 128))). - local pow448 = pow58 * pow447; // pow(trace_generator, (safe_div((safe_mult(481, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow449 = pow59 * pow446; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow450 = pow184 * pow440; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow451 = pow59 * pow450; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow452 = pow90 * pow447; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow453 = pow90 * pow452; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). - local pow454 = pow86 * pow453; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow455 = pow58 * pow453; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow456 = pow94 * pow454; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow457 = pow94 * pow456; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow458 = pow162 * pow457; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). - local pow459 = pow161 * pow458; // pow(trace_generator, (safe_mult(4, keccak__row_ratio))). - local pow460 = pow75 * pow459; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(4, keccak__row_ratio))). - local pow461 = pow325 * pow459; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2))). - local pow462 = pow94 * pow461; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow463 = pow94 * pow462; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow464 = pow94 * pow463; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow465 = pow94 * pow457; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow466 = pow184 * pow465; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow467 = pow142 * pow459; // pow(trace_generator, (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64))). - local pow468 = pow75 * pow467; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64))). - local pow469 = pow58 * pow458; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow470 = pow94 * pow464; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow471 = pow94 * pow470; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow472 = pow94 * pow471; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow473 = pow94 * pow472; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow474 = pow94 * pow473; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow475 = pow148 * pow474; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow476 = pow168 * pow475; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow477 = pow100 * pow476; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4))). - local pow478 = pow167 * pow477; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 8))). - local pow479 = pow153 * pow478; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow480 = pow59 * pow478; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow481 = pow59 * pow479; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow482 = pow145 * pow479; // pow(trace_generator, (safe_mult(5, keccak__row_ratio))). - local pow483 = pow94 * pow482; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow484 = pow94 * pow483; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow485 = pow94 * pow484; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow486 = pow94 * pow485; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow487 = pow94 * pow486; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow488 = pow94 * pow487; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow489 = pow106 * pow488; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64))). - local pow490 = pow59 * pow489; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow491 = pow170 * pow489; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow492 = pow145 * pow491; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4))). - local pow493 = pow325 * pow492; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4))). - local pow494 = pow86 * pow493; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512))). - local pow495 = pow117 * pow492; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). - local pow496 = pow133 * pow491; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow497 = pow56 * pow496; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow498 = pow153 * pow495; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). - local pow499 = pow59 * pow491; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow500 = pow59 * pow498; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow501 = pow160 * pow498; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow502 = pow57 * pow501; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow503 = pow56 * pow476; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow504 = pow58 * pow475; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow505 = pow58 * pow489; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow506 = pow58 * pow495; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow507 = pow58 * pow501; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow508 = pow58 * pow466; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow509 = pow86 * pow494; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256))). - local pow510 = pow86 * pow509; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow511 = pow86 * pow510; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow512 = pow161 * pow511; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow513 = pow59 * pow512; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow514 = pow86 * pow511; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow515 = pow86 * pow512; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow516 = pow59 * pow515; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow517 = pow86 * pow515; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow518 = pow156 * pow512; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow519 = pow57 * pow518; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow520 = pow86 * pow518; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow521 = pow57 * pow520; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow522 = pow86 * pow520; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow523 = pow140 * pow522; // pow(trace_generator, (safe_mult(6, keccak__row_ratio))). - local pow524 = pow75 * pow523; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(6, keccak__row_ratio))). - local pow525 = pow153 * pow523; // pow(trace_generator, (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). - local pow526 = pow178 * pow525; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4))). - local pow527 = pow86 * pow526; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512))). - local pow528 = pow86 * pow527; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256))). - local pow529 = pow75 * pow525; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). - local pow530 = pow86 * pow528; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow531 = pow86 * pow530; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow532 = pow86 * pow531; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow533 = pow86 * pow532; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow534 = pow59 * pow517; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow535 = pow57 * pow522; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow536 = pow94 * pow533; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow537 = pow94 * pow536; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow538 = pow94 * pow537; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow539 = pow94 * pow538; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow540 = pow94 * pow539; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow541 = pow94 * pow540; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow542 = pow142 * pow541; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). - local pow543 = pow58 * pow542; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow544 = pow111 * pow542; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow545 = pow59 * pow544; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow546 = pow86 * pow544; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow547 = pow59 * pow546; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow548 = pow158 * pow544; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow549 = pow59 * pow548; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow550 = pow86 * pow548; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow551 = pow59 * pow550; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow552 = pow86 * pow546; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). - local pow553 = pow59 * pow552; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow554 = pow86 * pow550; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow555 = pow59 * pow554; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow556 = pow134 * pow554; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow557 = pow59 * pow556; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow558 = pow221 * pow556; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4))). - local pow559 = pow94 * pow558; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow560 = pow162 * pow559; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow561 = pow58 * pow560; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow562 = pow94 * pow559; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow563 = pow94 * pow562; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow564 = pow184 * pow563; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow565 = pow58 * pow564; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow566 = pow134 * pow564; // pow(trace_generator, (safe_mult(7, keccak__row_ratio))). - local pow567 = pow94 * pow566; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow568 = pow94 * pow567; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow569 = pow94 * pow568; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow570 = pow340 * pow566; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4))). - local pow571 = pow56 * pow570; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow572 = pow57 * pow570; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow573 = pow58 * pow570; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow574 = pow67 * pow570; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). - local pow575 = pow99 * pow574; // pow(trace_generator, (safe_div((safe_mult(993, keccak__row_ratio)), 128))). - local pow576 = pow100 * pow575; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). - local pow577 = pow58 * pow575; // pow(trace_generator, (safe_div((safe_mult(993, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow578 = pow58 * pow576; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow579 = pow204 * pow575; // pow(trace_generator, (safe_mult(8, keccak__row_ratio))). - local pow580 = pow159 * pow579; // pow(trace_generator, (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). - local pow581 = pow359 * pow579; // pow(trace_generator, (safe_mult(9, keccak__row_ratio))). - local pow582 = pow94 * pow581; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow583 = pow94 * pow582; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow584 = pow94 * pow583; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow585 = pow75 * pow579; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(8, keccak__row_ratio))). - local pow586 = pow75 * pow580; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). - local pow587 = pow59 * pow574; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow588 = pow94 * pow569; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow589 = pow94 * pow584; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). - local pow590 = pow160 * pow589; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 8))). - local pow591 = pow59 * pow589; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow592 = pow153 * pow590; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow593 = pow56 * pow592; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow594 = pow94 * pow588; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow595 = pow94 * pow594; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow596 = pow90 * pow595; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128))). - local pow597 = pow58 * pow596; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow598 = pow173 * pow595; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow599 = pow119 * pow598; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow600 = pow117 * pow592; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow601 = pow124 * pow600; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4))). - local pow602 = pow124 * pow601; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 32))). - local pow603 = pow325 * pow601; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4))). - local pow604 = pow86 * pow603; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512))). - local pow605 = pow86 * pow604; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256))). - local pow606 = pow94 * pow601; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow607 = pow184 * pow606; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow608 = pow119 * pow603; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 512))). - local pow609 = pow58 * pow608; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow610 = pow100 * pow608; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(19, keccak__row_ratio)), 512))). - local pow611 = pow58 * pow610; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow612 = pow150 * pow610; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128))). - local pow613 = pow59 * pow612; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow614 = pow153 * pow612; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow615 = pow58 * pow614; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow616 = pow86 * pow614; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow617 = pow58 * pow616; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow618 = pow86 * pow616; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). - local pow619 = pow58 * pow618; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow620 = pow115 * pow616; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow621 = pow56 * pow620; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow622 = pow100 * pow610; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 512))). - local pow623 = pow145 * pow620; // pow(trace_generator, (safe_mult(10, keccak__row_ratio))). - local pow624 = pow75 * pow623; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(10, keccak__row_ratio))). - local pow625 = pow164 * pow623; // pow(trace_generator, (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow626 = pow168 * pow625; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4))). - local pow627 = pow143 * pow626; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(27, keccak__row_ratio)), 512))). - local pow628 = pow58 * pow627; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow629 = pow100 * pow627; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(31, keccak__row_ratio)), 512))). - local pow630 = pow86 * pow626; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512))). - local pow631 = pow86 * pow630; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256))). - local pow632 = pow100 * pow629; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(35, keccak__row_ratio)), 512))). - local pow633 = pow162 * pow632; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow634 = pow86 * pow633; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow635 = pow86 * pow634; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). - local pow636 = pow75 * pow625; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). - local pow637 = pow325 * pow626; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4))). - local pow638 = pow94 * pow637; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow639 = pow94 * pow638; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow640 = pow90 * pow639; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). - local pow641 = pow86 * pow640; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow642 = pow94 * pow641; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow643 = pow94 * pow642; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow644 = pow58 * pow640; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow645 = pow162 * pow643; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). - local pow646 = pow59 * pow645; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow647 = pow145 * pow645; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow648 = pow56 * pow647; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow649 = pow145 * pow647; // pow(trace_generator, (safe_mult(11, keccak__row_ratio))). - local pow650 = pow59 * pow607; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow651 = pow119 * pow647; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow652 = pow94 * pow649; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow653 = pow86 * pow652; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 128))). - local pow654 = pow90 * pow653; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow655 = pow94 * pow654; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow656 = pow94 * pow655; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow657 = pow56 * pow651; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow658 = pow94 * pow656; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow659 = pow175 * pow658; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow660 = pow59 * pow659; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow661 = pow117 * pow659; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow662 = pow57 * pow661; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow663 = pow57 * pow598; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow664 = pow57 * pow599; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow665 = pow139 * pow658; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). - local pow666 = pow178 * pow665; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4))). - local pow667 = pow94 * pow666; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow668 = pow59 * pow665; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow669 = pow94 * pow667; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow670 = pow59 * pow596; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow671 = pow59 * pow602; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow672 = pow58 * pow590; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow673 = pow58 * pow600; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow674 = pow58 * pow622; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow675 = pow58 * pow629; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow676 = pow58 * pow632; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow677 = pow58 * pow633; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow678 = pow58 * pow634; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow679 = pow58 * pow635; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow680 = pow58 * pow653; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow681 = pow94 * pow669; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow682 = pow94 * pow681; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow683 = pow94 * pow682; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow684 = pow94 * pow683; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow685 = pow94 * pow684; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow686 = pow115 * pow685; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16))). - local pow687 = pow176 * pow686; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow688 = pow107 * pow687; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2))). - local pow689 = pow171 * pow688; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32))). - local pow690 = pow94 * pow688; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow691 = pow140 * pow689; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow692 = pow59 * pow689; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow693 = pow57 * pow691; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow694 = pow325 * pow688; // pow(trace_generator, (safe_mult(12, keccak__row_ratio))). - local pow695 = pow75 * pow694; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(12, keccak__row_ratio))). - local pow696 = pow169 * pow694; // pow(trace_generator, (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). - local pow697 = pow75 * pow696; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). - local pow698 = pow161 * pow696; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4))). - local pow699 = pow168 * pow698; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128))). - local pow700 = pow148 * pow699; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow701 = pow145 * pow700; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2))). - local pow702 = pow94 * pow701; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow703 = pow59 * pow699; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow704 = pow57 * pow700; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow705 = pow179 * pow702; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). - local pow706 = pow59 * pow705; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow707 = pow319 * pow705; // pow(trace_generator, (safe_mult(13, keccak__row_ratio))). - local pow708 = pow107 * pow705; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow709 = pow59 * pow708; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow710 = pow325 * pow707; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2))). - local pow711 = pow157 * pow710; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128))). - local pow712 = pow59 * pow711; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow713 = pow161 * pow711; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow714 = pow59 * pow713; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow715 = pow145 * pow713; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4))). - local pow716 = pow86 * pow715; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512))). - local pow717 = pow86 * pow716; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256))). - local pow718 = pow172 * pow715; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow719 = pow58 * pow718; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow720 = pow86 * pow718; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow721 = pow58 * pow720; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow722 = pow86 * pow720; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow723 = pow58 * pow722; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow724 = pow86 * pow717; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow725 = pow58 * pow724; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow726 = pow100 * pow724; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 512))). - local pow727 = pow58 * pow726; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow728 = pow156 * pow720; // pow(trace_generator, (safe_mult(14, keccak__row_ratio))). - local pow729 = pow75 * pow728; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(14, keccak__row_ratio))). - local pow730 = pow325 * pow728; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2))). - local pow731 = pow145 * pow730; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128))). - local pow732 = pow59 * pow731; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow733 = pow325 * pow730; // pow(trace_generator, (safe_mult(15, keccak__row_ratio))). - local pow734 = pow207 * pow733; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4))). - local pow735 = pow94 * pow734; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow736 = pow94 * pow735; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow737 = pow100 * pow726; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 512))). - local pow738 = pow93 * pow729; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow739 = pow94 * pow738; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow740 = pow169 * pow731; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow741 = pow57 * pow740; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow742 = pow58 * pow737; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow743 = pow94 * pow739; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow744 = pow94 * pow743; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow745 = pow94 * pow744; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow746 = pow94 * pow745; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow747 = pow163 * pow746; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128))). - local pow748 = pow59 * pow747; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow749 = pow58 * pow747; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow750 = pow111 * pow747; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow751 = pow75 * pow750; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow752 = pow94 * pow746; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow753 = pow134 * pow750; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow754 = pow133 * pow753; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow755 = pow58 * pow754; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow756 = pow59 * pow753; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow757 = pow94 * pow736; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow758 = pow94 * pow757; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow759 = pow94 * pow758; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow760 = pow94 * pow759; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow761 = pow173 * pow760; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow762 = pow57 * pow761; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow763 = pow94 * pow760; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow764 = pow119 * pow763; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). - local pow765 = pow133 * pow761; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow766 = pow100 * pow764; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64))). - local pow767 = pow59 * pow766; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow768 = pow107 * pow765; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2))). - local pow769 = pow86 * pow768; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512))). - local pow770 = pow86 * pow769; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256))). - local pow771 = pow86 * pow770; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow772 = pow94 * pow771; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow773 = pow94 * pow772; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow774 = pow57 * pow765; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow775 = pow58 * pow764; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow776 = pow58 * pow686; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow777 = pow59 * pow687; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow778 = pow94 * pow773; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow779 = pow94 * pow778; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow780 = pow94 * pow779; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow781 = pow94 * pow780; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow782 = pow94 * pow781; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow783 = pow161 * pow782; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32))). - local pow784 = pow58 * pow783; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow785 = pow100 * pow783; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow786 = pow86 * pow785; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow787 = pow119 * pow786; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow788 = pow59 * pow785; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow789 = pow59 * pow786; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow790 = pow59 * pow787; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow791 = pow86 * pow786; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). - local pow792 = pow59 * pow791; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow793 = pow86 * pow787; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow794 = pow59 * pow793; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow795 = pow86 * pow793; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow796 = pow59 * pow795; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow797 = pow140 * pow793; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow798 = pow58 * pow797; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow799 = pow100 * pow797; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4))). - local pow800 = pow57 * pow799; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow801 = pow58 * pow799; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow802 = pow59 * pow799; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow803 = pow67 * pow799; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). - local pow804 = pow59 * pow803; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow805 = pow67 * pow803; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4))). - local pow806 = pow93 * pow805; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). - local pow807 = pow59 * pow806; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow808 = pow85 * pow806; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4))). - local pow809 = pow67 * pow808; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4))). - local pow810 = pow67 * pow809; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 128))). - local pow811 = pow58 * pow810; // pow(trace_generator, (safe_div((safe_mult(2017, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow812 = pow59 * pow810; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow813 = pow56 * pow799; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow814 = pow100 * pow810; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). - local pow815 = pow58 * pow814; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). - local pow816 = pow178 * pow814; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow817 = pow94 * pow816; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). - local pow818 = pow56 * pow816; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). - local pow819 = pow57 * pow816; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow820 = pow57 * pow817; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). - local pow821 = pow59 * pow816; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - local pow822 = pow59 * pow817; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). - let (local pow823) = pow( - trace_generator, (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + let (local pow60) = pow( + trace_generator, (safe_mult(mul_mod__carry3__part5_suboffset, range_check_units_row_ratio)) ); - local pow824 = pow148 * pow823; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow825 = pow148 * pow824; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow826 = pow148 * pow825; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow827 = pow148 * pow826; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow828 = pow148 * pow827; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow829 = pow148 * pow828; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow830 = pow148 * pow829; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow831 = pow148 * pow830; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow832 = pow148 * pow831; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow833 = pow148 * pow832; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow834 = pow148 * pow833; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow835 = pow148 * pow834; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow836 = pow148 * pow835; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow837 = pow148 * pow836; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - local pow838 = pow148 * pow837; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). - let (local pow839) = pow( + let (local pow61) = pow( + trace_generator, (safe_mult(mul_mod__carry3__part4_suboffset, range_check_units_row_ratio)) + ); + let (local pow62) = pow( + trace_generator, (safe_mult(mul_mod__carry3__part3_suboffset, range_check_units_row_ratio)) + ); + let (local pow63) = pow( + trace_generator, (safe_mult(mul_mod__carry3__part2_suboffset, range_check_units_row_ratio)) + ); + let (local pow64) = pow( + trace_generator, (safe_mult(mul_mod__carry3__part1_suboffset, range_check_units_row_ratio)) + ); + let (local pow65) = pow( + trace_generator, (safe_mult(mul_mod__carry3__part0_suboffset, range_check_units_row_ratio)) + ); + let (local pow66) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part6_suboffset, range_check_units_row_ratio)) + ); + let (local pow67) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part5_suboffset, range_check_units_row_ratio)) + ); + let (local pow68) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part4_suboffset, range_check_units_row_ratio)) + ); + let (local pow69) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part3_suboffset, range_check_units_row_ratio)) + ); + let (local pow70) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part2_suboffset, range_check_units_row_ratio)) + ); + let (local pow71) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part1_suboffset, range_check_units_row_ratio)) + ); + let (local pow72) = pow( + trace_generator, (safe_mult(mul_mod__carry2__part0_suboffset, range_check_units_row_ratio)) + ); + let (local pow73) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part6_suboffset, range_check_units_row_ratio)) + ); + let (local pow74) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part5_suboffset, range_check_units_row_ratio)) + ); + let (local pow75) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part4_suboffset, range_check_units_row_ratio)) + ); + let (local pow76) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part3_suboffset, range_check_units_row_ratio)) + ); + let (local pow77) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part2_suboffset, range_check_units_row_ratio)) + ); + let (local pow78) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part1_suboffset, range_check_units_row_ratio)) + ); + let (local pow79) = pow( + trace_generator, (safe_mult(mul_mod__carry1__part0_suboffset, range_check_units_row_ratio)) + ); + let (local pow80) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier0__part5_suboffset, range_check_units_row_ratio)), + ); + let (local pow81) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier0__part4_suboffset, range_check_units_row_ratio)), + ); + let (local pow82) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier0__part3_suboffset, range_check_units_row_ratio)), + ); + let (local pow83) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier0__part2_suboffset, range_check_units_row_ratio)), + ); + let (local pow84) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier0__part1_suboffset, range_check_units_row_ratio)), + ); + let (local pow85) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier0__part0_suboffset, range_check_units_row_ratio)), + ); + let (local pow86) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier3__part5_suboffset, range_check_units_row_ratio)), + ); + let (local pow87) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier3__part4_suboffset, range_check_units_row_ratio)), + ); + let (local pow88) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier3__part3_suboffset, range_check_units_row_ratio)), + ); + let (local pow89) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier3__part2_suboffset, range_check_units_row_ratio)), + ); + let (local pow90) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier3__part1_suboffset, range_check_units_row_ratio)), + ); + let (local pow91) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier3__part0_suboffset, range_check_units_row_ratio)), + ); + let (local pow92) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier2__part5_suboffset, range_check_units_row_ratio)), + ); + let (local pow93) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier2__part4_suboffset, range_check_units_row_ratio)), + ); + let (local pow94) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier2__part3_suboffset, range_check_units_row_ratio)), + ); + let (local pow95) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier2__part2_suboffset, range_check_units_row_ratio)), + ); + let (local pow96) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier2__part1_suboffset, range_check_units_row_ratio)), + ); + let (local pow97) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier2__part0_suboffset, range_check_units_row_ratio)), + ); + let (local pow98) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier1__part5_suboffset, range_check_units_row_ratio)), + ); + let (local pow99) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier1__part4_suboffset, range_check_units_row_ratio)), + ); + let (local pow100) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier1__part3_suboffset, range_check_units_row_ratio)), + ); + let (local pow101) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier1__part2_suboffset, range_check_units_row_ratio)), + ); + let (local pow102) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier1__part1_suboffset, range_check_units_row_ratio)), + ); + let (local pow103) = pow( + trace_generator, + (safe_mult(mul_mod__p_multiplier1__part0_suboffset, range_check_units_row_ratio)), + ); + let (local pow104) = pow( + trace_generator, (safe_mult(mul_mod__c3_suboffset, memory_units_row_ratio)) + ); + let (local pow105) = pow( + trace_generator, (safe_mult(mul_mod__c2_suboffset, memory_units_row_ratio)) + ); + let (local pow106) = pow( + trace_generator, (safe_mult(mul_mod__c1_suboffset, memory_units_row_ratio)) + ); + let (local pow107) = pow( + trace_generator, (safe_mult(mul_mod__c0_suboffset, memory_units_row_ratio)) + ); + let (local pow108) = pow( + trace_generator, (safe_mult(mul_mod__b3_suboffset, memory_units_row_ratio)) + ); + let (local pow109) = pow( + trace_generator, (safe_mult(mul_mod__b2_suboffset, memory_units_row_ratio)) + ); + let (local pow110) = pow( + trace_generator, (safe_mult(mul_mod__b1_suboffset, memory_units_row_ratio)) + ); + let (local pow111) = pow( + trace_generator, (safe_mult(mul_mod__b0_suboffset, memory_units_row_ratio)) + ); + let (local pow112) = pow( + trace_generator, (safe_mult(mul_mod__a3_suboffset, memory_units_row_ratio)) + ); + let (local pow113) = pow( + trace_generator, (safe_mult(mul_mod__a2_suboffset, memory_units_row_ratio)) + ); + let (local pow114) = pow( + trace_generator, (safe_mult(mul_mod__a1_suboffset, memory_units_row_ratio)) + ); + let (local pow115) = pow( + trace_generator, (safe_mult(mul_mod__a0_suboffset, memory_units_row_ratio)) + ); + let (local pow116) = pow( + trace_generator, (safe_mult(mul_mod__c_offset_suboffset, memory_units_row_ratio)) + ); + let (local pow117) = pow( + trace_generator, (safe_mult(mul_mod__b_offset_suboffset, memory_units_row_ratio)) + ); + let (local pow118) = pow( + trace_generator, (safe_mult(mul_mod__a_offset_suboffset, memory_units_row_ratio)) + ); + let (local pow119) = pow( + trace_generator, (safe_mult(mul_mod__n_suboffset, memory_units_row_ratio)) + ); + local pow120 = pow0 * pow119; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__n_suboffset, memory_units_row_ratio))). + let (local pow121) = pow( + trace_generator, (safe_mult(mul_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + ); + local pow122 = pow0 * pow121; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__offsets_ptr_suboffset, memory_units_row_ratio))). + let (local pow123) = pow( + trace_generator, (safe_mult(mul_mod__values_ptr_suboffset, memory_units_row_ratio)) + ); + local pow124 = pow0 * pow123; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__values_ptr_suboffset, memory_units_row_ratio))). + let (local pow125) = pow( + trace_generator, (safe_mult(mul_mod__p3_suboffset, memory_units_row_ratio)) + ); + local pow126 = pow0 * pow125; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p3_suboffset, memory_units_row_ratio))). + let (local pow127) = pow( + trace_generator, (safe_mult(mul_mod__p2_suboffset, memory_units_row_ratio)) + ); + local pow128 = pow0 * pow127; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p2_suboffset, memory_units_row_ratio))). + let (local pow129) = pow( + trace_generator, (safe_mult(mul_mod__p1_suboffset, memory_units_row_ratio)) + ); + local pow130 = pow0 * pow129; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p1_suboffset, memory_units_row_ratio))). + let (local pow131) = pow( + trace_generator, (safe_mult(mul_mod__p0_suboffset, memory_units_row_ratio)) + ); + local pow132 = pow0 * pow131; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p0_suboffset, memory_units_row_ratio))). + let (local pow133) = pow( + trace_generator, (safe_mult(add_mod__c3_suboffset, memory_units_row_ratio)) + ); + let (local pow134) = pow( + trace_generator, (safe_mult(add_mod__c2_suboffset, memory_units_row_ratio)) + ); + let (local pow135) = pow( + trace_generator, (safe_mult(add_mod__c1_suboffset, memory_units_row_ratio)) + ); + let (local pow136) = pow( + trace_generator, (safe_mult(add_mod__c0_suboffset, memory_units_row_ratio)) + ); + let (local pow137) = pow( + trace_generator, (safe_mult(add_mod__b3_suboffset, memory_units_row_ratio)) + ); + let (local pow138) = pow( + trace_generator, (safe_mult(add_mod__b2_suboffset, memory_units_row_ratio)) + ); + let (local pow139) = pow( + trace_generator, (safe_mult(add_mod__b1_suboffset, memory_units_row_ratio)) + ); + let (local pow140) = pow( + trace_generator, (safe_mult(add_mod__b0_suboffset, memory_units_row_ratio)) + ); + let (local pow141) = pow( + trace_generator, (safe_mult(add_mod__a3_suboffset, memory_units_row_ratio)) + ); + let (local pow142) = pow( + trace_generator, (safe_mult(add_mod__a2_suboffset, memory_units_row_ratio)) + ); + let (local pow143) = pow( + trace_generator, (safe_mult(add_mod__a1_suboffset, memory_units_row_ratio)) + ); + let (local pow144) = pow( + trace_generator, (safe_mult(add_mod__a0_suboffset, memory_units_row_ratio)) + ); + let (local pow145) = pow( + trace_generator, (safe_mult(add_mod__c_offset_suboffset, memory_units_row_ratio)) + ); + let (local pow146) = pow( + trace_generator, (safe_mult(add_mod__b_offset_suboffset, memory_units_row_ratio)) + ); + let (local pow147) = pow( + trace_generator, (safe_mult(add_mod__a_offset_suboffset, memory_units_row_ratio)) + ); + let (local pow148) = pow( + trace_generator, (safe_mult(add_mod__n_suboffset, memory_units_row_ratio)) + ); + local pow149 = pow1 * pow148; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__n_suboffset, memory_units_row_ratio))). + let (local pow150) = pow( + trace_generator, (safe_mult(add_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + ); + local pow151 = pow1 * pow150; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__offsets_ptr_suboffset, memory_units_row_ratio))). + let (local pow152) = pow( + trace_generator, (safe_mult(add_mod__values_ptr_suboffset, memory_units_row_ratio)) + ); + local pow153 = pow1 * pow152; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__values_ptr_suboffset, memory_units_row_ratio))). + let (local pow154) = pow( + trace_generator, (safe_mult(add_mod__p3_suboffset, memory_units_row_ratio)) + ); + local pow155 = pow1 * pow154; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p3_suboffset, memory_units_row_ratio))). + let (local pow156) = pow( + trace_generator, (safe_mult(add_mod__p2_suboffset, memory_units_row_ratio)) + ); + local pow157 = pow1 * pow156; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p2_suboffset, memory_units_row_ratio))). + let (local pow158) = pow( + trace_generator, (safe_mult(add_mod__p1_suboffset, memory_units_row_ratio)) + ); + local pow159 = pow1 * pow158; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p1_suboffset, memory_units_row_ratio))). + let (local pow160) = pow( + trace_generator, (safe_mult(add_mod__p0_suboffset, memory_units_row_ratio)) + ); + local pow161 = pow1 * pow160; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p0_suboffset, memory_units_row_ratio))). + let (local pow162) = pow( + trace_generator, + ( + safe_mult( + range_check96_builtin__inner_range_check5_suboffset, range_check_units_row_ratio + ) + ), + ); + let (local pow163) = pow( + trace_generator, + ( + safe_mult( + range_check96_builtin__inner_range_check4_suboffset, range_check_units_row_ratio + ) + ), + ); + let (local pow164) = pow( + trace_generator, + ( + safe_mult( + range_check96_builtin__inner_range_check3_suboffset, range_check_units_row_ratio + ) + ), + ); + let (local pow165) = pow( + trace_generator, + ( + safe_mult( + range_check96_builtin__inner_range_check2_suboffset, range_check_units_row_ratio + ) + ), + ); + let (local pow166) = pow( + trace_generator, + ( + safe_mult( + range_check96_builtin__inner_range_check1_suboffset, range_check_units_row_ratio + ) + ), + ); + let (local pow167) = pow( + trace_generator, + ( + safe_mult( + range_check96_builtin__inner_range_check0_suboffset, range_check_units_row_ratio + ) + ), + ); + let (local pow168) = pow( + trace_generator, (safe_mult(range_check96_builtin__mem_suboffset, memory_units_row_ratio)) + ); + local pow169 = pow2 * pow168; // pow(trace_generator, range_check96_builtin_row_ratio + (safe_mult(range_check96_builtin__mem_suboffset, memory_units_row_ratio))). + let (local pow170) = pow(trace_generator, (safe_div(poseidon__row_ratio, 64))); + let (local pow171) = pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8))); + local pow172 = pow170 * pow170; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32))). + local pow173 = pow170 * pow172; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 64))). + local pow174 = pow170 * pow173; // pow(trace_generator, (safe_div(poseidon__row_ratio, 16))). + local pow175 = pow172 * pow174; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 32))). + let (local pow176) = pow(trace_generator, (safe_div((safe_mult(61, poseidon__row_ratio)), 64))); + local pow177 = pow172 * pow175; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8))). + local pow178 = pow171 * pow177; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2))). + local pow179 = pow175 * pow178; // pow(trace_generator, (safe_div((safe_mult(19, poseidon__row_ratio)), 32))). + local pow180 = pow172 * pow179; // pow(trace_generator, (safe_div((safe_mult(5, poseidon__row_ratio)), 8))). + local pow181 = pow172 * pow180; // pow(trace_generator, (safe_div((safe_mult(21, poseidon__row_ratio)), 32))). + local pow182 = pow171 * pow178; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8))). + local pow183 = pow170 * pow176; // pow(trace_generator, (safe_div((safe_mult(31, poseidon__row_ratio)), 32))). + local pow184 = pow170 * pow183; // pow(trace_generator, (safe_div((safe_mult(63, poseidon__row_ratio)), 64))). + let (local pow185) = pow( + trace_generator, + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)), + ); + local pow186 = pow178 * pow185; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio))). + let (local pow187) = pow( + trace_generator, + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)), + ); + local pow188 = pow178 * pow187; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio))). + let (local pow189) = pow( + trace_generator, + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)), + ); + local pow190 = pow178 * pow189; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio))). + let (local pow191) = pow( + trace_generator, + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)), + ); + let (local pow192) = pow( + trace_generator, + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)), + ); + let (local pow193) = pow( + trace_generator, + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)), + ); + let (local pow194) = pow( + trace_generator, + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)), + ); + let (local pow195) = pow(trace_generator, (safe_div(keccak__row_ratio, 32768))); + local pow196 = pow195 * pow195; // pow(trace_generator, (safe_div(keccak__row_ratio, 16384))). + local pow197 = pow195 * pow196; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32768))). + local pow198 = pow195 * pow197; // pow(trace_generator, (safe_div(keccak__row_ratio, 8192))). + local pow199 = pow195 * pow198; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32768))). + local pow200 = pow195 * pow199; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16384))). + local pow201 = pow195 * pow200; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 32768))). + local pow202 = pow195 * pow201; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096))). + local pow203 = pow195 * pow202; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 32768))). + local pow204 = pow195 * pow203; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 16384))). + local pow205 = pow195 * pow204; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768))). + local pow206 = pow195 * pow205; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 8192))). + local pow207 = pow195 * pow206; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768))). + local pow208 = pow195 * pow207; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384))). + local pow209 = pow195 * pow208; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768))). + local pow210 = pow195 * pow209; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048))). + local pow211 = pow195 * pow210; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 32768))). + local pow212 = pow195 * pow211; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 16384))). + local pow213 = pow195 * pow212; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768))). + local pow214 = pow195 * pow213; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 8192))). + local pow215 = pow195 * pow214; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768))). + local pow216 = pow195 * pow215; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384))). + local pow217 = pow195 * pow216; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768))). + local pow218 = pow203 * pow217; // pow(trace_generator, (safe_div(keccak__row_ratio, 1024))). + local pow219 = pow210 * pow218; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2048))). + local pow220 = pow210 * pow219; // pow(trace_generator, (safe_div(keccak__row_ratio, 512))). + local pow221 = pow210 * pow220; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2048))). + local pow222 = pow210 * pow221; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 1024))). + local pow223 = pow210 * pow222; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2048))). + local pow224 = pow210 * pow223; // pow(trace_generator, (safe_div(keccak__row_ratio, 256))). + local pow225 = pow210 * pow224; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2048))). + local pow226 = pow210 * pow225; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 1024))). + local pow227 = pow210 * pow226; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 2048))). + local pow228 = pow210 * pow227; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow229 = pow193 * pow228; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow230 = pow194 * pow228; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow231 = pow210 * pow228; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 2048))). + local pow232 = pow210 * pow231; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 1024))). + local pow233 = pow210 * pow232; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048))). + local pow234 = pow202 * pow233; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096))). + local pow235 = pow202 * pow234; // pow(trace_generator, (safe_div(keccak__row_ratio, 128))). + local pow236 = pow193 * pow235; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow237 = pow210 * pow235; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 128))). + local pow238 = pow219 * pow237; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow239 = pow220 * pow238; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow240 = pow220 * pow239; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 512))). + local pow241 = pow193 * pow240; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow242 = pow219 * pow240; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 128))). + local pow243 = pow202 * pow242; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 128))). + local pow244 = pow202 * pow243; // pow(trace_generator, (safe_div(keccak__row_ratio, 64))). + local pow245 = pow220 * pow244; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow246 = pow193 * pow244; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow247 = pow224 * pow245; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 512))). + local pow248 = pow193 * pow247; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow249 = pow220 * pow247; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128))). + local pow250 = pow191 * pow249; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow251 = pow192 * pow249; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow252 = pow202 * pow249; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_div(keccak__row_ratio, 4096))). + local pow253 = pow193 * pow249; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow254 = pow228 * pow249; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 512))). + local pow255 = pow193 * pow254; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow256 = pow220 * pow254; // pow(trace_generator, (safe_div(keccak__row_ratio, 32))). + local pow257 = pow191 * pow256; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow258 = pow192 * pow256; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow259 = pow193 * pow256; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow260 = pow224 * pow256; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow261 = pow202 * pow256; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_div(keccak__row_ratio, 4096))). + local pow262 = pow220 * pow260; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 512))). + local pow263 = pow193 * pow262; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow264 = pow220 * pow262; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128))). + local pow265 = pow220 * pow264; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow266 = pow224 * pow265; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 512))). + local pow267 = pow193 * pow264; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow268 = pow193 * pow266; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow269 = pow220 * pow266; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64))). + local pow270 = pow228 * pow269; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 512))). + local pow271 = pow193 * pow269; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow272 = pow193 * pow270; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow273 = pow220 * pow270; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128))). + local pow274 = pow228 * pow273; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 512))). + local pow275 = pow193 * pow273; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow276 = pow193 * pow274; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow277 = pow220 * pow274; // pow(trace_generator, (safe_div(keccak__row_ratio, 16))). + local pow278 = pow193 * pow277; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow279 = pow220 * pow277; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div(keccak__row_ratio, 16))). + local pow280 = pow220 * pow279; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div(keccak__row_ratio, 16))). + local pow281 = pow220 * pow280; // pow(trace_generator, (safe_div((safe_mult(35, keccak__row_ratio)), 512))). + local pow282 = pow193 * pow281; // pow(trace_generator, (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow283 = pow220 * pow281; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128))). + local pow284 = pow193 * pow283; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow285 = pow228 * pow283; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 512))). + local pow286 = pow193 * pow285; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow287 = pow220 * pow285; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64))). + local pow288 = pow228 * pow287; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 512))). + local pow289 = pow193 * pow287; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow290 = pow193 * pow288; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow291 = pow220 * pow288; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128))). + local pow292 = pow228 * pow291; // pow(trace_generator, (safe_div((safe_mult(47, keccak__row_ratio)), 512))). + local pow293 = pow193 * pow291; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow294 = pow193 * pow292; // pow(trace_generator, (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow295 = pow220 * pow292; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32))). + local pow296 = pow193 * pow295; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow297 = pow235 * pow295; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128))). + local pow298 = pow193 * pow297; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow299 = pow235 * pow297; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow300 = pow193 * pow299; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow301 = pow220 * pow299; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow302 = pow220 * pow301; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow303 = pow224 * pow302; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow304 = pow220 * pow303; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow305 = pow220 * pow304; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow306 = pow193 * pow303; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow307 = pow224 * pow305; // pow(trace_generator, (safe_div(keccak__row_ratio, 8))). + local pow308 = pow193 * pow307; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow309 = pow235 * pow307; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128))). + local pow310 = pow193 * pow309; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow311 = pow235 * pow309; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64))). + local pow312 = pow193 * pow311; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow313 = pow235 * pow311; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128))). + local pow314 = pow193 * pow313; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow315 = pow235 * pow313; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32))). + local pow316 = pow193 * pow315; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow317 = pow235 * pow315; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow318 = pow193 * pow317; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow319 = pow220 * pow317; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow320 = pow193 * pow319; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow321 = pow220 * pow319; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow322 = pow193 * pow321; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow323 = pow224 * pow321; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow324 = pow193 * pow323; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow325 = pow220 * pow323; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow326 = pow193 * pow325; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow327 = pow220 * pow325; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow328 = pow193 * pow327; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow329 = pow224 * pow327; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow330 = pow193 * pow329; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow331 = pow220 * pow329; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow332 = pow193 * pow331; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow333 = pow220 * pow331; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow334 = pow193 * pow333; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow335 = pow224 * pow333; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow336 = pow193 * pow335; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow337 = pow220 * pow335; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow338 = pow193 * pow337; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow339 = pow220 * pow337; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow340 = pow193 * pow339; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow341 = pow224 * pow339; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow342 = pow193 * pow341; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow343 = pow191 * pow341; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow344 = pow192 * pow341; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow345 = pow210 * pow341; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow346 = pow219 * pow345; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow347 = pow191 * pow346; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow348 = pow220 * pow346; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow349 = pow191 * pow348; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow350 = pow220 * pow348; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow351 = pow193 * pow350; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow352 = pow220 * pow350; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow353 = pow220 * pow352; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow354 = pow220 * pow353; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow355 = pow193 * pow354; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow356 = pow228 * pow354; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow357 = pow193 * pow356; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow358 = pow228 * pow356; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow359 = pow193 * pow358; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow360 = pow228 * pow358; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow361 = pow228 * pow360; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow362 = pow228 * pow361; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow363 = pow228 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow364 = pow235 * pow363; // pow(trace_generator, (safe_div(keccak__row_ratio, 4))). + local pow365 = pow202 * pow364; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 4096))). + local pow366 = pow202 * pow365; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 4))). + local pow367 = pow227 * pow366; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow368 = pow219 * pow367; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 4))). + local pow369 = pow202 * pow368; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 4))). + local pow370 = pow202 * pow369; // pow(trace_generator, (safe_div((safe_mult(33, keccak__row_ratio)), 128))). + local pow371 = pow224 * pow370; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow372 = pow224 * pow371; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 64))). + local pow373 = pow220 * pow372; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow374 = pow228 * pow373; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow375 = pow228 * pow374; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow376 = pow193 * pow360; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow377 = pow193 * pow361; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow378 = pow228 * pow375; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow379 = pow228 * pow378; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow380 = pow192 * pow350; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow381 = pow192 * pow352; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow382 = pow192 * pow353; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow383 = pow192 * pow354; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow384 = pow192 * pow356; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow385 = pow192 * pow358; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow386 = pow192 * pow360; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow387 = pow192 * pow361; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow388 = pow192 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow389 = pow192 * pow363; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow390 = pow192 * pow364; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow391 = pow247 * pow379; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 16))). + local pow392 = pow244 * pow391; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64))). + local pow393 = pow269 * pow392; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 8))). + local pow394 = pow277 * pow393; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 16))). + local pow395 = pow301 * pow393; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow396 = pow240 * pow395; // pow(trace_generator, (safe_div(keccak__row_ratio, 2))). + local pow397 = pow220 * pow396; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512))). + local pow398 = pow220 * pow397; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256))). + local pow399 = pow239 * pow398; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 64))). + local pow400 = pow269 * pow399; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 16))). + local pow401 = pow240 * pow400; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(39, keccak__row_ratio)), 512))). + local pow402 = pow193 * pow401; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow403 = pow235 * pow401; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(43, keccak__row_ratio)), 512))). + local pow404 = pow235 * pow403; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(47, keccak__row_ratio)), 512))). + local pow405 = pow265 * pow403; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 8))). + local pow406 = pow277 * pow405; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow407 = pow220 * pow406; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow408 = pow220 * pow407; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow409 = pow224 * pow408; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow410 = pow273 * pow409; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4))). + local pow411 = pow202 * pow410; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). + local pow412 = pow228 * pow410; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow413 = pow192 * pow409; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow414 = pow192 * pow410; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow415 = pow220 * pow412; // pow(trace_generator, (safe_div((safe_mult(97, keccak__row_ratio)), 128))). + local pow416 = pow235 * pow415; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). + local pow417 = pow264 * pow416; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128))). + local pow418 = pow235 * pow417; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 16))). + local pow419 = pow277 * pow418; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 8))). + local pow420 = pow269 * pow419; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow421 = pow244 * pow420; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 16))). + local pow422 = pow235 * pow421; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow423 = pow192 * pow422; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow424 = pow228 * pow422; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow425 = pow191 * pow350; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow426 = pow191 * pow354; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow427 = pow191 * pow356; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow428 = pow191 * pow358; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow429 = pow191 * pow360; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow430 = pow191 * pow361; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow431 = pow191 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow432 = pow191 * pow363; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow433 = pow191 * pow364; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow434 = pow191 * pow410; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow435 = pow191 * pow395; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow436 = pow193 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow437 = pow193 * pow363; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow438 = pow193 * pow364; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow439 = pow193 * pow370; // pow(trace_generator, (safe_div((safe_mult(33, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow440 = pow193 * pow372; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow441 = pow193 * pow406; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow442 = pow193 * pow407; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow443 = pow193 * pow408; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow444 = pow193 * pow392; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow445 = pow193 * pow403; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow446 = pow193 * pow410; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow447 = pow193 * pow424; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow448 = pow193 * pow404; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow449 = pow193 * pow415; // pow(trace_generator, (safe_div((safe_mult(97, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow450 = pow193 * pow416; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow451 = pow193 * pow417; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow452 = pow273 * pow422; // pow(trace_generator, keccak__row_ratio). + local pow453 = pow396 * pow452; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2))). + local pow454 = pow228 * pow453; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow455 = pow228 * pow454; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow456 = pow291 * pow453; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128))). + local pow457 = pow193 * pow456; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow458 = pow305 * pow456; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow459 = pow193 * pow458; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow460 = pow317 * pow456; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4))). + local pow461 = pow191 * pow460; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow462 = pow192 * pow460; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow463 = pow193 * pow460; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow464 = pow202 * pow460; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). + local pow465 = pow234 * pow464; // pow(trace_generator, (safe_div((safe_mult(225, keccak__row_ratio)), 128))). + local pow466 = pow235 * pow465; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). + local pow467 = pow193 * pow465; // pow(trace_generator, (safe_div((safe_mult(225, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow468 = pow193 * pow466; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow469 = pow363 * pow465; // pow(trace_generator, (safe_mult(2, keccak__row_ratio))). + local pow470 = pow210 * pow469; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(2, keccak__row_ratio))). + local pow471 = pow227 * pow470; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow472 = pow228 * pow471; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow473 = pow228 * pow472; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow474 = pow228 * pow473; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). + local pow475 = pow210 * pow474; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). + local pow476 = pow227 * pow475; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow477 = pow228 * pow476; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow478 = pow228 * pow477; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow479 = pow228 * pow478; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow480 = pow273 * pow479; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128))). + local pow481 = pow287 * pow480; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow482 = pow244 * pow481; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow483 = pow191 * pow482; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow484 = pow193 * pow480; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow485 = pow269 * pow482; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow486 = pow235 * pow485; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4))). + local pow487 = pow220 * pow486; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512))). + local pow488 = pow220 * pow487; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256))). + local pow489 = pow192 * pow485; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow490 = pow274 * pow487; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16))). + local pow491 = pow220 * pow490; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div(keccak__row_ratio, 16))). + local pow492 = pow220 * pow491; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div(keccak__row_ratio, 16))). + local pow493 = pow309 * pow490; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow494 = pow191 * pow493; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow495 = pow220 * pow493; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow496 = pow220 * pow495; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow497 = pow270 * pow495; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2))). + local pow498 = pow191 * pow495; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow499 = pow191 * pow496; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow500 = pow228 * pow497; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow501 = pow228 * pow500; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow502 = pow228 * pow501; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow503 = pow228 * pow502; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow504 = pow228 * pow503; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow505 = pow299 * pow503; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128))). + local pow506 = pow193 * pow505; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow507 = pow292 * pow505; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow508 = pow193 * pow507; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow509 = pow396 * pow497; // pow(trace_generator, (safe_mult(3, keccak__row_ratio))). + local pow510 = pow396 * pow509; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2))). + local pow511 = pow228 * pow510; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow512 = pow228 * pow511; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow513 = pow228 * pow512; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow514 = pow228 * pow513; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow515 = pow228 * pow514; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow516 = pow220 * pow515; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div(keccak__row_ratio, 32))). + local pow517 = pow224 * pow516; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow518 = pow341 * pow517; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow519 = pow193 * pow516; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow520 = pow358 * pow516; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4))). + local pow521 = pow228 * pow520; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow522 = pow191 * pow520; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow523 = pow192 * pow520; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow524 = pow193 * pow520; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow525 = pow202 * pow520; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). + local pow526 = pow220 * pow521; // pow(trace_generator, (safe_div((safe_mult(481, keccak__row_ratio)), 128))). + local pow527 = pow224 * pow526; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow528 = pow224 * pow527; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). + local pow529 = pow220 * pow528; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow530 = pow228 * pow529; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow531 = pow193 * pow526; // pow(trace_generator, (safe_div((safe_mult(481, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow532 = pow193 * pow528; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow533 = pow228 * pow530; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow534 = pow228 * pow533; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow535 = pow341 * pow534; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow536 = pow193 * pow535; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow537 = pow301 * pow533; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). + local pow538 = pow193 * pow537; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow539 = pow299 * pow537; // pow(trace_generator, (safe_mult(4, keccak__row_ratio))). + local pow540 = pow396 * pow539; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2))). + local pow541 = pow228 * pow540; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow542 = pow228 * pow541; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow543 = pow228 * pow542; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow544 = pow228 * pow543; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow545 = pow228 * pow544; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow546 = pow228 * pow545; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow547 = pow228 * pow546; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow548 = pow210 * pow539; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(4, keccak__row_ratio))). + local pow549 = pow269 * pow539; // pow(trace_generator, (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64))). + local pow550 = pow210 * pow549; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64))). + local pow551 = pow228 * pow547; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow552 = pow277 * pow551; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow553 = pow193 * pow552; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow554 = pow309 * pow552; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow555 = pow191 * pow554; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow556 = pow235 * pow554; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4))). + local pow557 = pow307 * pow556; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 8))). + local pow558 = pow283 * pow557; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow559 = pow273 * pow558; // pow(trace_generator, (safe_mult(5, keccak__row_ratio))). + local pow560 = pow228 * pow559; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow561 = pow228 * pow560; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow562 = pow228 * pow561; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow563 = pow228 * pow562; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow564 = pow228 * pow563; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow565 = pow228 * pow564; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow566 = pow239 * pow565; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64))). + local pow567 = pow193 * pow566; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow568 = pow313 * pow566; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow569 = pow260 * pow568; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow570 = pow191 * pow569; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow571 = pow273 * pow568; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4))). + local pow572 = pow396 * pow571; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4))). + local pow573 = pow220 * pow572; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512))). + local pow574 = pow220 * pow573; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256))). + local pow575 = pow220 * pow574; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow576 = pow249 * pow571; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). + local pow577 = pow283 * pow576; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). + local pow578 = pow297 * pow577; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow579 = pow220 * pow575; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow580 = pow220 * pow579; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow581 = pow299 * pow579; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow582 = pow220 * pow581; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow583 = pow220 * pow582; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow584 = pow288 * pow581; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow585 = pow192 * pow584; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow586 = pow220 * pow584; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow587 = pow192 * pow586; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow588 = pow220 * pow586; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow589 = pow192 * pow588; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow590 = pow193 * pow576; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow591 = pow193 * pow578; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow592 = pow192 * pow578; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow593 = pow266 * pow588; // pow(trace_generator, (safe_mult(6, keccak__row_ratio))). + local pow594 = pow283 * pow593; // pow(trace_generator, (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). + local pow595 = pow329 * pow594; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4))). + local pow596 = pow220 * pow595; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512))). + local pow597 = pow220 * pow596; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256))). + local pow598 = pow220 * pow597; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow599 = pow210 * pow593; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(6, keccak__row_ratio))). + local pow600 = pow220 * pow598; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow601 = pow220 * pow600; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow602 = pow220 * pow601; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow603 = pow228 * pow602; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow604 = pow228 * pow603; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow605 = pow228 * pow604; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow606 = pow228 * pow605; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow607 = pow228 * pow606; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow608 = pow228 * pow607; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow609 = pow269 * pow608; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). + local pow610 = pow244 * pow609; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow611 = pow220 * pow610; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow612 = pow220 * pow611; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64))). + local pow613 = pow292 * pow610; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow614 = pow220 * pow613; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow615 = pow220 * pow614; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow616 = pow262 * pow615; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow617 = pow370 * pow616; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4))). + local pow618 = pow228 * pow617; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow619 = pow301 * pow618; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow620 = pow193 * pow619; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow621 = pow228 * pow618; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow622 = pow228 * pow621; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow623 = pow341 * pow622; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow624 = pow262 * pow623; // pow(trace_generator, (safe_mult(7, keccak__row_ratio))). + local pow625 = pow228 * pow624; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow626 = pow228 * pow625; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow627 = pow410 * pow624; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4))). + local pow628 = pow191 * pow627; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow629 = pow192 * pow627; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow630 = pow193 * pow627; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow631 = pow202 * pow627; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). + local pow632 = pow234 * pow631; // pow(trace_generator, (safe_div((safe_mult(993, keccak__row_ratio)), 128))). + local pow633 = pow235 * pow632; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). + local pow634 = pow193 * pow632; // pow(trace_generator, (safe_div((safe_mult(993, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow635 = pow193 * pow633; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow636 = pow363 * pow632; // pow(trace_generator, (safe_mult(8, keccak__row_ratio))). + local pow637 = pow295 * pow636; // pow(trace_generator, (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). + local pow638 = pow452 * pow636; // pow(trace_generator, (safe_mult(9, keccak__row_ratio))). + local pow639 = pow228 * pow638; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow640 = pow228 * pow639; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow641 = pow193 * pow623; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow642 = pow228 * pow626; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow643 = pow228 * pow640; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow644 = pow228 * pow642; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow645 = pow228 * pow643; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128))). + local pow646 = pow297 * pow645; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 8))). + local pow647 = pow193 * pow646; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow648 = pow283 * pow646; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow649 = pow191 * pow648; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow650 = pow228 * pow644; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow651 = pow228 * pow650; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow652 = pow319 * pow651; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow653 = pow192 * pow652; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow654 = pow224 * pow651; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128))). + local pow655 = pow249 * pow648; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow656 = pow256 * pow655; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4))). + local pow657 = pow228 * pow656; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow658 = pow341 * pow657; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow659 = pow256 * pow656; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 32))). + local pow660 = pow254 * pow652; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow661 = pow192 * pow660; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow662 = pow193 * pow609; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow663 = pow193 * pow654; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow664 = pow193 * pow655; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow665 = pow210 * pow594; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). + local pow666 = pow210 * pow636; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(8, keccak__row_ratio))). + local pow667 = pow210 * pow637; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32))). + local pow668 = pow396 * pow656; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4))). + local pow669 = pow220 * pow668; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512))). + local pow670 = pow220 * pow669; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256))). + local pow671 = pow254 * pow668; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 512))). + local pow672 = pow235 * pow671; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(19, keccak__row_ratio)), 512))). + local pow673 = pow235 * pow672; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 512))). + local pow674 = pow279 * pow672; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128))). + local pow675 = pow283 * pow674; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow676 = pow220 * pow675; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow677 = pow220 * pow676; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64))). + local pow678 = pow247 * pow676; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow679 = pow273 * pow678; // pow(trace_generator, (safe_mult(10, keccak__row_ratio))). + local pow680 = pow303 * pow679; // pow(trace_generator, (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow681 = pow309 * pow680; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4))). + local pow682 = pow220 * pow681; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512))). + local pow683 = pow220 * pow682; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256))). + local pow684 = pow270 * pow681; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(27, keccak__row_ratio)), 512))). + local pow685 = pow235 * pow684; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(31, keccak__row_ratio)), 512))). + local pow686 = pow235 * pow685; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(35, keccak__row_ratio)), 512))). + local pow687 = pow301 * pow686; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow688 = pow220 * pow687; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow689 = pow220 * pow688; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128))). + local pow690 = pow396 * pow681; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4))). + local pow691 = pow228 * pow690; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow692 = pow228 * pow691; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow693 = pow224 * pow692; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). + local pow694 = pow193 * pow693; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow695 = pow220 * pow693; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow696 = pow228 * pow695; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow697 = pow228 * pow696; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow698 = pow301 * pow697; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). + local pow699 = pow273 * pow698; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow700 = pow254 * pow699; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow701 = pow273 * pow699; // pow(trace_generator, (safe_mult(11, keccak__row_ratio))). + local pow702 = pow228 * pow701; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow703 = pow220 * pow702; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 128))). + local pow704 = pow224 * pow703; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow705 = pow228 * pow704; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow706 = pow228 * pow705; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow707 = pow228 * pow706; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow708 = pow323 * pow707; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow709 = pow265 * pow707; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). + local pow710 = pow249 * pow708; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow711 = pow192 * pow710; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow712 = pow193 * pow671; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow713 = pow193 * pow672; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow714 = pow193 * pow673; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow715 = pow193 * pow684; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow716 = pow193 * pow685; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow717 = pow193 * pow686; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow718 = pow210 * pow679; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(10, keccak__row_ratio))). + local pow719 = pow210 * pow680; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128))). + local pow720 = pow193 * pow675; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow721 = pow193 * pow676; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow722 = pow193 * pow677; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow723 = pow193 * pow687; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow724 = pow193 * pow688; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow725 = pow193 * pow703; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow726 = pow193 * pow689; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow727 = pow191 * pow678; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow728 = pow191 * pow699; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow729 = pow191 * pow700; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow730 = pow329 * pow709; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4))). + local pow731 = pow228 * pow730; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow732 = pow228 * pow731; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow733 = pow228 * pow732; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow734 = pow228 * pow733; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow735 = pow228 * pow734; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow736 = pow228 * pow735; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow737 = pow228 * pow736; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow738 = pow247 * pow737; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16))). + local pow739 = pow193 * pow738; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow740 = pow325 * pow738; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow741 = pow240 * pow740; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2))). + local pow742 = pow315 * pow741; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32))). + local pow743 = pow228 * pow741; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow744 = pow266 * pow742; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow745 = pow192 * pow744; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow746 = pow396 * pow741; // pow(trace_generator, (safe_mult(12, keccak__row_ratio))). + local pow747 = pow311 * pow746; // pow(trace_generator, (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). + local pow748 = pow299 * pow747; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4))). + local pow749 = pow309 * pow748; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128))). + local pow750 = pow277 * pow749; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow751 = pow192 * pow750; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow752 = pow210 * pow746; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(12, keccak__row_ratio))). + local pow753 = pow210 * pow747; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64))). + local pow754 = pow273 * pow750; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2))). + local pow755 = pow228 * pow754; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow756 = pow331 * pow755; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16))). + local pow757 = pow391 * pow756; // pow(trace_generator, (safe_mult(13, keccak__row_ratio))). + local pow758 = pow396 * pow757; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2))). + local pow759 = pow291 * pow758; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128))). + local pow760 = pow299 * pow759; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow761 = pow273 * pow760; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4))). + local pow762 = pow220 * pow761; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512))). + local pow763 = pow220 * pow762; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256))). + local pow764 = pow220 * pow763; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow765 = pow193 * pow764; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow766 = pow235 * pow764; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 512))). + local pow767 = pow193 * pow766; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow768 = pow235 * pow766; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 512))). + local pow769 = pow193 * pow768; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow770 = pow317 * pow761; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow771 = pow193 * pow770; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow772 = pow220 * pow770; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow773 = pow193 * pow772; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow774 = pow220 * pow772; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow775 = pow193 * pow774; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow776 = pow288 * pow772; // pow(trace_generator, (safe_mult(14, keccak__row_ratio))). + local pow777 = pow396 * pow776; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2))). + local pow778 = pow273 * pow777; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128))). + local pow779 = pow396 * pow777; // pow(trace_generator, (safe_mult(15, keccak__row_ratio))). + local pow780 = pow364 * pow779; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4))). + local pow781 = pow228 * pow780; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow782 = pow228 * pow781; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow783 = pow228 * pow782; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow784 = pow228 * pow783; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow785 = pow210 * pow776; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(14, keccak__row_ratio))). + local pow786 = pow240 * pow756; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow787 = pow227 * pow785; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow788 = pow228 * pow787; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow789 = pow228 * pow788; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow790 = pow311 * pow778; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow791 = pow228 * pow784; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow792 = pow228 * pow791; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow793 = pow319 * pow792; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow794 = pow192 * pow790; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow795 = pow192 * pow793; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow796 = pow228 * pow789; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow797 = pow228 * pow796; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow798 = pow228 * pow797; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow799 = pow228 * pow798; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow800 = pow302 * pow798; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128))). + local pow801 = pow244 * pow800; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow802 = pow210 * pow801; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow803 = pow262 * pow801; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow804 = pow260 * pow803; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow805 = pow193 * pow804; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow806 = pow193 * pow800; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow807 = pow228 * pow792; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow808 = pow254 * pow807; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128))). + local pow809 = pow235 * pow808; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64))). + local pow810 = pow193 * pow808; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow811 = pow260 * pow793; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow812 = pow192 * pow811; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow813 = pow240 * pow811; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2))). + local pow814 = pow220 * pow813; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512))). + local pow815 = pow220 * pow814; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256))). + local pow816 = pow220 * pow815; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow817 = pow228 * pow816; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow818 = pow228 * pow817; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow819 = pow228 * pow818; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow820 = pow228 * pow819; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow821 = pow228 * pow820; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow822 = pow228 * pow821; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow823 = pow228 * pow822; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow824 = pow299 * pow823; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32))). + local pow825 = pow235 * pow824; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow826 = pow193 * pow824; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow827 = pow220 * pow825; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow828 = pow220 * pow827; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128))). + local pow829 = pow254 * pow827; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow830 = pow220 * pow829; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow831 = pow220 * pow830; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow832 = pow266 * pow830; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow833 = pow235 * pow832; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4))). + local pow834 = pow202 * pow833; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096))). + local pow835 = pow202 * pow834; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4))). + local pow836 = pow191 * pow833; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow837 = pow192 * pow833; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow838 = pow227 * pow835; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512))). + local pow839 = pow219 * pow838; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4))). + local pow840 = pow202 * pow839; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4))). + local pow841 = pow202 * pow840; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 128))). + local pow842 = pow235 * pow841; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64))). + local pow843 = pow329 * pow842; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow844 = pow192 * pow843; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow845 = pow228 * pow843; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128))). + local pow846 = pow191 * pow843; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio))). + local pow847 = pow192 * pow845; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio))). + local pow848 = pow193 * pow832; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow849 = pow193 * pow833; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow850 = pow193 * pow841; // pow(trace_generator, (safe_div((safe_mult(2017, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow851 = pow193 * pow842; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio))). + local pow852 = pow194 * pow202; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow853 = pow194 * pow235; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow854 = pow194 * pow244; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow855 = pow194 * pow249; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow856 = pow194 * pow645; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow857 = pow194 * pow252; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow858 = pow194 * pow256; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow859 = pow194 * pow261; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow860 = pow194 * pow264; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow861 = pow194 * pow269; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow862 = pow194 * pow273; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow863 = pow194 * pow277; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow864 = pow194 * pow279; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow865 = pow194 * pow280; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow866 = pow194 * pow283; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow867 = pow194 * pow287; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow868 = pow194 * pow809; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow869 = pow194 * pow291; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow870 = pow194 * pow295; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow871 = pow194 * pow297; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow872 = pow194 * pow299; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow873 = pow194 * pow301; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow874 = pow194 * pow302; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow875 = pow194 * pow303; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow876 = pow194 * pow304; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow877 = pow194 * pow305; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow878 = pow194 * pow307; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow879 = pow194 * pow309; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow880 = pow194 * pow557; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow881 = pow194 * pow311; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow882 = pow194 * pow313; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow883 = pow194 * pow315; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow884 = pow194 * pow317; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow885 = pow194 * pow319; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow886 = pow194 * pow321; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow887 = pow194 * pow323; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow888 = pow194 * pow329; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow889 = pow194 * pow335; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow890 = pow194 * pow341; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow891 = pow194 * pow346; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow892 = pow194 * pow348; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow893 = pow194 * pow481; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow894 = pow194 * pow490; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow895 = pow194 * pow759; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow896 = pow194 * pow760; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow897 = pow194 * pow610; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow898 = pow194 * pow350; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow899 = pow194 * pow352; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow900 = pow194 * pow353; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow901 = pow194 * pow558; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow902 = pow194 * pow566; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow903 = pow194 * pow568; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow904 = pow194 * pow577; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow905 = pow194 * pow354; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow906 = pow194 * pow356; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow907 = pow194 * pow491; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow908 = pow194 * pow611; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow909 = pow194 * pow492; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow910 = pow194 * pow358; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow911 = pow194 * pow365; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow912 = pow194 * pow411; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow913 = pow194 * pow464; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow914 = pow194 * pow525; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow915 = pow194 * pow631; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow916 = pow194 * pow360; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow917 = pow194 * pow361; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow918 = pow194 * pow420; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow919 = pow194 * pow581; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow920 = pow194 * pow582; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow921 = pow194 * pow825; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow922 = pow194 * pow583; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow923 = pow194 * pow674; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow924 = pow194 * pow827; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow925 = pow194 * pow828; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow926 = pow194 * pow829; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow927 = pow194 * pow830; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow928 = pow194 * pow831; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow929 = pow194 * pow833; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow930 = pow194 * pow834; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow931 = pow194 * pow838; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow932 = pow194 * pow841; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow933 = pow194 * pow613; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow934 = pow194 * pow614; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow935 = pow194 * pow658; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow936 = pow194 * pow708; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow937 = pow194 * pow698; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow938 = pow194 * pow742; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow939 = pow194 * pow709; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow940 = pow194 * pow843; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow941 = pow194 * pow518; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow942 = pow194 * pow612; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow943 = pow194 * pow615; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow944 = pow194 * pow654; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow945 = pow194 * pow659; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow946 = pow194 * pow778; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow947 = pow194 * pow362; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow948 = pow194 * pow363; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow949 = pow194 * pow399; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow950 = pow194 * pow756; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow951 = pow194 * pow786; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow952 = pow194 * pow749; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow953 = pow194 * pow800; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow954 = pow194 * pow803; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow955 = pow194 * pow845; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow956 = pow194 * pow616; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + local pow957 = pow194 * pow740; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio))). + let (local pow958) = pow( + trace_generator, (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + ); + local pow959 = pow277 * pow958; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow960 = pow277 * pow959; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow961 = pow277 * pow960; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow962 = pow277 * pow961; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow963 = pow277 * pow962; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow964 = pow277 * pow963; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow965 = pow277 * pow964; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow966 = pow277 * pow965; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow967 = pow277 * pow966; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow968 = pow277 * pow967; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow969 = pow277 * pow968; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow970 = pow277 * pow969; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow971 = pow277 * pow970; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow972 = pow277 * pow971; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + local pow973 = pow277 * pow972; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio))). + let (local pow974) = pow( trace_generator, (safe_div((safe_mult(255, ec_op_builtin_row_ratio)), 256)) ); - let (local pow840) = pow( + let (local pow975) = pow( trace_generator, (safe_div((safe_mult(251, ec_op_builtin_row_ratio)), 256)) ); - let (local pow841) = pow( + let (local pow976) = pow( trace_generator, (safe_div((safe_mult(49, ec_op_builtin_row_ratio)), 64)) ); - let (local pow842) = pow( + let (local pow977) = pow( trace_generator, (safe_div((safe_mult(3, ec_op_builtin_row_ratio)), 4)) ); - let (local pow843) = pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256))); - local pow844 = pow841 * pow843; // pow(trace_generator, (safe_div((safe_mult(197, ec_op_builtin_row_ratio)), 256))). - local pow845 = pow840 * pow843; // pow(trace_generator, (safe_div((safe_mult(63, ec_op_builtin_row_ratio)), 64))). - local pow846 = pow842 * pow843; // pow(trace_generator, (safe_div((safe_mult(193, ec_op_builtin_row_ratio)), 256))). - local pow847 = pow839 * pow843; // pow(trace_generator, ec_op_builtin_row_ratio). - let (local pow848) = pow( + let (local pow978) = pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256))); + local pow979 = pow974 * pow978; // pow(trace_generator, ec_op_builtin_row_ratio). + local pow980 = pow976 * pow978; // pow(trace_generator, (safe_div((safe_mult(197, ec_op_builtin_row_ratio)), 256))). + local pow981 = pow975 * pow978; // pow(trace_generator, (safe_div((safe_mult(63, ec_op_builtin_row_ratio)), 64))). + local pow982 = pow977 * pow978; // pow(trace_generator, (safe_div((safe_mult(193, ec_op_builtin_row_ratio)), 256))). + let (local pow983) = pow( trace_generator, (safe_mult(ec_op__r_y_suboffset, memory_units_row_ratio)) ); - let (local pow849) = pow( + let (local pow984) = pow( trace_generator, (safe_mult(ec_op__r_x_suboffset, memory_units_row_ratio)) ); - let (local pow850) = pow( + let (local pow985) = pow( trace_generator, (safe_mult(ec_op__m_suboffset, memory_units_row_ratio)) ); - let (local pow851) = pow( + let (local pow986) = pow( trace_generator, (safe_mult(ec_op__q_y_suboffset, memory_units_row_ratio)) ); - let (local pow852) = pow( + let (local pow987) = pow( trace_generator, (safe_mult(ec_op__q_x_suboffset, memory_units_row_ratio)) ); - let (local pow853) = pow( + let (local pow988) = pow( trace_generator, (safe_mult(ec_op__p_y_suboffset, memory_units_row_ratio)) ); - let (local pow854) = pow( + let (local pow989) = pow( trace_generator, (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) ); - local pow855 = pow847 * pow854; // pow(trace_generator, ec_op_builtin_row_ratio + (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio))). - let (local pow856) = pow( + local pow990 = pow979 * pow989; // pow(trace_generator, ec_op_builtin_row_ratio + (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio))). + let (local pow991) = pow( trace_generator, (safe_mult(bitwise__trim_unpacking195_suboffset, diluted_units_row_ratio)) ); - let (local pow857) = pow( + let (local pow992) = pow( trace_generator, (safe_mult(bitwise__trim_unpacking194_suboffset, diluted_units_row_ratio)) ); - let (local pow858) = pow( + let (local pow993) = pow( trace_generator, (safe_mult(bitwise__trim_unpacking193_suboffset, diluted_units_row_ratio)) ); - let (local pow859) = pow( + let (local pow994) = pow( trace_generator, (safe_mult(bitwise__trim_unpacking192_suboffset, diluted_units_row_ratio)) ); - let (local pow860) = pow( + let (local pow995) = pow( trace_generator, (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) ); - local pow861 = pow0 * pow860; // pow(trace_generator, (safe_div(bitwise__row_ratio, 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow862 = pow0 * pow861; // pow(trace_generator, (safe_div(bitwise__row_ratio, 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow863 = pow0 * pow862; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow864 = pow0 * pow863; // pow(trace_generator, (safe_div(bitwise__row_ratio, 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow865 = pow0 * pow864; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow866 = pow0 * pow865; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow867 = pow0 * pow866; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow868 = pow0 * pow867; // pow(trace_generator, (safe_div(bitwise__row_ratio, 8)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow869 = pow0 * pow868; // pow(trace_generator, (safe_div((safe_mult(9, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow870 = pow0 * pow869; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow871 = pow0 * pow870; // pow(trace_generator, (safe_div((safe_mult(11, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow872 = pow0 * pow871; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow873 = pow0 * pow872; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow874 = pow0 * pow873; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow875 = pow0 * pow874; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow876 = pow0 * pow875; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow877 = pow15 * pow876; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow878 = pow11 * pow877; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow879 = pow0 * pow878; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow880 = pow0 * pow879; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow881 = pow0 * pow880; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow882 = pow0 * pow881; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow883 = pow11 * pow882; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow884 = pow0 * pow883; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow885 = pow0 * pow884; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - local pow886 = pow0 * pow885; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). - let (local pow887) = pow( + local pow996 = pow3 * pow995; // pow(trace_generator, (safe_div(bitwise__row_ratio, 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow997 = pow3 * pow996; // pow(trace_generator, (safe_div(bitwise__row_ratio, 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow998 = pow3 * pow997; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow999 = pow3 * pow998; // pow(trace_generator, (safe_div(bitwise__row_ratio, 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1000 = pow3 * pow999; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1001 = pow3 * pow1000; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1002 = pow3 * pow1001; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1003 = pow3 * pow1002; // pow(trace_generator, (safe_div(bitwise__row_ratio, 8)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1004 = pow3 * pow1003; // pow(trace_generator, (safe_div((safe_mult(9, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1005 = pow3 * pow1004; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1006 = pow3 * pow1005; // pow(trace_generator, (safe_div((safe_mult(11, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1007 = pow3 * pow1006; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1008 = pow3 * pow1007; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1009 = pow3 * pow1008; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1010 = pow3 * pow1009; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1011 = pow3 * pow1010; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1012 = pow18 * pow1011; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1013 = pow14 * pow1012; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1014 = pow3 * pow1013; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1015 = pow3 * pow1014; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1016 = pow3 * pow1015; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1017 = pow3 * pow1016; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1018 = pow14 * pow1017; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1019 = pow3 * pow1018; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1020 = pow3 * pow1019; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + local pow1021 = pow3 * pow1020; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio))). + let (local pow1022) = pow( trace_generator, (safe_mult(bitwise__x_or_y_suboffset, memory_units_row_ratio)) ); - let (local pow888) = pow( + let (local pow1023) = pow( trace_generator, (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) ); - local pow889 = pow15 * pow888; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). - local pow890 = pow15 * pow889; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). - local pow891 = pow15 * pow890; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). - local pow892 = pow15 * pow891; // pow(trace_generator, bitwise__row_ratio + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). - let (local pow893) = pow( + local pow1024 = pow18 * pow1023; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). + local pow1025 = pow18 * pow1024; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). + local pow1026 = pow18 * pow1025; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). + local pow1027 = pow18 * pow1026; // pow(trace_generator, bitwise__row_ratio + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio))). + let (local pow1028) = pow( trace_generator, (safe_mult(ecdsa__message_suboffset, memory_units_row_ratio)) ); - let (local pow894) = pow( + let (local pow1029) = pow( trace_generator, (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) ); - let (local pow895) = pow( + let (local pow1030) = pow( trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) ); - local pow896 = pow895 * pow895; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 256))). - let (local pow897) = pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512))); - local pow898 = pow895 * pow897; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2))). - local pow899 = pow897 * pow897; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256))). - local pow900 = pow895 * pow898; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512))). - local pow901 = pow896 * pow899; // pow(trace_generator, ecdsa_builtin_row_ratio). - local pow902 = pow894 * pow901; // pow(trace_generator, ecdsa_builtin_row_ratio + (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio))). - let (local pow903) = pow( + local pow1031 = pow1030 * pow1030; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 256))). + let (local pow1032) = pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512))); + local pow1033 = pow1030 * pow1032; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2))). + local pow1034 = pow1030 * pow1033; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512))). + local pow1035 = pow1032 * pow1032; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256))). + local pow1036 = pow1031 * pow1035; // pow(trace_generator, ecdsa_builtin_row_ratio). + local pow1037 = pow1029 * pow1036; // pow(trace_generator, ecdsa_builtin_row_ratio + (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio))). + let (local pow1038) = pow( trace_generator, (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)), ); - local pow904 = pow27 * pow903; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - local pow905 = pow27 * pow904; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - local pow906 = pow27 * pow905; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - local pow907 = pow27 * pow906; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 2)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - local pow908 = pow27 * pow907; // pow(trace_generator, (safe_div((safe_mult(5, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - local pow909 = pow27 * pow908; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - local pow910 = pow27 * pow909; // pow(trace_generator, (safe_div((safe_mult(7, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). - let (local pow911) = pow( + local pow1039 = pow30 * pow1038; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + local pow1040 = pow30 * pow1039; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + local pow1041 = pow30 * pow1040; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + local pow1042 = pow30 * pow1041; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 2)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + local pow1043 = pow30 * pow1042; // pow(trace_generator, (safe_div((safe_mult(5, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + local pow1044 = pow30 * pow1043; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + local pow1045 = pow30 * pow1044; // pow(trace_generator, (safe_div((safe_mult(7, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio))). + let (local pow1046) = pow( trace_generator, (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) ); - local pow912 = pow34 * pow911; // pow(trace_generator, range_check_builtin_row_ratio + (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio))). - let (local pow913) = pow( + local pow1047 = pow37 * pow1046; // pow(trace_generator, range_check_builtin_row_ratio + (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio))). + let (local pow1048) = pow( trace_generator, (safe_mult(pedersen__input1_suboffset, memory_units_row_ratio)) ); - let (local pow914) = pow( + let (local pow1049) = pow( trace_generator, (safe_mult(pedersen__output_suboffset, memory_units_row_ratio)) ); - let (local pow915) = pow( + let (local pow1050) = pow( trace_generator, (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) ); - let (local pow916) = pow( + let (local pow1051) = pow( trace_generator, (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) ); - let (local pow917) = pow( + let (local pow1052) = pow( trace_generator, (safe_div((safe_mult(251, pedersen_builtin_row_ratio)), 512)) ); - let (local pow918) = pow( + let (local pow1053) = pow( trace_generator, (safe_div((safe_mult(49, pedersen_builtin_row_ratio)), 128)) ); - let (local pow919) = pow( + let (local pow1054) = pow( trace_generator, (safe_div((safe_mult(3, pedersen_builtin_row_ratio)), 8)) ); - let (local pow920) = pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512))); - local pow921 = pow916 * pow920; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2))). - local pow922 = pow916 * pow921; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512))). - local pow923 = pow920 * pow922; // pow(trace_generator, pedersen_builtin_row_ratio). - local pow924 = pow915 * pow923; // pow(trace_generator, pedersen_builtin_row_ratio + (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio))). - local pow925 = pow917 * pow920; // pow(trace_generator, (safe_div((safe_mult(63, pedersen_builtin_row_ratio)), 128))). - local pow926 = pow918 * pow920; // pow(trace_generator, (safe_div((safe_mult(197, pedersen_builtin_row_ratio)), 512))). - local pow927 = pow919 * pow920; // pow(trace_generator, (safe_div((safe_mult(193, pedersen_builtin_row_ratio)), 512))). - let (local pow928) = pow(trace_generator, diluted_units_row_ratio); - let (local pow929) = pow(trace_generator, range_check_units_row_ratio); - let (local pow930) = pow( + let (local pow1055) = pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512))); + local pow1056 = pow1054 * pow1055; // pow(trace_generator, (safe_div((safe_mult(193, pedersen_builtin_row_ratio)), 512))). + local pow1057 = pow1051 * pow1055; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2))). + local pow1058 = pow1051 * pow1057; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512))). + local pow1059 = pow1055 * pow1058; // pow(trace_generator, pedersen_builtin_row_ratio). + local pow1060 = pow1050 * pow1059; // pow(trace_generator, pedersen_builtin_row_ratio + (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio))). + local pow1061 = pow1053 * pow1055; // pow(trace_generator, (safe_div((safe_mult(197, pedersen_builtin_row_ratio)), 512))). + local pow1062 = pow1052 * pow1055; // pow(trace_generator, (safe_div((safe_mult(63, pedersen_builtin_row_ratio)), 128))). + let (local pow1063) = pow(trace_generator, diluted_units_row_ratio); + let (local pow1064) = pow(trace_generator, range_check_units_row_ratio); + let (local pow1065) = pow( trace_generator, (safe_mult(orig__public_memory_suboffset, memory_units_row_ratio)) ); - let (local pow931) = pow(trace_generator, memory_units_row_ratio); - let (local pow932) = pow( + let (local pow1066) = pow(trace_generator, memory_units_row_ratio); + let (local pow1067) = pow( trace_generator, (safe_mult(cpu__operands__mem_op1_suboffset, memory_units_row_ratio)) ); - let (local pow933) = pow( + let (local pow1068) = pow( trace_generator, (safe_mult(cpu__operands__mem_op0_suboffset, memory_units_row_ratio)) ); - let (local pow934) = pow( + let (local pow1069) = pow( trace_generator, (safe_mult(cpu__operands__mem_dst_suboffset, memory_units_row_ratio)) ); - let (local pow935) = pow( + let (local pow1070) = pow( trace_generator, (safe_mult(cpu__decode__off0_suboffset, range_check_units_row_ratio)) ); - let (local pow936) = pow( + let (local pow1071) = pow( trace_generator, (safe_mult(cpu__decode__off1_suboffset, range_check_units_row_ratio)) ); - let (local pow937) = pow( + let (local pow1072) = pow( trace_generator, (safe_mult(cpu__decode__off2_suboffset, range_check_units_row_ratio)) ); - let (local pow938) = pow( + let (local pow1073) = pow( trace_generator, (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) ); - let (local pow939) = pow(trace_generator, cpu_component_step); - local pow940 = pow939 * pow939; // pow(trace_generator, (safe_mult(2, cpu_component_step))). - local pow941 = pow939 * pow940; // pow(trace_generator, (safe_mult(2, cpu_component_step)) + cpu_component_step). - local pow942 = pow939 * pow941; // pow(trace_generator, (safe_mult(4, cpu_component_step))). - local pow943 = pow939 * pow942; // pow(trace_generator, (safe_mult(4, cpu_component_step)) + cpu_component_step). - local pow944 = pow939 * pow943; // pow(trace_generator, (safe_mult(5, cpu_component_step)) + cpu_component_step). - local pow945 = pow939 * pow944; // pow(trace_generator, (safe_mult(6, cpu_component_step)) + cpu_component_step). - local pow946 = pow939 * pow945; // pow(trace_generator, (safe_mult(7, cpu_component_step)) + cpu_component_step). - local pow947 = pow939 * pow946; // pow(trace_generator, (safe_mult(9, cpu_component_step))). - local pow948 = pow939 * pow947; // pow(trace_generator, (safe_mult(9, cpu_component_step)) + cpu_component_step). - local pow949 = pow939 * pow948; // pow(trace_generator, (safe_mult(10, cpu_component_step)) + cpu_component_step). - local pow950 = pow939 * pow949; // pow(trace_generator, (safe_mult(12, cpu_component_step))). - local pow951 = pow939 * pow950; // pow(trace_generator, (safe_mult(12, cpu_component_step)) + cpu_component_step). - local pow952 = pow939 * pow951; // pow(trace_generator, (safe_mult(13, cpu_component_step)) + cpu_component_step). - local pow953 = pow939 * pow952; // pow(trace_generator, (safe_mult(14, cpu_component_step)) + cpu_component_step). - local pow954 = pow939 * pow953; // pow(trace_generator, (safe_mult(16, cpu_component_step))). - local pow955 = pow938 * pow954; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio))). - let (local pow956) = pow(trace_generator, diluted_check__cumulative_value_offset); - local pow957 = pow928 * pow956; // pow(trace_generator, diluted_units_row_ratio + diluted_check__cumulative_value_offset). - let (local pow958) = pow(trace_generator, diluted_check__permutation__cum_prod0_offset); - local pow959 = pow928 * pow958; // pow(trace_generator, diluted_units_row_ratio + diluted_check__permutation__cum_prod0_offset). - let (local pow960) = pow(trace_generator, range_check16__perm__cum_prod0_offset); - local pow961 = pow929 * pow960; // pow(trace_generator, range_check_units_row_ratio + range_check16__perm__cum_prod0_offset). - let (local pow962) = pow(trace_generator, memory__multi_column_perm__perm__cum_prod0_offset); - local pow963 = pow931 * pow962; // pow(trace_generator, memory_units_row_ratio + memory__multi_column_perm__perm__cum_prod0_offset). - let (local pow964) = pow(trace_generator, poseidon__poseidon__partial_rounds_state1_offset); - local pow965 = pow37 * pow964; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state1_offset). - local pow966 = pow37 * pow965; // pow(trace_generator, (safe_div(poseidon__row_ratio, 16)) + poseidon__poseidon__partial_rounds_state1_offset). - local pow967 = pow37 * pow966; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_offset). - local pow968 = pow43 * pow967; // pow(trace_generator, (safe_div((safe_mult(19, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_offset). - local pow969 = pow37 * pow968; // pow(trace_generator, (safe_div((safe_mult(5, poseidon__row_ratio)), 8)) + poseidon__poseidon__partial_rounds_state1_offset). - local pow970 = pow37 * pow969; // pow(trace_generator, (safe_div((safe_mult(21, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_offset). - let (local pow971) = pow( + let (local pow1074) = pow(trace_generator, cpu_component_step); + local pow1075 = pow1074 * pow1074; // pow(trace_generator, (safe_mult(2, cpu_component_step))). + local pow1076 = pow1074 * pow1075; // pow(trace_generator, (safe_mult(2, cpu_component_step)) + cpu_component_step). + local pow1077 = pow1074 * pow1076; // pow(trace_generator, (safe_mult(4, cpu_component_step))). + local pow1078 = pow1074 * pow1077; // pow(trace_generator, (safe_mult(4, cpu_component_step)) + cpu_component_step). + local pow1079 = pow1074 * pow1078; // pow(trace_generator, (safe_mult(5, cpu_component_step)) + cpu_component_step). + local pow1080 = pow1074 * pow1079; // pow(trace_generator, (safe_mult(6, cpu_component_step)) + cpu_component_step). + local pow1081 = pow1074 * pow1080; // pow(trace_generator, (safe_mult(7, cpu_component_step)) + cpu_component_step). + local pow1082 = pow1074 * pow1081; // pow(trace_generator, (safe_mult(9, cpu_component_step))). + local pow1083 = pow1074 * pow1082; // pow(trace_generator, (safe_mult(9, cpu_component_step)) + cpu_component_step). + local pow1084 = pow1074 * pow1083; // pow(trace_generator, (safe_mult(10, cpu_component_step)) + cpu_component_step). + local pow1085 = pow1074 * pow1084; // pow(trace_generator, (safe_mult(12, cpu_component_step))). + local pow1086 = pow1074 * pow1085; // pow(trace_generator, (safe_mult(12, cpu_component_step)) + cpu_component_step). + local pow1087 = pow1074 * pow1086; // pow(trace_generator, (safe_mult(13, cpu_component_step)) + cpu_component_step). + local pow1088 = pow1074 * pow1087; // pow(trace_generator, (safe_mult(14, cpu_component_step)) + cpu_component_step). + local pow1089 = pow1074 * pow1088; // pow(trace_generator, (safe_mult(16, cpu_component_step))). + local pow1090 = pow1073 * pow1089; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio))). + let (local pow1091) = pow(trace_generator, diluted_check__cumulative_value_offset); + local pow1092 = pow1063 * pow1091; // pow(trace_generator, diluted_units_row_ratio + diluted_check__cumulative_value_offset). + let (local pow1093) = pow(trace_generator, diluted_check__permutation__cum_prod0_offset); + local pow1094 = pow1063 * pow1093; // pow(trace_generator, diluted_units_row_ratio + diluted_check__permutation__cum_prod0_offset). + let (local pow1095) = pow(trace_generator, range_check16__perm__cum_prod0_offset); + local pow1096 = pow1064 * pow1095; // pow(trace_generator, range_check_units_row_ratio + range_check16__perm__cum_prod0_offset). + let (local pow1097) = pow(trace_generator, memory__multi_column_perm__perm__cum_prod0_offset); + local pow1098 = pow1066 * pow1097; // pow(trace_generator, memory_units_row_ratio + memory__multi_column_perm__perm__cum_prod0_offset). + let (local pow1099) = pow(trace_generator, add_mod__carry3_sign_offset); + let (local pow1100) = pow(trace_generator, add_mod__carry3_bit_offset); + let (local pow1101) = pow(trace_generator, add_mod__carry2_sign_offset); + let (local pow1102) = pow(trace_generator, add_mod__carry2_bit_offset); + let (local pow1103) = pow(trace_generator, add_mod__carry1_sign_offset); + let (local pow1104) = pow(trace_generator, add_mod__carry1_bit_offset); + let (local pow1105) = pow(trace_generator, add_mod__sub_p_bit_offset); + let (local pow1106) = pow(trace_generator, poseidon__poseidon__partial_rounds_state1_offset); + local pow1107 = pow172 * pow1106; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state1_offset). + local pow1108 = pow172 * pow1107; // pow(trace_generator, (safe_div(poseidon__row_ratio, 16)) + poseidon__poseidon__partial_rounds_state1_offset). + local pow1109 = pow172 * pow1108; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_offset). + local pow1110 = pow178 * pow1109; // pow(trace_generator, (safe_div((safe_mult(19, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_offset). + local pow1111 = pow172 * pow1110; // pow(trace_generator, (safe_div((safe_mult(5, poseidon__row_ratio)), 8)) + poseidon__poseidon__partial_rounds_state1_offset). + local pow1112 = pow172 * pow1111; // pow(trace_generator, (safe_div((safe_mult(21, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_offset). + let (local pow1113) = pow( trace_generator, poseidon__poseidon__partial_rounds_state1_squared_offset ); - local pow972 = pow44 * pow971; // pow(trace_generator, (safe_div((safe_mult(19, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_squared_offset). - local pow973 = pow37 * pow971; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state1_squared_offset). - local pow974 = pow37 * pow973; // pow(trace_generator, (safe_div(poseidon__row_ratio, 16)) + poseidon__poseidon__partial_rounds_state1_squared_offset). - local pow975 = pow37 * pow972; // pow(trace_generator, (safe_div((safe_mult(5, poseidon__row_ratio)), 8)) + poseidon__poseidon__partial_rounds_state1_squared_offset). - local pow976 = pow37 * pow975; // pow(trace_generator, (safe_div((safe_mult(21, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_squared_offset). - let (local pow977) = pow(trace_generator, poseidon__poseidon__partial_rounds_state0_offset); - local pow978 = pow35 * pow977; // pow(trace_generator, (safe_div(poseidon__row_ratio, 64)) + poseidon__poseidon__partial_rounds_state0_offset). - local pow979 = pow35 * pow978; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state0_offset). - local pow980 = pow35 * pow979; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 64)) + poseidon__poseidon__partial_rounds_state0_offset). - local pow981 = pow41 * pow977; // pow(trace_generator, (safe_div((safe_mult(61, poseidon__row_ratio)), 64)) + poseidon__poseidon__partial_rounds_state0_offset). - local pow982 = pow35 * pow981; // pow(trace_generator, (safe_div((safe_mult(31, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state0_offset). - local pow983 = pow35 * pow982; // pow(trace_generator, (safe_div((safe_mult(63, poseidon__row_ratio)), 64)) + poseidon__poseidon__partial_rounds_state0_offset). - let (local pow984) = pow( + local pow1114 = pow179 * pow1113; // pow(trace_generator, (safe_div((safe_mult(19, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_squared_offset). + local pow1115 = pow172 * pow1113; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state1_squared_offset). + local pow1116 = pow172 * pow1115; // pow(trace_generator, (safe_div(poseidon__row_ratio, 16)) + poseidon__poseidon__partial_rounds_state1_squared_offset). + local pow1117 = pow172 * pow1114; // pow(trace_generator, (safe_div((safe_mult(5, poseidon__row_ratio)), 8)) + poseidon__poseidon__partial_rounds_state1_squared_offset). + local pow1118 = pow172 * pow1117; // pow(trace_generator, (safe_div((safe_mult(21, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state1_squared_offset). + let (local pow1119) = pow(trace_generator, poseidon__poseidon__partial_rounds_state0_offset); + local pow1120 = pow170 * pow1119; // pow(trace_generator, (safe_div(poseidon__row_ratio, 64)) + poseidon__poseidon__partial_rounds_state0_offset). + local pow1121 = pow170 * pow1120; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state0_offset). + local pow1122 = pow170 * pow1121; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 64)) + poseidon__poseidon__partial_rounds_state0_offset). + local pow1123 = pow176 * pow1119; // pow(trace_generator, (safe_div((safe_mult(61, poseidon__row_ratio)), 64)) + poseidon__poseidon__partial_rounds_state0_offset). + local pow1124 = pow170 * pow1123; // pow(trace_generator, (safe_div((safe_mult(31, poseidon__row_ratio)), 32)) + poseidon__poseidon__partial_rounds_state0_offset). + local pow1125 = pow170 * pow1124; // pow(trace_generator, (safe_div((safe_mult(63, poseidon__row_ratio)), 64)) + poseidon__poseidon__partial_rounds_state0_offset). + let (local pow1126) = pow( trace_generator, poseidon__poseidon__partial_rounds_state0_squared_offset ); - local pow985 = pow35 * pow984; // pow(trace_generator, (safe_div(poseidon__row_ratio, 64)) + poseidon__poseidon__partial_rounds_state0_squared_offset). - local pow986 = pow35 * pow985; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state0_squared_offset). - let (local pow987) = pow(trace_generator, poseidon__poseidon__full_rounds_state2_offset); - local pow988 = pow36 * pow987; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_offset). - local pow989 = pow42 * pow987; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8)) + poseidon__poseidon__full_rounds_state2_offset). - local pow990 = pow36 * pow989; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + poseidon__poseidon__full_rounds_state2_offset). - local pow991 = pow36 * pow990; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_offset). - let (local pow992) = pow( + local pow1127 = pow170 * pow1126; // pow(trace_generator, (safe_div(poseidon__row_ratio, 64)) + poseidon__poseidon__partial_rounds_state0_squared_offset). + local pow1128 = pow170 * pow1127; // pow(trace_generator, (safe_div(poseidon__row_ratio, 32)) + poseidon__poseidon__partial_rounds_state0_squared_offset). + let (local pow1129) = pow(trace_generator, poseidon__poseidon__full_rounds_state2_offset); + local pow1130 = pow171 * pow1129; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_offset). + local pow1131 = pow177 * pow1129; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8)) + poseidon__poseidon__full_rounds_state2_offset). + local pow1132 = pow171 * pow1131; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + poseidon__poseidon__full_rounds_state2_offset). + local pow1133 = pow171 * pow1132; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_offset). + let (local pow1134) = pow( trace_generator, poseidon__poseidon__full_rounds_state2_squared_offset ); - local pow993 = pow36 * pow992; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_squared_offset). - local pow994 = pow43 * pow993; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_squared_offset). - let (local pow995) = pow(trace_generator, poseidon__poseidon__full_rounds_state1_offset); - local pow996 = pow42 * pow995; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8)) + poseidon__poseidon__full_rounds_state1_offset). - local pow997 = pow36 * pow995; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_offset). - local pow998 = pow36 * pow996; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + poseidon__poseidon__full_rounds_state1_offset). - local pow999 = pow36 * pow998; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_offset). - let (local pow1000) = pow( + local pow1135 = pow171 * pow1134; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_squared_offset). + local pow1136 = pow178 * pow1135; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state2_squared_offset). + let (local pow1137) = pow(trace_generator, poseidon__poseidon__full_rounds_state1_offset); + local pow1138 = pow177 * pow1137; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8)) + poseidon__poseidon__full_rounds_state1_offset). + local pow1139 = pow171 * pow1137; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_offset). + local pow1140 = pow171 * pow1138; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + poseidon__poseidon__full_rounds_state1_offset). + local pow1141 = pow171 * pow1140; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_offset). + let (local pow1142) = pow( trace_generator, poseidon__poseidon__full_rounds_state1_squared_offset ); - local pow1001 = pow36 * pow1000; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_squared_offset). - local pow1002 = pow43 * pow1001; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_squared_offset). - let (local pow1003) = pow(trace_generator, poseidon__poseidon__full_rounds_state0_offset); - local pow1004 = pow36 * pow1003; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_offset). - local pow1005 = pow42 * pow1003; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8)) + poseidon__poseidon__full_rounds_state0_offset). - local pow1006 = pow36 * pow1005; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + poseidon__poseidon__full_rounds_state0_offset). - local pow1007 = pow36 * pow1006; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_offset). - let (local pow1008) = pow( + local pow1143 = pow171 * pow1142; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_squared_offset). + local pow1144 = pow178 * pow1143; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state1_squared_offset). + let (local pow1145) = pow(trace_generator, poseidon__poseidon__full_rounds_state0_offset); + local pow1146 = pow171 * pow1145; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_offset). + local pow1147 = pow177 * pow1145; // pow(trace_generator, (safe_div(poseidon__row_ratio, 8)) + poseidon__poseidon__full_rounds_state0_offset). + local pow1148 = pow171 * pow1147; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + poseidon__poseidon__full_rounds_state0_offset). + local pow1149 = pow171 * pow1148; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_offset). + let (local pow1150) = pow( trace_generator, poseidon__poseidon__full_rounds_state0_squared_offset ); - local pow1009 = pow36 * pow1008; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_squared_offset). - local pow1010 = pow43 * pow1009; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_squared_offset). - let (local pow1011) = pow(trace_generator, keccak__keccak__rotated_parity4_offset); - local pow1012 = pow86 * pow1011; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity4_offset). - local pow1013 = pow86 * pow1012; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity4_offset). - local pow1014 = pow207 * pow1011; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity4_offset). - local pow1015 = pow368 * pow1014; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + keccak__keccak__rotated_parity4_offset). - local pow1016 = pow207 * pow1015; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity4_offset). - local pow1017 = pow86 * pow1016; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity4_offset). - local pow1018 = pow86 * pow1017; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity4_offset). - local pow1019 = pow558 * pow1016; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + keccak__keccak__rotated_parity4_offset). - local pow1020 = pow340 * pow1019; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity4_offset). - local pow1021 = pow359 * pow1020; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity4_offset). - let (local pow1022) = pow(trace_generator, keccak__keccak__rotated_parity3_offset); - local pow1023 = pow207 * pow1022; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity3_offset). - local pow1024 = pow207 * pow1023; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + keccak__keccak__rotated_parity3_offset). - local pow1025 = pow207 * pow1024; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity3_offset). - local pow1026 = pow461 * pow1025; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity3_offset). - local pow1027 = pow566 * pow1026; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity3_offset). - local pow1028 = pow404 * pow1027; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity3_offset). - let (local pow1029) = pow(trace_generator, keccak__keccak__rotated_parity2_offset); - local pow1030 = pow710 * pow1029; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity2_offset). - local pow1031 = pow86 * pow1029; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity2_offset). - local pow1032 = pow86 * pow1031; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity2_offset). - local pow1033 = pow207 * pow1029; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity2_offset). - local pow1034 = pow461 * pow1033; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity2_offset). - local pow1035 = pow207 * pow1034; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + keccak__keccak__rotated_parity2_offset). - local pow1036 = pow373 * pow1030; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity2_offset). - local pow1037 = pow86 * pow1036; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity2_offset). - local pow1038 = pow86 * pow1037; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity2_offset). - local pow1039 = pow207 * pow1036; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity2_offset). - let (local pow1040) = pow(trace_generator, keccak__keccak__rotated_parity1_offset); - local pow1041 = pow493 * pow1040; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity1_offset). - local pow1042 = pow86 * pow1040; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity1_offset). - local pow1043 = pow86 * pow1041; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity1_offset). - local pow1044 = pow86 * pow1042; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity1_offset). - local pow1045 = pow86 * pow1043; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity1_offset). - local pow1046 = pow207 * pow1040; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity1_offset). - local pow1047 = pow558 * pow1046; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + keccak__keccak__rotated_parity1_offset). - local pow1048 = pow461 * pow1047; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity1_offset). - local pow1049 = pow441 * pow1048; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity1_offset). - let (local pow1050) = pow(trace_generator, keccak__keccak__rotated_parity0_offset); - local pow1051 = pow86 * pow1050; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity0_offset). - local pow1052 = pow86 * pow1051; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity0_offset). - local pow1053 = pow207 * pow1050; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity0_offset). - local pow1054 = pow523 * pow1053; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity0_offset). - local pow1055 = pow86 * pow1054; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity0_offset). - local pow1056 = pow86 * pow1055; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity0_offset). - local pow1057 = pow420 * pow1054; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity0_offset). - local pow1058 = pow368 * pow1057; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + keccak__keccak__rotated_parity0_offset). - local pow1059 = pow362 * pow1058; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity0_offset). - local pow1060 = pow362 * pow1059; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + keccak__keccak__rotated_parity0_offset). - let (local pow1061) = pow( + local pow1151 = pow171 * pow1150; // pow(trace_generator, (safe_div((safe_mult(3, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_squared_offset). + local pow1152 = pow178 * pow1151; // pow(trace_generator, (safe_div((safe_mult(7, poseidon__row_ratio)), 8)) + poseidon__poseidon__full_rounds_state0_squared_offset). + let (local pow1153) = pow(trace_generator, keccak__keccak__rotated_parity4_offset); + local pow1154 = pow220 * pow1153; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity4_offset). + local pow1155 = pow220 * pow1154; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity4_offset). + local pow1156 = pow364 * pow1153; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity4_offset). + local pow1157 = pow460 * pow1156; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + keccak__keccak__rotated_parity4_offset). + local pow1158 = pow364 * pow1157; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity4_offset). + local pow1159 = pow220 * pow1158; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity4_offset). + local pow1160 = pow220 * pow1159; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity4_offset). + local pow1161 = pow617 * pow1158; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + keccak__keccak__rotated_parity4_offset). + local pow1162 = pow410 * pow1161; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity4_offset). + local pow1163 = pow452 * pow1162; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity4_offset). + let (local pow1164) = pow(trace_generator, keccak__keccak__rotated_parity3_offset); + local pow1165 = pow364 * pow1164; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity3_offset). + local pow1166 = pow364 * pow1165; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + keccak__keccak__rotated_parity3_offset). + local pow1167 = pow364 * pow1166; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity3_offset). + local pow1168 = pow540 * pow1167; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity3_offset). + local pow1169 = pow624 * pow1168; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity3_offset). + local pow1170 = pow486 * pow1169; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity3_offset). + let (local pow1171) = pow(trace_generator, keccak__keccak__rotated_parity2_offset); + local pow1172 = pow758 * pow1171; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity2_offset). + local pow1173 = pow220 * pow1171; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity2_offset). + local pow1174 = pow220 * pow1173; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity2_offset). + local pow1175 = pow364 * pow1171; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity2_offset). + local pow1176 = pow540 * pow1175; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity2_offset). + local pow1177 = pow364 * pow1176; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + keccak__keccak__rotated_parity2_offset). + local pow1178 = pow469 * pow1172; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity2_offset). + local pow1179 = pow220 * pow1178; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity2_offset). + local pow1180 = pow220 * pow1179; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity2_offset). + local pow1181 = pow364 * pow1178; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity2_offset). + let (local pow1182) = pow(trace_generator, keccak__keccak__rotated_parity1_offset); + local pow1183 = pow572 * pow1182; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity1_offset). + local pow1184 = pow220 * pow1182; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity1_offset). + local pow1185 = pow220 * pow1183; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity1_offset). + local pow1186 = pow220 * pow1184; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity1_offset). + local pow1187 = pow220 * pow1185; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity1_offset). + local pow1188 = pow364 * pow1182; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity1_offset). + local pow1189 = pow617 * pow1188; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + keccak__keccak__rotated_parity1_offset). + local pow1190 = pow540 * pow1189; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity1_offset). + local pow1191 = pow520 * pow1190; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity1_offset). + let (local pow1192) = pow(trace_generator, keccak__keccak__rotated_parity0_offset); + local pow1193 = pow220 * pow1192; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__rotated_parity0_offset). + local pow1194 = pow220 * pow1193; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__rotated_parity0_offset). + local pow1195 = pow364 * pow1192; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__rotated_parity0_offset). + local pow1196 = pow593 * pow1195; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity0_offset). + local pow1197 = pow220 * pow1196; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + keccak__keccak__rotated_parity0_offset). + local pow1198 = pow220 * pow1197; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + keccak__keccak__rotated_parity0_offset). + local pow1199 = pow509 * pow1196; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + keccak__keccak__rotated_parity0_offset). + local pow1200 = pow460 * pow1199; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + keccak__keccak__rotated_parity0_offset). + local pow1201 = pow453 * pow1200; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + keccak__keccak__rotated_parity0_offset). + local pow1202 = pow453 * pow1201; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + keccak__keccak__rotated_parity0_offset). + let (local pow1203) = pow( trace_generator, keccak__keccak__parse_to_diluted__cumulative_sum_offset ); - local pow1062 = pow75 * pow1061; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1063 = pow97 * pow1062; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1064 = pow67 * pow1063; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1065 = pow67 * pow1064; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1066 = pow75 * pow1065; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1067 = pow97 * pow1066; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1068 = pow67 * pow1067; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1069 = pow392 * pow1061; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1070 = pow392 * pow1069; // pow(trace_generator, (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1071 = pow392 * pow1070; // pow(trace_generator, (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1072 = pow75 * pow1069; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1073 = pow75 * pow1070; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1074 = pow392 * pow1071; // pow(trace_generator, (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1075 = pow75 * pow1071; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1076 = pow75 * pow1074; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1077 = pow181 * pow1065; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1078 = pow145 * pow1077; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1079 = pow392 * pow1074; // pow(trace_generator, (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1080 = pow392 * pow1079; // pow(trace_generator, (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1081 = pow392 * pow1080; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1082 = pow363 * pow1081; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1083 = pow75 * pow1077; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1084 = pow75 * pow1079; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1085 = pow75 * pow1080; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1086 = pow75 * pow1078; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1087 = pow97 * pow1086; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1088 = pow67 * pow1087; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1089 = pow75 * pow1081; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1090 = pow75 * pow1082; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1091 = pow97 * pow1090; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - local pow1092 = pow67 * pow1091; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). - let (local pow1093) = pow( + local pow1204 = pow210 * pow1203; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1205 = pow232 * pow1204; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1206 = pow202 * pow1205; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1207 = pow202 * pow1206; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1208 = pow210 * pow1207; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1209 = pow232 * pow1208; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1210 = pow202 * pow1209; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1211 = pow474 * pow1203; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1212 = pow474 * pow1211; // pow(trace_generator, (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1213 = pow474 * pow1212; // pow(trace_generator, (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1214 = pow210 * pow1211; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1215 = pow210 * pow1212; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(4, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1216 = pow474 * pow1213; // pow(trace_generator, (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1217 = pow210 * pow1213; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(6, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1218 = pow210 * pow1216; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(8, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1219 = pow335 * pow1207; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1220 = pow273 * pow1219; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1221 = pow474 * pow1216; // pow(trace_generator, (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1222 = pow474 * pow1221; // pow(trace_generator, (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1223 = pow474 * pow1222; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1224 = pow456 * pow1223; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1225 = pow210 * pow1219; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1226 = pow210 * pow1221; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(10, keccak__row_ratio)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1227 = pow210 * pow1222; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(12, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1228 = pow210 * pow1220; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1229 = pow232 * pow1228; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1230 = pow202 * pow1229; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div(keccak__row_ratio, 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1231 = pow210 * pow1223; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1232 = pow210 * pow1224; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1233 = pow232 * pow1232; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + local pow1234 = pow202 * pow1233; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4096)) + (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + keccak__keccak__parse_to_diluted__cumulative_sum_offset). + let (local pow1235) = pow( trace_generator, keccak__keccak__parse_to_diluted__final_reshaped_input_offset ); - local pow1094 = pow60 * pow1093; // pow(trace_generator, (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1095 = pow60 * pow1094; // pow(trace_generator, (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1096 = pow60 * pow1095; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1097 = pow60 * pow1096; // pow(trace_generator, (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1098 = pow60 * pow1097; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1099 = pow60 * pow1098; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1100 = pow60 * pow1099; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1101 = pow68 * pow1100; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1102 = pow60 * pow1101; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1103 = pow60 * pow1102; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1104 = pow60 * pow1103; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1105 = pow60 * pow1104; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1106 = pow60 * pow1105; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1107 = pow60 * pow1106; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1108 = pow60 * pow1107; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1109 = pow68 * pow1108; // pow(trace_generator, (safe_div(keccak__row_ratio, 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1110 = pow75 * pow1109; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1111 = pow75 * pow1110; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1112 = pow75 * pow1111; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1113 = pow75 * pow1112; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1114 = pow75 * pow1113; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1115 = pow75 * pow1114; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1116 = pow75 * pow1115; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1117 = pow75 * pow1116; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1118 = pow75 * pow1117; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1119 = pow75 * pow1118; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1120 = pow75 * pow1119; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1121 = pow75 * pow1120; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - local pow1122 = pow75 * pow1121; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). - let (local pow1123) = pow( + local pow1236 = pow195 * pow1235; // pow(trace_generator, (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1237 = pow195 * pow1236; // pow(trace_generator, (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1238 = pow195 * pow1237; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1239 = pow195 * pow1238; // pow(trace_generator, (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1240 = pow195 * pow1239; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1241 = pow195 * pow1240; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1242 = pow195 * pow1241; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1243 = pow203 * pow1242; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1244 = pow195 * pow1243; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1245 = pow195 * pow1244; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1246 = pow195 * pow1245; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1247 = pow195 * pow1246; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1248 = pow195 * pow1247; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1249 = pow195 * pow1248; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1250 = pow195 * pow1249; // pow(trace_generator, (safe_div(keccak__row_ratio, 2048)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1251 = pow203 * pow1250; // pow(trace_generator, (safe_div(keccak__row_ratio, 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1252 = pow210 * pow1251; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1253 = pow210 * pow1252; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1254 = pow210 * pow1253; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1255 = pow210 * pow1254; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1256 = pow210 * pow1255; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1257 = pow210 * pow1256; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1258 = pow210 * pow1257; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1259 = pow210 * pow1258; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1260 = pow210 * pow1259; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1261 = pow210 * pow1260; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1262 = pow210 * pow1261; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1263 = pow210 * pow1262; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 1024)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + local pow1264 = pow210 * pow1263; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 2048)) + keccak__keccak__parse_to_diluted__final_reshaped_input_offset). + let (local pow1265) = pow( trace_generator, keccak__keccak__parse_to_diluted__reshaped_intermediate_offset ); - local pow1124 = pow359 * pow1123; // pow(trace_generator, keccak__row_ratio + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1125 = pow359 * pow1124; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1126 = pow359 * pow1125; // pow(trace_generator, (safe_mult(3, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1127 = pow359 * pow1126; // pow(trace_generator, (safe_mult(4, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1128 = pow60 * pow1123; // pow(trace_generator, (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1129 = pow60 * pow1128; // pow(trace_generator, (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1130 = pow60 * pow1129; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1131 = pow60 * pow1130; // pow(trace_generator, (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1132 = pow60 * pow1131; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1133 = pow60 * pow1132; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1134 = pow60 * pow1133; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1135 = pow60 * pow1134; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1136 = pow60 * pow1135; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1137 = pow60 * pow1136; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1138 = pow60 * pow1137; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1139 = pow60 * pow1138; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1140 = pow60 * pow1139; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1141 = pow60 * pow1140; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1142 = pow60 * pow1141; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1143 = pow359 * pow1127; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1144 = pow359 * pow1143; // pow(trace_generator, (safe_mult(6, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1145 = pow359 * pow1144; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1146 = pow359 * pow1145; // pow(trace_generator, (safe_mult(8, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1147 = pow359 * pow1146; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1148 = pow359 * pow1147; // pow(trace_generator, (safe_mult(10, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1149 = pow359 * pow1148; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1150 = pow359 * pow1149; // pow(trace_generator, (safe_mult(12, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1151 = pow359 * pow1150; // pow(trace_generator, (safe_mult(13, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1152 = pow359 * pow1151; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - local pow1153 = pow359 * pow1152; // pow(trace_generator, (safe_mult(15, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). - let (local pow1154) = pow(trace_generator, ec_op__ec_subset_sum__x_diff_inv_offset); - let (local pow1155) = pow(trace_generator, ec_op__ec_subset_sum__slope_offset); - let (local pow1156) = pow(trace_generator, ec_op__ec_subset_sum__partial_sum__y_offset); - local pow1157 = pow839 * pow1156; // pow(trace_generator, (safe_div((safe_mult(255, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__partial_sum__y_offset). - local pow1158 = pow843 * pow1156; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__ec_subset_sum__partial_sum__y_offset). - let (local pow1159) = pow(trace_generator, ec_op__ec_subset_sum__partial_sum__x_offset); - local pow1160 = pow839 * pow1159; // pow(trace_generator, (safe_div((safe_mult(255, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__partial_sum__x_offset). - local pow1161 = pow843 * pow1159; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__ec_subset_sum__partial_sum__x_offset). - let (local pow1162) = pow( + local pow1266 = pow452 * pow1265; // pow(trace_generator, keccak__row_ratio + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1267 = pow452 * pow1266; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1268 = pow452 * pow1267; // pow(trace_generator, (safe_mult(3, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1269 = pow452 * pow1268; // pow(trace_generator, (safe_mult(4, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1270 = pow195 * pow1265; // pow(trace_generator, (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1271 = pow195 * pow1270; // pow(trace_generator, (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1272 = pow195 * pow1271; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1273 = pow195 * pow1272; // pow(trace_generator, (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1274 = pow195 * pow1273; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1275 = pow195 * pow1274; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1276 = pow195 * pow1275; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1277 = pow195 * pow1276; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1278 = pow195 * pow1277; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1279 = pow195 * pow1278; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1280 = pow195 * pow1279; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1281 = pow195 * pow1280; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div(keccak__row_ratio, 8192)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1282 = pow195 * pow1281; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1283 = pow195 * pow1282; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16384)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1284 = pow195 * pow1283; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_div((safe_mult(7, keccak__row_ratio)), 32768)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1285 = pow452 * pow1269; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1286 = pow452 * pow1285; // pow(trace_generator, (safe_mult(6, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1287 = pow452 * pow1286; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1288 = pow452 * pow1287; // pow(trace_generator, (safe_mult(8, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1289 = pow452 * pow1288; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1290 = pow452 * pow1289; // pow(trace_generator, (safe_mult(10, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1291 = pow452 * pow1290; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1292 = pow452 * pow1291; // pow(trace_generator, (safe_mult(12, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1293 = pow452 * pow1292; // pow(trace_generator, (safe_mult(13, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1294 = pow452 * pow1293; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + local pow1295 = pow452 * pow1294; // pow(trace_generator, (safe_mult(15, keccak__row_ratio)) + keccak__keccak__parse_to_diluted__reshaped_intermediate_offset). + let (local pow1296) = pow(trace_generator, ec_op__ec_subset_sum__x_diff_inv_offset); + let (local pow1297) = pow(trace_generator, ec_op__ec_subset_sum__slope_offset); + let (local pow1298) = pow(trace_generator, ec_op__ec_subset_sum__partial_sum__y_offset); + local pow1299 = pow974 * pow1298; // pow(trace_generator, (safe_div((safe_mult(255, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__partial_sum__y_offset). + local pow1300 = pow978 * pow1298; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__ec_subset_sum__partial_sum__y_offset). + let (local pow1301) = pow(trace_generator, ec_op__ec_subset_sum__partial_sum__x_offset); + local pow1302 = pow974 * pow1301; // pow(trace_generator, (safe_div((safe_mult(255, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__partial_sum__x_offset). + local pow1303 = pow978 * pow1301; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__ec_subset_sum__partial_sum__x_offset). + let (local pow1304) = pow( trace_generator, ec_op__ec_subset_sum__bit_unpacking__prod_ones196_offset ); - let (local pow1163) = pow(trace_generator, ec_op__ec_subset_sum__selector_offset); - local pow1164 = pow843 * pow1163; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__ec_subset_sum__selector_offset). - local pow1165 = pow840 * pow1163; // pow(trace_generator, (safe_div((safe_mult(251, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__selector_offset). - local pow1166 = pow840 * pow1164; // pow(trace_generator, (safe_div((safe_mult(63, ec_op_builtin_row_ratio)), 64)) + ec_op__ec_subset_sum__selector_offset). - local pow1167 = pow841 * pow1163; // pow(trace_generator, (safe_div((safe_mult(49, ec_op_builtin_row_ratio)), 64)) + ec_op__ec_subset_sum__selector_offset). - local pow1168 = pow841 * pow1164; // pow(trace_generator, (safe_div((safe_mult(197, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__selector_offset). - local pow1169 = pow842 * pow1163; // pow(trace_generator, (safe_div((safe_mult(3, ec_op_builtin_row_ratio)), 4)) + ec_op__ec_subset_sum__selector_offset). - local pow1170 = pow842 * pow1164; // pow(trace_generator, (safe_div((safe_mult(193, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__selector_offset). - let (local pow1171) = pow( + let (local pow1305) = pow(trace_generator, ec_op__ec_subset_sum__selector_offset); + local pow1306 = pow978 * pow1305; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__ec_subset_sum__selector_offset). + local pow1307 = pow975 * pow1305; // pow(trace_generator, (safe_div((safe_mult(251, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__selector_offset). + local pow1308 = pow975 * pow1306; // pow(trace_generator, (safe_div((safe_mult(63, ec_op_builtin_row_ratio)), 64)) + ec_op__ec_subset_sum__selector_offset). + local pow1309 = pow976 * pow1305; // pow(trace_generator, (safe_div((safe_mult(49, ec_op_builtin_row_ratio)), 64)) + ec_op__ec_subset_sum__selector_offset). + local pow1310 = pow976 * pow1306; // pow(trace_generator, (safe_div((safe_mult(197, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__selector_offset). + local pow1311 = pow977 * pow1305; // pow(trace_generator, (safe_div((safe_mult(3, ec_op_builtin_row_ratio)), 4)) + ec_op__ec_subset_sum__selector_offset). + local pow1312 = pow977 * pow1306; // pow(trace_generator, (safe_div((safe_mult(193, ec_op_builtin_row_ratio)), 256)) + ec_op__ec_subset_sum__selector_offset). + let (local pow1313) = pow( trace_generator, ec_op__ec_subset_sum__bit_unpacking__prod_ones192_offset ); - let (local pow1172) = pow(trace_generator, ec_op__doubled_points__y_offset); - local pow1173 = pow843 * pow1172; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__doubled_points__y_offset). - let (local pow1174) = pow(trace_generator, ec_op__doubled_points__x_offset); - local pow1175 = pow843 * pow1174; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__doubled_points__x_offset). - let (local pow1176) = pow(trace_generator, ec_op__doubling_slope_offset); - let (local pow1177) = pow(trace_generator, ecdsa__signature0__q_x_squared_offset); - let (local pow1178) = pow(trace_generator, ecdsa__signature0__r_w_inv_offset); - let (local pow1179) = pow(trace_generator, ecdsa__signature0__z_inv_offset); - let (local pow1180) = pow(trace_generator, ecdsa__signature0__extract_r_inv_offset); - let (local pow1181) = pow(trace_generator, ecdsa__signature0__extract_r_slope_offset); - let (local pow1182) = pow(trace_generator, ecdsa__signature0__add_results_inv_offset); - let (local pow1183) = pow(trace_generator, ecdsa__signature0__add_results_slope_offset); - let (local pow1184) = pow( + let (local pow1314) = pow(trace_generator, ec_op__doubled_points__y_offset); + local pow1315 = pow978 * pow1314; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__doubled_points__y_offset). + let (local pow1316) = pow(trace_generator, ec_op__doubled_points__x_offset); + local pow1317 = pow978 * pow1316; // pow(trace_generator, (safe_div(ec_op_builtin_row_ratio, 256)) + ec_op__doubled_points__x_offset). + let (local pow1318) = pow(trace_generator, ec_op__doubling_slope_offset); + let (local pow1319) = pow(trace_generator, ecdsa__signature0__q_x_squared_offset); + let (local pow1320) = pow(trace_generator, ecdsa__signature0__r_w_inv_offset); + let (local pow1321) = pow(trace_generator, ecdsa__signature0__z_inv_offset); + let (local pow1322) = pow(trace_generator, ecdsa__signature0__extract_r_inv_offset); + let (local pow1323) = pow(trace_generator, ecdsa__signature0__extract_r_slope_offset); + let (local pow1324) = pow(trace_generator, ecdsa__signature0__add_results_inv_offset); + let (local pow1325) = pow(trace_generator, ecdsa__signature0__add_results_slope_offset); + let (local pow1326) = pow( trace_generator, ecdsa__signature0__exponentiate_key__x_diff_inv_offset ); - let (local pow1185) = pow(trace_generator, ecdsa__signature0__exponentiate_key__slope_offset); - let (local pow1186) = pow( + let (local pow1327) = pow(trace_generator, ecdsa__signature0__exponentiate_key__slope_offset); + let (local pow1328) = pow( trace_generator, ecdsa__signature0__exponentiate_key__partial_sum__y_offset ); - local pow1187 = pow897 * pow1186; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__exponentiate_key__partial_sum__y_offset). - local pow1188 = pow895 * pow1186; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__y_offset). - local pow1189 = pow896 * pow1187; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__y_offset). - let (local pow1190) = pow( + local pow1329 = pow1032 * pow1328; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__exponentiate_key__partial_sum__y_offset). + local pow1330 = pow1030 * pow1328; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__y_offset). + local pow1331 = pow1031 * pow1329; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__y_offset). + let (local pow1332) = pow( trace_generator, ecdsa__signature0__exponentiate_key__partial_sum__x_offset ); - local pow1191 = pow897 * pow1190; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__exponentiate_key__partial_sum__x_offset). - local pow1192 = pow895 * pow1190; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__x_offset). - local pow1193 = pow896 * pow1191; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__x_offset). - let (local pow1194) = pow( + local pow1333 = pow1032 * pow1332; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__exponentiate_key__partial_sum__x_offset). + local pow1334 = pow1030 * pow1332; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__x_offset). + local pow1335 = pow1031 * pow1333; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 512)) + ecdsa__signature0__exponentiate_key__partial_sum__x_offset). + let (local pow1336) = pow( trace_generator, ecdsa__signature0__exponentiate_key__selector_offset ); - local pow1195 = pow897 * pow1194; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__exponentiate_key__selector_offset). - let (local pow1196) = pow( + local pow1337 = pow1032 * pow1336; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__exponentiate_key__selector_offset). + let (local pow1338) = pow( trace_generator, ecdsa__signature0__exponentiate_generator__x_diff_inv_offset ); - let (local pow1197) = pow( + let (local pow1339) = pow( trace_generator, ecdsa__signature0__exponentiate_generator__slope_offset ); - let (local pow1198) = pow( + let (local pow1340) = pow( trace_generator, ecdsa__signature0__exponentiate_generator__partial_sum__y_offset ); - local pow1199 = pow899 * pow1198; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__y_offset). - local pow1200 = pow896 * pow1198; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__y_offset). - let (local pow1201) = pow( + local pow1341 = pow1035 * pow1340; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__y_offset). + local pow1342 = pow1031 * pow1340; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__y_offset). + let (local pow1343) = pow( trace_generator, ecdsa__signature0__exponentiate_generator__partial_sum__x_offset ); - local pow1202 = pow899 * pow1201; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__x_offset). - local pow1203 = pow896 * pow1201; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__x_offset). - let (local pow1204) = pow( + local pow1344 = pow1035 * pow1343; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__x_offset). + local pow1345 = pow1031 * pow1343; // pow(trace_generator, (safe_div((safe_mult(255, ecdsa_builtin_row_ratio)), 256)) + ecdsa__signature0__exponentiate_generator__partial_sum__x_offset). + let (local pow1346) = pow( trace_generator, ecdsa__signature0__exponentiate_generator__selector_offset ); - local pow1205 = pow899 * pow1204; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa__signature0__exponentiate_generator__selector_offset). - let (local pow1206) = pow(trace_generator, ecdsa__signature0__doubling_slope_offset); - let (local pow1207) = pow(trace_generator, ecdsa__signature0__key_points__y_offset); - local pow1208 = pow897 * pow1207; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__key_points__y_offset). - local pow1209 = pow895 * pow1208; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + ecdsa__signature0__key_points__y_offset). - let (local pow1210) = pow(trace_generator, ecdsa__signature0__key_points__x_offset); - local pow1211 = pow897 * pow1210; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__key_points__x_offset). - local pow1212 = pow895 * pow1211; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + ecdsa__signature0__key_points__x_offset). - let (local pow1213) = pow(trace_generator, pedersen__hash0__ec_subset_sum__slope_offset); - let (local pow1214) = pow( + local pow1347 = pow1035 * pow1346; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa__signature0__exponentiate_generator__selector_offset). + let (local pow1348) = pow(trace_generator, ecdsa__signature0__doubling_slope_offset); + let (local pow1349) = pow(trace_generator, ecdsa__signature0__key_points__y_offset); + local pow1350 = pow1032 * pow1349; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__key_points__y_offset). + local pow1351 = pow1030 * pow1350; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + ecdsa__signature0__key_points__y_offset). + let (local pow1352) = pow(trace_generator, ecdsa__signature0__key_points__x_offset); + local pow1353 = pow1032 * pow1352; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa__signature0__key_points__x_offset). + local pow1354 = pow1030 * pow1353; // pow(trace_generator, (safe_div(ecdsa_builtin_row_ratio, 2)) + ecdsa__signature0__key_points__x_offset). + let (local pow1355) = pow(trace_generator, pedersen__hash0__ec_subset_sum__slope_offset); + let (local pow1356) = pow( trace_generator, pedersen__hash0__ec_subset_sum__partial_sum__y_offset ); - local pow1215 = pow916 * pow1214; // pow(trace_generator, (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__partial_sum__y_offset). - local pow1216 = pow920 * pow1214; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512)) + pedersen__hash0__ec_subset_sum__partial_sum__y_offset). - local pow1217 = pow916 * pow1216; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + pedersen__hash0__ec_subset_sum__partial_sum__y_offset). - let (local pow1218) = pow( + local pow1357 = pow1051 * pow1356; // pow(trace_generator, (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__partial_sum__y_offset). + local pow1358 = pow1055 * pow1356; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512)) + pedersen__hash0__ec_subset_sum__partial_sum__y_offset). + local pow1359 = pow1051 * pow1358; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + pedersen__hash0__ec_subset_sum__partial_sum__y_offset). + let (local pow1360) = pow( trace_generator, pedersen__hash0__ec_subset_sum__partial_sum__x_offset ); - local pow1219 = pow916 * pow1218; // pow(trace_generator, (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). - local pow1220 = pow920 * pow1218; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). - local pow1221 = pow916 * pow1220; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). - local pow1222 = pow916 * pow1221; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). - let (local pow1223) = pow( + local pow1361 = pow1051 * pow1360; // pow(trace_generator, (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). + local pow1362 = pow1055 * pow1360; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). + local pow1363 = pow1051 * pow1362; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). + local pow1364 = pow1051 * pow1363; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + (safe_div((safe_mult(255, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__partial_sum__x_offset). + let (local pow1365) = pow( trace_generator, pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones196_offset ); - let (local pow1224) = pow(trace_generator, pedersen__hash0__ec_subset_sum__selector_offset); - local pow1225 = pow917 * pow1224; // pow(trace_generator, (safe_div((safe_mult(251, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1226 = pow918 * pow1224; // pow(trace_generator, (safe_div((safe_mult(49, pedersen_builtin_row_ratio)), 128)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1227 = pow919 * pow1224; // pow(trace_generator, (safe_div((safe_mult(3, pedersen_builtin_row_ratio)), 8)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1228 = pow920 * pow1224; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1229 = pow918 * pow1228; // pow(trace_generator, (safe_div((safe_mult(197, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1230 = pow917 * pow1228; // pow(trace_generator, (safe_div((safe_mult(63, pedersen_builtin_row_ratio)), 128)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1231 = pow919 * pow1228; // pow(trace_generator, (safe_div((safe_mult(193, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__selector_offset). - local pow1232 = pow916 * pow1228; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + pedersen__hash0__ec_subset_sum__selector_offset). - let (local pow1233) = pow( + let (local pow1366) = pow(trace_generator, pedersen__hash0__ec_subset_sum__selector_offset); + local pow1367 = pow1052 * pow1366; // pow(trace_generator, (safe_div((safe_mult(251, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1368 = pow1053 * pow1366; // pow(trace_generator, (safe_div((safe_mult(49, pedersen_builtin_row_ratio)), 128)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1369 = pow1054 * pow1366; // pow(trace_generator, (safe_div((safe_mult(3, pedersen_builtin_row_ratio)), 8)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1370 = pow1055 * pow1366; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 512)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1371 = pow1053 * pow1370; // pow(trace_generator, (safe_div((safe_mult(197, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1372 = pow1052 * pow1370; // pow(trace_generator, (safe_div((safe_mult(63, pedersen_builtin_row_ratio)), 128)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1373 = pow1054 * pow1370; // pow(trace_generator, (safe_div((safe_mult(193, pedersen_builtin_row_ratio)), 512)) + pedersen__hash0__ec_subset_sum__selector_offset). + local pow1374 = pow1051 * pow1370; // pow(trace_generator, (safe_div(pedersen_builtin_row_ratio, 2)) + pedersen__hash0__ec_subset_sum__selector_offset). + let (local pow1375) = pow( trace_generator, pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones192_offset ); - let (local pow1234) = pow(trace_generator, diluted_pool_offset); - local pow1235 = pow56 * pow1234; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1236 = pow117 * pow1235; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1237 = pow100 * pow1236; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1238 = pow57 * pow1234; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1239 = pow117 * pow1238; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1240 = pow100 * pow1239; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1241 = pow58 * pow1234; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1242 = pow94 * pow1241; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1243 = pow86 * pow1242; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1244 = pow94 * pow1243; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1245 = pow86 * pow1244; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1246 = pow94 * pow1245; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1247 = pow86 * pow1246; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1248 = pow94 * pow1247; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1249 = pow86 * pow1248; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1250 = pow94 * pow1249; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1251 = pow86 * pow1250; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1252 = pow94 * pow1251; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1253 = pow86 * pow1252; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1254 = pow94 * pow1253; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1255 = pow86 * pow1254; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1256 = pow94 * pow1255; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1257 = pow713 * pow1256; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1258 = pow86 * pow1256; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1259 = pow94 * pow1258; // pow(trace_generator, (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1260 = pow86 * pow1259; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1261 = pow94 * pow1260; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1262 = pow86 * pow1261; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1263 = pow94 * pow1262; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1264 = pow100 * pow1257; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1265 = pow100 * pow1264; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1266 = pow86 * pow1263; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1267 = pow94 * pow1266; // pow(trace_generator, (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1268 = pow86 * pow1267; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1269 = pow100 * pow1268; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1270 = pow100 * pow1269; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1271 = pow461 * pow1270; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1272 = pow362 * pow1266; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1273 = pow328 * pow1272; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1274 = pow100 * pow1270; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1275 = pow100 * pow1274; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1276 = pow100 * pow1275; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1277 = pow100 * pow1276; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1278 = pow100 * pow1277; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1279 = pow100 * pow1278; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1280 = pow100 * pow1279; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1281 = pow86 * pow1280; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1282 = pow86 * pow1281; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1283 = pow90 * pow1282; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1284 = pow324 * pow1271; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1285 = pow478 * pow1284; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1286 = pow86 * pow1283; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1287 = pow86 * pow1285; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1288 = pow86 * pow1286; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1289 = pow90 * pow1288; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1290 = pow86 * pow1289; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1291 = pow86 * pow1290; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1292 = pow90 * pow1291; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1293 = pow86 * pow1292; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1294 = pow86 * pow1293; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1295 = pow90 * pow1294; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1296 = pow94 * pow1295; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1297 = pow321 * pow1296; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1298 = pow540 * pow1297; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1299 = pow94 * pow1296; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1300 = pow94 * pow1299; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1301 = pow94 * pow1300; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1302 = pow94 * pow1301; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1303 = pow94 * pow1302; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1304 = pow94 * pow1303; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1305 = pow94 * pow1304; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1306 = pow100 * pow1305; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1307 = pow100 * pow1306; // pow(trace_generator, (safe_div((safe_mult(33, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1308 = pow100 * pow1307; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1309 = pow162 * pow1297; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1310 = pow86 * pow1309; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1311 = pow537 * pow1310; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1312 = pow86 * pow1310; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1313 = pow148 * pow1308; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1314 = pow711 * pow1313; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1315 = pow86 * pow1314; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1316 = pow100 * pow1297; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1317 = pow100 * pow1316; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1318 = pow494 * pow1317; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1319 = pow146 * pow1310; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1320 = pow192 * pow1319; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1321 = pow166 * pow1272; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1322 = pow100 * pow1319; // pow(trace_generator, (safe_div((safe_mult(97, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1323 = pow100 * pow1322; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1324 = pow136 * pow1323; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1325 = pow172 * pow1272; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1326 = pow436 * pow1325; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1327 = pow175 * pow1326; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1328 = pow512 * pow1327; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1329 = pow100 * pow1325; // pow(trace_generator, (safe_div((safe_mult(225, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1330 = pow354 * pow1329; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1331 = pow556 * pow1330; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1332 = pow158 * pow1330; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1333 = pow86 * pow1287; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1334 = pow86 * pow1315; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1335 = pow100 * pow1329; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1336 = pow378 * pow1335; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1337 = pow200 * pow1336; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1338 = pow459 * pow1337; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1339 = pow394 * pow1338; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1340 = pow100 * pow1337; // pow(trace_generator, (safe_div((safe_mult(481, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1341 = pow100 * pow1338; // pow(trace_generator, (safe_div((safe_mult(993, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1342 = pow100 * pow1339; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1343 = pow515 * pow1342; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1344 = pow328 * pow1342; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1345 = pow202 * pow1337; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1346 = pow100 * pow1340; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1347 = pow100 * pow1341; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1348 = pow167 * pow1346; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1349 = pow154 * pow1311; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1350 = pow159 * pow1331; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1351 = pow485 * pow1350; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1352 = pow157 * pow1343; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1353 = pow100 * pow1342; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1354 = pow100 * pow1344; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1355 = pow100 * pow1354; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1356 = pow162 * pow1355; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1357 = pow86 * pow1356; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1358 = pow86 * pow1357; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1359 = pow202 * pow1334; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1360 = pow485 * pow1344; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1361 = pow420 * pow1347; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1362 = pow204 * pow1361; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1363 = pow100 * pow1352; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1364 = pow100 * pow1363; // pow(trace_generator, (safe_div((safe_mult(2017, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1365 = pow100 * pow1364; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1366 = pow172 * pow1237; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1367 = pow373 * pow1366; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1368 = pow86 * pow1366; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1369 = pow86 * pow1368; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1370 = pow172 * pow1240; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1371 = pow94 * pow1370; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1372 = pow86 * pow1371; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1373 = pow86 * pow1372; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1374 = pow86 * pow1373; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1375 = pow325 * pow1370; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1376 = pow94 * pow1374; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1377 = pow94 * pow1376; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1378 = pow94 * pow1377; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1379 = pow94 * pow1378; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1380 = pow94 * pow1379; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1381 = pow94 * pow1380; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1382 = pow100 * pow1381; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1383 = pow145 * pow1375; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1384 = pow184 * pow1383; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1385 = pow530 * pow1384; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1386 = pow483 * pow1384; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1387 = pow86 * pow1386; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1388 = pow86 * pow1387; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1389 = pow119 * pow1385; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1390 = pow352 * pow1384; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1391 = pow373 * pow1390; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1392 = pow459 * pow1391; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1393 = pow579 * pow1392; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1394 = pow461 * pow1384; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1395 = pow556 * pow1387; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1396 = pow184 * pow1393; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1397 = pow404 * pow1395; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1398 = pow461 * pow1385; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1399 = pow345 * pow1397; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1400 = pow94 * pow1396; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1401 = pow373 * pow1381; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1402 = pow133 * pow1399; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1403 = pow495 * pow1386; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1404 = pow86 * pow1369; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1405 = pow94 * pow1404; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1406 = pow94 * pow1405; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1407 = pow94 * pow1406; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1408 = pow94 * pow1407; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1409 = pow94 * pow1408; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1410 = pow482 * pow1409; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1411 = pow94 * pow1409; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1412 = pow94 * pow1411; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1413 = pow100 * pow1412; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1414 = pow325 * pow1413; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1415 = pow359 * pow1414; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1416 = pow207 * pow1367; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1417 = pow86 * pow1416; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1418 = pow86 * pow1417; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1419 = pow373 * pow1415; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1420 = pow501 * pow1419; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1421 = pow459 * pow1419; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1422 = pow340 * pow1420; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1423 = pow359 * pow1422; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1424 = pow461 * pow1412; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1425 = pow579 * pow1421; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1426 = pow184 * pow1425; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1427 = pow119 * pow1423; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1428 = pow203 * pow1413; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1429 = pow59 * pow1234; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1430 = pow94 * pow1429; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1431 = pow67 * pow1429; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1432 = pow86 * pow1430; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1433 = pow100 * pow1432; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1434 = pow100 * pow1433; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1435 = pow581 * pow1434; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1436 = pow67 * pow1434; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1437 = pow99 * pow1436; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1438 = pow67 * pow1437; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1439 = pow99 * pow1438; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1440 = pow100 * pow1439; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1441 = pow100 * pow1440; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1442 = pow100 * pow1441; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1443 = pow86 * pow1442; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1444 = pow86 * pow1443; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1445 = pow90 * pow1444; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1446 = pow100 * pow1445; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1447 = pow734 * pow1446; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1448 = pow100 * pow1446; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1449 = pow100 * pow1448; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1450 = pow100 * pow1449; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1451 = pow100 * pow1450; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1452 = pow86 * pow1451; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1453 = pow86 * pow1452; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1454 = pow90 * pow1453; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1455 = pow86 * pow1454; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1456 = pow86 * pow1455; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1457 = pow90 * pow1456; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1458 = pow100 * pow1457; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1459 = pow100 * pow1458; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1460 = pow100 * pow1459; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1461 = pow476 * pow1458; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1462 = pow100 * pow1460; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1463 = pow100 * pow1462; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1464 = pow86 * pow1463; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1465 = pow86 * pow1464; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1466 = pow90 * pow1465; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1467 = pow100 * pow1466; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1468 = pow373 * pow1467; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1469 = pow168 * pow1468; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1470 = pow682 * pow1469; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1471 = pow467 * pow1469; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1472 = pow100 * pow1467; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1473 = pow100 * pow1472; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1474 = pow161 * pow1470; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1475 = pow86 * pow1473; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1476 = pow86 * pow1475; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1477 = pow86 * pow1476; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1478 = pow86 * pow1477; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1479 = pow86 * pow1478; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1480 = pow86 * pow1479; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1481 = pow153 * pow1461; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1482 = pow160 * pow1481; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1483 = pow170 * pow1482; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1484 = pow170 * pow1483; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1485 = pow94 * pow1480; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1486 = pow94 * pow1485; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1487 = pow94 * pow1486; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1488 = pow128 * pow1486; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1489 = pow325 * pow1488; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1490 = pow359 * pow1489; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1491 = pow373 * pow1490; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1492 = pow459 * pow1491; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1493 = pow94 * pow1487; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1494 = pow337 * pow1493; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1495 = pow355 * pow1481; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1496 = pow86 * pow1495; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1497 = pow158 * pow1471; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1498 = pow420 * pow1497; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1499 = pow368 * pow1498; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1500 = pow622 * pow1496; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1501 = pow421 * pow1493; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1502 = pow86 * pow1469; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1503 = pow94 * pow1493; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1504 = pow317 * pow1499; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1505 = pow94 * pow1503; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1506 = pow700 * pow1505; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1507 = pow107 * pow1506; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1508 = pow315 * pow1505; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1509 = pow86 * pow1502; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1510 = pow86 * pow1496; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1511 = pow466 * pow1510; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1512 = pow86 * pow1500; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1513 = pow86 * pow1512; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1514 = pow119 * pow1512; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1515 = pow86 * pow1514; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1516 = pow86 * pow1515; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1517 = pow86 * pow1471; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1518 = pow86 * pow1497; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1519 = pow86 * pow1517; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1520 = pow86 * pow1518; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1521 = pow332 * pow1520; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1522 = pow498 * pow1521; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1523 = pow330 * pow1470; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1524 = pow143 * pow1523; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1525 = pow221 * pow1435; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1526 = pow495 * pow1525; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1527 = pow134 * pow1520; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1528 = pow471 * pow1517; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1529 = pow178 * pow1528; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1530 = pow351 * pow1528; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1531 = pow143 * pow1515; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1532 = pow94 * pow1531; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1533 = pow67 * pow1531; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1534 = pow86 * pow1532; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1535 = pow181 * pow1534; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1536 = pow94 * pow1535; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1537 = pow856 * pow1234; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking195_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1538 = pow857 * pow1234; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking194_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1539 = pow858 * pow1234; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking193_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1540 = pow859 * pow1234; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking192_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1541 = pow860 * pow1234; // pow(trace_generator, (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1542 = pow0 * pow1541; // pow(trace_generator, (safe_div(bitwise__row_ratio, 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1543 = pow0 * pow1542; // pow(trace_generator, (safe_div(bitwise__row_ratio, 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1544 = pow0 * pow1543; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1545 = pow0 * pow1544; // pow(trace_generator, (safe_div(bitwise__row_ratio, 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1546 = pow0 * pow1545; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1547 = pow0 * pow1546; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1548 = pow0 * pow1547; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1549 = pow0 * pow1548; // pow(trace_generator, (safe_div(bitwise__row_ratio, 8)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1550 = pow0 * pow1549; // pow(trace_generator, (safe_div((safe_mult(9, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1551 = pow0 * pow1550; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1552 = pow0 * pow1551; // pow(trace_generator, (safe_div((safe_mult(11, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1553 = pow0 * pow1552; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1554 = pow0 * pow1553; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1555 = pow0 * pow1554; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1556 = pow0 * pow1555; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1557 = pow0 * pow1556; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1558 = pow15 * pow1557; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1559 = pow11 * pow1558; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1560 = pow0 * pow1559; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1561 = pow0 * pow1560; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1562 = pow0 * pow1561; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1563 = pow0 * pow1562; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1564 = pow11 * pow1563; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1565 = pow0 * pow1564; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1566 = pow0 * pow1565; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1567 = pow0 * pow1566; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). - local pow1568 = pow928 * pow1234; // pow(trace_generator, diluted_units_row_ratio + diluted_pool_offset). - let (local pow1569) = pow(trace_generator, diluted_check__permuted_values_offset); - local pow1570 = pow928 * pow1569; // pow(trace_generator, diluted_units_row_ratio + diluted_check__permuted_values_offset). - let (local pow1571) = pow(trace_generator, range_check16_pool_offset); - local pow1572 = pow903 * pow1571; // pow(trace_generator, (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1573 = pow27 * pow1572; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1574 = pow27 * pow1573; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1575 = pow27 * pow1574; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1576 = pow27 * pow1575; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 2)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1577 = pow27 * pow1576; // pow(trace_generator, (safe_div((safe_mult(5, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1578 = pow27 * pow1577; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1579 = pow27 * pow1578; // pow(trace_generator, (safe_div((safe_mult(7, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1580 = pow929 * pow1571; // pow(trace_generator, range_check_units_row_ratio + range_check16_pool_offset). - let (local pow1581) = pow(trace_generator, range_check16__sorted_offset); - local pow1582 = pow929 * pow1581; // pow(trace_generator, range_check_units_row_ratio + range_check16__sorted_offset). - let (local pow1583) = pow(trace_generator, mem_pool__value_offset); - local pow1584 = pow823 * pow1583; // pow(trace_generator, (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1585 = pow148 * pow1584; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1586 = pow148 * pow1585; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1587 = pow148 * pow1586; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1588 = pow148 * pow1587; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1589 = pow148 * pow1588; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1590 = pow148 * pow1589; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1591 = pow148 * pow1590; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1592 = pow148 * pow1591; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1593 = pow148 * pow1592; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1594 = pow148 * pow1593; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1595 = pow148 * pow1594; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1596 = pow148 * pow1595; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1597 = pow148 * pow1596; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1598 = pow148 * pow1597; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1599 = pow148 * pow1598; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1600 = pow848 * pow1583; // pow(trace_generator, (safe_mult(ec_op__r_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1601 = pow849 * pow1583; // pow(trace_generator, (safe_mult(ec_op__r_x_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1602 = pow911 * pow1583; // pow(trace_generator, (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1603 = pow853 * pow1583; // pow(trace_generator, (safe_mult(ec_op__p_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1604 = pow914 * pow1583; // pow(trace_generator, (safe_mult(pedersen__output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1605 = pow854 * pow1583; // pow(trace_generator, (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1606 = pow913 * pow1583; // pow(trace_generator, (safe_mult(pedersen__input1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1607 = pow850 * pow1583; // pow(trace_generator, (safe_mult(ec_op__m_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1608 = pow915 * pow1583; // pow(trace_generator, (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1609 = pow851 * pow1583; // pow(trace_generator, (safe_mult(ec_op__q_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1610 = pow852 * pow1583; // pow(trace_generator, (safe_mult(ec_op__q_x_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1611 = pow50 * pow1583; // pow(trace_generator, (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1612 = pow43 * pow1611; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1613 = pow52 * pow1583; // pow(trace_generator, (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1614 = pow43 * pow1613; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1615 = pow54 * pow1583; // pow(trace_generator, (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1616 = pow43 * pow1615; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1617 = pow930 * pow1583; // pow(trace_generator, (safe_mult(orig__public_memory_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1618 = pow931 * pow1583; // pow(trace_generator, memory_units_row_ratio + mem_pool__value_offset). - local pow1619 = pow887 * pow1583; // pow(trace_generator, (safe_mult(bitwise__x_or_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1620 = pow888 * pow1583; // pow(trace_generator, (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1621 = pow16 * pow1620; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1622 = pow15 * pow1621; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1623 = pow894 * pow1583; // pow(trace_generator, (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1624 = pow893 * pow1583; // pow(trace_generator, (safe_mult(ecdsa__message_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - let (local pow1625) = pow(trace_generator, mem_pool__addr_offset); - local pow1626 = pow911 * pow1625; // pow(trace_generator, (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1627 = pow34 * pow1626; // pow(trace_generator, range_check_builtin_row_ratio + (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1628 = pow823 * pow1625; // pow(trace_generator, (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1629 = pow148 * pow1628; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1630 = pow913 * pow1625; // pow(trace_generator, (safe_mult(pedersen__input1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1631 = pow915 * pow1625; // pow(trace_generator, (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1632 = pow914 * pow1625; // pow(trace_generator, (safe_mult(pedersen__output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1633 = pow923 * pow1631; // pow(trace_generator, pedersen_builtin_row_ratio + (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1634 = pow848 * pow1625; // pow(trace_generator, (safe_mult(ec_op__r_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1635 = pow849 * pow1625; // pow(trace_generator, (safe_mult(ec_op__r_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1636 = pow850 * pow1625; // pow(trace_generator, (safe_mult(ec_op__m_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1637 = pow851 * pow1625; // pow(trace_generator, (safe_mult(ec_op__q_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1638 = pow852 * pow1625; // pow(trace_generator, (safe_mult(ec_op__q_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1639 = pow853 * pow1625; // pow(trace_generator, (safe_mult(ec_op__p_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1640 = pow854 * pow1625; // pow(trace_generator, (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1641 = pow847 * pow1640; // pow(trace_generator, ec_op_builtin_row_ratio + (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1642 = pow930 * pow1625; // pow(trace_generator, (safe_mult(orig__public_memory_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1643 = pow931 * pow1625; // pow(trace_generator, memory_units_row_ratio + mem_pool__addr_offset). - local pow1644 = pow50 * pow1625; // pow(trace_generator, (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1645 = pow43 * pow1644; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1646 = pow52 * pow1625; // pow(trace_generator, (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1647 = pow43 * pow1646; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1648 = pow54 * pow1625; // pow(trace_generator, (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1649 = pow43 * pow1648; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1650 = pow887 * pow1625; // pow(trace_generator, (safe_mult(bitwise__x_or_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1651 = pow888 * pow1625; // pow(trace_generator, (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1652 = pow15 * pow1651; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1653 = pow16 * pow1652; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1654 = pow15 * pow1653; // pow(trace_generator, bitwise__row_ratio + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1655 = pow893 * pow1625; // pow(trace_generator, (safe_mult(ecdsa__message_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1656 = pow894 * pow1625; // pow(trace_generator, (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1657 = pow901 * pow1656; // pow(trace_generator, ecdsa_builtin_row_ratio + (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - let (local pow1658) = pow(trace_generator, memory__sorted__value_offset); - local pow1659 = pow931 * pow1658; // pow(trace_generator, memory_units_row_ratio + memory__sorted__value_offset). - let (local pow1660) = pow(trace_generator, memory__sorted__addr_offset); - local pow1661 = pow931 * pow1660; // pow(trace_generator, memory_units_row_ratio + memory__sorted__addr_offset). - let (local pow1662) = pow(trace_generator, cpu__update_registers__update_pc__tmp1_offset); - local pow1663 = pow934 * pow1583; // pow(trace_generator, (safe_mult(cpu__operands__mem_dst_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - let (local pow1664) = pow(trace_generator, cpu__update_registers__update_pc__tmp0_offset); - let (local pow1665) = pow(trace_generator, cpu__operands__res_offset); - local pow1666 = pow932 * pow1583; // pow(trace_generator, (safe_mult(cpu__operands__mem_op1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - let (local pow1667) = pow(trace_generator, cpu__operands__ops_mul_offset); - local pow1668 = pow933 * pow1583; // pow(trace_generator, (safe_mult(cpu__operands__mem_op0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - local pow1669 = pow938 * pow1625; // pow(trace_generator, (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1670 = pow954 * pow1669; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1671 = pow932 * pow1625; // pow(trace_generator, (safe_mult(cpu__operands__mem_op1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1672 = pow933 * pow1625; // pow(trace_generator, (safe_mult(cpu__operands__mem_op0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - let (local pow1673) = pow(trace_generator, cpu__registers__ap_offset); - local pow1674 = pow954 * pow1673; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + cpu__registers__ap_offset). - let (local pow1675) = pow(trace_generator, cpu__registers__fp_offset); - local pow1676 = pow954 * pow1675; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + cpu__registers__fp_offset). - local pow1677 = pow934 * pow1625; // pow(trace_generator, (safe_mult(cpu__operands__mem_dst_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). - local pow1678 = pow935 * pow1571; // pow(trace_generator, (safe_mult(cpu__decode__off0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1679 = pow936 * pow1571; // pow(trace_generator, (safe_mult(cpu__decode__off1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1680 = pow937 * pow1571; // pow(trace_generator, (safe_mult(cpu__decode__off2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). - local pow1681 = pow938 * pow1583; // pow(trace_generator, (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). - let (local pow1682) = pow(trace_generator, cpu__decode__opcode_range_check__column_offset); - local pow1683 = pow939 * pow1682; // pow(trace_generator, cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1684 = pow939 * pow1683; // pow(trace_generator, (safe_mult(2, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). - local pow1685 = pow939 * pow1684; // pow(trace_generator, (safe_mult(2, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1686 = pow939 * pow1685; // pow(trace_generator, (safe_mult(4, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). - local pow1687 = pow939 * pow1686; // pow(trace_generator, (safe_mult(4, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1688 = pow939 * pow1687; // pow(trace_generator, (safe_mult(5, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1689 = pow939 * pow1688; // pow(trace_generator, (safe_mult(6, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1690 = pow939 * pow1689; // pow(trace_generator, (safe_mult(7, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1691 = pow939 * pow1690; // pow(trace_generator, (safe_mult(9, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). - local pow1692 = pow939 * pow1691; // pow(trace_generator, (safe_mult(9, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1693 = pow939 * pow1692; // pow(trace_generator, (safe_mult(10, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1694 = pow939 * pow1693; // pow(trace_generator, (safe_mult(12, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). - local pow1695 = pow939 * pow1694; // pow(trace_generator, (safe_mult(12, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1696 = pow939 * pow1695; // pow(trace_generator, (safe_mult(13, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). - local pow1697 = pow939 * pow1696; // pow(trace_generator, (safe_mult(14, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + let (local pow1376) = pow(trace_generator, diluted_pool_offset); + local pow1377 = pow191 * pow1376; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1378 = pow249 * pow1377; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1379 = pow235 * pow1378; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1380 = pow192 * pow1376; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1381 = pow249 * pow1380; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1382 = pow235 * pow1381; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1383 = pow193 * pow1376; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1384 = pow228 * pow1383; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1385 = pow220 * pow1384; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1386 = pow228 * pow1385; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1387 = pow220 * pow1386; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1388 = pow228 * pow1387; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1389 = pow220 * pow1388; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1390 = pow228 * pow1389; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1391 = pow220 * pow1390; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1392 = pow228 * pow1391; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1393 = pow220 * pow1392; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1394 = pow228 * pow1393; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1395 = pow220 * pow1394; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1396 = pow228 * pow1395; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1397 = pow220 * pow1396; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1398 = pow228 * pow1397; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1399 = pow760 * pow1398; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1400 = pow220 * pow1398; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1401 = pow228 * pow1400; // pow(trace_generator, (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1402 = pow220 * pow1401; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1403 = pow228 * pow1402; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1404 = pow220 * pow1403; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1405 = pow228 * pow1404; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1406 = pow235 * pow1399; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1407 = pow235 * pow1406; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1408 = pow220 * pow1405; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1409 = pow228 * pow1408; // pow(trace_generator, (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1410 = pow220 * pow1409; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1411 = pow235 * pow1410; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1412 = pow235 * pow1411; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1413 = pow540 * pow1412; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1414 = pow453 * pow1408; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1415 = pow399 * pow1414; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1416 = pow235 * pow1412; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1417 = pow235 * pow1416; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1418 = pow235 * pow1417; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1419 = pow235 * pow1418; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1420 = pow235 * pow1419; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1421 = pow235 * pow1420; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1422 = pow235 * pow1421; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1423 = pow220 * pow1422; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1424 = pow220 * pow1423; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1425 = pow224 * pow1424; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1426 = pow394 * pow1413; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1427 = pow557 * pow1426; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1428 = pow220 * pow1425; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1429 = pow220 * pow1427; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1430 = pow220 * pow1428; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1431 = pow224 * pow1430; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1432 = pow220 * pow1431; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1433 = pow220 * pow1432; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1434 = pow224 * pow1433; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1435 = pow220 * pow1434; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1436 = pow220 * pow1435; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1437 = pow224 * pow1436; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1438 = pow228 * pow1437; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1439 = pow393 * pow1438; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(39, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1440 = pow607 * pow1439; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1441 = pow228 * pow1438; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1442 = pow228 * pow1441; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1443 = pow228 * pow1442; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1444 = pow228 * pow1443; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1445 = pow228 * pow1444; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1446 = pow228 * pow1445; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1447 = pow228 * pow1446; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1448 = pow235 * pow1447; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1449 = pow235 * pow1448; // pow(trace_generator, (safe_div((safe_mult(33, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1450 = pow235 * pow1449; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1451 = pow301 * pow1439; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1452 = pow220 * pow1451; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1453 = pow604 * pow1452; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1454 = pow220 * pow1452; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1455 = pow277 * pow1450; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1456 = pow759 * pow1455; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1457 = pow220 * pow1456; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1458 = pow235 * pow1439; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(43, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1459 = pow235 * pow1458; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(47, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1460 = pow573 * pow1459; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1461 = pow274 * pow1452; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1462 = pow350 * pow1461; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1463 = pow305 * pow1414; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1464 = pow235 * pow1461; // pow(trace_generator, (safe_div((safe_mult(97, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1465 = pow235 * pow1464; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1466 = pow264 * pow1465; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1467 = pow317 * pow1414; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1468 = pow514 * pow1467; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1469 = pow323 * pow1468; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1470 = pow581 * pow1469; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1471 = pow235 * pow1467; // pow(trace_generator, (safe_div((safe_mult(225, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1472 = pow419 * pow1471; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1473 = pow616 * pow1472; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1474 = pow292 * pow1472; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1475 = pow220 * pow1429; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1476 = pow220 * pow1457; // pow(trace_generator, (safe_div((safe_mult(55, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1477 = pow235 * pow1471; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1478 = pow466 * pow1477; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1479 = pow358 * pow1478; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1480 = pow539 * pow1479; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1481 = pow476 * pow1480; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1482 = pow235 * pow1479; // pow(trace_generator, (safe_div((safe_mult(481, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1483 = pow235 * pow1480; // pow(trace_generator, (safe_div((safe_mult(993, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1484 = pow235 * pow1481; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(19, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1485 = pow582 * pow1484; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1486 = pow399 * pow1484; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(27, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1487 = pow361 * pow1479; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1488 = pow235 * pow1482; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1489 = pow235 * pow1483; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1490 = pow307 * pow1488; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1491 = pow285 * pow1453; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1492 = pow295 * pow1473; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1493 = pow562 * pow1492; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1494 = pow291 * pow1485; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1495 = pow235 * pow1484; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1496 = pow235 * pow1486; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(31, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1497 = pow235 * pow1496; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(35, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1498 = pow301 * pow1497; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1499 = pow220 * pow1498; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1500 = pow220 * pow1499; // pow(trace_generator, (safe_div((safe_mult(41, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1501 = pow361 * pow1476; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1502 = pow562 * pow1486; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1503 = pow509 * pow1489; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1504 = pow363 * pow1503; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1505 = pow235 * pow1494; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1506 = pow235 * pow1505; // pow(trace_generator, (safe_div((safe_mult(2017, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1507 = pow235 * pow1506; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column3_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1508 = pow317 * pow1379; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1509 = pow469 * pow1508; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1510 = pow220 * pow1508; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1511 = pow220 * pow1510; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1512 = pow317 * pow1382; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1513 = pow228 * pow1512; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1514 = pow220 * pow1513; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1515 = pow220 * pow1514; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1516 = pow220 * pow1515; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1517 = pow396 * pow1512; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1518 = pow228 * pow1516; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1519 = pow228 * pow1518; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1520 = pow228 * pow1519; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1521 = pow228 * pow1520; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1522 = pow228 * pow1521; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1523 = pow228 * pow1522; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1524 = pow235 * pow1523; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1525 = pow273 * pow1517; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1526 = pow341 * pow1525; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1527 = pow598 * pow1526; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1528 = pow560 * pow1526; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1529 = pow220 * pow1528; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1530 = pow220 * pow1529; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1531 = pow254 * pow1527; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1532 = pow417 * pow1526; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1533 = pow469 * pow1532; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1534 = pow539 * pow1533; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1535 = pow636 * pow1534; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1536 = pow540 * pow1526; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1537 = pow616 * pow1529; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1538 = pow341 * pow1535; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1539 = pow486 * pow1537; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1540 = pow540 * pow1527; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1541 = pow412 * pow1539; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1542 = pow228 * pow1538; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1543 = pow469 * pow1523; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1544 = pow260 * pow1541; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1545 = pow576 * pow1528; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column1_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1546 = pow220 * pow1511; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1547 = pow228 * pow1546; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1548 = pow228 * pow1547; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1549 = pow228 * pow1548; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1550 = pow228 * pow1549; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1551 = pow228 * pow1550; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1552 = pow559 * pow1551; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1553 = pow228 * pow1551; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1554 = pow228 * pow1553; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1555 = pow235 * pow1554; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1556 = pow396 * pow1555; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1557 = pow452 * pow1556; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1558 = pow364 * pow1509; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1559 = pow220 * pow1558; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1560 = pow220 * pow1559; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1561 = pow469 * pow1557; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1562 = pow578 * pow1561; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1563 = pow539 * pow1561; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1564 = pow410 * pow1562; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1565 = pow452 * pow1564; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1566 = pow540 * pow1554; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1567 = pow636 * pow1563; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1568 = pow341 * pow1567; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1569 = pow254 * pow1565; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1570 = pow362 * pow1555; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column2_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1571 = pow194 * pow1376; // pow(trace_generator, (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1572 = pow228 * pow1571; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1573 = pow202 * pow1571; // pow(trace_generator, (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1574 = pow220 * pow1572; // pow(trace_generator, (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1575 = pow235 * pow1574; // pow(trace_generator, (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1576 = pow235 * pow1575; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1577 = pow638 * pow1576; // pow(trace_generator, (safe_mult(9, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1578 = pow202 * pow1576; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 128)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1579 = pow234 * pow1578; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1580 = pow202 * pow1579; // pow(trace_generator, (safe_div(keccak__row_ratio, 32)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1581 = pow234 * pow1580; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1582 = pow235 * pow1581; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1583 = pow235 * pow1582; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1584 = pow235 * pow1583; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1585 = pow220 * pow1584; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1586 = pow220 * pow1585; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1587 = pow224 * pow1586; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1588 = pow235 * pow1587; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1589 = pow780 * pow1588; // pow(trace_generator, (safe_div((safe_mult(61, keccak__row_ratio)), 4)) + (safe_div((safe_mult(5, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1590 = pow235 * pow1588; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1591 = pow235 * pow1590; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1592 = pow235 * pow1591; // pow(trace_generator, (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1593 = pow235 * pow1592; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1594 = pow220 * pow1593; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1595 = pow220 * pow1594; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1596 = pow224 * pow1595; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1597 = pow220 * pow1596; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1598 = pow220 * pow1597; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1599 = pow224 * pow1598; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1600 = pow235 * pow1599; // pow(trace_generator, (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1601 = pow235 * pow1600; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1602 = pow235 * pow1601; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1603 = pow554 * pow1600; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1604 = pow235 * pow1602; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1605 = pow235 * pow1604; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1606 = pow220 * pow1605; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1607 = pow220 * pow1606; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1608 = pow224 * pow1607; // pow(trace_generator, (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1609 = pow235 * pow1608; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1610 = pow469 * pow1609; // pow(trace_generator, (safe_mult(2, keccak__row_ratio)) + (safe_div((safe_mult(23, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1611 = pow309 * pow1610; // pow(trace_generator, (safe_div((safe_mult(9, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1612 = pow734 * pow1611; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(11, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1613 = pow549 * pow1611; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1614 = pow235 * pow1609; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1615 = pow235 * pow1614; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1616 = pow299 * pow1612; // pow(trace_generator, (safe_div((safe_mult(27, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1617 = pow220 * pow1615; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1618 = pow220 * pow1617; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1619 = pow220 * pow1618; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1620 = pow220 * pow1619; // pow(trace_generator, (safe_div(keccak__row_ratio, 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1621 = pow220 * pow1620; // pow(trace_generator, (safe_div(keccak__row_ratio, 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1622 = pow220 * pow1621; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1623 = pow283 * pow1603; // pow(trace_generator, (safe_div((safe_mult(19, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1624 = pow297 * pow1623; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1625 = pow313 * pow1624; // pow(trace_generator, (safe_mult(5, keccak__row_ratio)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1626 = pow313 * pow1625; // pow(trace_generator, (safe_div((safe_mult(21, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1627 = pow228 * pow1622; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1628 = pow228 * pow1627; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1629 = pow228 * pow1628; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1630 = pow261 * pow1628; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1631 = pow396 * pow1630; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1632 = pow452 * pow1631; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1633 = pow469 * pow1632; // pow(trace_generator, (safe_div((safe_mult(15, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1634 = pow539 * pow1633; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1635 = pow228 * pow1629; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1636 = pow408 * pow1635; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 4)) + (safe_div((safe_mult(11, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1637 = pow420 * pow1623; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 4)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1638 = pow220 * pow1637; // pow(trace_generator, (safe_div((safe_mult(2945, keccak__row_ratio)), 512)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1639 = pow292 * pow1613; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1640 = pow509 * pow1639; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1641 = pow460 * pow1640; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1642 = pow673 * pow1638; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1643 = pow510 * pow1635; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1644 = pow220 * pow1611; // pow(trace_generator, (safe_div((safe_mult(1153, keccak__row_ratio)), 512)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1645 = pow228 * pow1635; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1646 = pow378 * pow1641; // pow(trace_generator, (safe_div((safe_mult(45, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1647 = pow228 * pow1645; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1648 = pow750 * pow1647; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1649 = pow240 * pow1648; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1650 = pow374 * pow1647; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1651 = pow220 * pow1644; // pow(trace_generator, (safe_div((safe_mult(577, keccak__row_ratio)), 256)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1652 = pow220 * pow1638; // pow(trace_generator, (safe_div((safe_mult(1473, keccak__row_ratio)), 256)) + (safe_div((safe_mult(15, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1653 = pow535 * pow1652; // pow(trace_generator, (safe_div((safe_mult(39, keccak__row_ratio)), 4)) + (safe_div((safe_mult(13, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1654 = pow220 * pow1642; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1655 = pow220 * pow1654; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(21, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1656 = pow254 * pow1654; // pow(trace_generator, (safe_div((safe_mult(31, keccak__row_ratio)), 2)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1657 = pow220 * pow1656; // pow(trace_generator, (safe_div((safe_mult(7937, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1658 = pow220 * pow1657; // pow(trace_generator, (safe_div((safe_mult(3969, keccak__row_ratio)), 256)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1659 = pow220 * pow1613; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1660 = pow220 * pow1639; // pow(trace_generator, (safe_div((safe_mult(3201, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1661 = pow220 * pow1659; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(7, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1662 = pow220 * pow1660; // pow(trace_generator, (safe_div((safe_mult(1601, keccak__row_ratio)), 256)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1663 = pow403 * pow1662; // pow(trace_generator, (safe_mult(7, keccak__row_ratio)) + (safe_div((safe_mult(5, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1664 = pow577 * pow1663; // pow(trace_generator, (safe_div((safe_mult(49, keccak__row_ratio)), 4)) + (safe_div((safe_mult(17, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1665 = pow400 * pow1612; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(19, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1666 = pow270 * pow1665; // pow(trace_generator, (safe_mult(14, keccak__row_ratio)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1667 = pow370 * pow1577; // pow(trace_generator, (safe_div((safe_mult(37, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1668 = pow576 * pow1667; // pow(trace_generator, (safe_div((safe_mult(29, keccak__row_ratio)), 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1669 = pow262 * pow1662; // pow(trace_generator, (safe_div((safe_mult(25, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1670 = pow545 * pow1659; // pow(trace_generator, (safe_div((safe_mult(43, keccak__row_ratio)), 4)) + (safe_div((safe_mult(9, keccak__row_ratio)), 64)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1671 = pow329 * pow1670; // pow(trace_generator, (safe_mult(11, keccak__row_ratio)) + (safe_div((safe_mult(9, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1672 = pow416 * pow1670; // pow(trace_generator, (safe_div((safe_mult(23, keccak__row_ratio)), 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 32)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1673 = pow270 * pow1657; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1674 = pow228 * pow1673; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1675 = pow202 * pow1673; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 4096)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1676 = pow220 * pow1674; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div(keccak__row_ratio, 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1677 = pow335 * pow1676; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1678 = pow228 * pow1677; // pow(trace_generator, (safe_div((safe_mult(63, keccak__row_ratio)), 4)) + (safe_div((safe_mult(3, keccak__row_ratio)), 512)) + (safe_div((safe_mult(25, keccak__row_ratio)), 128)) + (safe_mult(keccak__keccak__diluted_column0_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1679 = pow991 * pow1376; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking195_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1680 = pow992 * pow1376; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking194_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1681 = pow993 * pow1376; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking193_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1682 = pow994 * pow1376; // pow(trace_generator, (safe_mult(bitwise__trim_unpacking192_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1683 = pow995 * pow1376; // pow(trace_generator, (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1684 = pow3 * pow1683; // pow(trace_generator, (safe_div(bitwise__row_ratio, 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1685 = pow3 * pow1684; // pow(trace_generator, (safe_div(bitwise__row_ratio, 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1686 = pow3 * pow1685; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1687 = pow3 * pow1686; // pow(trace_generator, (safe_div(bitwise__row_ratio, 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1688 = pow3 * pow1687; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1689 = pow3 * pow1688; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1690 = pow3 * pow1689; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1691 = pow3 * pow1690; // pow(trace_generator, (safe_div(bitwise__row_ratio, 8)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1692 = pow3 * pow1691; // pow(trace_generator, (safe_div((safe_mult(9, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1693 = pow3 * pow1692; // pow(trace_generator, (safe_div((safe_mult(5, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1694 = pow3 * pow1693; // pow(trace_generator, (safe_div((safe_mult(11, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1695 = pow3 * pow1694; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1696 = pow3 * pow1695; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1697 = pow3 * pow1696; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1698 = pow3 * pow1697; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1699 = pow3 * pow1698; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1700 = pow18 * pow1699; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1701 = pow14 * pow1700; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1702 = pow3 * pow1701; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1703 = pow3 * pow1702; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1704 = pow3 * pow1703; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1705 = pow3 * pow1704; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1706 = pow14 * pow1705; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 16)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1707 = pow3 * pow1706; // pow(trace_generator, (safe_div((safe_mult(13, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1708 = pow3 * pow1707; // pow(trace_generator, (safe_div((safe_mult(7, bitwise__row_ratio)), 32)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1709 = pow3 * pow1708; // pow(trace_generator, (safe_div((safe_mult(15, bitwise__row_ratio)), 64)) + (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__diluted_var_pool_suboffset, diluted_units_row_ratio)) + diluted_pool_offset). + local pow1710 = pow1063 * pow1376; // pow(trace_generator, diluted_units_row_ratio + diluted_pool_offset). + let (local pow1711) = pow(trace_generator, diluted_check__permuted_values_offset); + local pow1712 = pow1063 * pow1711; // pow(trace_generator, diluted_units_row_ratio + diluted_check__permuted_values_offset). + let (local pow1713) = pow(trace_generator, range_check16_pool_offset); + local pow1714 = pow38 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part6_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1715 = pow39 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1716 = pow40 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1717 = pow41 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1718 = pow42 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1719 = pow43 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1720 = pow44 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry0__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1721 = pow45 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part6_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1722 = pow46 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1723 = pow47 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1724 = pow48 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1725 = pow49 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1726 = pow50 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1727 = pow51 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry5__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1728 = pow52 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part6_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1729 = pow53 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1730 = pow54 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1731 = pow55 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1732 = pow56 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1733 = pow57 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1734 = pow58 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry4__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1735 = pow59 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part6_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1736 = pow60 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1737 = pow61 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1738 = pow62 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1739 = pow63 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1740 = pow64 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1741 = pow65 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry3__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1742 = pow66 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part6_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1743 = pow67 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1744 = pow68 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1745 = pow69 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1746 = pow70 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1747 = pow71 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1748 = pow72 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry2__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1749 = pow73 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part6_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1750 = pow74 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1751 = pow75 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1752 = pow76 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1753 = pow77 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1754 = pow78 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1755 = pow79 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__carry1__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1756 = pow80 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier0__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1757 = pow81 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier0__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1758 = pow82 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier0__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1759 = pow83 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier0__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1760 = pow84 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier0__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1761 = pow85 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier0__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1762 = pow86 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier3__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1763 = pow87 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier3__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1764 = pow88 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier3__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1765 = pow89 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier3__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1766 = pow90 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier3__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1767 = pow91 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier3__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1768 = pow92 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier2__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1769 = pow93 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier2__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1770 = pow94 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier2__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1771 = pow95 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier2__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1772 = pow96 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier2__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1773 = pow97 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier2__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1774 = pow98 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier1__part5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1775 = pow99 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier1__part4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1776 = pow100 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier1__part3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1777 = pow101 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier1__part2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1778 = pow102 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier1__part1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1779 = pow103 * pow1713; // pow(trace_generator, (safe_mult(mul_mod__p_multiplier1__part0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1780 = pow162 * pow1713; // pow(trace_generator, (safe_mult(range_check96_builtin__inner_range_check5_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1781 = pow163 * pow1713; // pow(trace_generator, (safe_mult(range_check96_builtin__inner_range_check4_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1782 = pow164 * pow1713; // pow(trace_generator, (safe_mult(range_check96_builtin__inner_range_check3_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1783 = pow165 * pow1713; // pow(trace_generator, (safe_mult(range_check96_builtin__inner_range_check2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1784 = pow166 * pow1713; // pow(trace_generator, (safe_mult(range_check96_builtin__inner_range_check1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1785 = pow167 * pow1713; // pow(trace_generator, (safe_mult(range_check96_builtin__inner_range_check0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1786 = pow1038 * pow1713; // pow(trace_generator, (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1787 = pow30 * pow1786; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1788 = pow30 * pow1787; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1789 = pow30 * pow1788; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1790 = pow30 * pow1789; // pow(trace_generator, (safe_div(range_check_builtin_row_ratio, 2)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1791 = pow30 * pow1790; // pow(trace_generator, (safe_div((safe_mult(5, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1792 = pow30 * pow1791; // pow(trace_generator, (safe_div((safe_mult(3, range_check_builtin_row_ratio)), 4)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1793 = pow30 * pow1792; // pow(trace_generator, (safe_div((safe_mult(7, range_check_builtin_row_ratio)), 8)) + (safe_mult(range_check_builtin__inner_range_check_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow1794 = pow1064 * pow1713; // pow(trace_generator, range_check_units_row_ratio + range_check16_pool_offset). + let (local pow1795) = pow(trace_generator, range_check16__sorted_offset); + local pow1796 = pow1064 * pow1795; // pow(trace_generator, range_check_units_row_ratio + range_check16__sorted_offset). + let (local pow1797) = pow(trace_generator, mem_pool__value_offset); + local pow1798 = pow107 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__c0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1799 = pow104 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__c3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1800 = pow105 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__c2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1801 = pow106 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__c1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1802 = pow111 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__b0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1803 = pow108 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__b3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1804 = pow109 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__b2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1805 = pow110 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__b1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1806 = pow115 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__a0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1807 = pow112 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__a3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1808 = pow113 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__a2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1809 = pow114 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__a1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1810 = pow116 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__c_offset_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1811 = pow117 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__b_offset_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1812 = pow118 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__a_offset_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1813 = pow121 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1814 = pow0 * pow1813; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1815 = pow123 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__values_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1816 = pow0 * pow1815; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__values_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1817 = pow125 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__p3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1818 = pow0 * pow1817; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1819 = pow127 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__p2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1820 = pow0 * pow1819; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1821 = pow129 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__p1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1822 = pow0 * pow1821; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1823 = pow119 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__n_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1824 = pow0 * pow1823; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__n_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1825 = pow131 * pow1797; // pow(trace_generator, (safe_mult(mul_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1826 = pow0 * pow1825; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1827 = pow136 * pow1797; // pow(trace_generator, (safe_mult(add_mod__c0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1828 = pow133 * pow1797; // pow(trace_generator, (safe_mult(add_mod__c3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1829 = pow134 * pow1797; // pow(trace_generator, (safe_mult(add_mod__c2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1830 = pow135 * pow1797; // pow(trace_generator, (safe_mult(add_mod__c1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1831 = pow140 * pow1797; // pow(trace_generator, (safe_mult(add_mod__b0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1832 = pow137 * pow1797; // pow(trace_generator, (safe_mult(add_mod__b3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1833 = pow138 * pow1797; // pow(trace_generator, (safe_mult(add_mod__b2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1834 = pow139 * pow1797; // pow(trace_generator, (safe_mult(add_mod__b1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1835 = pow144 * pow1797; // pow(trace_generator, (safe_mult(add_mod__a0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1836 = pow141 * pow1797; // pow(trace_generator, (safe_mult(add_mod__a3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1837 = pow142 * pow1797; // pow(trace_generator, (safe_mult(add_mod__a2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1838 = pow143 * pow1797; // pow(trace_generator, (safe_mult(add_mod__a1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1839 = pow145 * pow1797; // pow(trace_generator, (safe_mult(add_mod__c_offset_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1840 = pow146 * pow1797; // pow(trace_generator, (safe_mult(add_mod__b_offset_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1841 = pow147 * pow1797; // pow(trace_generator, (safe_mult(add_mod__a_offset_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1842 = pow150 * pow1797; // pow(trace_generator, (safe_mult(add_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1843 = pow1 * pow1842; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1844 = pow152 * pow1797; // pow(trace_generator, (safe_mult(add_mod__values_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1845 = pow1 * pow1844; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__values_ptr_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1846 = pow154 * pow1797; // pow(trace_generator, (safe_mult(add_mod__p3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1847 = pow1 * pow1846; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p3_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1848 = pow156 * pow1797; // pow(trace_generator, (safe_mult(add_mod__p2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1849 = pow158 * pow1797; // pow(trace_generator, (safe_mult(add_mod__p1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1850 = pow1 * pow1849; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1851 = pow148 * pow1797; // pow(trace_generator, (safe_mult(add_mod__n_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1852 = pow1 * pow1851; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__n_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1853 = pow160 * pow1797; // pow(trace_generator, (safe_mult(add_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1854 = pow168 * pow1797; // pow(trace_generator, (safe_mult(range_check96_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1855 = pow1 * pow1848; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p2_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1856 = pow958 * pow1797; // pow(trace_generator, (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1857 = pow277 * pow1856; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1858 = pow277 * pow1857; // pow(trace_generator, (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1859 = pow277 * pow1858; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1860 = pow277 * pow1859; // pow(trace_generator, (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1861 = pow277 * pow1860; // pow(trace_generator, (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1862 = pow277 * pow1861; // pow(trace_generator, (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1863 = pow277 * pow1862; // pow(trace_generator, (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1864 = pow277 * pow1863; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1865 = pow277 * pow1864; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1866 = pow277 * pow1865; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1867 = pow277 * pow1866; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1868 = pow277 * pow1867; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div(keccak__row_ratio, 4)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1869 = pow277 * pow1868; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(5, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1870 = pow277 * pow1869; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(3, keccak__row_ratio)), 8)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1871 = pow277 * pow1870; // pow(trace_generator, (safe_div(keccak__row_ratio, 2)) + (safe_div((safe_mult(7, keccak__row_ratio)), 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1872 = pow983 * pow1797; // pow(trace_generator, (safe_mult(ec_op__r_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1873 = pow984 * pow1797; // pow(trace_generator, (safe_mult(ec_op__r_x_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1874 = pow988 * pow1797; // pow(trace_generator, (safe_mult(ec_op__p_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1875 = pow989 * pow1797; // pow(trace_generator, (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1876 = pow985 * pow1797; // pow(trace_generator, (safe_mult(ec_op__m_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1877 = pow1 * pow1853; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1878 = pow986 * pow1797; // pow(trace_generator, (safe_mult(ec_op__q_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1879 = pow987 * pow1797; // pow(trace_generator, (safe_mult(ec_op__q_x_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1880 = pow185 * pow1797; // pow(trace_generator, (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1881 = pow178 * pow1880; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1882 = pow187 * pow1797; // pow(trace_generator, (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1883 = pow178 * pow1882; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1884 = pow189 * pow1797; // pow(trace_generator, (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1885 = pow178 * pow1884; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1886 = pow1022 * pow1797; // pow(trace_generator, (safe_mult(bitwise__x_or_y_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1887 = pow1023 * pow1797; // pow(trace_generator, (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1888 = pow19 * pow1887; // pow(trace_generator, (safe_div(bitwise__row_ratio, 2)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1889 = pow18 * pow1888; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1890 = pow1029 * pow1797; // pow(trace_generator, (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1891 = pow1028 * pow1797; // pow(trace_generator, (safe_mult(ecdsa__message_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1892 = pow1046 * pow1797; // pow(trace_generator, (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1893 = pow1049 * pow1797; // pow(trace_generator, (safe_mult(pedersen__output_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1894 = pow1048 * pow1797; // pow(trace_generator, (safe_mult(pedersen__input1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1895 = pow1050 * pow1797; // pow(trace_generator, (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1896 = pow1065 * pow1797; // pow(trace_generator, (safe_mult(orig__public_memory_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1897 = pow1066 * pow1797; // pow(trace_generator, memory_units_row_ratio + mem_pool__value_offset). + let (local pow1898) = pow(trace_generator, mem_pool__addr_offset); + local pow1899 = pow104 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__c3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1900 = pow105 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__c2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1901 = pow106 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__c1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1902 = pow107 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__c0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1903 = pow108 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__b3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1904 = pow109 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__b2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1905 = pow110 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__b1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1906 = pow111 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__b0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1907 = pow112 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__a3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1908 = pow113 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__a2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1909 = pow114 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__a1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1910 = pow115 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__a0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1911 = pow116 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__c_offset_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1912 = pow117 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__b_offset_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1913 = pow118 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__a_offset_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1914 = pow119 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__n_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1915 = pow121 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1916 = pow123 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__values_ptr_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1917 = pow125 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__p3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1918 = pow127 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__p2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1919 = pow129 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__p1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1920 = pow131 * pow1898; // pow(trace_generator, (safe_mult(mul_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1921 = pow0 * pow1920; // pow(trace_generator, mul_mod__row_ratio + (safe_mult(mul_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1922 = pow133 * pow1898; // pow(trace_generator, (safe_mult(add_mod__c3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1923 = pow134 * pow1898; // pow(trace_generator, (safe_mult(add_mod__c2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1924 = pow135 * pow1898; // pow(trace_generator, (safe_mult(add_mod__c1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1925 = pow136 * pow1898; // pow(trace_generator, (safe_mult(add_mod__c0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1926 = pow137 * pow1898; // pow(trace_generator, (safe_mult(add_mod__b3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1927 = pow138 * pow1898; // pow(trace_generator, (safe_mult(add_mod__b2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1928 = pow139 * pow1898; // pow(trace_generator, (safe_mult(add_mod__b1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1929 = pow140 * pow1898; // pow(trace_generator, (safe_mult(add_mod__b0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1930 = pow141 * pow1898; // pow(trace_generator, (safe_mult(add_mod__a3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1931 = pow142 * pow1898; // pow(trace_generator, (safe_mult(add_mod__a2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1932 = pow143 * pow1898; // pow(trace_generator, (safe_mult(add_mod__a1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1933 = pow144 * pow1898; // pow(trace_generator, (safe_mult(add_mod__a0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1934 = pow145 * pow1898; // pow(trace_generator, (safe_mult(add_mod__c_offset_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1935 = pow146 * pow1898; // pow(trace_generator, (safe_mult(add_mod__b_offset_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1936 = pow147 * pow1898; // pow(trace_generator, (safe_mult(add_mod__a_offset_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1937 = pow148 * pow1898; // pow(trace_generator, (safe_mult(add_mod__n_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1938 = pow150 * pow1898; // pow(trace_generator, (safe_mult(add_mod__offsets_ptr_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1939 = pow152 * pow1898; // pow(trace_generator, (safe_mult(add_mod__values_ptr_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1940 = pow154 * pow1898; // pow(trace_generator, (safe_mult(add_mod__p3_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1941 = pow156 * pow1898; // pow(trace_generator, (safe_mult(add_mod__p2_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1942 = pow158 * pow1898; // pow(trace_generator, (safe_mult(add_mod__p1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1943 = pow160 * pow1898; // pow(trace_generator, (safe_mult(add_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1944 = pow1 * pow1943; // pow(trace_generator, add_mod__row_ratio + (safe_mult(add_mod__p0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1945 = pow168 * pow1898; // pow(trace_generator, (safe_mult(range_check96_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1946 = pow2 * pow1945; // pow(trace_generator, range_check96_builtin_row_ratio + (safe_mult(range_check96_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1947 = pow958 * pow1898; // pow(trace_generator, (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1948 = pow277 * pow1947; // pow(trace_generator, (safe_div(keccak__row_ratio, 16)) + (safe_mult(keccak__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1949 = pow983 * pow1898; // pow(trace_generator, (safe_mult(ec_op__r_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1950 = pow984 * pow1898; // pow(trace_generator, (safe_mult(ec_op__r_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1951 = pow985 * pow1898; // pow(trace_generator, (safe_mult(ec_op__m_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1952 = pow986 * pow1898; // pow(trace_generator, (safe_mult(ec_op__q_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1953 = pow987 * pow1898; // pow(trace_generator, (safe_mult(ec_op__q_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1954 = pow988 * pow1898; // pow(trace_generator, (safe_mult(ec_op__p_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1955 = pow989 * pow1898; // pow(trace_generator, (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1956 = pow979 * pow1955; // pow(trace_generator, ec_op_builtin_row_ratio + (safe_mult(ec_op__p_x_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1957 = pow185 * pow1898; // pow(trace_generator, (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1958 = pow178 * pow1957; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_2__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1959 = pow187 * pow1898; // pow(trace_generator, (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1960 = pow178 * pow1959; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_1__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1961 = pow189 * pow1898; // pow(trace_generator, (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1962 = pow178 * pow1961; // pow(trace_generator, (safe_div(poseidon__row_ratio, 2)) + (safe_mult(poseidon__param_0__input_output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1963 = pow1022 * pow1898; // pow(trace_generator, (safe_mult(bitwise__x_or_y_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1964 = pow1023 * pow1898; // pow(trace_generator, (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1965 = pow18 * pow1964; // pow(trace_generator, (safe_div(bitwise__row_ratio, 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1966 = pow19 * pow1965; // pow(trace_generator, (safe_div((safe_mult(3, bitwise__row_ratio)), 4)) + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1967 = pow18 * pow1966; // pow(trace_generator, bitwise__row_ratio + (safe_mult(bitwise__var_pool_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1968 = pow1028 * pow1898; // pow(trace_generator, (safe_mult(ecdsa__message_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1969 = pow1029 * pow1898; // pow(trace_generator, (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1970 = pow1036 * pow1969; // pow(trace_generator, ecdsa_builtin_row_ratio + (safe_mult(ecdsa__pubkey_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1971 = pow1046 * pow1898; // pow(trace_generator, (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1972 = pow37 * pow1971; // pow(trace_generator, range_check_builtin_row_ratio + (safe_mult(range_check_builtin__mem_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1973 = pow1048 * pow1898; // pow(trace_generator, (safe_mult(pedersen__input1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1974 = pow1050 * pow1898; // pow(trace_generator, (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1975 = pow1049 * pow1898; // pow(trace_generator, (safe_mult(pedersen__output_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1976 = pow1059 * pow1974; // pow(trace_generator, pedersen_builtin_row_ratio + (safe_mult(pedersen__input0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1977 = pow1065 * pow1898; // pow(trace_generator, (safe_mult(orig__public_memory_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1978 = pow1066 * pow1898; // pow(trace_generator, memory_units_row_ratio + mem_pool__addr_offset). + let (local pow1979) = pow(trace_generator, memory__sorted__value_offset); + local pow1980 = pow1066 * pow1979; // pow(trace_generator, memory_units_row_ratio + memory__sorted__value_offset). + let (local pow1981) = pow(trace_generator, memory__sorted__addr_offset); + local pow1982 = pow1066 * pow1981; // pow(trace_generator, memory_units_row_ratio + memory__sorted__addr_offset). + let (local pow1983) = pow(trace_generator, cpu__update_registers__update_pc__tmp1_offset); + local pow1984 = pow1069 * pow1797; // pow(trace_generator, (safe_mult(cpu__operands__mem_dst_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + let (local pow1985) = pow(trace_generator, cpu__update_registers__update_pc__tmp0_offset); + let (local pow1986) = pow(trace_generator, cpu__operands__res_offset); + local pow1987 = pow1067 * pow1797; // pow(trace_generator, (safe_mult(cpu__operands__mem_op1_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + let (local pow1988) = pow(trace_generator, cpu__operands__ops_mul_offset); + local pow1989 = pow1068 * pow1797; // pow(trace_generator, (safe_mult(cpu__operands__mem_op0_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + local pow1990 = pow1073 * pow1898; // pow(trace_generator, (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1991 = pow1089 * pow1990; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1992 = pow1067 * pow1898; // pow(trace_generator, (safe_mult(cpu__operands__mem_op1_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1993 = pow1068 * pow1898; // pow(trace_generator, (safe_mult(cpu__operands__mem_op0_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + let (local pow1994) = pow(trace_generator, cpu__registers__ap_offset); + local pow1995 = pow1089 * pow1994; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + cpu__registers__ap_offset). + let (local pow1996) = pow(trace_generator, cpu__registers__fp_offset); + local pow1997 = pow1089 * pow1996; // pow(trace_generator, (safe_mult(16, cpu_component_step)) + cpu__registers__fp_offset). + local pow1998 = pow1069 * pow1898; // pow(trace_generator, (safe_mult(cpu__operands__mem_dst_suboffset, memory_units_row_ratio)) + mem_pool__addr_offset). + local pow1999 = pow1070 * pow1713; // pow(trace_generator, (safe_mult(cpu__decode__off0_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow2000 = pow1071 * pow1713; // pow(trace_generator, (safe_mult(cpu__decode__off1_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow2001 = pow1072 * pow1713; // pow(trace_generator, (safe_mult(cpu__decode__off2_suboffset, range_check_units_row_ratio)) + range_check16_pool_offset). + local pow2002 = pow1073 * pow1797; // pow(trace_generator, (safe_mult(cpu__decode__mem_inst_suboffset, memory_units_row_ratio)) + mem_pool__value_offset). + let (local pow2003) = pow(trace_generator, cpu__decode__opcode_range_check__column_offset); + local pow2004 = pow1074 * pow2003; // pow(trace_generator, cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2005 = pow1074 * pow2004; // pow(trace_generator, (safe_mult(2, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). + local pow2006 = pow1074 * pow2005; // pow(trace_generator, (safe_mult(2, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2007 = pow1074 * pow2006; // pow(trace_generator, (safe_mult(4, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). + local pow2008 = pow1074 * pow2007; // pow(trace_generator, (safe_mult(4, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2009 = pow1074 * pow2008; // pow(trace_generator, (safe_mult(5, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2010 = pow1074 * pow2009; // pow(trace_generator, (safe_mult(6, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2011 = pow1074 * pow2010; // pow(trace_generator, (safe_mult(7, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2012 = pow1074 * pow2011; // pow(trace_generator, (safe_mult(9, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). + local pow2013 = pow1074 * pow2012; // pow(trace_generator, (safe_mult(9, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2014 = pow1074 * pow2013; // pow(trace_generator, (safe_mult(10, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2015 = pow1074 * pow2014; // pow(trace_generator, (safe_mult(12, cpu_component_step)) + cpu__decode__opcode_range_check__column_offset). + local pow2016 = pow1074 * pow2015; // pow(trace_generator, (safe_mult(12, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2017 = pow1074 * pow2016; // pow(trace_generator, (safe_mult(13, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). + local pow2018 = pow1074 * pow2017; // pow(trace_generator, (safe_mult(14, cpu_component_step)) + cpu_component_step + cpu__decode__opcode_range_check__column_offset). // Fetch columns. @@ -18063,4119 +20002,5061 @@ func eval_oods_polynomial{range_check_ptr}( tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[0] - ) / (point - pow1682 * oods_point); + ) / (point - pow2003 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[0] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[1] - ) / (point - pow1683 * oods_point); + ) / (point - pow2004 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[1] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[2]) / ( - point - pow1681 * oods_point + point - pow2002 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[2] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[3]) / ( - point - pow1680 * oods_point + point - pow2001 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[3] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[4]) / ( - point - pow1679 * oods_point + point - pow2000 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[4] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[5]) / ( - point - pow1678 * oods_point + point - pow1999 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[5] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[6] - ) / (point - pow1684 * oods_point); + ) / (point - pow2005 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[6] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[7] - ) / (point - pow1685 * oods_point); + ) / (point - pow2006 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[7] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[8] - ) / (point - pow1686 * oods_point); + ) / (point - pow2007 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[8] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[9] - ) / (point - pow1687 * oods_point); + ) / (point - pow2008 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[9] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[10] - ) / (point - pow1685 * oods_point); + ) / (point - pow2006 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[10] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[11] - ) / (point - pow1686 * oods_point); + ) / (point - pow2007 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[11] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[12] - ) / (point - pow1687 * oods_point); + ) / (point - pow2008 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[12] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[13] - ) / (point - pow1688 * oods_point); + ) / (point - pow2009 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[13] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[14] - ) / (point - pow1688 * oods_point); + ) / (point - pow2009 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[14] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[15] - ) / (point - pow1689 * oods_point); + ) / (point - pow2010 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[15] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[16] - ) / (point - pow1691 * oods_point); + ) / (point - pow2012 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[16] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[17] - ) / (point - pow1692 * oods_point); + ) / (point - pow2013 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[17] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[18] - ) / (point - pow1689 * oods_point); + ) / (point - pow2010 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[18] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[19] - ) / (point - pow1690 * oods_point); + ) / (point - pow2011 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[19] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[20] - ) / (point - pow1690 * oods_point); + ) / (point - pow2011 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[20] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[21] - ) / (point - pow1691 * oods_point); + ) / (point - pow2012 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[21] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[22] - ) / (point - pow1694 * oods_point); + ) / (point - pow2015 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[22] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[23] - ) / (point - pow1695 * oods_point); + ) / (point - pow2016 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[23] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[24] - ) / (point - pow1695 * oods_point); + ) / (point - pow2016 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[24] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[25] - ) / (point - pow1696 * oods_point); + ) / (point - pow2017 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[25] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[26]) / ( - point - pow1677 * oods_point + point - pow1998 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[26] * value; tempvar value = (column_values[cpu__registers__fp_column] - oods_values[27]) / ( - point - pow1675 * oods_point + point - pow1996 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[27] * value; tempvar value = (column_values[cpu__registers__ap_column] - oods_values[28]) / ( - point - pow1673 * oods_point + point - pow1994 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[28] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[29]) / ( - point - pow1672 * oods_point + point - pow1993 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[29] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[30] - ) / (point - pow1684 * oods_point); + ) / (point - pow2005 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[30] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[31]) / ( - point - pow1671 * oods_point + point - pow1992 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[31] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[32]) / ( - point - pow1669 * oods_point + point - pow1990 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[32] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[33]) / ( - point - pow1668 * oods_point + point - pow1989 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[33] * value; tempvar value = (column_values[cpu__operands__ops_mul_column] - oods_values[34]) / ( - point - pow1667 * oods_point + point - pow1988 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[34] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[35]) / ( - point - pow1666 * oods_point + point - pow1987 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[35] * value; tempvar value = (column_values[cpu__operands__res_column] - oods_values[36]) / ( - point - pow1665 * oods_point + point - pow1986 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[36] * value; tempvar value = ( column_values[cpu__update_registers__update_pc__tmp0_column] - oods_values[37] - ) / (point - pow1664 * oods_point); + ) / (point - pow1985 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[37] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[38]) / ( - point - pow1663 * oods_point + point - pow1984 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[38] * value; tempvar value = ( column_values[cpu__update_registers__update_pc__tmp1_column] - oods_values[39] - ) / (point - pow1662 * oods_point); + ) / (point - pow1983 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[39] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[40]) / ( - point - pow1670 * oods_point + point - pow1991 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[40] * value; tempvar value = (column_values[cpu__registers__ap_column] - oods_values[41]) / ( - point - pow1674 * oods_point + point - pow1995 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[41] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[42] - ) / (point - pow1692 * oods_point); + ) / (point - pow2013 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[42] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[43] - ) / (point - pow1693 * oods_point); + ) / (point - pow2014 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[43] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[44] - ) / (point - pow1693 * oods_point); + ) / (point - pow2014 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[44] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[45] - ) / (point - pow1694 * oods_point); + ) / (point - pow2015 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[45] * value; tempvar value = (column_values[cpu__registers__fp_column] - oods_values[46]) / ( - point - pow1676 * oods_point + point - pow1997 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[46] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[47] - ) / (point - pow1696 * oods_point); + ) / (point - pow2017 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[47] * value; tempvar value = ( column_values[cpu__decode__opcode_range_check__column_column] - oods_values[48] - ) / (point - pow1697 * oods_point); + ) / (point - pow2018 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[48] * value; tempvar value = (column_values[memory__sorted__addr_column] - oods_values[49]) / ( - point - pow1660 * oods_point + point - pow1981 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[49] * value; tempvar value = (column_values[memory__sorted__value_column] - oods_values[50]) / ( - point - pow1658 * oods_point + point - pow1979 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[50] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[51]) / ( - point - pow1625 * oods_point + point - pow1898 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[51] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[52]) / ( - point - pow1583 * oods_point + point - pow1797 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[52] * value; tempvar value = (column_values[memory__sorted__addr_column] - oods_values[53]) / ( - point - pow1661 * oods_point + point - pow1982 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[53] * value; tempvar value = (column_values[memory__sorted__value_column] - oods_values[54]) / ( - point - pow1659 * oods_point + point - pow1980 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[54] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[55]) / ( - point - pow1643 * oods_point + point - pow1978 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[55] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[56]) / ( - point - pow1618 * oods_point + point - pow1897 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[56] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[57]) / ( - point - pow1642 * oods_point + point - pow1977 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[57] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[58]) / ( - point - pow1617 * oods_point + point - pow1896 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[58] * value; tempvar value = (column_values[range_check16__sorted_column] - oods_values[59]) / ( - point - pow1581 * oods_point + point - pow1795 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[59] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[60]) / ( - point - pow1571 * oods_point + point - pow1713 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[60] * value; tempvar value = (column_values[range_check16__sorted_column] - oods_values[61]) / ( - point - pow1582 * oods_point + point - pow1796 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[61] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[62]) / ( - point - pow1580 * oods_point + point - pow1794 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[62] * value; tempvar value = (column_values[diluted_check__permuted_values_column] - oods_values[63]) / ( - point - pow1569 * oods_point + point - pow1711 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[63] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[64]) / ( - point - pow1234 * oods_point + point - pow1376 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[64] * value; tempvar value = (column_values[diluted_check__permuted_values_column] - oods_values[65]) / ( - point - pow1570 * oods_point + point - pow1712 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[65] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[66]) / ( - point - pow1568 * oods_point + point - pow1710 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[66] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones192_column] - oods_values[67] - ) / (point - pow1233 * oods_point); + ) / (point - pow1375 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[67] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[68] - ) / (point - pow1224 * oods_point); + ) / (point - pow1366 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[68] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[69] - ) / (point - pow1228 * oods_point); + ) / (point - pow1370 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[69] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[70] - ) / (point - pow1227 * oods_point); + ) / (point - pow1369 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[70] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones196_column] - oods_values[71] - ) / (point - pow1223 * oods_point); + ) / (point - pow1365 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[71] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[72] - ) / (point - pow1231 * oods_point); + ) / (point - pow1373 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[72] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[73] - ) / (point - pow1226 * oods_point); + ) / (point - pow1368 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[73] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[74] - ) / (point - pow1225 * oods_point); + ) / (point - pow1367 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[74] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[75] - ) / (point - pow1230 * oods_point); + ) / (point - pow1372 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[75] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[76] - ) / (point - pow1229 * oods_point); + ) / (point - pow1371 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[76] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__x_column] - oods_values[77] - ) / (point - pow1218 * oods_point); + ) / (point - pow1360 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[77] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__y_column] - oods_values[78] - ) / (point - pow1214 * oods_point); + ) / (point - pow1356 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[78] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__x_column] - oods_values[79] - ) / (point - pow1220 * oods_point); + ) / (point - pow1362 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[79] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__y_column] - oods_values[80] - ) / (point - pow1216 * oods_point); + ) / (point - pow1358 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[80] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__slope_column] - oods_values[81] - ) / (point - pow1213 * oods_point); + ) / (point - pow1355 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[81] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__x_column] - oods_values[82] - ) / (point - pow1219 * oods_point); + ) / (point - pow1361 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[82] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__y_column] - oods_values[83] - ) / (point - pow1215 * oods_point); + ) / (point - pow1357 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[83] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__x_column] - oods_values[84] - ) / (point - pow1221 * oods_point); + ) / (point - pow1363 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[84] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__y_column] - oods_values[85] - ) / (point - pow1217 * oods_point); + ) / (point - pow1359 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[85] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[86]) / ( - point - pow1608 * oods_point + point - pow1895 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[86] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[87]) / ( - point - pow1633 * oods_point + point - pow1976 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[87] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[88]) / ( - point - pow1632 * oods_point + point - pow1975 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[88] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[89]) / ( - point - pow1631 * oods_point + point - pow1974 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[89] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__selector_column] - oods_values[90] - ) / (point - pow1232 * oods_point); + ) / (point - pow1374 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[90] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[91]) / ( - point - pow1606 * oods_point + point - pow1894 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[91] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[92]) / ( - point - pow1630 * oods_point + point - pow1973 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[92] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[93]) / ( - point - pow1604 * oods_point + point - pow1893 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[93] * value; tempvar value = ( column_values[pedersen__hash0__ec_subset_sum__partial_sum__x_column] - oods_values[94] - ) / (point - pow1222 * oods_point); + ) / (point - pow1364 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[94] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[95]) / ( - point - pow1602 * oods_point + point - pow1892 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[95] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[96]) / ( - point - pow1572 * oods_point + point - pow1786 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[96] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[97]) / ( - point - pow1573 * oods_point + point - pow1787 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[97] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[98]) / ( - point - pow1574 * oods_point + point - pow1788 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[98] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[99]) / ( - point - pow1575 * oods_point + point - pow1789 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[99] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[100]) / ( - point - pow1576 * oods_point + point - pow1790 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[100] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[101]) / ( - point - pow1577 * oods_point + point - pow1791 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[101] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[102]) / ( - point - pow1578 * oods_point + point - pow1792 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[102] * value; tempvar value = (column_values[range_check16_pool_column] - oods_values[103]) / ( - point - pow1579 * oods_point + point - pow1793 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[103] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[104]) / ( - point - pow1627 * oods_point + point - pow1972 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[104] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[105]) / ( - point - pow1626 * oods_point + point - pow1971 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[105] * value; tempvar value = (column_values[ecdsa__signature0__key_points__x_column] - oods_values[106]) / ( - point - pow1210 * oods_point + point - pow1352 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[106] * value; tempvar value = (column_values[ecdsa__signature0__key_points__y_column] - oods_values[107]) / ( - point - pow1207 * oods_point + point - pow1349 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[107] * value; tempvar value = (column_values[ecdsa__signature0__key_points__x_column] - oods_values[108]) / ( - point - pow1211 * oods_point + point - pow1353 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[108] * value; tempvar value = (column_values[ecdsa__signature0__key_points__y_column] - oods_values[109]) / ( - point - pow1208 * oods_point + point - pow1350 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[109] * value; tempvar value = (column_values[ecdsa__signature0__doubling_slope_column] - oods_values[110]) / ( - point - pow1206 * oods_point + point - pow1348 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[110] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__selector_column] - oods_values[111] - ) / (point - pow1204 * oods_point); + ) / (point - pow1346 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[111] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__selector_column] - oods_values[112] - ) / (point - pow1205 * oods_point); + ) / (point - pow1347 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[112] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__partial_sum__x_column] - oods_values[113] - ) / (point - pow1201 * oods_point); + ) / (point - pow1343 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[113] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__partial_sum__y_column] - oods_values[114] - ) / (point - pow1198 * oods_point); + ) / (point - pow1340 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[114] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__partial_sum__x_column] - oods_values[115] - ) / (point - pow1202 * oods_point); + ) / (point - pow1344 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[115] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__partial_sum__y_column] - oods_values[116] - ) / (point - pow1199 * oods_point); + ) / (point - pow1341 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[116] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__slope_column] - oods_values[117] - ) / (point - pow1197 * oods_point); + ) / (point - pow1339 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[117] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__x_diff_inv_column] - oods_values[118] - ) / (point - pow1196 * oods_point); + ) / (point - pow1338 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[118] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__selector_column] - oods_values[119] - ) / (point - pow1194 * oods_point); + ) / (point - pow1336 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[119] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__selector_column] - oods_values[120] - ) / (point - pow1195 * oods_point); + ) / (point - pow1337 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[120] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__x_column] - oods_values[121] - ) / (point - pow1190 * oods_point); + ) / (point - pow1332 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[121] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__y_column] - oods_values[122] - ) / (point - pow1186 * oods_point); + ) / (point - pow1328 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[122] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__x_column] - oods_values[123] - ) / (point - pow1191 * oods_point); + ) / (point - pow1333 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[123] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__y_column] - oods_values[124] - ) / (point - pow1187 * oods_point); + ) / (point - pow1329 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[124] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__slope_column] - oods_values[125] - ) / (point - pow1185 * oods_point); + ) / (point - pow1327 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[125] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__x_diff_inv_column] - oods_values[126] - ) / (point - pow1184 * oods_point); + ) / (point - pow1326 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[126] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__partial_sum__x_column] - oods_values[127] - ) / (point - pow1203 * oods_point); + ) / (point - pow1345 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[127] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_generator__partial_sum__y_column] - oods_values[128] - ) / (point - pow1200 * oods_point); + ) / (point - pow1342 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[128] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__x_column] - oods_values[129] - ) / (point - pow1192 * oods_point); + ) / (point - pow1334 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[129] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__y_column] - oods_values[130] - ) / (point - pow1188 * oods_point); + ) / (point - pow1330 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[130] * value; tempvar value = (column_values[ecdsa__signature0__key_points__x_column] - oods_values[131]) / ( - point - pow1212 * oods_point + point - pow1354 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[131] * value; tempvar value = (column_values[ecdsa__signature0__key_points__y_column] - oods_values[132]) / ( - point - pow1209 * oods_point + point - pow1351 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[132] * value; tempvar value = ( column_values[ecdsa__signature0__add_results_slope_column] - oods_values[133] - ) / (point - pow1183 * oods_point); + ) / (point - pow1325 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[133] * value; tempvar value = (column_values[ecdsa__signature0__add_results_inv_column] - oods_values[134]) / - (point - pow1182 * oods_point); + (point - pow1324 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[134] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__x_column] - oods_values[135] - ) / (point - pow1193 * oods_point); + ) / (point - pow1335 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[135] * value; tempvar value = ( column_values[ecdsa__signature0__exponentiate_key__partial_sum__y_column] - oods_values[136] - ) / (point - pow1189 * oods_point); + ) / (point - pow1331 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[136] * value; tempvar value = (column_values[ecdsa__signature0__extract_r_slope_column] - oods_values[137]) / - (point - pow1181 * oods_point); + (point - pow1323 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[137] * value; tempvar value = (column_values[ecdsa__signature0__extract_r_inv_column] - oods_values[138]) / ( - point - pow1180 * oods_point + point - pow1322 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[138] * value; tempvar value = (column_values[ecdsa__signature0__z_inv_column] - oods_values[139]) / ( - point - pow1179 * oods_point + point - pow1321 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[139] * value; tempvar value = (column_values[ecdsa__signature0__r_w_inv_column] - oods_values[140]) / ( - point - pow1178 * oods_point + point - pow1320 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[140] * value; tempvar value = (column_values[ecdsa__signature0__q_x_squared_column] - oods_values[141]) / ( - point - pow1177 * oods_point + point - pow1319 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[141] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[142]) / ( - point - pow1656 * oods_point + point - pow1969 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[142] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[143]) / ( - point - pow1655 * oods_point + point - pow1968 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[143] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[144]) / ( - point - pow1657 * oods_point + point - pow1970 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[144] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[145]) / ( - point - pow1624 * oods_point + point - pow1891 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[145] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[146]) / ( - point - pow1623 * oods_point + point - pow1890 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[146] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[147]) / ( - point - pow1651 * oods_point + point - pow1964 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[147] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[148]) / ( - point - pow1652 * oods_point + point - pow1965 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[148] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[149]) / ( - point - pow1650 * oods_point + point - pow1963 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[149] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[150]) / ( - point - pow1653 * oods_point + point - pow1966 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[150] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[151]) / ( - point - pow1654 * oods_point + point - pow1967 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[151] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[152]) / ( - point - pow1620 * oods_point + point - pow1887 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[152] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[153]) / ( - point - pow1541 * oods_point + point - pow1683 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[153] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[154]) / ( - point - pow1542 * oods_point + point - pow1684 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[154] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[155]) / ( - point - pow1543 * oods_point + point - pow1685 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[155] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[156]) / ( - point - pow1544 * oods_point + point - pow1686 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[156] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[157]) / ( - point - pow1545 * oods_point + point - pow1687 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[157] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[158]) / ( - point - pow1546 * oods_point + point - pow1688 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[158] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[159]) / ( - point - pow1547 * oods_point + point - pow1689 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[159] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[160]) / ( - point - pow1548 * oods_point + point - pow1690 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[160] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[161]) / ( - point - pow1549 * oods_point + point - pow1691 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[161] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[162]) / ( - point - pow1550 * oods_point + point - pow1692 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[162] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[163]) / ( - point - pow1551 * oods_point + point - pow1693 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[163] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[164]) / ( - point - pow1552 * oods_point + point - pow1694 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[164] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[165]) / ( - point - pow1553 * oods_point + point - pow1695 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[165] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[166]) / ( - point - pow1554 * oods_point + point - pow1696 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[166] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[167]) / ( - point - pow1555 * oods_point + point - pow1697 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[167] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[168]) / ( - point - pow1556 * oods_point + point - pow1698 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[168] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[169]) / ( - point - pow1619 * oods_point + point - pow1886 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[169] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[170]) / ( - point - pow1621 * oods_point + point - pow1888 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[170] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[171]) / ( - point - pow1622 * oods_point + point - pow1889 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[171] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[172]) / ( - point - pow1558 * oods_point + point - pow1700 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[172] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[173]) / ( - point - pow1557 * oods_point + point - pow1699 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[173] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[174]) / ( - point - pow1563 * oods_point + point - pow1705 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[174] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[175]) / ( - point - pow1540 * oods_point + point - pow1682 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[175] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[176]) / ( - point - pow1559 * oods_point + point - pow1701 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[176] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[177]) / ( - point - pow1564 * oods_point + point - pow1706 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[177] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[178]) / ( - point - pow1539 * oods_point + point - pow1681 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[178] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[179]) / ( - point - pow1560 * oods_point + point - pow1702 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[179] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[180]) / ( - point - pow1565 * oods_point + point - pow1707 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[180] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[181]) / ( - point - pow1538 * oods_point + point - pow1680 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[181] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[182]) / ( - point - pow1561 * oods_point + point - pow1703 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[182] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[183]) / ( - point - pow1566 * oods_point + point - pow1708 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[183] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[184]) / ( - point - pow1537 * oods_point + point - pow1679 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[184] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[185]) / ( - point - pow1562 * oods_point + point - pow1704 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[185] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[186]) / ( - point - pow1567 * oods_point + point - pow1709 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[186] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[187]) / ( - point - pow1640 * oods_point + point - pow1955 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[187] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[188]) / ( - point - pow1641 * oods_point + point - pow1956 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[188] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[189]) / ( - point - pow1639 * oods_point + point - pow1954 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[189] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[190]) / ( - point - pow1638 * oods_point + point - pow1953 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[190] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[191]) / ( - point - pow1637 * oods_point + point - pow1952 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[191] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[192]) / ( - point - pow1636 * oods_point + point - pow1951 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[192] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[193]) / ( - point - pow1635 * oods_point + point - pow1950 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[193] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[194]) / ( - point - pow1634 * oods_point + point - pow1949 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[194] * value; tempvar value = (column_values[ec_op__doubling_slope_column] - oods_values[195]) / ( - point - pow1176 * oods_point + point - pow1318 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[195] * value; tempvar value = (column_values[ec_op__doubled_points__x_column] - oods_values[196]) / ( - point - pow1174 * oods_point + point - pow1316 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[196] * value; tempvar value = (column_values[ec_op__doubled_points__y_column] - oods_values[197]) / ( - point - pow1172 * oods_point + point - pow1314 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[197] * value; tempvar value = (column_values[ec_op__doubled_points__x_column] - oods_values[198]) / ( - point - pow1175 * oods_point + point - pow1317 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[198] * value; tempvar value = (column_values[ec_op__doubled_points__y_column] - oods_values[199]) / ( - point - pow1173 * oods_point + point - pow1315 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[199] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[200]) / ( - point - pow1610 * oods_point + point - pow1879 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[200] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[201]) / ( - point - pow1609 * oods_point + point - pow1878 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[201] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__bit_unpacking__prod_ones192_column] - oods_values[202] - ) / (point - pow1171 * oods_point); + ) / (point - pow1313 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[202] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[203]) / ( - point - pow1163 * oods_point + point - pow1305 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[203] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[204]) / ( - point - pow1164 * oods_point + point - pow1306 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[204] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[205]) / ( - point - pow1169 * oods_point + point - pow1311 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[205] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__bit_unpacking__prod_ones196_column] - oods_values[206] - ) / (point - pow1162 * oods_point); + ) / (point - pow1304 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[206] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[207]) / ( - point - pow1170 * oods_point + point - pow1312 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[207] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[208]) / ( - point - pow1167 * oods_point + point - pow1309 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[208] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[209]) / ( - point - pow1165 * oods_point + point - pow1307 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[209] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[210]) / ( - point - pow1166 * oods_point + point - pow1308 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[210] * value; tempvar value = (column_values[ec_op__ec_subset_sum__selector_column] - oods_values[211]) / ( - point - pow1168 * oods_point + point - pow1310 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[211] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__partial_sum__x_column] - oods_values[212] - ) / (point - pow1159 * oods_point); + ) / (point - pow1301 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[212] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__partial_sum__y_column] - oods_values[213] - ) / (point - pow1156 * oods_point); + ) / (point - pow1298 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[213] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__partial_sum__x_column] - oods_values[214] - ) / (point - pow1161 * oods_point); + ) / (point - pow1303 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[214] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__partial_sum__y_column] - oods_values[215] - ) / (point - pow1158 * oods_point); + ) / (point - pow1300 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[215] * value; tempvar value = (column_values[ec_op__ec_subset_sum__slope_column] - oods_values[216]) / ( - point - pow1155 * oods_point + point - pow1297 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[216] * value; tempvar value = (column_values[ec_op__ec_subset_sum__x_diff_inv_column] - oods_values[217]) / ( - point - pow1154 * oods_point + point - pow1296 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[217] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[218]) / ( - point - pow1607 * oods_point + point - pow1876 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[218] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[219]) / ( - point - pow1605 * oods_point + point - pow1875 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[219] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[220]) / ( - point - pow1603 * oods_point + point - pow1874 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[220] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[221]) / ( - point - pow1601 * oods_point + point - pow1873 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[221] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__partial_sum__x_column] - oods_values[222] - ) / (point - pow1160 * oods_point); + ) / (point - pow1302 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[222] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[223]) / ( - point - pow1600 * oods_point + point - pow1872 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[223] * value; tempvar value = ( column_values[ec_op__ec_subset_sum__partial_sum__y_column] - oods_values[224] - ) / (point - pow1157 * oods_point); + ) / (point - pow1299 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[224] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[225]) / ( - point - pow1628 * oods_point + point - pow1947 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[225] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[226]) / ( - point - pow1629 * oods_point + point - pow1948 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[226] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[227] - ) / (point - pow1123 * oods_point); + ) / (point - pow1265 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[227] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[228]) / ( - point - pow1584 * oods_point + point - pow1856 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[228] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[229] - ) / (point - pow1128 * oods_point); + ) / (point - pow1270 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[229] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[230]) / ( - point - pow1585 * oods_point + point - pow1857 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[230] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[231] - ) / (point - pow1129 * oods_point); + ) / (point - pow1271 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[231] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[232]) / ( - point - pow1586 * oods_point + point - pow1858 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[232] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[233] - ) / (point - pow1130 * oods_point); + ) / (point - pow1272 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[233] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[234]) / ( - point - pow1587 * oods_point + point - pow1859 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[234] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[235] - ) / (point - pow1131 * oods_point); + ) / (point - pow1273 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[235] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[236]) / ( - point - pow1588 * oods_point + point - pow1860 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[236] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[237] - ) / (point - pow1132 * oods_point); + ) / (point - pow1274 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[237] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[238]) / ( - point - pow1589 * oods_point + point - pow1861 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[238] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[239] - ) / (point - pow1133 * oods_point); + ) / (point - pow1275 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[239] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[240]) / ( - point - pow1590 * oods_point + point - pow1862 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[240] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[241] - ) / (point - pow1134 * oods_point); + ) / (point - pow1276 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[241] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[242]) / ( - point - pow1591 * oods_point + point - pow1863 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[242] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[243] - ) / (point - pow1135 * oods_point); + ) / (point - pow1277 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[243] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[244]) / ( - point - pow1592 * oods_point + point - pow1864 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[244] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[245] - ) / (point - pow1136 * oods_point); + ) / (point - pow1278 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[245] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[246]) / ( - point - pow1593 * oods_point + point - pow1865 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[246] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[247] - ) / (point - pow1137 * oods_point); + ) / (point - pow1279 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[247] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[248]) / ( - point - pow1594 * oods_point + point - pow1866 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[248] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[249] - ) / (point - pow1138 * oods_point); + ) / (point - pow1280 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[249] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[250]) / ( - point - pow1595 * oods_point + point - pow1867 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[250] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[251] - ) / (point - pow1139 * oods_point); + ) / (point - pow1281 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[251] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[252]) / ( - point - pow1596 * oods_point + point - pow1868 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[252] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[253] - ) / (point - pow1140 * oods_point); + ) / (point - pow1282 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[253] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[254]) / ( - point - pow1597 * oods_point + point - pow1869 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[254] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[255] - ) / (point - pow1141 * oods_point); + ) / (point - pow1283 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[255] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[256]) / ( - point - pow1598 * oods_point + point - pow1870 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[256] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[257] - ) / (point - pow1142 * oods_point); + ) / (point - pow1284 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[257] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[258]) / ( - point - pow1599 * oods_point + point - pow1871 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[258] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[259] - ) / (point - pow1093 * oods_point); + ) / (point - pow1235 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[259] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[260] - ) / (point - pow1101 * oods_point); + ) / (point - pow1243 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[260] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[261] - ) / (point - pow1124 * oods_point); + ) / (point - pow1266 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[261] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[262] - ) / (point - pow1109 * oods_point); + ) / (point - pow1251 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[262] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[263] - ) / (point - pow1125 * oods_point); + ) / (point - pow1267 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[263] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[264] - ) / (point - pow1110 * oods_point); + ) / (point - pow1252 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[264] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[265] - ) / (point - pow1126 * oods_point); + ) / (point - pow1268 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[265] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[266] - ) / (point - pow1111 * oods_point); + ) / (point - pow1253 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[266] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[267] - ) / (point - pow1127 * oods_point); + ) / (point - pow1269 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[267] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[268] - ) / (point - pow1112 * oods_point); + ) / (point - pow1254 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[268] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[269] - ) / (point - pow1143 * oods_point); + ) / (point - pow1285 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[269] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[270] - ) / (point - pow1113 * oods_point); + ) / (point - pow1255 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[270] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[271] - ) / (point - pow1144 * oods_point); + ) / (point - pow1286 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[271] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[272] - ) / (point - pow1114 * oods_point); + ) / (point - pow1256 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[272] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[273] - ) / (point - pow1145 * oods_point); + ) / (point - pow1287 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[273] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[274] - ) / (point - pow1115 * oods_point); + ) / (point - pow1257 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[274] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[275] - ) / (point - pow1146 * oods_point); + ) / (point - pow1288 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[275] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[276] - ) / (point - pow1116 * oods_point); + ) / (point - pow1258 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[276] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[277] - ) / (point - pow1147 * oods_point); + ) / (point - pow1289 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[277] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[278] - ) / (point - pow1117 * oods_point); + ) / (point - pow1259 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[278] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[279] - ) / (point - pow1148 * oods_point); + ) / (point - pow1290 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[279] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[280] - ) / (point - pow1118 * oods_point); + ) / (point - pow1260 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[280] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[281] - ) / (point - pow1149 * oods_point); + ) / (point - pow1291 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[281] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[282] - ) / (point - pow1119 * oods_point); + ) / (point - pow1261 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[282] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[283] - ) / (point - pow1150 * oods_point); + ) / (point - pow1292 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[283] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[284] - ) / (point - pow1120 * oods_point); + ) / (point - pow1262 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[284] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[285] - ) / (point - pow1151 * oods_point); + ) / (point - pow1293 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[285] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[286] - ) / (point - pow1121 * oods_point); + ) / (point - pow1263 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[286] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[287] - ) / (point - pow1152 * oods_point); + ) / (point - pow1294 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[287] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[288] - ) / (point - pow1122 * oods_point); + ) / (point - pow1264 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[288] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__reshaped_intermediate_column] - oods_values[289] - ) / (point - pow1153 * oods_point); + ) / (point - pow1295 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[289] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[290] - ) / (point - pow1077 * oods_point); + ) / (point - pow1219 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[290] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[291] - ) / (point - pow1061 * oods_point); + ) / (point - pow1203 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[291] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[292] - ) / (point - pow1069 * oods_point); + ) / (point - pow1211 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[292] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[293] - ) / (point - pow1062 * oods_point); + ) / (point - pow1204 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[293] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[294] - ) / (point - pow1072 * oods_point); + ) / (point - pow1214 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[294] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[295] - ) / (point - pow1070 * oods_point); + ) / (point - pow1212 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[295] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[296] - ) / (point - pow1094 * oods_point); + ) / (point - pow1236 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[296] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[297] - ) / (point - pow1073 * oods_point); + ) / (point - pow1215 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[297] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[298] - ) / (point - pow1102 * oods_point); + ) / (point - pow1244 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[298] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[299] - ) / (point - pow1071 * oods_point); + ) / (point - pow1213 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[299] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[300] - ) / (point - pow1095 * oods_point); + ) / (point - pow1237 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[300] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[301] - ) / (point - pow1075 * oods_point); + ) / (point - pow1217 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[301] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[302] - ) / (point - pow1103 * oods_point); + ) / (point - pow1245 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[302] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[303] - ) / (point - pow1074 * oods_point); + ) / (point - pow1216 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[303] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[304] - ) / (point - pow1096 * oods_point); + ) / (point - pow1238 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[304] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[305] - ) / (point - pow1076 * oods_point); + ) / (point - pow1218 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[305] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[306] - ) / (point - pow1104 * oods_point); + ) / (point - pow1246 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[306] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[307] - ) / (point - pow1079 * oods_point); + ) / (point - pow1221 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[307] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[308] - ) / (point - pow1097 * oods_point); + ) / (point - pow1239 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[308] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[309] - ) / (point - pow1084 * oods_point); + ) / (point - pow1226 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[309] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[310] - ) / (point - pow1105 * oods_point); + ) / (point - pow1247 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[310] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[311] - ) / (point - pow1080 * oods_point); + ) / (point - pow1222 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[311] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[312] - ) / (point - pow1098 * oods_point); + ) / (point - pow1240 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[312] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[313] - ) / (point - pow1085 * oods_point); + ) / (point - pow1227 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[313] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[314] - ) / (point - pow1106 * oods_point); + ) / (point - pow1248 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[314] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[315] - ) / (point - pow1081 * oods_point); + ) / (point - pow1223 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[315] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[316] - ) / (point - pow1099 * oods_point); + ) / (point - pow1241 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[316] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[317] - ) / (point - pow1089 * oods_point); + ) / (point - pow1231 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[317] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[318] - ) / (point - pow1107 * oods_point); + ) / (point - pow1249 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[318] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[319] - ) / (point - pow1100 * oods_point); + ) / (point - pow1242 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[319] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[320] - ) / (point - pow1083 * oods_point); + ) / (point - pow1225 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[320] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__final_reshaped_input_column] - oods_values[321] - ) / (point - pow1108 * oods_point); + ) / (point - pow1250 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[321] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[322] - ) / (point - pow1082 * oods_point); + ) / (point - pow1224 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[322] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[323] - ) / (point - pow1065 * oods_point); + ) / (point - pow1207 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[323] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[324] - ) / (point - pow1090 * oods_point); + ) / (point - pow1232 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[324] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[325] - ) / (point - pow1066 * oods_point); + ) / (point - pow1208 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[325] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[326]) / ( - point - pow1531 * oods_point + point - pow1673 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[326] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[327] - ) / (point - pow1091 * oods_point); + ) / (point - pow1233 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[327] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[328] - ) / (point - pow1067 * oods_point); + ) / (point - pow1209 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[328] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[329]) / ( - point - pow1532 * oods_point + point - pow1674 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[329] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[330] - ) / (point - pow1092 * oods_point); + ) / (point - pow1234 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[330] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[331] - ) / (point - pow1068 * oods_point); + ) / (point - pow1210 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[331] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[332] - ) / (point - pow1078 * oods_point); + ) / (point - pow1220 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[332] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[333] - ) / (point - pow1086 * oods_point); + ) / (point - pow1228 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[333] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[334]) / ( - point - pow1429 * oods_point + point - pow1571 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[334] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[335] - ) / (point - pow1063 * oods_point); + ) / (point - pow1205 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[335] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[336] - ) / (point - pow1087 * oods_point); + ) / (point - pow1229 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[336] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[337]) / ( - point - pow1430 * oods_point + point - pow1572 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[337] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[338] - ) / (point - pow1064 * oods_point); + ) / (point - pow1206 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[338] * value; tempvar value = ( column_values[keccak__keccak__parse_to_diluted__cumulative_sum_column] - oods_values[339] - ) / (point - pow1088 * oods_point); + ) / (point - pow1230 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[339] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[340]) / ( - point - pow1473 * oods_point + point - pow1615 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[340] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[341]) / ( - point - pow1439 * oods_point + point - pow1581 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[341] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[342]) / ( - point - pow1446 * oods_point + point - pow1588 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[342] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[343]) / ( - point - pow1454 * oods_point + point - pow1596 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[343] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[344]) / ( - point - pow1462 * oods_point + point - pow1604 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[344] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[345]) / ( - point - pow1404 * oods_point + point - pow1546 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[345] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[346]) / ( - point - pow1376 * oods_point + point - pow1518 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[346] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[347]) / ( - point - pow1370 * oods_point + point - pow1512 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[347] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[348]) / ( - point - pow1432 * oods_point + point - pow1574 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[348] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[349]) / ( - point - pow1440 * oods_point + point - pow1582 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[349] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[350]) / ( - point - pow1448 * oods_point + point - pow1590 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[350] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[351]) / ( - point - pow1457 * oods_point + point - pow1599 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[351] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[352]) / ( - point - pow1463 * oods_point + point - pow1605 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[352] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[353]) / ( - point - pow1480 * oods_point + point - pow1622 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[353] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[354]) / ( - point - pow1406 * oods_point + point - pow1548 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[354] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[355]) / ( - point - pow1366 * oods_point + point - pow1508 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[355] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[356]) / ( - point - pow1433 * oods_point + point - pow1575 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[356] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[357]) / ( - point - pow1441 * oods_point + point - pow1583 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[357] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[358]) / ( - point - pow1449 * oods_point + point - pow1591 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[358] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[359]) / ( - point - pow1458 * oods_point + point - pow1600 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[359] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[360]) / ( - point - pow1466 * oods_point + point - pow1608 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[360] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[361]) / ( - point - pow1374 * oods_point + point - pow1516 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[361] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[362]) / ( - point - pow1486 * oods_point + point - pow1628 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[362] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[363]) / ( - point - pow1477 * oods_point + point - pow1619 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[363] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[364]) / ( - point - pow1434 * oods_point + point - pow1576 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[364] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[365]) / ( - point - pow1442 * oods_point + point - pow1584 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[365] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[366]) / ( - point - pow1450 * oods_point + point - pow1592 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[366] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[367]) / ( - point - pow1459 * oods_point + point - pow1601 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[367] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[368]) / ( - point - pow1467 * oods_point + point - pow1609 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[368] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[369]) / ( - point - pow1405 * oods_point + point - pow1547 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[369] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[370]) / ( - point - pow1377 * oods_point + point - pow1519 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[370] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[371]) / ( - point - pow1371 * oods_point + point - pow1513 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[371] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[372]) / ( - point - pow1437 * oods_point + point - pow1579 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[372] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[373]) / ( - point - pow1445 * oods_point + point - pow1587 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[373] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[374]) / ( - point - pow1451 * oods_point + point - pow1593 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[374] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[375]) / ( - point - pow1460 * oods_point + point - pow1602 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[375] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[376]) / ( - point - pow1472 * oods_point + point - pow1614 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[376] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[377]) / ( - point - pow1485 * oods_point + point - pow1627 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[377] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[378]) / ( - point - pow1407 * oods_point + point - pow1549 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[378] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[379]) / ( - point - pow1053 * oods_point + point - pow1195 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[379] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[380]) / ( - point - pow1050 * oods_point + point - pow1192 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[380] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[381]) / ( - point - pow1535 * oods_point + point - pow1677 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[381] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[382]) / ( - point - pow1046 * oods_point + point - pow1188 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[382] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[383]) / ( - point - pow1040 * oods_point + point - pow1182 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[383] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[384]) / ( - point - pow1396 * oods_point + point - pow1538 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[384] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[385]) / ( - point - pow1033 * oods_point + point - pow1175 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[385] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[386]) / ( - point - pow1029 * oods_point + point - pow1171 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[386] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[387]) / ( - point - pow1426 * oods_point + point - pow1568 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[387] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[388]) / ( - point - pow1023 * oods_point + point - pow1165 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[388] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[389]) / ( - point - pow1022 * oods_point + point - pow1164 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[389] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[390]) / ( - point - pow1536 * oods_point + point - pow1678 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[390] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[391]) / ( - point - pow1014 * oods_point + point - pow1156 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[391] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[392]) / ( - point - pow1011 * oods_point + point - pow1153 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[392] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[393]) / ( - point - pow1400 * oods_point + point - pow1542 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[393] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[394]) / ( - point - pow1241 * oods_point + point - pow1383 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[394] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[395]) / ( - point - pow1487 * oods_point + point - pow1629 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[395] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[396]) / ( - point - pow1262 * oods_point + point - pow1404 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[396] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[397]) / ( - point - pow1313 * oods_point + point - pow1455 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[397] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[398]) / ( - point - pow1428 * oods_point + point - pow1570 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[398] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[399]) / ( - point - pow1039 * oods_point + point - pow1181 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[399] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[400]) / ( - point - pow1534 * oods_point + point - pow1676 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[400] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[401]) / ( - point - pow1411 * oods_point + point - pow1553 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[401] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[402]) / ( - point - pow1279 * oods_point + point - pow1421 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[402] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[403]) / ( - point - pow1343 * oods_point + point - pow1485 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[403] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[404]) / ( - point - pow1352 * oods_point + point - pow1494 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[404] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[405]) / ( - point - pow1375 * oods_point + point - pow1517 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[405] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[406]) / ( - point - pow1024 * oods_point + point - pow1166 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[406] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[407]) / ( - point - pow1508 * oods_point + point - pow1650 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[407] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[408]) / ( - point - pow1305 * oods_point + point - pow1447 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[408] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[409]) / ( - point - pow1251 * oods_point + point - pow1393 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[409] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[410]) / ( - point - pow1349 * oods_point + point - pow1491 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[410] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[411]) / ( - point - pow1389 * oods_point + point - pow1531 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[411] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[412]) / ( - point - pow1420 * oods_point + point - pow1562 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[412] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[413]) / ( - point - pow1019 * oods_point + point - pow1161 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[413] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[414]) / ( - point - pow1435 * oods_point + point - pow1577 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[414] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[415]) / ( - point - pow1379 * oods_point + point - pow1521 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[415] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[416]) / ( - point - pow1274 * oods_point + point - pow1416 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[416] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[417]) / ( - point - pow1298 * oods_point + point - pow1440 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[417] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[418]) / ( - point - pow1311 * oods_point + point - pow1453 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[418] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[419]) / ( - point - pow1498 * oods_point + point - pow1640 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[419] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[420]) / ( - point - pow1057 * oods_point + point - pow1199 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[420] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[421]) / ( - point - pow1525 * oods_point + point - pow1667 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[421] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[422]) / ( - point - pow1300 * oods_point + point - pow1442 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[422] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[423]) / ( - point - pow1275 * oods_point + point - pow1417 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[423] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[424]) / ( - point - pow1331 * oods_point + point - pow1473 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[424] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[425]) / ( - point - pow1350 * oods_point + point - pow1492 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[425] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[426]) / ( - point - pow1385 * oods_point + point - pow1527 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[426] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[427]) / ( - point - pow1047 * oods_point + point - pow1189 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[427] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[428]) / ( - point - pow1521 * oods_point + point - pow1663 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[428] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[429]) / ( - point - pow1301 * oods_point + point - pow1443 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[429] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[430]) / ( - point - pow1243 * oods_point + point - pow1385 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[430] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[431]) / ( - point - pow1362 * oods_point + point - pow1504 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[431] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[432]) / ( - point - pow1403 * oods_point + point - pow1545 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[432] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[433]) / ( - point - pow1483 * oods_point + point - pow1625 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[433] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[434]) / ( - point - pow1035 * oods_point + point - pow1177 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[434] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[435]) / ( - point - pow1482 * oods_point + point - pow1624 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[435] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[436]) / ( - point - pow1378 * oods_point + point - pow1520 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[436] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[437]) / ( - point - pow1266 * oods_point + point - pow1408 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[437] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[438]) / ( - point - pow1272 * oods_point + point - pow1414 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[438] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[439]) / ( - point - pow1321 * oods_point + point - pow1463 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[439] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[440]) / ( - point - pow1397 * oods_point + point - pow1539 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[440] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[441]) / ( - point - pow1028 * oods_point + point - pow1170 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[441] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[442]) / ( - point - pow1526 * oods_point + point - pow1668 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[442] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[443]) / ( - point - pow1299 * oods_point + point - pow1441 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[443] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[444]) / ( - point - pow1282 * oods_point + point - pow1424 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[444] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[445]) / ( - point - pow1314 * oods_point + point - pow1456 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[445] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[446]) / ( - point - pow1257 * oods_point + point - pow1399 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[446] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[447]) / ( - point - pow1368 * oods_point + point - pow1510 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[447] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[448]) / ( - point - pow1012 * oods_point + point - pow1154 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[448] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[449]) / ( - point - pow1443 * oods_point + point - pow1585 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[449] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[450]) / ( - point - pow1315 * oods_point + point - pow1457 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[450] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[451]) / ( - point - pow1264 * oods_point + point - pow1406 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[451] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[452]) / ( - point - pow1369 * oods_point + point - pow1511 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[452] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[453]) / ( - point - pow1013 * oods_point + point - pow1155 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[453] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[454]) / ( - point - pow1444 * oods_point + point - pow1586 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[454] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[455]) / ( - point - pow1334 * oods_point + point - pow1476 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[455] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[456]) / ( - point - pow1265 * oods_point + point - pow1407 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[456] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[457]) / ( - point - pow1416 * oods_point + point - pow1558 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[457] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[458]) / ( - point - pow1016 * oods_point + point - pow1158 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[458] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[459]) / ( - point - pow1469 * oods_point + point - pow1611 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[459] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[460]) / ( - point - pow1280 * oods_point + point - pow1422 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[460] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[461]) / ( - point - pow1242 * oods_point + point - pow1384 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[461] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[462]) / ( - point - pow1417 * oods_point + point - pow1559 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[462] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[463]) / ( - point - pow1017 * oods_point + point - pow1159 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[463] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[464]) / ( - point - pow1502 * oods_point + point - pow1644 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[464] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[465]) / ( - point - pow1281 * oods_point + point - pow1423 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[465] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[466]) / ( - point - pow1244 * oods_point + point - pow1386 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[466] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[467]) / ( - point - pow1418 * oods_point + point - pow1560 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[467] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[468]) / ( - point - pow1018 * oods_point + point - pow1160 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[468] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[469]) / ( - point - pow1509 * oods_point + point - pow1651 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[469] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[470]) / ( - point - pow1246 * oods_point + point - pow1388 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[470] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[471]) / ( - point - pow1253 * oods_point + point - pow1395 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[471] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[472]) / ( - point - pow1284 * oods_point + point - pow1426 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[472] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[473]) / ( - point - pow1410 * oods_point + point - pow1552 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[473] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[474]) / ( - point - pow1499 * oods_point + point - pow1641 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[474] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[475]) / ( - point - pow1058 * oods_point + point - pow1200 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[475] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[476]) / ( - point - pow1529 * oods_point + point - pow1671 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[476] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[477]) / ( - point - pow1409 * oods_point + point - pow1551 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[477] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[478]) / ( - point - pow1255 * oods_point + point - pow1397 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[478] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[479]) / ( - point - pow1324 * oods_point + point - pow1466 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[479] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[480]) / ( - point - pow1320 * oods_point + point - pow1462 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[480] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[481]) / ( - point - pow1399 * oods_point + point - pow1541 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[481] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[482]) / ( - point - pow1049 * oods_point + point - pow1191 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[482] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[483]) / ( - point - pow1447 * oods_point + point - pow1589 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[483] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[484]) / ( - point - pow1296 * oods_point + point - pow1438 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[484] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[485]) / ( - point - pow1276 * oods_point + point - pow1418 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[485] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[486]) / ( - point - pow1330 * oods_point + point - pow1472 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[486] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[487]) / ( - point - pow1332 * oods_point + point - pow1474 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[487] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[488]) / ( - point - pow1474 * oods_point + point - pow1616 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[488] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[489]) / ( - point - pow1030 * oods_point + point - pow1172 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[489] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[490]) / ( - point - pow1470 * oods_point + point - pow1612 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[490] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[491]) / ( - point - pow1302 * oods_point + point - pow1444 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[491] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[492]) / ( - point - pow1245 * oods_point + point - pow1387 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[492] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[493]) / ( - point - pow1361 * oods_point + point - pow1503 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[493] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[494]) / ( - point - pow1427 * oods_point + point - pow1569 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[494] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[495]) / ( - point - pow1394 * oods_point + point - pow1536 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[495] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[496]) / ( - point - pow1026 * oods_point + point - pow1168 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[496] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[497]) / ( - point - pow1484 * oods_point + point - pow1626 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[497] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[498]) / ( - point - pow1408 * oods_point + point - pow1550 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[498] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[499]) / ( - point - pow1268 * oods_point + point - pow1410 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[499] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[500]) / ( - point - pow1318 * oods_point + point - pow1460 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[500] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[501]) / ( - point - pow1527 * oods_point + point - pow1669 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[501] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[502]) / ( - point - pow1422 * oods_point + point - pow1564 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[502] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[503]) / ( - point - pow1020 * oods_point + point - pow1162 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[503] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[504]) / ( - point - pow1511 * oods_point + point - pow1653 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[504] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[505]) / ( - point - pow1505 * oods_point + point - pow1647 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[505] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[506]) / ( - point - pow1288 * oods_point + point - pow1430 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[506] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[507]) / ( - point - pow1285 * oods_point + point - pow1427 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[507] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[508]) / ( - point - pow1339 * oods_point + point - pow1481 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[508] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[509]) / ( - point - pow1478 * oods_point + point - pow1620 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[509] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[510]) / ( - point - pow1051 * oods_point + point - pow1193 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[510] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[511]) / ( - point - pow1452 * oods_point + point - pow1594 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[511] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[512]) / ( - point - pow1287 * oods_point + point - pow1429 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[512] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[513]) / ( - point - pow1342 * oods_point + point - pow1484 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[513] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[514]) / ( - point - pow1479 * oods_point + point - pow1621 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[514] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[515]) / ( - point - pow1052 * oods_point + point - pow1194 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[515] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[516]) / ( - point - pow1453 * oods_point + point - pow1595 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[516] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[517]) / ( - point - pow1333 * oods_point + point - pow1475 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[517] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[518]) / ( - point - pow1353 * oods_point + point - pow1495 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[518] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[519]) / ( - point - pow1497 * oods_point + point - pow1639 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[519] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[520]) / ( - point - pow1054 * oods_point + point - pow1196 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[520] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[521]) / ( - point - pow1471 * oods_point + point - pow1613 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[521] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[522]) / ( - point - pow1283 * oods_point + point - pow1425 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[522] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[523]) / ( - point - pow1248 * oods_point + point - pow1390 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[523] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[524]) / ( - point - pow1518 * oods_point + point - pow1660 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[524] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[525]) / ( - point - pow1055 * oods_point + point - pow1197 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[525] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[526]) / ( - point - pow1517 * oods_point + point - pow1659 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[526] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[527]) / ( - point - pow1286 * oods_point + point - pow1428 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[527] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[528]) / ( - point - pow1250 * oods_point + point - pow1392 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[528] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[529]) / ( - point - pow1520 * oods_point + point - pow1662 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[529] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[530]) / ( - point - pow1056 * oods_point + point - pow1198 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[530] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[531]) / ( - point - pow1519 * oods_point + point - pow1661 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[531] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[532]) / ( - point - pow1252 * oods_point + point - pow1394 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[532] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[533]) / ( - point - pow1291 * oods_point + point - pow1433 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[533] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[534]) / ( - point - pow1356 * oods_point + point - pow1498 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[534] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[535]) / ( - point - pow1344 * oods_point + point - pow1486 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[535] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[536]) / ( - point - pow1372 * oods_point + point - pow1514 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[536] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[537]) / ( - point - pow1042 * oods_point + point - pow1184 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[537] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[538]) / ( - point - pow1455 * oods_point + point - pow1597 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[538] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[539]) / ( - point - pow1357 * oods_point + point - pow1499 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[539] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[540]) / ( - point - pow1354 * oods_point + point - pow1496 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[540] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[541]) / ( - point - pow1373 * oods_point + point - pow1515 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[541] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[542]) / ( - point - pow1044 * oods_point + point - pow1186 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[542] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[543]) / ( - point - pow1456 * oods_point + point - pow1598 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[543] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[544]) / ( - point - pow1358 * oods_point + point - pow1500 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[544] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[545]) / ( - point - pow1355 * oods_point + point - pow1497 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[545] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[546]) / ( - point - pow1386 * oods_point + point - pow1528 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[546] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[547]) / ( - point - pow1041 * oods_point + point - pow1183 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[547] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[548]) / ( - point - pow1495 * oods_point + point - pow1637 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[548] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[549]) / ( - point - pow1289 * oods_point + point - pow1431 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[549] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[550]) / ( - point - pow1254 * oods_point + point - pow1396 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[550] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[551]) / ( - point - pow1387 * oods_point + point - pow1529 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[551] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[552]) / ( - point - pow1043 * oods_point + point - pow1185 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[552] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[553]) / ( - point - pow1496 * oods_point + point - pow1638 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[553] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[554]) / ( - point - pow1290 * oods_point + point - pow1432 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[554] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[555]) / ( - point - pow1256 * oods_point + point - pow1398 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[555] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[556]) / ( - point - pow1388 * oods_point + point - pow1530 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[556] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[557]) / ( - point - pow1045 * oods_point + point - pow1187 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[557] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[558]) / ( - point - pow1510 * oods_point + point - pow1652 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[558] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[559]) / ( - point - pow1259 * oods_point + point - pow1401 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[559] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[560]) / ( - point - pow1258 * oods_point + point - pow1400 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[560] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[561]) / ( - point - pow1328 * oods_point + point - pow1470 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[561] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[562]) / ( - point - pow1504 * oods_point + point - pow1646 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[562] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[563]) / ( - point - pow1481 * oods_point + point - pow1623 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[563] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[564]) / ( - point - pow1034 * oods_point + point - pow1176 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[564] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[565]) / ( - point - pow1461 * oods_point + point - pow1603 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[565] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[566]) / ( - point - pow1503 * oods_point + point - pow1645 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[566] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[567]) / ( - point - pow1277 * oods_point + point - pow1419 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[567] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[568]) / ( - point - pow1348 * oods_point + point - pow1490 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[568] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[569]) / ( - point - pow1345 * oods_point + point - pow1487 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[569] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[570]) / ( - point - pow1395 * oods_point + point - pow1537 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[570] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[571]) / ( - point - pow1027 * oods_point + point - pow1169 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[571] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[572]) / ( - point - pow1522 * oods_point + point - pow1664 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[572] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[573]) / ( - point - pow1303 * oods_point + point - pow1445 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[573] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[574]) / ( - point - pow1247 * oods_point + point - pow1389 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[574] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[575]) / ( - point - pow1326 * oods_point + point - pow1468 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[575] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[576]) / ( - point - pow1327 * oods_point + point - pow1469 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[576] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[577]) / ( - point - pow1423 * oods_point + point - pow1565 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[577] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[578]) / ( - point - pow1021 * oods_point + point - pow1163 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[578] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[579]) / ( - point - pow1528 * oods_point + point - pow1670 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[579] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[580]) / ( - point - pow1295 * oods_point + point - pow1437 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[580] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[581]) / ( - point - pow1269 * oods_point + point - pow1411 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[581] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[582]) / ( - point - pow1273 * oods_point + point - pow1415 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[582] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[583]) / ( - point - pow1401 * oods_point + point - pow1543 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[583] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[584]) / ( - point - pow1524 * oods_point + point - pow1666 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[584] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[585]) / ( - point - pow1060 * oods_point + point - pow1202 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[585] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[586]) / ( - point - pow1523 * oods_point + point - pow1665 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[586] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[587]) / ( - point - pow1381 * oods_point + point - pow1523 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[587] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[588]) / ( - point - pow1270 * oods_point + point - pow1412 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[588] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[589]) / ( - point - pow1271 * oods_point + point - pow1413 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[589] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[590]) / ( - point - pow1424 * oods_point + point - pow1566 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[590] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[591]) / ( - point - pow1398 * oods_point + point - pow1540 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[591] * value; tempvar value = (column_values[keccak__keccak__rotated_parity1_column] - oods_values[592]) / ( - point - pow1048 * oods_point + point - pow1190 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[592] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[593]) / ( - point - pow1530 * oods_point + point - pow1672 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[593] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[594]) / ( - point - pow1412 * oods_point + point - pow1554 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[594] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[595]) / ( - point - pow1294 * oods_point + point - pow1436 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[595] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[596]) / ( - point - pow1309 * oods_point + point - pow1451 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[596] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[597]) / ( - point - pow1297 * oods_point + point - pow1439 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[597] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[598]) / ( - point - pow1475 * oods_point + point - pow1617 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[598] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[599]) / ( - point - pow1031 * oods_point + point - pow1173 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[599] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[600]) / ( - point - pow1464 * oods_point + point - pow1606 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[600] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[601]) / ( - point - pow1310 * oods_point + point - pow1452 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[601] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[602]) / ( - point - pow1316 * oods_point + point - pow1458 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[602] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[603]) / ( - point - pow1476 * oods_point + point - pow1618 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[603] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[604]) / ( - point - pow1032 * oods_point + point - pow1174 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[604] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[605]) / ( - point - pow1465 * oods_point + point - pow1607 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[605] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[606]) / ( - point - pow1312 * oods_point + point - pow1454 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[606] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[607]) / ( - point - pow1317 * oods_point + point - pow1459 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[607] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[608]) / ( - point - pow1514 * oods_point + point - pow1656 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[608] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[609]) / ( - point - pow1036 * oods_point + point - pow1178 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[609] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[610]) / ( - point - pow1500 * oods_point + point - pow1642 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[610] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[611]) / ( - point - pow1292 * oods_point + point - pow1434 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[611] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[612]) / ( - point - pow1261 * oods_point + point - pow1403 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[612] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[613]) / ( - point - pow1515 * oods_point + point - pow1657 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[613] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[614]) / ( - point - pow1037 * oods_point + point - pow1179 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[614] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[615]) / ( - point - pow1512 * oods_point + point - pow1654 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[615] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[616]) / ( - point - pow1293 * oods_point + point - pow1435 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[616] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[617]) / ( - point - pow1263 * oods_point + point - pow1405 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[617] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[618]) / ( - point - pow1516 * oods_point + point - pow1658 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[618] * value; tempvar value = (column_values[keccak__keccak__rotated_parity2_column] - oods_values[619]) / ( - point - pow1038 * oods_point + point - pow1180 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[619] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[620]) / ( - point - pow1513 * oods_point + point - pow1655 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[620] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[621]) / ( - point - pow1267 * oods_point + point - pow1409 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[621] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[622]) / ( - point - pow1260 * oods_point + point - pow1402 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[622] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[623]) / ( - point - pow1360 * oods_point + point - pow1502 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[623] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[624]) / ( - point - pow1402 * oods_point + point - pow1544 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[624] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[625]) / ( - point - pow1384 * oods_point + point - pow1526 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[625] * value; tempvar value = (column_values[keccak__keccak__rotated_parity3_column] - oods_values[626]) / ( - point - pow1025 * oods_point + point - pow1167 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[626] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[627]) / ( - point - pow1494 * oods_point + point - pow1636 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[627] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[628]) / ( - point - pow1380 * oods_point + point - pow1522 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[628] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[629]) / ( - point - pow1278 * oods_point + point - pow1420 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[629] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[630]) / ( - point - pow1359 * oods_point + point - pow1501 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[630] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[631]) / ( - point - pow1351 * oods_point + point - pow1493 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[631] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[632]) / ( - point - pow1367 * oods_point + point - pow1509 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[632] * value; tempvar value = (column_values[keccak__keccak__rotated_parity4_column] - oods_values[633]) / ( - point - pow1015 * oods_point + point - pow1157 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[633] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[634]) / ( - point - pow1468 * oods_point + point - pow1610 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[634] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[635]) / ( - point - pow1304 * oods_point + point - pow1446 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[635] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[636]) / ( - point - pow1249 * oods_point + point - pow1391 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[636] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[637]) / ( - point - pow1336 * oods_point + point - pow1478 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[637] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[638]) / ( - point - pow1501 * oods_point + point - pow1643 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[638] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[639]) / ( - point - pow1507 * oods_point + point - pow1649 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[639] * value; tempvar value = (column_values[keccak__keccak__rotated_parity0_column] - oods_values[640]) / ( - point - pow1059 * oods_point + point - pow1201 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[640] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[641]) / ( - point - pow1506 * oods_point + point - pow1648 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[641] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[642]) / ( - point - pow1493 * oods_point + point - pow1635 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[642] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[643]) / ( - point - pow1431 * oods_point + point - pow1573 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[643] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[644]) / ( - point - pow1238 * oods_point + point - pow1380 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[644] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[645]) / ( - point - pow1235 * oods_point + point - pow1377 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[645] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[646]) / ( - point - pow1488 * oods_point + point - pow1630 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[646] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[647]) / ( - point - pow1306 * oods_point + point - pow1448 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[647] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[648]) / ( - point - pow1307 * oods_point + point - pow1449 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[648] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[649]) / ( - point - pow1308 * oods_point + point - pow1450 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[649] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[650]) / ( - point - pow1382 * oods_point + point - pow1524 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[650] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[651]) / ( - point - pow1413 * oods_point + point - pow1555 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[651] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[652]) / ( - point - pow1489 * oods_point + point - pow1631 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[652] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[653]) / ( - point - pow1319 * oods_point + point - pow1461 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[653] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[654]) / ( - point - pow1322 * oods_point + point - pow1464 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[654] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[655]) / ( - point - pow1323 * oods_point + point - pow1465 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[655] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[656]) / ( - point - pow1383 * oods_point + point - pow1525 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[656] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[657]) / ( - point - pow1414 * oods_point + point - pow1556 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[657] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[658]) / ( - point - pow1490 * oods_point + point - pow1632 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[658] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[659]) / ( - point - pow1325 * oods_point + point - pow1467 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[659] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[660]) / ( - point - pow1329 * oods_point + point - pow1471 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[660] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[661]) / ( - point - pow1335 * oods_point + point - pow1477 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[661] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[662]) / ( - point - pow1390 * oods_point + point - pow1532 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[662] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[663]) / ( - point - pow1415 * oods_point + point - pow1557 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[663] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[664]) / ( - point - pow1491 * oods_point + point - pow1633 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[664] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[665]) / ( - point - pow1337 * oods_point + point - pow1479 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[665] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[666]) / ( - point - pow1340 * oods_point + point - pow1482 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[666] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[667]) / ( - point - pow1346 * oods_point + point - pow1488 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[667] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[668]) / ( - point - pow1391 * oods_point + point - pow1533 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[668] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[669]) / ( - point - pow1419 * oods_point + point - pow1561 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[669] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[670]) / ( - point - pow1492 * oods_point + point - pow1634 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[670] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[671]) / ( - point - pow1338 * oods_point + point - pow1480 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[671] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[672]) / ( - point - pow1341 * oods_point + point - pow1483 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[672] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[673]) / ( - point - pow1347 * oods_point + point - pow1489 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[673] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[674]) / ( - point - pow1392 * oods_point + point - pow1534 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[674] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[675]) / ( - point - pow1421 * oods_point + point - pow1563 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[675] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[676]) / ( - point - pow1533 * oods_point + point - pow1675 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[676] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[677]) / ( - point - pow1363 * oods_point + point - pow1505 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[677] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[678]) / ( - point - pow1364 * oods_point + point - pow1506 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[678] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[679]) / ( - point - pow1365 * oods_point + point - pow1507 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[679] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[680]) / ( - point - pow1393 * oods_point + point - pow1535 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[680] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[681]) / ( - point - pow1425 * oods_point + point - pow1567 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[681] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[682]) / ( - point - pow1438 * oods_point + point - pow1580 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[682] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[683]) / ( - point - pow1240 * oods_point + point - pow1382 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[683] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[684]) / ( - point - pow1237 * oods_point + point - pow1379 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[684] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[685]) / ( - point - pow1436 * oods_point + point - pow1578 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[685] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[686]) / ( - point - pow1239 * oods_point + point - pow1381 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[686] * value; tempvar value = (column_values[diluted_pool_column] - oods_values[687]) / ( - point - pow1236 * oods_point + point - pow1378 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[687] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[688]) / ( - point - pow1648 * oods_point + point - pow1961 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[688] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[689]) / ( - point - pow1649 * oods_point + point - pow1962 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[689] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[690]) / ( - point - pow1646 * oods_point + point - pow1959 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[690] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[691]) / ( - point - pow1647 * oods_point + point - pow1960 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[691] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[692]) / ( - point - pow1644 * oods_point + point - pow1957 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[692] * value; tempvar value = (column_values[mem_pool__addr_column] - oods_values[693]) / ( - point - pow1645 * oods_point + point - pow1958 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[693] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_squared_column] - oods_values[694] - ) / (point - pow1008 * oods_point); + ) / (point - pow1150 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[694] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_column] - oods_values[695] - ) / (point - pow1003 * oods_point); + ) / (point - pow1145 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[695] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_squared_column] - oods_values[696] - ) / (point - pow1000 * oods_point); + ) / (point - pow1142 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[696] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_column] - oods_values[697] - ) / (point - pow995 * oods_point); + ) / (point - pow1137 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[697] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_squared_column] - oods_values[698] - ) / (point - pow992 * oods_point); + ) / (point - pow1134 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[698] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_column] - oods_values[699] - ) / (point - pow987 * oods_point); + ) / (point - pow1129 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[699] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_squared_column] - oods_values[700] - ) / (point - pow984 * oods_point); + ) / (point - pow1126 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[700] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[701] - ) / (point - pow977 * oods_point); + ) / (point - pow1119 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[701] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_squared_column] - oods_values[702] - ) / (point - pow971 * oods_point); + ) / (point - pow1113 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[702] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[703] - ) / (point - pow964 * oods_point); + ) / (point - pow1106 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[703] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[704]) / ( - point - pow1615 * oods_point + point - pow1884 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[704] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[705]) / ( - point - pow1613 * oods_point + point - pow1882 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[705] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[706]) / ( - point - pow1611 * oods_point + point - pow1880 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[706] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_column] - oods_values[707] - ) / (point - pow1005 * oods_point); + ) / (point - pow1147 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[707] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_column] - oods_values[708] - ) / (point - pow996 * oods_point); + ) / (point - pow1138 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[708] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_column] - oods_values[709] - ) / (point - pow989 * oods_point); + ) / (point - pow1131 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[709] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[710]) / ( - point - pow1616 * oods_point + point - pow1885 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[710] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_column] - oods_values[711] - ) / (point - pow1007 * oods_point); + ) / (point - pow1149 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[711] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_squared_column] - oods_values[712] - ) / (point - pow1010 * oods_point); + ) / (point - pow1152 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[712] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_column] - oods_values[713] - ) / (point - pow999 * oods_point); + ) / (point - pow1141 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[713] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_squared_column] - oods_values[714] - ) / (point - pow1002 * oods_point); + ) / (point - pow1144 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[714] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_column] - oods_values[715] - ) / (point - pow991 * oods_point); + ) / (point - pow1133 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[715] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_squared_column] - oods_values[716] - ) / (point - pow994 * oods_point); + ) / (point - pow1136 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[716] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[717]) / ( - point - pow1614 * oods_point + point - pow1883 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[717] * value; tempvar value = (column_values[mem_pool__value_column] - oods_values[718]) / ( - point - pow1612 * oods_point + point - pow1881 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[718] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[719] - ) / (point - pow981 * oods_point); + ) / (point - pow1123 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[719] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[720] - ) / (point - pow965 * oods_point); + ) / (point - pow1107 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[720] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[721] - ) / (point - pow982 * oods_point); + ) / (point - pow1124 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[721] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[722] - ) / (point - pow966 * oods_point); + ) / (point - pow1108 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[722] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[723] - ) / (point - pow983 * oods_point); + ) / (point - pow1125 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[723] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_column] - oods_values[724] - ) / (point - pow1004 * oods_point); + ) / (point - pow1146 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[724] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_squared_column] - oods_values[725] - ) / (point - pow1009 * oods_point); + ) / (point - pow1151 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[725] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_column] - oods_values[726] - ) / (point - pow997 * oods_point); + ) / (point - pow1139 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[726] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_squared_column] - oods_values[727] - ) / (point - pow1001 * oods_point); + ) / (point - pow1143 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[727] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_column] - oods_values[728] - ) / (point - pow988 * oods_point); + ) / (point - pow1130 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[728] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_squared_column] - oods_values[729] - ) / (point - pow993 * oods_point); + ) / (point - pow1135 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[729] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[730] - ) / (point - pow978 * oods_point); + ) / (point - pow1120 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[730] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[731] - ) / (point - pow979 * oods_point); + ) / (point - pow1121 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[731] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_squared_column] - oods_values[732] - ) / (point - pow985 * oods_point); + ) / (point - pow1127 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[732] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_column] - oods_values[733] - ) / (point - pow980 * oods_point); + ) / (point - pow1122 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[733] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state0_squared_column] - oods_values[734] - ) / (point - pow986 * oods_point); + ) / (point - pow1128 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[734] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[735] - ) / (point - pow967 * oods_point); + ) / (point - pow1109 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[735] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_squared_column] - oods_values[736] - ) / (point - pow973 * oods_point); + ) / (point - pow1115 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[736] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_squared_column] - oods_values[737] - ) / (point - pow974 * oods_point); + ) / (point - pow1116 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[737] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state0_column] - oods_values[738] - ) / (point - pow1006 * oods_point); + ) / (point - pow1148 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[738] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[739] - ) / (point - pow968 * oods_point); + ) / (point - pow1110 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[739] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_squared_column] - oods_values[740] - ) / (point - pow972 * oods_point); + ) / (point - pow1114 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[740] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[741] - ) / (point - pow969 * oods_point); + ) / (point - pow1111 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[741] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_squared_column] - oods_values[742] - ) / (point - pow975 * oods_point); + ) / (point - pow1117 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[742] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_column] - oods_values[743] - ) / (point - pow970 * oods_point); + ) / (point - pow1112 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[743] * value; tempvar value = ( column_values[poseidon__poseidon__partial_rounds_state1_squared_column] - oods_values[744] - ) / (point - pow976 * oods_point); + ) / (point - pow1118 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[744] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state1_column] - oods_values[745] - ) / (point - pow998 * oods_point); + ) / (point - pow1140 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[745] * value; tempvar value = ( column_values[poseidon__poseidon__full_rounds_state2_column] - oods_values[746] - ) / (point - pow990 * oods_point); + ) / (point - pow1132 * oods_point); tempvar total_sum = total_sum + constraint_coefficients[746] * value; - tempvar value = ( - column_values[memory__multi_column_perm__perm__cum_prod0_column] - oods_values[747] - ) / (point - pow962 * oods_point); + tempvar value = (column_values[mem_pool__value_column] - oods_values[747]) / ( + point - pow1854 * oods_point + ); tempvar total_sum = total_sum + constraint_coefficients[747] * value; - tempvar value = ( - column_values[memory__multi_column_perm__perm__cum_prod0_column] - oods_values[748] - ) / (point - pow963 * oods_point); + tempvar value = (column_values[range_check16_pool_column] - oods_values[748]) / ( + point - pow1785 * oods_point + ); tempvar total_sum = total_sum + constraint_coefficients[748] * value; - tempvar value = (column_values[range_check16__perm__cum_prod0_column] - oods_values[749]) / ( - point - pow960 * oods_point + tempvar value = (column_values[range_check16_pool_column] - oods_values[749]) / ( + point - pow1784 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[749] * value; - tempvar value = (column_values[range_check16__perm__cum_prod0_column] - oods_values[750]) / ( - point - pow961 * oods_point + tempvar value = (column_values[range_check16_pool_column] - oods_values[750]) / ( + point - pow1783 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[750] * value; - tempvar value = ( - column_values[diluted_check__permutation__cum_prod0_column] - oods_values[751] - ) / (point - pow958 * oods_point); + tempvar value = (column_values[range_check16_pool_column] - oods_values[751]) / ( + point - pow1782 * oods_point + ); tempvar total_sum = total_sum + constraint_coefficients[751] * value; - tempvar value = ( - column_values[diluted_check__permutation__cum_prod0_column] - oods_values[752] - ) / (point - pow959 * oods_point); + tempvar value = (column_values[range_check16_pool_column] - oods_values[752]) / ( + point - pow1781 * oods_point + ); tempvar total_sum = total_sum + constraint_coefficients[752] * value; - tempvar value = (column_values[diluted_check__cumulative_value_column] - oods_values[753]) / ( - point - pow956 * oods_point + tempvar value = (column_values[range_check16_pool_column] - oods_values[753]) / ( + point - pow1780 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[753] * value; - tempvar value = (column_values[diluted_check__cumulative_value_column] - oods_values[754]) / ( - point - pow957 * oods_point + tempvar value = (column_values[mem_pool__addr_column] - oods_values[754]) / ( + point - pow1946 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[754] * value; - // Sum the OODS boundary constraints on the composition polynomials. - let (oods_point_to_deg) = pow(oods_point, CONSTRAINT_DEGREE); - - tempvar value = (column_values[num_columns_first + num_columns_second] - oods_values[755]) / ( - point - oods_point_to_deg + tempvar value = (column_values[mem_pool__addr_column] - oods_values[755]) / ( + point - pow1945 * oods_point ); tempvar total_sum = total_sum + constraint_coefficients[755] * value; - tempvar value = (column_values[num_columns_first + num_columns_second + 1] - oods_values[756]) / - (point - oods_point_to_deg); + tempvar value = (column_values[mem_pool__addr_column] - oods_values[756]) / ( + point - pow1943 * oods_point + ); tempvar total_sum = total_sum + constraint_coefficients[756] * value; - static_assert 757 == MASK_SIZE + CONSTRAINT_DEGREE; - return (res=total_sum); -} + tempvar value = (column_values[mem_pool__addr_column] - oods_values[757]) / ( + point - pow1942 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[757] * value; -func check_asserts{range_check_ptr}(dynamic_params: DynamicParams*, stark_domains: StarkDomains*) { - alloc_locals; + tempvar value = (column_values[mem_pool__addr_column] - oods_values[758]) / ( + point - pow1941 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[758] * value; - local log_trace_length = stark_domains.log_trace_domain_size; - local trace_length = stark_domains.trace_domain_size; + tempvar value = (column_values[mem_pool__addr_column] - oods_values[759]) / ( + point - pow1940 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[759] * value; - // Range check all dynamic params. - memcpy(cast(range_check_ptr, felt*), cast(dynamic_params, felt*), 203); - tempvar range_check_ptr = range_check_ptr + 203; + tempvar value = (column_values[mem_pool__addr_column] - oods_values[760]) / ( + point - pow1939 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[760] * value; - // Coset step (dynamicparam(diluted_units_row_ratio)) must be a power of two. - tempvar x = dynamic_params.diluted_units_row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.diluted_units_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div(trace_length, dynamic_params.diluted_units_row_ratio)) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.diluted_units_row_ratio)); - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Coset step (dynamicparam(range_check_units_row_ratio)) must be a power of two. - tempvar x = dynamic_params.range_check_units_row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.range_check_units_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div(trace_length, dynamic_params.range_check_units_row_ratio)) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.range_check_units_row_ratio)); - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Coset step ((8) * (dynamicparam(memory_units_row_ratio))) must be a power of two. - tempvar x = (safe_mult(8, dynamic_params.memory_units_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, (safe_mult(8, dynamic_params.memory_units_row_ratio)))); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step (dynamicparam(memory_units_row_ratio)) must be a power of two. - tempvar x = dynamic_params.memory_units_row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.memory_units_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div(trace_length, dynamic_params.memory_units_row_ratio)) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.memory_units_row_ratio)); - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Coset step ((16) * (dynamicparam(cpu_component_step))) must be a power of two. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.cpu_component_step)))); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Step must not exceed dimension. - tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.cpu_component_step)))) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Coset step (dynamicparam(cpu_component_step)) must be a power of two. - tempvar x = dynamic_params.cpu_component_step; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.cpu_component_step)))); - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Cpu_component_step is out of range. - tempvar x = 64 - dynamic_params.cpu_component_step; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Memory_units_row_ratio is out of range. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult(4, dynamic_params.memory_units_row_ratio) + tempvar value = (column_values[mem_pool__addr_column] - oods_values[761]) / ( + point - pow1938 * oods_point ); - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/mem_inst must be nonnegative. - tempvar x = dynamic_params.cpu__decode__mem_inst_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/mem_inst is too big. - tempvar x = trace_length - dynamic_params.cpu__decode__mem_inst_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/mem_inst is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__decode__mem_inst_suboffset, dynamic_params.memory_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off0 must be nonnegative. - tempvar x = dynamic_params.cpu__decode__off0_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off0 is too big. - tempvar x = trace_length - dynamic_params.cpu__decode__off0_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off0 is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__decode__off0_suboffset, dynamic_params.range_check_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off1 must be nonnegative. - tempvar x = dynamic_params.cpu__decode__off1_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off1 is too big. - tempvar x = trace_length - dynamic_params.cpu__decode__off1_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off1 is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__decode__off1_suboffset, dynamic_params.range_check_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off2 must be nonnegative. - tempvar x = dynamic_params.cpu__decode__off2_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off2 is too big. - tempvar x = trace_length - dynamic_params.cpu__decode__off2_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/decode/off2 is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__decode__off2_suboffset, dynamic_params.range_check_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_dst must be nonnegative. - tempvar x = dynamic_params.cpu__operands__mem_dst_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_dst is too big. - tempvar x = trace_length - dynamic_params.cpu__operands__mem_dst_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_dst is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__operands__mem_dst_suboffset, dynamic_params.memory_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_op0 must be nonnegative. - tempvar x = dynamic_params.cpu__operands__mem_op0_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_op0 is too big. - tempvar x = trace_length - dynamic_params.cpu__operands__mem_op0_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_op0 is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__operands__mem_op0_suboffset, dynamic_params.memory_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_op1 must be nonnegative. - tempvar x = dynamic_params.cpu__operands__mem_op1_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_op1 is too big. - tempvar x = trace_length - dynamic_params.cpu__operands__mem_op1_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of cpu/operands/mem_op1 is too big. - tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( - safe_mult( - dynamic_params.cpu__operands__mem_op1_suboffset, dynamic_params.memory_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of orig/public_memory must be nonnegative. - tempvar x = dynamic_params.orig__public_memory_suboffset; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of orig/public_memory is too big. - tempvar x = trace_length - dynamic_params.orig__public_memory_suboffset - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset of orig/public_memory is too big. - tempvar x = (safe_mult(8, dynamic_params.memory_units_row_ratio)) - ( - safe_mult( - dynamic_params.orig__public_memory_suboffset, dynamic_params.memory_units_row_ratio - ) - ) - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Uses_pedersen_builtin should be a boolean. - assert (safe_mult(dynamic_params.uses_pedersen_builtin, dynamic_params.uses_pedersen_builtin)) - - dynamic_params.uses_pedersen_builtin = 0; - // Uses_range_check_builtin should be a boolean. - assert ( - safe_mult(dynamic_params.uses_range_check_builtin, dynamic_params.uses_range_check_builtin) - ) - dynamic_params.uses_range_check_builtin = 0; - // Uses_ecdsa_builtin should be a boolean. - assert (safe_mult(dynamic_params.uses_ecdsa_builtin, dynamic_params.uses_ecdsa_builtin)) - - dynamic_params.uses_ecdsa_builtin = 0; - // Uses_bitwise_builtin should be a boolean. - assert (safe_mult(dynamic_params.uses_bitwise_builtin, dynamic_params.uses_bitwise_builtin)) - - dynamic_params.uses_bitwise_builtin = 0; - // Uses_ec_op_builtin should be a boolean. - assert (safe_mult(dynamic_params.uses_ec_op_builtin, dynamic_params.uses_ec_op_builtin)) - - dynamic_params.uses_ec_op_builtin = 0; - // Uses_keccak_builtin should be a boolean. - assert (safe_mult(dynamic_params.uses_keccak_builtin, dynamic_params.uses_keccak_builtin)) - - dynamic_params.uses_keccak_builtin = 0; - // Uses_poseidon_builtin should be a boolean. - assert (safe_mult(dynamic_params.uses_poseidon_builtin, dynamic_params.uses_poseidon_builtin)) - - dynamic_params.uses_poseidon_builtin = 0; - // Num_columns_first is out of range. - tempvar x = 65536 - dynamic_params.num_columns_first - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Num_columns_second is out of range. - tempvar x = 65536 - dynamic_params.num_columns_second - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Column index out of range. - tempvar x = dynamic_params.mem_pool__addr_column; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Column index out of range. - tempvar x = dynamic_params.num_columns_first - dynamic_params.mem_pool__addr_column - 1; - assert [range_check_ptr] = x; - let range_check_ptr = range_check_ptr + 1; - // Offset must be nonnegative. - tempvar x = dynamic_params.mem_pool__addr_offset; + tempvar total_sum = total_sum + constraint_coefficients[761] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[762]) / ( + point - pow1937 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[762] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[763]) / ( + point - pow1944 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[763] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[764]) / ( + point - pow1877 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[764] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[765]) / ( + point - pow1853 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[765] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[766]) / ( + point - pow1851 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[766] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[767]) / ( + point - pow1850 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[767] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[768]) / ( + point - pow1849 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[768] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[769]) / ( + point - pow1855 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[769] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[770]) / ( + point - pow1848 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[770] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[771]) / ( + point - pow1847 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[771] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[772]) / ( + point - pow1846 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[772] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[773]) / ( + point - pow1845 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[773] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[774]) / ( + point - pow1844 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[774] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[775]) / ( + point - pow1843 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[775] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[776]) / ( + point - pow1842 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[776] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[777]) / ( + point - pow1852 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[777] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[778]) / ( + point - pow1936 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[778] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[779]) / ( + point - pow1935 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[779] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[780]) / ( + point - pow1934 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[780] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[781]) / ( + point - pow1933 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[781] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[782]) / ( + point - pow1841 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[782] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[783]) / ( + point - pow1932 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[783] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[784]) / ( + point - pow1931 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[784] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[785]) / ( + point - pow1930 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[785] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[786]) / ( + point - pow1929 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[786] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[787]) / ( + point - pow1840 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[787] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[788]) / ( + point - pow1928 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[788] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[789]) / ( + point - pow1927 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[789] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[790]) / ( + point - pow1926 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[790] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[791]) / ( + point - pow1925 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[791] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[792]) / ( + point - pow1839 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[792] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[793]) / ( + point - pow1924 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[793] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[794]) / ( + point - pow1923 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[794] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[795]) / ( + point - pow1922 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[795] * value; + + tempvar value = (column_values[add_mod__sub_p_bit_column] - oods_values[796]) / ( + point - pow1105 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[796] * value; + + tempvar value = (column_values[add_mod__carry1_bit_column] - oods_values[797]) / ( + point - pow1104 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[797] * value; + + tempvar value = (column_values[add_mod__carry1_sign_column] - oods_values[798]) / ( + point - pow1103 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[798] * value; + + tempvar value = (column_values[add_mod__carry2_bit_column] - oods_values[799]) / ( + point - pow1102 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[799] * value; + + tempvar value = (column_values[add_mod__carry2_sign_column] - oods_values[800]) / ( + point - pow1101 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[800] * value; + + tempvar value = (column_values[add_mod__carry3_bit_column] - oods_values[801]) / ( + point - pow1100 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[801] * value; + + tempvar value = (column_values[add_mod__carry3_sign_column] - oods_values[802]) / ( + point - pow1099 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[802] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[803]) / ( + point - pow1838 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[803] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[804]) / ( + point - pow1837 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[804] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[805]) / ( + point - pow1836 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[805] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[806]) / ( + point - pow1835 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[806] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[807]) / ( + point - pow1834 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[807] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[808]) / ( + point - pow1833 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[808] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[809]) / ( + point - pow1832 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[809] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[810]) / ( + point - pow1831 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[810] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[811]) / ( + point - pow1830 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[811] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[812]) / ( + point - pow1829 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[812] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[813]) / ( + point - pow1828 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[813] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[814]) / ( + point - pow1827 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[814] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[815]) / ( + point - pow1920 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[815] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[816]) / ( + point - pow1919 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[816] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[817]) / ( + point - pow1918 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[817] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[818]) / ( + point - pow1917 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[818] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[819]) / ( + point - pow1916 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[819] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[820]) / ( + point - pow1915 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[820] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[821]) / ( + point - pow1914 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[821] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[822]) / ( + point - pow1921 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[822] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[823]) / ( + point - pow1826 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[823] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[824]) / ( + point - pow1825 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[824] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[825]) / ( + point - pow1823 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[825] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[826]) / ( + point - pow1822 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[826] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[827]) / ( + point - pow1821 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[827] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[828]) / ( + point - pow1820 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[828] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[829]) / ( + point - pow1819 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[829] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[830]) / ( + point - pow1818 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[830] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[831]) / ( + point - pow1817 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[831] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[832]) / ( + point - pow1816 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[832] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[833]) / ( + point - pow1815 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[833] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[834]) / ( + point - pow1814 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[834] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[835]) / ( + point - pow1813 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[835] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[836]) / ( + point - pow1824 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[836] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[837]) / ( + point - pow1913 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[837] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[838]) / ( + point - pow1912 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[838] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[839]) / ( + point - pow1911 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[839] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[840]) / ( + point - pow1910 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[840] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[841]) / ( + point - pow1812 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[841] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[842]) / ( + point - pow1909 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[842] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[843]) / ( + point - pow1908 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[843] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[844]) / ( + point - pow1907 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[844] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[845]) / ( + point - pow1906 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[845] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[846]) / ( + point - pow1811 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[846] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[847]) / ( + point - pow1905 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[847] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[848]) / ( + point - pow1904 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[848] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[849]) / ( + point - pow1903 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[849] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[850]) / ( + point - pow1902 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[850] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[851]) / ( + point - pow1810 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[851] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[852]) / ( + point - pow1901 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[852] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[853]) / ( + point - pow1900 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[853] * value; + + tempvar value = (column_values[mem_pool__addr_column] - oods_values[854]) / ( + point - pow1899 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[854] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[855]) / ( + point - pow1809 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[855] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[856]) / ( + point - pow1808 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[856] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[857]) / ( + point - pow1807 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[857] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[858]) / ( + point - pow1806 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[858] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[859]) / ( + point - pow1805 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[859] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[860]) / ( + point - pow1804 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[860] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[861]) / ( + point - pow1803 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[861] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[862]) / ( + point - pow1802 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[862] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[863]) / ( + point - pow1801 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[863] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[864]) / ( + point - pow1800 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[864] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[865]) / ( + point - pow1799 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[865] * value; + + tempvar value = (column_values[mem_pool__value_column] - oods_values[866]) / ( + point - pow1798 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[866] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[867]) / ( + point - pow1779 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[867] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[868]) / ( + point - pow1778 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[868] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[869]) / ( + point - pow1777 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[869] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[870]) / ( + point - pow1776 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[870] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[871]) / ( + point - pow1775 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[871] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[872]) / ( + point - pow1774 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[872] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[873]) / ( + point - pow1773 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[873] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[874]) / ( + point - pow1772 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[874] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[875]) / ( + point - pow1771 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[875] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[876]) / ( + point - pow1770 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[876] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[877]) / ( + point - pow1769 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[877] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[878]) / ( + point - pow1768 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[878] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[879]) / ( + point - pow1767 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[879] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[880]) / ( + point - pow1766 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[880] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[881]) / ( + point - pow1765 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[881] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[882]) / ( + point - pow1764 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[882] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[883]) / ( + point - pow1763 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[883] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[884]) / ( + point - pow1762 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[884] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[885]) / ( + point - pow1761 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[885] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[886]) / ( + point - pow1760 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[886] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[887]) / ( + point - pow1759 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[887] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[888]) / ( + point - pow1758 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[888] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[889]) / ( + point - pow1757 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[889] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[890]) / ( + point - pow1756 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[890] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[891]) / ( + point - pow1755 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[891] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[892]) / ( + point - pow1754 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[892] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[893]) / ( + point - pow1753 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[893] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[894]) / ( + point - pow1752 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[894] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[895]) / ( + point - pow1751 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[895] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[896]) / ( + point - pow1750 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[896] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[897]) / ( + point - pow1749 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[897] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[898]) / ( + point - pow1748 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[898] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[899]) / ( + point - pow1747 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[899] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[900]) / ( + point - pow1746 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[900] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[901]) / ( + point - pow1745 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[901] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[902]) / ( + point - pow1744 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[902] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[903]) / ( + point - pow1743 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[903] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[904]) / ( + point - pow1742 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[904] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[905]) / ( + point - pow1741 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[905] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[906]) / ( + point - pow1740 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[906] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[907]) / ( + point - pow1739 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[907] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[908]) / ( + point - pow1738 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[908] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[909]) / ( + point - pow1737 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[909] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[910]) / ( + point - pow1736 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[910] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[911]) / ( + point - pow1735 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[911] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[912]) / ( + point - pow1734 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[912] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[913]) / ( + point - pow1733 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[913] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[914]) / ( + point - pow1732 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[914] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[915]) / ( + point - pow1731 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[915] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[916]) / ( + point - pow1730 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[916] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[917]) / ( + point - pow1729 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[917] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[918]) / ( + point - pow1728 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[918] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[919]) / ( + point - pow1727 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[919] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[920]) / ( + point - pow1726 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[920] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[921]) / ( + point - pow1725 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[921] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[922]) / ( + point - pow1724 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[922] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[923]) / ( + point - pow1723 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[923] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[924]) / ( + point - pow1722 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[924] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[925]) / ( + point - pow1721 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[925] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[926]) / ( + point - pow1720 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[926] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[927]) / ( + point - pow1719 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[927] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[928]) / ( + point - pow1718 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[928] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[929]) / ( + point - pow1717 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[929] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[930]) / ( + point - pow1716 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[930] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[931]) / ( + point - pow1715 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[931] * value; + + tempvar value = (column_values[range_check16_pool_column] - oods_values[932]) / ( + point - pow1714 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[932] * value; + + tempvar value = ( + column_values[memory__multi_column_perm__perm__cum_prod0_column] - oods_values[933] + ) / (point - pow1097 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[933] * value; + + tempvar value = ( + column_values[memory__multi_column_perm__perm__cum_prod0_column] - oods_values[934] + ) / (point - pow1098 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[934] * value; + + tempvar value = (column_values[range_check16__perm__cum_prod0_column] - oods_values[935]) / ( + point - pow1095 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[935] * value; + + tempvar value = (column_values[range_check16__perm__cum_prod0_column] - oods_values[936]) / ( + point - pow1096 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[936] * value; + + tempvar value = ( + column_values[diluted_check__permutation__cum_prod0_column] - oods_values[937] + ) / (point - pow1093 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[937] * value; + + tempvar value = ( + column_values[diluted_check__permutation__cum_prod0_column] - oods_values[938] + ) / (point - pow1094 * oods_point); + tempvar total_sum = total_sum + constraint_coefficients[938] * value; + + tempvar value = (column_values[diluted_check__cumulative_value_column] - oods_values[939]) / ( + point - pow1091 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[939] * value; + + tempvar value = (column_values[diluted_check__cumulative_value_column] - oods_values[940]) / ( + point - pow1092 * oods_point + ); + tempvar total_sum = total_sum + constraint_coefficients[940] * value; + + // Sum the OODS boundary constraints on the composition polynomials. + let (oods_point_to_deg) = pow(oods_point, CONSTRAINT_DEGREE); + + tempvar value = (column_values[num_columns_first + num_columns_second] - oods_values[941]) / ( + point - oods_point_to_deg + ); + tempvar total_sum = total_sum + constraint_coefficients[941] * value; + + tempvar value = (column_values[num_columns_first + num_columns_second + 1] - oods_values[942]) / + (point - oods_point_to_deg); + tempvar total_sum = total_sum + constraint_coefficients[942] * value; + + static_assert 943 == MASK_SIZE + CONSTRAINT_DEGREE; + return (res=total_sum); +} + +func check_asserts{range_check_ptr}(dynamic_params: DynamicParams*, stark_domains: StarkDomains*) { + alloc_locals; + + local log_trace_length = stark_domains.log_trace_domain_size; + local trace_length = stark_domains.trace_domain_size; + + // Range check all dynamic params. + memcpy(cast(range_check_ptr, felt*), cast(dynamic_params, felt*), 340); + tempvar range_check_ptr = range_check_ptr + 340; + + // Coset step (dynamicparam(diluted_units_row_ratio)) must be a power of two. + tempvar x = dynamic_params.diluted_units_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.diluted_units_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.diluted_units_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.diluted_units_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (dynamicparam(range_check_units_row_ratio)) must be a power of two. + tempvar x = dynamic_params.range_check_units_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.range_check_units_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.range_check_units_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.range_check_units_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step ((8) * (dynamicparam(memory_units_row_ratio))) must be a power of two. + tempvar x = (safe_mult(8, dynamic_params.memory_units_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, (safe_mult(8, dynamic_params.memory_units_row_ratio)))); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step (dynamicparam(memory_units_row_ratio)) must be a power of two. + tempvar x = dynamic_params.memory_units_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.memory_units_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.memory_units_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.memory_units_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step ((16) * (dynamicparam(cpu_component_step))) must be a power of two. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.cpu_component_step)))); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Step must not exceed dimension. + tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.cpu_component_step)))) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (dynamicparam(cpu_component_step)) must be a power of two. + tempvar x = dynamic_params.cpu_component_step; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.cpu_component_step)))); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Cpu_component_step is out of range. + tempvar x = 256 - dynamic_params.cpu_component_step; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Memory_units_row_ratio is out of range. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult(4, dynamic_params.memory_units_row_ratio) + ); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/mem_inst must be nonnegative. + tempvar x = dynamic_params.cpu__decode__mem_inst_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/mem_inst is too big. + tempvar x = trace_length - dynamic_params.cpu__decode__mem_inst_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/mem_inst is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__decode__mem_inst_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off0 must be nonnegative. + tempvar x = dynamic_params.cpu__decode__off0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off0 is too big. + tempvar x = trace_length - dynamic_params.cpu__decode__off0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off0 is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__decode__off0_suboffset, dynamic_params.range_check_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off1 must be nonnegative. + tempvar x = dynamic_params.cpu__decode__off1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off1 is too big. + tempvar x = trace_length - dynamic_params.cpu__decode__off1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off1 is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__decode__off1_suboffset, dynamic_params.range_check_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off2 must be nonnegative. + tempvar x = dynamic_params.cpu__decode__off2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off2 is too big. + tempvar x = trace_length - dynamic_params.cpu__decode__off2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/decode/off2 is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__decode__off2_suboffset, dynamic_params.range_check_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_dst must be nonnegative. + tempvar x = dynamic_params.cpu__operands__mem_dst_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_dst is too big. + tempvar x = trace_length - dynamic_params.cpu__operands__mem_dst_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_dst is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__operands__mem_dst_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_op0 must be nonnegative. + tempvar x = dynamic_params.cpu__operands__mem_op0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_op0 is too big. + tempvar x = trace_length - dynamic_params.cpu__operands__mem_op0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_op0 is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__operands__mem_op0_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_op1 must be nonnegative. + tempvar x = dynamic_params.cpu__operands__mem_op1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_op1 is too big. + tempvar x = trace_length - dynamic_params.cpu__operands__mem_op1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of cpu/operands/mem_op1 is too big. + tempvar x = (safe_mult(16, dynamic_params.cpu_component_step)) - ( + safe_mult( + dynamic_params.cpu__operands__mem_op1_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of orig/public_memory must be nonnegative. + tempvar x = dynamic_params.orig__public_memory_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of orig/public_memory is too big. + tempvar x = trace_length - dynamic_params.orig__public_memory_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of orig/public_memory is too big. + tempvar x = (safe_mult(8, dynamic_params.memory_units_row_ratio)) - ( + safe_mult( + dynamic_params.orig__public_memory_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Uses_pedersen_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_pedersen_builtin, dynamic_params.uses_pedersen_builtin)) - + dynamic_params.uses_pedersen_builtin = 0; + // Uses_range_check_builtin should be a boolean. + assert ( + safe_mult(dynamic_params.uses_range_check_builtin, dynamic_params.uses_range_check_builtin) + ) - dynamic_params.uses_range_check_builtin = 0; + // Uses_ecdsa_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_ecdsa_builtin, dynamic_params.uses_ecdsa_builtin)) - + dynamic_params.uses_ecdsa_builtin = 0; + // Uses_bitwise_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_bitwise_builtin, dynamic_params.uses_bitwise_builtin)) - + dynamic_params.uses_bitwise_builtin = 0; + // Uses_ec_op_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_ec_op_builtin, dynamic_params.uses_ec_op_builtin)) - + dynamic_params.uses_ec_op_builtin = 0; + // Uses_keccak_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_keccak_builtin, dynamic_params.uses_keccak_builtin)) - + dynamic_params.uses_keccak_builtin = 0; + // Uses_poseidon_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_poseidon_builtin, dynamic_params.uses_poseidon_builtin)) - + dynamic_params.uses_poseidon_builtin = 0; + // Uses_range_check96_builtin should be a boolean. + assert ( + safe_mult( + dynamic_params.uses_range_check96_builtin, dynamic_params.uses_range_check96_builtin + ) + ) - dynamic_params.uses_range_check96_builtin = 0; + // Uses_add_mod_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_add_mod_builtin, dynamic_params.uses_add_mod_builtin)) - + dynamic_params.uses_add_mod_builtin = 0; + // Uses_mul_mod_builtin should be a boolean. + assert (safe_mult(dynamic_params.uses_mul_mod_builtin, dynamic_params.uses_mul_mod_builtin)) - + dynamic_params.uses_mul_mod_builtin = 0; + // Num_columns_first is out of range. + tempvar x = 65536 - dynamic_params.num_columns_first - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Num_columns_second is out of range. + tempvar x = 65536 - dynamic_params.num_columns_second - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.mem_pool__addr_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.mem_pool__addr_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.mem_pool__addr_offset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; // Offset must be smaller than trace length. @@ -23351,6 +26232,118 @@ func check_asserts{range_check_ptr}(dynamic_params: DynamicParams*, stark_domain assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; // Column index out of range. + tempvar x = dynamic_params.add_mod__sub_p_bit_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__sub_p_bit_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__sub_p_bit_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__sub_p_bit_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.add_mod__carry1_bit_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__carry1_bit_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__carry1_bit_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__carry1_bit_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.add_mod__carry2_bit_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__carry2_bit_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__carry2_bit_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__carry2_bit_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.add_mod__carry3_bit_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__carry3_bit_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__carry3_bit_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__carry3_bit_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.add_mod__carry1_sign_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__carry1_sign_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__carry1_sign_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__carry1_sign_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.add_mod__carry2_sign_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__carry2_sign_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__carry2_sign_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__carry2_sign_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.add_mod__carry3_sign_column; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. + tempvar x = dynamic_params.num_columns_first - dynamic_params.add_mod__carry3_sign_column - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be nonnegative. + tempvar x = dynamic_params.add_mod__carry3_sign_offset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset must be smaller than trace length. + tempvar x = trace_length - dynamic_params.add_mod__carry3_sign_offset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Column index out of range. tempvar x = dynamic_params.memory__multi_column_perm__perm__cum_prod0_column - dynamic_params.num_columns_first; assert [range_check_ptr] = x; @@ -23423,692 +26416,2650 @@ func check_asserts{range_check_ptr}(dynamic_params: DynamicParams*, stark_domain assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - if (dynamic_params.uses_pedersen_builtin != 0) { + if (dynamic_params.uses_pedersen_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.pedersen_builtin_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.pedersen_builtin_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(pedersen_builtin_row_ratio)) / (512)) must be a power of two. + tempvar x = (safe_div(dynamic_params.pedersen_builtin_row_ratio, 512)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(pedersen_builtin_row_ratio)) / (2)) must be a power of two. + tempvar x = (safe_div(dynamic_params.pedersen_builtin_row_ratio, 2)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Step must not exceed dimension. + tempvar x = (safe_div(trace_length, dynamic_params.pedersen_builtin_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.pedersen_builtin_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of pedersen/input0 must be nonnegative. + tempvar x = dynamic_params.pedersen__input0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/input0 is too big. + tempvar x = trace_length - dynamic_params.pedersen__input0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/input0 is too big. + tempvar x = dynamic_params.pedersen_builtin_row_ratio - ( + safe_mult( + dynamic_params.pedersen__input0_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/input1 must be nonnegative. + tempvar x = dynamic_params.pedersen__input1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/input1 is too big. + tempvar x = trace_length - dynamic_params.pedersen__input1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/input1 is too big. + tempvar x = dynamic_params.pedersen_builtin_row_ratio - ( + safe_mult( + dynamic_params.pedersen__input1_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/output must be nonnegative. + tempvar x = dynamic_params.pedersen__output_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/output is too big. + tempvar x = trace_length - dynamic_params.pedersen__output_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of pedersen/output is too big. + tempvar x = dynamic_params.pedersen_builtin_row_ratio - ( + safe_mult( + dynamic_params.pedersen__output_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_range_check_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.range_check_builtin_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.range_check_builtin_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Step must not exceed dimension. + tempvar x = (safe_div(trace_length, dynamic_params.range_check_builtin_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.range_check_builtin_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step ((dynamicparam(range_check_builtin_row_ratio)) / (8)) must be a power of two. + tempvar x = (safe_div(dynamic_params.range_check_builtin_row_ratio, 8)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of range_check_builtin/mem must be nonnegative. + tempvar x = dynamic_params.range_check_builtin__mem_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check_builtin/mem is too big. + tempvar x = trace_length - dynamic_params.range_check_builtin__mem_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check_builtin/mem is too big. + tempvar x = dynamic_params.range_check_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check_builtin__mem_suboffset, + dynamic_params.memory_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check_builtin/inner_range_check must be nonnegative. + tempvar x = dynamic_params.range_check_builtin__inner_range_check_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check_builtin/inner_range_check is too big. + tempvar x = trace_length - dynamic_params.range_check_builtin__inner_range_check_suboffset - + 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check_builtin/inner_range_check is too big. + tempvar x = (safe_div(dynamic_params.range_check_builtin_row_ratio, 8)) - ( + safe_mult( + dynamic_params.range_check_builtin__inner_range_check_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_ecdsa_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.ecdsa_builtin_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.ecdsa_builtin_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (512)) must be a power of two. + tempvar x = (safe_div(dynamic_params.ecdsa_builtin_row_ratio, 512)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Step must not exceed dimension. + tempvar x = (safe_div(trace_length, dynamic_params.ecdsa_builtin_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.ecdsa_builtin_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (256)) must be a power of two. + tempvar x = (safe_div(dynamic_params.ecdsa_builtin_row_ratio, 256)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (2)) must be a power of two. + tempvar x = (safe_div(dynamic_params.ecdsa_builtin_row_ratio, 2)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of ecdsa/pubkey must be nonnegative. + tempvar x = dynamic_params.ecdsa__pubkey_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ecdsa/pubkey is too big. + tempvar x = trace_length - dynamic_params.ecdsa__pubkey_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ecdsa/pubkey is too big. + tempvar x = dynamic_params.ecdsa_builtin_row_ratio - ( + safe_mult(dynamic_params.ecdsa__pubkey_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ecdsa/message must be nonnegative. + tempvar x = dynamic_params.ecdsa__message_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ecdsa/message is too big. + tempvar x = trace_length - dynamic_params.ecdsa__message_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ecdsa/message is too big. + tempvar x = dynamic_params.ecdsa_builtin_row_ratio - ( + safe_mult( + dynamic_params.ecdsa__message_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_bitwise_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.bitwise__row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.bitwise__row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(bitwise__row_ratio)) / (64)) must be a power of two. + tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 64)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(bitwise__row_ratio)) / (4)) must be a power of two. + tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 4)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.bitwise__row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.bitwise__row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of bitwise/var_pool must be nonnegative. + tempvar x = dynamic_params.bitwise__var_pool_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/var_pool is too big. + tempvar x = trace_length - dynamic_params.bitwise__var_pool_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/var_pool is too big. + tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 4)) - ( + safe_mult( + dynamic_params.bitwise__var_pool_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/x_or_y must be nonnegative. + tempvar x = dynamic_params.bitwise__x_or_y_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/x_or_y is too big. + tempvar x = trace_length - dynamic_params.bitwise__x_or_y_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/x_or_y is too big. + tempvar x = dynamic_params.bitwise__row_ratio - ( + safe_mult( + dynamic_params.bitwise__x_or_y_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/diluted_var_pool must be nonnegative. + tempvar x = dynamic_params.bitwise__diluted_var_pool_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/diluted_var_pool is too big. + tempvar x = trace_length - dynamic_params.bitwise__diluted_var_pool_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/diluted_var_pool is too big. + tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 64)) - ( + safe_mult( + dynamic_params.bitwise__diluted_var_pool_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking192 must be nonnegative. + tempvar x = dynamic_params.bitwise__trim_unpacking192_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking192 is too big. + tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking192_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking192 is too big. + tempvar x = dynamic_params.bitwise__row_ratio - ( + safe_mult( + dynamic_params.bitwise__trim_unpacking192_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking193 must be nonnegative. + tempvar x = dynamic_params.bitwise__trim_unpacking193_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking193 is too big. + tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking193_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking193 is too big. + tempvar x = dynamic_params.bitwise__row_ratio - ( + safe_mult( + dynamic_params.bitwise__trim_unpacking193_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking194 must be nonnegative. + tempvar x = dynamic_params.bitwise__trim_unpacking194_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking194 is too big. + tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking194_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking194 is too big. + tempvar x = dynamic_params.bitwise__row_ratio - ( + safe_mult( + dynamic_params.bitwise__trim_unpacking194_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking195 must be nonnegative. + tempvar x = dynamic_params.bitwise__trim_unpacking195_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking195 is too big. + tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking195_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of bitwise/trim_unpacking195 is too big. + tempvar x = dynamic_params.bitwise__row_ratio - ( + safe_mult( + dynamic_params.bitwise__trim_unpacking195_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_ec_op_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.ec_op_builtin_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.ec_op_builtin_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(ec_op_builtin_row_ratio)) / (256)) must be a power of two. + tempvar x = (safe_div(dynamic_params.ec_op_builtin_row_ratio, 256)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.ec_op_builtin_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.ec_op_builtin_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of ec_op/p_x must be nonnegative. + tempvar x = dynamic_params.ec_op__p_x_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/p_x is too big. + tempvar x = trace_length - dynamic_params.ec_op__p_x_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/p_x is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__p_x_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/p_y must be nonnegative. + tempvar x = dynamic_params.ec_op__p_y_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/p_y is too big. + tempvar x = trace_length - dynamic_params.ec_op__p_y_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/p_y is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__p_y_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/q_x must be nonnegative. + tempvar x = dynamic_params.ec_op__q_x_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/q_x is too big. + tempvar x = trace_length - dynamic_params.ec_op__q_x_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/q_x is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__q_x_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/q_y must be nonnegative. + tempvar x = dynamic_params.ec_op__q_y_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/q_y is too big. + tempvar x = trace_length - dynamic_params.ec_op__q_y_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/q_y is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__q_y_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/m must be nonnegative. + tempvar x = dynamic_params.ec_op__m_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/m is too big. + tempvar x = trace_length - dynamic_params.ec_op__m_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/m is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__m_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/r_x must be nonnegative. + tempvar x = dynamic_params.ec_op__r_x_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/r_x is too big. + tempvar x = trace_length - dynamic_params.ec_op__r_x_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/r_x is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__r_x_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/r_y must be nonnegative. + tempvar x = dynamic_params.ec_op__r_y_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/r_y is too big. + tempvar x = trace_length - dynamic_params.ec_op__r_y_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of ec_op/r_y is too big. + tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( + safe_mult(dynamic_params.ec_op__r_y_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_keccak_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Coset step ((dynamicparam(keccak__row_ratio)) / (4096)) must be a power of two. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.keccak__row_ratio)))); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(keccak__row_ratio)) / (128)) must be a power of two. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 128)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(keccak__row_ratio)) / (32768)) must be a power of two. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 32768)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.keccak__row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(keccak__row_ratio)) / (16)) must be a power of two. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 16)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div((safe_mult(16, trace_length)), dynamic_params.keccak__row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div((safe_mult(16, trace_length)), dynamic_params.keccak__row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div((safe_mult(16, trace_length)), dynamic_params.keccak__row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of keccak/input_output must be nonnegative. + tempvar x = dynamic_params.keccak__input_output_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/input_output is too big. + tempvar x = trace_length - dynamic_params.keccak__input_output_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/input_output is too big. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 16)) - ( + safe_mult( + dynamic_params.keccak__input_output_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column0 must be nonnegative. + tempvar x = dynamic_params.keccak__keccak__diluted_column0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column0 is too big. + tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column0 is too big. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + safe_mult( + dynamic_params.keccak__keccak__diluted_column0_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column1 must be nonnegative. + tempvar x = dynamic_params.keccak__keccak__diluted_column1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column1 is too big. + tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column1 is too big. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + safe_mult( + dynamic_params.keccak__keccak__diluted_column1_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column2 must be nonnegative. + tempvar x = dynamic_params.keccak__keccak__diluted_column2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column2 is too big. + tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column2 is too big. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + safe_mult( + dynamic_params.keccak__keccak__diluted_column2_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column3 must be nonnegative. + tempvar x = dynamic_params.keccak__keccak__diluted_column3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column3 is too big. + tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of keccak/keccak/diluted_column3 is too big. + tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + safe_mult( + dynamic_params.keccak__keccak__diluted_column3_suboffset, + dynamic_params.diluted_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_poseidon_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.poseidon__row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.poseidon__row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(poseidon__row_ratio)) / (32)) must be a power of two. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 32)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(poseidon__row_ratio)) / (8)) must be a power of two. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 8)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(poseidon__row_ratio)) / (64)) must be a power of two. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 64)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Coset step ((dynamicparam(poseidon__row_ratio)) / (2)) must be a power of two. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div((safe_mult(2, trace_length)), dynamic_params.poseidon__row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div((safe_mult(2, trace_length)), dynamic_params.poseidon__row_ratio)) - + 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div((safe_mult(2, trace_length)), dynamic_params.poseidon__row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of poseidon/param_0/input_output must be nonnegative. + tempvar x = dynamic_params.poseidon__param_0__input_output_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_0/input_output is too big. + tempvar x = trace_length - dynamic_params.poseidon__param_0__input_output_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_0/input_output is too big. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)) - ( + safe_mult( + dynamic_params.poseidon__param_0__input_output_suboffset, + dynamic_params.memory_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_1/input_output must be nonnegative. + tempvar x = dynamic_params.poseidon__param_1__input_output_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_1/input_output is too big. + tempvar x = trace_length - dynamic_params.poseidon__param_1__input_output_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_1/input_output is too big. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)) - ( + safe_mult( + dynamic_params.poseidon__param_1__input_output_suboffset, + dynamic_params.memory_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_2/input_output must be nonnegative. + tempvar x = dynamic_params.poseidon__param_2__input_output_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_2/input_output is too big. + tempvar x = trace_length - dynamic_params.poseidon__param_2__input_output_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of poseidon/param_2/input_output is too big. + tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)) - ( + safe_mult( + dynamic_params.poseidon__param_2__input_output_suboffset, + dynamic_params.memory_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_range_check96_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.range_check96_builtin_row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.range_check96_builtin_row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Step must not exceed dimension. + tempvar x = (safe_div(trace_length, dynamic_params.range_check96_builtin_row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.range_check96_builtin_row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/mem must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__mem_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/mem is too big. + tempvar x = trace_length - dynamic_params.range_check96_builtin__mem_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/mem is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__mem_suboffset, + dynamic_params.memory_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check0 must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__inner_range_check0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check0 is too big. + tempvar x = trace_length - + dynamic_params.range_check96_builtin__inner_range_check0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check0 is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__inner_range_check0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check1 must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__inner_range_check1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check1 is too big. + tempvar x = trace_length - + dynamic_params.range_check96_builtin__inner_range_check1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check1 is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__inner_range_check1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check2 must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__inner_range_check2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check2 is too big. + tempvar x = trace_length - + dynamic_params.range_check96_builtin__inner_range_check2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check2 is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__inner_range_check2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check3 must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__inner_range_check3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check3 is too big. + tempvar x = trace_length - + dynamic_params.range_check96_builtin__inner_range_check3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check3 is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__inner_range_check3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check4 must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__inner_range_check4_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check4 is too big. + tempvar x = trace_length - + dynamic_params.range_check96_builtin__inner_range_check4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check4 is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__inner_range_check4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check5 must be nonnegative. + tempvar x = dynamic_params.range_check96_builtin__inner_range_check5_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check5 is too big. + tempvar x = trace_length - + dynamic_params.range_check96_builtin__inner_range_check5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of range_check96_builtin/inner_range_check5 is too big. + tempvar x = dynamic_params.range_check96_builtin_row_ratio - ( + safe_mult( + dynamic_params.range_check96_builtin__inner_range_check5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_add_mod_builtin != 0) { + tempvar range_check_ptr = range_check_ptr; + // Row ratio should be a power of 2, smaller than trace length. + tempvar x = dynamic_params.add_mod__row_ratio; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Dimension should be a power of 2. + tempvar x = (safe_div(trace_length, dynamic_params.add_mod__row_ratio)); + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.add_mod__row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.add_mod__row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; + assert_is_power_of_2(x=x, max_pow=log_trace_length); + // Offset of add_mod/p0 must be nonnegative. + tempvar x = dynamic_params.add_mod__p0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p0 is too big. + tempvar x = trace_length - dynamic_params.add_mod__p0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p0 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__p0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p1 must be nonnegative. + tempvar x = dynamic_params.add_mod__p1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p1 is too big. + tempvar x = trace_length - dynamic_params.add_mod__p1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p1 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__p1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p2 must be nonnegative. + tempvar x = dynamic_params.add_mod__p2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p2 is too big. + tempvar x = trace_length - dynamic_params.add_mod__p2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p2 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__p2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p3 must be nonnegative. + tempvar x = dynamic_params.add_mod__p3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p3 is too big. + tempvar x = trace_length - dynamic_params.add_mod__p3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/p3 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__p3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/values_ptr must be nonnegative. + tempvar x = dynamic_params.add_mod__values_ptr_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/values_ptr is too big. + tempvar x = trace_length - dynamic_params.add_mod__values_ptr_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/values_ptr is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult( + dynamic_params.add_mod__values_ptr_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/offsets_ptr must be nonnegative. + tempvar x = dynamic_params.add_mod__offsets_ptr_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/offsets_ptr is too big. + tempvar x = trace_length - dynamic_params.add_mod__offsets_ptr_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/offsets_ptr is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult( + dynamic_params.add_mod__offsets_ptr_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/n must be nonnegative. + tempvar x = dynamic_params.add_mod__n_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/n is too big. + tempvar x = trace_length - dynamic_params.add_mod__n_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/n is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__n_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a_offset must be nonnegative. + tempvar x = dynamic_params.add_mod__a_offset_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a_offset is too big. + tempvar x = trace_length - dynamic_params.add_mod__a_offset_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a_offset is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult( + dynamic_params.add_mod__a_offset_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b_offset must be nonnegative. + tempvar x = dynamic_params.add_mod__b_offset_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b_offset is too big. + tempvar x = trace_length - dynamic_params.add_mod__b_offset_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b_offset is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult( + dynamic_params.add_mod__b_offset_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c_offset must be nonnegative. + tempvar x = dynamic_params.add_mod__c_offset_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c_offset is too big. + tempvar x = trace_length - dynamic_params.add_mod__c_offset_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c_offset is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult( + dynamic_params.add_mod__c_offset_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a0 must be nonnegative. + tempvar x = dynamic_params.add_mod__a0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a0 is too big. + tempvar x = trace_length - dynamic_params.add_mod__a0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a0 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__a0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a1 must be nonnegative. + tempvar x = dynamic_params.add_mod__a1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a1 is too big. + tempvar x = trace_length - dynamic_params.add_mod__a1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a1 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__a1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a2 must be nonnegative. + tempvar x = dynamic_params.add_mod__a2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a2 is too big. + tempvar x = trace_length - dynamic_params.add_mod__a2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a2 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__a2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a3 must be nonnegative. + tempvar x = dynamic_params.add_mod__a3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a3 is too big. + tempvar x = trace_length - dynamic_params.add_mod__a3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/a3 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__a3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b0 must be nonnegative. + tempvar x = dynamic_params.add_mod__b0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b0 is too big. + tempvar x = trace_length - dynamic_params.add_mod__b0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b0 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__b0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b1 must be nonnegative. + tempvar x = dynamic_params.add_mod__b1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b1 is too big. + tempvar x = trace_length - dynamic_params.add_mod__b1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b1 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__b1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b2 must be nonnegative. + tempvar x = dynamic_params.add_mod__b2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b2 is too big. + tempvar x = trace_length - dynamic_params.add_mod__b2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b2 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__b2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b3 must be nonnegative. + tempvar x = dynamic_params.add_mod__b3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b3 is too big. + tempvar x = trace_length - dynamic_params.add_mod__b3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/b3 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__b3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c0 must be nonnegative. + tempvar x = dynamic_params.add_mod__c0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c0 is too big. + tempvar x = trace_length - dynamic_params.add_mod__c0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c0 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__c0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c1 must be nonnegative. + tempvar x = dynamic_params.add_mod__c1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c1 is too big. + tempvar x = trace_length - dynamic_params.add_mod__c1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c1 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__c1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c2 must be nonnegative. + tempvar x = dynamic_params.add_mod__c2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c2 is too big. + tempvar x = trace_length - dynamic_params.add_mod__c2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c2 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__c2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c3 must be nonnegative. + tempvar x = dynamic_params.add_mod__c3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c3 is too big. + tempvar x = trace_length - dynamic_params.add_mod__c3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of add_mod/c3 is too big. + tempvar x = dynamic_params.add_mod__row_ratio - ( + safe_mult(dynamic_params.add_mod__c3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + + tempvar range_check_ptr = range_check_ptr; + } else { + tempvar range_check_ptr = range_check_ptr; + } + + if (dynamic_params.uses_mul_mod_builtin != 0) { tempvar range_check_ptr = range_check_ptr; // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.pedersen_builtin_row_ratio; + tempvar x = dynamic_params.mul_mod__row_ratio; assert_is_power_of_2(x=x, max_pow=log_trace_length); // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.pedersen_builtin_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(pedersen_builtin_row_ratio)) / (512)) must be a power of two. - tempvar x = (safe_div(dynamic_params.pedersen_builtin_row_ratio, 512)); + tempvar x = (safe_div(trace_length, dynamic_params.mul_mod__row_ratio)); assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(pedersen_builtin_row_ratio)) / (2)) must be a power of two. - tempvar x = (safe_div(dynamic_params.pedersen_builtin_row_ratio, 2)); + // Index out of range. + tempvar x = (safe_div(trace_length, dynamic_params.mul_mod__row_ratio)) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Index should be non negative. + tempvar x = (safe_div(trace_length, dynamic_params.mul_mod__row_ratio)); + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Coset step (memberexpression(trace_length)) must be a power of two. + tempvar x = trace_length; assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Step must not exceed dimension. - tempvar x = (safe_div(trace_length, dynamic_params.pedersen_builtin_row_ratio)) - 1; + // Offset of mul_mod/p0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__p0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__p1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__p2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__p3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/values_ptr must be nonnegative. + tempvar x = dynamic_params.mul_mod__values_ptr_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/values_ptr is too big. + tempvar x = trace_length - dynamic_params.mul_mod__values_ptr_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/values_ptr is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__values_ptr_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/offsets_ptr must be nonnegative. + tempvar x = dynamic_params.mul_mod__offsets_ptr_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/offsets_ptr is too big. + tempvar x = trace_length - dynamic_params.mul_mod__offsets_ptr_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/offsets_ptr is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__offsets_ptr_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/n must be nonnegative. + tempvar x = dynamic_params.mul_mod__n_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/n is too big. + tempvar x = trace_length - dynamic_params.mul_mod__n_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/n is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__n_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a_offset must be nonnegative. + tempvar x = dynamic_params.mul_mod__a_offset_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a_offset is too big. + tempvar x = trace_length - dynamic_params.mul_mod__a_offset_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a_offset is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__a_offset_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b_offset must be nonnegative. + tempvar x = dynamic_params.mul_mod__b_offset_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b_offset is too big. + tempvar x = trace_length - dynamic_params.mul_mod__b_offset_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b_offset is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__b_offset_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c_offset must be nonnegative. + tempvar x = dynamic_params.mul_mod__c_offset_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c_offset is too big. + tempvar x = trace_length - dynamic_params.mul_mod__c_offset_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c_offset is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__c_offset_suboffset, dynamic_params.memory_units_row_ratio + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__a0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__a0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__a0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__a1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__a1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__a1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__a2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__a2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__a2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__a3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__a3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/a3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__a3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__b0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__b0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__b0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__b1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__b1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__b1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__b2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__b2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__b2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__b3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__b3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/b3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__b3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__c0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__c0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__c0_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__c1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__c1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__c1_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__c2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__c2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__c2_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__c3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__c3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/c3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult(dynamic_params.mul_mod__c3_suboffset, dynamic_params.memory_units_row_ratio) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier0__part0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier0__part0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier0__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier0__part1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier0__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier0__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier0__part2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier0__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier0__part2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier0__part3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier0__part3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier0__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier0__part4_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier0__part4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier0__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier0__part5_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier0__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier0/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier0__part5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier1__part0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier1__part0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier1__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier1__part1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier1__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier1__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier1__part2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier1__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier1__part2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier1__part3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier1__part3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier1__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier1__part4_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier1__part4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier1__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier1__part5_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier1__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier1/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier1__part5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier2__part0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier2__part0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier2__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier2__part1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier2__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier2__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier2__part2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier2__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier2__part2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier2__part3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier2__part3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier2__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier2__part4_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier2__part4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier2__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier2__part5_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier2__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier2/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier2__part5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier3__part0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier3__part0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier3__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier3__part1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier3__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier3__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier3__part2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier3__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier3__part2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier3__part3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier3__part3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier3__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier3__part4_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier3__part4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier3__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__p_multiplier3__part5_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__p_multiplier3__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/p_multiplier3/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__p_multiplier3__part5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part0_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part0_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry0__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry0__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry0__part2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part3_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part3_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry0__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.pedersen_builtin_row_ratio)); + // Offset of mul_mod/carry0/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part4_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of pedersen/input0 must be nonnegative. - tempvar x = dynamic_params.pedersen__input0_suboffset; + // Offset of mul_mod/carry0/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part4_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/input0 is too big. - tempvar x = trace_length - dynamic_params.pedersen__input0_suboffset - 1; + // Offset of mul_mod/carry0/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry0__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/input0 is too big. - tempvar x = dynamic_params.pedersen_builtin_row_ratio - ( + // Offset of mul_mod/carry0/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part5_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry0/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.pedersen__input0_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry0__part5_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/input1 must be nonnegative. - tempvar x = dynamic_params.pedersen__input1_suboffset; + // Offset of mul_mod/carry0/part6 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry0__part6_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/input1 is too big. - tempvar x = trace_length - dynamic_params.pedersen__input1_suboffset - 1; + // Offset of mul_mod/carry0/part6 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry0__part6_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/input1 is too big. - tempvar x = dynamic_params.pedersen_builtin_row_ratio - ( + // Offset of mul_mod/carry0/part6 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.pedersen__input1_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry0__part6_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/output must be nonnegative. - tempvar x = dynamic_params.pedersen__output_suboffset; + // Offset of mul_mod/carry1/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part0_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/output is too big. - tempvar x = trace_length - dynamic_params.pedersen__output_suboffset - 1; + // Offset of mul_mod/carry1/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part0_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of pedersen/output is too big. - tempvar x = dynamic_params.pedersen_builtin_row_ratio - ( + // Offset of mul_mod/carry1/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.pedersen__output_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry1__part0_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - - tempvar range_check_ptr = range_check_ptr; - } else { - tempvar range_check_ptr = range_check_ptr; - } - - if (dynamic_params.uses_range_check_builtin != 0) { - tempvar range_check_ptr = range_check_ptr; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.range_check_builtin_row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.range_check_builtin_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Step must not exceed dimension. - tempvar x = (safe_div(trace_length, dynamic_params.range_check_builtin_row_ratio)) - 1; + // Offset of mul_mod/carry1/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part1_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.range_check_builtin_row_ratio)); + // Offset of mul_mod/carry1/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part1_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step ((dynamicparam(range_check_builtin_row_ratio)) / (8)) must be a power of two. - tempvar x = (safe_div(dynamic_params.range_check_builtin_row_ratio, 8)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of range_check_builtin/mem must be nonnegative. - tempvar x = dynamic_params.range_check_builtin__mem_suboffset; + // Offset of mul_mod/carry1/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry1__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of range_check_builtin/mem is too big. - tempvar x = trace_length - dynamic_params.range_check_builtin__mem_suboffset - 1; + // Offset of mul_mod/carry1/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part2_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of range_check_builtin/mem is too big. - tempvar x = dynamic_params.range_check_builtin_row_ratio - ( + // Offset of mul_mod/carry1/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry1/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.range_check_builtin__mem_suboffset, - dynamic_params.memory_units_row_ratio, + dynamic_params.mul_mod__carry1__part2_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of range_check_builtin/inner_range_check must be nonnegative. - tempvar x = dynamic_params.range_check_builtin__inner_range_check_suboffset; + // Offset of mul_mod/carry1/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part3_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of range_check_builtin/inner_range_check is too big. - tempvar x = trace_length - dynamic_params.range_check_builtin__inner_range_check_suboffset - - 1; + // Offset of mul_mod/carry1/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part3_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of range_check_builtin/inner_range_check is too big. - tempvar x = (safe_div(dynamic_params.range_check_builtin_row_ratio, 8)) - ( + // Offset of mul_mod/carry1/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.range_check_builtin__inner_range_check_suboffset, + dynamic_params.mul_mod__carry1__part3_suboffset, dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - - tempvar range_check_ptr = range_check_ptr; - } else { - tempvar range_check_ptr = range_check_ptr; - } - - if (dynamic_params.uses_ecdsa_builtin != 0) { - tempvar range_check_ptr = range_check_ptr; - // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.ecdsa_builtin_row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.ecdsa_builtin_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (512)) must be a power of two. - tempvar x = (safe_div(dynamic_params.ecdsa_builtin_row_ratio, 512)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Step must not exceed dimension. - tempvar x = (safe_div(trace_length, dynamic_params.ecdsa_builtin_row_ratio)) - 1; + // Offset of mul_mod/carry1/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part4_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.ecdsa_builtin_row_ratio)); + // Offset of mul_mod/carry1/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part4_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (256)) must be a power of two. - tempvar x = (safe_div(dynamic_params.ecdsa_builtin_row_ratio, 256)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (2)) must be a power of two. - tempvar x = (safe_div(dynamic_params.ecdsa_builtin_row_ratio, 2)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of ecdsa/pubkey must be nonnegative. - tempvar x = dynamic_params.ecdsa__pubkey_suboffset; + // Offset of mul_mod/carry1/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry1__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ecdsa/pubkey is too big. - tempvar x = trace_length - dynamic_params.ecdsa__pubkey_suboffset - 1; + // Offset of mul_mod/carry1/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part5_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ecdsa/pubkey is too big. - tempvar x = dynamic_params.ecdsa_builtin_row_ratio - ( - safe_mult(dynamic_params.ecdsa__pubkey_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry1/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry1/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry1__part5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ecdsa/message must be nonnegative. - tempvar x = dynamic_params.ecdsa__message_suboffset; + // Offset of mul_mod/carry1/part6 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry1__part6_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ecdsa/message is too big. - tempvar x = trace_length - dynamic_params.ecdsa__message_suboffset - 1; + // Offset of mul_mod/carry1/part6 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry1__part6_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ecdsa/message is too big. - tempvar x = dynamic_params.ecdsa_builtin_row_ratio - ( + // Offset of mul_mod/carry1/part6 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.ecdsa__message_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry1__part6_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - - tempvar range_check_ptr = range_check_ptr; - } else { - tempvar range_check_ptr = range_check_ptr; - } - - if (dynamic_params.uses_bitwise_builtin != 0) { - tempvar range_check_ptr = range_check_ptr; - // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.bitwise__row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.bitwise__row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(bitwise__row_ratio)) / (64)) must be a power of two. - tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 64)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(bitwise__row_ratio)) / (4)) must be a power of two. - tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 4)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div(trace_length, dynamic_params.bitwise__row_ratio)) - 1; + // Offset of mul_mod/carry2/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part0_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.bitwise__row_ratio)); + // Offset of mul_mod/carry2/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part0_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of bitwise/var_pool must be nonnegative. - tempvar x = dynamic_params.bitwise__var_pool_suboffset; + // Offset of mul_mod/carry2/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry2__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/var_pool is too big. - tempvar x = trace_length - dynamic_params.bitwise__var_pool_suboffset - 1; + // Offset of mul_mod/carry2/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part1_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/var_pool is too big. - tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 4)) - ( + // Offset of mul_mod/carry2/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry2/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__var_pool_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry2__part1_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/x_or_y must be nonnegative. - tempvar x = dynamic_params.bitwise__x_or_y_suboffset; + // Offset of mul_mod/carry2/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part2_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/x_or_y is too big. - tempvar x = trace_length - dynamic_params.bitwise__x_or_y_suboffset - 1; + // Offset of mul_mod/carry2/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part2_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/x_or_y is too big. - tempvar x = dynamic_params.bitwise__row_ratio - ( + // Offset of mul_mod/carry2/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__x_or_y_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry2__part2_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/diluted_var_pool must be nonnegative. - tempvar x = dynamic_params.bitwise__diluted_var_pool_suboffset; + // Offset of mul_mod/carry2/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part3_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/diluted_var_pool is too big. - tempvar x = trace_length - dynamic_params.bitwise__diluted_var_pool_suboffset - 1; + // Offset of mul_mod/carry2/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part3_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/diluted_var_pool is too big. - tempvar x = (safe_div(dynamic_params.bitwise__row_ratio, 64)) - ( + // Offset of mul_mod/carry2/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__diluted_var_pool_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry2__part3_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking192 must be nonnegative. - tempvar x = dynamic_params.bitwise__trim_unpacking192_suboffset; + // Offset of mul_mod/carry2/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part4_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking192 is too big. - tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking192_suboffset - 1; + // Offset of mul_mod/carry2/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part4_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking192 is too big. - tempvar x = dynamic_params.bitwise__row_ratio - ( + // Offset of mul_mod/carry2/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__trim_unpacking192_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry2__part4_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking193 must be nonnegative. - tempvar x = dynamic_params.bitwise__trim_unpacking193_suboffset; + // Offset of mul_mod/carry2/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part5_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking193 is too big. - tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking193_suboffset - 1; + // Offset of mul_mod/carry2/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part5_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking193 is too big. - tempvar x = dynamic_params.bitwise__row_ratio - ( + // Offset of mul_mod/carry2/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__trim_unpacking193_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry2__part5_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking194 must be nonnegative. - tempvar x = dynamic_params.bitwise__trim_unpacking194_suboffset; + // Offset of mul_mod/carry2/part6 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry2__part6_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking194 is too big. - tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking194_suboffset - 1; + // Offset of mul_mod/carry2/part6 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry2__part6_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking194 is too big. - tempvar x = dynamic_params.bitwise__row_ratio - ( + // Offset of mul_mod/carry2/part6 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__trim_unpacking194_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry2__part6_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking195 must be nonnegative. - tempvar x = dynamic_params.bitwise__trim_unpacking195_suboffset; + // Offset of mul_mod/carry3/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part0_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking195 is too big. - tempvar x = trace_length - dynamic_params.bitwise__trim_unpacking195_suboffset - 1; + // Offset of mul_mod/carry3/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part0_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of bitwise/trim_unpacking195 is too big. - tempvar x = dynamic_params.bitwise__row_ratio - ( + // Offset of mul_mod/carry3/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.bitwise__trim_unpacking195_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry3__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part1_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part1_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry3__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part2_suboffset; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part2_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry3__part2_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - - tempvar range_check_ptr = range_check_ptr; - } else { - tempvar range_check_ptr = range_check_ptr; - } - - if (dynamic_params.uses_ec_op_builtin != 0) { - tempvar range_check_ptr = range_check_ptr; - // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.ec_op_builtin_row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.ec_op_builtin_row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(ec_op_builtin_row_ratio)) / (256)) must be a power of two. - tempvar x = (safe_div(dynamic_params.ec_op_builtin_row_ratio, 256)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div(trace_length, dynamic_params.ec_op_builtin_row_ratio)) - 1; + // Offset of mul_mod/carry3/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part3_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div(trace_length, dynamic_params.ec_op_builtin_row_ratio)); + // Offset of mul_mod/carry3/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part3_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of ec_op/p_x must be nonnegative. - tempvar x = dynamic_params.ec_op__p_x_suboffset; + // Offset of mul_mod/carry3/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry3__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/p_x is too big. - tempvar x = trace_length - dynamic_params.ec_op__p_x_suboffset - 1; + // Offset of mul_mod/carry3/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part4_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/p_x is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__p_x_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry3/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry3/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry3__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/p_y must be nonnegative. - tempvar x = dynamic_params.ec_op__p_y_suboffset; + // Offset of mul_mod/carry3/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part5_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/p_y is too big. - tempvar x = trace_length - dynamic_params.ec_op__p_y_suboffset - 1; + // Offset of mul_mod/carry3/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part5_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/p_y is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__p_y_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry3/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry3__part5_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/q_x must be nonnegative. - tempvar x = dynamic_params.ec_op__q_x_suboffset; + // Offset of mul_mod/carry3/part6 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry3__part6_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/q_x is too big. - tempvar x = trace_length - dynamic_params.ec_op__q_x_suboffset - 1; + // Offset of mul_mod/carry3/part6 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry3__part6_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/q_x is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__q_x_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry3/part6 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry3__part6_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/q_y must be nonnegative. - tempvar x = dynamic_params.ec_op__q_y_suboffset; + // Offset of mul_mod/carry4/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part0_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/q_y is too big. - tempvar x = trace_length - dynamic_params.ec_op__q_y_suboffset - 1; + // Offset of mul_mod/carry4/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part0_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/q_y is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__q_y_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry4/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry4__part0_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/m must be nonnegative. - tempvar x = dynamic_params.ec_op__m_suboffset; + // Offset of mul_mod/carry4/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part1_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/m is too big. - tempvar x = trace_length - dynamic_params.ec_op__m_suboffset - 1; + // Offset of mul_mod/carry4/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part1_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/m is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__m_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry4/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry4__part1_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/r_x must be nonnegative. - tempvar x = dynamic_params.ec_op__r_x_suboffset; + // Offset of mul_mod/carry4/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part2_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/r_x is too big. - tempvar x = trace_length - dynamic_params.ec_op__r_x_suboffset - 1; + // Offset of mul_mod/carry4/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part2_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/r_x is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__r_x_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry4/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry4__part2_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/r_y must be nonnegative. - tempvar x = dynamic_params.ec_op__r_y_suboffset; + // Offset of mul_mod/carry4/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part3_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/r_y is too big. - tempvar x = trace_length - dynamic_params.ec_op__r_y_suboffset - 1; + // Offset of mul_mod/carry4/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part3_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of ec_op/r_y is too big. - tempvar x = dynamic_params.ec_op_builtin_row_ratio - ( - safe_mult(dynamic_params.ec_op__r_y_suboffset, dynamic_params.memory_units_row_ratio) + // Offset of mul_mod/carry4/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry4__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - - tempvar range_check_ptr = range_check_ptr; - } else { - tempvar range_check_ptr = range_check_ptr; - } - - if (dynamic_params.uses_keccak_builtin != 0) { - tempvar range_check_ptr = range_check_ptr; - // Coset step ((dynamicparam(keccak__row_ratio)) / (4096)) must be a power of two. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, (safe_mult(16, dynamic_params.keccak__row_ratio)))); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(keccak__row_ratio)) / (128)) must be a power of two. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 128)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(keccak__row_ratio)) / (32768)) must be a power of two. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 32768)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.keccak__row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(keccak__row_ratio)) / (16)) must be a power of two. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 16)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div((safe_mult(16, trace_length)), dynamic_params.keccak__row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div((safe_mult(16, trace_length)), dynamic_params.keccak__row_ratio)) - 1; + // Offset of mul_mod/carry4/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part4_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div((safe_mult(16, trace_length)), dynamic_params.keccak__row_ratio)); + // Offset of mul_mod/carry4/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part4_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of keccak/input_output must be nonnegative. - tempvar x = dynamic_params.keccak__input_output_suboffset; + // Offset of mul_mod/carry4/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry4__part4_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/input_output is too big. - tempvar x = trace_length - dynamic_params.keccak__input_output_suboffset - 1; + // Offset of mul_mod/carry4/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part5_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/input_output is too big. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 16)) - ( + // Offset of mul_mod/carry4/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part5_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry4/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.keccak__input_output_suboffset, dynamic_params.memory_units_row_ratio + dynamic_params.mul_mod__carry4__part5_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column0 must be nonnegative. - tempvar x = dynamic_params.keccak__keccak__diluted_column0_suboffset; + // Offset of mul_mod/carry4/part6 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry4__part6_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column0 is too big. - tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column0_suboffset - 1; + // Offset of mul_mod/carry4/part6 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry4__part6_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column0 is too big. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + // Offset of mul_mod/carry4/part6 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.keccak__keccak__diluted_column0_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry4__part6_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column1 must be nonnegative. - tempvar x = dynamic_params.keccak__keccak__diluted_column1_suboffset; + // Offset of mul_mod/carry5/part0 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part0_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column1 is too big. - tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column1_suboffset - 1; + // Offset of mul_mod/carry5/part0 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part0_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column1 is too big. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + // Offset of mul_mod/carry5/part0 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.keccak__keccak__diluted_column1_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry5__part0_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column2 must be nonnegative. - tempvar x = dynamic_params.keccak__keccak__diluted_column2_suboffset; + // Offset of mul_mod/carry5/part1 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part1_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column2 is too big. - tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column2_suboffset - 1; + // Offset of mul_mod/carry5/part1 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part1_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column2 is too big. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + // Offset of mul_mod/carry5/part1 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.keccak__keccak__diluted_column2_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry5__part1_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column3 must be nonnegative. - tempvar x = dynamic_params.keccak__keccak__diluted_column3_suboffset; + // Offset of mul_mod/carry5/part2 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part2_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column3 is too big. - tempvar x = trace_length - dynamic_params.keccak__keccak__diluted_column3_suboffset - 1; + // Offset of mul_mod/carry5/part2 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part2_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of keccak/keccak/diluted_column3 is too big. - tempvar x = (safe_div(dynamic_params.keccak__row_ratio, 4096)) - ( + // Offset of mul_mod/carry5/part2 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.keccak__keccak__diluted_column3_suboffset, - dynamic_params.diluted_units_row_ratio, + dynamic_params.mul_mod__carry5__part2_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - - tempvar range_check_ptr = range_check_ptr; - } else { - tempvar range_check_ptr = range_check_ptr; - } - - if (dynamic_params.uses_poseidon_builtin != 0) { - tempvar range_check_ptr = range_check_ptr; - // Row ratio should be a power of 2, smaller than trace length. - tempvar x = dynamic_params.poseidon__row_ratio; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div(trace_length, dynamic_params.poseidon__row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(poseidon__row_ratio)) / (32)) must be a power of two. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 32)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(poseidon__row_ratio)) / (8)) must be a power of two. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 8)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(poseidon__row_ratio)) / (64)) must be a power of two. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 64)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Coset step ((dynamicparam(poseidon__row_ratio)) / (2)) must be a power of two. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Dimension should be a power of 2. - tempvar x = (safe_div((safe_mult(2, trace_length)), dynamic_params.poseidon__row_ratio)); - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Index out of range. - tempvar x = (safe_div((safe_mult(2, trace_length)), dynamic_params.poseidon__row_ratio)) - - 1; + // Offset of mul_mod/carry5/part3 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part3_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Index should be non negative. - tempvar x = (safe_div((safe_mult(2, trace_length)), dynamic_params.poseidon__row_ratio)); + // Offset of mul_mod/carry5/part3 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part3_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Coset step (memberexpression(trace_length)) must be a power of two. - tempvar x = trace_length; - assert_is_power_of_2(x=x, max_pow=log_trace_length); - // Offset of poseidon/param_0/input_output must be nonnegative. - tempvar x = dynamic_params.poseidon__param_0__input_output_suboffset; + // Offset of mul_mod/carry5/part3 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( + safe_mult( + dynamic_params.mul_mod__carry5__part3_suboffset, + dynamic_params.range_check_units_row_ratio, + ) + ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_0/input_output is too big. - tempvar x = trace_length - dynamic_params.poseidon__param_0__input_output_suboffset - 1; + // Offset of mul_mod/carry5/part4 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part4_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_0/input_output is too big. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)) - ( + // Offset of mul_mod/carry5/part4 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part4_suboffset - 1; + assert [range_check_ptr] = x; + let range_check_ptr = range_check_ptr + 1; + // Offset of mul_mod/carry5/part4 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.poseidon__param_0__input_output_suboffset, - dynamic_params.memory_units_row_ratio, + dynamic_params.mul_mod__carry5__part4_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_1/input_output must be nonnegative. - tempvar x = dynamic_params.poseidon__param_1__input_output_suboffset; + // Offset of mul_mod/carry5/part5 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part5_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_1/input_output is too big. - tempvar x = trace_length - dynamic_params.poseidon__param_1__input_output_suboffset - 1; + // Offset of mul_mod/carry5/part5 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part5_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_1/input_output is too big. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)) - ( + // Offset of mul_mod/carry5/part5 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.poseidon__param_1__input_output_suboffset, - dynamic_params.memory_units_row_ratio, + dynamic_params.mul_mod__carry5__part5_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_2/input_output must be nonnegative. - tempvar x = dynamic_params.poseidon__param_2__input_output_suboffset; + // Offset of mul_mod/carry5/part6 must be nonnegative. + tempvar x = dynamic_params.mul_mod__carry5__part6_suboffset; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_2/input_output is too big. - tempvar x = trace_length - dynamic_params.poseidon__param_2__input_output_suboffset - 1; + // Offset of mul_mod/carry5/part6 is too big. + tempvar x = trace_length - dynamic_params.mul_mod__carry5__part6_suboffset - 1; assert [range_check_ptr] = x; let range_check_ptr = range_check_ptr + 1; - // Offset of poseidon/param_2/input_output is too big. - tempvar x = (safe_div(dynamic_params.poseidon__row_ratio, 2)) - ( + // Offset of mul_mod/carry5/part6 is too big. + tempvar x = dynamic_params.mul_mod__row_ratio - ( safe_mult( - dynamic_params.poseidon__param_2__input_output_suboffset, - dynamic_params.memory_units_row_ratio, + dynamic_params.mul_mod__carry5__part6_suboffset, + dynamic_params.range_check_units_row_ratio, ) ) - 1; assert [range_check_ptr] = x; diff --git a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/composition.cairo b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/composition.cairo index d92546c4..7c8f04b4 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/composition.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/composition.cairo @@ -238,6 +238,9 @@ func traces_eval_composition_polynomial{range_check_ptr}( initial_ec_op_addr=public_input.segments[segments.EC_OP].begin_addr, initial_keccak_addr=public_input.segments[segments.KECCAK].begin_addr, initial_poseidon_addr=public_input.segments[segments.POSEIDON].begin_addr, + initial_range_check96_addr=public_input.segments[segments.RANGE_CHECK96].begin_addr, + add_mod__initial_mod_addr=public_input.segments[segments.ADD_MOD].begin_addr, + mul_mod__initial_mod_addr=public_input.segments[segments.MUL_MOD].begin_addr, range_check_min=public_input.range_check_min, range_check_max=public_input.range_check_max, offset_size=2 ** 16, @@ -275,6 +278,8 @@ func traces_eval_composition_polynomial{range_check_ptr}( ), diluted_check__interaction_z=diluted_z, diluted_check__interaction_alpha=diluted_alpha, + add_mod__interaction_elm=interaction_elements.add_mod__interaction_elm, + mul_mod__interaction_elm=interaction_elements.mul_mod__interaction_elm, memory__multi_column_perm__perm__public_memory_prod=public_memory_prod_ratio, range_check16__perm__public_memory_prod=1, diluted_check__first_elm=0, diff --git a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/global_values.cairo b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/global_values.cairo index d4ca8d43..5c831e03 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/global_values.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/global_values.cairo @@ -29,6 +29,9 @@ struct GlobalValues { initial_ec_op_addr: felt, initial_keccak_addr: felt, initial_poseidon_addr: felt, + initial_range_check96_addr: felt, + add_mod__initial_mod_addr: felt, + mul_mod__initial_mod_addr: felt, range_check_min: felt, range_check_max: felt, @@ -64,6 +67,8 @@ struct GlobalValues { diluted_check__permutation__interaction_elm: felt, diluted_check__interaction_z: felt, diluted_check__interaction_alpha: felt, + add_mod__interaction_elm: felt, + mul_mod__interaction_elm: felt, // Permutation products. memory__multi_column_perm__perm__public_memory_prod: felt, @@ -85,4 +90,6 @@ struct InteractionElements { diluted_check__permutation__interaction_elm: felt, diluted_check__interaction_z: felt, diluted_check__interaction_alpha: felt, + add_mod__interaction_elm: felt, + mul_mod__interaction_elm: felt, } diff --git a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/public_verify.cairo b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/public_verify.cairo index 368abf7e..4ced06b8 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/dynamic/public_verify.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/dynamic/public_verify.cairo @@ -27,7 +27,10 @@ namespace segments { const EC_OP = 7; const KECCAK = 8; const POSEIDON = 9; - const N_SEGMENTS = 10; + const RANGE_CHECK96 = 10; + const ADD_MOD = 11; + const MUL_MOD = 12; + const N_SEGMENTS = 13; } const INITIAL_PC = 1; @@ -36,7 +39,7 @@ const FINAL_PC = INITIAL_PC + 4; // Returns a zero-terminated list of builtins supported by this layout. func get_layout_builtins() -> (n_builtins: felt, builtins: felt*) { let (builtins_address) = get_label_location(data); - let n_builtins = 8; + let n_builtins = 11; assert builtins_address[n_builtins] = 0; return (n_builtins=n_builtins, builtins=builtins_address); @@ -49,6 +52,9 @@ func get_layout_builtins() -> (n_builtins: felt, builtins: felt*) { dw 'ec_op'; dw 'keccak'; dw 'poseidon'; + dw 'range_check96'; + dw 'add_mod'; + dw 'mul_mod'; dw 0; } @@ -203,16 +209,65 @@ func public_input_validate{range_check_ptr}( // and that stop_ptr - begin_addr is divisible by 6. assert_nn_le(n_poseidon_uses, n_poseidon_copies); + local n_range_check96_copies; + if (dynamic_params.uses_range_check96_builtin == 0) { + assert n_range_check96_copies = 0; + } else { + assert n_range_check96_copies = trace_length / + dynamic_params.range_check96_builtin_row_ratio; + } + let n_range_check96_uses = ( + public_input.segments[segments.RANGE_CHECK96].stop_ptr - + public_input.segments[segments.RANGE_CHECK96].begin_addr + ); + // Note that the following call implies that trace_length is divisible by + // dynamic_params.range_check96_builtin_row_ratio. + assert_nn_le(n_range_check96_uses, n_range_check96_copies); + + local n_add_mod_copies; + if (dynamic_params.uses_add_mod_builtin == 0) { + assert n_add_mod_copies = 0; + } else { + assert n_add_mod_copies = trace_length / dynamic_params.add_mod__row_ratio; + } + let n_add_mod_uses = ( + public_input.segments[segments.ADD_MOD].stop_ptr - + public_input.segments[segments.ADD_MOD].begin_addr + ) / 7; + // Note that the following call implies that trace_length is divisible by + // dynamic_params.add_mod__row_ratio + // and that stop_ptr - begin_addr is divisible by 7. + assert_nn_le(n_add_mod_uses, n_add_mod_copies); + + local n_mul_mod_copies; + if (dynamic_params.uses_mul_mod_builtin == 0) { + assert n_mul_mod_copies = 0; + } else { + assert n_mul_mod_copies = trace_length / dynamic_params.mul_mod__row_ratio; + } + let n_mul_mod_uses = ( + public_input.segments[segments.MUL_MOD].stop_ptr - + public_input.segments[segments.MUL_MOD].begin_addr + ) / 7; + // Note that the following call implies that trace_length is divisible by + // dynamic_params.mul_mod__row_ratio + // and that stop_ptr - begin_addr is divisible by 7. + assert_nn_le(n_mul_mod_uses, n_mul_mod_copies); + let n_memory_units = trace_length / dynamic_params.memory_units_row_ratio; assert_nn_le( 4 * n_steps + safe_div(n_memory_units, PUBLIC_MEMORY_FRACTION) + 3 * n_pedersen_copies + 1 * n_range_check_copies + 2 * n_ecdsa_copies + 5 * n_bitwise_copies + 7 * n_ec_op_copies + 16 * - n_keccak_copies + 6 * n_poseidon_copies, + n_keccak_copies + 6 * n_poseidon_copies + 1 * n_range_check96_copies + 7 * + n_add_mod_copies + 7 * n_mul_mod_copies, n_memory_units, ); let n_rc_units = trace_length / dynamic_params.range_check_units_row_ratio; - assert_nn_le(3 * n_steps + 8 * n_range_check_copies, n_rc_units); + assert_nn_le( + 3 * n_steps + 8 * n_range_check_copies + 6 * n_range_check96_copies + 66 * n_mul_mod_copies, + n_rc_units, + ); let n_diluted_units = trace_length / dynamic_params.diluted_units_row_ratio; assert_nn_le(68 * n_bitwise_copies + 16384 * n_keccak_copies, n_diluted_units); diff --git a/src/starkware/cairo/stark_verifier/air/layouts/recursive/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/recursive/autogenerated.cairo index 68a4a6fb..0ae64b6c 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/recursive/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/recursive/autogenerated.cairo @@ -29,6 +29,8 @@ const HAS_EC_OP_BUILTIN = 0; const HAS_KECCAK_BUILTIN = 0; const HAS_POSEIDON_BUILTIN = 0; const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_ADD_MOD_BUILTIN = 0; +const HAS_MUL_MOD_BUILTIN = 0; const LAYOUT_CODE = 0x726563757273697665; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; diff --git a/src/starkware/cairo/stark_verifier/air/layouts/recursive_with_poseidon/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/recursive_with_poseidon/autogenerated.cairo index 9914a65f..2b0cdafd 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/recursive_with_poseidon/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/recursive_with_poseidon/autogenerated.cairo @@ -36,6 +36,8 @@ const HAS_EC_OP_BUILTIN = 0; const HAS_KECCAK_BUILTIN = 0; const HAS_POSEIDON_BUILTIN = 1; const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_ADD_MOD_BUILTIN = 0; +const HAS_MUL_MOD_BUILTIN = 0; const LAYOUT_CODE = 0x7265637572736976655f776974685f706f736569646f6e; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; diff --git a/src/starkware/cairo/stark_verifier/air/layouts/small/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/small/autogenerated.cairo index 09f0dc04..1009dacc 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/small/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/small/autogenerated.cairo @@ -29,6 +29,8 @@ const HAS_EC_OP_BUILTIN = 0; const HAS_KECCAK_BUILTIN = 0; const HAS_POSEIDON_BUILTIN = 0; const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_ADD_MOD_BUILTIN = 0; +const HAS_MUL_MOD_BUILTIN = 0; const LAYOUT_CODE = 0x736d616c6c; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; diff --git a/src/starkware/cairo/stark_verifier/air/layouts/starknet/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/starknet/autogenerated.cairo index aba787d5..ebfce92f 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/starknet/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/starknet/autogenerated.cairo @@ -43,6 +43,8 @@ const HAS_EC_OP_BUILTIN = 1; const HAS_KECCAK_BUILTIN = 0; const HAS_POSEIDON_BUILTIN = 1; const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_ADD_MOD_BUILTIN = 0; +const HAS_MUL_MOD_BUILTIN = 0; const LAYOUT_CODE = 0x737461726b6e6574; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; diff --git a/src/starkware/cairo/stark_verifier/air/layouts/starknet_with_keccak/autogenerated.cairo b/src/starkware/cairo/stark_verifier/air/layouts/starknet_with_keccak/autogenerated.cairo index cf615078..0061485c 100644 --- a/src/starkware/cairo/stark_verifier/air/layouts/starknet_with_keccak/autogenerated.cairo +++ b/src/starkware/cairo/stark_verifier/air/layouts/starknet_with_keccak/autogenerated.cairo @@ -47,6 +47,8 @@ const HAS_EC_OP_BUILTIN = 1; const HAS_KECCAK_BUILTIN = 1; const HAS_POSEIDON_BUILTIN = 1; const HAS_RANGE_CHECK96_BUILTIN = 0; +const HAS_ADD_MOD_BUILTIN = 0; +const HAS_MUL_MOD_BUILTIN = 0; const LAYOUT_CODE = 0x737461726b6e65745f776974685f6b656363616b; const CONSTRAINT_DEGREE = 2; const LOG_CPU_COMPONENT_HEIGHT = 4; diff --git a/src/starkware/cairo/stark_verifier/air/parser.py b/src/starkware/cairo/stark_verifier/air/parser.py index 4ddb9edd..e56e84c6 100644 --- a/src/starkware/cairo/stark_verifier/air/parser.py +++ b/src/starkware/cairo/stark_verifier/air/parser.py @@ -8,7 +8,6 @@ from starkware.cairo.lang.compiler.scoped_name import ScopedName from starkware.cairo.lang.vm.air_public_input import PublicInput, extract_z_and_alpha from starkware.cairo.stark_verifier.air.utils import public_input_to_cairo -from starkware.cairo.stark_verifier.core.supported_proof_params import are_parameters_supported from starkware.python.math_utils import safe_log2 from starkware.python.utils import safe_zip @@ -23,30 +22,32 @@ "starknet_with_keccak", "recursive_with_poseidon", ] -ADDITIONAL_IMPORTS = [ - "starkware.cairo.stark_verifier.air.config.TracesConfig", +ADDITONAL_IMPORTS_STARK_CONFIG = [ + "starkware.cairo.stark_verifier.air.config_instances.TracesConfig", "starkware.cairo.stark_verifier.air.public_input.PublicInput", "starkware.cairo.stark_verifier.air.public_input.SegmentInfo", "starkware.cairo.stark_verifier.air.public_memory.ContinuousPageHeader", + "starkware.cairo.stark_verifier.core.config_instances.StarkConfig", + "starkware.cairo.stark_verifier.core.proof_of_work.ProofOfWorkConfig", + "starkware.cairo.stark_verifier.core.proof_of_work.ProofOfWorkUnsentCommitment", + "starkware.cairo.stark_verifier.core.table_commitment.TableCommitmentConfig", + "starkware.cairo.stark_verifier.core.table_commitment.TableCommitmentWitness", + "starkware.cairo.stark_verifier.core.table_commitment.TableDecommitment", + "starkware.cairo.stark_verifier.core.vector_commitment.VectorCommitmentConfig", + "starkware.cairo.stark_verifier.core.fri.config.FriConfig", +] +ADDITIONAL_IMPORTS_PARSE_PROOF = [ "starkware.cairo.stark_verifier.air.traces.TracesDecommitment", "starkware.cairo.stark_verifier.air.traces.TracesUnsentCommitment", "starkware.cairo.stark_verifier.air.traces.TracesWitness", - "starkware.cairo.stark_verifier.core.config.StarkConfig", - "starkware.cairo.stark_verifier.core.fri.config.FriConfig", "starkware.cairo.stark_verifier.core.fri.fri.FriLayerWitness", "starkware.cairo.stark_verifier.core.fri.fri.FriUnsentCommitment", "starkware.cairo.stark_verifier.core.fri.fri.FriWitness", - "starkware.cairo.stark_verifier.core.proof_of_work.ProofOfWorkConfig", - "starkware.cairo.stark_verifier.core.proof_of_work.ProofOfWorkUnsentCommitment", "starkware.cairo.stark_verifier.core.stark.StarkProof", "starkware.cairo.stark_verifier.core.stark.StarkUnsentCommitment", "starkware.cairo.stark_verifier.core.stark.StarkWitness", - "starkware.cairo.stark_verifier.core.table_commitment.TableCommitmentConfig", - "starkware.cairo.stark_verifier.core.table_commitment.TableCommitmentWitness", - "starkware.cairo.stark_verifier.core.table_commitment.TableDecommitment", - "starkware.cairo.stark_verifier.core.vector_commitment.VectorCommitmentConfig", "starkware.cairo.stark_verifier.core.vector_commitment.VectorCommitmentWitness", -] +] + ADDITONAL_IMPORTS_STARK_CONFIG def extract_annotations(annotations: Sequence[str], prefix: str, kind: str) -> List[int]: @@ -70,13 +71,25 @@ def extract_annotations(annotations: Sequence[str], prefix: str, kind: str) -> L return res -def parse_proof(identifiers: IdentifierManager, proof_json: dict): +def parse_proof( + identifiers: IdentifierManager, + proof_json: dict, + only_config: bool = False, + extra_params: Optional[dict] = None, +): """ Generates a Cairo StarkProof struct from a proof JSON. + If only_config is True, returns only a StarkConfig struct. + extra_params is a dictionary of additional parameters that + are not part of the proof JSON public input or available as + constants in the Cairo program. """ structs = CairoStructFactory( - identifiers=identifiers, additional_imports=ADDITIONAL_IMPORTS + identifiers=identifiers, + additional_imports=( + ADDITONAL_IMPORTS_STARK_CONFIG if only_config else ADDITIONAL_IMPORTS_PARSE_PROOF + ), ).structs def annotations(prefix: str, kind: str): @@ -124,33 +137,21 @@ def get_authentications(prefix: str): "STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2" ) - assert are_parameters_supported(proof_json["proof_parameters"]) + # assert are_parameters_supported(proof_json["proof_parameters"]) fri_step_list = proof_json["proof_parameters"]["stark"]["fri"]["fri_step_list"] n_fri_layers = len(fri_step_list) - fri_witnesses = [] - for i in range(1, n_fri_layers): - leaves = annotations(f"STARK/FRI/Decommitment/Layer {i}", "Field Element") - authentications = annotations(f"STARK/FRI/Decommitment/Layer {i}", "Hash") - fri_witnesses.append( - structs.FriLayerWitness( - n_leaves=len(leaves), - leaves=leaves, - table_witness=structs.TableCommitmentWitness( - vector=structs.VectorCommitmentWitness( - n_authentications=len(authentications), - authentications=authentications, - ), - ), - ) - ) # Extract details for config. module_name = f"starkware.cairo.stark_verifier.air.layouts.{public_input.layout}.autogenerated" - def get_dynamic_or_const_value(dynamic_params: Optional[dict], name: str): + def get_dynamic_or_const_value( + dynamic_params: Optional[dict], name: str, extra_params: Optional[dict] + ): if dynamic_params is not None and name.lower() in dynamic_params: return dynamic_params[name.lower()] + if extra_params is not None and name.lower() in extra_params: + return extra_params[name.lower()] res = identifiers.root.get( ScopedName.from_string(f"{module_name}.{name}") ).identifier_definition @@ -160,7 +161,9 @@ def get_dynamic_or_const_value(dynamic_params: Optional[dict], name: str): # Retrieve the cpu_component_step. Assumes that it exists either in the dynamic params or as # a constant in the autogenerated file. CPU_COMPONENT_STEP = get_dynamic_or_const_value( - dynamic_params=public_input.dynamic_params, name="CPU_COMPONENT_STEP" + dynamic_params=public_input.dynamic_params, + name="CPU_COMPONENT_STEP", + extra_params=extra_params, ) effective_component_height = COMPONENT_HEIGHT * CPU_COMPONENT_STEP log_trace_domain_size = safe_log2(effective_component_height * public_input.n_steps) @@ -186,12 +189,18 @@ def get_dynamic_or_const_value(dynamic_params: Optional[dict], name: str): # Retrieve the number of columns. Assumes that it exists either in the dynamic params or as # a constant in the autogenerated file. NUM_COLUMNS_FIRST = get_dynamic_or_const_value( - dynamic_params=public_input.dynamic_params, name="NUM_COLUMNS_FIRST" + dynamic_params=public_input.dynamic_params, + name="NUM_COLUMNS_FIRST", + extra_params=extra_params, ) NUM_COLUMNS_SECOND = get_dynamic_or_const_value( - dynamic_params=public_input.dynamic_params, name="NUM_COLUMNS_SECOND" + dynamic_params=public_input.dynamic_params, + name="NUM_COLUMNS_SECOND", + extra_params=extra_params, + ) + CONSTRAINT_DEGREE = get_dynamic_or_const_value( + dynamic_params=None, name="CONSTRAINT_DEGREE", extra_params=extra_params ) - CONSTRAINT_DEGREE = get_dynamic_or_const_value(dynamic_params=None, name="CONSTRAINT_DEGREE") # Build the Cairo structs. stark_config = structs.StarkConfig( @@ -250,6 +259,25 @@ def get_dynamic_or_const_value(dynamic_params: Optional[dict], name: str): log_n_cosets=log_n_cosets, n_verifier_friendly_commitment_layers=n_verifier_friendly_commitment_layers, ) + if only_config: + return stark_config + + fri_witnesses = [] + for i in range(1, n_fri_layers): + leaves = annotations(f"STARK/FRI/Decommitment/Layer {i}", "Field Element") + authentications = annotations(f"STARK/FRI/Decommitment/Layer {i}", "Hash") + fri_witnesses.append( + structs.FriLayerWitness( + n_leaves=len(leaves), + leaves=leaves, + table_witness=structs.TableCommitmentWitness( + vector=structs.VectorCommitmentWitness( + n_authentications=len(authentications), + authentications=authentications, + ), + ), + ) + ) stark_unsent_commitment = structs.StarkUnsentCommitment( traces=structs.TracesUnsentCommitment( original=original_commitment_hash, diff --git a/src/starkware/cairo/stark_verifier/air/public_input.cairo b/src/starkware/cairo/stark_verifier/air/public_input.cairo index 2ca80415..cd4204e2 100644 --- a/src/starkware/cairo/stark_verifier/air/public_input.cairo +++ b/src/starkware/cairo/stark_verifier/air/public_input.cairo @@ -13,6 +13,7 @@ from starkware.cairo.stark_verifier.air.public_memory import ( get_continuous_pages_product, get_page_product, ) +from starkware.cairo.stark_verifier.core.config_instances import StarkConfig from starkware.cairo.stark_verifier.core.serialize_utils import append_felt, append_felts struct PublicInput { @@ -54,7 +55,7 @@ struct SegmentInfo { // Computes the hash of the public input, which is used as the initial seed for the Fiat-Shamir // heuristic. func public_input_hash{range_check_ptr, pedersen_ptr: HashBuiltin*, poseidon_ptr: PoseidonBuiltin*}( - air: AirWithLayout*, public_input: PublicInput* + air: AirWithLayout*, public_input: PublicInput*, config: StarkConfig* ) -> (res: felt) { alloc_locals; @@ -70,6 +71,7 @@ func public_input_hash{range_check_ptr, pedersen_ptr: HashBuiltin*, poseidon_ptr let (data: felt*) = alloc(); local data_start: felt* = data; with data { + append_felt(elem=config.n_verifier_friendly_commitment_layers); append_felt(elem=public_input.log_n_steps); append_felt(elem=public_input.range_check_min); append_felt(elem=public_input.range_check_max); diff --git a/src/starkware/cairo/stark_verifier/air/public_input_test.py b/src/starkware/cairo/stark_verifier/air/public_input_test.py index 5da55afc..1fd6c52a 100644 --- a/src/starkware/cairo/stark_verifier/air/public_input_test.py +++ b/src/starkware/cairo/stark_verifier/air/public_input_test.py @@ -15,6 +15,7 @@ extract_z_and_alpha, get_pages_and_products, ) +from starkware.cairo.stark_verifier.air.parser import parse_proof from starkware.cairo.stark_verifier.air.utils import ( compute_continuous_page_headers, public_input_to_cairo, @@ -45,7 +46,7 @@ def structs(program): "starkware.cairo.stark_verifier.air.public_input.PublicInput", "starkware.cairo.stark_verifier.air.public_input.SegmentInfo", "starkware.cairo.stark_verifier.air.public_memory.ContinuousPageHeader", - "starkware.cairo.stark_verifier.core.air_interface.AirInstance", + "starkware.cairo.stark_verifier.core.air_instances.AirInstance", ], ).structs @@ -82,6 +83,18 @@ def test_public_input_to_cairo(program, structs, proof_file, expected_json_key): ) runner = CairoFunctionRunner(program, layout="small") + extra_const_params = { + "cpu_component_step": 1, + "constraint_degree": 2, + "num_columns_first": 23, + "num_columns_second": 2, + } + proof_config = parse_proof( + identifiers=program.identifiers, + proof_json=proof_json, + only_config=True, + extra_params=extra_const_params, + ) runner.run( "public_input_hash", range_check_ptr=runner.range_check_builtin.base, @@ -89,6 +102,7 @@ def test_public_input_to_cairo(program, structs, proof_file, expected_json_key): poseidon_ptr=runner.poseidon_builtin.base, air=air_instance, public_input=cairo_public_input, + config=proof_config, ) ( range_check_ptr, diff --git a/src/starkware/cairo/stark_verifier/air/traces.cairo b/src/starkware/cairo/stark_verifier/air/traces.cairo index d30bcae2..7a7199ae 100644 --- a/src/starkware/cairo/stark_verifier/air/traces.cairo +++ b/src/starkware/cairo/stark_verifier/air/traces.cairo @@ -1,6 +1,7 @@ from starkware.cairo.common.alloc import alloc from starkware.cairo.common.cairo_builtins import BitwiseBuiltin, PoseidonBuiltin -from starkware.cairo.stark_verifier.air.config import TracesConfig, traces_config_validate +from starkware.cairo.stark_verifier.air.config_instances import TracesConfig +from starkware.cairo.stark_verifier.air.config_interface import traces_config_validate from starkware.cairo.stark_verifier.air.layout import AirWithLayout from starkware.cairo.stark_verifier.air.public_input import PublicInput from starkware.cairo.stark_verifier.core.channel import ( diff --git a/src/starkware/cairo/stark_verifier/core/BUILD b/src/starkware/cairo/stark_verifier/core/BUILD index 2e0e2951..1fe8a965 100644 --- a/src/starkware/cairo/stark_verifier/core/BUILD +++ b/src/starkware/cairo/stark_verifier/core/BUILD @@ -20,8 +20,10 @@ cairo_library( cairo_library( name = "cairo", srcs = [ + "air_instances.cairo", "air_interface.cairo", "channel.cairo", + "config_instances.cairo", "proof_of_work.cairo", "queries.cairo", "table_commitment.cairo", @@ -29,6 +31,23 @@ cairo_library( "vector_commitment.cairo", ], visibility = ["//visibility:public"], + deps = [ + ":cairo_commitment", + "//src/starkware/cairo/common:cairo_common_cairo_lib", + "//src/starkware/cairo/stark_verifier/core:serialize", + "//src/starkware/cairo/stark_verifier/core/fri:fri_config", + ], +) + +cairo_library( + name = "cairo_commitment", + srcs = [ + "channel.cairo", + "table_commitment.cairo", + "utils.cairo", + "vector_commitment.cairo", + ], + visibility = ["//visibility:public"], deps = [ "//src/starkware/cairo/common:cairo_common_cairo_lib", "//src/starkware/cairo/stark_verifier/core:serialize", @@ -39,6 +58,7 @@ cairo_library( name = "stark", srcs = [ "config.cairo", + "config_instances.cairo", "domains.cairo", "stark.cairo", ], @@ -46,6 +66,7 @@ cairo_library( deps = [ ":cairo", "//src/starkware/cairo/common:cairo_common_cairo_lib", + "//src/starkware/cairo/stark_verifier/air:cairo", "//src/starkware/cairo/stark_verifier/core/fri", ], ) diff --git a/src/starkware/cairo/stark_verifier/core/air_instances.cairo b/src/starkware/cairo/stark_verifier/core/air_instances.cairo new file mode 100644 index 00000000..cd376c04 --- /dev/null +++ b/src/starkware/cairo/stark_verifier/core/air_instances.cairo @@ -0,0 +1,41 @@ +struct PublicInput { +} + +struct TracesConfig { +} + +struct TracesUnsentCommitment { +} + +struct TracesCommitment { +} + +struct TracesDecommitment { +} + +struct TracesWitness { +} + +struct OodsEvaluationInfo { + oods_values: felt*, + oods_point: felt, + trace_generator: felt, + constraint_coefficients: felt*, +} + +struct AirInstance { + // Virtual functions. + // Each should be a pointer to a function with the same interface as the function in this file. + public_input_hash: felt*, + public_input_validate: felt*, + traces_config_validate: felt*, + traces_commit: felt*, + traces_decommit: felt*, + traces_eval_composition_polynomial: felt*, + eval_oods_boundary_poly_at_points: felt*, + // Constants. + n_dynamic_params: felt, + n_constraints: felt, + constraint_degree: felt, + mask_size: felt, +} diff --git a/src/starkware/cairo/stark_verifier/core/air_interface.cairo b/src/starkware/cairo/stark_verifier/core/air_interface.cairo index 26e0dc70..0f7d81b2 100644 --- a/src/starkware/cairo/stark_verifier/core/air_interface.cairo +++ b/src/starkware/cairo/stark_verifier/core/air_interface.cairo @@ -1,53 +1,22 @@ from starkware.cairo.common.cairo_builtins import BitwiseBuiltin, PoseidonBuiltin from starkware.cairo.common.hash import HashBuiltin +from starkware.cairo.stark_verifier.air.config_instances import TracesConfig +from starkware.cairo.stark_verifier.core.air_instances import ( + AirInstance, + OodsEvaluationInfo, + PublicInput, + TracesCommitment, + TracesDecommitment, + TracesUnsentCommitment, + TracesWitness, +) from starkware.cairo.stark_verifier.core.channel import Channel +from starkware.cairo.stark_verifier.core.config_instances import StarkConfig from starkware.cairo.stark_verifier.core.domains import StarkDomains from starkware.cairo.stark_verifier.core.table_commitment import TableDecommitment -struct PublicInput { -} - -struct TracesConfig { -} - -struct TracesUnsentCommitment { -} - -struct TracesCommitment { -} - -struct TracesDecommitment { -} - -struct TracesWitness { -} - -struct OodsEvaluationInfo { - oods_values: felt*, - oods_point: felt, - trace_generator: felt, - constraint_coefficients: felt*, -} - -struct AirInstance { - // Virtual functions. - // Each should be a pointer to a function with the same interface as the function in this file. - public_input_hash: felt*, - public_input_validate: felt*, - traces_config_validate: felt*, - traces_commit: felt*, - traces_decommit: felt*, - traces_eval_composition_polynomial: felt*, - eval_oods_boundary_poly_at_points: felt*, - // Constants. - n_dynamic_params: felt, - n_constraints: felt, - constraint_degree: felt, - mask_size: felt, -} - func public_input_hash{range_check_ptr, pedersen_ptr: HashBuiltin*, poseidon_ptr: PoseidonBuiltin*}( - air: AirInstance*, public_input: PublicInput* + air: AirInstance*, public_input: PublicInput*, config: StarkConfig* ) -> (res: felt) { jmp abs air.public_input_hash; } diff --git a/src/starkware/cairo/stark_verifier/core/config.cairo b/src/starkware/cairo/stark_verifier/core/config.cairo index 1a14a930..d224ae46 100644 --- a/src/starkware/cairo/stark_verifier/core/config.cairo +++ b/src/starkware/cairo/stark_verifier/core/config.cairo @@ -1,45 +1,22 @@ from starkware.cairo.common.alloc import alloc from starkware.cairo.common.math import assert_in_range, assert_le, assert_nn, assert_nn_le from starkware.cairo.common.pow import pow -from starkware.cairo.stark_verifier.core.air_interface import ( - AirInstance, - TracesConfig, - traces_config_validate, +from starkware.cairo.stark_verifier.core.air_interface import AirInstance, traces_config_validate +from starkware.cairo.stark_verifier.core.config_instances import ( + MAX_LOG_BLOWUP_FACTOR, + MAX_LOG_TRACE, + MAX_N_QUERIES, + StarkConfig, ) from starkware.cairo.stark_verifier.core.domains import StarkDomains -from starkware.cairo.stark_verifier.core.fri.config import FriConfig, fri_config_validate -from starkware.cairo.stark_verifier.core.proof_of_work import ( - ProofOfWorkConfig, - proof_of_work_config_validate, -) -from starkware.cairo.stark_verifier.core.table_commitment import TableCommitmentConfig +from starkware.cairo.stark_verifier.core.fri.config import fri_config_validate +from starkware.cairo.stark_verifier.core.proof_of_work import proof_of_work_config_validate from starkware.cairo.stark_verifier.core.utils import FIELD_GENERATOR from starkware.cairo.stark_verifier.core.vector_commitment import ( VectorCommitmentConfig, validate_vector_commitment, ) -const MAX_LOG_TRACE = 64; -const MAX_LOG_BLOWUP_FACTOR = 16; -const MAX_N_QUERIES = 48; - -struct StarkConfig { - traces: TracesConfig*, - composition: TableCommitmentConfig*, - fri: FriConfig*, - proof_of_work: ProofOfWorkConfig*, - - // Log2 of the trace domain size. - log_trace_domain_size: felt, - // Number of queries to the last component, FRI. - n_queries: felt, - // Log2 of the number of cosets composing the evaluation domain, where the coset size is the - // trace length. - log_n_cosets: felt, - // Number of layers that use a verifier friendly hash in each commitment. - n_verifier_friendly_commitment_layers: felt, -} - // Validates the StarkConfig object. func stark_config_validate{range_check_ptr}( air: AirInstance*, config: StarkConfig*, security_bits: felt diff --git a/src/starkware/cairo/stark_verifier/core/config_instances.cairo b/src/starkware/cairo/stark_verifier/core/config_instances.cairo new file mode 100644 index 00000000..90816ff4 --- /dev/null +++ b/src/starkware/cairo/stark_verifier/core/config_instances.cairo @@ -0,0 +1,25 @@ +from starkware.cairo.stark_verifier.air.config_instances import TracesConfig +from starkware.cairo.stark_verifier.core.fri.config import FriConfig +from starkware.cairo.stark_verifier.core.proof_of_work import ProofOfWorkConfig +from starkware.cairo.stark_verifier.core.table_commitment import TableCommitmentConfig + +const MAX_LOG_TRACE = 64; +const MAX_LOG_BLOWUP_FACTOR = 16; +const MAX_N_QUERIES = 48; + +struct StarkConfig { + traces: TracesConfig*, + composition: TableCommitmentConfig*, + fri: FriConfig*, + proof_of_work: ProofOfWorkConfig*, + + // Log2 of the trace domain size. + log_trace_domain_size: felt, + // Number of queries to the last component, FRI. + n_queries: felt, + // Log2 of the number of cosets composing the evaluation domain, where the coset size is the + // trace length. + log_n_cosets: felt, + // Number of layers that use a verifier friendly hash in each commitment. + n_verifier_friendly_commitment_layers: felt, +} diff --git a/src/starkware/cairo/stark_verifier/core/fri/BUILD b/src/starkware/cairo/stark_verifier/core/fri/BUILD index bd932ac8..f944996d 100644 --- a/src/starkware/cairo/stark_verifier/core/fri/BUILD +++ b/src/starkware/cairo/stark_verifier/core/fri/BUILD @@ -4,15 +4,27 @@ load("//src/starkware/cairo/lang:cairo_rules.bzl", "cairo_library") package(default_visibility = ["//visibility:public"]) cairo_library( - name = "fri", + name = "fri_config", srcs = [ "config.cairo", + ], + visibility = ["//visibility:public"], + deps = [ + "//src/starkware/cairo/common:cairo_common_cairo_lib", + "//src/starkware/cairo/stark_verifier/core:cairo_commitment", + ], +) + +cairo_library( + name = "fri", + srcs = [ "fri.cairo", "fri_formula.cairo", "fri_layer.cairo", ], visibility = ["//visibility:public"], deps = [ + ":fri_config", "//src/starkware/cairo/common:cairo_common_cairo_lib", "//src/starkware/cairo/stark_verifier/core:cairo", ], diff --git a/src/starkware/cairo/stark_verifier/core/merkle_test_data.json b/src/starkware/cairo/stark_verifier/core/merkle_test_data.json index 4972e455..33629852 100644 --- a/src/starkware/cairo/stark_verifier/core/merkle_test_data.json +++ b/src/starkware/cairo/stark_verifier/core/merkle_test_data.json @@ -1,5 +1,5 @@ { - "expected_root": "0x211d8f9b32744f50e53562d338a8135f0ee5a4dd756e2ba6505064e71b7be58", + "expected_root": "0x6b3f5203dace1aecf0aa0f1b58b309983a59b372f6999282b65b58fbc7631f3", "merkle_height": 20, "merkle_queue_indices": [ 1057520, diff --git a/src/starkware/cairo/stark_verifier/core/stark.cairo b/src/starkware/cairo/stark_verifier/core/stark.cairo index b422ed78..9b48f5b2 100644 --- a/src/starkware/cairo/stark_verifier/core/stark.cairo +++ b/src/starkware/cairo/stark_verifier/core/stark.cairo @@ -2,12 +2,12 @@ from starkware.cairo.common.alloc import alloc from starkware.cairo.common.cairo_blake2s.blake2s import finalize_blake2s from starkware.cairo.common.cairo_builtins import BitwiseBuiltin, PoseidonBuiltin from starkware.cairo.common.hash import HashBuiltin +from starkware.cairo.stark_verifier.air.config_instances import TracesConfig from starkware.cairo.stark_verifier.core.air_interface import ( AirInstance, OodsEvaluationInfo, PublicInput, TracesCommitment, - TracesConfig, TracesDecommitment, TracesUnsentCommitment, TracesWitness, @@ -27,11 +27,11 @@ from starkware.cairo.stark_verifier.core.channel import ( read_felt_vector_from_prover, ) from starkware.cairo.stark_verifier.core.config import ( - StarkConfig, StarkDomains, stark_config_validate, stark_domains_create, ) +from starkware.cairo.stark_verifier.core.config_instances import StarkConfig from starkware.cairo.stark_verifier.core.fri.fri import ( FriCommitment, FriConfig, @@ -163,7 +163,7 @@ func verify_stark_proof{ local blake2s_ptr_start: felt* = blake2s_ptr; // Compute the initial hash seed for the Fiat-Shamir channel. - let (digest) = public_input_hash(air=air, public_input=proof.public_input); + let (digest) = public_input_hash(air=air, public_input=proof.public_input, config=config); // Construct the channel. let (channel: Channel) = channel_new(digest=digest); diff --git a/src/starkware/cairo/stark_verifier/core/supported_proof_params.py b/src/starkware/cairo/stark_verifier/core/supported_proof_params.py index 73f06cac..e033bb9a 100644 --- a/src/starkware/cairo/stark_verifier/core/supported_proof_params.py +++ b/src/starkware/cairo/stark_verifier/core/supported_proof_params.py @@ -6,7 +6,7 @@ def are_parameters_supported(proof_parameters: dict): if proof_parameters["channel_hash"] != "poseidon3": return False - if proof_parameters["commitment_hash"] != "blake256_masked160_lsb": + if proof_parameters["commitment_hash"] != "blake256_masked248_lsb": return False if proof_parameters["field"] != "PrimeField0": diff --git a/src/starkware/cairo/stark_verifier/core/table_commitment.cairo b/src/starkware/cairo/stark_verifier/core/table_commitment.cairo index 2236d18b..c848491c 100644 --- a/src/starkware/cairo/stark_verifier/core/table_commitment.cairo +++ b/src/starkware/cairo/stark_verifier/core/table_commitment.cairo @@ -175,8 +175,8 @@ func generate_vector_queries{ blake2s_add_felts{data=data}(n_elements=n_columns, elements=values, bigend=1); let (hash) = blake2s_bigend(data=data_start, n_bytes=32 * n_columns); - // Truncate hash - convert value to felt, by taking the 160 least significant bits. - let (high_h, high_l) = unsigned_div_rem(hash.high, 2 ** 32); + // Truncate hash - convert value to felt, by taking the 248 least significant bits. + let (high_h, high_l) = unsigned_div_rem(hash.high, 2 ** 120); assert vector_queries.value = high_l * 2 ** 128 + hash.low; return generate_vector_queries( diff --git a/src/starkware/cairo/stark_verifier/core/table_commitment_test.py b/src/starkware/cairo/stark_verifier/core/table_commitment_test.py index 78afc49b..7680b4e6 100644 --- a/src/starkware/cairo/stark_verifier/core/table_commitment_test.py +++ b/src/starkware/cairo/stark_verifier/core/table_commitment_test.py @@ -50,7 +50,7 @@ def test_table_commitment(program, structs): height=5, n_verifier_friendly_commitment_layers=2, ), - commitment_hash=0x65AB11B61229977B507F7B37C4E95769A0F9F8939042B2029D92CFF0D96FD07, + commitment_hash=0x68215EFF34574A9F8729D3271BC6827767294ACF9E5E19ADF29BC823ED1E549, ), config=structs.TableCommitmentConfig( n_columns=4, diff --git a/src/starkware/cairo/stark_verifier/core/vector_commitment.cairo b/src/starkware/cairo/stark_verifier/core/vector_commitment.cairo index e2b575be..1d0d1ba7 100644 --- a/src/starkware/cairo/stark_verifier/core/vector_commitment.cairo +++ b/src/starkware/cairo/stark_verifier/core/vector_commitment.cairo @@ -219,9 +219,9 @@ func hash_blake_or_poseidon{ } } -// A 160 LSB truncated version of blake2s. +// A 248 LSB truncated version of blake2s. // hash: -// blake2s(x, y) & ~((1<<96) - 1). +// blake2s(x, y) & ((1 << 248) - 1). func truncated_blake2s{range_check_ptr, blake2s_ptr: felt*, bitwise_ptr: BitwiseBuiltin*}( x: felt, y: felt ) -> (res: felt) { @@ -235,7 +235,7 @@ func truncated_blake2s{range_check_ptr, blake2s_ptr: felt*, bitwise_ptr: Bitwise } let (hash: Uint256) = blake2s_bigend(data=data_start, n_bytes=64); - // Truncate hash - convert value to felt, by taking the least significant 160 bits. - let (high_h, high_l) = unsigned_div_rem(hash.high, 2 ** 32); + // Truncate hash - convert value to felt, by taking the least significant 248 bits. + let (high_h, high_l) = unsigned_div_rem(hash.high, 2 ** 120); return (res=hash.low + high_l * 2 ** 128); } diff --git a/src/starkware/crypto/signature/math_utils.py b/src/starkware/crypto/signature/math_utils.py index 2dc3a4d4..53f53c21 100644 --- a/src/starkware/crypto/signature/math_utils.py +++ b/src/starkware/crypto/signature/math_utils.py @@ -19,7 +19,8 @@ import mpmath import sympy -from sympy.core.numbers import igcdex + +from starkware.python.math_utils import igcdex # A type that represents a point (x,y) on an elliptic curve. ECPoint = Tuple[int, int] diff --git a/src/starkware/crypto/signature/nothing_up_my_sleeve_gen.py b/src/starkware/crypto/signature/nothing_up_my_sleeve_gen.py index 98289add..399ba0a2 100644 --- a/src/starkware/crypto/signature/nothing_up_my_sleeve_gen.py +++ b/src/starkware/crypto/signature/nothing_up_my_sleeve_gen.py @@ -25,7 +25,7 @@ import math import os -from math_utils import ec_double, is_quad_residue, pi_as_string, sqrt_mod +from starkware.crypto.signature.math_utils import ec_double, is_quad_residue, pi_as_string, sqrt_mod # Field parameters. # Field prime chosen to be an arbitrary prime which is: diff --git a/src/starkware/eth/eth_test_utils.py b/src/starkware/eth/eth_test_utils.py index 95687b87..ea310a37 100644 --- a/src/starkware/eth/eth_test_utils.py +++ b/src/starkware/eth/eth_test_utils.py @@ -75,6 +75,21 @@ def get_block_by_hash(self, block_hash: str) -> "EthBlock": def get_balance(self, address: str) -> int: return self.w3.eth.get_balance(address) + def unlock_and_fund(self, addresses, amount=10**18): + for address in addresses: + self.w3.provider.make_request( + method=web3_types.RPCEndpoint("evm_unlockUnknownAccount"), params=[address] + ) + self.w3.provider.make_request( + method=web3_types.RPCEndpoint("evm_addAccount"), params=[address, ""] + ) + self.w3.provider.make_request( + method=web3_types.RPCEndpoint("personal_unlockAccount"), params=[address, "", 0] + ) + self.w3.provider.make_request( + method=web3_types.RPCEndpoint("evm_setAccountBalance"), params=[address, amount] + ) + def get_contract( self, contract_json, @@ -231,6 +246,33 @@ def __init__( def __getattr__(self, name: str) -> "EthContractFunction": return EthContractFunction(contract=self, name=name) + @classmethod + def create(cls, w3: Web3, address: str, abi: Abi, default_from=None) -> "EthContract": + w3_contract = w3.eth.contract( + address=Web3.to_checksum_address(address), abi=abi # type: ignore + ) + + return cls( + w3=w3, + address=address, + w3_contract=w3_contract, # type: ignore[arg-type] + abi=abi, + default_from=default_from or w3_contract, # type: ignore[arg-type] + ) + + @classmethod + def from_legacy(cls, legacy_contract: Contract, default_from=None) -> "EthContract": + return cls( + w3=legacy_contract.web3, + address=legacy_contract.address, + w3_contract=legacy_contract, # type: ignore[arg-type] + abi=legacy_contract.abi, # type: ignore[arg-type] + default_from=default_from or legacy_contract, # type: ignore[arg-type] + ) + + def legacy(self) -> Contract: + return self.w3_contract + def replace_abi(self, abi: Abi) -> "EthContract": w3_contract = self.w3.eth.contract( address=Web3.to_checksum_address(self.address), abi=abi # type: ignore @@ -305,8 +347,9 @@ def __init__(self, contract, w3_tx_receipt): self.contract = contract self.w3_tx_receipt = w3_tx_receipt - def get_events(self, name: str) -> List[dict]: - return self.contract.get_events(tx=self, name=name) + def get_events(self, name: str, alt_abi: Optional[List[dict]] = None) -> List[dict]: + _contract = self.contract if alt_abi is None else self.contract.replace_abi(abi=alt_abi) + return _contract.get_events(tx=self, name=name) def get_cost(self) -> int: tx = self.contract.w3.eth.get_transaction(self.w3_tx_receipt.transactionHash) diff --git a/src/starkware/python/math_utils.py b/src/starkware/python/math_utils.py index b676f85b..339723d3 100644 --- a/src/starkware/python/math_utils.py +++ b/src/starkware/python/math_utils.py @@ -5,7 +5,12 @@ import numpy as np import sympy -from sympy.core.numbers import igcdex + +# Custom import of igcdex to support multiple sympy versions. +try: + from sympy.core.numbers import igcdex +except (ModuleNotFoundError, ImportError): + from sympy.core.intfunc import igcdex # type: ignore[no-redef] def safe_div(x: int, y: int): @@ -65,6 +70,11 @@ def prev_power_of_2(x: int): return next_power_of_2(x + 1) // 2 +def log2_ceil(x: int): + assert x > 0 + return (x - 1).bit_length() + + def is_quad_residue(n, p): """ Returns True if n is a quadratic residue mod p. diff --git a/src/starkware/solidity/BUILD b/src/starkware/solidity/BUILD index 6f2e1b4d..3c113a27 100644 --- a/src/starkware/solidity/BUILD +++ b/src/starkware/solidity/BUILD @@ -6,6 +6,4 @@ py_library( "utils.py", ], visibility = ["//visibility:public"], - deps = [ - ], ) diff --git a/src/starkware/solidity/components/BUILD b/src/starkware/solidity/components/BUILD index ccf187e9..1d2acdf0 100644 --- a/src/starkware/solidity/components/BUILD +++ b/src/starkware/solidity/components/BUILD @@ -4,6 +4,27 @@ package(default_visibility = ["//visibility:public"]) exports_files(glob(["*.sol"])) +sol_library( + name = "main_storage_sol", + srcs = [ + "MainStorage.sol", + ], + deps = [ + "//src/starkware/solidity/libraries:common_library_sol", + "//src/starkware/solidity/upgrade:proxy_storage_sol", + ], +) + +sol_library( + name = "governance_storage_sol", + srcs = [ + "GovernanceStorage.sol", + ], + deps = [ + "//src/starkware/solidity/components:governance_sol", + ], +) + sol_library( name = "governance_sol", srcs = [ @@ -14,6 +35,33 @@ sol_library( ], ) +sol_library( + name = "token_transfers_sol", + srcs = [ + "TokenTransfers.sol", + ], + deps = [ + "//src/starkware/solidity/interfaces:token_asset_data_interface_sol", + "//src/starkware/solidity/interfaces:token_quantization_interface_sol", + "//src/starkware/solidity/interfaces:token_transfers_interface_sol", + "//src/starkware/solidity/libraries:addresses_library_sol", + "//src/starkware/solidity/tokens:token_interfaces_sol", + ], +) + +sol_library( + name = "token_register_sol", + srcs = [ + "TokenRegister.sol", + ], + deps = [ + "//src/starkware/solidity/components:main_storage_sol", + "//src/starkware/solidity/interfaces:token_asset_data_interface_sol", + "//src/starkware/solidity/libraries:starkex_constants_library_sol", + "//src/starkware/solidity/tokens:erc20_sol", + ], +) + sol_library( name = "governance_contract_sol", srcs = [ @@ -27,6 +75,38 @@ sol_library( ], ) +sol_library( + name = "operator_sol", + srcs = [ + "Operator.sol", + ], + deps = [ + "//src/starkware/solidity/interfaces:governance_interface_sol", + ], +) + +sol_library( + name = "starkex_operator_sol", + srcs = [ + "StarkExOperator.sol", + ], + deps = [ + "//src/starkware/solidity/components:main_storage_sol", + "//src/starkware/solidity/components:operator_sol", + ], +) + +sol_library( + name = "verify_fact_chain_sol", + srcs = [ + "VerifyFactChain.sol", + ], + deps = [ + "//src/starkware/solidity/components:main_storage_sol", + "//src/starkware/solidity/interfaces:fact_registry_interface_sol", + ], +) + sol_library( name = "solidity_contracts_components_sol", srcs = [ @@ -35,7 +115,7 @@ sol_library( ], deps = [ "//src/starkware/solidity/interfaces:solidity_contracts_interfaces_sol", - "//src/starkware/solidity/libraries:common_library_sol", + "//src/starkware/solidity/libraries:addresses_library_sol", ], ) diff --git a/src/starkware/solidity/interfaces/BUILD b/src/starkware/solidity/interfaces/BUILD index d9c0c0bd..293e9947 100644 --- a/src/starkware/solidity/interfaces/BUILD +++ b/src/starkware/solidity/interfaces/BUILD @@ -17,6 +17,100 @@ sol_library( ], ) +sol_library( + name = "block_direct_call_sol", + srcs = [ + "BlockDirectCall.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "identified_fact_registry_interface_sol", + srcs = [ + "IFactRegistry.sol", + "IQueryableFactRegistry.sol", + "Identity.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "fact_registry_interface_sol", + srcs = [ + "IFactRegistry.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "approval_chain_interface_sol", + srcs = [ + "MApprovalChain.sol", + ], + visibility = ["//visibility:public"], + deps = [ + "//src/starkware/solidity/libraries:starkex_types_library_sol", + ], +) + +sol_library( + name = "sub_contract_interface_sol", + srcs = [ + "SubContractor.sol", + ], + visibility = ["//visibility:public"], + deps = [ + "//src/starkware/solidity/interfaces:identity_interface_sol", + ], +) + +sol_library( + name = "identity_interface_sol", + srcs = [ + "Identity.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "accept_modifications_interface_sol", + srcs = [ + "MAcceptModifications.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "deposits_interface_sol", + srcs = [ + "MDeposits.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "freezable_interface_sol", + srcs = [ + "MFreezable.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + sol_library( name = "governance_interface_sol", srcs = [ @@ -28,6 +122,66 @@ sol_library( ], ) +sol_library( + name = "key_getters_interface_sol", + srcs = [ + "MKeyGetters.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "state_root_interface_sol", + srcs = [ + "MStateRoot.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "token_asset_data_interface_sol", + srcs = [ + "MTokenAssetData.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "token_quantization_interface_sol", + srcs = [ + "MTokenQuantization.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "token_transfers_interface_sol", + srcs = [ + "MTokenTransfers.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + +sol_library( + name = "external_initializer_interface_sol", + srcs = [ + "ExternalInitializer.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ], +) + sol_library( name = "solidity_contract_initializer_sol", srcs = [ @@ -39,6 +193,34 @@ sol_library( deps = [ "//src/starkware/solidity/components:governance_contract_sol", "//src/starkware/solidity/interfaces:solidity_contracts_interfaces_sol", - "//src/starkware/solidity/libraries:common_library_sol", + "//src/starkware/solidity/libraries:addresses_library_sol", + ], +) + +sol_library( + name = "main_dispatcher_base_sol", + srcs = [ + "IDispatcherBase.sol", + "MainDispatcherBase.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ":block_direct_call_sol", + ":sub_contract_interface_sol", + "//src/starkware/solidity/components:governance_contract_sol", + "//src/starkware/solidity/interfaces:solidity_contracts_interfaces_sol", + "//src/starkware/solidity/libraries:addresses_library_sol", + ], +) + +sol_library( + name = "main_dispatcher_sol", + srcs = [ + "MainDispatcher.sol", + ], + visibility = ["//visibility:public"], + deps = [ + ":main_dispatcher_base_sol", + "//src/starkware/solidity/components:main_storage_sol", ], ) diff --git a/src/starkware/solidity/libraries/BUILD b/src/starkware/solidity/libraries/BUILD index 62c494fb..d4c39eff 100644 --- a/src/starkware/solidity/libraries/BUILD +++ b/src/starkware/solidity/libraries/BUILD @@ -24,6 +24,17 @@ sol_library( sol_library( name = "common_library_sol", + srcs = [], + visibility = ["//visibility:public"], + deps = [ + "addresses_library_sol", + "starkex_constants_library_sol", + "starkex_types_library_sol", + ], +) + +sol_library( + name = "addresses_library_sol", srcs = [ "Addresses.sol", ], @@ -31,6 +42,20 @@ sol_library( deps = [], ) -exports_files([ - "Addresses.sol", -]) +sol_library( + name = "starkex_types_library_sol", + srcs = [ + "StarkExTypes.sol", + ], + visibility = ["//visibility:public"], + deps = [], +) + +sol_library( + name = "starkex_constants_library_sol", + srcs = [ + "LibConstants.sol", + ], + visibility = ["//visibility:public"], + deps = [], +) diff --git a/src/starkware/solidity/third_party/BUILD b/src/starkware/solidity/third_party/BUILD new file mode 100644 index 00000000..6215db61 --- /dev/null +++ b/src/starkware/solidity/third_party/BUILD @@ -0,0 +1,3 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files(glob(["*.sol"])) diff --git a/src/starkware/solidity/tokens/BUILD b/src/starkware/solidity/tokens/BUILD new file mode 100644 index 00000000..087b8340 --- /dev/null +++ b/src/starkware/solidity/tokens/BUILD @@ -0,0 +1,23 @@ +load("//bazel_utils:solidity.bzl", "sol_library") + +package(default_visibility = ["//visibility:public"]) + +sol_library( + name = "erc20_sol", + srcs = [ + "//src/starkware/solidity/tokens/ERC20:ERC20.sol", + "//src/starkware/solidity/tokens/ERC20:IERC20.sol", + "//src/starkware/solidity/tokens/ERC20:IERC20Metadata.sol", + ], + deps = [], +) + +sol_library( + name = "token_interfaces_sol", + srcs = [ + "//src/starkware/solidity/tokens/ERC1155:IERC1155.sol", + "//src/starkware/solidity/tokens/ERC20:IERC20.sol", + "//src/starkware/solidity/tokens/ERC721:IERC721.sol", + ], + deps = [], +) diff --git a/src/starkware/solidity/tokens/ERC1155/BUILD b/src/starkware/solidity/tokens/ERC1155/BUILD new file mode 100644 index 00000000..c6275320 --- /dev/null +++ b/src/starkware/solidity/tokens/ERC1155/BUILD @@ -0,0 +1,3 @@ +exports_files(glob(["*.sol"])) + +package(default_visibility = ["//visibility:public"]) diff --git a/src/starkware/solidity/tokens/ERC1155/ERC1155.sol b/src/starkware/solidity/tokens/ERC1155/ERC1155.sol new file mode 100644 index 00000000..ae27c74f --- /dev/null +++ b/src/starkware/solidity/tokens/ERC1155/ERC1155.sol @@ -0,0 +1,346 @@ +// SPDX-License-Identifier: MIT. +pragma solidity ^0.6.12; + +import "./IERC1155.sol"; +import "./IERC1155Receiver.sol"; +import "../ERC165.sol"; +import "../../libraries/Addresses.sol"; + +/** + Implementation of the basic standard multi-token. + See https://eips.ethereum.org/EIPS/eip-1155 + Originally based on code by Enjin: https://github.com/enjin/erc-1155 + + _Available since v3.1. +*/ +contract ERC1155 is ERC165, IERC1155 { + using Addresses for address; + + // Mapping from token ID to account balances. + mapping(uint256 => mapping(address => uint256)) internal _balances; + + // Mapping from account to operator approvals. + mapping(address => mapping(address => bool)) private _operatorApprovals; + + // bytes4(keccak256('balanceOf(address,uint256)')) == 0x00fdd58e + // bytes4(keccak256('balanceOfBatch(address[],uint256[])')) == 0x4e1273f4 + // bytes4(keccak256('setApprovalForAll(address,bool)')) == 0xa22cb465 + // bytes4(keccak256('isApprovedForAll(address,address)')) == 0xe985e9c5 + // bytes4(keccak256('safeTransferFrom(address,address,uint256,uint256,bytes)')) == 0xf242432a + // bytes4(keccak256('safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)')) == 0x2eb2c2d6 + // => 0x00fdd58e ^ 0x4e1273f4 ^ 0xa22cb465 ^ + // 0xe985e9c5 ^ 0xf242432a ^ 0x2eb2c2d6 == 0xd9b67a26 . + bytes4 private constant INTERFACE_ID_ERC1155 = 0xd9b67a26; + + constructor() public { + registerInterface(INTERFACE_ID_ERC1155); + } + + /** + See {IERC1155-balanceOf}. + + Requirements: + + - `account` cannot be the zero address. + */ + function balanceOf(address account, uint256 id) public view virtual override returns (uint256) { + require(account != address(0), "ERC1155: balance query for the zero address"); + return _balances[id][account]; + } + + /** + See {IERC1155-balanceOfBatch}. + + Requirements: + + - `accounts` and `ids` must have the same length. + */ + function balanceOfBatch(address[] memory accounts, uint256[] memory ids) + public + view + virtual + override + returns (uint256[] memory) + { + require(accounts.length == ids.length, "ERC1155: accounts and ids length mismatch"); + + uint256[] memory batchBalances = new uint256[](accounts.length); + + for (uint256 i = 0; i < accounts.length; ++i) { + batchBalances[i] = balanceOf(accounts[i], ids[i]); + } + + return batchBalances; + } + + /** + See {IERC1155-setApprovalForAll}. + */ + function setApprovalForAll(address operator, bool approved) public virtual override { + require(msg.sender != operator, "ERC1155: setting approval status for self"); + + _operatorApprovals[msg.sender][operator] = approved; + emit ApprovalForAll(msg.sender, operator, approved); + } + + /** + See {IERC1155-isApprovedForAll}. + */ + function isApprovedForAll(address account, address operator) + public + view + virtual + override + returns (bool) + { + return _operatorApprovals[account][operator]; + } + + /** + See {IERC1155-safeTransferFrom}. + */ + function safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) public virtual override { + require( + from == msg.sender || isApprovedForAll(from, msg.sender), + "ERC1155: caller is not owner nor approved" + ); + _safeTransferFrom(from, to, id, amount, data); + } + + /** + See {IERC1155-safeBatchTransferFrom}. + */ + function safeBatchTransferFrom( + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) public virtual override { + require( + from == msg.sender || isApprovedForAll(from, msg.sender), + "ERC1155: transfer caller is not owner nor approved" + ); + _safeBatchTransferFrom(from, to, ids, amounts, data); + } + + /** + Transfers `amount` tokens of token type `id` from `from` to `to`. + + Emits a {TransferSingle} event. + + Requirements: + + - `to` cannot be the zero address. + - `from` must have a balance of tokens of type `id` of at least `amount`. + - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the + acceptance magic value. + */ + function _safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) internal virtual { + require(to != address(0), "ERC1155: transfer to the zero address"); + + address operator = msg.sender; + + uint256 fromBalance = _balances[id][from]; + require(fromBalance >= amount, "ERC1155: insufficient balance for transfer"); + _balances[id][from] = fromBalance - amount; + _balances[id][to] += amount; + + emit TransferSingle(operator, from, to, id, amount); + _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data); + } + + /** + Emits a {TransferBatch} event. + + Requirements: + + - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the + acceptance magic value. + */ + function _safeBatchTransferFrom( + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual { + require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); + require(to != address(0), "ERC1155: transfer to the zero address"); + + address operator = msg.sender; + + for (uint256 i = 0; i < ids.length; ++i) { + uint256 id = ids[i]; + uint256 amount = amounts[i]; + + uint256 fromBalance = _balances[id][from]; + require(fromBalance >= amount, "ERC1155: insufficient balance for transfer"); + _balances[id][from] = fromBalance - amount; + _balances[id][to] += amount; + } + + emit TransferBatch(operator, from, to, ids, amounts); + _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data); + } + + /** + Creates `amount` tokens of token type `id`, and assigns them to `to`. + + Emits a {TransferSingle} event. + + Requirements: + + - `to` cannot be the zero address. + - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the + acceptance magic value. + */ + function _mint( + address to, + uint256 id, + uint256 amount, + bytes memory data + ) internal virtual { + require(to != address(0), "ERC1155: mint to the zero address"); + + address operator = msg.sender; + + _balances[id][to] += amount; + emit TransferSingle(operator, address(0), to, id, amount); + _doSafeTransferAcceptanceCheck(operator, address(0), to, id, amount, data); + } + + /** + Requirements: + + - `ids` and `amounts` must have the same length. + - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the + acceptance magic value. + */ + function _mintBatch( + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual { + require(to != address(0), "ERC1155: mint to the zero address"); + require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); + + address operator = msg.sender; + + for (uint256 i = 0; i < ids.length; i++) { + _balances[ids[i]][to] += amounts[i]; + } + + emit TransferBatch(operator, address(0), to, ids, amounts); + _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data); + } + + /** + Destroys `amount` tokens of token type `id` from `from` + + Requirements: + + - `from` cannot be the zero address. + - `from` must have at least `amount` tokens of token type `id`. + */ + function _burn( + address from, + uint256 id, + uint256 amount + ) internal virtual { + require(from != address(0), "ERC1155: burn from the zero address"); + + address operator = msg.sender; + + uint256 accountBalance = _balances[id][from]; + require(accountBalance >= amount, "ERC1155: burn amount exceeds balance"); + _balances[id][from] = accountBalance - amount; + + emit TransferSingle(operator, from, address(0), id, amount); + } + + /** + Requirements: + + - `ids` and `amounts` must have the same length. + */ + function _burnBatch( + address from, + uint256[] memory ids, + uint256[] memory amounts + ) internal virtual { + require(from != address(0), "ERC1155: burn from the zero address"); + require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); + + address operator = msg.sender; + + for (uint256 i = 0; i < ids.length; i++) { + uint256 id = ids[i]; + uint256 amount = amounts[i]; + uint256 accountBalance = _balances[id][from]; + require(accountBalance >= amount, "ERC1155: burn amount exceeds balance"); + _balances[id][from] = accountBalance - amount; + } + + emit TransferBatch(operator, from, address(0), ids, amounts); + } + + function _doSafeTransferAcceptanceCheck( + address operator, + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) private { + if (to.isContract()) { + try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns ( + bytes4 response + ) { + if (response != IERC1155Receiver(to).onERC1155Received.selector) { + revert("ERC1155: ERC1155Receiver rejected tokens"); + } + } catch Error(string memory reason) { + revert(reason); + } catch { + revert("ERC1155: transfer to non ERC1155Receiver implementer"); + } + } + } + + function _doSafeBatchTransferAcceptanceCheck( + address operator, + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) private { + if (to.isContract()) { + try + IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) + returns (bytes4 response) { + if (response != IERC1155Receiver.onERC1155BatchReceived.selector) { + revert("ERC1155: ERC1155Receiver rejected tokens"); + } + } catch Error(string memory reason) { + revert(reason); + } catch { + revert("ERC1155: transfer to non ERC1155Receiver implementer"); + } + } + } +} diff --git a/src/starkware/solidity/tokens/ERC1155/IERC1155.sol b/src/starkware/solidity/tokens/ERC1155/IERC1155.sol new file mode 100644 index 00000000..4ebff30c --- /dev/null +++ b/src/starkware/solidity/tokens/ERC1155/IERC1155.sol @@ -0,0 +1,123 @@ +// SPDX-License-Identifier: MIT. +pragma solidity ^0.6.12; + +/** + Required interface of an ERC1155 compliant contract, as defined in the + https://eips.ethereum.org/EIPS/eip-1155[EIP]. + + _Available since v3.1. +*/ +interface IERC1155 { + /** + Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. + */ + event TransferSingle( + address indexed operator, + address indexed from, + address indexed to, + uint256 id, + uint256 value + ); + + /** + Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all + transfers. + */ + event TransferBatch( + address indexed operator, + address indexed from, + address indexed to, + uint256[] ids, + uint256[] values + ); + + /** + Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to + `approved`. + */ + event ApprovalForAll(address indexed account, address indexed operator, bool approved); + + /** + Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. + + If an {URI} event was emitted for `id`, the standard + https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value + returned by {IERC1155MetadataURI-uri}. + */ + event URI(string value, uint256 indexed id); + + /** + Returns the amount of tokens of token type `id` owned by `account`. + + Requirements: + + - `account` cannot be the zero address. + */ + function balanceOf(address account, uint256 id) external view returns (uint256); + + /** + Requirements: + + - `accounts` and `ids` must have the same length. + */ + function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) + external + view + returns (uint256[] memory); + + /** + Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, + + Emits an {ApprovalForAll} event. + + Requirements: + + - `operator` cannot be the caller. + */ + function setApprovalForAll(address operator, bool approved) external; + + /** + Returns true if `operator` is approved to transfer ``account``'s tokens. + + See {setApprovalForAll}. + */ + function isApprovedForAll(address account, address operator) external view returns (bool); + + /** + Transfers `amount` tokens of token type `id` from `from` to `to`. + + Emits a {TransferSingle} event. + + Requirements: + + - `to` cannot be the zero address. + - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. + - `from` must have a balance of tokens of type `id` of at least `amount`. + - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the + acceptance magic value. + */ + function safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes calldata data + ) external; + + /** + Emits a {TransferBatch} event. + + Requirements: + + - `ids` and `amounts` must have the same length. + - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the + acceptance magic value. + */ + function safeBatchTransferFrom( + address from, + address to, + uint256[] calldata ids, + uint256[] calldata amounts, + bytes calldata data + ) external; +} diff --git a/src/starkware/solidity/tokens/ERC1155/IERC1155Receiver.sol b/src/starkware/solidity/tokens/ERC1155/IERC1155Receiver.sol new file mode 100644 index 00000000..e0544e6e --- /dev/null +++ b/src/starkware/solidity/tokens/ERC1155/IERC1155Receiver.sol @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: Apache-2.0. +pragma solidity ^0.6.12; + +/** + Note: The ERC-165 identifier for this interface is 0x4e2312e0. +*/ +interface IERC1155Receiver { + /** + Handles the receipt of a single ERC1155 token type. + @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated. + This function MUST return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` (i.e. 0xf23a6e61) if it accepts the transfer. + This function MUST revert if it rejects the transfer. + Return of any other value than the prescribed keccak256 generated value MUST result in the transaction being reverted by the caller. + @param operator The address which initiated the transfer (i.e. msg.sender) + @param from The address which previously owned the token + @param id The ID of the token being transferred + @param value The amount of tokens being transferred + @param data Additional data with no specified format + @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` . + */ + function onERC1155Received( + address operator, + address from, + uint256 id, + uint256 value, + bytes calldata data + ) external returns (bytes4); + + /** + Handles the receipt of multiple ERC1155 token types. + @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated. + This function MUST return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` (i.e. 0xbc197c81) if it accepts the transfer(s). + This function MUST revert if it rejects the transfer(s). + Return of any other value than the prescribed keccak256 generated value MUST result in the transaction being reverted by the caller. + @param operator The address which initiated the batch transfer (i.e. msg.sender) + @param from The address which previously owned the token + @param ids An array containing ids of each token being transferred (order and length must match values array) + @param values An array containing amounts of each token being transferred (order and length must match ids array) + @param data Additional data with no specified format + @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` . + */ + function onERC1155BatchReceived( + address operator, + address from, + uint256[] calldata ids, + uint256[] calldata values, + bytes calldata data + ) external returns (bytes4); +} diff --git a/src/starkware/solidity/tokens/ERC165.sol b/src/starkware/solidity/tokens/ERC165.sol new file mode 100644 index 00000000..28df05a0 --- /dev/null +++ b/src/starkware/solidity/tokens/ERC165.sol @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: Apache-2.0. +pragma solidity ^0.6.12; + +import "./IERC165.sol"; + +/** + Implementation of the {IERC165} interface. + + Contracts may inherit from this and call {registerInterface} to declare + their support of an interface. +*/ +abstract contract ERC165 is IERC165 { + /* + INTERFACE_ID_ERC165 = bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7. + */ + bytes4 private constant INTERFACE_ID_ERC165 = 0x01ffc9a7; + + mapping(bytes4 => bool) private supportedInterfaces; + + constructor() public { + // Derived contracts need only register support for their own interfaces, + // Support for ERC165 itself here. + registerInterface(INTERFACE_ID_ERC165); + } + + function supportsInterface(bytes4 interfaceId) public view override returns (bool) { + return supportedInterfaces[interfaceId]; + } + + function registerInterface(bytes4 interfaceId) internal { + require(interfaceId != 0xffffffff, "ERC165: invalid interface id"); + supportedInterfaces[interfaceId] = true; + } +} diff --git a/src/starkware/solidity/tokens/ERC20/BUILD b/src/starkware/solidity/tokens/ERC20/BUILD new file mode 100644 index 00000000..3a8a630f --- /dev/null +++ b/src/starkware/solidity/tokens/ERC20/BUILD @@ -0,0 +1,7 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "ERC20.sol", + "IERC20.sol", + "IERC20Metadata.sol", +]) diff --git a/src/starkware/solidity/tokens/ERC721/BUILD b/src/starkware/solidity/tokens/ERC721/BUILD new file mode 100644 index 00000000..c6275320 --- /dev/null +++ b/src/starkware/solidity/tokens/ERC721/BUILD @@ -0,0 +1,3 @@ +exports_files(glob(["*.sol"])) + +package(default_visibility = ["//visibility:public"]) diff --git a/src/starkware/solidity/tokens/ERC721/ERC721.sol b/src/starkware/solidity/tokens/ERC721/ERC721.sol new file mode 100644 index 00000000..e6776bd3 --- /dev/null +++ b/src/starkware/solidity/tokens/ERC721/ERC721.sol @@ -0,0 +1,280 @@ +// SPDX-License-Identifier: Apache-2.0. +pragma solidity ^0.6.12; + +import "./IERC721.sol"; +import "./IERC721Receiver.sol"; +import "../ERC165.sol"; +import "../../libraries/Addresses.sol"; + +/** + ERC721 Non-Fungible Token Standard basic implementation + see https://eips.ethereum.org/EIPS/eip-721. +*/ +contract ERC721 is ERC165, IERC721 { + // Equals to `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` + // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector`. + bytes4 private constant ERC721_RECEIVED = 0x150b7a02; + + // Count of tokens owned by owner. + mapping(address => uint256) private holderBalance; + + // Token holder address to their list of owned tokens. + mapping(uint256 => address) internal tokenOwners; + + // Approved addresses to token ID. + mapping(uint256 => address) private tokenApprovals; + + // Operator approvals per owner. + mapping(address => mapping(address => bool)) private operatorApprovals; + + // bytes4(keccak256('balanceOf(address)')) == 0x70a08231 + // bytes4(keccak256('ownerOf(uint256)')) == 0x6352211e + // bytes4(keccak256('approve(address,uint256)')) == 0x095ea7b3 + // bytes4(keccak256('getApproved(uint256)')) == 0x081812fc + // bytes4(keccak256('setApprovalForAll(address,bool)')) == 0xa22cb465 + // bytes4(keccak256('isApprovedForAll(address,address)')) == 0xe985e9c5 + // bytes4(keccak256('transferFrom(address,address,uint256)')) == 0x23b872dd + // bytes4(keccak256('safeTransferFrom(address,address,uint256)')) == 0x42842e0e + // bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)')) == 0xb88d4fde + // => 0x70a08231 ^ 0x6352211e ^ 0x095ea7b3 ^ 0x081812fc ^ + // 0xa22cb465 ^ 0xe985e9c ^ 0x23b872dd ^ 0x42842e0e ^ 0xb88d4fde == 0x80ac58cd . + bytes4 private constant INTERFACE_ID_ERC721 = 0x80ac58cd; + + using Addresses for address; + + constructor() public { + registerInterface(INTERFACE_ID_ERC721); + } + + function balanceOf(address owner) public view override returns (uint256) { + require(owner != address(0), "ERC721: balance query for the zero address"); + return holderBalance[owner]; + } + + function ownerOf(uint256 tokenId) public view override returns (address) { + address owner = tokenOwners[tokenId]; + require(owner != address(0), "ERC721: owner query for nonexistent token"); + return owner; + } + + /** + Approves another address to transfer the given token ID + The zero address indicates there is no approved address. + There can only be one approved address per token at a given time. + Can only be called by the token owner or an approved operator. + */ + function approve(address to, uint256 tokenId) public override { + address owner = ownerOf(tokenId); + require(to != owner, "ERC721: approval to current owner"); + require( + msg.sender == owner || isApprovedForAll(owner, msg.sender), + "ERC721: approve caller is not owner nor approved for all" + ); + + _approve(to, tokenId); + } + + function getApproved(uint256 tokenId) public view override returns (address) { + require(_exists(tokenId), "ERC721: approved query for nonexistent token"); + + return tokenApprovals[tokenId]; + } + + /** + Sets/unsets the approval of a given operator. + */ + function setApprovalForAll(address operator, bool approved) public override { + require(operator != msg.sender, "ERC721: approve to caller"); + + operatorApprovals[msg.sender][operator] = approved; + emit ApprovalForAll(msg.sender, operator, approved); + } + + /** + Tells whether an operator is approved by a given owner. + */ + function isApprovedForAll(address owner, address operator) public view override returns (bool) { + return operatorApprovals[owner][operator]; + } + + function transferFrom( + address from, + address to, + uint256 tokenId + ) public override { + require( + _isApprovedOrOwner(msg.sender, tokenId), + "ERC721: transfer caller is not owner nor approved" + ); + _transfer(from, to, tokenId); + } + + function safeTransferFrom( + address from, + address to, + uint256 tokenId + ) public override { + safeTransferFrom(from, to, tokenId, ""); + } + + function safeTransferFrom( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) public override { + require( + _isApprovedOrOwner(msg.sender, tokenId), + "ERC721: transfer caller is not owner nor approved" + ); + _safeTransfer(from, to, tokenId, _data); + } + + function _safeTransfer( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) internal { + _transfer(from, to, tokenId); + require( + _checkOnERC721Received(from, to, tokenId, _data), + "ERC721: transfer to non ERC721Receiver implementer" + ); + } + + function _exists(uint256 tokenId) internal view returns (bool) { + return tokenOwners[tokenId] != address(0); + } + + function _isApprovedOrOwner(address spender, uint256 tokenId) internal view returns (bool) { + require(_exists(tokenId), "ERC721: operator query for nonexistent token"); + address owner = ownerOf(tokenId); + return (spender == owner || + getApproved(tokenId) == spender || + isApprovedForAll(owner, spender)); + } + + function _safeMint(address to, uint256 tokenId) internal { + _safeMint(to, tokenId, ""); + } + + function _safeMint( + address to, + uint256 tokenId, + bytes memory _data + ) internal { + _mint(to, tokenId); + require( + _checkOnERC721Received(address(0), to, tokenId, _data), + "ERC721: transfer to non ERC721Receiver implementer" + ); + } + + function _mint(address to, uint256 tokenId) internal { + require(to != address(0), "ERC721: mint to the zero address"); + require(!_exists(tokenId), "ERC721: token already minted"); + + _beforeTokenTransfer(address(0), to, tokenId); + + holderBalance[to] += 1; + + tokenOwners[tokenId] = to; + + emit Transfer(address(0), to, tokenId); + } + + function _burn(uint256 tokenId) internal { + address owner = ownerOf(tokenId); + + _beforeTokenTransfer(owner, address(0), tokenId); + + // Clear approvals. + _approve(address(0), tokenId); + + holderBalance[owner] -= 1; + + tokenOwners[tokenId] = address(0); + + emit Transfer(owner, address(0), tokenId); + } + + function _transfer( + address from, + address to, + uint256 tokenId + ) internal { + require(ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); + require(to != address(0), "ERC721: transfer to the zero address"); + + _beforeTokenTransfer(from, to, tokenId); + + // Clear approvals from the previous owner. + _approve(address(0), tokenId); + + holderBalance[from] -= 1; + + holderBalance[to] += 1; + + tokenOwners[tokenId] = to; + + emit Transfer(from, to, tokenId); + } + + /** + Internal function to invoke {IERC721Receiver-onERC721Received} on a target address. + The call is not executed if the target address is not a contract. + + @param from address representing the previous owner of the given token ID + @param to target address that will receive the tokens + @param tokenId uint256 ID of the token to be transferred + @param _data bytes optional data to send along with the call + @return bool whether the call correctly returned the expected magic value. + */ + function _checkOnERC721Received( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) private returns (bool) { + if (!to.isContract()) { + return true; + } + (bool success, bytes memory returndata) = to.call( + abi.encodeWithSelector( + IERC721Receiver(to).onERC721Received.selector, + msg.sender, + from, + tokenId, + _data + ) + ); + if (!success) { + if (returndata.length > 0) { + assembly { + let returndata_size := mload(returndata) + revert(add(32, returndata), returndata_size) + } + } else { + revert("ERC721: transfer to non ERC721Receiver implementer"); + } + } else { + bytes4 retval = abi.decode(returndata, (bytes4)); + return (retval == ERC721_RECEIVED); + } + } + + function _approve(address to, uint256 tokenId) private { + tokenApprovals[tokenId] = to; + emit Approval(ownerOf(tokenId), to, tokenId); + } + + /** + Virtual function Hook that is called before any token transfer / minting /burning. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal {} +} diff --git a/src/starkware/solidity/tokens/ERC721/IERC721.sol b/src/starkware/solidity/tokens/ERC721/IERC721.sol new file mode 100644 index 00000000..f7fbfcef --- /dev/null +++ b/src/starkware/solidity/tokens/ERC721/IERC721.sol @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: Apache-2.0. +pragma solidity ^0.6.12; + +/** + Required interface of an ERC721 compliant contract. +*/ +interface IERC721 { + event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); + event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); + event ApprovalForAll(address indexed owner, address indexed operator, bool approved); + + /** + Returns the number of NFTs in ``owner``'s account. + */ + function balanceOf(address owner) external view returns (uint256 balance); + + /** + Returns the owner of the NFT specified by `tokenId`. + */ + function ownerOf(uint256 tokenId) external view returns (address owner); + + /** + Transfers a specific NFT (`tokenId`) from one account (`from`) to + another (`to`). + + + + Requirements: + - `from`, `to` cannot be zero. + - `tokenId` must be owned by `from`. + - If the caller is not `from`, it must be have been allowed to move this + NFT by either {approve} or {setApprovalForAll}. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId + ) external; + + /** + Transfers a specific NFT (`tokenId`) from one account (`from`) to + another (`to`). + Requirements: + - If the caller is not `from`, it must be approved to move this NFT by + either {approve} or {setApprovalForAll}. + */ + function transferFrom( + address from, + address to, + uint256 tokenId + ) external; + + function approve(address to, uint256 tokenId) external; + + function getApproved(uint256 tokenId) external view returns (address operator); + + function setApprovalForAll(address operator, bool _approved) external; + + function isApprovedForAll(address owner, address operator) external view returns (bool); + + function safeTransferFrom( + address from, + address to, + uint256 tokenId, + bytes calldata data + ) external; +} diff --git a/src/starkware/solidity/tokens/ERC721/IERC721Receiver.sol b/src/starkware/solidity/tokens/ERC721/IERC721Receiver.sol new file mode 100644 index 00000000..d5257333 --- /dev/null +++ b/src/starkware/solidity/tokens/ERC721/IERC721Receiver.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: Apache-2.0. +pragma solidity ^0.6.12; + +interface IERC721Receiver { + function onERC721Received( + address operator, + address from, + uint256 tokenId, + bytes calldata data + ) external returns (bytes4); +} diff --git a/src/starkware/solidity/tokens/IERC165.sol b/src/starkware/solidity/tokens/IERC165.sol new file mode 100644 index 00000000..bca17a13 --- /dev/null +++ b/src/starkware/solidity/tokens/IERC165.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: Apache-2.0. +pragma solidity ^0.6.12; + +/** + Interface of the ERC165 standard, as defined in the + https://eips.ethereum.org/EIPS/eip-165[EIP]. + + +*/ +interface IERC165 { + function supportsInterface(bytes4 interfaceId) external view returns (bool); +} diff --git a/src/starkware/solidity/upgrade/BUILD b/src/starkware/solidity/upgrade/BUILD new file mode 100644 index 00000000..25071964 --- /dev/null +++ b/src/starkware/solidity/upgrade/BUILD @@ -0,0 +1,12 @@ +load("//bazel_utils:solidity.bzl", "sol_library") + +sol_library( + name = "proxy_storage_sol", + srcs = [ + "ProxyStorage.sol", + ], + visibility = ["//visibility:public"], + deps = [ + "//src/starkware/solidity/components:governance_storage_sol", + ], +) diff --git a/src/starkware/solidity/utils.py b/src/starkware/solidity/utils.py index be0dc5ca..1741aecc 100644 --- a/src/starkware/solidity/utils.py +++ b/src/starkware/solidity/utils.py @@ -3,7 +3,7 @@ from pathlib import Path -def load_nearby_contract(name: str) -> dict: +def load_nearby_contract(name: str, no_throw=False) -> dict: """ Loads a contract json from the directory of the caller module. """ @@ -12,7 +12,11 @@ def load_nearby_contract(name: str) -> dict: assert module is not None filename = module.__file__ assert filename is not None - - path = Path(filename).parent / f"{name}.json" - with path.open() as fp: - return json.load(fp) + try: + path = Path(filename).parent / f"{name}.json" + return json.load(path.open()) + except Exception as ex: + if no_throw: + return {} + else: + raise ex diff --git a/src/starkware/starknet/business_logic/execution/BUILD b/src/starkware/starknet/business_logic/execution/BUILD index f27db166..0fbdf4c1 100644 --- a/src/starkware/starknet/business_logic/execution/BUILD +++ b/src/starkware/starknet/business_logic/execution/BUILD @@ -87,6 +87,7 @@ py_library( "//src/starkware/starknet/core/os:starknet_deprecated_syscall_handler_lib", "//src/starkware/starknet/core/os:starknet_os_utils_lib", "//src/starkware/starknet/core/os:starknet_syscall_handler_lib", + "//src/starkware/starknet/core/os:syscall_utils_lib", "//src/starkware/starknet/definitions:starknet_definitions_lib", "//src/starkware/starknet/definitions:starknet_general_config_lib", "//src/starkware/starknet/public:starknet_abi_lib", diff --git a/src/starkware/starknet/business_logic/execution/deprecated_objects.py b/src/starkware/starknet/business_logic/execution/deprecated_objects.py index 81bd1a52..488ead85 100644 --- a/src/starkware/starknet/business_logic/execution/deprecated_objects.py +++ b/src/starkware/starknet/business_logic/execution/deprecated_objects.py @@ -244,9 +244,9 @@ def to_non_deprecated(self) -> TransactionExecutionInfo: fee_transfer_info=fee_transfer_info, actual_fee=self.actual_fee, actual_resources=self.actual_resources, - tx_type=self.tx_type, revert_error=self.revert_error, da_gas=None, + total_gas=None, ) @property diff --git a/src/starkware/starknet/business_logic/execution/execute_entry_point.py b/src/starkware/starknet/business_logic/execution/execute_entry_point.py index abbe7fef..c377a4f8 100644 --- a/src/starkware/starknet/business_logic/execution/execute_entry_point.py +++ b/src/starkware/starknet/business_logic/execution/execute_entry_point.py @@ -616,7 +616,7 @@ def clean_leaks( del runner.vm.validated_memory del runner.vm.accessed_addresses del runner.vm.hint_pc_and_index - del runner.vm.trace + del runner.vm._trace del runner.vm.builtin_runners del runner.vm.run_context.memory del runner.vm.run_context diff --git a/src/starkware/starknet/business_logic/execution/objects.py b/src/starkware/starknet/business_logic/execution/objects.py index fc69e44c..a004a290 100644 --- a/src/starkware/starknet/business_logic/execution/objects.py +++ b/src/starkware/starknet/business_logic/execution/objects.py @@ -4,8 +4,21 @@ import operator from dataclasses import field from enum import Enum, auto -from typing import FrozenSet, Iterable, Iterator, List, Mapping, Optional, Set, Union, cast +from typing import ( + Any, + Dict, + FrozenSet, + Iterable, + Iterator, + List, + Mapping, + Optional, + Set, + Union, + cast, +) +import marshmallow import marshmallow.fields as mfields import marshmallow_dataclass @@ -23,8 +36,7 @@ from starkware.starknet.definitions import constants, fields from starkware.starknet.definitions.error_codes import StarknetErrorCode from starkware.starknet.definitions.execution_mode import ExecutionMode -from starkware.starknet.definitions.transaction_type import TransactionType -from starkware.starknet.public.abi import CONSTRUCTOR_ENTRY_POINT_SELECTOR +from starkware.starknet.public import abi as starknet_abi from starkware.starknet.services.api.contract_class.contract_class import EntryPointType from starkware.starknet.services.api.gateway.deprecated_transaction import ( DEFAULT_DECLARE_SENDER_ADDRESS, @@ -163,8 +175,8 @@ def data(self) -> List[int]: return self.event.data -@dataclasses.dataclass(frozen=True) -class Event(ValidatedDataclass): +@marshmallow_dataclass.dataclass(frozen=True) +class Event(ValidatedMarshmallowDataclass): """ Represents a StarkNet event; contains all the fields that will be included in the block hash. @@ -215,15 +227,15 @@ def payload(self) -> List[int]: return self.message.payload -@dataclasses.dataclass(frozen=True) -class L2ToL1MessageInfo(ValidatedDataclass): +@marshmallow_dataclass.dataclass(frozen=True) +class L2ToL1MessageInfo(ValidatedMarshmallowDataclass): """ Represents a StarkNet L2-to-L1 message. """ from_address: int = field(metadata=fields.L2AddressField.metadata(field_name="from_address")) to_address: int = field( - metadata=everest_fields.EthAddressIntField.metadata(field_name="to_address") + metadata=everest_fields.EthAddressHexField.metadata(field_name="to_address") ) payload: List[int] = field(metadata=fields.felt_as_hex_or_str_list_metadata) @@ -564,7 +576,7 @@ def empty_constructor_call( class_hash=class_hash, call_type=CallType.Call, entry_point_type=EntryPointType.CONSTRUCTOR, - entry_point_selector=CONSTRUCTOR_ENTRY_POINT_SELECTOR, + entry_point_selector=starknet_abi.CONSTRUCTOR_ENTRY_POINT_SELECTOR, ) def get_sorted_events(self) -> List[Event]: @@ -660,14 +672,14 @@ class TransactionExecutionInfo(EverestTransactionExecutionInfo): # Actual resources the transaction is charged for, including L1 gas # and OS additional resources estimation. actual_resources: ResourcesMapping = field(metadata=fields.name_to_resources_metadata) - # Transaction type is used to determine the order of the calls. - tx_type: Optional[TransactionType] - # The reason for the transaction revert, if applicable. revert_error: Optional[str] = field(metadata=fields.revert_error_metadata) # Contains the gas cost of data availability (from version 0.13.1). da_gas: Optional[GasVector] + # Contains the total gas consumed by the transaction. May be None on versions before 0.13.2. + total_gas: Optional[GasVector] + def __post_init__(self): super().__post_init__() if self.is_reverted: @@ -675,6 +687,11 @@ def __post_init__(self): self.execute_call_info is None ), "Reverted transactions only execute validation and fee transfer." + @marshmallow.pre_load + def remove_tx_type(self, data: Dict[str, Any], many: bool, **kwargs) -> Dict[str, Any]: + data.pop("tx_type", None) + return data + @classmethod def create( cls, @@ -683,9 +700,9 @@ def create( fee_transfer_info: Optional[CallInfo], actual_fee: int, actual_resources: ResourcesMapping, - tx_type: Optional[TransactionType], revert_error: Optional[str], da_gas: Optional[GasVector], + total_gas: Optional[GasVector], ) -> "TransactionExecutionInfo": return cls( validate_call_info=validate_info, @@ -693,9 +710,9 @@ def create( fee_transfer_call_info=fee_transfer_info, actual_fee=actual_fee, actual_resources=actual_resources, - tx_type=tx_type, revert_error=revert_error, da_gas=da_gas, + total_gas=total_gas, ) @property @@ -714,9 +731,17 @@ def fee_transfer_info(self) -> Optional[CallInfo]: def is_reverted(self) -> bool: return self.revert_error is not None + @property + def is_deploy_account(self) -> bool: + return ( + self.validate_call_info is not None + and self.validate_call_info.entry_point_selector + == starknet_abi.VALIDATE_DEPLOY_ENTRY_POINT_SELECTOR + ) + @property def non_optional_calls(self) -> Iterable[CallInfo]: - if self.tx_type is TransactionType.DEPLOY_ACCOUNT: + if self.is_deploy_account: # In deploy account tx, validation will take place after execution of the constructor. ordered_optional_calls = ( self.execute_call_info, @@ -744,7 +769,6 @@ def get_visited_storage_entries(self) -> Set[StorageEntry]: def from_call_infos( cls, execute_call_info: Optional[CallInfo], - tx_type: Optional[TransactionType], validate_info: Optional[CallInfo] = None, fee_transfer_info: Optional[CallInfo] = None, revert_error: Optional[str] = None, @@ -755,9 +779,9 @@ def from_call_infos( fee_transfer_info=fee_transfer_info, actual_fee=0, actual_resources={}, - tx_type=tx_type, revert_error=revert_error, da_gas=GasVector.empty(), + total_gas=GasVector.empty(), ) @classmethod @@ -768,9 +792,9 @@ def empty(cls) -> "TransactionExecutionInfo": fee_transfer_info=None, actual_fee=0, actual_resources={}, - tx_type=None, revert_error=None, da_gas=GasVector.empty(), + total_gas=GasVector.empty(), ) @classmethod @@ -779,9 +803,9 @@ def create_concurrent_stage_execution_info( validate_info: Optional[CallInfo], call_info: Optional[CallInfo], actual_resources: ResourcesMapping, - tx_type: TransactionType, revert_error: Optional[str], da_gas: Optional[GasVector] = None, + total_gas: Optional[GasVector] = None, ) -> "TransactionExecutionInfo": """ Returns TransactionExecutionInfo for the concurrent stage (without @@ -793,9 +817,9 @@ def create_concurrent_stage_execution_info( fee_transfer_info=None, actual_fee=0, actual_resources=actual_resources, - tx_type=tx_type, revert_error=revert_error, da_gas=da_gas, + total_gas=total_gas, ) @classmethod @@ -815,9 +839,9 @@ def from_concurrent_stage_execution_info( fee_transfer_info=fee_transfer_info, actual_fee=actual_fee, actual_resources=concurrent_execution_info.actual_resources, - tx_type=concurrent_execution_info.tx_type, revert_error=concurrent_execution_info.revert_error, da_gas=concurrent_execution_info.da_gas, + total_gas=concurrent_execution_info.total_gas, ) def gen_call_iterator(self) -> Iterator[CallInfo]: diff --git a/src/starkware/starknet/business_logic/execution/os_usage.py b/src/starkware/starknet/business_logic/execution/os_usage.py index a02e50ea..ec8a75b4 100644 --- a/src/starkware/starknet/business_logic/execution/os_usage.py +++ b/src/starkware/starknet/business_logic/execution/os_usage.py @@ -21,13 +21,20 @@ class ResourcesParams(ValidatedMarshmallowDataclass): calldata_factor: ExecutionResources +@marshmallow_dataclass.dataclass(frozen=True) +class ResourcesByVersion(ValidatedMarshmallowDataclass): + deprecated_resources: ResourcesParams + resources: ResourcesParams + + @marshmallow_dataclass.dataclass(frozen=True) class OsResources(ValidatedMarshmallowDataclass): # Mapping from every syscall to its execution resources in the OS (e.g., amount of Cairo steps). execute_syscalls: Mapping[str, ExecutionResources] # Mapping from every transaction to its extra execution resources in the OS, # i.e., resources that don't count during the execution itself. - execute_txs_inner: Mapping[TransactionType, ResourcesParams] + execute_txs_inner: Mapping[TransactionType, ResourcesByVersion] + compute_os_kzg_commitment_info: ExecutionResources def into_blockifier_json_object(self) -> Dict[str, Any]: """ @@ -37,7 +44,6 @@ def into_blockifier_json_object(self) -> Dict[str, Any]: """ os_resources_json_object = self.dump() - del os_resources_json_object["execute_txs_inner"][TransactionType.DEPLOY.name] # Convert inner keys to CamelCase. @@ -77,7 +83,12 @@ def get_tx_additional_os_resources( ), ExecutionResources.empty(), ) + if tx_type is TransactionType.DEPLOY: + return os_additional_resources # Calculate the additional resources needed for the OS to run the given transaction; # i.e., the resources of the StarkNet OS function execute_transactions_inner(). - return os_additional_resources + os_resources.execute_txs_inner[tx_type].constant + return ( + os_additional_resources + + os_resources.execute_txs_inner[tx_type].deprecated_resources.constant + ) diff --git a/src/starkware/starknet/business_logic/fact_state/contract_state_objects.py b/src/starkware/starknet/business_logic/fact_state/contract_state_objects.py index 8dc8a3d3..ac8fb54c 100644 --- a/src/starkware/starknet/business_logic/fact_state/contract_state_objects.py +++ b/src/starkware/starknet/business_logic/fact_state/contract_state_objects.py @@ -34,6 +34,7 @@ class ContractState(ValidatedMarshmallowDataclass, LeafFact): nonce: int = field(metadata=fields.non_required_nonce_metadata) UNINITIALIZED_CLASS_HASH: ClassVar[bytes] = bytes(HASH_BYTES) + CONTRACT_STATE_HASH_VERSION: ClassVar[int] = 0 @classmethod async def create( @@ -75,15 +76,13 @@ def _hash(self, hash_func: HashFunctionType) -> bytes: if self.is_empty: return EmptyNodeFact.EMPTY_NODE_HASH - CONTRACT_STATE_HASH_VERSION = 0 - # Set hash_value = H(H(contract_hash, storage_root), RESERVED). hash_value = hash_func(self.contract_hash, self.storage_commitment_tree.root) hash_value = hash_func(hash_value, to_bytes(self.nonce)) # Return H(hash_value, CONTRACT_STATE_HASH_VERSION). CONTRACT_STATE_HASH_VERSION must be in # the outermost hash to guarantee unique "decoding". - return hash_func(hash_value, to_bytes(CONTRACT_STATE_HASH_VERSION)) + return hash_func(hash_value, to_bytes(ContractState.CONTRACT_STATE_HASH_VERSION)) @property def initialized(self) -> bool: @@ -139,6 +138,11 @@ async def update( nonce=nonce, ) + async def fetch_witnesses(self, ffc: FactFetchingContext, updates: Mapping[int, int]): + await self.storage_commitment_tree.fetch_witnesses( + ffc=ffc, sorted_leaf_indices=sorted(updates.keys()), fact_cls=StorageLeaf + ) + @dataclasses.dataclass(frozen=True) class ContractCarriedState(ValidatedDataclass): diff --git a/src/starkware/starknet/business_logic/fact_state/state.py b/src/starkware/starknet/business_logic/fact_state/state.py index e00c5470..ee5c1ca8 100644 --- a/src/starkware/starknet/business_logic/fact_state/state.py +++ b/src/starkware/starknet/business_logic/fact_state/state.py @@ -388,6 +388,46 @@ async def apply_updates( block_info=block_info, ) + async def fetch_witnesses(self, cached_ffc: FactFetchingContext, state_diff: "StateDiff"): + """ + Fetches the necessary witnesses from storage to update the state with the provided diff. + """ + address_to_class_hash = state_diff.address_to_class_hash + address_to_nonce = state_diff.nonces.get(DataAvailabilityMode.L1, {}) + class_hash_to_compiled_class_hash = state_diff.declared_classes + storage_updates = state_diff.storage_updates.get(DataAvailabilityMode.L1, {}) + + accessed_addresses = ( + address_to_class_hash.keys() | address_to_nonce.keys() | storage_updates.keys() + ) + current_contract_states = await self.contract_states.get_leaves( + ffc=cached_ffc, indices=accessed_addresses, fact_cls=ContractState + ) + + await gather_in_chunks( + awaitables=[ + current_contract_states[address].fetch_witnesses(ffc=cached_ffc, updates=updates) + for address, updates in storage_updates.items() + ] + ) + + # Fetch global tree's witnesses. + await self.contract_states.fetch_witnesses( + ffc=cached_ffc, sorted_leaf_indices=sorted(accessed_addresses), fact_cls=ContractState + ) + + # Fetch classes tree's witnesses. + if self.contract_classes is not None: + await self.contract_classes.fetch_witnesses( + ffc=cached_ffc, + sorted_leaf_indices=sorted(class_hash_to_compiled_class_hash.keys()), + fact_cls=ContractClassLeaf, + ) + else: + assert ( + len(class_hash_to_compiled_class_hash) == 0 + ), "contract_classes must be concrete before fetch." + @marshmallow_dataclass.dataclass(frozen=True) class StateDiff(EverestStateDiff, DBObject): diff --git a/src/starkware/starknet/business_logic/state/state_api_objects.py b/src/starkware/starknet/business_logic/state/state_api_objects.py index 0f950f9b..fec9ebea 100644 --- a/src/starkware/starknet/business_logic/state/state_api_objects.py +++ b/src/starkware/starknet/business_logic/state/state_api_objects.py @@ -17,6 +17,7 @@ DEFAULT_USE_KZG_DA, ) from starkware.starkware_utils.error_handling import stark_assert_eq, stark_assert_le +from starkware.starkware_utils.serializable_dataclass import SerializableMarshmallowDataclass from starkware.starkware_utils.validated_dataclass import ValidatedMarshmallowDataclass @@ -57,7 +58,7 @@ def _add_default_data_gas_prices(data: Dict[str, Any]): @marshmallow_dataclass.dataclass(frozen=True) -class ResourcePrice: +class ResourcePrice(SerializableMarshmallowDataclass): price_in_wei: int = field(metadata=fields.gas_price_metadata) price_in_fri: int = field(metadata=fields.gas_price_metadata) @@ -91,7 +92,7 @@ class BlockInfo(ValidatedMarshmallowDataclass): # The sequencer address of this block. sequencer_address: Optional[int] = field(metadata=fields.optional_sequencer_address_metadata) - # The version of Starknet system (e.g., "0.13.1"). + # The version of Starknet system (e.g., "0.13.2"). starknet_version: Optional[str] = field(metadata=fields.starknet_version_metadata) # Indicates whether to use KZG commitment scheme for the block's Data Avilability. diff --git a/src/starkware/starknet/business_logic/transaction/deprecated_objects.py b/src/starkware/starknet/business_logic/transaction/deprecated_objects.py index d754c3e5..1221f03c 100644 --- a/src/starkware/starknet/business_logic/transaction/deprecated_objects.py +++ b/src/starkware/starknet/business_logic/transaction/deprecated_objects.py @@ -403,6 +403,10 @@ class DeprecatedInternalDeclare(DeprecatedInternalAccountTransaction): int ] = starknet_abi.VALIDATE_DECLARE_ENTRY_POINT_SELECTOR + @property + def is_cairo0(self) -> bool: + return self.version < 2 + @property def validate_entrypoint_calldata(self) -> List[int]: # '__validate_declare__' is expected to get one parameter: 'class_hash'. @@ -635,7 +639,6 @@ def _apply_specific_concurrent_changes( validate_info=validate_info, call_info=None, actual_resources=actual_resources, - tx_type=self.tx_type, revert_error=None, ) @@ -828,7 +831,6 @@ def _apply_specific_concurrent_changes( validate_info=validate_info, call_info=constructor_call_info, actual_resources=actual_resources, - tx_type=self.tx_type, revert_error=None, ) @@ -1076,7 +1078,6 @@ def handle_empty_constructor( validate_info=None, call_info=call_info, actual_resources=actual_resources, - tx_type=self.tx_type, revert_error=None, ) @@ -1123,7 +1124,6 @@ def invoke_constructor( validate_info=None, call_info=call_info, actual_resources=actual_resources, - tx_type=self.tx_type, revert_error=None, ) @@ -1356,7 +1356,6 @@ def _apply_specific_concurrent_changes( validate_info=validate_info, call_info=call_info, actual_resources=actual_resources, - tx_type=self.tx_type, revert_error=None, ) @@ -1552,7 +1551,6 @@ def _apply_specific_concurrent_changes( validate_info=None, call_info=call_info, actual_resources=actual_resources, - tx_type=self.tx_type, revert_error=None, ) diff --git a/src/starkware/starknet/business_logic/transaction/fee.py b/src/starkware/starknet/business_logic/transaction/fee.py index 923b07c0..3270d044 100644 --- a/src/starkware/starknet/business_logic/transaction/fee.py +++ b/src/starkware/starknet/business_logic/transaction/fee.py @@ -1,4 +1,3 @@ -import math from typing import Mapping from starkware.starknet.business_logic.execution.deprecated_objects import ExecutionResourcesManager @@ -10,7 +9,7 @@ ) from starkware.starknet.business_logic.state.state_api import SyncState from starkware.starknet.business_logic.utils import extract_l1_gas_and_cairo_usage -from starkware.starknet.definitions.constants import VERSIONED_CONSTANTS, GasCost +from starkware.starknet.definitions.constants import VERSIONED_CONSTANTS, GasCost, ResourceCost from starkware.starknet.definitions.error_codes import StarknetErrorCode from starkware.starknet.definitions.general_config import StarknetGeneralConfig from starkware.starknet.public import abi as starknet_abi @@ -60,9 +59,9 @@ def execute_fee_transfer( def calculate_l1_gas_by_cairo_usage( - cairo_resource_fee_weights: Mapping[str, float], + cairo_resource_fee_weights: Mapping[str, ResourceCost], cairo_resource_usage: ResourcesMapping, -) -> float: +) -> ResourceCost: """ Calculates the L1 gas consumed when submitting the underlying Cairo program to SHARP. I.e., returns the heaviest Cairo resource weight (in terms of L1 gas), as the size of @@ -94,4 +93,4 @@ def calculate_tx_fee(resources: ResourcesMapping, l1_gas_price: int) -> int: cairo_resource_usage=cairo_resource_usage, ) total_l1_gas_usage = l1_gas_usage + l1_gas_by_cairo_usage - return math.ceil(total_l1_gas_usage) * l1_gas_price + return total_l1_gas_usage.ceil() * l1_gas_price diff --git a/src/starkware/starknet/business_logic/transaction/internal_account_transaction.py b/src/starkware/starknet/business_logic/transaction/internal_account_transaction.py index c0cf6076..0565183a 100644 --- a/src/starkware/starknet/business_logic/transaction/internal_account_transaction.py +++ b/src/starkware/starknet/business_logic/transaction/internal_account_transaction.py @@ -137,6 +137,11 @@ class InternalDeclare(InternalAccountTransaction): tx_type: ClassVar[TransactionType] = TransactionType.DECLARE related_external_cls: ClassVar[Type[AccountTransaction]] = Declare + @property + def is_cairo0(self) -> bool: + assert self.version >= 3, f"Unexpected version for Declare: {self.version}." + return False + @classmethod def create( cls, @@ -166,9 +171,9 @@ def create( tip=tip, paymaster_data=paymaster_data, compiled_class_hash=compiled_class_hash, - account_deployment_data=[] - if account_deployment_data is None - else account_deployment_data, + account_deployment_data=( + [] if account_deployment_data is None else account_deployment_data + ), contract_class=contract_class, chain_id=chain_id, ) @@ -188,9 +193,9 @@ def create( compiled_class_hash=compiled_class_hash, sierra_program_size=contract_class.get_bytecode_size(), abi_size=contract_class.get_abi_size(), - account_deployment_data=[] - if account_deployment_data is None - else account_deployment_data, + account_deployment_data=( + [] if account_deployment_data is None else account_deployment_data + ), ) internal_declare.verify_version() return internal_declare @@ -441,9 +446,9 @@ def create( tip=tip, paymaster_data=paymaster_data, calldata=calldata, - account_deployment_data=[] - if account_deployment_data is None - else account_deployment_data, + account_deployment_data=( + [] if account_deployment_data is None else account_deployment_data + ), chain_id=chain_id, ) @@ -459,9 +464,9 @@ def create( tip=tip, paymaster_data=paymaster_data, calldata=calldata, - account_deployment_data=[] - if account_deployment_data is None - else account_deployment_data, + account_deployment_data=( + [] if account_deployment_data is None else account_deployment_data + ), ) internal_invoke.verify_version() return internal_invoke diff --git a/src/starkware/starknet/cli/BUILD b/src/starkware/starknet/cli/BUILD index 11c4c866..0896f19d 100644 --- a/src/starkware/starknet/cli/BUILD +++ b/src/starkware/starknet/cli/BUILD @@ -106,7 +106,8 @@ pytest_test( ], visibility = ["//visibility:public"], deps = [ - "starknet_cli_lib", + ":starknet_cli_lib", "//src/starkware/cairo/lang:cairo_constants_lib", + "//src/starkware/cairo/lang/compiler:cairo_compile_lib", ], ) diff --git a/src/starkware/starknet/cli/reconstruct_starknet_traceback.py b/src/starkware/starknet/cli/reconstruct_starknet_traceback.py index a815b59f..c9468a0d 100644 --- a/src/starkware/starknet/cli/reconstruct_starknet_traceback.py +++ b/src/starkware/starknet/cli/reconstruct_starknet_traceback.py @@ -7,15 +7,18 @@ def reconstruct_starknet_traceback(contracts: Dict[Optional[int], Program], traceback_txt: str): """ - Reconstructs the tracebacks for the given contracts. - 'contracts' is a mapping from contract address (None represents the account contract) to the - compiled program (with debug info). + Reconstructs the traceback for the given contracts. + 'contracts' is a mapping from contract address to the compiled program (with debug info). """ pos = 0 address = None res = "" # Use '\Z' to match the end of the string. - for m in re.finditer(r"Error in the called contract \((0x[0-9a-fA-F]+)\):|\Z", traceback_txt): + for m in re.finditer( + r"Error in .+ \(contract address: (0x[0-9a-fA-F]+), class hash: 0x[0-9a-fA-F]+, " + + r"selector: 0x[0-9a-fA-F]+\):|\Z", + traceback_txt, + ): text = traceback_txt[pos : m.start()] if address in contracts: # If 'address' is specified in the 'contracts' dictionary, reconstruct the traceback. diff --git a/src/starkware/starknet/cli/reconstruct_starknet_traceback_test.py b/src/starkware/starknet/cli/reconstruct_starknet_traceback_test.py index e5a7195e..3ed3bf23 100644 --- a/src/starkware/starknet/cli/reconstruct_starknet_traceback_test.py +++ b/src/starkware/starknet/cli/reconstruct_starknet_traceback_test.py @@ -19,14 +19,13 @@ def test_reconstruct_traceback(): """ traceback_txt = """ +Transaction execution has failed: +Error in the called contract (contract address: 0x1234, class hash: 0x4444, selector: 0xDEAD): Error at pc=0:0: Error message 1 -Error in the called contract (0x1234): +Error in the called contract (contract address: 0x5678, class hash: 0x5555, selector: 0xBEEF): Error at pc=0:0: Error message 2 -Error in the called contract (0x5678): -Error at pc=0:0: -Error message 3 """ program_with_debug_info1 = compile_cairo( @@ -36,42 +35,40 @@ def test_reconstruct_traceback(): code=[(code2, "filename")], prime=DEFAULT_PRIME, debug_info=True ) - # Fix the first contract and 0x5678. + # Fix both 0x1234 and 0x5678. res = reconstruct_starknet_traceback( - contracts={None: program_with_debug_info1, 0x5678: program_with_debug_info2}, + contracts={0x1234: program_with_debug_info1, 0x5678: program_with_debug_info2}, traceback_txt=traceback_txt, ) expected_res = """ +Transaction execution has failed: +Error in the called contract (contract address: 0x1234, class hash: 0x4444, selector: 0xDEAD): filename:3:16: Error at pc=0:0: assert 1 = 2; ^ Error message 1 -Error in the called contract (0x1234): -Error at pc=0:0: -Error message 2 -Error in the called contract (0x5678): +Error in the called contract (contract address: 0x5678, class hash: 0x5555, selector: 0xBEEF): filename:3:16: Error at pc=0:0: assert 2 = 3; ^ -Error message 3 +Error message 2 """ assert res == expected_res - # Fix 0x1234. + # Fix only 0x1234. res = reconstruct_starknet_traceback( contracts={0x1234: program_with_debug_info1}, traceback_txt=traceback_txt, ) expected_res = """ -Error at pc=0:0: -Error message 1 -Error in the called contract (0x1234): +Transaction execution has failed: +Error in the called contract (contract address: 0x1234, class hash: 0x4444, selector: 0xDEAD): filename:3:16: Error at pc=0:0: assert 1 = 2; ^ -Error message 2 -Error in the called contract (0x5678): +Error message 1 +Error in the called contract (contract address: 0x5678, class hash: 0x5555, selector: 0xBEEF): Error at pc=0:0: -Error message 3 +Error message 2 """ assert res == expected_res diff --git a/src/starkware/starknet/common/new_syscalls.cairo b/src/starkware/starknet/common/new_syscalls.cairo index be96c950..9fbb4c09 100644 --- a/src/starkware/starknet/common/new_syscalls.cairo +++ b/src/starkware/starknet/common/new_syscalls.cairo @@ -19,6 +19,7 @@ const SECP256R1_GET_XY_SELECTOR = 'Secp256r1GetXy'; const SECP256R1_MUL_SELECTOR = 'Secp256r1Mul'; const SECP256R1_NEW_SELECTOR = 'Secp256r1New'; const KECCAK_SELECTOR = 'Keccak'; +const SHA256_PROCESS_BLOCK_SELECTOR = 'Sha256ProcessBlock'; const LIBRARY_CALL_SELECTOR = 'LibraryCall'; const REPLACE_CLASS_SELECTOR = 'ReplaceClass'; const SEND_MESSAGE_TO_L1_SELECTOR = 'SendMessageToL1'; @@ -167,6 +168,11 @@ struct KeccakRequest { input_end: felt*, } +struct Sha256ProcessBlockRequest { + state_ptr: felt*, + input_start: felt*, +} + struct SecpAddRequest { p0: EcPoint*, p1: EcPoint*, @@ -255,6 +261,10 @@ struct KeccakResponse { result_high: felt, } +struct Sha256ProcessBlockResponse { + state_ptr: felt*, +} + struct SecpGetXyResponse { // The x and y coordinates of the given point. Returns (0, 0) for the point at infinity. x: Uint256, diff --git a/src/starkware/starknet/compiler/v1/mainnet_libfuncs.json b/src/starkware/starknet/compiler/v1/mainnet_libfuncs.json index 699214e7..cfe1fbfa 100644 --- a/src/starkware/starknet/compiler/v1/mainnet_libfuncs.json +++ b/src/starkware/starknet/compiler/v1/mainnet_libfuncs.json @@ -1,13 +1,16 @@ { "allowed_libfuncs": [ + "add_circuit_input", "alloc_local", "array_append", "array_get", "array_len", "array_new", - "array_pop_front_consume", "array_pop_front", + "array_pop_front_consume", "array_slice", + "array_snapshot_multi_pop_back", + "array_snapshot_multi_pop_front", "array_snapshot_pop_back", "array_snapshot_pop_front", "bitwise", @@ -16,6 +19,13 @@ "bool_or_impl", "bool_to_felt252", "bool_xor_impl", + "bounded_int_add", + "bounded_int_constrain", + "bounded_int_div_rem", + "bounded_int_is_zero", + "bounded_int_mul", + "bounded_int_sub", + "bounded_int_wrap_non_zero", "box_forward_snapshot", "branch_align", "bytes31_const", @@ -25,6 +35,7 @@ "class_hash_const", "class_hash_to_felt252", "class_hash_try_from_felt252", + "circuit_failure_guarantee_verify", "const_as_box", "const_as_immediate", "contract_address_const", @@ -44,8 +55,8 @@ "ec_point_try_new_nz", "ec_point_unwrap", "ec_point_zero", - "ec_state_add_mul", "ec_state_add", + "ec_state_add_mul", "ec_state_init", "ec_state_try_finalize_nz", "emit_event_syscall", @@ -54,6 +65,7 @@ "enum_from_bounded_int", "enum_match", "enum_snapshot_match", + "eval_circuit", "felt252_add", "felt252_const", "felt252_dict_entry_finalize", @@ -68,6 +80,8 @@ "function_call", "get_block_hash_syscall", "get_builtin_costs", + "get_circuit_descriptor", + "get_circuit_output", "get_execution_info_syscall", "get_execution_info_v2_syscall", "hades_permutation", @@ -115,9 +129,14 @@ "i8_to_felt252", "i8_try_from_felt252", "i8_wide_mul", + "init_circuit_data", "into_box", + "into_u96_guarantee", "jump", "keccak_syscall", + "sha256_state_handle_init", + "sha256_state_handle_digest", + "sha256_process_block_syscall", "library_call_syscall", "match_nullable", "null", @@ -140,8 +159,8 @@ "send_message_to_l1_syscall", "snapshot_take", "span_from_tuple", - "storage_address_from_base_and_offset", "storage_address_from_base", + "storage_address_from_base_and_offset", "storage_address_to_felt252", "storage_address_try_from_felt252", "storage_base_address_const", @@ -153,6 +172,8 @@ "struct_construct", "struct_deconstruct", "struct_snapshot_deconstruct", + "tuple_from_span", + "try_into_circuit_modulus", "u128_byte_reverse", "u128_const", "u128_eq", @@ -214,10 +235,13 @@ "u8_to_felt252", "u8_try_from_felt252", "u8_wide_mul", + "u96_guarantee_verify", + "u96_limbs_less_than_guarantee_verify", + "u96_single_limb_less_than_guarantee_verify", "unbox", "unwrap_non_zero", "upcast", - "withdraw_gas_all", - "withdraw_gas" + "withdraw_gas", + "withdraw_gas_all" ] } diff --git a/src/starkware/starknet/compiler/v1/testnet_libfuncs.json b/src/starkware/starknet/compiler/v1/testnet_libfuncs.json index 699214e7..cfe1fbfa 100644 --- a/src/starkware/starknet/compiler/v1/testnet_libfuncs.json +++ b/src/starkware/starknet/compiler/v1/testnet_libfuncs.json @@ -1,13 +1,16 @@ { "allowed_libfuncs": [ + "add_circuit_input", "alloc_local", "array_append", "array_get", "array_len", "array_new", - "array_pop_front_consume", "array_pop_front", + "array_pop_front_consume", "array_slice", + "array_snapshot_multi_pop_back", + "array_snapshot_multi_pop_front", "array_snapshot_pop_back", "array_snapshot_pop_front", "bitwise", @@ -16,6 +19,13 @@ "bool_or_impl", "bool_to_felt252", "bool_xor_impl", + "bounded_int_add", + "bounded_int_constrain", + "bounded_int_div_rem", + "bounded_int_is_zero", + "bounded_int_mul", + "bounded_int_sub", + "bounded_int_wrap_non_zero", "box_forward_snapshot", "branch_align", "bytes31_const", @@ -25,6 +35,7 @@ "class_hash_const", "class_hash_to_felt252", "class_hash_try_from_felt252", + "circuit_failure_guarantee_verify", "const_as_box", "const_as_immediate", "contract_address_const", @@ -44,8 +55,8 @@ "ec_point_try_new_nz", "ec_point_unwrap", "ec_point_zero", - "ec_state_add_mul", "ec_state_add", + "ec_state_add_mul", "ec_state_init", "ec_state_try_finalize_nz", "emit_event_syscall", @@ -54,6 +65,7 @@ "enum_from_bounded_int", "enum_match", "enum_snapshot_match", + "eval_circuit", "felt252_add", "felt252_const", "felt252_dict_entry_finalize", @@ -68,6 +80,8 @@ "function_call", "get_block_hash_syscall", "get_builtin_costs", + "get_circuit_descriptor", + "get_circuit_output", "get_execution_info_syscall", "get_execution_info_v2_syscall", "hades_permutation", @@ -115,9 +129,14 @@ "i8_to_felt252", "i8_try_from_felt252", "i8_wide_mul", + "init_circuit_data", "into_box", + "into_u96_guarantee", "jump", "keccak_syscall", + "sha256_state_handle_init", + "sha256_state_handle_digest", + "sha256_process_block_syscall", "library_call_syscall", "match_nullable", "null", @@ -140,8 +159,8 @@ "send_message_to_l1_syscall", "snapshot_take", "span_from_tuple", - "storage_address_from_base_and_offset", "storage_address_from_base", + "storage_address_from_base_and_offset", "storage_address_to_felt252", "storage_address_try_from_felt252", "storage_base_address_const", @@ -153,6 +172,8 @@ "struct_construct", "struct_deconstruct", "struct_snapshot_deconstruct", + "tuple_from_span", + "try_into_circuit_modulus", "u128_byte_reverse", "u128_const", "u128_eq", @@ -214,10 +235,13 @@ "u8_to_felt252", "u8_try_from_felt252", "u8_wide_mul", + "u96_guarantee_verify", + "u96_limbs_less_than_guarantee_verify", + "u96_single_limb_less_than_guarantee_verify", "unbox", "unwrap_non_zero", "upcast", - "withdraw_gas_all", - "withdraw_gas" + "withdraw_gas", + "withdraw_gas_all" ] } diff --git a/src/starkware/starknet/core/aggregator/BUILD b/src/starkware/starknet/core/aggregator/BUILD index 96836a33..b1adf299 100644 --- a/src/starkware/starknet/core/aggregator/BUILD +++ b/src/starkware/starknet/core/aggregator/BUILD @@ -1,9 +1,39 @@ +load("//bazel_utils/python:defs.bzl", "requirement") +load("//src/starkware/cairo/lang:cairo_rules.bzl", "cairo_binary") load("//bazel_utils:python.bzl", "pytest_test") +package(default_visibility = ["//visibility:public"]) + py_library( name = "cairo_aggregator_lib", srcs = [ "output_parser.py", + "utils.py", + ], + deps = [ + "//src/starkware/cairo/lang/vm:cairo_relocatable_lib", + "//src/starkware/cairo/lang/vm:cairo_vm_lib", + "//src/starkware/python:starkware_python_utils_lib", + "//src/starkware/starknet/core/os:kzg_manager_lib", + "//src/starkware/starknet/definitions:starknet_definitions_lib", + ], +) + +cairo_binary( + name = "aggregator", + srcs = [ + "combine_blocks.cairo", + "main.cairo", + ], + cairoopts = [ + "--debug_info_with_source", + ], + compiled_program_name = "aggregator.json", + main = "main.cairo", + deps = [ + "//src/starkware/starknet/core/os:output", + "//src/starkware/starknet/core/os/data_availability:bls_field", + "//src/starkware/starknet/core/os/state:starknet_os_state_lib", ], ) @@ -12,8 +42,46 @@ pytest_test( srcs = [ "aggregator_test.py", ], - visibility = ["//visibility:public"], + data = [ + ":aggregator.json", + "//src/starkware/starknet/core/os/data_availability:bls_field", + ], deps = [ ":cairo_aggregator_lib", + "//src/starkware/cairo/bootloaders:cairo_bootloader_fact_topology_lib", + "//src/starkware/cairo/bootloaders:cairo_bootloader_generate_fact_lib", + "//src/starkware/cairo/common:cairo_common_validate_utils_lib", + "//src/starkware/cairo/common:cairo_function_runner_lib", + "//src/starkware/cairo/common:poseidon_utils_lib", + "//src/starkware/cairo/lang/compiler:cairo_compile_lib", + "//src/starkware/cairo/lang/vm:cairo_vm_lib", + "//src/starkware/python:starkware_python_test_utils_lib", + ], +) + +py_library( + name = "aggregate_program_lib", + srcs = [ + "aggregator_program.py", + ], + data = [ + "program_hash.json", + ], + deps = [requirement("cachetools")], +) + +pytest_test( + name = "aggregator_program_hash_test", + srcs = [ + "program_hash_test.py", + ], + data = [ + "program_hash.json", + ":aggregator", + ], + deps = [ + "//src/starkware/cairo/bootloaders:aggregator_utils", + "//src/starkware/cairo/bootloaders:program_hash_test_utils_lib", + "//src/starkware/python:starkware_python_utils_lib", ], ) diff --git a/src/starkware/starknet/core/aggregator/aggregator_program.py b/src/starkware/starknet/core/aggregator/aggregator_program.py new file mode 100644 index 00000000..9fce8f33 --- /dev/null +++ b/src/starkware/starknet/core/aggregator/aggregator_program.py @@ -0,0 +1,11 @@ +import json +import os + +import cachetools + +PROGRAM_PATH = os.path.join(os.path.dirname(__file__), "program_hash.json") + + +@cachetools.cached(cache={}) +def get_aggregator_program_hash_with_prefix() -> int: + return int(json.load(open(PROGRAM_PATH, "rb"))["program_hash_with_aggregator_prefix"], 16) diff --git a/src/starkware/starknet/core/aggregator/aggregator_test.py b/src/starkware/starknet/core/aggregator/aggregator_test.py index cea9e446..919420f3 100644 --- a/src/starkware/starknet/core/aggregator/aggregator_test.py +++ b/src/starkware/starknet/core/aggregator/aggregator_test.py @@ -1,8 +1,27 @@ +import os +from enum import Enum, auto +from typing import List, Optional, Tuple + +import pytest + +from starkware.cairo.bootloaders.fact_topology import ( + FactTopology, + get_fact_topology_from_additional_data, +) +from starkware.cairo.bootloaders.generate_fact import get_aggregator_input_size +from starkware.cairo.common.cairo_function_runner import CairoFunctionRunner +from starkware.cairo.common.poseidon_hash import poseidon_hash, poseidon_hash_many +from starkware.cairo.common.validate_utils import validate_builtin_usage +from starkware.cairo.lang.compiler.program import Program +from starkware.cairo.lang.vm.vm_exceptions import VmException +from starkware.python.test_utils import maybe_raises from starkware.starknet.core.aggregator.output_parser import ( ContractChanges, OsOutput, + TaskOutput, parse_bootloader_output, ) +from starkware.starknet.core.aggregator.utils import OsOutputToCairo # Dummy values for the test. OS_PROGRAM_HASH = 0x7E0B89C77D0003C05511B9F0E1416F1328C2132E41E056B2EF3BC950135360F @@ -13,18 +32,37 @@ ROOT1 = 0x3BCBB6FD22F39E772ACE7F905AC64FBF6D7139CAC2C44189D59B37618BB62D0 ROOT2 = 0x269DDFB6E729A030E3513A7E8208D68BE9AB97852681FB531E7FC69FAC2852A -CONTRACT_ADDR0 = 0x42593E24F58291B1D7E4FD081AE6DD88D0B198E23C3F722E7E5A7A4C7BCD3D5 -CLASS_HASH = 0x178286A1179F01D8A55F34B8CC651C7DD7B298B222A392197E703C3F8E161DE -STORAGE_KEY0 = 0xB6CE5410FCA59D078EE9B2A4371A9D684C530D697C64FBEF0AE6D5E8F0AC72 +CONTRACT_ADDR0 = 0x2E9D5D85CEA6989999E86023CAD0B578825667C4DB413F3DAC8B4569A209F01 +CONTRACT_ADDR1 = 0x3BBF5259540526B676273C9BE35F79DA62B07F0EDD0FD3E80F8BD1CE9F4A460 +CONTRACT_ADDR2 = 0x42593E24F58291B1D7E4FD081AE6DD88D0B198E23C3F722E7E5A7A4C7BCD3D5 +CLASS_HASH0_0 = 0x178286A1179F01D8A55F34B8CC651C7DD7B298B222A392197E703C3F8E161DE +CLASS_HASH0_1 = 0x39AB5549FE5E57DA8C8581AE51A0E42D9A15296BFF9BD3D7513A769CF20F7E3 +CLASS_HASH1_0 = 0x55791A41352DE2EDC137AF1A2C68B9037267538FCA5119749E76430023CB01A +CLASS_HASH1_1 = 0x3676FAA37D4816933AC54BD1D90E230DB0BBB43F108CDF51555584D69A43A82 +CLASS_HASH2_0 = 0x6D2819C30302763858FEC692B69ED9C9B51C4B0973F8EF8B947FF08F3D671BD +STORAGE_KEY0 = 0x0B6CE5410FCA59D078EE9B2A4371A9D684C530D697C64FBEF0AE6D5E8F0AC72 STORAGE_KEY1 = 0x110E2F729C9C2B988559994A3DACCD838CF52FAF88E18101373E67DD061455A STORAGE_KEY2 = 0x1390569BB0A3A722EB4228E8700301347DA081211D5C2DED2DB22EF389551AB -STORAGE_KEY3 = 0x124A17A64F318C191BAB4FEEEDA0A65B420FF92861FFB021759F05A2598ABF +STORAGE_KEY3 = 0x1024A17A64F318C191BAB4FEEEDA0A65B420FF92861FFB021759F05A2598ABF +STORAGE_KEY4 = 0x7C53010B8E69908E662971B823582B951E5B8E85A557C4BD3B0666428C3E520 -STORAGE_VALUE0_0 = 0x15A44BFBB65C4961F54BC84CADBFC542AA8529E293E9FD7D45E3008DD75F376 -STORAGE_VALUE0_1 = 0x31F90D664D5604B8B38C9C442B005B7E41BDA662E6E15A7364220D633153F35 -STORAGE_VALUE1_0 = 0x2456E7A60B3AB8B28E9AB0D9FBF0D437CCDDC9776664AF33FFD6506FC1AB8E1 -STORAGE_VALUE2_0 = 0x20E9DCD4DDB159970BD2D51075C8CC823E68BB04777FABB65879E0EA455AEE1 -STORAGE_VALUE3_1 = 0x3C87090C322CC7E56F05DA6AEE18B28F8DD98A787F5280BD9469B00E08AFC43 +STORAGE_VALUE0_0 = 0x346C2C2E73F8E0D5C1F3C9E2DB1CCA9B2315AD0857C4F26B076554BA4095558 +STORAGE_VALUE0_1 = 0x15A44BFBB65C4961F54BC84CADBFC542AA8529E293E9FD7D45E3008DD75F376 +STORAGE_VALUE0_2 = 0x31F90D664D5604B8B38C9C442B005B7E41BDA662E6E15A7364220D633153F35 +STORAGE_VALUE1_0 = 0x141BF4A595FFC14E970EA6BE186A9462E20DCFBD7782E03AAEF08E9539B82D1 +STORAGE_VALUE1_1 = 0x2456E7A60B3AB8B28E9AB0D9FBF0D437CCDDC9776664AF33FFD6506FC1AB8E1 +STORAGE_VALUE2_0 = 0x0 +STORAGE_VALUE2_1 = 0x20E9DCD4DDB159970BD2D51075C8CC823E68BB04777FABB65879E0EA455AEE1 +STORAGE_VALUE3_0 = 0x246444B2DD74265D4273FF3E41356D82B9E9A40212AE11A33C6A5EEDD2963A4 +STORAGE_VALUE3_2 = 0x3C87090C322CC7E56F05DA6AEE18B28F8DD98A787F5280BD9469B00E08AFC43 +STORAGE_VALUE4_0 = 0x34F56302DB42AD3B7BEC08E6CB3F786684A20143BD623419F23FDCFD29FC1D1 +STORAGE_VALUE4_2 = 0x6159FC48B5236D772E81DDB785BB9FC60D97308AFFB21FEFAD8E90DDF280BC2 + +COMPILED_CLASS_HASH0_0 = 0x2E2D36CD2DEFEC6CF7E095CB3186F8C5025233DC7A12B26A9EBEDBC1ACC15FD +COMPILED_CLASS_HASH0_1 = 0x1B934F1068AF398C685BF2D5A9083F7817485F2356DDF6CECF25C8085DADA96 +COMPILED_CLASS_HASH0_2 = 0x207385E0C41F9BF8E0616781859A6D203CEC08B4C0CBB7087C3D8FBE8BBCC2F +COMPILED_CLASS_HASH1_0 = 0x171ADCCA37ECFD43E362AA7F5EBF94AD81A38043B946D5BEDAFAB4021567B61 +COMPILED_CLASS_HASH1_1 = 0x5074A78E83098D3EC8B08A2965B1C98681AF16DF9DA04A8015DBD8BAFA8C939 MSG_TO_L1_0 = [ 0x3F9A3CD755E1C8D50080AE5C76CACB1C6CACDCDF1C467C9F0A0ABDB684A6E3D, @@ -33,6 +71,12 @@ 12, 34, ] +MSG_TO_L1_1 = [ + 0x3F9A3CD755E1C8D50080AE5C76CACB1C6CACDCDF1C467C9F0A0ABDB684A6E3D, + 0x3795FD47F065CF5541F0EA7D9702450F09898EF7, + 0, +] + MSG_TO_L2_0 = [ 0x3795FD47F065CF5541F0EA7D9702450F09898EF7, 0x3F9A3CD755E1C8D50080AE5C76CACB1C6CACDCDF1C467C9F0A0ABDB684A6E3D, @@ -41,131 +85,591 @@ 1, 0x1234, ] - -BLOCK0_OUTPUT = [ - # initial_root. - ROOT0, - # final_root. - ROOT1, - # block_number. - 1, - # block_hash. - BLOCK0_HASH, - OS_CONFIG_HASH, - # use_kzg_da. - 0, - # Messages to L1. - len(MSG_TO_L1_0), - *MSG_TO_L1_0, - # Messages to L2. - len(MSG_TO_L2_0), - *MSG_TO_L2_0, - # Number of contracts. - 1, - # Contract addr. - CONTRACT_ADDR0, - # 3 updates, nonce=1, class updated. - 3 + 1 * 2**64 + 1 * 2**128, - # Class hash. - CLASS_HASH, - # Storage updates. - STORAGE_KEY0, - STORAGE_VALUE0_0, - STORAGE_KEY1, - STORAGE_VALUE1_0, - STORAGE_KEY2, - STORAGE_VALUE2_0, - # Number of classes. +MSG_TO_L2_1 = [ + 0x3795FD47F065CF5541F0EA7D9702450F09898EF7, + 0x3F9A3CD755E1C8D50080AE5C76CACB1C6CACDCDF1C467C9F0A0ABDB684A6E3D, 0, + 0x4321, ] -BLOCK1_OUTPUT = [ - # initial_root. - ROOT1, - # final_root. - ROOT2, - # block_number. - 2, - # block_hash. - BLOCK1_HASH, - OS_CONFIG_HASH, - # use_kzg_da. - 0, - # Messages to L1. - 0, - # Messages to L2. - 0, - # Number of contracts. - 1, - # Contract addr. - CONTRACT_ADDR0, - # 2 updates, nonce=2, no class update. - 2 + 2 * 2**64 + 0 * 2**128, - STORAGE_KEY0, - STORAGE_VALUE0_1, - STORAGE_KEY3, - STORAGE_VALUE3_1, - # Number of classes. - 0, -] +MOCK_COMMITMENT = 0x1234, 0x5678 -BOOTLOADER_OUTPUT = [ - # Number of blocks. - 2, - len(BLOCK0_OUTPUT) + 2, - OS_PROGRAM_HASH, - *BLOCK0_OUTPUT, - len(BLOCK1_OUTPUT) + 2, - OS_PROGRAM_HASH, - *BLOCK1_OUTPUT, -] +AGGREGATOR_COMPILED_PATH = os.path.join(os.path.dirname(__file__), "aggregator.json") + + +@pytest.fixture(scope="session") +def aggregator_program() -> Program: + return Program.loads(data=open(AGGREGATOR_COMPILED_PATH).read()) + + +def contract_header_packed_word( + n_updates: int, prev_nonce: int, new_nonce: int, class_updated: int, full_output: bool +) -> int: + """ + Returns the second word of the contract header. + """ + if full_output: + return n_updates + prev_nonce * 2**64 + new_nonce * 2**128 + class_updated * 2**192 + else: + return n_updates + new_nonce * 2**64 + class_updated * 2**128 + + +class FailureModifier(Enum): + NONE = 0 + ROOT = auto() + BLOCK_HASH = auto() + BLOCK_NUMBER = auto() + PROGRAM_HASH = auto() + OS_CONFIG_HASH = auto() + STORAGE_VALUE = auto() + COMPILED_CLASS_HASH = auto() + + +def block0_output(full_output: bool): + res = [ + # initial_root. + ROOT0, + # final_root. + ROOT1, + # Previous block number. + 0, + # New block_number. + 1, + # Previous block hash. + 0, + # New block hash. + BLOCK0_HASH, + # OS program hash. + 0, + OS_CONFIG_HASH, + # use_kzg_da. + 0, + # full_output. + 1 if full_output else 0, + # Messages to L1. + len(MSG_TO_L1_0), + *MSG_TO_L1_0, + # Messages to L2. + len(MSG_TO_L2_0), + *MSG_TO_L2_0, + # Number of contracts. + 2, + # Contract addr. + CONTRACT_ADDR0, + contract_header_packed_word( + n_updates=3, prev_nonce=0, new_nonce=1, class_updated=1, full_output=full_output + ), + # Class hash. + CLASS_HASH0_0 if full_output else None, + CLASS_HASH0_1, + # Storage updates. + STORAGE_KEY0, + STORAGE_VALUE0_0 if full_output else None, + STORAGE_VALUE0_1, + STORAGE_KEY1, + STORAGE_VALUE1_0 if full_output else None, + STORAGE_VALUE1_1, + STORAGE_KEY2, + STORAGE_VALUE2_0 if full_output else None, + STORAGE_VALUE2_1, + # Contract whose block0 changes are fully reverted by block1. + # Contract addr. + CONTRACT_ADDR1, + contract_header_packed_word( + n_updates=1, prev_nonce=10, new_nonce=10, class_updated=1, full_output=full_output + ), + # Class hash. + CLASS_HASH1_0 if full_output else None, + CLASS_HASH1_1, + # Storage updates. + STORAGE_KEY0, + STORAGE_VALUE0_0 if full_output else None, + STORAGE_VALUE0_1, + # Number of classes. + 2, + # Class updates. + CLASS_HASH0_0, + COMPILED_CLASS_HASH0_0 if full_output else None, + COMPILED_CLASS_HASH0_1, + CLASS_HASH1_0, + COMPILED_CLASS_HASH1_0 if full_output else None, + COMPILED_CLASS_HASH1_1, + ] + return [x for x in res if x is not None] + + +def block1_output(full_output: bool, modifier: FailureModifier = FailureModifier.NONE): + maybe_wrong = lambda x, modifier0: x + (10 if modifier == modifier0 else 0) + res = [ + # initial_root. + maybe_wrong(ROOT1, FailureModifier.ROOT), + # final_root. + ROOT2, + # Previous block number. + maybe_wrong(1, FailureModifier.BLOCK_NUMBER), + # New block_number. + 2, + # Previous block hash. + maybe_wrong(BLOCK0_HASH, FailureModifier.BLOCK_HASH), + # New block hash. + BLOCK1_HASH, + # OS program hash. + maybe_wrong(0, FailureModifier.PROGRAM_HASH), + maybe_wrong(OS_CONFIG_HASH, FailureModifier.OS_CONFIG_HASH), + # use_kzg_da. + 0, + # full_output. + 1 if full_output else 0, + # Messages to L1. + len(MSG_TO_L1_1), + *MSG_TO_L1_1, + # Messages to L2. + len(MSG_TO_L2_1), + *MSG_TO_L2_1, + # Number of contracts. + 3, + # Contract addr. + CONTRACT_ADDR0, + contract_header_packed_word( + n_updates=2, prev_nonce=1, new_nonce=2, class_updated=0, full_output=full_output + ), + # Class hash. + CLASS_HASH0_1 if full_output else None, + CLASS_HASH0_1 if full_output else None, + # Storage updates. + STORAGE_KEY0, + maybe_wrong(STORAGE_VALUE0_1, FailureModifier.STORAGE_VALUE) if full_output else None, + STORAGE_VALUE0_2, + STORAGE_KEY3, + STORAGE_VALUE3_0 if full_output else None, + STORAGE_VALUE3_2, + # Contract whose block0 changes are fully reverted by block1. + # Contract addr. + CONTRACT_ADDR1, + contract_header_packed_word( + n_updates=1, prev_nonce=10, new_nonce=10, class_updated=1, full_output=full_output + ), + # Class hash. + CLASS_HASH1_1 if full_output else None, + CLASS_HASH1_0, + # Storage updates. + STORAGE_KEY0, + STORAGE_VALUE0_1 if full_output else None, + STORAGE_VALUE0_0, + # Contract that only appears in this block (block1). + # Contract addr. + CONTRACT_ADDR2, + contract_header_packed_word( + n_updates=1, prev_nonce=7, new_nonce=8, class_updated=0, full_output=full_output + ), + # Class hash. + CLASS_HASH2_0 if full_output else None, + CLASS_HASH2_0 if full_output else None, + # Storage updates. + STORAGE_KEY4, + STORAGE_VALUE4_0 if full_output else None, + STORAGE_VALUE4_2, + # Number of classes. + 1, + CLASS_HASH0_0, + ( + maybe_wrong(COMPILED_CLASS_HASH0_1, FailureModifier.COMPILED_CLASS_HASH) + if full_output + else None + ), + COMPILED_CLASS_HASH0_2, + ] + return [x for x in res if x is not None] + + +def combined_output(full_output: bool, use_kzg_da: bool = False): + da = combined_output_da(full_output=full_output) + res = [ + # initial_root. + ROOT0, + # final_root. + ROOT2, + # Previous block number. + 0, + # New block_number. + 2, + # Previous block hash. + 0, + # New block hash. + BLOCK1_HASH, + OS_PROGRAM_HASH, + OS_CONFIG_HASH, + # use_kzg_da. + 1 if use_kzg_da else 0, + # full_output. + 1 if full_output else 0, + # KZG info. + *(combined_kzg_info(da) if use_kzg_da else []), + # Messages to L1. + len(MSG_TO_L1_0) + len(MSG_TO_L1_1), + *MSG_TO_L1_0, + *MSG_TO_L1_1, + # Messages to L2. + len(MSG_TO_L2_0) + len(MSG_TO_L2_1), + *MSG_TO_L2_0, + *MSG_TO_L2_1, + *([] if use_kzg_da else da), + ] + return [x for x in res if x is not None] + + +def combined_output_da(full_output: bool): + res = [ + # Number of contracts. + 3 if full_output else 2, + # Contract addr. + CONTRACT_ADDR0, + contract_header_packed_word( + n_updates=4, prev_nonce=0, new_nonce=2, class_updated=1, full_output=full_output + ), + # Class hash. + CLASS_HASH0_0 if full_output else None, + CLASS_HASH0_1, + # Storage updates. + STORAGE_KEY0, + STORAGE_VALUE0_0 if full_output else None, + STORAGE_VALUE0_2, + STORAGE_KEY3, + STORAGE_VALUE3_0 if full_output else None, + STORAGE_VALUE3_2, + STORAGE_KEY1, + STORAGE_VALUE1_0 if full_output else None, + STORAGE_VALUE1_1, + STORAGE_KEY2, + STORAGE_VALUE2_0 if full_output else None, + STORAGE_VALUE2_1, + # Contract addr. + CONTRACT_ADDR1 if full_output else None, + ( + contract_header_packed_word( + n_updates=0, prev_nonce=10, new_nonce=10, class_updated=0, full_output=full_output + ) + if full_output + else None + ), + # Class hash. + CLASS_HASH1_0 if full_output else None, + CLASS_HASH1_0 if full_output else None, + # Contract addr. + CONTRACT_ADDR2, + contract_header_packed_word( + n_updates=1, prev_nonce=7, new_nonce=8, class_updated=0, full_output=full_output + ), + # Class hash. + CLASS_HASH2_0 if full_output else None, + CLASS_HASH2_0 if full_output else None, + # Storage updates. + STORAGE_KEY4, + STORAGE_VALUE4_0 if full_output else None, + STORAGE_VALUE4_2, + # Number of classes. + 2, + # Class updates. + CLASS_HASH0_0, + COMPILED_CLASS_HASH0_0 if full_output else None, + COMPILED_CLASS_HASH0_2, + CLASS_HASH1_0, + COMPILED_CLASS_HASH1_0 if full_output else None, + COMPILED_CLASS_HASH1_1, + ] + return [x for x in res if x is not None] + + +def combined_kzg_info(da: List[int]) -> List[int]: + n_blobs = 1 + z = poseidon_hash(poseidon_hash_many(da), poseidon_hash_many(MOCK_COMMITMENT)) + BLS_PRIME = 52435875175126190479447740508185965837690552500527637822603658699938581184513 + evaluation = sum(pow(z, i, BLS_PRIME) * x for i, x in enumerate(da)) % BLS_PRIME + evaluation_high, evaluation_low = divmod(evaluation, 2**128) + + return [z, n_blobs, *MOCK_COMMITMENT, evaluation_low, evaluation_high] -def test_output_parser(): - assert parse_bootloader_output(output=BOOTLOADER_OUTPUT) == [ - OsOutput( - initial_root=ROOT0, - final_root=ROOT1, - block_number=1, - block_hash=BLOCK0_HASH, - starknet_os_config_hash=OS_CONFIG_HASH, - use_kzg_da=0, - messages_to_l1=MSG_TO_L1_0, - messages_to_l2=MSG_TO_L2_0, - contracts=[ - ContractChanges( - addr=CONTRACT_ADDR0, - nonce=1, - class_hash=CLASS_HASH, - storage_changes={ - STORAGE_KEY0: STORAGE_VALUE0_0, - STORAGE_KEY1: STORAGE_VALUE1_0, - STORAGE_KEY2: STORAGE_VALUE2_0, - }, - ) - ], - classes={}, +def bootloader_output(full_output: bool, modifier: FailureModifier = FailureModifier.NONE): + block0 = block0_output(full_output=full_output) + block1 = block1_output(full_output=full_output, modifier=modifier) + return [ + # Number of blocks. + 2, + len(block0) + 2, + OS_PROGRAM_HASH, + *block0, + len(block1) + 2, + OS_PROGRAM_HASH, + *block1, + ] + + +@pytest.mark.parametrize("full_output", [False, True]) +def test_output_parser(full_output: bool): + assert parse_bootloader_output(output=bootloader_output(full_output=full_output)) == [ + TaskOutput( + program_hash=OS_PROGRAM_HASH, + os_output=OsOutput( + initial_root=ROOT0, + final_root=ROOT1, + prev_block_number=0, + new_block_number=1, + prev_block_hash=0, + new_block_hash=BLOCK0_HASH, + os_program_hash=0, + starknet_os_config_hash=OS_CONFIG_HASH, + use_kzg_da=0, + full_output=1 if full_output else 0, + messages_to_l1=MSG_TO_L1_0, + messages_to_l2=MSG_TO_L2_0, + contracts=[ + ContractChanges( + addr=CONTRACT_ADDR0, + prev_nonce=0 if full_output else None, + new_nonce=1, + prev_class_hash=CLASS_HASH0_0 if full_output else None, + new_class_hash=CLASS_HASH0_1, + storage_changes={ + STORAGE_KEY0: ( + STORAGE_VALUE0_0 if full_output else None, + STORAGE_VALUE0_1, + ), + STORAGE_KEY1: ( + STORAGE_VALUE1_0 if full_output else None, + STORAGE_VALUE1_1, + ), + STORAGE_KEY2: ( + STORAGE_VALUE2_0 if full_output else None, + STORAGE_VALUE2_1, + ), + }, + ), + ContractChanges( + addr=CONTRACT_ADDR1, + prev_nonce=10 if full_output else None, + new_nonce=10, + prev_class_hash=CLASS_HASH1_0 if full_output else None, + new_class_hash=CLASS_HASH1_1, + storage_changes={ + STORAGE_KEY0: ( + STORAGE_VALUE0_0 if full_output else None, + STORAGE_VALUE0_1, + ), + }, + ), + ], + classes={ + CLASS_HASH0_0: ( + COMPILED_CLASS_HASH0_0 if full_output else None, + COMPILED_CLASS_HASH0_1, + ), + CLASS_HASH1_0: ( + COMPILED_CLASS_HASH1_0 if full_output else None, + COMPILED_CLASS_HASH1_1, + ), + }, + ), ), - OsOutput( - initial_root=ROOT1, - final_root=ROOT2, - block_number=2, - block_hash=BLOCK1_HASH, - starknet_os_config_hash=OS_CONFIG_HASH, - use_kzg_da=0, - messages_to_l1=[], - messages_to_l2=[], - contracts=[ - ContractChanges( - addr=CONTRACT_ADDR0, - nonce=2, - class_hash=None, - storage_changes={ - STORAGE_KEY0: STORAGE_VALUE0_1, - STORAGE_KEY3: STORAGE_VALUE3_1, - }, - ) - ], - classes={}, + TaskOutput( + program_hash=OS_PROGRAM_HASH, + os_output=OsOutput( + initial_root=ROOT1, + final_root=ROOT2, + prev_block_number=1, + new_block_number=2, + prev_block_hash=BLOCK0_HASH, + new_block_hash=BLOCK1_HASH, + os_program_hash=0, + starknet_os_config_hash=OS_CONFIG_HASH, + use_kzg_da=0, + full_output=1 if full_output else 0, + messages_to_l1=MSG_TO_L1_1, + messages_to_l2=MSG_TO_L2_1, + contracts=[ + ContractChanges( + addr=CONTRACT_ADDR0, + prev_nonce=1 if full_output else None, + new_nonce=2, + prev_class_hash=CLASS_HASH0_1 if full_output else None, + new_class_hash=CLASS_HASH0_1 if full_output else None, + storage_changes={ + STORAGE_KEY0: ( + STORAGE_VALUE0_1 if full_output else None, + STORAGE_VALUE0_2, + ), + STORAGE_KEY3: ( + STORAGE_VALUE3_0 if full_output else None, + STORAGE_VALUE3_2, + ), + }, + ), + ContractChanges( + addr=CONTRACT_ADDR1, + prev_nonce=10 if full_output else None, + new_nonce=10, + prev_class_hash=CLASS_HASH1_1 if full_output else None, + new_class_hash=CLASS_HASH1_0, + storage_changes={ + STORAGE_KEY0: ( + STORAGE_VALUE0_1 if full_output else None, + STORAGE_VALUE0_0, + ), + }, + ), + ContractChanges( + addr=CONTRACT_ADDR2, + prev_nonce=7 if full_output else None, + new_nonce=8, + prev_class_hash=CLASS_HASH2_0 if full_output else None, + new_class_hash=CLASS_HASH2_0 if full_output else None, + storage_changes={ + STORAGE_KEY4: ( + STORAGE_VALUE4_0 if full_output else None, + STORAGE_VALUE4_2, + ), + }, + ), + ], + classes={ + CLASS_HASH0_0: ( + COMPILED_CLASS_HASH0_1 if full_output else None, + COMPILED_CLASS_HASH0_2, + ), + }, + ), ), ] + + +@pytest.mark.parametrize("block_idx", [0, 1]) +@pytest.mark.parametrize("full_output_result", [False, True]) +def test_parse_and_output(aggregator_program, block_idx: int, full_output_result: bool): + runner = CairoFunctionRunner(aggregator_program, layout="recursive_with_poseidon") + os_output_segment = runner.segments.add() + + os_output = parse_bootloader_output(output=bootloader_output(full_output=True))[ + block_idx + ].os_output + os_output.full_output = 1 if full_output_result else 0 + OsOutputToCairo(runner.segments).process_os_output( + segments=runner.segments, dst_ptr=os_output_segment, os_output=os_output + ) + + runner.run( + "serialize_os_output", + range_check_ptr=runner.range_check_builtin.base, + poseidon_ptr=runner.poseidon_builtin.base, + output_ptr=runner.output_builtin.base, + os_output=os_output_segment, + hint_locals=dict(__serialize_data_availability_create_pages__=False), + ) + + range_check_end, poseidon_end, output_builtin_end = runner.get_return_values(3) + + validate_builtin_usage(builtin_runner=runner.range_check_builtin, end_ptr=range_check_end) + validate_builtin_usage(builtin_runner=runner.poseidon_builtin, end_ptr=poseidon_end) + res = runner.memory.get_range( + runner.output_builtin.base, output_builtin_end - runner.output_builtin.base + ) + if block_idx == 0: + assert res == block0_output(full_output=full_output_result) + else: + assert res == block1_output(full_output=full_output_result) + + +def mock_polynomial_coefficients_to_kzg_commitment(coefficients: List[int]) -> Tuple[int, int]: + return MOCK_COMMITMENT + + +@pytest.mark.parametrize( + "full_output, use_kzg_da, modifier, error_message", + [ + (False, False, FailureModifier.NONE, None), + (True, False, FailureModifier.NONE, None), + (False, True, FailureModifier.NONE, None), + (True, True, FailureModifier.NONE, None), + (True, False, FailureModifier.ROOT, f"{ROOT1} != {ROOT1 + 10}"), + (True, False, FailureModifier.BLOCK_HASH, f"{BLOCK0_HASH} != {BLOCK0_HASH + 10}"), + (True, False, FailureModifier.BLOCK_NUMBER, f"1 != 11"), + (True, False, FailureModifier.PROGRAM_HASH, f"0 != 10"), + (True, False, FailureModifier.OS_CONFIG_HASH, f"{OS_CONFIG_HASH} != {OS_CONFIG_HASH + 10}"), + ( + True, + False, + FailureModifier.STORAGE_VALUE, + f"{STORAGE_VALUE0_1} != {STORAGE_VALUE0_1 + 10}", + ), + ( + True, + False, + FailureModifier.COMPILED_CLASS_HASH, + f"{COMPILED_CLASS_HASH0_1} != {COMPILED_CLASS_HASH0_1 + 10}", + ), + ], +) +def test_aggregator( + aggregator_program: Program, + full_output: bool, + use_kzg_da: bool, + modifier: FailureModifier, + error_message: Optional[str], +): + runner = CairoFunctionRunner(aggregator_program, layout="recursive_with_poseidon") + + bootloader_output_data = bootloader_output(full_output=True, modifier=modifier) + hint_locals = { + "program_input": { + "bootloader_output": bootloader_output_data, + "use_kzg_da": use_kzg_da, + "full_output": full_output, + }, + "polynomial_coefficients_to_kzg_commitment_callback": ( + mock_polynomial_coefficients_to_kzg_commitment + ), + } + + with maybe_raises(VmException, error_message=error_message): + runner.run( + "main", + output_ptr=runner.output_builtin.base, + range_check_ptr=runner.range_check_builtin.base, + poseidon_ptr=runner.poseidon_builtin.base, + hint_locals=hint_locals, + ) + output_builtin_end, range_check_end, poseidon_end = runner.get_return_values(3) + + if error_message is not None: + return + + validate_builtin_usage(builtin_runner=runner.range_check_builtin, end_ptr=range_check_end) + validate_builtin_usage(builtin_runner=runner.poseidon_builtin, end_ptr=poseidon_end) + res = runner.memory.get_range( + runner.output_builtin.base, output_builtin_end - runner.output_builtin.base + ) + combined_output_ = combined_output(full_output=full_output, use_kzg_da=use_kzg_da) + assert res == bootloader_output_data + combined_output_ + + # Test fact topology. + fact_topology = get_fact_topology_from_additional_data( + output_size=len(res), + output_builtin_additional_data=runner.output_builtin.get_additional_data(), + ) + if use_kzg_da: + assert fact_topology == FactTopology.trivial( + page0_size=len(bootloader_output_data) + len(combined_output_) + ) + else: + da_len = len(combined_output_da(full_output=full_output)) + len_without_da = len(bootloader_output_data) + len(combined_output_) - da_len + assert fact_topology == FactTopology( + tree_structure=[2, 1, 0, 2], page_sizes=[len_without_da, da_len] + ) + + +def test_get_aggregator_input_size(): + # The bootloader output is the input of the aggregator. + bootloader_output_data = bootloader_output(full_output=True) + assert get_aggregator_input_size( + bootloader_output_data + combined_output(full_output=True) + ) == len(bootloader_output_data) diff --git a/src/starkware/starknet/core/aggregator/combine_blocks.cairo b/src/starkware/starknet/core/aggregator/combine_blocks.cairo new file mode 100644 index 00000000..2f6ed495 --- /dev/null +++ b/src/starkware/starknet/core/aggregator/combine_blocks.cairo @@ -0,0 +1,191 @@ +from starkware.cairo.common.math import assert_nn_le +from starkware.cairo.common.memcpy import memcpy +from starkware.starknet.core.os.output import ( + MessageToL1Header, + MessageToL2Header, + OsCarriedOutputs, + OsOutput, + OsOutputHeader, +) +from starkware.starknet.core.os.state.commitment import CommitmentUpdate +from starkware.starknet.core.os.state.squash import squash_class_changes, squash_state_changes +from starkware.starknet.core.os.state.state import SquashedOsStateUpdate + +// Copies the L1<>L2 message segments from `current` to the end of the aggregated values +// and returns the new aggregated values. +func copy_l1l2_messages( + aggregated_carried_outputs: OsCarriedOutputs*, current: OsOutput* +) -> OsCarriedOutputs* { + alloc_locals; + + local initial_messages_to_l1: felt* = current.initial_carried_outputs.messages_to_l1; + local final_messages_to_l1: felt* = current.final_carried_outputs.messages_to_l1; + local res_messages_to_l1: felt* = aggregated_carried_outputs.messages_to_l1; + local len_messages_to_l1: felt = final_messages_to_l1 - initial_messages_to_l1; + memcpy(dst=res_messages_to_l1, src=initial_messages_to_l1, len=len_messages_to_l1); + local res_messages_to_l1: felt* = res_messages_to_l1 + len_messages_to_l1; + + local initial_messages_to_l2: felt* = current.initial_carried_outputs.messages_to_l2; + local final_messages_to_l2: felt* = current.final_carried_outputs.messages_to_l2; + local res_messages_to_l2: felt* = aggregated_carried_outputs.messages_to_l2; + local len_messages_to_l2: felt = final_messages_to_l2 - initial_messages_to_l2; + memcpy(dst=res_messages_to_l2, src=initial_messages_to_l2, len=len_messages_to_l2); + local res_messages_to_l2: felt* = res_messages_to_l2 + len_messages_to_l2; + + tempvar res = new OsCarriedOutputs( + messages_to_l1=cast(res_messages_to_l1, MessageToL1Header*), + messages_to_l2=cast(res_messages_to_l2, MessageToL2Header*), + ); + + return res; +} + +// Combines the outputs of multiple Starknet OS runs into a single output, by: +// * checking that the final values of one block match the initial values of the next block, +// * squashing the state updates, +// * concatenating the L1<>L2 message segments. +// +// `os_program_hash` is used for the `os_program_hash` field of the combined output. +func combine_blocks{range_check_ptr}( + n: felt, os_outputs: OsOutput*, os_program_hash: felt +) -> OsOutput* { + alloc_locals; + + assert_nn_le(1, n); + + local initial_carried_outputs: OsCarriedOutputs*; + + %{ + # Allocate segments for the messages. + ids.initial_carried_outputs = segments.gen_arg( + [segments.add_temp_segment(), segments.add_temp_segment()] + ) + %} + + let first = os_outputs[0]; + + // Copy the messages of the first block. + let final_carried_outputs = copy_l1l2_messages( + aggregated_carried_outputs=initial_carried_outputs, current=&first + ); + + tempvar aggregated = new OsOutput( + header=new OsOutputHeader( + state_update_output=first.header.state_update_output, + prev_block_number=first.header.prev_block_number, + new_block_number=first.header.new_block_number, + prev_block_hash=first.header.prev_block_hash, + new_block_hash=first.header.new_block_hash, + os_program_hash=os_program_hash, + starknet_os_config_hash=first.header.starknet_os_config_hash, + use_kzg_da=nondet %{ program_input["use_kzg_da"] %}, + full_output=nondet %{ program_input["full_output"] %}, + ), + squashed_os_state_update=first.squashed_os_state_update, + initial_carried_outputs=initial_carried_outputs, + final_carried_outputs=final_carried_outputs, + ); + + let res = combine_blocks_inner(aggregated=aggregated, n=n - 1, os_outputs=&os_outputs[1]); + local res_state_update: SquashedOsStateUpdate = [res.squashed_os_state_update]; + + // Squash the contract state tree. + let (n_contract_state_changes, squashed_contract_state_dict) = squash_state_changes( + contract_state_changes_start=res_state_update.contract_state_changes, + contract_state_changes_end=&res_state_update.contract_state_changes[ + res_state_update.n_contract_state_changes + ], + ); + + // Squash the contract class tree. + let (n_class_updates, squashed_class_changes) = squash_class_changes( + class_changes_start=res_state_update.contract_class_changes, + class_changes_end=&res_state_update.contract_class_changes[ + res_state_update.n_class_updates + ], + ); + + tempvar squashed_res = new OsOutput( + header=res.header, + squashed_os_state_update=new SquashedOsStateUpdate( + contract_state_changes=squashed_contract_state_dict, + n_contract_state_changes=n_contract_state_changes, + contract_class_changes=squashed_class_changes, + n_class_updates=n_class_updates, + ), + initial_carried_outputs=res.initial_carried_outputs, + final_carried_outputs=res.final_carried_outputs, + ); + + return squashed_res; +} + +// Helper function for `combine_blocks`. +func combine_blocks_inner(aggregated: OsOutput*, n: felt, os_outputs: OsOutput*) -> OsOutput* { + if (n == 0) { + return aggregated; + } + + alloc_locals; + + let current = os_outputs[0]; + + // Check the size of `OsOutput` and `OsOutputHeader` to ensure that if new fields are added + // they are handled by the aggregator, either in this function or in `output_blocks()`. + static_assert OsOutput.SIZE == 4; + static_assert OsOutputHeader.SIZE == 9; + + // Check header consistency. + assert current.header.state_update_output.initial_root = ( + aggregated.header.state_update_output.final_root + ); + assert current.header.prev_block_number = aggregated.header.new_block_number; + assert current.header.prev_block_hash = aggregated.header.new_block_hash; + assert current.header.starknet_os_config_hash = aggregated.header.starknet_os_config_hash; + + // Check `squashed_os_state_update` consistency: the dictionary entries of the blocks must form + // one contiguous segment (this is done as part of the hint generating them). Check that the + // beginning of the current block is at the end of the blocks aggregated so far. + local aggregated_update: SquashedOsStateUpdate = [aggregated.squashed_os_state_update]; + local current_update: SquashedOsStateUpdate = [current.squashed_os_state_update]; + assert current_update.contract_state_changes = &aggregated_update.contract_state_changes[ + aggregated_update.n_contract_state_changes + ]; + assert current_update.contract_class_changes = &aggregated_update.contract_class_changes[ + aggregated_update.n_class_updates + ]; + + // Copy the messages. + let final_carried_outputs = copy_l1l2_messages( + aggregated_carried_outputs=aggregated.final_carried_outputs, current=¤t + ); + + tempvar new_aggregated = new OsOutput( + header=new OsOutputHeader( + state_update_output=new CommitmentUpdate( + initial_root=aggregated.header.state_update_output.initial_root, + final_root=current.header.state_update_output.final_root, + ), + prev_block_number=aggregated.header.prev_block_number, + new_block_number=current.header.new_block_number, + prev_block_hash=aggregated.header.prev_block_hash, + new_block_hash=current.header.new_block_hash, + os_program_hash=aggregated.header.os_program_hash, + starknet_os_config_hash=aggregated.header.starknet_os_config_hash, + use_kzg_da=aggregated.header.use_kzg_da, + full_output=aggregated.header.full_output, + ), + squashed_os_state_update=new SquashedOsStateUpdate( + contract_state_changes=aggregated_update.contract_state_changes, + n_contract_state_changes=( + aggregated_update.n_contract_state_changes + current_update.n_contract_state_changes + ), + contract_class_changes=aggregated_update.contract_class_changes, + n_class_updates=aggregated_update.n_class_updates + current_update.n_class_updates, + ), + initial_carried_outputs=aggregated.initial_carried_outputs, + final_carried_outputs=final_carried_outputs, + ); + + return combine_blocks_inner(aggregated=new_aggregated, n=n - 1, os_outputs=&os_outputs[1]); +} diff --git a/src/starkware/starknet/core/aggregator/main.cairo b/src/starkware/starknet/core/aggregator/main.cairo new file mode 100644 index 00000000..30332626 --- /dev/null +++ b/src/starkware/starknet/core/aggregator/main.cairo @@ -0,0 +1,115 @@ +%builtins output range_check poseidon + +from starkware.cairo.common.alloc import alloc +from starkware.cairo.common.cairo_builtins import PoseidonBuiltin +from starkware.starknet.core.aggregator.combine_blocks import combine_blocks +from starkware.starknet.core.os.output import OsOutput, serialize_os_output + +func main{output_ptr: felt*, range_check_ptr, poseidon_ptr: PoseidonBuiltin*}() { + alloc_locals; + + local os_program_hash: felt; + local n_tasks: felt; + + // Guess the Starknet OS outputs of the inner blocks. + let (local os_outputs: OsOutput*) = alloc(); + + %{ + from starkware.starknet.core.aggregator.output_parser import parse_bootloader_output + from starkware.starknet.core.aggregator.utils import OsOutputToCairo + + tasks = parse_bootloader_output(program_input["bootloader_output"]) + assert len(tasks) > 0, "No tasks found in the bootloader output." + ids.os_program_hash = tasks[0].program_hash + ids.n_tasks = len(tasks) + os_output_to_cairo = OsOutputToCairo(segments) + for i, task in enumerate(tasks): + os_output_to_cairo.process_os_output( + segments=segments, + dst_ptr=ids.os_outputs[i].address_, + os_output=task.os_output, + ) + %} + + // Compute the aggregated output. + let combined_output = combine_blocks( + n=n_tasks, os_outputs=os_outputs, os_program_hash=os_program_hash + ); + + // Output the bootloader output of the inner OsOutput instances. + // This represents the "input" of the aggregator, whose correctness is later verified + // by the bootloader by running the Cairo verifier. + + // Output the number of tasks. + assert output_ptr[0] = n_tasks; + let output_ptr = output_ptr + 1; + + output_blocks(n_tasks=n_tasks, os_outputs=os_outputs, os_program_hash=os_program_hash); + + // Output the combined result. This represents the "output" of the aggregator. + %{ + from starkware.starknet.core.os.kzg_manager import KzgManager + + __serialize_data_availability_create_pages__ = True + if "polynomial_coefficients_to_kzg_commitment_callback" not in globals(): + from services.utils import kzg_utils + polynomial_coefficients_to_kzg_commitment_callback = ( + kzg_utils.polynomial_coefficients_to_kzg_commitment + ) + kzg_manager = KzgManager(polynomial_coefficients_to_kzg_commitment_callback) + %} + serialize_os_output(os_output=combined_output); + + %{ + import json + + da_path = program_input.get("da_path") + if da_path is not None: + da_segment = kzg_manager.da_segment if program_input["use_kzg_da"] else None + with open(da_path, "w") as da_file: + json.dump(da_segment, da_file) + %} + + return (); +} + +// Outputs the given OsOutput instances, with the size of the output and the program hash +// (to match the bootloader output format). +func output_blocks{output_ptr: felt*, range_check_ptr, poseidon_ptr: PoseidonBuiltin*}( + n_tasks: felt, os_outputs: OsOutput*, os_program_hash: felt +) { + if (n_tasks == 0) { + return (); + } + + let output_start = output_ptr; + + // Keep a placeholder for the output size, which is computed at the end of the function. + let output_size_placeholder = output_ptr[0]; + let output_ptr = output_ptr + 1; + + assert output_ptr[0] = os_program_hash; + let output_ptr = output_ptr + 1; + + // Validate fields of the inner OS outputs. + tempvar header = os_outputs[0].header; + assert header.use_kzg_da = 0; + assert header.full_output = 1; + assert header.os_program_hash = 0; + + %{ + # Note that `serialize_os_output` splits its output to memory pages + # (see OutputBuiltinRunner.add_page). + # Since this output is only used internally and will not be used in the final fact, + # we need to disable page creation. + __serialize_data_availability_create_pages__ = False + %} + serialize_os_output(os_output=&os_outputs[0]); + + // Compute the size of the output, including the program hash and the output size fields. + assert output_size_placeholder = output_ptr - output_start; + + return output_blocks( + n_tasks=n_tasks - 1, os_outputs=&os_outputs[1], os_program_hash=os_program_hash + ); +} diff --git a/src/starkware/starknet/core/aggregator/output_parser.py b/src/starkware/starknet/core/aggregator/output_parser.py index 3a473293..d791c0de 100644 --- a/src/starkware/starknet/core/aggregator/output_parser.py +++ b/src/starkware/starknet/core/aggregator/output_parser.py @@ -1,6 +1,8 @@ import dataclasses import itertools -from typing import Dict, Iterator, List, Optional +from typing import Dict, Iterator, List, Optional, Tuple + +from starkware.starknet.definitions.constants import OsOutputConstant @dataclasses.dataclass @@ -11,12 +13,16 @@ class ContractChanges: # The address of the contract. addr: int + # The previous nonce of the contract (for account contracts, optional). + prev_nonce: Optional[int] # The new nonce of the contract (for account contracts). - nonce: int + new_nonce: int + # The previous class hash (if changed). + prev_class_hash: Optional[int] # The new class hash (if changed). - class_hash: Optional[int] - # A map from storage key to its new value. - storage_changes: Dict[int, int] + new_class_hash: Optional[int] + # A map from storage key to its prev value (optional) and new value. + storage_changes: Dict[int, Tuple[Optional[int], int]] @dataclasses.dataclass @@ -29,25 +35,44 @@ class OsOutput: initial_root: int # The root after. final_root: int - # The block number. - block_number: int - # The block hash. - block_hash: int + # The previous block number. + prev_block_number: int + # The new block number. + new_block_number: int + # The previous block hash. + prev_block_hash: int + # The new block hash. + new_block_hash: int + # The hash of the OS program, if the aggregator was used. Zero if the OS was used directly. + os_program_hash: int # The hash of the OS config. starknet_os_config_hash: int - # Whether KZG data availability was used. + # Indicates whether KZG data availability was used. use_kzg_da: int + # Indicates whether previous state values are included in the state update information. + full_output: int # Messages from L2 to L1. messages_to_l1: List[int] # Messages from L1 to L2. messages_to_l2: List[int] # The list of contracts that were changed. contracts: Optional[List[ContractChanges]] - # The list of classes that were declared. A map from class hash to compiled class hash. - classes: Optional[Dict[int, int]] + # The list of classes that were declared. A map from class hash to previous (optional) and new + # compiled class hash. + classes: Optional[Dict[int, Tuple[Optional[int], int]]] -def parse_bootloader_output(output: List[int]) -> List[OsOutput]: +@dataclasses.dataclass +class TaskOutput: + """ + Represents the output of the OS. + """ + + program_hash: int + os_output: OsOutput + + +def parse_bootloader_output(output: List[int]) -> List[TaskOutput]: """ Parses the output of the bootloader, assuming the tasks are instances of the Starknet OS. """ @@ -57,8 +82,12 @@ def parse_bootloader_output(output: List[int]) -> List[OsOutput]: tasks = [] for _ in range(n_tasks): next(output_iter) # Output size. - next(output_iter) # Program hash. - tasks.append(parse_os_output(output_iter)) + program_hash = next(output_iter) + tasks.append( + TaskOutput( + program_hash=program_hash, os_output=parse_os_output(output_iter=output_iter) + ) + ) assert next(output_iter, None) is None, "Bootloader output wasn't fully consumed." @@ -71,16 +100,26 @@ def parse_os_output(output_iter: Iterator[int]) -> OsOutput: """ initial_root = next(output_iter) final_root = next(output_iter) - block_number = next(output_iter) - block_hash = next(output_iter) + prev_block_number = next(output_iter) + new_block_number = next(output_iter) + prev_block_hash = next(output_iter) + new_block_hash = next(output_iter) + os_program_hash = next(output_iter) starknet_os_config_hash = next(output_iter) use_kzg_da = next(output_iter) + full_output_int = next(output_iter) + assert full_output_int in [0, 1], f"Invalid full_output flag: {full_output_int}" assert use_kzg_da in [0, 1], f"Invalid KZG flag: {use_kzg_da}" + full_output = full_output_int != 0 + if use_kzg_da == 1: # Skip KZG data. - list(itertools.islice(output_iter, 5)) + kzg_segment = list(itertools.islice(output_iter, 2)) + n_blobs = kzg_segment[OsOutputConstant.KZG_N_BLOBS_OFFSET.value] + # Skip 'n_blobs' commitments and evaluations. + list(itertools.islice(output_iter, 2 * 2 * n_blobs)) # Handle messages. messages_to_l1_segment_size = next(output_iter) @@ -94,25 +133,32 @@ def parse_os_output(output_iter: Iterator[int]) -> OsOutput: n_contracts = next(output_iter) contracts = [] for _ in range(n_contracts): - contracts.append(parse_contract_changes(output_iter)) + contracts.append( + parse_contract_changes(output_iter=output_iter, full_output=full_output) + ) # Class changes. n_classes = next(output_iter) classes = {} for _ in range(n_classes): class_hash = next(output_iter) - compiled_class_hash = next(output_iter) - classes[class_hash] = compiled_class_hash + prev_compiled_class_hash = next(output_iter) if full_output else None + new_compiled_class_hash = next(output_iter) + classes[class_hash] = (prev_compiled_class_hash, new_compiled_class_hash) else: contracts = classes = None return OsOutput( initial_root=initial_root, final_root=final_root, - block_number=block_number, - block_hash=block_hash, + prev_block_number=prev_block_number, + new_block_number=new_block_number, + prev_block_hash=prev_block_hash, + new_block_hash=new_block_hash, + os_program_hash=os_program_hash, starknet_os_config_hash=starknet_os_config_hash, use_kzg_da=use_kzg_da, + full_output=full_output_int, messages_to_l1=messages_to_l1, messages_to_l2=messages_to_l2, contracts=contracts, @@ -120,26 +166,41 @@ def parse_os_output(output_iter: Iterator[int]) -> OsOutput: ) -def parse_contract_changes(data: Iterator[int]) -> ContractChanges: +def parse_contract_changes(output_iter: Iterator[int], full_output: bool) -> ContractChanges: """ Parses contract changes. """ - addr = next(data) - class_nonce_n_changes = next(data) + addr = next(output_iter) + class_nonce_n_changes = next(output_iter) class_nonce, n_changes = divmod(class_nonce_n_changes, 2**64) - class_updated, nonce = divmod(class_nonce, 2**64) - - if class_updated: - class_hash = next(data) + if full_output: + class_nonce, prev_nonce = divmod(class_nonce, 2**64) + else: + prev_nonce = None + class_updated, new_nonce = divmod(class_nonce, 2**64) + assert class_updated in [0, 1], f"Invalid contract header: {class_nonce_n_changes}" + + if full_output: + prev_class_hash = next(output_iter) + new_class_hash = next(output_iter) + elif class_updated != 0: + prev_class_hash = None + new_class_hash = next(output_iter) else: - class_hash = None + prev_class_hash, new_class_hash = None, None storage_changes = {} for _ in range(n_changes): - key = next(data) - value = next(data) - storage_changes[key] = value + key = next(output_iter) + prev_value = next(output_iter) if full_output else None + new_value = next(output_iter) + storage_changes[key] = (prev_value, new_value) return ContractChanges( - addr=addr, nonce=nonce, class_hash=class_hash, storage_changes=storage_changes + addr=addr, + prev_nonce=prev_nonce, + new_nonce=new_nonce, + prev_class_hash=prev_class_hash, + new_class_hash=new_class_hash, + storage_changes=storage_changes, ) diff --git a/src/starkware/starknet/core/aggregator/program_hash.json b/src/starkware/starknet/core/aggregator/program_hash.json new file mode 100644 index 00000000..d11b7351 --- /dev/null +++ b/src/starkware/starknet/core/aggregator/program_hash.json @@ -0,0 +1,4 @@ +{ + "program_hash": "0x52e9e4e95cedaf218b0a99bf0044c95335a4da09b2472ebb87d804804b55db9", + "program_hash_with_aggregator_prefix": "0x29134351e8694cf55b54addda8b66eb7614791c3f6e98098e3e37b8e8592926" +} diff --git a/src/starkware/starknet/core/aggregator/program_hash_test.py b/src/starkware/starknet/core/aggregator/program_hash_test.py new file mode 100644 index 00000000..dbadabf0 --- /dev/null +++ b/src/starkware/starknet/core/aggregator/program_hash_test.py @@ -0,0 +1,39 @@ +import os + +from starkware.cairo.bootloaders.aggregator_utils import add_aggregator_prefix +from starkware.cairo.bootloaders.program_hash_test_utils import ( + program_hash_test_main, + run_generate_hash_test, +) +from starkware.python.utils import get_source_dir_path + +PROGRAM_PATH = os.path.join(os.path.dirname(__file__), "aggregator.json") +HASH_PATH = get_source_dir_path( + "src/starkware/starknet/core/aggregator/program_hash.json", + default_value=os.path.join(os.path.dirname(__file__), "program_hash.json"), +) + +COMMAND = "aggregator_program_hash_test_fix" + + +def post_process(data): + data["program_hash_with_aggregator_prefix"] = hex( + add_aggregator_prefix(int(data["program_hash"], 16)) + ) + return data + + +def test_aggregator_program_hash(): + run_generate_hash_test( + fix=False, + program_path=PROGRAM_PATH, + hash_path=HASH_PATH, + command=COMMAND, + post_process=post_process, + ) + + +if __name__ == "__main__": + program_hash_test_main( + program_path=PROGRAM_PATH, hash_path=HASH_PATH, command=COMMAND, post_process=post_process + ) diff --git a/src/starkware/starknet/core/aggregator/utils.py b/src/starkware/starknet/core/aggregator/utils.py new file mode 100644 index 00000000..6c3e485e --- /dev/null +++ b/src/starkware/starknet/core/aggregator/utils.py @@ -0,0 +1,144 @@ +import dataclasses +from typing import Dict, List + +from starkware.cairo.lang.vm.memory_segments import MemorySegmentManager +from starkware.cairo.lang.vm.relocatable import MaybeRelocatable, RelocatableValue +from starkware.python.math_utils import safe_div +from starkware.starknet.core.aggregator.output_parser import OsOutput + + +@dataclasses.dataclass +class StateEntryManager: + """ + Represents the information required to build the StateEntry structs in the Cairo memory. + """ + + # A pointer to the end of the state entry instances, where a new instance can be written. + state_entry_ptr: RelocatableValue + # A pointer to the end of the dictionary of contract storage changes. + storage_dict_ptr: RelocatableValue + + def add_state_entry(self, segments, class_hash: int, storage_changes: List[int], nonce: int): + """ + Writes a new `StateEntry` instance to the memory. + """ + self.storage_dict_ptr = segments.write_arg(ptr=self.storage_dict_ptr, arg=storage_changes) + + self.state_entry_ptr = segments.write_arg( + ptr=self.state_entry_ptr, + arg=[class_hash, self.storage_dict_ptr, nonce], + ) + + +class OsOutputToCairo: + """ + Converts an `OsOutput` instance to the corresponding Cairo memory segments. + """ + + def __init__(self, segments: MemorySegmentManager): + self._inner_storage: Dict[int, StateEntryManager] = {} + self.storage_dict_ptr = segments.add() + self.class_dict_ptr = segments.add() + + def process_os_output( + self, segments: MemorySegmentManager, dst_ptr: RelocatableValue, os_output: OsOutput + ): + """ + Processes the given `OsOutput` and writes its data to the Cairo memory at `dst_ptr`. + """ + # Handle L1<>L2 messages. + messages_to_l1_start = segments.add_temp_segment() + messages_to_l1_end = segments.write_arg( + ptr=messages_to_l1_start, arg=os_output.messages_to_l1 + ) + messages_to_l2_start = segments.add_temp_segment() + messages_to_l2_end = segments.write_arg( + ptr=messages_to_l2_start, arg=os_output.messages_to_l2 + ) + + # Handle contract state changes. + storage_dict: List[MaybeRelocatable] = [] + assert os_output.contracts is not None, "Missing contract changes information." + for contract in os_output.contracts: + if contract.addr in self._inner_storage: + state_entry = self._inner_storage[contract.addr] + else: + state_entry = self._inner_storage[contract.addr] = StateEntryManager( + state_entry_ptr=segments.add(), + storage_dict_ptr=segments.add(), + ) + + assert contract.prev_class_hash is not None, "Missing previous class hash." + assert contract.prev_nonce is not None, "Missing previous nonce." + # Write the initial `StateEntry` struct into memory. + state_entry.add_state_entry( + segments=segments, + class_hash=contract.prev_class_hash, + storage_changes=[], + nonce=contract.prev_nonce, + ) + + storage_changes = [] + for key, (prev_value, new_value) in contract.storage_changes.items(): + storage_changes.append(key) + assert prev_value is not None, "Missing previous value information." + storage_changes.append(prev_value) + storage_changes.append(new_value) + + assert contract.new_class_hash is not None, "Missing new class hash." + state_entry.add_state_entry( + segments=segments, + class_hash=contract.new_class_hash, + storage_changes=storage_changes, + nonce=contract.new_nonce, + ) + + storage_dict.append(contract.addr) + storage_dict.append(state_entry.state_entry_ptr - 6) + storage_dict.append(state_entry.state_entry_ptr - 3) + + storage_dict_ptr_start = self.storage_dict_ptr + self.storage_dict_ptr = segments.write_arg(ptr=self.storage_dict_ptr, arg=storage_dict) + + # Handle compiled class changes. + class_dict = [] + + assert os_output.classes is not None, "Missing class changes information." + for class_hash, (prev_compiled_hash, new_compiled_hash) in os_output.classes.items(): + assert prev_compiled_hash is not None, "Missing previous compiled class hash." + class_dict.append(class_hash) + class_dict.append(prev_compiled_hash) + class_dict.append(new_compiled_hash) + + class_dict_ptr_start = self.class_dict_ptr + self.class_dict_ptr = segments.write_arg(ptr=self.class_dict_ptr, arg=class_dict) + + # Write the `OsOutput` struct into memory. + segments.write_arg( + ptr=dst_ptr, + arg=[ + # Header. + [ + [os_output.initial_root, os_output.final_root], + os_output.prev_block_number, + os_output.new_block_number, + os_output.prev_block_hash, + os_output.new_block_hash, + os_output.os_program_hash, + os_output.starknet_os_config_hash, + os_output.use_kzg_da, + os_output.full_output, + ], + # squashed_os_state_update. + [ + storage_dict_ptr_start, + safe_div(len(storage_dict), 3), + class_dict_ptr_start, + safe_div(len(class_dict), 3), + ], + # initial_carried_outputs. + [messages_to_l1_start, messages_to_l2_start], + # final_carried_outputs. + [messages_to_l1_end, messages_to_l2_end], + ], + ) diff --git a/src/starkware/starknet/core/os/BUILD b/src/starkware/starknet/core/os/BUILD index aad45b88..a1661037 100644 --- a/src/starkware/starknet/core/os/BUILD +++ b/src/starkware/starknet/core/os/BUILD @@ -25,12 +25,26 @@ cairo_binary( ) cairo_library( - name = "starknet_os_program_cairo_lib", + name = "output", srcs = [ "block_context.cairo", + "output.cairo", + "//src/starkware/starknet/core/os/data_availability:commitment.cairo", + ], + hint_deps = [ + "//src/starkware/python:starkware_python_utils_lib", + ], + deps = [ + "//src/starkware/starknet/core/os/data_availability:bls_field", + "//src/starkware/starknet/core/os/state:starknet_os_state_lib", + ], +) + +cairo_library( + name = "starknet_os_program_cairo_lib", + srcs = [ "constants.cairo", "os.cairo", - "output.cairo", "//src/starkware/starknet/common:constants.cairo", "//src/starkware/starknet/common:storage.cairo", "//src/starkware/starknet/core/os/contract_address:contract_address.cairo", @@ -44,16 +58,20 @@ cairo_library( "//src/starkware/starknet/core/os/os_config:os_config.cairo", "//src/starkware/starknet/core/os/transaction_hash:transaction_hash.cairo", ], + hint_deps = [ + "//src/starkware/python:starkware_python_utils_lib", + "//src/starkware/starknet/business_logic/transaction:starknet_transaction_deprecated_objects_lib", + "//src/starkware/starknet/core/os/transaction_hash:transaction_hash", + ], visibility = ["//visibility:public"], deps = [ + ":output", ":starknet_builtins_cairo_lib", ":starknet_new_syscalls_cairo_lib", ":starknet_syscalls_cairo_lib", "//src/starkware/cairo/common:cairo_common_cairo_lib", "//src/starkware/starknet/core/os/contract_class:starknet_os_abi_cairo_lib", - "//src/starkware/starknet/core/os/data_availability:bls_field", "//src/starkware/starknet/core/os/data_availability:commitment", - "//src/starkware/starknet/core/os/state:starknet_os_state_lib", ], ) @@ -114,25 +132,33 @@ py_library( "//src/starkware/cairo/common:cairo_function_runner_lib", "//src/starkware/cairo/lang/vm:cairo_relocatable_lib", "//src/starkware/cairo/lang/vm:cairo_vm_lib", + "//src/starkware/python:starkware_python_utils_lib", "//src/starkware/starknet/definitions:starknet_definitions_lib", "//src/starkware/starknet/public:starknet_abi_lib", "//src/starkware/starkware_utils:starkware_error_handling_lib", ], ) +py_library( + name = "kzg_manager_lib", + srcs = [ + "kzg_manager.py", + ], + visibility = ["//visibility:public"], +) + py_library( name = "starknet_os_program_py_lib", srcs = [ "os_program.py", ], data = [ - "starknet_os_compiled.json", + ":starknet_os_program", ], visibility = ["//visibility:public"], deps = [ "//src/starkware/cairo/bootloaders:cairo_hash_program_lib", "//src/starkware/cairo/lang/compiler:cairo_compile_lib", - "//src/starkware/starknet/core/os/data_availability:bls_utils", requirement("cachetools"), ], ) @@ -179,7 +205,7 @@ py_library( "//src/starkware/cairo/lang/vm:cairo_vm_lib", "//src/starkware/python:starkware_python_utils_lib", "//src/starkware/starknet/business_logic/transaction:starknet_transaction_objects_lib", - "//src/starkware/starknet/definitions:starknet_general_config_lib", + "//src/starkware/starknet/definitions:starknet_definitions_lib", requirement("cachetools"), ], ) @@ -194,6 +220,7 @@ py_library( ], visibility = ["//visibility:public"], deps = [ + ":kzg_manager_lib", ":os_logger_lib", ":syscall_utils_lib", "//src/starkware/cairo/common:cairo_common_lib", @@ -258,7 +285,7 @@ pytest_test( ], data = [ "program_hash.json", - "starknet_os_compiled.json", + ":starknet_os_program", ], visibility = ["//visibility:public"], deps = [ diff --git a/src/starkware/starknet/core/os/block_context.cairo b/src/starkware/starknet/core/os/block_context.cairo index 4386fb7b..c6d5a7bb 100644 --- a/src/starkware/starknet/core/os/block_context.cairo +++ b/src/starkware/starknet/core/os/block_context.cairo @@ -33,7 +33,7 @@ struct BlockContext { deprecated_compiled_class_facts: DeprecatedCompiledClassFact*, // Information about the block. - block_info: BlockInfo*, + block_info_for_execute: BlockInfo*, // A version of `block_info` that will be returned by the 'get_execution_info' // syscall during '__validate__'. // Some of the fields, which cannot be used in validate mode, are zeroed out. @@ -72,7 +72,7 @@ func get_block_context{poseidon_ptr: PoseidonBuiltin*, pedersen_ptr: HashBuiltin compiled_class_facts=compiled_class_facts, n_deprecated_compiled_class_facts=n_deprecated_compiled_class_facts, deprecated_compiled_class_facts=deprecated_compiled_class_facts, - block_info=new BlockInfo( + block_info_for_execute=new BlockInfo( block_number=block_number, block_timestamp=block_timestamp, sequencer_address=nondet %{ syscall_handler.block_info.sequencer_address %}, diff --git a/src/starkware/starknet/core/os/builtins.cairo b/src/starkware/starknet/core/os/builtins.cairo index df74dde1..eca6ba73 100644 --- a/src/starkware/starknet/core/os/builtins.cairo +++ b/src/starkware/starknet/core/os/builtins.cairo @@ -5,10 +5,12 @@ from starkware.cairo.common.cairo_builtins import ( EcOpBuiltin, HashBuiltin, KeccakBuiltin, + ModBuiltin, PoseidonBuiltin, SignatureBuiltin, ) from starkware.cairo.common.registers import get_fp_and_pc +from starkware.cairo.common.sha256_state import Sha256ProcessBlock from starkware.starknet.builtins.segment_arena.segment_arena import SegmentArenaBuiltin struct SelectableBuiltins { @@ -19,10 +21,14 @@ struct SelectableBuiltins { ec_op: felt, poseidon: PoseidonBuiltin*, segment_arena: SegmentArenaBuiltin*, + range_check96: felt*, + add_mod: ModBuiltin*, + mul_mod: ModBuiltin*, } struct NonSelectableBuiltins { keccak: KeccakBuiltin*, + sha256: Sha256ProcessBlock*, } struct BuiltinPointers { @@ -39,6 +45,9 @@ struct BuiltinEncodings { ec_op: felt, poseidon: felt, segment_arena: felt, + range_check96: felt, + add_mod: felt, + mul_mod: felt, } // A struct containing the instance size of each builtin. @@ -50,6 +59,9 @@ struct BuiltinInstanceSizes { ec_op: felt, poseidon: felt, segment_arena: felt, + range_check96: felt, + add_mod: felt, + mul_mod: felt, } struct BuiltinParams { @@ -72,6 +84,9 @@ func get_builtin_params() -> (builtin_params: BuiltinParams*) { ec_op='ec_op', poseidon='poseidon', segment_arena='segment_arena', + range_check96='range_check96', + add_mod='add_mod', + mul_mod='mul_mod', ); local builtin_instance_sizes: BuiltinInstanceSizes = BuiltinInstanceSizes( @@ -82,6 +97,9 @@ func get_builtin_params() -> (builtin_params: BuiltinParams*) { ec_op=EcOpBuiltin.SIZE, poseidon=PoseidonBuiltin.SIZE, segment_arena=SegmentArenaBuiltin.SIZE, + range_check96=1, + add_mod=ModBuiltin.SIZE, + mul_mod=ModBuiltin.SIZE, ); local builtin_params: BuiltinParams = BuiltinParams( diff --git a/src/starkware/starknet/core/os/constants.cairo b/src/starkware/starknet/core/os/constants.cairo index db7bd6d1..378cf723 100644 --- a/src/starkware/starknet/core/os/constants.cairo +++ b/src/starkware/starknet/core/os/constants.cairo @@ -54,6 +54,7 @@ const STORED_BLOCK_HASH_BUFFER = 10; // Gas constants. const STEP_GAS_COST = 100; const RANGE_CHECK_GAS_COST = 70; +const BITWISE_BUILTIN_GAS_COST = 594; const MEMORY_HOLE_GAS_COST = 10; const INITIAL_GAS_COST = 100000000 * STEP_GAS_COST; @@ -80,40 +81,42 @@ const FEE_TRANSFER_GAS_COST = 1 * ENTRY_POINT_GAS_COST + 100 * STEP_GAS_COST; const TRANSACTION_GAS_COST = 2 * ENTRY_POINT_GAS_COST + 1 * FEE_TRANSFER_GAS_COST + 100 * STEP_GAS_COST; // Syscall gas costs. -const CALL_CONTRACT_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 10 * STEP_GAS_COST + 1 * - ENTRY_POINT_GAS_COST; -const DEPLOY_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 200 * STEP_GAS_COST + 1 * ENTRY_POINT_GAS_COST; -const GET_BLOCK_HASH_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 50 * STEP_GAS_COST; -const GET_EXECUTION_INFO_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 10 * STEP_GAS_COST; +const CALL_CONTRACT_GAS_COST = 1 * ENTRY_POINT_GAS_COST + 10 * STEP_GAS_COST + 1 * + SYSCALL_BASE_GAS_COST; +const DEPLOY_GAS_COST = 1 * ENTRY_POINT_GAS_COST + 200 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; +const GET_BLOCK_HASH_GAS_COST = 50 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; +const GET_EXECUTION_INFO_GAS_COST = 10 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; const LIBRARY_CALL_GAS_COST = 1 * CALL_CONTRACT_GAS_COST; -const REPLACE_CLASS_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 50 * STEP_GAS_COST; -const STORAGE_READ_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 50 * STEP_GAS_COST; -const STORAGE_WRITE_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 50 * STEP_GAS_COST; -const EMIT_EVENT_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 10 * STEP_GAS_COST; -const SEND_MESSAGE_TO_L1_GAS_COST = 1 * SYSCALL_BASE_GAS_COST + 50 * STEP_GAS_COST; +const REPLACE_CLASS_GAS_COST = 50 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; +const STORAGE_READ_GAS_COST = 50 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; +const STORAGE_WRITE_GAS_COST = 50 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; +const EMIT_EVENT_GAS_COST = 10 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; +const SEND_MESSAGE_TO_L1_GAS_COST = 50 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; // Note the the following costs include `SYSCALL_BASE_GAS_COST` implicitly. -const SECP256K1_ADD_GAS_COST = 406 * STEP_GAS_COST + 29 * RANGE_CHECK_GAS_COST; -const SECP256K1_GET_POINT_FROM_X_GAS_COST = 391 * STEP_GAS_COST + 30 * RANGE_CHECK_GAS_COST + 20 * - MEMORY_HOLE_GAS_COST; -const SECP256K1_GET_XY_GAS_COST = 239 * STEP_GAS_COST + 11 * RANGE_CHECK_GAS_COST + 40 * - MEMORY_HOLE_GAS_COST; -const SECP256K1_MUL_GAS_COST = 76501 * STEP_GAS_COST + 7045 * RANGE_CHECK_GAS_COST + 2 * - MEMORY_HOLE_GAS_COST; -const SECP256K1_NEW_GAS_COST = 475 * STEP_GAS_COST + 35 * RANGE_CHECK_GAS_COST + 40 * - MEMORY_HOLE_GAS_COST; -const SECP256R1_ADD_GAS_COST = 589 * STEP_GAS_COST + 57 * RANGE_CHECK_GAS_COST; -const SECP256R1_GET_POINT_FROM_X_GAS_COST = 510 * STEP_GAS_COST + 44 * RANGE_CHECK_GAS_COST + 20 * - MEMORY_HOLE_GAS_COST; -const SECP256R1_GET_XY_GAS_COST = 241 * STEP_GAS_COST + 11 * RANGE_CHECK_GAS_COST + 40 * - MEMORY_HOLE_GAS_COST; -const SECP256R1_MUL_GAS_COST = 125340 * STEP_GAS_COST + 13961 * RANGE_CHECK_GAS_COST + 2 * - MEMORY_HOLE_GAS_COST; -const SECP256R1_NEW_GAS_COST = 594 * STEP_GAS_COST + 49 * RANGE_CHECK_GAS_COST + 40 * - MEMORY_HOLE_GAS_COST; +const SECP256K1_ADD_GAS_COST = 29 * RANGE_CHECK_GAS_COST + 406 * STEP_GAS_COST; +const SECP256K1_GET_POINT_FROM_X_GAS_COST = 20 * MEMORY_HOLE_GAS_COST + 30 * RANGE_CHECK_GAS_COST + + 391 * STEP_GAS_COST; +const SECP256K1_GET_XY_GAS_COST = 40 * MEMORY_HOLE_GAS_COST + 11 * RANGE_CHECK_GAS_COST + 239 * + STEP_GAS_COST; +const SECP256K1_MUL_GAS_COST = 2 * MEMORY_HOLE_GAS_COST + 7045 * RANGE_CHECK_GAS_COST + 76501 * + STEP_GAS_COST; +const SECP256K1_NEW_GAS_COST = 40 * MEMORY_HOLE_GAS_COST + 35 * RANGE_CHECK_GAS_COST + 475 * + STEP_GAS_COST; +const SECP256R1_ADD_GAS_COST = 57 * RANGE_CHECK_GAS_COST + 589 * STEP_GAS_COST; +const SECP256R1_GET_POINT_FROM_X_GAS_COST = 20 * MEMORY_HOLE_GAS_COST + 44 * RANGE_CHECK_GAS_COST + + 510 * STEP_GAS_COST; +const SECP256R1_GET_XY_GAS_COST = 40 * MEMORY_HOLE_GAS_COST + 11 * RANGE_CHECK_GAS_COST + 241 * + STEP_GAS_COST; +const SECP256R1_MUL_GAS_COST = 2 * MEMORY_HOLE_GAS_COST + 13961 * RANGE_CHECK_GAS_COST + 125340 * + STEP_GAS_COST; +const SECP256R1_NEW_GAS_COST = 40 * MEMORY_HOLE_GAS_COST + 49 * RANGE_CHECK_GAS_COST + 594 * + STEP_GAS_COST; const KECCAK_GAS_COST = 1 * SYSCALL_BASE_GAS_COST; const KECCAK_ROUND_COST_GAS_COST = 180000; +const SHA256_PROCESS_BLOCK_GAS_COST = 1115 * BITWISE_BUILTIN_GAS_COST + 65 * RANGE_CHECK_GAS_COST + + 1852 * STEP_GAS_COST + 1 * SYSCALL_BASE_GAS_COST; // Cairo 1.0 error codes. const ERROR_BLOCK_NUMBER_OUT_OF_RANGE = 'Block number out of range'; diff --git a/src/starkware/starknet/core/os/contract_class/BUILD b/src/starkware/starknet/core/os/contract_class/BUILD index 76e228a0..57cac3be 100644 --- a/src/starkware/starknet/core/os/contract_class/BUILD +++ b/src/starkware/starknet/core/os/contract_class/BUILD @@ -8,6 +8,11 @@ cairo_library( "compiled_class.cairo", "deprecated_compiled_class.cairo", ], + hint_deps = [ + ":compiled_class_hash_objects", + ":starknet_os_abi_lib", + "//src/starkware/python:starkware_python_utils_lib", + ], deps = [ "//src/starkware/cairo/common:cairo_common_cairo_lib", ], diff --git a/src/starkware/starknet/core/os/contract_class/compiled_class.cairo b/src/starkware/starknet/core/os/contract_class/compiled_class.cairo index 86afc53c..2afc2a94 100644 --- a/src/starkware/starknet/core/os/contract_class/compiled_class.cairo +++ b/src/starkware/starknet/core/os/contract_class/compiled_class.cairo @@ -316,11 +316,12 @@ func load_compiled_class_facts{poseidon_ptr: PoseidonBuiltin*, range_check_ptr}( %} let (builtin_costs: felt*) = alloc(); - assert builtin_costs[0] = 0; - assert builtin_costs[1] = 0; - assert builtin_costs[2] = 0; - assert builtin_costs[3] = 0; - assert builtin_costs[4] = 0; + assert builtin_costs[0] = 0; // Pedersen + assert builtin_costs[1] = 0; // Bitwise + assert builtin_costs[2] = 0; // EcOp + assert builtin_costs[3] = 0; // Poseidon + assert builtin_costs[4] = 0; // AddMod + assert builtin_costs[5] = 0; // MulMod load_compiled_class_facts_inner( n_compiled_class_facts=n_compiled_class_facts, diff --git a/src/starkware/starknet/core/os/data_availability/BUILD b/src/starkware/starknet/core/os/data_availability/BUILD index 16551153..10b480f4 100644 --- a/src/starkware/starknet/core/os/data_availability/BUILD +++ b/src/starkware/starknet/core/os/data_availability/BUILD @@ -12,6 +12,9 @@ cairo_library( srcs = [ "bls_field.cairo", ], + hint_deps = [ + ":bls_utils", + ], visibility = ["//visibility:public"], deps = [ "//src/starkware/cairo/common:cairo_common_cairo_lib", diff --git a/src/starkware/starknet/core/os/data_availability/commitment.cairo b/src/starkware/starknet/core/os/data_availability/commitment.cairo index a516c622..cbb07a7d 100644 --- a/src/starkware/starknet/core/os/data_availability/commitment.cairo +++ b/src/starkware/starknet/core/os/data_availability/commitment.cairo @@ -1,6 +1,7 @@ +from starkware.cairo.common.bool import FALSE from starkware.cairo.common.builtin_poseidon.poseidon import poseidon_hash, poseidon_hash_many from starkware.cairo.common.cairo_builtins import PoseidonBuiltin -from starkware.cairo.common.math import assert_nn_le +from starkware.cairo.common.math import assert_in_range, assert_lt, assert_nn_le from starkware.cairo.common.uint256 import Uint256 from starkware.starknet.core.os.data_availability.bls_field import ( BigInt3, @@ -11,6 +12,8 @@ from starkware.starknet.core.os.data_availability.bls_field import ( ) const BLOB_LENGTH = 4096; +// Maximum number of blobs per L1 transaction (state_update). +const MAX_N_BLOBS = 6; // Represents an integer in the range [0, 2^384). struct Uint384 { @@ -22,64 +25,119 @@ struct Uint384 { // Data required for KZG commitment on data-availability. struct OsKzgCommitmentInfo { - // KZG commitment on the data. - kzg_commitment: Uint384, - // Generated by hashing the Stark-friendly commitment with the KZG commitment. + // Generated by hashing the Stark-friendly commitment with the KZG commitments. z: felt, - // The value of the data polynomial at `z`. - y: Uint256, + // Number of blobs the data is divided to. + n_blobs: felt, + // KZG commitment per blob. + kzg_commitments: Uint384*, + // The value of the data polynomial at `z` per blob. + evals: Uint256*, } // Computes information needed for publishing data on L1 using KZG commitment. // -// Specifically, let `p` be the data polynomial. The OS samples `p` at a point `z`, +// Specifically, divides the data into blobs of size <= BLOB_LENGTH. +// For each blob, let `p` be the data polynomial. The OS samples `p` at a point `z`, // where `z` is generated using Fiat-Shamir heuristic. // // The OS uses a Stark-friendly commitment scheme, while the L1 side uses KZG. // This requires combining them both in the generation of `z`; i.e., // the OS guesses (and outputs): -// * kzg_commitment = KZG(data), +// * kzg_commitments = [KZG(blob) for blob in blobs], // computes: -// * z = Poseidon(Poseidon(data), Poseidon(kzg_commitment.low, kzg_commitment.high)), -// and samples the polynomial: -// * y = p(z). +// * z = Poseidon(Poseidon(data), Poseidon(kzg_commitments)), +// and samples the polynomials: +// * evals = [p(z) for p in blobs_p]. // // The L1 side will need to verify that `kzg_commitment` is correct -// and that `p(z) = y` (using a KZG proof). +// and that `p(z) = y` (using a KZG proof) for each blob. func compute_os_kzg_commitment_info{range_check_ptr, poseidon_ptr: PoseidonBuiltin*}( state_updates_start: felt*, state_updates_end: felt* ) -> OsKzgCommitmentInfo* { alloc_locals; - let da_size = state_updates_end - state_updates_start; - assert_nn_le(da_size, BLOB_LENGTH); - local kzg_commitment: Uint384; + local da_size = state_updates_end - state_updates_start; + local n_blobs; + local kzg_commitments: Uint384*; + local evals: Uint256*; %{ - execution_helper.store_da_segment( + import itertools + + from starkware.python.utils import blockify + + kzg_manager.store_da_segment( da_segment=memory.get_range_as_ints(addr=ids.state_updates_start, size=ids.da_size) ) - segments.write_arg( - ids.kzg_commitment.address_, - execution_helper.polynomial_coefficients_to_kzg_commitment_callback( - execution_helper.da_segment - ) - ) + kzg_commitments = [ + kzg_manager.polynomial_coefficients_to_kzg_commitment_callback(chunk) + for chunk in blockify(kzg_manager.da_segment, chunk_size=ids.BLOB_LENGTH) + ] + + ids.n_blobs = len(kzg_commitments) + ids.kzg_commitments = segments.add_temp_segment() + ids.evals = segments.add_temp_segment() + + segments.write_arg(ids.kzg_commitments.address_, list(itertools.chain(*kzg_commitments))) %} + + // Assert valid number of blobs: 1 <= n_blobs <= MAX_N_BLOBS. + with_attr error_message("Invalid number of blobs.") { + assert_in_range(n_blobs, 1, MAX_N_BLOBS + 1); + } + + // Calculate `z`. let (da_hash) = poseidon_hash_many(n=da_size, elements=state_updates_start); - let (kzg_commitment_hash) = poseidon_hash(kzg_commitment.low, kzg_commitment.high); + let (kzg_commitment_hash) = poseidon_hash_many( + n=n_blobs * Uint384.SIZE, elements=cast(kzg_commitments, felt*) + ); let (z) = poseidon_hash(da_hash, kzg_commitment_hash); - - // Evaluate y = p(z). let z_bigint = felt_to_bigint3(z); - let unreduced_y = horner_eval( - n_coefficients=da_size, coefficients=state_updates_start, point=z_bigint + + // Evaluate each blob polynomial at `z`. + eval_in_chunks( + z=z_bigint, n_blobs=n_blobs, data_size=da_size, data=state_updates_start, evals=evals ); - // Call reduced_mul with 1 to get a reduced form of the value that satisfies the - // assumptions of `bigint3_to_uint256`. - let y_bigint = reduced_mul(unreduced_y, BigInt3(1, 0, 0)); - let y = bigint3_to_uint256(y_bigint); tempvar os_kzg_commitment_info = new OsKzgCommitmentInfo( - kzg_commitment=kzg_commitment, z=z, y=y + z=z, n_blobs=n_blobs, kzg_commitments=kzg_commitments, evals=evals ); return os_kzg_commitment_info; } + +// Splits the data into chunks of size BLOB_LENGTH, and evaluates the induced +// polynomials at the given point `z`. +// Writes the results to `evals`. +func eval_in_chunks{range_check_ptr}( + z: BigInt3, n_blobs: felt, data_size: felt, data: felt*, evals: Uint256* +) { + if (n_blobs == 1) { + assert_nn_le(data_size, BLOB_LENGTH); + let res = eval_uint256(z=z, n_coefficients=data_size, coefficients=data); + assert evals[0] = res; + return (); + } + + assert_lt(BLOB_LENGTH, data_size); + let res = eval_uint256(z=z, n_coefficients=BLOB_LENGTH, coefficients=data); + assert evals[0] = res; + return eval_in_chunks( + z=z, + n_blobs=n_blobs - 1, + data_size=data_size - BLOB_LENGTH, + data=&data[BLOB_LENGTH], + evals=&evals[1], + ); +} + +// A Wrapper for `horner_eval` that returns Uint256. +func eval_uint256{range_check_ptr}( + z: BigInt3, n_coefficients: felt, coefficients: felt* +) -> Uint256 { + let unreduced_y = horner_eval( + n_coefficients=n_coefficients, coefficients=coefficients, point=z + ); + // Call reduced_mul with 1 to get a reduced form of the value that satisfies the + // assumptions of `bigint3_to_uint256`. + let y_bigint = reduced_mul(unreduced_y, BigInt3(1, 0, 0)); + return bigint3_to_uint256(y_bigint); +} diff --git a/src/starkware/starknet/core/os/deprecated_syscall_handler.py b/src/starkware/starknet/core/os/deprecated_syscall_handler.py index 555f5e1b..c851376b 100644 --- a/src/starkware/starknet/core/os/deprecated_syscall_handler.py +++ b/src/starkware/starknet/core/os/deprecated_syscall_handler.py @@ -120,17 +120,9 @@ def get_block_number(self, segments: MemorySegmentManager, syscall_ptr: Relocata self._read_and_validate_syscall_request( syscall_name="get_block_number", syscall_ptr=syscall_ptr ) - - if self._is_validate_execution_mode(): - # Round down block number for validate. - block_number_for_validate = ( - self.block_info.block_number // constants.VALIDATE_BLOCK_NUMBER_ROUNDING - ) * constants.VALIDATE_BLOCK_NUMBER_ROUNDING - block_number = block_number_for_validate - else: - block_number = self.block_info.block_number - - response = self.syscall_structs.GetBlockNumberResponse(block_number=block_number) + response = self.syscall_structs.GetBlockNumberResponse( + block_number=self._get_block_number() + ) self._write_syscall_response( syscall_name="GetBlockNumber", response=response, syscall_ptr=syscall_ptr ) @@ -143,14 +135,8 @@ def get_sequencer_address(self, segments: MemorySegmentManager, syscall_ptr: Rel syscall_name="get_sequencer_address", syscall_ptr=syscall_ptr ) - self._verify_execution_mode(syscall_name="get_sequencer_address") - response = self.syscall_structs.GetSequencerAddressResponse( - sequencer_address=( - 0 - if self.block_info.sequencer_address is None - else self.block_info.sequencer_address - ) + sequencer_address=self._get_sequencer_address() ) self._write_syscall_response( syscall_name="GetSequencerAddress", response=response, syscall_ptr=syscall_ptr @@ -177,17 +163,9 @@ def get_block_timestamp(self, segments: MemorySegmentManager, syscall_ptr: Reloc self._read_and_validate_syscall_request( syscall_name="get_block_timestamp", syscall_ptr=syscall_ptr ) - - if self._is_validate_execution_mode(): - # Round down block timestamp for validate. - block_timestamp_for_validate = ( - self.block_info.block_timestamp // constants.VALIDATE_TIMESTAMP_ROUNDING - ) * constants.VALIDATE_TIMESTAMP_ROUNDING - block_timestamp = block_timestamp_for_validate - else: - block_timestamp = self.block_info.block_timestamp - - response = self.syscall_structs.GetBlockTimestampResponse(block_timestamp=block_timestamp) + response = self.syscall_structs.GetBlockTimestampResponse( + block_timestamp=self._get_block_timestamp() + ) self._write_syscall_response( syscall_name="GetBlockTimestamp", response=response, syscall_ptr=syscall_ptr ) @@ -256,6 +234,24 @@ def storage_write(self, segments: MemorySegmentManager, syscall_ptr: Relocatable # Private helpers. + @abstractmethod + def _get_block_number(self) -> int: + """ + Returns the block number. + """ + + @abstractmethod + def _get_block_timestamp(self) -> int: + """ + Returns the block timestamp. + """ + + @abstractmethod + def _get_sequencer_address(self) -> int: + """ + Returns the block sequencer address. + """ + @abstractmethod def _get_tx_info_ptr(self): """ @@ -324,24 +320,6 @@ def _call_contract_and_write_response(self, syscall_name: str, syscall_ptr: Relo syscall_name="CallContract", response=response, syscall_ptr=syscall_ptr ) - def _verify_execution_mode(self, syscall_name: str): - stark_assert( - not self._is_validate_execution_mode(), - code=StarknetErrorCode.UNAUTHORIZED_ACTION_ON_VALIDATE, - message=( - f"Unauthorized syscall {syscall_name} " - f"in execution mode {ExecutionMode.VALIDATE.name}." - ), - ) - - def _is_validate_execution_mode(self) -> bool: - """ - Returns False if there is no execution mode, for example when self is - DeprecatedOsSysCallHandler. - Returns True if the current execution mode is ExecutionMode.VALIDATE. - """ - return False - @abstractmethod def _get_caller_address(self, syscall_ptr: RelocatableValue) -> int: """ @@ -690,6 +668,29 @@ def send_message_to_l1(self, segments: MemorySegmentManager, syscall_ptr: Reloca # Update messages count. self.tx_execution_context.n_sent_messages += 1 + def _get_block_number(self) -> int: + if self._is_validate_execution_mode(): + # Round down block number for validate. + return ( + self.block_info.block_number // constants.VALIDATE_BLOCK_NUMBER_ROUNDING + ) * constants.VALIDATE_BLOCK_NUMBER_ROUNDING + + return self.block_info.block_number + + def _get_block_timestamp(self) -> int: + if self._is_validate_execution_mode(): + # Round down block timestamp for validate. + return ( + self.block_info.block_timestamp // constants.VALIDATE_TIMESTAMP_ROUNDING + ) * constants.VALIDATE_TIMESTAMP_ROUNDING + + return self.block_info.block_timestamp + + def _get_sequencer_address(self) -> int: + self._verify_execution_mode(syscall_name="get_sequencer_address") + + return 0 if self.block_info.sequencer_address is None else self.block_info.sequencer_address + def _get_caller_address(self, syscall_ptr: RelocatableValue) -> int: self._read_and_validate_syscall_request( syscall_name="get_caller_address", syscall_ptr=syscall_ptr @@ -717,11 +718,6 @@ def _storage_read(self, address: int) -> int: return self.starknet_storage.read(address=address) def _storage_write(self, address: int, value: int): - # Read the value before the write operation in order to log it in the read_values list. - # This value is needed to create the DictAccess while executing the corresponding - # storage_write system call. - self.starknet_storage.read(address=address) - self.starknet_storage.write(address=address, value=value) def validate_read_only_segments(self, runner: CairoFunctionRunner): @@ -760,19 +756,23 @@ def _is_validate_execution_mode(self): """ return self.tx_execution_context.execution_mode is ExecutionMode.VALIDATE + def _verify_execution_mode(self, syscall_name: str): + stark_assert( + not self._is_validate_execution_mode(), + code=StarknetErrorCode.UNAUTHORIZED_ACTION_ON_VALIDATE, + message=( + f"Unauthorized syscall {syscall_name} " + f"in execution mode {ExecutionMode.VALIDATE.name}." + ), + ) + class DeprecatedOsSysCallHandler(DeprecatedSysCallHandlerBase): """ The SysCallHandler implementation that is used by the gps ambassador. """ - def __init__( - self, - execution_helper: OsExecutionHelper, - block_info: BlockInfo, - # Note that a non-optional segments must be set before using the SysCallHandler. - segments: Optional[MemorySegmentManager] = None, - ): + def __init__(self, execution_helper: OsExecutionHelper, block_info: BlockInfo): super().__init__(block_info=block_info, segments=execution_helper.os_logger.segments) self.execution_helper = execution_helper self.syscall_counter: Dict[str, int] = {} @@ -806,6 +806,15 @@ def _deploy(self, syscall_ptr: RelocatableValue) -> int: next(self.execution_helper.result_iterator) return next(self.execution_helper.deployed_contracts_iterator) + def _get_block_number(self) -> int: + return self.execution_helper.call_cairo_execution_info.block_info.block_number + + def _get_block_timestamp(self) -> int: + return self.execution_helper.call_cairo_execution_info.block_info.block_timestamp + + def _get_sequencer_address(self) -> int: + return self.execution_helper.call_cairo_execution_info.block_info.sequencer_address + def _get_caller_address(self, syscall_ptr: RelocatableValue) -> int: return self.execution_helper.call_info.caller_address @@ -823,6 +832,4 @@ def _storage_read(self, address: int) -> int: return next(self.execution_helper.execute_code_read_iterator) def _storage_write(self, address: int, value: int): - # Advance execute_code_read_iterators since the previous storage value is written - # in each write operation. See DeprecatedBlSyscallHandler._storage_write(). - next(self.execution_helper.execute_code_read_iterator) + return diff --git a/src/starkware/starknet/core/os/execution/deprecated_execute_entry_point.cairo b/src/starkware/starknet/core/os/execution/deprecated_execute_entry_point.cairo index 51919b4f..26c2695c 100644 --- a/src/starkware/starknet/core/os/execution/deprecated_execute_entry_point.cairo +++ b/src/starkware/starknet/core/os/execution/deprecated_execute_entry_point.cairo @@ -1,7 +1,7 @@ from starkware.cairo.builtin_selection.select_builtins import select_builtins from starkware.cairo.common.alloc import alloc from starkware.cairo.common.dict_access import DictAccess -from starkware.cairo.common.find_element import find_element, search_sorted +from starkware.cairo.common.find_element import find_element, search_sorted_optimistic from starkware.cairo.common.registers import get_ap from starkware.starknet.core.os.block_context import BlockContext from starkware.starknet.core.os.builtins import ( @@ -59,7 +59,7 @@ func get_entry_point_offset{range_check_ptr}( // The key must be at offset 0. static_assert DeprecatedContractEntryPoint.selector == 0; - let (entry_point_desc: DeprecatedContractEntryPoint*, success) = search_sorted( + let (entry_point_desc: DeprecatedContractEntryPoint*, success) = search_sorted_optimistic( array_ptr=cast(entry_points, felt*), elm_size=DeprecatedContractEntryPoint.SIZE, n_elms=n_entry_points, @@ -162,7 +162,7 @@ func deprecated_execute_entry_point{ %{ execution_helper.enter_call( - execution_info_ptr=ids.execution_context.execution_info.address_) + cairo_execution_info=ids.execution_context.execution_info) %} %{ vm_enter_scope({'syscall_handler': deprecated_syscall_handler}) %} call abs contract_entry_point; diff --git a/src/starkware/starknet/core/os/execution/deprecated_execute_syscalls.cairo b/src/starkware/starknet/core/os/execution/deprecated_execute_syscalls.cairo index 66d90170..1ebb06db 100644 --- a/src/starkware/starknet/core/os/execution/deprecated_execute_syscalls.cairo +++ b/src/starkware/starknet/core/os/execution/deprecated_execute_syscalls.cairo @@ -237,6 +237,9 @@ func execute_deploy_syscall{ ec_op=selectable_builtins.ec_op, poseidon=selectable_builtins.poseidon, segment_arena=selectable_builtins.segment_arena, + range_check96=selectable_builtins.range_check96, + add_mod=selectable_builtins.add_mod, + mul_mod=selectable_builtins.mul_mod, ), non_selectable=builtin_ptrs.non_selectable, ); @@ -546,7 +549,7 @@ func execute_deprecated_syscalls{ if (selector == GET_SEQUENCER_ADDRESS_SELECTOR) { assert [cast(syscall_ptr, GetSequencerAddress*)].response = GetSequencerAddressResponse( - sequencer_address=block_context.block_info.sequencer_address + sequencer_address=execution_context.execution_info.block_info.sequencer_address ); %{ exit_syscall(selector=ids.GET_SEQUENCER_ADDRESS_SELECTOR) %} return execute_deprecated_syscalls( @@ -572,7 +575,7 @@ func execute_deprecated_syscalls{ if (selector == GET_BLOCK_TIMESTAMP_SELECTOR) { assert [cast(syscall_ptr, GetBlockTimestamp*)].response = GetBlockTimestampResponse( - block_timestamp=block_context.block_info.block_timestamp + block_timestamp=execution_context.execution_info.block_info.block_timestamp ); %{ exit_syscall(selector=ids.GET_BLOCK_TIMESTAMP_SELECTOR) %} return execute_deprecated_syscalls( @@ -585,7 +588,7 @@ func execute_deprecated_syscalls{ if (selector == GET_BLOCK_NUMBER_SELECTOR) { assert [cast(syscall_ptr, GetBlockNumber*)].response = GetBlockNumberResponse( - block_number=block_context.block_info.block_number + block_number=execution_context.execution_info.block_info.block_number ); %{ exit_syscall(selector=ids.GET_BLOCK_NUMBER_SELECTOR) %} return execute_deprecated_syscalls( diff --git a/src/starkware/starknet/core/os/execution/execute_entry_point.cairo b/src/starkware/starknet/core/os/execution/execute_entry_point.cairo index 36365ea3..d6719fca 100644 --- a/src/starkware/starknet/core/os/execution/execute_entry_point.cairo +++ b/src/starkware/starknet/core/os/execution/execute_entry_point.cairo @@ -4,7 +4,7 @@ from starkware.cairo.common.alloc import alloc from starkware.cairo.common.cairo_builtins import KeccakBuiltin from starkware.cairo.common.dict import dict_read from starkware.cairo.common.dict_access import DictAccess -from starkware.cairo.common.find_element import find_element, search_sorted +from starkware.cairo.common.find_element import find_element, search_sorted_optimistic from starkware.cairo.common.math import assert_not_zero from starkware.cairo.common.registers import get_ap from starkware.starknet.builtins.segment_arena.segment_arena import ( @@ -111,7 +111,7 @@ func get_entry_point{range_check_ptr}( // The key must be at offset 0. static_assert CompiledClassEntryPoint.selector == 0; - let (entry_point_desc: CompiledClassEntryPoint*, success) = search_sorted( + let (entry_point_desc: CompiledClassEntryPoint*, success) = search_sorted_optimistic( array_ptr=cast(entry_points, felt*), elm_size=CompiledClassEntryPoint.SIZE, n_elms=n_entry_points, @@ -214,7 +214,7 @@ func execute_entry_point{ %{ execution_helper.enter_call( - execution_info_ptr=ids.execution_context.execution_info.address_) + cairo_execution_info=ids.execution_context.execution_info) %} %{ vm_enter_scope({'syscall_handler': syscall_handler}) %} call abs contract_entry_point; @@ -319,6 +319,9 @@ func prepare_builtin_ptrs_for_execute(builtin_ptrs: BuiltinPointers*) -> Builtin ec_op=selectable_builtins.ec_op, poseidon=selectable_builtins.poseidon, segment_arena=segment_arena_ptr, + range_check96=selectable_builtins.range_check96, + add_mod=selectable_builtins.add_mod, + mul_mod=selectable_builtins.mul_mod, ), non_selectable=builtin_ptrs.non_selectable, ); diff --git a/src/starkware/starknet/core/os/execution/execute_syscalls.cairo b/src/starkware/starknet/core/os/execution/execute_syscalls.cairo index b7545654..f9cdb72a 100644 --- a/src/starkware/starknet/core/os/execution/execute_syscalls.cairo +++ b/src/starkware/starknet/core/os/execution/execute_syscalls.cairo @@ -43,6 +43,7 @@ from starkware.cairo.common.secp256r1.ec import ( try_get_point_from_x as secp256r1_try_get_point_from_x, ) from starkware.cairo.common.segments import relocate_segment +from starkware.cairo.common.sha256_state import Sha256Input, Sha256ProcessBlock, Sha256State from starkware.cairo.common.uint256 import Uint256, assert_uint256_lt, uint256_lt from starkware.starknet.common.new_syscalls import ( CALL_CONTRACT_SELECTOR, @@ -64,6 +65,7 @@ from starkware.starknet.common.new_syscalls import ( SECP256R1_MUL_SELECTOR, SECP256R1_NEW_SELECTOR, SEND_MESSAGE_TO_L1_SELECTOR, + SHA256_PROCESS_BLOCK_SELECTOR, STORAGE_READ_SELECTOR, STORAGE_WRITE_SELECTOR, CallContractRequest, @@ -99,6 +101,8 @@ from starkware.starknet.common.new_syscalls import ( SecpGetXyRequest, SecpGetXyResponse, SendMessageToL1Request, + Sha256ProcessBlockRequest, + Sha256ProcessBlockResponse, StorageReadRequest, StorageReadResponse, StorageWriteRequest, @@ -138,6 +142,7 @@ from starkware.starknet.core.os.constants import ( SECP256R1_MUL_GAS_COST, SECP256R1_NEW_GAS_COST, SEND_MESSAGE_TO_L1_GAS_COST, + SHA256_PROCESS_BLOCK_GAS_COST, STORAGE_READ_GAS_COST, STORAGE_WRITE_GAS_COST, STORED_BLOCK_HASH_BUFFER, @@ -301,6 +306,16 @@ func execute_syscalls{ ); } + if (selector == SHA256_PROCESS_BLOCK_SELECTOR) { + execute_sha256_process_block(); + %{ exit_syscall(selector=ids.SHA256_PROCESS_BLOCK_SELECTOR) %} + return execute_syscalls( + block_context=block_context, + execution_context=execution_context, + syscall_ptr_end=syscall_ptr_end, + ); + } + if (selector == SECP256K1_GET_POINT_FROM_X_SELECTOR) { execute_secp256k1_get_point_from_x(); %{ exit_syscall(selector=ids.SECP256K1_GET_POINT_FROM_X_SELECTOR) %} @@ -609,6 +624,9 @@ func execute_deploy{ ec_op=selectable_builtins.ec_op, poseidon=selectable_builtins.poseidon, segment_arena=selectable_builtins.segment_arena, + range_check96=selectable_builtins.range_check96, + add_mod=selectable_builtins.add_mod, + mul_mod=selectable_builtins.mul_mod, ), non_selectable=builtin_ptrs.non_selectable, ); @@ -791,7 +809,7 @@ func execute_get_block_hash{ // Handle out of range block number. let request_block_number = request.block_number; - let current_block_number = block_context.block_info.block_number; + let current_block_number = block_context.block_info_for_execute.block_number; // A block number is a u64. STORED_BLOCK_HASH_BUFFER is 10. // The following computations will not overflow. @@ -943,6 +961,7 @@ func execute_keccak{ } let selectable_builtins = &builtin_ptrs.selectable; + let non_selectable_builtins = &builtin_ptrs.non_selectable; let bitwise_ptr = selectable_builtins.bitwise; let keccak_ptr = builtin_ptrs.non_selectable.keccak; with bitwise_ptr, keccak_ptr { @@ -963,8 +982,63 @@ func execute_keccak{ ec_op=selectable_builtins.ec_op, poseidon=selectable_builtins.poseidon, segment_arena=selectable_builtins.segment_arena, + range_check96=selectable_builtins.range_check96, + add_mod=selectable_builtins.add_mod, + mul_mod=selectable_builtins.mul_mod, + ), + non_selectable=NonSelectableBuiltins( + keccak=keccak_ptr, sha256=non_selectable_builtins.sha256 + ), + ); + return (); +} + +// Executes the sha256_process_block system call. +func execute_sha256_process_block{ + range_check_ptr, builtin_ptrs: BuiltinPointers*, syscall_ptr: felt*, outputs: OsCarriedOutputs* +}() { + alloc_locals; + + let request = cast(syscall_ptr + RequestHeader.SIZE, Sha256ProcessBlockRequest*); + + // Reduce gas. + let (success, remaining_gas) = reduce_syscall_base_gas( + specific_base_gas_cost=SHA256_PROCESS_BLOCK_GAS_COST, + request_struct_size=Sha256ProcessBlockRequest.SIZE, + ); + + if (success == 0) { + // Not enough gas to execute the syscall. + return (); + } + + // Gas reduction has succeeded and the request is valid; write the response header. + let response_header = cast(syscall_ptr, ResponseHeader*); + // Advance syscall pointer to the response body. + let syscall_ptr = syscall_ptr + ResponseHeader.SIZE; + assert [response_header] = ResponseHeader(gas=remaining_gas, failure_flag=0); + + local sha256_ptr: Sha256ProcessBlock* = builtin_ptrs.non_selectable.sha256; + + let input = cast(sha256_ptr, Sha256Input*); + assert [input] = [cast(request.input_start, Sha256Input*)]; + + let state = cast(sha256_ptr + Sha256Input.SIZE, Sha256State*); + assert [state] = [cast(request.state_ptr, Sha256State*)]; + + let res = sha256_ptr + Sha256Input.SIZE + Sha256State.SIZE; + let sha256_ptr = sha256_ptr + Sha256ProcessBlock.SIZE; + + assert [cast(syscall_ptr, Sha256ProcessBlockResponse*)] = Sha256ProcessBlockResponse( + state_ptr=res + ); + let syscall_ptr = syscall_ptr + Sha256ProcessBlockResponse.SIZE; + + tempvar builtin_ptrs = new BuiltinPointers( + selectable=builtin_ptrs.selectable, + non_selectable=NonSelectableBuiltins( + keccak=builtin_ptrs.non_selectable.keccak, sha256=sha256_ptr ), - non_selectable=NonSelectableBuiltins(keccak=keccak_ptr), ); return (); } diff --git a/src/starkware/starknet/core/os/execution/execute_transactions.cairo b/src/starkware/starknet/core/os/execution/execute_transactions.cairo index 2665ff3a..694cdf95 100644 --- a/src/starkware/starknet/core/os/execution/execute_transactions.cairo +++ b/src/starkware/starknet/core/os/execution/execute_transactions.cairo @@ -3,14 +3,17 @@ from starkware.cairo.common.cairo_builtins import ( BitwiseBuiltin, HashBuiltin, KeccakBuiltin, + ModBuiltin, PoseidonBuiltin, ) +from starkware.cairo.common.cairo_sha256.sha256_utils import finalize_sha256 from starkware.cairo.common.dict import dict_new, dict_read, dict_update from starkware.cairo.common.dict_access import DictAccess from starkware.cairo.common.math import assert_nn, assert_nn_le, assert_not_zero from starkware.cairo.common.memcpy import memcpy from starkware.cairo.common.registers import get_fp_and_pc from starkware.cairo.common.segments import relocate_segment +from starkware.cairo.common.sha256_state import Sha256ProcessBlock from starkware.cairo.common.uint256 import Uint256 from starkware.starknet.builtins.segment_arena.segment_arena import new_arena from starkware.starknet.common.constants import ( @@ -116,6 +119,9 @@ func execute_transactions{ ec_op_ptr, keccak_ptr: KeccakBuiltin*, poseidon_ptr: PoseidonBuiltin*, + range_check96_ptr: felt*, + add_mod_ptr: ModBuiltin*, + mul_mod_ptr: ModBuiltin*, contract_state_changes: DictAccess*, contract_class_changes: DictAccess*, outputs: OsCarriedOutputs*, @@ -124,6 +130,8 @@ func execute_transactions{ // Prepare builtin pointers. let segment_arena_ptr = new_arena(); + let (sha256_ptr: Sha256ProcessBlock*) = alloc(); + %{ syscall_handler.sha256_segment = ids.sha256_ptr %} let (__fp__, _) = get_fp_and_pc(); local local_builtin_ptrs: BuiltinPointers = BuiltinPointers( @@ -135,11 +143,15 @@ func execute_transactions{ ec_op=ec_op_ptr, poseidon=poseidon_ptr, segment_arena=segment_arena_ptr, + range_check96=range_check96_ptr, + add_mod=add_mod_ptr, + mul_mod=mul_mod_ptr, ), - non_selectable=NonSelectableBuiltins(keccak=keccak_ptr), + non_selectable=NonSelectableBuiltins(keccak=keccak_ptr, sha256=sha256_ptr), ); let builtin_ptrs = &local_builtin_ptrs; + let sha256_ptr_start = builtin_ptrs.non_selectable.sha256; // Execute transactions. local n_txs = nondet %{ len(os_input.transactions) %}; @@ -174,8 +186,14 @@ func execute_transactions{ let bitwise_ptr = selectable_builtins.bitwise; let ec_op_ptr = selectable_builtins.ec_op; let poseidon_ptr = selectable_builtins.poseidon; + let range_check96_ptr = selectable_builtins.range_check96; + let add_mod_ptr = selectable_builtins.add_mod; + let mul_mod_ptr = selectable_builtins.mul_mod; let keccak_ptr = builtin_ptrs.non_selectable.keccak; + // finalize the sha256 segment. + finalize_sha256(sha256_ptr_start, builtin_ptrs.non_selectable.sha256); + return (reserved_range_checks_end=reserved_range_checks_end); } @@ -197,6 +215,7 @@ func execute_transactions_inner{ contract_class_changes: DictAccess*, outputs: OsCarriedOutputs*, }(block_context: BlockContext*, n_txs) { + %{ print(f"execute_transactions_inner: {ids.n_txs} transactions remaining.") %} if (n_txs == 0) { return (); } @@ -301,7 +320,7 @@ func charge_fee{ ) * (selector - VALIDATE_DEPLOY_ENTRY_POINT_SELECTOR) = 0; local calldata: TransferCallData = TransferCallData( - recipient=block_context.block_info.sequencer_address, + recipient=block_context.block_info_for_execute.sequencer_address, amount=Uint256(low=nondet %{ execution_helper.tx_execution_info.actual_fee %}, high=0), ); @@ -327,7 +346,7 @@ func charge_fee{ calldata_size=TransferCallData.SIZE, calldata=&calldata, execution_info=new ExecutionInfo( - block_info=block_context.block_info, + block_info=block_context.block_info_for_execute, tx_info=tx_info, caller_address=tx_info.account_contract_address, contract_address=fee_token_address, @@ -596,7 +615,7 @@ func get_invoke_tx_execution_context{range_check_ptr, contract_state_changes: Di calldata_size=nondet %{ len(tx.calldata) %}, calldata=cast(nondet %{ segments.gen_arg(tx.calldata) %}, felt*), execution_info=new ExecutionInfo( - block_info=block_context.block_info, + block_info=block_context.block_info_for_execute, tx_info=cast(nondet %{ segments.add() %}, TxInfo*), caller_address=ORIGIN_ADDRESS, contract_address=contract_address, diff --git a/src/starkware/starknet/core/os/kzg_manager.py b/src/starkware/starknet/core/os/kzg_manager.py new file mode 100644 index 00000000..40866b77 --- /dev/null +++ b/src/starkware/starknet/core/os/kzg_manager.py @@ -0,0 +1,33 @@ +from typing import Callable, List, Optional, Tuple + +# Input: polynomial in coefficients representation. +# Output: KZG commitment on the polynomial, split into two Uint192. +CoefficientsToKzgCommitmentCallback = Callable[[List[int]], Tuple[int, int]] + + +class KzgManager: + def __init__( + self, + polynomial_coefficients_to_kzg_commitment_callback: CoefficientsToKzgCommitmentCallback, + ): + # Stores the state diff computed by the OS, in case that KZG commitment is used (since + # it won't be part of the OS output). + self._da_segment: Optional[List[int]] = None + + # Callback that computes the KZG commitment of a polynomial in coefficient representation. + self.polynomial_coefficients_to_kzg_commitment_callback = ( + polynomial_coefficients_to_kzg_commitment_callback + ) + + @property + def da_segment(self) -> List[int]: + assert self._da_segment is not None, "DA segment is not initialized." + return self._da_segment + + def store_da_segment(self, da_segment: List[int]): + """ + Stores the data-availabilty segment, to be used for computing the KZG commitment + and published on L1 using a blob transaction. + """ + assert self._da_segment is None, "DA segment is already initialized." + self._da_segment = da_segment diff --git a/src/starkware/starknet/core/os/os.cairo b/src/starkware/starknet/core/os/os.cairo index a9958e3f..2fd687cf 100644 --- a/src/starkware/starknet/core/os/os.cairo +++ b/src/starkware/starknet/core/os/os.cairo @@ -1,4 +1,4 @@ -%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon +%builtins output pedersen range_check ecdsa bitwise ec_op keccak poseidon range_check96 add_mod mul_mod from starkware.cairo.common.alloc import alloc from starkware.cairo.common.bool import FALSE @@ -6,6 +6,7 @@ from starkware.cairo.common.cairo_builtins import ( BitwiseBuiltin, HashBuiltin, KeccakBuiltin, + ModBuiltin, PoseidonBuiltin, ) from starkware.cairo.common.dict import dict_new, dict_update @@ -43,6 +44,9 @@ func main{ ec_op_ptr, keccak_ptr: KeccakBuiltin*, poseidon_ptr: PoseidonBuiltin*, + range_check96_ptr: felt*, + add_mod_ptr: ModBuiltin*, + mul_mod_ptr: ModBuiltin*, }() { alloc_locals; @@ -120,20 +124,38 @@ func main{ } let pedersen_ptr = hash_ptr; - // Guess whether to use KZG commitment scheme. - local use_kzg_da = nondet %{ syscall_handler.block_info.use_kzg_da %}; + // Guess whether to use KZG commitment scheme and whether to output the full state. + local use_kzg_da = nondet %{ + syscall_handler.block_info.use_kzg_da and ( + not os_input.full_output + ) + %}; + local full_output = nondet %{ os_input.full_output %}; + + // Verify that the guessed values are 0 or 1. + assert use_kzg_da * use_kzg_da = use_kzg_da; + assert full_output * full_output = full_output; // Serialize OS output. + %{ + __serialize_data_availability_create_pages__ = True + kzg_manager = execution_helper.kzg_manager + %} + // Currently, the block hash is not enforced by the OS. serialize_os_output( os_output=new OsOutput( header=new OsOutputHeader( state_update_output=state_update_output, - block_number=block_context.block_info.block_number, - block_hash=nondet %{ os_input.block_hash %}, + prev_block_number=block_context.block_info_for_execute.block_number - 1, + new_block_number=block_context.block_info_for_execute.block_number, + prev_block_hash=nondet %{ os_input.prev_block_hash %}, + new_block_hash=nondet %{ os_input.new_block_hash %}, + os_program_hash=0, starknet_os_config_hash=starknet_os_config_hash, use_kzg_da=use_kzg_da, + full_output=full_output, ), squashed_os_state_update=squashed_os_state_update, initial_carried_outputs=initial_carried_outputs, @@ -182,7 +204,8 @@ func write_block_number_to_block_hash_mapping{range_check_ptr, contract_state_ch block_context: BlockContext* ) { alloc_locals; - tempvar old_block_number = block_context.block_info.block_number - STORED_BLOCK_HASH_BUFFER; + tempvar old_block_number = block_context.block_info_for_execute.block_number - + STORED_BLOCK_HASH_BUFFER; let is_old_block_number_non_negative = is_nn(old_block_number); if (is_old_block_number_non_negative == FALSE) { // Not enough blocks in the system - nothing to write. diff --git a/src/starkware/starknet/core/os/os_input.py b/src/starkware/starknet/core/os/os_input.py index 82599bb7..60af778b 100644 --- a/src/starkware/starknet/core/os/os_input.py +++ b/src/starkware/starknet/core/os/os_input.py @@ -44,7 +44,9 @@ class StarknetOsInput(ValidatedMarshmallowDataclass): transactions: Sequence[InternalTransaction] = field( metadata=dict(marshmallow_field=mfields.List(mfields.Nested(InternalTransactionSchema))) ) - block_hash: int + prev_block_hash: int + new_block_hash: int + full_output: int @dataclasses.dataclass(frozen=True) diff --git a/src/starkware/starknet/core/os/os_logger.py b/src/starkware/starknet/core/os/os_logger.py index 25a16cb5..c3c9de31 100644 --- a/src/starkware/starknet/core/os/os_logger.py +++ b/src/starkware/starknet/core/os/os_logger.py @@ -19,7 +19,7 @@ get_builtins_structs, get_selector_from_program, ) -from starkware.starknet.definitions.general_config import STARKNET_LAYOUT_INSTANCE +from starkware.starknet.definitions.constants import BUILTIN_INSTANCE_SIZES DEPRECATED_CALL_CONTRACT_SYSCALLS = { "delegate_call", @@ -52,6 +52,7 @@ "library_call", "deploy", "keccak", + "sha256_process_block", "emit_event", "get_block_hash", "get_execution_info", @@ -206,6 +207,8 @@ def create_builtins_from_ptr( builtins_dict = builtins_struct.selectable._asdict() builtins_dict.pop("segment_arena") builtins_dict.update(builtins_struct.non_selectable._asdict()) + # sha256 is a software builtin so we don't want to count it here. + builtins_dict.pop("sha256") return builtins_dict def sub_counter(self, enter_counter: "ResourceCounter") -> ExecutionResources: @@ -217,9 +220,7 @@ def sub_counter(self, enter_counter: "ResourceCounter") -> ExecutionResources: self.range_check_ptr - enter_counter.range_check_ptr ) builtins_count_ptr = { - with_suffix(builtin_name): safe_div( - count, STARKNET_LAYOUT_INSTANCE.builtins[builtin_name].memory_cells_per_instance - ) + with_suffix(builtin_name): safe_div(count, BUILTIN_INSTANCE_SIZES[builtin_name]) for builtin_name, count in builtins_count_ptr.items() if count != 0 } diff --git a/src/starkware/starknet/core/os/os_utils.py b/src/starkware/starknet/core/os/os_utils.py index 44fcede1..616f81ea 100644 --- a/src/starkware/starknet/core/os/os_utils.py +++ b/src/starkware/starknet/core/os/os_utils.py @@ -1,8 +1,10 @@ +import dataclasses from typing import List, Tuple from starkware.cairo.common.cairo_function_runner import CairoFunctionRunner from starkware.cairo.lang.vm.memory_dict import MemoryDict from starkware.cairo.lang.vm.relocatable import MaybeRelocatable, RelocatableValue +from starkware.python.utils import blockify from starkware.starknet.core.os import segment_utils from starkware.starknet.core.os.deprecated_syscall_handler import DeprecatedBlSyscallHandler from starkware.starknet.core.os.syscall_handler import BusinessLogicSyscallHandler @@ -23,6 +25,48 @@ KzgCommitment = Tuple[int, int] +@dataclasses.dataclass(frozen=True) +class OsKzgCommitmentInfo: + """ + Corresponds to the Cairo struct. + """ + + z: Point + n_blobs: int + kzg_commitments: List[KzgCommitment] + evals: List[PointEvaluation] + + @property + def flat_size(self) -> int: + # z, n_blobs, *kzg_commitments, *evals. + return 1 + 1 + 2 * 2 * self.n_blobs + + @classmethod + def from_flat(cls, array: List[int]) -> "OsKzgCommitmentInfo": + n_blobs = array[OsOutputConstant.KZG_N_BLOBS_OFFSET.value] + + commitments_offset = OsOutputConstant.KZG_COMMITMENTS_OFFSET.value + evals_offset = commitments_offset + n_blobs * 2 + + return cls( + z=array[OsOutputConstant.KZG_Z_OFFSET.value], + n_blobs=n_blobs, + kzg_commitments=[ + (low, high) + for low, high in blockify(array[commitments_offset:evals_offset], chunk_size=2) + ], + evals=[ + (low, high) + for low, high in blockify( + array[evals_offset : evals_offset + n_blobs * 2], chunk_size=2 + ) + ], + ) + + def __post_init__(self): + assert len(self.kzg_commitments) == len(self.evals) == self.n_blobs, "Inconsistent lengths." + + def update_builtin_pointers( memory: MemoryDict, n_builtins: int, @@ -159,7 +203,7 @@ def validate_and_process_os_context_for_version0_class( syscall_handler.post_run(runner=runner, syscall_stop_ptr=syscall_stop_ptr) -def extract_kzg_segment(program_output: List[int]) -> Tuple[KzgCommitment, Point, PointEvaluation]: +def extract_kzg_segment(program_output: List[int]) -> OsKzgCommitmentInfo: """ Returns the KZG-related fields out of the given Starknet OS program output. """ @@ -167,9 +211,4 @@ def extract_kzg_segment(program_output: List[int]) -> Tuple[KzgCommitment, Point program_output[OsOutputConstant.USE_KZG_DA_OFFSET.value] == 1 ), "A blob was attached but the KZG flag is off." - kzg_segment = program_output[ - OsOutputConstant.HEADER_SIZE.value : OsOutputConstant.HEADER_SIZE.value - + OsOutputConstant.KZG_SEGMENT_SIZE.value - ] - - return (kzg_segment[0], kzg_segment[1]), kzg_segment[2], (kzg_segment[3], kzg_segment[4]) + return OsKzgCommitmentInfo.from_flat(array=program_output[OsOutputConstant.HEADER_SIZE.value :]) diff --git a/src/starkware/starknet/core/os/output.cairo b/src/starkware/starknet/core/os/output.cairo index a714104c..2a399685 100644 --- a/src/starkware/starknet/core/os/output.cairo +++ b/src/starkware/starknet/core/os/output.cairo @@ -4,6 +4,8 @@ from starkware.cairo.common.segments import relocate_segment from starkware.cairo.common.serialize import serialize_word from starkware.starknet.core.os.data_availability.commitment import ( OsKzgCommitmentInfo, + Uint256, + Uint384, compute_os_kzg_commitment_info, ) from starkware.starknet.core.os.state.commitment import CommitmentUpdate @@ -24,13 +26,19 @@ struct OsOutput { // The header of the OS output. struct OsOutputHeader { state_update_output: CommitmentUpdate*, - block_number: felt, + prev_block_number: felt, + new_block_number: felt, + prev_block_hash: felt, // Currently, the block hash is not enforced by the OS. - block_hash: felt, + new_block_hash: felt, + // The hash of the OS program, if the aggregator was used. Zero if the OS was used directly. + os_program_hash: felt, starknet_os_config_hash: felt, // Indicates whether to use KZG commitment scheme instead of adding the data-availability to // the transaction data. use_kzg_da: felt, + // Indicates whether previous state values are included in the state update information. + full_output: felt, } // An L2 to L1 message header, the message payload is concatenated to the end of the header. @@ -65,6 +73,7 @@ func serialize_os_output{range_check_ptr, poseidon_ptr: PoseidonBuiltin*, output alloc_locals; local use_kzg_da = os_output.header.use_kzg_da; + local full_output = os_output.header.full_output; // Compute the data availability segment. local state_updates_start: felt*; @@ -82,12 +91,14 @@ func serialize_os_output{range_check_ptr, poseidon_ptr: PoseidonBuiltin*, output output_contract_state( contract_state_changes_start=squashed_os_state_update.contract_state_changes, n_contract_state_changes=squashed_os_state_update.n_contract_state_changes, + full_output=full_output, ); // Output the contract class diff. output_contract_class_da_changes( update_ptr=squashed_os_state_update.contract_class_changes, n_updates=squashed_os_state_update.n_class_updates, + full_output=full_output, ); } @@ -139,10 +150,14 @@ func serialize_output_header{output_ptr: felt*}(os_output_header: OsOutputHeader // Serialize roots. serialize_word(os_output_header.state_update_output.initial_root); serialize_word(os_output_header.state_update_output.final_root); - serialize_word(os_output_header.block_number); - serialize_word(os_output_header.block_hash); + serialize_word(os_output_header.prev_block_number); + serialize_word(os_output_header.new_block_number); + serialize_word(os_output_header.prev_block_hash); + serialize_word(os_output_header.new_block_hash); + serialize_word(os_output_header.os_program_hash); serialize_word(os_output_header.starknet_os_config_hash); serialize_word(os_output_header.use_kzg_da); + serialize_word(os_output_header.full_output); return (); } @@ -177,8 +192,21 @@ func serialize_messages{output_ptr: felt*}( func serialize_os_kzg_commitment_info{output_ptr: felt*}( os_kzg_commitment_info: OsKzgCommitmentInfo* ) { - assert [cast(output_ptr, OsKzgCommitmentInfo*)] = [os_kzg_commitment_info]; - let output_ptr = output_ptr + OsKzgCommitmentInfo.SIZE; + alloc_locals; + local n_blobs = os_kzg_commitment_info.n_blobs; + + static_assert OsKzgCommitmentInfo.SIZE == 4; + + serialize_word(os_kzg_commitment_info.z); + serialize_word(n_blobs); + + // Relocate 'kzg_commitments' to the correct place in the output segment. + relocate_segment(src_ptr=os_kzg_commitment_info.kzg_commitments, dest_ptr=output_ptr); + let output_ptr: felt* = &os_kzg_commitment_info.kzg_commitments[n_blobs]; + + // Relocate 'evals' to the correct place in the output segment. + relocate_segment(src_ptr=os_kzg_commitment_info.evals, dest_ptr=output_ptr); + let output_ptr: felt* = &os_kzg_commitment_info.evals[n_blobs]; return (); } @@ -194,34 +222,36 @@ func serialize_data_availability{output_ptr: felt*}( %{ from starkware.python.math_utils import div_ceil - onchain_data_start = ids.da_start - onchain_data_size = ids.output_ptr - onchain_data_start - - max_page_size = 3800 - n_pages = div_ceil(onchain_data_size, max_page_size) - for i in range(n_pages): - start_offset = i * max_page_size - output_builtin.add_page( - page_id=1 + i, - page_start=onchain_data_start + start_offset, - page_size=min(onchain_data_size - start_offset, max_page_size), - ) - # Set the tree structure to a root with two children: - # * A leaf which represents the main part - # * An inner node for the onchain data part (which contains n_pages children). - # - # This is encoded using the following sequence: - output_builtin.add_attribute('gps_fact_topology', [ - # Push 1 + n_pages pages (all of the pages). - 1 + n_pages, - # Create a parent node for the last n_pages. - n_pages, - # Don't push additional pages. - 0, - # Take the first page (the main part) and the node that was created (onchain data) - # and use them to construct the root of the fact tree. - 2, - ]) + + if __serialize_data_availability_create_pages__: + onchain_data_start = ids.da_start + onchain_data_size = ids.output_ptr - onchain_data_start + + max_page_size = 3800 + n_pages = div_ceil(onchain_data_size, max_page_size) + for i in range(n_pages): + start_offset = i * max_page_size + output_builtin.add_page( + page_id=1 + i, + page_start=onchain_data_start + start_offset, + page_size=min(onchain_data_size - start_offset, max_page_size), + ) + # Set the tree structure to a root with two children: + # * A leaf which represents the main part + # * An inner node for the onchain data part (which contains n_pages children). + # + # This is encoded using the following sequence: + output_builtin.add_attribute('gps_fact_topology', [ + # Push 1 + n_pages pages (all of the pages). + 1 + n_pages, + # Create a parent node for the last n_pages. + n_pages, + # Don't push additional pages. + 0, + # Take the first page (the main part) and the node that was created (onchain data) + # and use them to construct the root of the fact tree. + 2, + ]) %} return (); diff --git a/src/starkware/starknet/core/os/program_hash.json b/src/starkware/starknet/core/os/program_hash.json index c9c514c8..f8d11b48 100644 --- a/src/starkware/starknet/core/os/program_hash.json +++ b/src/starkware/starknet/core/os/program_hash.json @@ -1,3 +1,3 @@ { - "program_hash": "0x3e060e1f35eb3a968ab349767e3aeff9fa5d74f82230aeccab73345ac11282" + "program_hash": "0x1d83cded627b9239355cc5b4ad5c37979058c5c6423cf2107fa8e16933875eb" } diff --git a/src/starkware/starknet/core/os/program_hash_test.py b/src/starkware/starknet/core/os/program_hash_test.py index 1980f89f..75c71b3e 100644 --- a/src/starkware/starknet/core/os/program_hash_test.py +++ b/src/starkware/starknet/core/os/program_hash_test.py @@ -11,7 +11,7 @@ "src/starkware/starknet/core/os/program_hash.json", default_value=os.path.join(os.path.dirname(__file__), "program_hash.json"), ) -COMMAND = "generate_starknet_os_program_hash" +COMMAND = "starknet_os_program_hash_test_fix" def test_starknet_program_hash(): diff --git a/src/starkware/starknet/core/os/state/output.cairo b/src/starkware/starknet/core/os/state/output.cairo index 0e2ed303..f1df5cb3 100644 --- a/src/starkware/starknet/core/os/state/output.cairo +++ b/src/starkware/starknet/core/os/state/output.cairo @@ -12,20 +12,30 @@ from starkware.starknet.core.os.state.commitment import StateEntry // * 1 word with the following info: // * A flag indicating whether the class hash was updated, // * the number of entry updates, +// * the old nonce (if `full_output` is used), // * and the new nonce: // +-------+-----------+-----------+ LSB // | flag | new nonce | n_updates | // | 1 bit | 64 bits | 64 bits | // +-------+-----------+-----------+ -// * The class hash for this contract (if it was updated) (0 or 1 word). +// OR (if `full_output` is used) +// +-------+-----------+-----------+-----------+ LSB +// | flag | new nonce | old nonce | n_updates | +// | 1 bit | 64 bits | 64 bits | 64 bits | +// +-------+-----------+-----------+-----------+ +// +// * The old class hash for this contract (1 word, if `full_output` is used). +// * The new class hash for this contract (1 word, if it was updated or `full_output` is used). // * For each entry update: // * key (1 word). +// * old value (1 word, only when `full_output` is used). // * new value (1 word). // // The on-chain data for contract class changes has the following format: // * The number of classes that have been declared. // * For each contract class: // * The class hash (1 word). +// * The old compiled class hash (1 word, only when `full_output` is used). // * The compiled class hash (casm, 1 word). // A bound on the number of contract state entry updates in a contract. @@ -42,7 +52,67 @@ struct StateUpdateEntry { value: felt, } -func serialize_da_changes{state_updates: StateUpdateEntry*}( +struct FullStateUpdateEntry { + // The entry's key. + key: felt, + // The previous value. + prev_value: felt, + // The new value. + new_value: felt, +} + +// Outputs the entries that were changed in `update_ptr` into `state_updates_ptr`. +// Returns the number of such entries. +func serialize_da_changes{state_updates_ptr: felt*}( + update_ptr: DictAccess*, n_updates: felt, full_output: felt +) -> felt { + if (full_output == 0) { + // Keep a pointer to the start of the array. + let state_updates_start = state_updates_ptr; + // Cast `state_updates_ptr` to `StateUpdateEntry*`. + let state_updates = cast(state_updates_ptr, StateUpdateEntry*); + + serialize_da_changes_inner{state_updates=state_updates}( + update_ptr=update_ptr, n_updates=n_updates + ); + + // Cast back to `felt*`. + let state_updates_ptr = cast(state_updates, felt*); + return (state_updates_ptr - state_updates_start) / StateUpdateEntry.SIZE; + } else { + // Keep a pointer to the start of the array. + let state_updates_start = state_updates_ptr; + // Cast `state_updates_ptr` to `FullStateUpdateEntry*`. + let state_updates_full = cast(state_updates_ptr, FullStateUpdateEntry*); + + serialize_da_changes_inner_full{state_updates=state_updates_full}( + update_ptr=update_ptr, n_updates=n_updates + ); + + // Cast back to `felt*`. + let state_updates_ptr = cast(state_updates_full, felt*); + return (state_updates_ptr - state_updates_start) / FullStateUpdateEntry.SIZE; + } +} + +// Helper function for `serialize_da_changes` for the case `full_output == 0`. +func serialize_da_changes_inner{state_updates: StateUpdateEntry*}( + update_ptr: DictAccess*, n_updates: felt +) { + if (n_updates == 0) { + return (); + } + if (update_ptr.prev_value == update_ptr.new_value) { + tempvar state_updates = state_updates; + } else { + assert state_updates[0] = StateUpdateEntry(key=update_ptr.key, value=update_ptr.new_value); + tempvar state_updates = &state_updates[1]; + } + return serialize_da_changes_inner(update_ptr=&update_ptr[1], n_updates=n_updates - 1); +} + +// Helper function for `serialize_da_changes` for the case `full_output == 1`. +func serialize_da_changes_inner_full{state_updates: FullStateUpdateEntry*}( update_ptr: DictAccess*, n_updates: felt ) { if (n_updates == 0) { @@ -51,10 +121,12 @@ func serialize_da_changes{state_updates: StateUpdateEntry*}( if (update_ptr.prev_value == update_ptr.new_value) { tempvar state_updates = state_updates; } else { - assert [state_updates] = StateUpdateEntry(key=update_ptr.key, value=update_ptr.new_value); - tempvar state_updates = state_updates + StateUpdateEntry.SIZE; + assert state_updates[0] = FullStateUpdateEntry( + key=update_ptr.key, prev_value=update_ptr.prev_value, new_value=update_ptr.new_value + ); + tempvar state_updates = &state_updates[1]; } - return serialize_da_changes(update_ptr=update_ptr + DictAccess.SIZE, n_updates=n_updates - 1); + return serialize_da_changes_inner_full(update_ptr=&update_ptr[1], n_updates=n_updates - 1); } // Writes the changed values in the contract state into `state_updates_ptr` @@ -63,7 +135,7 @@ func serialize_da_changes{state_updates: StateUpdateEntry*}( // // Assumption: The dictionary `contract_state_changes_start` is squashed. func output_contract_state{range_check_ptr, state_updates_ptr: felt*}( - contract_state_changes_start: DictAccess*, n_contract_state_changes: felt + contract_state_changes_start: DictAccess*, n_contract_state_changes: felt, full_output: felt ) { alloc_locals; @@ -76,6 +148,7 @@ func output_contract_state{range_check_ptr, state_updates_ptr: felt*}( output_contract_state_inner( n_contract_state_changes=n_contract_state_changes, state_changes=contract_state_changes_start, + full_output=full_output, ); } // Write number of state updates. @@ -88,7 +161,7 @@ func output_contract_state{range_check_ptr, state_updates_ptr: felt*}( // // Increases `n_actual_state_changes` by the number of contracts with state changes. func output_contract_state_inner{range_check_ptr, state_updates_ptr: felt*, n_actual_state_changes}( - n_contract_state_changes: felt, state_changes: DictAccess* + n_contract_state_changes: felt, state_changes: DictAccess*, full_output: felt ) { if (n_contract_state_changes == 0) { return (); @@ -97,6 +170,7 @@ func output_contract_state_inner{range_check_ptr, state_updates_ptr: felt*, n_ac local prev_state: StateEntry* = cast(state_changes.prev_value, StateEntry*); local new_state: StateEntry* = cast(state_changes.new_value, StateEntry*); + local prev_state_nonce = prev_state.nonce; local new_state_nonce = new_state.nonce; local storage_dict_start: DictAccess* = prev_state.storage_ptr; @@ -111,30 +185,35 @@ func output_contract_state_inner{range_check_ptr, state_updates_ptr: felt*, n_ac // Class hash. local was_class_updated = is_not_zero(prev_state.class_hash - new_state.class_hash); const BASE_HEADER_SIZE = 2; - if (was_class_updated != 0) { - // Write the new class hash. - assert contract_header[BASE_HEADER_SIZE] = new_state.class_hash; + if (full_output != 0) { + // Write the previous and new class hash. + assert contract_header[BASE_HEADER_SIZE] = prev_state.class_hash; + assert contract_header[BASE_HEADER_SIZE + 1] = new_state.class_hash; // The offset of the storage diff from the header. - tempvar storage_diff_offset = BASE_HEADER_SIZE + 1; + tempvar storage_diff_offset = BASE_HEADER_SIZE + 2; } else { - tempvar storage_diff_offset = BASE_HEADER_SIZE; + if (was_class_updated != 0) { + // Write the new class hash. + assert contract_header[BASE_HEADER_SIZE] = new_state.class_hash; + // The offset of the storage diff from the header. + tempvar storage_diff_offset = BASE_HEADER_SIZE + 1; + } else { + tempvar storage_diff_offset = BASE_HEADER_SIZE; + } } - local storage_diff_start: StateUpdateEntry* = cast( - contract_header + storage_diff_offset, StateUpdateEntry* + let storage_diff: felt* = contract_header + storage_diff_offset; + let n_actual_updates = serialize_da_changes{state_updates_ptr=storage_diff}( + update_ptr=storage_dict_start, n_updates=n_updates, full_output=full_output ); - let storage_diff = storage_diff_start; - serialize_da_changes{state_updates=storage_diff}( - update_ptr=storage_dict_start, n_updates=n_updates - ); - - // Number of actual updates. - local n_updates = (storage_diff - storage_diff_start) / StateUpdateEntry.SIZE; - if (n_updates == 0 and new_state_nonce == prev_state.nonce and was_class_updated == 0) { + if (full_output == 0 and n_actual_updates == 0 and new_state_nonce == prev_state_nonce and + was_class_updated == 0) { // There are no updates for this contract. return output_contract_state_inner( - n_contract_state_changes=n_contract_state_changes - 1, state_changes=&state_changes[1] + n_contract_state_changes=n_contract_state_changes - 1, + state_changes=&state_changes[1], + full_output=full_output, ); } @@ -144,25 +223,36 @@ func output_contract_state_inner{range_check_ptr, state_updates_ptr: felt*, n_ac // Write the second word of the header. // Write 'was class update' flag. let value = was_class_updated; - // Write the nonce. + // Write the new nonce. assert_nn_le(new_state_nonce, NONCE_BOUND - 1); let value = value * NONCE_BOUND + new_state_nonce; + // Write the old nonce (if `full_output` is used). + if (full_output == 0) { + tempvar value = value; + tempvar range_check_ptr = range_check_ptr; + } else { + assert_nn_le(prev_state_nonce, NONCE_BOUND - 1); + tempvar value = value * NONCE_BOUND + prev_state_nonce; + tempvar range_check_ptr = range_check_ptr; + } // Write the number of updates. - assert_nn_le(n_updates, N_UPDATES_BOUND - 1); - let value = value * N_UPDATES_BOUND + n_updates; + assert_nn_le(n_actual_updates, N_UPDATES_BOUND - 1); + let value = value * N_UPDATES_BOUND + n_actual_updates; assert contract_header[1] = value; let state_updates_ptr = cast(storage_diff, felt*); let n_actual_state_changes = n_actual_state_changes + 1; return output_contract_state_inner( - n_contract_state_changes=n_contract_state_changes - 1, state_changes=&state_changes[1] + n_contract_state_changes=n_contract_state_changes - 1, + state_changes=&state_changes[1], + full_output=full_output, ); } // Serializes changes in the contract class tree into 'state_updates_ptr'. func output_contract_class_da_changes{state_updates_ptr: felt*}( - update_ptr: DictAccess*, n_updates: felt + update_ptr: DictAccess*, n_updates: felt, full_output: felt ) { alloc_locals; @@ -171,16 +261,14 @@ func output_contract_class_da_changes{state_updates_ptr: felt*}( let state_updates_ptr = &state_updates_ptr[1]; // Write the updates. - local state_updates: StateUpdateEntry* = cast(state_updates_ptr, StateUpdateEntry*); - let state_updates_start = state_updates; - with state_updates { - serialize_da_changes(update_ptr=update_ptr, n_updates=n_updates); + with state_updates_ptr { + let n_actual_updates = serialize_da_changes( + update_ptr=update_ptr, n_updates=n_updates, full_output=full_output + ); } - let state_updates_ptr = cast(state_updates, felt*); // Write the number of updates. - let n_diffs = (state_updates - state_updates_start) / StateUpdateEntry.SIZE; - assert n_diffs_output_placeholder = n_diffs; + assert n_diffs_output_placeholder = n_actual_updates; return (); } diff --git a/src/starkware/starknet/core/os/syscall_handler.py b/src/starkware/starknet/core/os/syscall_handler.py index 8e338ba6..71924911 100644 --- a/src/starkware/starknet/core/os/syscall_handler.py +++ b/src/starkware/starknet/core/os/syscall_handler.py @@ -20,10 +20,12 @@ from starkware.cairo.common.cairo_function_runner import CairoFunctionRunner from starkware.cairo.common.cairo_secp.secp_utils import SECP256K1, SECP256R1, Curve +from starkware.cairo.common.cairo_sha256.sha256_utils import sha_256_update_state from starkware.cairo.common.keccak_utils.keccak_utils import keccak_f from starkware.cairo.common.structs import CairoStructProxy from starkware.cairo.lang.vm.memory_segments import MemorySegmentManager from starkware.cairo.lang.vm.relocatable import MaybeRelocatable, RelocatableValue +from starkware.cairo.lang.vm.vm_consts import VmConstsReference from starkware.python.math_utils import ( EC_INFINITY, EcInfinity, @@ -63,6 +65,7 @@ from starkware.starknet.core.os.contract_address.contract_address import ( calculate_contract_address_from_hash, ) +from starkware.starknet.core.os.kzg_manager import CoefficientsToKzgCommitmentCallback, KzgManager from starkware.starknet.core.os.os_logger import OptionalSegmentManager, OsLogger from starkware.starknet.core.os.syscall_utils import ( STARKNET_SYSCALLS_COMPILED_PATH, @@ -94,10 +97,6 @@ ["SyscallHandlerBase", int, CairoStructProxy], SyscallFullResponse ] -# Input: polynomial in coefficients representation. -# Output: KZG commitment on the polynomial, split into two Uint192. -CoefficientsToKzgCommitmentCallback = Callable[[List[int]], Tuple[int, int]] - KECCAK_FULL_RATE_IN_U64S = 17 @@ -137,6 +136,9 @@ def __init__( self.ec_points_segment: Optional[RelocatableValue] = None self.ec_point_size = cast(int, self.structs.EcPoint.size) + self.sha256_segment: Optional[VmConstsReference] = None + self.sha256_block_count = 0 + @classmethod @cachetools.cached(cache={}) def get_selector_to_syscall_info(cls) -> Dict[int, SyscallInfo]: @@ -211,6 +213,11 @@ def get_selector_to_syscall_info(cls) -> Dict[int, SyscallInfo]: execute_callback=cls.keccak, request_struct=structs.KeccakRequest, ), + get_selector("sha256_process_block"): SyscallInfo( + name="sha256_process_block", + execute_callback=cls.sha256_process_block, + request_struct=structs.Sha256ProcessBlockRequest, + ), get_selector("get_block_hash"): SyscallInfo( name="get_block_hash", execute_callback=cls.get_block_hash, @@ -577,6 +584,39 @@ def keccak(self, remaining_gas: int, request: CairoStructProxy) -> SyscallFullRe response = self.structs.KeccakResponse(result_low=result[0], result_high=result[1]) return response_header, response + def sha256_process_block( + self, remaining_gas: int, request: CairoStructProxy + ) -> SyscallFullResponse: + assert isinstance(request.state_ptr, RelocatableValue) + assert isinstance(request.input_start, RelocatableValue) + + state_array = self._get_felt_range( + start_addr=request.state_ptr, end_addr=request.state_ptr + 8 + ) + + input_array = self._get_felt_range( + start_addr=request.input_start, end_addr=request.input_start + 16 + ) + + assert type(self.sha256_segment) == VmConstsReference + + state_array = sha_256_update_state( + state_array, + input_array, + ) + + self.segments.write_arg( + ptr=self.sha256_segment[self.sha256_block_count].out_state.address_, arg=state_array + ) + + response_header = self.structs.ResponseHeader(gas=remaining_gas, failure_flag=0) + response = self.structs.Sha256ProcessBlockResponse( + state_ptr=self.sha256_segment[self.sha256_block_count].out_state.address_ + ) + self.sha256_block_count += 1 + + return response_header, response + def storage_read(self, remaining_gas: int, request: CairoStructProxy) -> SyscallFullResponse: assert request.reserved == 0, f"Unsupported address domain: {request.reserved}." value = self._storage_read(key=cast_to_int(request.key)) @@ -1168,14 +1208,8 @@ def __init__( """ self.debug_mode = debug_mode - # Stores the state diff computed by the OS, in case that KZG commitment is used (since - # it won't be part of the OS output). - self._da_segment: Optional[List[int]] = None + self.kzg_manager = KzgManager(polynomial_coefficients_to_kzg_commitment_callback) - # Callback that computes the KZG commitment of a polynomial in coefficient representation. - self.polynomial_coefficients_to_kzg_commitment_callback = ( - polynomial_coefficients_to_kzg_commitment_callback - ) self.tx_execution_info_iterator: Iterator[TransactionExecutionInfo] = iter( tx_execution_infos ) @@ -1206,11 +1240,11 @@ def __init__( # Set during enter_tx. self.tx_info_ptr: Optional[RelocatableValue] = None - # A pointer to the Cairo ExecutionInfo struct of the current call. - # This pointer needs to match the ExecutionInfo pointer that is going to be used during the + # The Cairo ExecutionInfo struct of the current call. + # Should match the ExecutionInfo pointer that is going to be used during the # system call validation by the StarkNet OS. # Set during enter_call. - self.call_execution_info_ptr: Optional[RelocatableValue] = None + self._call_cairo_execution_info: Optional[VmConstsReference] = None # Current running event loop; used for running async tasks in a synchronous context. self.loop = loop @@ -1258,17 +1292,9 @@ async def create( ) @property - def da_segment(self) -> List[int]: - assert self._da_segment is not None, "DA segment is not initialized." - return self._da_segment - - def store_da_segment(self, da_segment: List[int]): - """ - Stores the data-availabilty segment, to be used for computing the KZG commitment - and published on L1 using a blob transaction. - """ - assert self._da_segment is None, "DA segment is already initialized." - self._da_segment = da_segment + def call_cairo_execution_info(self) -> VmConstsReference: + assert self._call_cairo_execution_info is not None, "ExecutionInfo is not set." + return self._call_cairo_execution_info def compute_storage_commitments(self) -> Mapping[int, CommitmentInfo]: coroutine = gather_in_chunks( @@ -1322,9 +1348,9 @@ def assert_interators_exhausted(self): assert_exhausted(iterator=self.result_iterator) assert_exhausted(iterator=self.execute_code_read_iterator) - def enter_call(self, execution_info_ptr: Optional[RelocatableValue]): - assert self.call_execution_info_ptr is None - self.call_execution_info_ptr = execution_info_ptr + def enter_call(self, cairo_execution_info: Optional[VmConstsReference]): + assert self._call_cairo_execution_info is None + self._call_cairo_execution_info = cairo_execution_info self.assert_interators_exhausted() @@ -1340,7 +1366,7 @@ def enter_call(self, execution_info_ptr: Optional[RelocatableValue]): self.execute_code_read_iterator = iter(self.call_info.storage_read_values) def exit_call(self): - self.call_execution_info_ptr = None + self._call_cairo_execution_info = None self.assert_interators_exhausted() assert self._call_info is not None @@ -1351,7 +1377,7 @@ def skip_call(self): Called when skipping the execution of a call. It replaces a call to enter_call and exit_call. """ - self.enter_call(execution_info_ptr=None) + self.enter_call(cairo_execution_info=None) self.exit_call() def skip_tx(self): @@ -1422,10 +1448,7 @@ def _get_block_hash(self, block_number: int) -> int: ) def _get_execution_info_ptr(self) -> RelocatableValue: - assert ( - self.execution_helper.call_execution_info_ptr is not None - ), "ExecutionInfo pointer is not set." - return self.execution_helper.call_execution_info_ptr + return self.execution_helper.call_cairo_execution_info.address_ def _storage_read(self, key: int) -> int: return next(self.execution_helper.execute_code_read_iterator) diff --git a/src/starkware/starknet/core/os/transaction_hash/transaction_hash.cairo b/src/starkware/starknet/core/os/transaction_hash/transaction_hash.cairo index d5eddbeb..01fe99a6 100644 --- a/src/starkware/starknet/core/os/transaction_hash/transaction_hash.cairo +++ b/src/starkware/starknet/core/os/transaction_hash/transaction_hash.cairo @@ -367,6 +367,9 @@ func update_builtin_ptrs{builtin_ptrs: BuiltinPointers*}( ec_op=builtin_ptrs.selectable.ec_op, poseidon=poseidon_ptr, segment_arena=builtin_ptrs.selectable.segment_arena, + range_check96=builtin_ptrs.selectable.range_check96, + add_mod=builtin_ptrs.selectable.add_mod, + mul_mod=builtin_ptrs.selectable.mul_mod, ), non_selectable=builtin_ptrs.non_selectable, ); diff --git a/src/starkware/starknet/core/test_contract/BUILD b/src/starkware/starknet/core/test_contract/BUILD index 03f42994..5a758452 100644 --- a/src/starkware/starknet/core/test_contract/BUILD +++ b/src/starkware/starknet/core/test_contract/BUILD @@ -41,6 +41,8 @@ py_library( visibility = ["//visibility:public"], deps = [ get_from_cairo_lang("//src/starkware/cairo/lang:cairo_constants_lib"), - get_from_cairo_lang("//src/starkware/starknet/services/api/contract_class:starknet_contract_class_lib"), + get_from_cairo_lang( + "//src/starkware/starknet/services/api/contract_class:starknet_contract_class_lib", + ), ], ) diff --git a/src/starkware/starknet/definitions/BUILD b/src/starkware/starknet/definitions/BUILD index f0f900cb..4dc9002e 100644 --- a/src/starkware/starknet/definitions/BUILD +++ b/src/starkware/starknet/definitions/BUILD @@ -10,6 +10,7 @@ exports_files([ py_library( name = "starknet_definitions_lib", srcs = [ + "blockifier_types.py", "constants.py", "data_availability_mode.py", "error_codes.py", @@ -17,7 +18,6 @@ py_library( "fields.py", "l1_da_mode.py", "transaction_type.py", - "types.py", ], data = ["versioned_constants.json"], visibility = ["//visibility:public"], @@ -53,6 +53,7 @@ py_library( "//src/starkware/python:starkware_python_utils_lib", "//src/starkware/starkware_utils:starkware_config_utils_lib", "//src/starkware/starkware_utils:starkware_dataclasses_utils_lib", + requirement("marshmallow"), requirement("marshmallow_dataclass"), ], ) diff --git a/src/starkware/starknet/definitions/types.py b/src/starkware/starknet/definitions/blockifier_types.py similarity index 76% rename from src/starkware/starknet/definitions/types.py rename to src/starkware/starknet/definitions/blockifier_types.py index 89fafeef..e95a370e 100644 --- a/src/starkware/starknet/definitions/types.py +++ b/src/starkware/starknet/definitions/blockifier_types.py @@ -1,3 +1,5 @@ +# Modules should not be named `types`, as this may cause errors: +# https://stackoverflow.com/questions/43453414 . from typing import Dict, Tuple # Blockifier typedefs: diff --git a/src/starkware/starknet/definitions/constants.py b/src/starkware/starknet/definitions/constants.py index 19e6f233..e127d159 100644 --- a/src/starkware/starknet/definitions/constants.py +++ b/src/starkware/starknet/definitions/constants.py @@ -2,7 +2,7 @@ import json from enum import Enum from pathlib import Path -from typing import Dict +from typing import Dict, Union from starkware.crypto.signature.signature import FIELD_PRIME from starkware.python.utils import from_bytes @@ -53,6 +53,7 @@ MAX_PRICE_PER_UNIT_BITS = 128 MAX_PRICE_PER_UNIT_LOWER_BOUND = 0 MAX_PRICE_PER_UNIT_UPPER_BOUND = 2**MAX_PRICE_PER_UNIT_BITS +MAX_STATE_DIFF_LENGTH = 2**64 NONCE_LOWER_BOUND = 0 NONCE_UPPER_BOUND = 2**NONCE_BITS SIERRA_ARRAY_LEN_BOUND = 2**32 @@ -68,7 +69,6 @@ ADDRESS_UPPER_BOUND = 2**ADDRESS_BITS UNINITIALIZED_CLASS_HASH = bytes(HASH_BYTES) - # In order to identify transactions from unsupported versions. DEPRECATED_TRANSACTION_VERSION = 1 DEPRECATED_DECLARE_VERSION = 2 @@ -87,7 +87,7 @@ ) # Sierra -> Casm compilation version. -SIERRA_VERSION = [1, 5, 0] +SIERRA_VERSION = [1, 6, 0] # Contract classes with sierra version older than MIN_SIERRA_VERSION are not supported. MIN_SIERRA_VERSION = [1, 1, 0] @@ -104,7 +104,7 @@ COMPILED_CLASS_VERSION = from_bytes(b"COMPILED_CLASS_V1") # State diff commitment. -BLOCK_SIGNATURE_VERSION = 0 +BLOCK_SIGNATURE_VERSION = 1 # OS-related constants. L1_TO_L2_MSG_HEADER_SIZE = 5 @@ -142,15 +142,65 @@ VALIDATE_TIMESTAMP_ROUNDING = 3600 +class ResourceCost: + def __init__(self, numer: int, denom: int): + assert numer >= 0 and denom > 0 + self.numer = numer + self.denom = denom + + def __mul__(self, other: Union[int, "ResourceCost"]) -> "ResourceCost": + if isinstance(other, int): + return ResourceCost(numer=self.numer * other, denom=self.denom) + return ResourceCost(numer=self.numer * other.numer, denom=self.denom * other.denom) + + def __rmul__(self, other: Union[int, "ResourceCost"]) -> "ResourceCost": + return self * other + + def __add__(self, other: Union[int, "ResourceCost"]) -> "ResourceCost": + if isinstance(other, int): + return self + ResourceCost(numer=other, denom=1) + return ResourceCost( + numer=self.numer * other.denom + self.denom * other.numer, + denom=self.denom * other.denom, + ) + + def __radd__(self, other: Union[int, "ResourceCost"]) -> "ResourceCost": + return self + other + + def __lt__(self, other: "ResourceCost") -> bool: + return self.numer * other.denom < self.denom * other.numer + + def __eq__(self, other: object) -> bool: + if not isinstance(other, ResourceCost): + return NotImplemented + return self.numer * other.denom == self.denom * other.numer + + def __gt__(self, other: "ResourceCost") -> bool: + return not (self == other or self < other) + + def floor(self) -> int: + return self.numer // self.denom + + def ceil(self) -> int: + return -(-self.numer // self.denom) + + class OsOutputConstant(Enum): MERKLE_UPDATE_OFFSET = 0 - BLOCK_NUMBER_OFFSET = 2 - BLOCK_HASH_OFFSET = 3 - CONFIG_HASH_OFFSET = 4 - USE_KZG_DA_OFFSET = 5 - HEADER_SIZE = 6 - # Two Uint256 and one felt. - KZG_SEGMENT_SIZE = 5 + PREV_BLOCK_NUMBER_OFFSET = 2 + NEW_BLOCK_NUMBER_OFFSET = 3 + PREV_BLOCK_HASH_OFFSET = 4 + NEW_BLOCK_HASH_OFFSET = 5 + OS_PROGRAM_HASH_OFFSET = 6 + CONFIG_HASH_OFFSET = 7 + USE_KZG_DA_OFFSET = 8 + FULL_OUTPUT_OFFSET = 9 + HEADER_SIZE = 10 + + # KZG segment relative offsets. + KZG_Z_OFFSET = 0 + KZG_N_BLOBS_OFFSET = 1 + KZG_COMMITMENTS_OFFSET = 2 class GasCost(Enum): @@ -160,6 +210,7 @@ class GasCost(Enum): STEP = 100 RANGE_CHECK = 70 + BITWISE_BUILTIN = 594 MEMORY_HOLE = 10 INITIAL = (10**8) * STEP @@ -193,6 +244,9 @@ class GasCost(Enum): KECCAK = SYSCALL_BASE KECCAK_ROUND_COST = 180000 + SHA256_PROCESS_BLOCK = ( + 1115 * BITWISE_BUILTIN + 65 * RANGE_CHECK + 1852 * STEP + 1 * SYSCALL_BASE + ) LIBRARY_CALL = CALL_CONTRACT REPLACE_CLASS = SYSCALL_BASE + 50 * STEP STORAGE_READ = SYSCALL_BASE + 50 * STEP @@ -222,9 +276,13 @@ class ThinVersionedConstants: max_calldata_length: int max_contract_bytecode_size: int - cairo_resource_fee_weights: Dict[str, float] + cairo_resource_fee_weights: Dict[str, ResourceCost] + + l2_resource_gas_costs: Dict[str, "ResourceCost"] - l2_resource_gas_costs: Dict[str, int] + # Os kzg commitment info. + kzg_commitment_n_steps: int + kzg_commitment_builtin_instance_counter: Dict[str, int] @classmethod def create(cls): @@ -238,9 +296,35 @@ def create(cls): max_contract_bytecode_size=versioned_constants_json["gateway"][ "max_contract_bytecode_size" ], - cairo_resource_fee_weights=versioned_constants_json["vm_resource_fee_cost"], - l2_resource_gas_costs=versioned_constants_json["l2_resource_gas_costs"], + cairo_resource_fee_weights={ + key: ResourceCost(numer=val[0], denom=val[1]) + for key, val in versioned_constants_json["vm_resource_fee_cost"].items() + }, + l2_resource_gas_costs={ + key: ResourceCost(numer=val[0], denom=val[1]) + for key, val in versioned_constants_json["l2_resource_gas_costs"].items() + }, + kzg_commitment_n_steps=versioned_constants_json["os_resources"][ + "compute_os_kzg_commitment_info" + ]["n_steps"], + kzg_commitment_builtin_instance_counter=versioned_constants_json["os_resources"][ + "compute_os_kzg_commitment_info" + ]["builtin_instance_counter"], ) VERSIONED_CONSTANTS = ThinVersionedConstants.create() + +BUILTIN_INSTANCE_SIZES = { + "pedersen": 3, + "range_check": 1, + "ecdsa": 2, + "bitwise": 5, + "ec_op": 7, + "poseidon": 6, + "segment_arena": 3, + "range_check96": 1, + "add_mod": 7, + "mul_mod": 7, + "keccak": 16, +} diff --git a/src/starkware/starknet/definitions/error_codes.py b/src/starkware/starknet/definitions/error_codes.py index 920ff7c9..371bf5e6 100644 --- a/src/starkware/starknet/definitions/error_codes.py +++ b/src/starkware/starknet/definitions/error_codes.py @@ -91,8 +91,10 @@ class StarknetErrorCode(ErrorCode): PY_SERDE_ERROR = auto() PY_STARKNET_API_ERROR = auto() PY_STATE_ERROR = auto() + PY_STATEFUL_VALIDATOR_ERROR = auto() PY_STORAGE_ERROR = auto() PY_TRANSACTION_EXECUTION_ERROR = auto() + PY_TRANSACTION_EXECUTOR_ERROR = auto() PY_TRANSACTION_PRE_VALIDATION_ERROR = auto() VALIDATE_FAILURE = auto() diff --git a/src/starkware/starknet/definitions/fields.py b/src/starkware/starknet/definitions/fields.py index c6c38763..73900b33 100644 --- a/src/starkware/starknet/definitions/fields.py +++ b/src/starkware/starknet/definitions/fields.py @@ -10,6 +10,7 @@ from services.everest.definitions import fields as everest_fields from starkware.cairo.lang.tracer.tracer_data import field_element_repr +from starkware.crypto.signature.signature import EC_ORDER from starkware.python.utils import from_bytes from starkware.starknet.definitions import constants from starkware.starknet.definitions.data_availability_mode import DataAvailabilityMode @@ -17,6 +18,7 @@ from starkware.starknet.definitions.execution_mode import ExecutionMode from starkware.starknet.definitions.l1_da_mode import L1DaMode from starkware.starknet.definitions.transaction_type import TransactionType +from starkware.starkware_utils.error_handling import StarkErrorCode from starkware.starkware_utils.field_validators import ( validate_equal, validate_max_length, @@ -480,14 +482,14 @@ def validate_resource_bounds(resource_bounds: ResourceBoundsMapping) -> bool: return True -resource_bounds_mapping_metadata = dict( - marshmallow_field=mfields.Dict( - keys=EnumField(enum_cls=Resource), - values=mfields.Nested(ResourceBounds.Schema), - validate=validate_resource_bounds, - ) +resource_bounds_marshmallow_field = mfields.Dict( + keys=EnumField(enum_cls=Resource), + values=mfields.Nested(ResourceBounds.Schema), + validate=validate_resource_bounds, ) +resource_bounds_mapping_metadata = dict(marshmallow_field=resource_bounds_marshmallow_field) + account_deployment_data_metadata = felt_as_hex_bounded_list_metadata_empty_list # Gas price. @@ -704,6 +706,14 @@ def validate_resource_bounds(resource_bounds: ResourceBoundsMapping) -> bool: ) ) +StateDiffLengthField = RangeValidatedField( + lower_bound=0, + upper_bound=constants.MAX_STATE_DIFF_LENGTH, + name="State diff length", + error_code=StarknetErrorCode.OUT_OF_RANGE_BLOCK_HASH, + formatter=None, +) +OptionalStateDiffLengthField = OptionalField(field=StateDiffLengthField, none_probability=0) # State diff commitment. @@ -722,3 +732,11 @@ def validate_resource_bounds(resource_bounds: ResourceBoundsMapping) -> bool: ) public_key_metadata = everest_fields.FeltField.metadata(field_name="public key", required=True) + +PrivateKeyField = RangeValidatedField( + lower_bound=1, + upper_bound=EC_ORDER, + name="Private key", + error_code=StarkErrorCode.OUT_OF_RANGE_PRIVATE_KEY, + formatter=hex, +) diff --git a/src/starkware/starknet/definitions/general_config.py b/src/starkware/starknet/definitions/general_config.py index ae4f60f7..a1d44181 100644 --- a/src/starkware/starknet/definitions/general_config.py +++ b/src/starkware/starknet/definitions/general_config.py @@ -1,11 +1,14 @@ +import json import os from dataclasses import field +from typing import Optional +import marshmallow.fields as mfields import marshmallow_dataclass from services.everest.definitions.general_config import EverestGeneralConfig -from starkware.cairo.lang.instances import starknet_instance, starknet_with_keccak_instance -from starkware.python.utils import from_bytes +from starkware.cairo.lang.instances import dynamic_instance +from starkware.python.utils import from_bytes, get_build_dir_path from starkware.starknet.definitions import fields from starkware.starknet.definitions.chain_ids import StarknetChainId from starkware.starknet.definitions.constants import VERSIONED_CONSTANTS @@ -16,15 +19,18 @@ load_int_value, ) +PRIVATE_VERSIONED_CONSTANTS_DIR = "src/starkware/starknet/definitions/private_versioned_constants" GENERAL_CONFIG_FILE_NAME = "general_config.yml" DOCKER_GENERAL_CONFIG_PATH = os.path.join("/", GENERAL_CONFIG_FILE_NAME) GENERAL_CONFIG_PATH = os.path.join(os.path.dirname(__file__), GENERAL_CONFIG_FILE_NAME) N_STEPS_RESOURCE = "n_steps" -N_STEPS_WITH_KECCAK_RESOURCE = "n_steps_with_keccak" STATE_DIFF_SIZE_WEIGHT_NAME = "state_diff_size" STATE_DIFF_SIZE_WITH_KZG_WEIGHT_NAME = "state_diff_size_with_kzg" -STARKNET_LAYOUT_INSTANCE_WITHOUT_KECCAK = starknet_instance -STARKNET_LAYOUT_INSTANCE = starknet_with_keccak_instance +N_EVENTS_NAME = "n_events" +MESSAGE_SEGMENT_LENGTH_NAME = "message_segment_length" +GAS_WEIGHT_NAME = "gas_weight" + +STARKNET_LAYOUT_INSTANCE = dynamic_instance # Reference to the default general config. default_general_config = load_config( @@ -72,7 +78,7 @@ # Configuration schema definition. -@marshmallow_dataclass.dataclass(frozen=True) +@marshmallow_dataclass.dataclass class StarknetOsConfig(Config): chain_id: int = field(default=DEFAULT_CHAIN_ID) @@ -91,7 +97,7 @@ class StarknetOsConfig(Config): ) -@marshmallow_dataclass.dataclass(frozen=True) +@marshmallow_dataclass.dataclass class GasPriceBounds: min_wei_l1_gas_price: int = field( metadata=fields.gas_price, default=DEFAULT_DEPRECATED_L1_GAS_PRICE @@ -118,7 +124,7 @@ class GasPriceBounds: ) -@marshmallow_dataclass.dataclass(frozen=True) +@marshmallow_dataclass.dataclass class StarknetGeneralConfig(EverestGeneralConfig): starknet_os_config: StarknetOsConfig = field(default_factory=StarknetOsConfig) @@ -136,20 +142,21 @@ class StarknetGeneralConfig(EverestGeneralConfig): metadata=fields.validate_n_steps_metadata, default=VERSIONED_CONSTANTS.validate_max_n_steps ) - # The default price of one ETH (10**18 Wei) in STRK units. Used in case of oracle failure. - default_eth_price_in_fri: int = field( - metadata=fields.eth_price_in_fri, default=DEFAULT_ETH_IN_FRI - ) - - constant_gas_price: bool = field( + private_versioned_constants_path: Optional[str] = field( metadata=additional_metadata( - marshmallow_field=RequiredBoolean(), + marshmallow_field=mfields.String(allow_none=True), description=( - "If true, sets ETH gas price and STRK gas price to their minimum price " - "configurations, regardless of the sampled gas prices." + "If not None, overrides the default versioned constants. Must be a name of a valid " + "versioned constants file, in the blockifier format. The file must be located in " + "the private versioned constants directory." ), ), - default=False, + default=None, + ) + + # The default price of one ETH (10**18 Wei) in STRK units. Used in case of oracle failure. + default_eth_price_in_fri: int = field( + metadata=fields.eth_price_in_fri, default=DEFAULT_ETH_IN_FRI ) sequencer_address: int = field( @@ -209,3 +216,34 @@ def min_fri_l1_data_gas_price(self) -> int: @property def max_fri_l1_data_gas_price(self) -> int: return self.gas_price_bounds.max_fri_l1_data_gas_price + + def get_optional_private_versioned_constants( + self, + ) -> Optional[str]: + """ + Returns the private versioned constants file's contents, if a filename is configured. + No need to parse the contents, as the file is already in the blockifier format. + """ + path = self.private_versioned_constants_path + if path is None: + return None + + # Assert the file exists. + relative_path = os.path.join(PRIVATE_VERSIONED_CONSTANTS_DIR, path) + absolute_path = get_build_dir_path(rel_path=relative_path) + assert os.path.isfile( + absolute_path + ), f"Invalid path to private versioned constants. {absolute_path=}." + + with open(absolute_path) as f: + private_versioned_constants = f.read() + + # Assert the string is in valid JSON format. + try: + json.loads(private_versioned_constants) + except json.JSONDecodeError as e: + raise ValueError( + f"private versioned constants file is not a valid JSON. file path: {absolute_path}." + ) from e + + return private_versioned_constants diff --git a/src/starkware/starknet/definitions/general_config.yml b/src/starkware/starknet/definitions/general_config.yml index 0e92e474..52adb126 100644 --- a/src/starkware/starknet/definitions/general_config.yml +++ b/src/starkware/starknet/definitions/general_config.yml @@ -1,4 +1,3 @@ -constant_gas_price: false default_eth_price_in_fri: 1000000000000000000000 enforce_l1_handler_fee: true gas_price_bounds: @@ -9,10 +8,10 @@ gas_price_bounds: min_wei_l1_data_gas_price: 100000 min_wei_l1_gas_price: 10000000000 invoke_tx_max_n_steps: 1000000 -sequencer_address: "0x4acb67f8e29379b475ccc408fc8269c116f64b4fe5a625644c507d7df07132" +sequencer_address: '0x795488c127693ffb36733cc054f9e2be39241a794a4877dc8fc1dbe52750488' starknet_os_config: chain_id: 1536727068981429685321 - deprecated_fee_token_address: "0x3c9310766d2309bb2d7b2934fee57f5ae8bd2c4cbb4199c88f2230ed1d5f0df" - fee_token_address: "0x17cbe4265c239101e83ffcd371cb5631101d389b088d962cd222062d9cfddab" + deprecated_fee_token_address: '0x4201b1ca8320dd248a9c18aeae742db64b0ea0f6f1f5a4c72ddb6b725e16316' + fee_token_address: '0x3c0178a04b4d297c884e366bb0a2ec0f682188ba604d71955134a203d4f2adc' use_kzg_da: true validate_max_n_steps: 1000000 diff --git a/src/starkware/starknet/definitions/versioned_constants.json b/src/starkware/starknet/definitions/versioned_constants.json index 4a15e922..5e62bccb 100644 --- a/src/starkware/starknet/definitions/versioned_constants.json +++ b/src/starkware/starknet/definitions/versioned_constants.json @@ -1,474 +1,607 @@ { - "tx_event_limits": { - "max_data_length": 300, - "max_keys_length": 50, - "max_n_emitted_events": 1000 - }, + "disable_cairo0_redeclaration": true, "gateway": { - "max_calldata_length": 4000, + "max_calldata_length": 5000, "max_contract_bytecode_size": 81920 }, - "invoke_tx_max_n_steps": 4000000, + "invoke_tx_max_n_steps": 10000000, "l2_resource_gas_costs": { - "milligas_per_data_felt": 128, - "event_key_factor": 2, - "milligas_per_code_byte": 875 + "event_key_factor": [ + 2, + 1 + ], + "gas_per_code_byte": [ + 875, + 1000 + ], + "gas_per_data_felt": [ + 128, + 1000 + ] }, "max_recursion_depth": 50, "os_constants": { - "nop_entry_point_offset": -1, - "entry_point_type_external": 0, - "entry_point_type_l1_handler": 1, - "entry_point_type_constructor": 2, - "l1_handler_version": 0, - "sierra_array_len_bound": 4294967296, - "constructor_entry_point_selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", - "execute_entry_point_selector": "0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad", - "validate_entry_point_selector": "0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775", - "validate_declare_entry_point_selector": "0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3", - "validate_deploy_entry_point_selector": "0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895", - "transfer_entry_point_selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e", - "default_entry_point_selector": 0, + "bitwise_builtin_gas_cost": 594, "block_hash_contract_address": 1, - "stored_block_hash_buffer": 10, - "step_gas_cost": 100, - "range_check_gas_cost": 70, - "memory_hole_gas_cost": 10, - "initial_gas_cost": { - "step_gas_cost": 100000000 + "call_contract_gas_cost": { + "entry_point_gas_cost": 1, + "step_gas_cost": 10, + "syscall_base_gas_cost": 1 }, - "entry_point_initial_budget": { - "step_gas_cost": 100 + "constructor_entry_point_selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "default_entry_point_selector": 0, + "deploy_gas_cost": { + "entry_point_gas_cost": 1, + "step_gas_cost": 200, + "syscall_base_gas_cost": 1 }, - "syscall_base_gas_cost": { - "step_gas_cost": 100 + "emit_event_gas_cost": { + "step_gas_cost": 10, + "syscall_base_gas_cost": 1 }, "entry_point_gas_cost": { "entry_point_initial_budget": 1, "step_gas_cost": 500 }, + "entry_point_initial_budget": { + "step_gas_cost": 100 + }, + "entry_point_type_constructor": 2, + "entry_point_type_external": 0, + "entry_point_type_l1_handler": 1, + "error_block_number_out_of_range": "Block number out of range", + "error_invalid_argument": "Invalid argument", + "error_invalid_input_len": "Invalid input length", + "error_out_of_gas": "Out of gas", + "execute_entry_point_selector": "0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad", "fee_transfer_gas_cost": { "entry_point_gas_cost": 1, "step_gas_cost": 100 }, - "transaction_gas_cost": { - "entry_point_gas_cost": 2, - "fee_transfer_gas_cost": 1, - "step_gas_cost": 100 + "get_block_hash_gas_cost": { + "step_gas_cost": 50, + "syscall_base_gas_cost": 1 }, - "call_contract_gas_cost": { - "syscall_base_gas_cost": 1, + "get_execution_info_gas_cost": { "step_gas_cost": 10, - "entry_point_gas_cost": 1 - }, - "deploy_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 200, - "entry_point_gas_cost": 1 + "syscall_base_gas_cost": 1 }, - "get_block_hash_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 50 + "initial_gas_cost": { + "step_gas_cost": 100000000 }, - "get_execution_info_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 10 + "keccak_gas_cost": { + "syscall_base_gas_cost": 1 }, + "keccak_round_cost_gas_cost": 180000, + "l1_gas": "L1_GAS", + "l1_gas_index": 0, + "l1_handler_version": 0, + "l2_gas": "L2_GAS", + "l2_gas_index": 1, "library_call_gas_cost": { "call_contract_gas_cost": 1 }, + "memory_hole_gas_cost": 10, + "nop_entry_point_offset": -1, + "range_check_gas_cost": 70, "replace_class_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 50 - }, - "storage_read_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 50 - }, - "storage_write_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 50 - }, - "emit_event_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 10 - }, - "send_message_to_l1_gas_cost": { - "syscall_base_gas_cost": 1, - "step_gas_cost": 50 + "step_gas_cost": 50, + "syscall_base_gas_cost": 1 }, "secp256k1_add_gas_cost": { - "step_gas_cost": 406, - "range_check_gas_cost": 29 + "range_check_gas_cost": 29, + "step_gas_cost": 406 }, "secp256k1_get_point_from_x_gas_cost": { - "step_gas_cost": 391, + "memory_hole_gas_cost": 20, "range_check_gas_cost": 30, - "memory_hole_gas_cost": 20 + "step_gas_cost": 391 }, "secp256k1_get_xy_gas_cost": { - "step_gas_cost": 239, + "memory_hole_gas_cost": 40, "range_check_gas_cost": 11, - "memory_hole_gas_cost": 40 + "step_gas_cost": 239 }, "secp256k1_mul_gas_cost": { - "step_gas_cost": 76501, + "memory_hole_gas_cost": 2, "range_check_gas_cost": 7045, - "memory_hole_gas_cost": 2 + "step_gas_cost": 76501 }, "secp256k1_new_gas_cost": { - "step_gas_cost": 475, + "memory_hole_gas_cost": 40, "range_check_gas_cost": 35, - "memory_hole_gas_cost": 40 + "step_gas_cost": 475 }, "secp256r1_add_gas_cost": { - "step_gas_cost": 589, - "range_check_gas_cost": 57 + "range_check_gas_cost": 57, + "step_gas_cost": 589 }, "secp256r1_get_point_from_x_gas_cost": { - "step_gas_cost": 510, + "memory_hole_gas_cost": 20, "range_check_gas_cost": 44, - "memory_hole_gas_cost": 20 + "step_gas_cost": 510 }, "secp256r1_get_xy_gas_cost": { - "step_gas_cost": 241, + "memory_hole_gas_cost": 40, "range_check_gas_cost": 11, - "memory_hole_gas_cost": 40 + "step_gas_cost": 241 }, "secp256r1_mul_gas_cost": { - "step_gas_cost": 125340, + "memory_hole_gas_cost": 2, "range_check_gas_cost": 13961, - "memory_hole_gas_cost": 2 + "step_gas_cost": 125340 }, "secp256r1_new_gas_cost": { - "step_gas_cost": 594, + "memory_hole_gas_cost": 40, "range_check_gas_cost": 49, - "memory_hole_gas_cost": 40 + "step_gas_cost": 594 }, - "keccak_gas_cost": { + "send_message_to_l1_gas_cost": { + "step_gas_cost": 50, "syscall_base_gas_cost": 1 }, - "keccak_round_cost_gas_cost": 180000, - "error_block_number_out_of_range": "Block number out of range", - "error_out_of_gas": "Out of gas", - "error_invalid_input_len": "Invalid input length", - "error_invalid_argument": "Invalid argument", - "validated": "VALID", - "l1_gas": "L1_GAS", - "l2_gas": "L2_GAS", - "l1_gas_index": 0, - "l2_gas_index": 1, + "sha256_process_block_gas_cost": { + "bitwise_builtin_gas_cost": 1115, + "range_check_gas_cost": 65, + "step_gas_cost": 1852, + "syscall_base_gas_cost": 1 + }, + "sierra_array_len_bound": 4294967296, + "step_gas_cost": 100, + "storage_read_gas_cost": { + "step_gas_cost": 50, + "syscall_base_gas_cost": 1 + }, + "storage_write_gas_cost": { + "step_gas_cost": 50, + "syscall_base_gas_cost": 1 + }, + "stored_block_hash_buffer": 10, + "syscall_base_gas_cost": { + "step_gas_cost": 100 + }, + "transaction_gas_cost": { + "entry_point_gas_cost": 2, + "fee_transfer_gas_cost": 1, + "step_gas_cost": 100 + }, + "transfer_entry_point_selector": "0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e", + "validate_declare_entry_point_selector": "0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3", + "validate_deploy_entry_point_selector": "0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895", + "validate_entry_point_selector": "0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775", "validate_rounding_consts": { "validate_block_number_rounding": 100, "validate_timestamp_rounding": 3600 - } + }, + "validated": "VALID" }, "os_resources": { + "compute_os_kzg_commitment_info": { + "builtin_instance_counter": { + "range_check_builtin": 17 + }, + "n_memory_holes": 0, + "n_steps": 113 + }, "execute_syscalls": { "call_contract": { - "n_steps": 760, "builtin_instance_counter": { - "range_check_builtin": 20 + "range_check_builtin": 15 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 827 }, "delegate_call": { - "n_steps": 713, "builtin_instance_counter": { "range_check_builtin": 19 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 713 }, "delegate_l1_handler": { - "n_steps": 692, "builtin_instance_counter": { "range_check_builtin": 15 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 692 }, "deploy": { - "n_steps": 1012, "builtin_instance_counter": { "pedersen_builtin": 7, - "range_check_builtin": 19 + "range_check_builtin": 18 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 1097 }, "emit_event": { - "n_steps": 61, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 61 }, "get_block_hash": { - "n_steps": 104, "builtin_instance_counter": { "range_check_builtin": 2 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 104 }, "get_block_number": { - "n_steps": 40, "builtin_instance_counter": {}, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 40 }, "get_block_timestamp": { - "n_steps": 38, "builtin_instance_counter": {}, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 38 }, "get_caller_address": { - "n_steps": 64, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 64 }, "get_contract_address": { - "n_steps": 64, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 64 }, "get_execution_info": { - "n_steps": 64, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 64 }, "get_sequencer_address": { - "n_steps": 34, "builtin_instance_counter": {}, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 34 }, "get_tx_info": { - "n_steps": 64, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 64 }, "get_tx_signature": { - "n_steps": 44, "builtin_instance_counter": {}, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 44 }, "keccak": { - "n_steps": 381, "builtin_instance_counter": { "bitwise_builtin": 6, "keccak_builtin": 1, "range_check_builtin": 56 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 381 }, "library_call": { - "n_steps": 751, "builtin_instance_counter": { - "range_check_builtin": 20 + "range_check_builtin": 15 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 818 }, "library_call_l1_handler": { - "n_steps": 659, "builtin_instance_counter": { "range_check_builtin": 15 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 659 }, "replace_class": { - "n_steps": 98, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 98 }, "secp256k1_add": { - "n_steps": 408, "builtin_instance_counter": { "range_check_builtin": 29 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 410 }, "secp256k1_get_point_from_x": { - "n_steps": 393, "builtin_instance_counter": { "range_check_builtin": 30 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 395 }, "secp256k1_get_xy": { - "n_steps": 205, "builtin_instance_counter": { "range_check_builtin": 11 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 207 }, "secp256k1_mul": { - "n_steps": 76503, "builtin_instance_counter": { "range_check_builtin": 7045 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 76505 }, "secp256k1_new": { - "n_steps": 459, "builtin_instance_counter": { "range_check_builtin": 35 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 461 }, "secp256r1_add": { - "n_steps": 591, "builtin_instance_counter": { "range_check_builtin": 57 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 593 }, "secp256r1_get_point_from_x": { - "n_steps": 512, "builtin_instance_counter": { "range_check_builtin": 44 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 514 }, "secp256r1_get_xy": { - "n_steps": 207, "builtin_instance_counter": { "range_check_builtin": 11 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 209 }, "secp256r1_mul": { - "n_steps": 125342, "builtin_instance_counter": { "range_check_builtin": 13961 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 125344 }, "secp256r1_new": { - "n_steps": 578, "builtin_instance_counter": { "range_check_builtin": 49 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 580 }, "send_message_to_l1": { - "n_steps": 139, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 141 + }, + "sha256_process_block": { + "builtin_instance_counter": { + "bitwise_builtin": 1115, + "range_check_builtin": 65 + }, + "n_memory_holes": 0, + "n_steps": 1855 }, "storage_read": { - "n_steps": 87, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 87 }, "storage_write": { - "n_steps": 89, "builtin_instance_counter": { "range_check_builtin": 1 }, - "n_memory_holes": 0 + "n_memory_holes": 0, + "n_steps": 89 } }, "execute_txs_inner": { "DECLARE": { - "constant": { - "n_steps": 2839, - "builtin_instance_counter": { - "pedersen_builtin": 16, - "range_check_builtin": 63 + "deprecated_resources": { + "calldata_factor": { + "builtin_instance_counter": {}, + "n_memory_holes": 0, + "n_steps": 0 }, - "n_memory_holes": 0 - }, - "calldata_factor": { - "n_steps": 0, - "builtin_instance_counter": {}, - "n_memory_holes": 0 + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 16, + "range_check_builtin": 53 + }, + "n_memory_holes": 0, + "n_steps": 2973 + } + }, + "resources": { + "calldata_factor": { + "builtin_instance_counter": {}, + "n_memory_holes": 0, + "n_steps": 0 + }, + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 4, + "poseidon_builtin": 10, + "range_check_builtin": 58 + }, + "n_memory_holes": 0, + "n_steps": 3079 + } } }, "DEPLOY_ACCOUNT": { - "constant": { - "n_steps": 3792, - "builtin_instance_counter": { - "pedersen_builtin": 23, - "range_check_builtin": 83 + "deprecated_resources": { + "calldata_factor": { + "builtin_instance_counter": { + "pedersen_builtin": 2 + }, + "n_memory_holes": 0, + "n_steps": 21 }, - "n_memory_holes": 0 - }, - "calldata_factor": { - "n_steps": 21, - "builtin_instance_counter": { - "pedersen_builtin": 2 + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 23, + "range_check_builtin": 72 + }, + "n_memory_holes": 0, + "n_steps": 4015 + } + }, + "resources": { + "calldata_factor": { + "builtin_instance_counter": { + "pedersen_builtin": 2 + }, + "n_memory_holes": 0, + "n_steps": 21 }, - "n_memory_holes": 0 + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 11, + "poseidon_builtin": 10, + "range_check_builtin": 77 + }, + "n_memory_holes": 0, + "n_steps": 4137 + } } }, "INVOKE_FUNCTION": { - "constant": { - "n_steps": 3546, - "builtin_instance_counter": { - "pedersen_builtin": 14, - "range_check_builtin": 80 + "deprecated_resources": { + "calldata_factor": { + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0, + "n_steps": 8 }, - "n_memory_holes": 0 - }, - "calldata_factor": { - "n_steps": 8, - "builtin_instance_counter": { - "pedersen_builtin": 1 + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 14, + "range_check_builtin": 69 + }, + "n_memory_holes": 0, + "n_steps": 3763 + } + }, + "resources": { + "calldata_factor": { + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0, + "n_steps": 8 }, - "n_memory_holes": 0 + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 4, + "poseidon_builtin": 11, + "range_check_builtin": 74 + }, + "n_memory_holes": 0, + "n_steps": 3904 + } } }, "L1_HANDLER": { - "constant": { - "n_steps": 1146, - "builtin_instance_counter": { - "pedersen_builtin": 11, - "range_check_builtin": 17 + "deprecated_resources": { + "calldata_factor": { + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0, + "n_steps": 13 }, - "n_memory_holes": 0 - }, - "calldata_factor": { - "n_steps": 13, - "builtin_instance_counter": { - "pedersen_builtin": 1 + "constant": { + "builtin_instance_counter": { + "pedersen_builtin": 11, + "range_check_builtin": 16 + }, + "n_memory_holes": 0, + "n_steps": 1233 + } + }, + "resources": { + "calldata_factor": { + "builtin_instance_counter": { + "pedersen_builtin": 1 + }, + "n_memory_holes": 0, + "n_steps": 13 }, - "n_memory_holes": 0 - } - }, - "DEPLOY": { - "constant": { - "builtin_instance_counter": {}, - "n_memory_holes": 0, - "n_steps": 0 - }, - "calldata_factor": { - "builtin_instance_counter": {}, - "n_memory_holes": 0, - "n_steps": 0 + "constant": { + "builtin_instance_counter": {}, + "n_memory_holes": 0, + "n_steps": 0 + } } } } }, + "tx_event_limits": { + "max_data_length": 300, + "max_keys_length": 50, + "max_n_emitted_events": 1000 + }, "validate_max_n_steps": 1000000, "vm_resource_fee_cost": { - "bitwise_builtin": 0.16, - "ec_op_builtin": 2.56, - "ecdsa_builtin": 5.12, - "keccak_builtin": 5.12, - "n_steps": 0.0025, - "output_builtin": 0, - "pedersen_builtin": 0.08, - "poseidon_builtin": 0.08, - "range_check_builtin": 0.04 + "add_mod_builtin": [ + 4, + 100 + ], + "bitwise_builtin": [ + 16, + 100 + ], + "ec_op_builtin": [ + 256, + 100 + ], + "ecdsa_builtin": [ + 512, + 100 + ], + "keccak_builtin": [ + 512, + 100 + ], + "mul_mod_builtin": [ + 4, + 100 + ], + "n_steps": [ + 25, + 10000 + ], + "output_builtin": [ + 0, + 1 + ], + "pedersen_builtin": [ + 8, + 100 + ], + "poseidon_builtin": [ + 8, + 100 + ], + "range_check96_builtin": [ + 4, + 100 + ], + "range_check_builtin": [ + 4, + 100 + ] } } diff --git a/src/starkware/starknet/services/api/contract_class/contract_class.py b/src/starkware/starknet/services/api/contract_class/contract_class.py index 34ad58d2..2b688869 100644 --- a/src/starkware/starknet/services/api/contract_class/contract_class.py +++ b/src/starkware/starknet/services/api/contract_class/contract_class.py @@ -37,6 +37,9 @@ "ec_op", "poseidon", "segment_arena", + "range_check96", + "add_mod", + "mul_mod", ] # Utilites. diff --git a/src/starkware/starknet/services/api/feeder_gateway/BUILD b/src/starkware/starknet/services/api/feeder_gateway/BUILD index 0b6fc296..f92e5bea 100644 --- a/src/starkware/starknet/services/api/feeder_gateway/BUILD +++ b/src/starkware/starknet/services/api/feeder_gateway/BUILD @@ -21,16 +21,14 @@ py_library( ) py_library( - name = "state_diff_commitment", + name = "block_signature", srcs = [ - "state_diff_commitment.py", + "block_signature.py", ], visibility = ["//visibility:public"], deps = [ ":response_objects", - "//src/starkware/cairo/lang/vm:cairo_vm_crypto_lib", "//src/starkware/crypto:starkware_crypto_lib", - "//src/starkware/starknet/definitions:starknet_definitions_lib", ], ) diff --git a/src/starkware/starknet/services/api/feeder_gateway/block_signature.py b/src/starkware/starknet/services/api/feeder_gateway/block_signature.py new file mode 100644 index 00000000..6814bed1 --- /dev/null +++ b/src/starkware/starknet/services/api/feeder_gateway/block_signature.py @@ -0,0 +1,21 @@ +from typing import Callable, List, Optional + +from starkware.crypto.signature.signature import ECSignature, sign +from starkware.starknet.services.api.feeder_gateway.response_objects import BlockSignature + +HashManyFunction = Callable[[List[int]], int] + + +def sign_block(private_key: int, block_hash: int) -> ECSignature: + """ + Signs on the block hash. + """ + return sign(block_hash, priv_key=private_key) + + +def get_signature( + block_hash: int, private_key: int, hash_func: Optional[HashManyFunction] = None +) -> BlockSignature: + return BlockSignature( + block_hash=block_hash, signature=sign_block(private_key=private_key, block_hash=block_hash) + ) diff --git a/src/starkware/starknet/services/api/feeder_gateway/response_objects.py b/src/starkware/starknet/services/api/feeder_gateway/response_objects.py index d241af92..452d7da6 100644 --- a/src/starkware/starknet/services/api/feeder_gateway/response_objects.py +++ b/src/starkware/starknet/services/api/feeder_gateway/response_objects.py @@ -101,6 +101,8 @@ class BlockStatus(Enum): REVERTED = auto() # A block that was created on L2, in contrast to PENDING, which is not yet closed. ACCEPTED_ON_L2 = auto() + # A block was proven on L2. + PROVEN_ON_L2 = auto() # A block accepted on L1. ACCEPTED_ON_L1 = auto() @@ -112,9 +114,16 @@ class FinalityStatus(Enum): RECEIVED = auto() # The transaction passed validation and entered a pending or a finalized block. ACCEPTED_ON_L2 = auto() + # The transaction was proven on L2. + PROVEN_ON_L2 = auto() # The transaction was accepted on-chain. ACCEPTED_ON_L1 = auto() + def to_deprecated(self) -> "FinalityStatus": + if self == FinalityStatus.PROVEN_ON_L2: + return FinalityStatus.ACCEPTED_ON_L2 + return self + def __ge__(self, other: object) -> bool: if not isinstance(other, FinalityStatus): return NotImplemented @@ -142,7 +151,11 @@ def from_block_status(cls, block_status: BlockStatus) -> "FinalityStatus": # A pending block will eventually be finalized, so the transaction is considered # accepted on L2. return FinalityStatus.ACCEPTED_ON_L2 - elif block_status in (BlockStatus.ACCEPTED_ON_L2, BlockStatus.ACCEPTED_ON_L1): + elif block_status in ( + BlockStatus.ACCEPTED_ON_L2, + BlockStatus.PROVEN_ON_L2, + BlockStatus.ACCEPTED_ON_L1, + ): return FinalityStatus[block_status.name] elif block_status in (BlockStatus.REVERTED, BlockStatus.ABORTED): # The transaction passed Batcher validations, but the block containing it failed on @@ -241,7 +254,7 @@ def from_new_status( statuses. """ if execution_status in (None, ExecutionStatus.SUCCEEDED): - return cls[finality_status.name] + return cls[finality_status.to_deprecated().name] assert execution_status in ( ExecutionStatus.REVERTED, @@ -307,7 +320,7 @@ def __post_init__(self): ExecutionStatus.REVERTED, ExecutionStatus.REJECTED, ), execution_status_mismatch_msg - assert self.status.name == as_non_optional(self.finality_status).name, ( + assert self.status.name == as_non_optional(self.finality_status.to_deprecated()).name, ( f"DEPRECATED status {self.status} doesn't match finality status " f"{self.finality_status}." ) @@ -373,10 +386,10 @@ def __post_init__(self): # ACCEPTED_ON_L2 transactions may be in a non finalized block. In this case the block hash # is not known yet and will be None. - if self.finality_status is FinalityStatus.ACCEPTED_ON_L1: + if self.finality_status > FinalityStatus.ACCEPTED_ON_L2: assert ( self.block_hash is not None - ), "Transactions accepted on L1 must have a block hash." + ), "Transactions that passed the gps ambassador must have a block hash." @marshmallow_dataclass.dataclass(frozen=True) @@ -474,15 +487,22 @@ class ReceiptExecutionResources(ValidatedResponseObject): # Optional for backwards compatibility. data_availability: Optional[GasVector] + # The total gas consumed by the transaction. May be None on versions before 0.13.2. + total_gas_consumed: Optional[GasVector] + @classmethod def create( - cls, execution_resources: ExecutionResources, da_gas: Optional[GasVector] + cls, + execution_resources: ExecutionResources, + da_gas: Optional[GasVector], + total_gas_consumed: Optional[GasVector], ) -> "ReceiptExecutionResources": return cls( n_steps=execution_resources.n_steps, builtin_instance_counter=execution_resources.builtin_instance_counter, n_memory_holes=0, data_availability=da_gas, + total_gas_consumed=total_gas_consumed, ) @@ -650,12 +670,19 @@ def replace_declared_contracts_with_old_declared_contracts( self, data: Dict[str, Any], many: bool, **kwargs ) -> Dict[str, Any]: """ - Renames the variable "declared_contracts" to "old_declared_contracts". + Renames the variable "declared_contracts" to "old_declared_contracts", + and Fixes the state diff by removing empty storage diffs. """ if "declared_contracts" in data: assert "old_declared_contracts" not in data data["old_declared_contracts"] = data.pop("declared_contracts") + data["storage_diffs"] = { + contract_address: storage_entries + for contract_address, storage_entries in data["storage_diffs"].items() + if len(storage_entries) > 0 + } + return data @@ -678,6 +705,10 @@ def __post_init__(self): self.new_root is None ), "new_root must appear in state update for any block other than pending block." + assert all( + len(storage_entries) > 0 for storage_entries in self.state_diff.storage_diffs.values() + ), "Empty storage diffs are not allowed." + @dataclasses.dataclass(frozen=True) class OrderedL2ToL1MessageResponse(ValidatedDataclass): @@ -860,6 +891,11 @@ class StarknetBlock(ValidatedResponseObject): ) transaction_commitment: Optional[int] = field(metadata=fields.optional_commitment_metadata) event_commitment: Optional[int] = field(metadata=fields.optional_commitment_metadata) + receipt_commitment: Optional[int] = field(metadata=fields.optional_commitment_metadata) + state_diff_commitment: Optional[int] = field(metadata=fields.optional_commitment_metadata) + state_diff_length: Optional[int] = field( + metadata=fields.OptionalStateDiffLengthField.metadata() + ) status: Optional[BlockStatus] l1_da_mode: L1DaMode = field(metadata=fields.l1_da_mode_enum_metadata) l1_gas_price: ResourcePrice @@ -894,6 +930,9 @@ def create( block_hash: Optional[int], transaction_commitment: Optional[int], event_commitment: Optional[int], + receipt_commitment: Optional[int], + state_diff_commitment: Optional[int], + state_diff_length: Optional[int], parent_block_hash: int, block_number: Optional[int], state_root: Optional[int], @@ -910,6 +949,9 @@ def create( block_hash=block_hash, transaction_commitment=transaction_commitment, event_commitment=event_commitment, + receipt_commitment=receipt_commitment, + state_diff_commitment=state_diff_commitment, + state_diff_length=state_diff_length, parent_block_hash=parent_block_hash, block_number=block_number, state_root=state_root, @@ -984,9 +1026,8 @@ class BlockSignature(ValidatedResponseObject): Contains the signature of a block. """ - block_number: int = field(metadata=fields.block_number_metadata) + block_hash: int = field(metadata=fields.block_hash_metadata) signature: ECSignature = field(metadata=fields.ec_signature_metadata) - signature_input: BlockSignatureInput @marshmallow_dataclass.dataclass(frozen=True) diff --git a/src/starkware/starknet/services/api/feeder_gateway/state_diff_commitment.py b/src/starkware/starknet/services/api/feeder_gateway/state_diff_commitment.py deleted file mode 100644 index c71a563b..00000000 --- a/src/starkware/starknet/services/api/feeder_gateway/state_diff_commitment.py +++ /dev/null @@ -1,246 +0,0 @@ -import dataclasses -from typing import Callable, Dict, List, Optional, Sequence, Tuple - -from starkware.cairo.lang.vm.crypto import poseidon_hash_many -from starkware.crypto.signature.signature import ECSignature, sign -from starkware.starknet.definitions import constants -from starkware.starknet.definitions.data_availability_mode import DataAvailabilityMode -from starkware.starknet.services.api.feeder_gateway.response_objects import ( - BlockSignature, - BlockSignatureInput, - ClassHashPair, - ContractAddressHashPair, - StateDiff, - StorageEntry, -) - -HashManyFunction = Callable[[List[int]], int] - - -@dataclasses.dataclass -class FlatDataAvailabilityModeDiff: - """ - A flat representation of a specific data availability mode diff. - """ - - storage_diff: List[int] - nonces: List[int] - - -@dataclasses.dataclass -class FlatStateDiff: - """ - A flat representation of a state diff. - """ - - version: int - deployed_contracts: List[int] - declared_classes: List[int] - old_declared_contracts: List[int] - data_availability_mode_diffs: Dict[int, FlatDataAvailabilityModeDiff] - - -def sign_block( - signature_input: BlockSignatureInput, - private_key: int, - hash_func: Optional[HashManyFunction] = None, -) -> ECSignature: - """ - Signs on the block hash and the state diff commitment. - """ - hash_func = hash_func if hash_func is not None else poseidon_hash_many - msg_hash = hash_func([signature_input.block_hash, signature_input.state_diff_commitment]) - return sign(msg_hash=msg_hash, priv_key=private_key) - - -def get_signature( - block_hash: int, - block_number: int, - state_diff: StateDiff, - private_key: int, - hash_func: Optional[HashManyFunction] = None, -) -> BlockSignature: - state_diff_commitment = calculate_state_diff_commitment( - state_diff=state_diff, hash_func=hash_func - ) - signature_input = BlockSignatureInput( - block_hash=block_hash, state_diff_commitment=state_diff_commitment - ) - return BlockSignature( - block_number=block_number, - signature_input=signature_input, - signature=sign_block( - signature_input=signature_input, - private_key=private_key, - hash_func=hash_func, - ), - ) - - -def calculate_state_diff_commitment( - state_diff: StateDiff, - version: int = constants.BLOCK_SIGNATURE_VERSION, - hash_func: Optional[HashManyFunction] = None, -) -> int: - """ - Calculates the commitment on the given state diff. - - We assume that state_diff represents a valid state_diff. For example: - * In storage_diff, any storage entry key points to a single storage entry value. - * In declared_classes, any class hash points to a single compiled class hash. - - We do not assume the state diff to be sorted. The function sorts the state diff before computing - the hash. - """ - hash_func = hash_func if hash_func is not None else poseidon_hash_many - - flat_state_diff = flatten_state_diff(state_diff=state_diff, version=version) - return calculate_flat_state_diff_commitment( - flat_state_diff=flat_state_diff, hash_func=hash_func - ) - - -def calculate_flat_state_diff_commitment( - flat_state_diff: FlatStateDiff, hash_func: HashManyFunction -) -> int: - # Gather the commitments on the state diff members. - commitment_members = [flat_state_diff.version] - - deployed_contracts_commitment = hash_func(flat_state_diff.deployed_contracts) - declared_classes_commitment = hash_func(flat_state_diff.declared_classes) - old_declared_contracts_commitment = hash_func(flat_state_diff.old_declared_contracts) - l1_members = [ - deployed_contracts_commitment, - declared_classes_commitment, - old_declared_contracts_commitment, - ] - assert ( - len(l1_members) == 3 - ), "Unexpected number of members that are not data availability mode specific." - commitment_members += l1_members - - # Flatten each data availability mode diff and add it to the commitment in ascending order. - commitment_members += [len(flat_state_diff.data_availability_mode_diffs)] - for data_availability_mode, data_availability_mode_diff in sorted( - flat_state_diff.data_availability_mode_diffs.items() - ): - data_availability_mode_diff_commitment = hash_data_availability_mode_diff( - flat_data_availability_mode_diff=data_availability_mode_diff, hash_func=hash_func - ) - commitment_members += [data_availability_mode, data_availability_mode_diff_commitment] - - return hash_func(commitment_members) - - -def flatten_state_diff(state_diff: StateDiff, version: int = 0) -> FlatStateDiff: - flattened_deployed_contracts = flatten_deployed_contracts( - # For commitment purposes, we squash the newly deployed contracts and the contracts with - # class replacement into one list. - deployed_contracts=state_diff.deployed_contracts - + state_diff.replaced_classes - ) - flattened_declared_classes = flatten_declared_classes( - declared_classes=state_diff.declared_classes - ) - flattened_old_declared_contracts = flatten_old_declared_contracts( - old_declared_contracts=state_diff.old_declared_contracts - ) - flattened_l1_data_availability_mode_diff = flatten_data_availability_mode_diff( - storage_diff=state_diff.storage_diffs, - nonces=state_diff.nonces, - ) - - return FlatStateDiff( - version=version, - deployed_contracts=flattened_deployed_contracts, - declared_classes=flattened_declared_classes, - old_declared_contracts=flattened_old_declared_contracts, - data_availability_mode_diffs={ - DataAvailabilityMode.L1.value: flattened_l1_data_availability_mode_diff - }, - ) - - -def hash_data_availability_mode_diff( - flat_data_availability_mode_diff: FlatDataAvailabilityModeDiff, - hash_func: HashManyFunction, -) -> int: - """ - Computes the hash of a data availability mode diff for commitment purposes. - Returns the identifier of the data availability mode and the hash of the data availability mode - diff. - """ - data_availability_mode_diff_members = ( - flat_data_availability_mode_diff.storage_diff, - flat_data_availability_mode_diff.nonces, - ) - assert ( - len(data_availability_mode_diff_members) == 2 - ), "Unexpected number of members in data availability mode diff commitment." - flat_data_availability_mode_state_diff: List[int] = [] - for member in data_availability_mode_diff_members: - flat_data_availability_mode_state_diff += member - - return hash_func(flat_data_availability_mode_state_diff) - - -def flatten_data_availability_mode_diff( - storage_diff: Dict[int, List[StorageEntry]], - nonces: Dict[int, int], -) -> FlatDataAvailabilityModeDiff: - return FlatDataAvailabilityModeDiff( - storage_diff=flatten_storage_diff(storage_diff=storage_diff), - nonces=flatten_nonces(nonces=nonces), - ) - - -def flatten_storage_diff(storage_diff: Dict[int, List[StorageEntry]]) -> List[int]: - flattened_storage_diff = [len(storage_diff)] - for address, storage_entries in sorted(storage_diff.items()): - flattened_storage_diff += [address] - flattened_storage_diff += flatten_storage_entries(storage_entries=storage_entries) - - return flattened_storage_diff - - -def flatten_storage_entries(storage_entries: List[StorageEntry]) -> List[int]: - tupled_storage_entries = [(entry.key, entry.value) for entry in storage_entries] - - return sort_and_flatten_tuples(tuples=tupled_storage_entries) - - -def flatten_nonces(nonces: Dict[int, int]) -> List[int]: - return sort_and_flatten_tuples(tuples=list(nonces.items())) - - -def flatten_deployed_contracts(deployed_contracts: List[ContractAddressHashPair]) -> List[int]: - tupled_deployed_contracts = [(pair.address, pair.class_hash) for pair in deployed_contracts] - - return sort_and_flatten_tuples(tuples=tupled_deployed_contracts) - - -def flatten_declared_classes(declared_classes: List[ClassHashPair]) -> List[int]: - tupled_declared_classes = [ - (pair.class_hash, pair.compiled_class_hash) for pair in declared_classes - ] - - return sort_and_flatten_tuples(tuples=tupled_declared_classes) - - -def flatten_old_declared_contracts(old_declared_contracts: Tuple[int, ...]) -> List[int]: - return [len(old_declared_contracts), *sorted(old_declared_contracts)] - - -def sort_and_flatten_tuples(tuples: Sequence[Tuple[int, int]]) -> List[int]: - """ - Flattens a list of tuples to a list of integers. - Adds the length of the list as the first element. - - For example: - [(100, 1001), (102, 1003)] -> [2, 100, 1001, 102, 1003] - """ - flattened_tuples = [len(tuples)] - for tup in sorted(tuples): - flattened_tuples += list(tup) - - return flattened_tuples diff --git a/src/starkware/starknet/solidity/BUILD b/src/starkware/starknet/solidity/BUILD index d518ff5f..9ace0770 100644 --- a/src/starkware/starknet/solidity/BUILD +++ b/src/starkware/starknet/solidity/BUILD @@ -55,7 +55,7 @@ sol_library( visibility = ["//visibility:public"], deps = [ ":starknet_messaging_sol", - "//src/starkware/solidity/libraries:common_library_sol", + "//src/starkware/solidity/libraries:addresses_library_sol", "//src/starkware/solidity/libraries:named_storage8_sol", ], ) diff --git a/src/starkware/starknet/solidity/Output.sol b/src/starkware/starknet/solidity/Output.sol index 3f01ef72..608d0e64 100644 --- a/src/starkware/starknet/solidity/Output.sol +++ b/src/starkware/starknet/solidity/Output.sol @@ -29,12 +29,19 @@ library CommitmentTreeUpdateOutput { library StarknetOutput { uint256 internal constant MERKLE_UPDATE_OFFSET = 0; - uint256 internal constant BLOCK_NUMBER_OFFSET = 2; - uint256 internal constant BLOCK_HASH_OFFSET = 3; - uint256 internal constant CONFIG_HASH_OFFSET = 4; - uint256 internal constant USE_KZG_DA_OFFSET = 5; - uint256 internal constant HEADER_SIZE = 6; - uint256 internal constant KZG_SEGMENT_SIZE = 5; + uint256 internal constant PREV_BLOCK_NUMBER_OFFSET = 2; + uint256 internal constant NEW_BLOCK_NUMBER_OFFSET = 3; + uint256 internal constant PREV_BLOCK_HASH_OFFSET = 4; + uint256 internal constant NEW_BLOCK_HASH_OFFSET = 5; + uint256 internal constant OS_PROGRAM_HASH_OFFSET = 6; + uint256 internal constant CONFIG_HASH_OFFSET = 7; + uint256 internal constant USE_KZG_DA_OFFSET = 8; + uint256 internal constant FULL_OUTPUT_OFFSET = 9; + uint256 internal constant HEADER_SIZE = 10; + + uint256 internal constant KZG_Z_OFFSET = 0; + uint256 internal constant KZG_N_BLOBS_OFFSET = 1; + uint256 internal constant KZG_COMMITMENTS_OFFSET = 2; uint256 constant MESSAGE_TO_L1_FROM_ADDRESS_OFFSET = 0; uint256 constant MESSAGE_TO_L1_TO_ADDRESS_OFFSET = 1; @@ -51,8 +58,27 @@ library StarknetOutput { /** Returns the offset of the messages segment in the output_data. */ - function messageSegmentOffset(uint256 use_kzg_da) internal pure returns (uint256) { - return HEADER_SIZE + (use_kzg_da == 1 ? KZG_SEGMENT_SIZE : 0); + function messageSegmentOffset(uint256[] calldata programOutput) + internal + pure + returns (uint256) + { + if (programOutput[USE_KZG_DA_OFFSET] == 0) { + // No KZG info; messages are right after the header. + return HEADER_SIZE; + } + + uint256 nBlobs = programOutput[HEADER_SIZE + KZG_N_BLOBS_OFFSET]; + return + HEADER_SIZE + + // Point z. + 1 + + // Number of blobs. + 1 + + // KZG commitments. + (2 * nBlobs) + + // Point evaluations. + (2 * nBlobs); } /** diff --git a/src/starkware/starknet/solidity/Starknet.sol b/src/starkware/starknet/solidity/Starknet.sol index 6be08c21..859c4c5d 100644 --- a/src/starkware/starknet/solidity/Starknet.sol +++ b/src/starkware/starknet/solidity/Starknet.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: Apache-2.0. pragma solidity ^0.8.24; -import "./Output.sol"; -import "./StarknetGovernance.sol"; -import "./StarknetMessaging.sol"; -import "./StarknetOperator.sol"; -import "./StarknetState.sol"; +import "starkware/starknet/solidity/Output.sol"; +import "starkware/starknet/solidity/StarknetGovernance.sol"; +import "starkware/starknet/solidity/StarknetMessaging.sol"; +import "starkware/starknet/solidity/StarknetOperator.sol"; +import "starkware/starknet/solidity/StarknetState.sol"; import "starkware/solidity/components/GovernedFinalizable.sol"; import "starkware/solidity/components/OnchainDataFactTreeEncoder.sol"; import "starkware/solidity/interfaces/ContractInitializer.sol"; @@ -45,8 +45,17 @@ contract Starknet is uint256 newProgramHash ); + // Indicates a change of the Starknet aggregator program hash. + event AggregatorProgramHashChanged( + address indexed changedBy, + uint256 oldAggregatorProgramHash, + uint256 newAggregatorProgramHash + ); + // Random storage slot tags. string internal constant PROGRAM_HASH_TAG = "STARKNET_1.0_INIT_PROGRAM_HASH_UINT"; + string internal constant AGGREGATOR_PROGRAM_HASH_TAG = + "STARKNET_1.0_INIT_AGGREGATOR_PROGRAM_HASH_UINT"; string internal constant VERIFIER_ADDRESS_TAG = "STARKNET_1.0_INIT_VERIFIER_ADDRESS"; string internal constant STATE_STRUCT_TAG = "STARKNET_1.0_INIT_STARKNET_STATE_STRUCT"; @@ -67,6 +76,19 @@ contract Starknet is programHash(newProgramHash); } + function setAggregatorProgramHash(uint256 newAggregatorProgramHash) + external + notFinalized + onlyGovernance + { + emit AggregatorProgramHashChanged( + msg.sender, + aggregatorProgramHash(), + newAggregatorProgramHash + ); + aggregatorProgramHash(newAggregatorProgramHash); + } + function setConfigHash(uint256 newConfigHash) external notFinalized onlyGovernance { emit ConfigHashChanged(msg.sender, configHash(), newConfigHash); configHash(newConfigHash); @@ -90,6 +112,16 @@ contract Starknet is NamedStorage.setUintValue(PROGRAM_HASH_TAG, value); } + // State variable "aggregatorProgramHash" read-access function. + function aggregatorProgramHash() public view returns (uint256) { + return NamedStorage.getUintValue(AGGREGATOR_PROGRAM_HASH_TAG); + } + + // State variable "aggregatorProgramHash" write-access function. + function aggregatorProgramHash(uint256 value) internal { + NamedStorage.setUintValue(AGGREGATOR_PROGRAM_HASH_TAG, value); + } + // State variable "verifier" access function. function verifier() internal view returns (address) { return NamedStorage.getAddressValue(VERIFIER_ADDRESS_TAG); @@ -126,7 +158,7 @@ contract Starknet is } function validateInitData(bytes calldata data) internal view override { - require(data.length == 6 * 32, "ILLEGAL_INIT_DATA_SIZE"); + require(data.length == 7 * 32, "ILLEGAL_INIT_DATA_SIZE"); uint256 programHash_ = abi.decode(data[:32], (uint256)); require(programHash_ != 0, "BAD_INITIALIZATION"); } @@ -136,12 +168,14 @@ contract Starknet is function initializeContractState(bytes calldata data) internal override { ( uint256 programHash_, + uint256 aggregatorProgramHash_, address verifier_, uint256 configHash_, StarknetState.State memory initialState - ) = abi.decode(data, (uint256, address, uint256, StarknetState.State)); + ) = abi.decode(data, (uint256, uint256, address, uint256, StarknetState.State)); programHash(programHash_); + aggregatorProgramHash(aggregatorProgramHash_); setVerifierAddress(verifier_); state().copy(initialState); configHash(configHash_); @@ -149,46 +183,66 @@ contract Starknet is } /** - Verifies p(z) = y given z, y, a commitment to p in the kzgSegment, and a KZG proof. + Verifies p(z) = y given z, y, a commitment to p in the KZG segment, + and a KZG proof for every blob. The verification is done by calling Ethereum's point evaluation precompile. */ - function verifyKzgProof(uint256[] calldata kzgSegment, bytes calldata kzgProof) internal { - require(kzgSegment.length == StarknetOutput.KZG_SEGMENT_SIZE, "INVALID_KZG_SEGMENT_SIZE"); - require(kzgProof.length == PROOF_BYTES_LENGTH, "INVALID_KZG_PROOF_SIZE"); - - bytes32 blobHash = blobhash( - // blobIndex= - 0 - ); - require(blobHash[0] == VERSIONED_HASH_VERSION_KZG, "UNEXPECTED_BLOB_HASH_VERSION"); - - bytes memory kzgCommitment; - bytes32 y; - { - uint256 kzgCommitmentLow = kzgSegment[0]; - uint256 kzgCommitmentHigh = kzgSegment[1]; - uint256 yLow = kzgSegment[3]; - uint256 yHigh = kzgSegment[4]; - - require(kzgCommitmentLow <= type(uint192).max, "INVALID_KZG_COMMITMENT"); - require(kzgCommitmentHigh <= type(uint192).max, "INVALID_KZG_COMMITMENT"); - require(yLow <= type(uint128).max, "INVALID_Y_VALUE"); - require(yHigh <= type(uint128).max, "INVALID_Y_VALUE"); - - kzgCommitment = abi.encodePacked(uint192(kzgCommitmentHigh), uint192(kzgCommitmentLow)); - y = bytes32((yHigh << 128) + yLow); - } - bytes32 z = bytes32(kzgSegment[2]); - - (bool ok, bytes memory precompile_output) = POINT_EVALUATION_PRECOMPILE_ADDRESS.staticcall( - abi.encodePacked(blobHash, z, y, kzgCommitment, kzgProof) - ); + function verifyKzgProofs(uint256[] calldata programOutputSlice, bytes[] calldata kzgProofs) + internal + { + require(programOutputSlice.length >= 2, "KZG_SEGMENT_TOO_SHORT"); + bytes32 z = bytes32(programOutputSlice[StarknetOutput.KZG_Z_OFFSET]); + uint256 nBlobs = programOutputSlice[StarknetOutput.KZG_N_BLOBS_OFFSET]; + uint256 evaluationsOffset = StarknetOutput.KZG_COMMITMENTS_OFFSET + 2 * nBlobs; - require(ok, "POINT_EVALUATION_PRECOMPILE_CALL_FAILED"); + require(kzgProofs.length == nBlobs, "INVALID_NUMBER_OF_KZG_PROOFS"); require( - keccak256(precompile_output) == POINT_EVALUATION_PRECOMPILE_OUTPUT, - "UNEXPECTED_POINT_EVALUATION_PRECOMPILE_OUTPUT" + programOutputSlice.length >= evaluationsOffset + 2 * nBlobs, + "KZG_SEGMENT_TOO_SHORT" ); + + for (uint256 blobIndex = 0; blobIndex < nBlobs; blobIndex++) { + bytes32 blobHash = blobhash(blobIndex); + require(blobHash != 0, "INVALID_BLOB_INDEX"); + require(blobHash[0] == VERSIONED_HASH_VERSION_KZG, "UNEXPECTED_BLOB_HASH_VERSION"); + + bytes memory kzgCommitment; + { + uint256 kzgCommitmentLow = programOutputSlice[ + StarknetOutput.KZG_COMMITMENTS_OFFSET + (2 * blobIndex) + ]; + uint256 kzgCommitmentHigh = programOutputSlice[ + StarknetOutput.KZG_COMMITMENTS_OFFSET + (2 * blobIndex) + 1 + ]; + require(kzgCommitmentLow <= type(uint192).max, "INVALID_KZG_COMMITMENT"); + require(kzgCommitmentHigh <= type(uint192).max, "INVALID_KZG_COMMITMENT"); + + kzgCommitment = abi.encodePacked( + uint192(kzgCommitmentHigh), + uint192(kzgCommitmentLow) + ); + } + + bytes32 y; + { + uint256 yLow = programOutputSlice[evaluationsOffset + (2 * blobIndex)]; + uint256 yHigh = programOutputSlice[evaluationsOffset + (2 * blobIndex) + 1]; + require(yLow <= type(uint128).max, "INVALID_Y_VALUE"); + require(yHigh <= type(uint128).max, "INVALID_Y_VALUE"); + + y = bytes32((yHigh << 128) + yLow); + } + + require(kzgProofs[blobIndex].length == PROOF_BYTES_LENGTH, "INVALID_KZG_PROOF_SIZE"); + (bool ok, bytes memory precompile_output) = POINT_EVALUATION_PRECOMPILE_ADDRESS + .staticcall(abi.encodePacked(blobHash, z, y, kzgCommitment, kzgProofs[blobIndex])); + + require(ok, "POINT_EVALUATION_PRECOMPILE_CALL_FAILED"); + require( + keccak256(precompile_output) == POINT_EVALUATION_PRECOMPILE_OUTPUT, + "UNEXPECTED_POINT_EVALUATION_PRECOMPILE_OUTPUT" + ); + } } /** @@ -203,13 +257,30 @@ contract Starknet is function updateStateInternal(uint256[] calldata programOutput, bytes32 stateTransitionFact) internal { + // Validate that all the values are in the range [0, FIELD_PRIME). + validateProgramOutput(programOutput); + // Validate config hash. require( programOutput[StarknetOutput.CONFIG_HASH_OFFSET] == configHash(), "INVALID_CONFIG_HASH" ); - bytes32 sharpFact = keccak256(abi.encode(programHash(), stateTransitionFact)); + require(programOutput[StarknetOutput.FULL_OUTPUT_OFFSET] == 0, "FULL_OUTPUT_NOT_SUPPORTED"); + + uint256 factProgramHash; + if (programOutput[StarknetOutput.OS_PROGRAM_HASH_OFFSET] != 0) { + // Aggregator run. + require( + programOutput[StarknetOutput.OS_PROGRAM_HASH_OFFSET] == programHash(), + "AGGREGATOR_MODE_INVALID_OS_PROGRAM_HASH" + ); + factProgramHash = aggregatorProgramHash(); + } else { + factProgramHash = programHash(); + } + + bytes32 sharpFact = keccak256(abi.encode(factProgramHash, stateTransitionFact)); require(IFactRegistry(verifier()).isValid(sharpFact), "NO_STATE_TRANSITION_PROOF"); emit LogStateTransitionFact(stateTransitionFact); @@ -221,9 +292,7 @@ contract Starknet is // the processing of the L1 -> L2 messages. // Process L2 -> L1 messages. - uint256 outputOffset = StarknetOutput.messageSegmentOffset( - programOutput[StarknetOutput.USE_KZG_DA_OFFSET] - ); + uint256 outputOffset = StarknetOutput.messageSegmentOffset(programOutput); outputOffset += StarknetOutput.processMessages( // isL2ToL1= true, @@ -250,7 +319,7 @@ contract Starknet is Returns a string that identifies the contract. */ function identify() external pure override returns (string memory) { - return "StarkWare_Starknet_2024_8"; + return "StarkWare_Starknet_2024_9"; } /** @@ -274,6 +343,30 @@ contract Starknet is return state().blockHash; } + /** + Validates that all the values are in the range [0, FIELD_PRIME). + */ + function validateProgramOutput(uint256[] calldata programOutput) internal pure { + bool success = true; + assembly { + let FIELD_PRIME := 0x800000000000011000000000000000000000000000000000000000000000001 + let programOutputEnd := add(programOutput.offset, mul(programOutput.length, 0x20)) + for { + let ptr := programOutput.offset + } lt(ptr, programOutputEnd) { + ptr := add(ptr, 0x20) + } { + if iszero(lt(calldataload(ptr), FIELD_PRIME)) { + success := 0 + break + } + } + } + if (!success) { + revert("PROGRAM_OUTPUT_VALUE_OUT_OF_RANGE"); + } + } + /** Updates the state of the Starknet, based on a proof of the Starknet OS that the state transition is valid. Data availability is provided on-chain. @@ -288,13 +381,13 @@ contract Starknet is uint256 onchainDataHash, uint256 onchainDataSize ) external onlyOperator { - // We protect against re-entrancy attacks by reading the block number at the beginning - // and validating that we have the expected block number at the end. - int256 initialBlockNumber = state().blockNumber; - // Validate program output. require(programOutput.length > StarknetOutput.HEADER_SIZE, "STARKNET_OUTPUT_TOO_SHORT"); + // We protect against re-entrancy attacks by reading the block number at the beginning + // and validating that we have the expected block number at the end. + state().checkPrevBlockNumber(programOutput); + // Validate KZG DA flag. require(programOutput[StarknetOutput.USE_KZG_DA_OFFSET] == 0, "UNEXPECTED_KZG_DA_FLAG"); @@ -307,7 +400,7 @@ contract Starknet is // storage changes. // Re-entrancy protection (see above). - require(state().blockNumber == initialBlockNumber + 1, "INVALID_FINAL_BLOCK_NUMBER"); + state().checkNewBlockNumber(programOutput); } /** @@ -316,29 +409,23 @@ contract Starknet is Arguments: programOutput - The main part of the StarkNet OS program output. - kzgProof - a KZG proof which is validated together with the StarkNet OS data commitment - given in 'programOutput'. + kzgProofs - array of KZG proofs - one per attached blob - which are validated together + with the StarkNet OS data commitments given in 'programOutput'. */ - function updateStateKzgDA(uint256[] calldata programOutput, bytes calldata kzgProof) + function updateStateKzgDA(uint256[] calldata programOutput, bytes[] calldata kzgProofs) external onlyOperator { + // Validate program output. + require(programOutput.length > StarknetOutput.HEADER_SIZE, "STARKNET_OUTPUT_TOO_SHORT"); + // We protect against re-entrancy attacks by reading the block number at the beginning // and validating that we have the expected block number at the end. - int256 initialBlockNumber = state().blockNumber; - - // Validate program output. - require( - programOutput.length > StarknetOutput.HEADER_SIZE + StarknetOutput.KZG_SEGMENT_SIZE, - "STARKNET_OUTPUT_TOO_SHORT" - ); + state().checkPrevBlockNumber(programOutput); // Verify the KZG Proof. require(programOutput[StarknetOutput.USE_KZG_DA_OFFSET] == 1, "UNEXPECTED_KZG_DA_FLAG"); - verifyKzgProof( - programOutput[StarknetOutput.HEADER_SIZE:][:StarknetOutput.KZG_SEGMENT_SIZE], - kzgProof - ); + verifyKzgProofs(programOutput[StarknetOutput.HEADER_SIZE:], kzgProofs); bytes32 stateTransitionFact = OnchainDataFactTreeEncoder.hashMainPublicInput(programOutput); updateStateInternal(programOutput, stateTransitionFact); @@ -346,6 +433,6 @@ contract Starknet is // storage changes. // Re-entrancy protection (see above). - require(state().blockNumber == initialBlockNumber + 1, "INVALID_FINAL_BLOCK_NUMBER"); + state().checkNewBlockNumber(programOutput); } } diff --git a/src/starkware/starknet/solidity/StarknetState.sol b/src/starkware/starknet/solidity/StarknetState.sol index 44c78311..d328ae49 100644 --- a/src/starkware/starknet/solidity/StarknetState.sol +++ b/src/starkware/starknet/solidity/StarknetState.sol @@ -16,19 +16,55 @@ library StarknetState { state.blockHash = stateFrom.blockHash; } + /** + Validates that the previous block number that appears in the proof is the current block + number. + + To protect against re-entrancy attacks, we read the block number at the beginning + and validate that we have the expected block number at the end. + This function must be called at the beginning of the updateState transaction. + */ + function checkPrevBlockNumber(State storage state, uint256[] calldata starknetOutput) internal { + uint256 expectedPrevBlockNumber; + if (state.blockNumber == -1) { + expectedPrevBlockNumber = 0x800000000000011000000000000000000000000000000000000000000000000; + } else { + expectedPrevBlockNumber = uint256(state.blockNumber); + } + require( + starknetOutput[StarknetOutput.PREV_BLOCK_NUMBER_OFFSET] == expectedPrevBlockNumber, + "INVALID_PREV_BLOCK_NUMBER" + ); + } + + /** + Validates that the current block number is the new block number. + This is used to protect against re-entrancy attacks. + */ + function checkNewBlockNumber(State storage state, uint256[] calldata starknetOutput) internal { + require( + uint256(state.blockNumber) == starknetOutput[StarknetOutput.NEW_BLOCK_NUMBER_OFFSET], + "REENTRANCY_FAILURE" + ); + } + /** Validates that the 'blockNumber' and the previous root are consistent with the current state and updates the state. */ function update(State storage state, uint256[] calldata starknetOutput) internal { + checkPrevBlockNumber(state, starknetOutput); + // Check the blockNumber first as the error is less ambiguous then INVALID_PREVIOUS_ROOT. - state.blockNumber += 1; + int256 newBlockNumber = int256(starknetOutput[StarknetOutput.NEW_BLOCK_NUMBER_OFFSET]); + require(newBlockNumber > state.blockNumber, "INVALID_NEW_BLOCK_NUMBER"); + state.blockNumber = newBlockNumber; + require( - uint256(state.blockNumber) == starknetOutput[StarknetOutput.BLOCK_NUMBER_OFFSET], - "INVALID_BLOCK_NUMBER" + starknetOutput[StarknetOutput.PREV_BLOCK_HASH_OFFSET] == state.blockHash, + "INVALID_PREV_BLOCK_HASH" ); - - state.blockHash = starknetOutput[StarknetOutput.BLOCK_HASH_OFFSET]; + state.blockHash = starknetOutput[StarknetOutput.NEW_BLOCK_HASH_OFFSET]; uint256[] calldata commitment_tree_update = StarknetOutput.getMerkleUpdate(starknetOutput); require( diff --git a/src/starkware/starknet/testing/test_utils.py b/src/starkware/starknet/testing/test_utils.py index eaeb46b0..3f122ae7 100644 --- a/src/starkware/starknet/testing/test_utils.py +++ b/src/starkware/starknet/testing/test_utils.py @@ -38,6 +38,14 @@ def next_nonce(self, address: int) -> int: self.address_to_nonce[address] = nonce + 1 return nonce + def rollback(self, address: int): + """ + Decrements the nonce of the address by 1. + """ + nonce = self.get(address=address) + assert nonce > 0 + self.address_to_nonce[address] = nonce - 1 + def as_dict(self) -> Dict[int, int]: """ Returns a map from contract address to the next expected nonce. diff --git a/src/starkware/starknet/wallets/open_zeppelin.py b/src/starkware/starknet/wallets/open_zeppelin.py index 42b8340a..27061ce5 100644 --- a/src/starkware/starknet/wallets/open_zeppelin.py +++ b/src/starkware/starknet/wallets/open_zeppelin.py @@ -355,7 +355,7 @@ async def deprecated_invoke( ) -> DeprecatedInvokeFunction: account_address, private_key = self._get_account_address_and_private_key(dry_run=dry_run) return OpenZeppelinSigner.sign_deprecated_invoke_tx( - signer_address=account_address, + sender_address=account_address, private_key=private_key, call_function=CallFunction( contract_address=contract_address, entry_point_selector=selector, calldata=calldata diff --git a/src/starkware/starknet/wallets/signer.py b/src/starkware/starknet/wallets/signer.py index 7ccb0f3c..cce59892 100644 --- a/src/starkware/starknet/wallets/signer.py +++ b/src/starkware/starknet/wallets/signer.py @@ -324,7 +324,7 @@ def sign_old_declare_tx( @classmethod def sign_deprecated_invoke_tx( cls, - signer_address: int, + sender_address: int, private_key: Optional[int], call_function: CallFunction, chain_id: int, @@ -338,7 +338,7 @@ def sign_deprecated_invoke_tx( function. """ return cls.sign_deprecated_multicall_tx( - signer_address=signer_address, + sender_address=sender_address, private_key=private_key, call_functions=[call_function], chain_id=chain_id, @@ -350,7 +350,7 @@ def sign_deprecated_invoke_tx( @classmethod def sign_deprecated_multicall_tx( cls, - signer_address: int, + sender_address: int, private_key: Optional[int], call_functions: List[CallFunction], chain_id: int, @@ -366,7 +366,7 @@ def sign_deprecated_multicall_tx( multicall_calldata = cls.format_multicall_calldata(calls=call_functions) hash_value = deprecated_calculate_invoke_transaction_hash( version=version, - sender_address=signer_address, + sender_address=sender_address, entry_point_selector=None, calldata=multicall_calldata, max_fee=max_fee, @@ -375,7 +375,7 @@ def sign_deprecated_multicall_tx( ) return DeprecatedInvokeFunction( - sender_address=signer_address, + sender_address=sender_address, calldata=multicall_calldata, max_fee=max_fee, nonce=nonce, @@ -434,7 +434,7 @@ def calculate_contract_address_and_deploy_contract_calldata( salt=salt, class_hash=class_hash, constructor_calldata=constructor_calldata, - deployer_address=account_address, + deployer_address=0 if deploy_from_zero else account_address, ) deploy_from_zero_felt = 1 if deploy_from_zero else 0 deploy_contract_calldata = [ @@ -475,7 +475,7 @@ def sign_deploy_syscall_deprecated_tx( salt=salt, ) deploy_tx = cls.sign_deprecated_invoke_tx( - signer_address=account_address, + sender_address=account_address, private_key=private_key, call_function=CallFunction( contract_address=account_address, diff --git a/src/starkware/starkware_utils/BUILD b/src/starkware/starkware_utils/BUILD index 026a4d53..bcb22975 100644 --- a/src/starkware/starkware_utils/BUILD +++ b/src/starkware/starkware_utils/BUILD @@ -91,7 +91,7 @@ py_library( ], visibility = ["//visibility:public"], deps = [ - "starkware_dataclasses_field_utils_lib", + ":starkware_dataclasses_utils_lib", requirement("marshmallow"), requirement("pyyaml"), ], diff --git a/src/starkware/starkware_utils/commitment_tree/patricia_tree/fast_patricia_update.py b/src/starkware/starkware_utils/commitment_tree/patricia_tree/fast_patricia_update.py index 329b5561..34d4ce36 100644 --- a/src/starkware/starkware_utils/commitment_tree/patricia_tree/fast_patricia_update.py +++ b/src/starkware/starkware_utils/commitment_tree/patricia_tree/fast_patricia_update.py @@ -1,6 +1,6 @@ import dataclasses from bisect import bisect_left, bisect_right -from typing import Collection, Dict, List, Optional, Tuple +from typing import Collection, Dict, List, Optional, Tuple, Type from starkware.python.utils import process_concurrently, safe_zip from starkware.starkware_utils.commitment_tree.binary_fact_tree import TLeafFact @@ -72,6 +72,7 @@ class TreeContext: # Updated nodes, grouped and ordered by dependency. nodes_by_dependency_layers: List[List[IndexedNode]] ffc: FactFetchingContext + leaf_db_keys: List[bytes] @classmethod def create( @@ -83,6 +84,7 @@ def create( prefetched_nodes={}, nodes_by_dependency_layers=[], ffc=ffc, + leaf_db_keys=[], ) def get_node_height(self, index: int) -> int: @@ -102,10 +104,14 @@ class SubTree: root_hash: bytes leaf_indices: List[int] - def set_leaf(self, context: TreeContext): + def set_leaf(self, context: TreeContext, leaf_fact_cls: Optional[Type[TLeafFact]]): """ Assumes the subtree represents a leaf; creates a corresponding Node object and sets it. """ + if leaf_fact_cls is not None: + db_key = leaf_fact_cls.db_key(suffix=self.root_hash) + context.leaf_db_keys.append(db_key) + if len(self.leaf_indices) == 0: # Leaf sibiling. value = self.root_hash @@ -216,7 +222,9 @@ async def update_structure( return context.nodes_by_dependency_layers -async def fetch_nodes(subtrees: List[SubTree], context: TreeContext): +async def fetch_nodes( + subtrees: List[SubTree], context: TreeContext, leaf_fact_cls: Optional[Type[TLeafFact]] = None +): """ Given a list of subtrees, traverses towards their leaves and fetches all non-empty and sibiling nodes. Assumes no subtrees of height 0 (leaves). @@ -257,8 +265,8 @@ async def fetch_nodes(subtrees: List[SubTree], context: TreeContext): ) if height - 1 == 0: # Children are leaves. - left_subtree.set_leaf(context=context) - right_subtree.set_leaf(context=context) + left_subtree.set_leaf(context=context, leaf_fact_cls=leaf_fact_cls) + right_subtree.set_leaf(context=context, leaf_fact_cls=leaf_fact_cls) continue next_subtrees += [left_subtree, right_subtree] @@ -291,12 +299,12 @@ async def fetch_nodes(subtrees: List[SubTree], context: TreeContext): ) if bottom_height == 0: # Bottom is a leaf. - bottom_subtree.set_leaf(context=context) + bottom_subtree.set_leaf(context=context, leaf_fact_cls=leaf_fact_cls) continue next_subtrees.append(bottom_subtree) - await fetch_nodes(subtrees=next_subtrees, context=context) + await fetch_nodes(subtrees=next_subtrees, context=context, leaf_fact_cls=leaf_fact_cls) def update_nonempty_node( diff --git a/src/starkware/starkware_utils/commitment_tree/patricia_tree/patricia_tree.py b/src/starkware/starkware_utils/commitment_tree/patricia_tree/patricia_tree.py index 02c10794..62a5ef0e 100644 --- a/src/starkware/starkware_utils/commitment_tree/patricia_tree/patricia_tree.py +++ b/src/starkware/starkware_utils/commitment_tree/patricia_tree/patricia_tree.py @@ -1,3 +1,4 @@ +from collections import defaultdict from typing import Collection, Dict, List, Optional, Tuple, Type import marshmallow_dataclass @@ -8,6 +9,11 @@ TLeafFact, ) from starkware.starkware_utils.commitment_tree.leaf_fact import LeafFact +from starkware.starkware_utils.commitment_tree.patricia_tree.fast_patricia_update import ( + SubTree, + TreeContext, + fetch_nodes, +) from starkware.starkware_utils.commitment_tree.patricia_tree.fast_patricia_update import ( update_tree as update_tree_efficiently, ) @@ -116,3 +122,28 @@ async def get_diff_between_patricia_trees( for hash_value in (self.root, other.root) ] return await self_node.get_diff_between_trees(other=other_node, ffc=ffc, fact_cls=fact_cls) + + async def fetch_witnesses( + self, ffc: FactFetchingContext, sorted_leaf_indices: List[int], fact_cls: Type[TLeafFact] + ): + """ + Fetches the necessary witnesses from storage to update the tree at the provided leaf + indices. + """ + if self.root == EmptyNodeFact.EMPTY_NODE_HASH: + # Nothing to fetch. + return + + leaf_layer_prefix = 1 << self.height + sorted_leaf_full_indices = [leaf_layer_prefix | index for index in sorted_leaf_indices] + tree_context = TreeContext.create( + height=self.height, leaves=defaultdict(lambda: b""), ffc=ffc + ) + + await fetch_nodes( + subtrees=[SubTree(index=1, root_hash=self.root, leaf_indices=sorted_leaf_full_indices)], + context=tree_context, + leaf_fact_cls=fact_cls, + ) + # Populate the cache and ignore. + await ffc.storage.mget_or_fail(tree_context.leaf_db_keys) diff --git a/src/starkware/starkware_utils/config_base.py b/src/starkware/starkware_utils/config_base.py index f956a9f9..7a04d007 100644 --- a/src/starkware/starkware_utils/config_base.py +++ b/src/starkware/starkware_utils/config_base.py @@ -11,7 +11,7 @@ logger = logging.getLogger(__name__) -TConfig = TypeVar("TConfig", bound="Config") +TConfig = TypeVar("TConfig", bound="ConfigWithNone") # General utilities. @@ -50,17 +50,32 @@ def get_object_by_path(path: str) -> Any: # Base class for config schemas. -class Config(ValidatedMarshmallowDataclass): +class ConfigWithNone(ValidatedMarshmallowDataclass): + """ + The difference between Config and ConfigWithNone classes is that ConfigWithNone class does not + remove None values when using dump. + For example: + @marshmallow_dataclass.dataclass(frozen=True) + class WithNone(ConfigWithNone): + a: Optional[int] = None + b: int = 2 + + @marshmallow_dataclass.dataclass(frozen=True) + class WithoutNone(Config): + a: Optional[int] = None + b: int = 2 + + WithNone().dumps() == '{"a": null, "b": 2}' + + WithoutNone().dumps() == '{"b": 2}' + """ + @classmethod def load(cls: Type[TConfig], data: dict) -> TConfig: config_instance = super().load(data=data) log_fields(config=config_instance) return config_instance - @marshmallow.post_dump - def remove_none_values(self, data, many=False): - return {key: value for key, value in data.items() if value is not None} - @classmethod def from_file( cls: Type[TConfig], config_file_path: str, load_logging_config: Optional[bool] = True @@ -71,7 +86,13 @@ def from_file( return cls.load(data=raw_config) -def log_fields(config: Config): +class Config(ConfigWithNone): + @marshmallow.post_dump + def remove_none_values(self, data, many=False): + return {key: value for key, value in data.items() if value is not None} + + +def log_fields(config: ConfigWithNone): for field in dataclasses.fields(config): logger.info( f"Initialized {field.name} configuration with value: {getattr(config, field.name)}" diff --git a/src/starkware/starkware_utils/error_handling.py b/src/starkware/starkware_utils/error_handling.py index 41088477..dae81ef5 100644 --- a/src/starkware/starkware_utils/error_handling.py +++ b/src/starkware/starkware_utils/error_handling.py @@ -126,6 +126,8 @@ class StarkErrorCode(ErrorCode): OUT_OF_RANGE_ORDER_ID = auto() #: Positive amount value is out of range. OUT_OF_RANGE_POSITIVE_AMOUNT = auto() + #: Private key value is out of range. + OUT_OF_RANGE_PRIVATE_KEY = auto() #: Public key (Stark key) value is out of range. OUT_OF_RANGE_PUBLIC_KEY = auto() #: Risk factor segment upper bound is out of range. diff --git a/src/starkware/starkware_utils/field_validators.py b/src/starkware/starkware_utils/field_validators.py index c605a7f3..d5b72fcb 100644 --- a/src/starkware/starkware_utils/field_validators.py +++ b/src/starkware/starkware_utils/field_validators.py @@ -198,10 +198,39 @@ def validate_positive(field_name: str, *, allow_none: bool = False) -> Validator ) -def validate_non_negative(field_name, *, allow_none=False): - error_message = "Invalid {field_name}: {{input}}; must be a non-negative value".format( - field_name=field_name - ) +def validate_non_negative_or_negative_default( + field_name: str, *, default_value: int, allow_none: bool = False +) -> ValidatorType: + """ + Validates that the input is non-negative, or equal to the default value. Also, the default value + must be negative. + """ + error_message = f"Invalid {field_name}: {{input}}; must be non-negative or {default_value}." + + def validator(value): + if default_value >= 0: + raise ValueError( + f"Invalid default value: {default_value}. The default value must be negative." + ) + if value == default_value: + return True + return validate_non_negative( + field_name=field_name, allow_none=allow_none, error_message=error_message + )(value) + + return validator + + +def validate_non_negative( + field_name, + *, + allow_none=False, + error_message: Optional[str] = None, +): + if error_message is None: + error_message = "Invalid {field_name}: {{input}}; must be a non-negative value".format( + field_name=field_name + ) return validate_in_range( field_name=field_name, min_value=0, diff --git a/src/starkware/starkware_utils/marshmallow_dataclass_fields.py b/src/starkware/starkware_utils/marshmallow_dataclass_fields.py index 88418594..7d9ae019 100644 --- a/src/starkware/starkware_utils/marshmallow_dataclass_fields.py +++ b/src/starkware/starkware_utils/marshmallow_dataclass_fields.py @@ -311,6 +311,8 @@ def enum_field_metadata( ) nonrequired_list_metadata: FieldMetadata = additional_metadata(load_default=list, required=False) +bytes_as_hex_metadata = additional_metadata(marshmallow_field=BytesAsHex(required=True)) + bytes_as_hex_list_metadata = additional_metadata( marshmallow_field=mfields.List(BytesAsHex(required=True)) ) diff --git a/src/starkware/starkware_utils/validated_fields.py b/src/starkware/starkware_utils/validated_fields.py index d70e1127..dc881d13 100644 --- a/src/starkware/starkware_utils/validated_fields.py +++ b/src/starkware/starkware_utils/validated_fields.py @@ -157,6 +157,9 @@ def get_validated_marshmallow_field(self, required: bool = True, **kwargs) -> mf # Metadata. + def _replace(self, **changes) -> "ValidatedField[T]": + return dataclasses.replace(self, **changes) + def metadata( self, required: bool = True, @@ -170,7 +173,7 @@ def metadata( """ nested_metadata = {} if nested_metadata is None else nested_metadata if field_name is not None: - nested_metadata |= dict(validated_field=dataclasses.replace(self, name=field_name)) + nested_metadata |= dict(validated_field=self._replace(name=field_name)) return super().metadata( required=required, @@ -196,6 +199,17 @@ def __init__(self, field: ValidatedField[T], none_probability: float): self.field = field self.none_probability = max(0, min(1, none_probability)) + def _replace(self, **changes) -> "OptionalField[T]": + replaced_field = changes.pop("field") if "field" in changes else self.field + replaced_none_probability = ( + changes.pop("none_probability") + if "none_probability" in changes + else self.none_probability + ) + replaced_field = replaced_field._replace(**changes) + + return self.__class__(field=replaced_field, none_probability=replaced_none_probability) + def error_message(self, value: Optional[T]) -> str: if value is None: return "None" diff --git a/src/starkware/storage/BUILD b/src/starkware/storage/BUILD index 16730865..01445eb1 100644 --- a/src/starkware/storage/BUILD +++ b/src/starkware/storage/BUILD @@ -7,9 +7,7 @@ py_library( "metrics.py", ], visibility = ["//visibility:public"], - deps = [ - requirement("prometheus_client"), - ], + deps = [requirement("prometheus_client")], ) py_library( @@ -58,9 +56,7 @@ py_library( "imm_storage.py", ], visibility = ["//visibility:public"], - deps = [ - "starkware_abstract_storage_lib", - ], + deps = [":starkware_abstract_storage_lib"], ) pytest_test( @@ -97,7 +93,7 @@ py_library( ], visibility = ["//visibility:public"], deps = [ - "starkware_storage_lib", + ":starkware_abstract_storage_lib", "//src/starkware/python:starkware_python_utils_lib", "//src/starkware/starkware_utils:starkware_commitment_tree_facts_lib", ], diff --git a/src/starkware/storage/storage.py b/src/starkware/storage/storage.py index e192f8b2..92f76d6b 100644 --- a/src/starkware/storage/storage.py +++ b/src/starkware/storage/storage.py @@ -171,15 +171,19 @@ def __init__(self, bucket_name: str, prefix: str) -> None: self.prefix = f"files/{prefix}" @abstractmethod - async def set_file(self, file: str, key: bytes): + async def set_file( + self, file: str, key: bytes, bucket_name: Optional[str] = None + ) -> Optional[str]: """ Upload file to large storage. """ @abstractmethod - async def set_large_file(self, file: str, key: bytes): + async def set_large_file( + self, file: str, key: bytes, bucket_name: Optional[str] = None + ) -> Optional[str]: """ - Upload file to large storage. + Upload large file to large storage. """ def escape(self, key: bytes) -> str: diff --git a/src/starkware/storage/test_utils.py b/src/starkware/storage/test_utils.py index e26aea6d..33994578 100644 --- a/src/starkware/storage/test_utils.py +++ b/src/starkware/storage/test_utils.py @@ -1,9 +1,16 @@ import asyncio import hashlib from contextlib import contextmanager -from typing import Dict, Optional, Sequence, Tuple +from typing import Mapping, Optional, Sequence, Tuple -from starkware.storage.storage import HASH_BYTES, LockError, LockManager, LockObject, Storage +from starkware.storage.storage import ( + HASH_BYTES, + LargeStorage, + LockError, + LockManager, + LockObject, + Storage, +) def hash_func(left: bytes, right: bytes) -> bytes: @@ -76,7 +83,7 @@ async def get_value(self, key: bytes) -> Optional[bytes]: assert isinstance(key, bytes) return self.db.get(key, None) - async def mset(self, updates: Dict[bytes, bytes]): + async def mset(self, updates: Mapping[bytes, bytes]): self.db.update(updates) async def mget(self, keys: Sequence[bytes]) -> Tuple[Optional[bytes], ...]: @@ -118,6 +125,30 @@ async def del_value(self, key: bytes): await self.storage.del_value(key) +class MockLargeStorage(MockStorage, LargeStorage): + def __init__(self, bucket_name: str, prefix: str): + LargeStorage.__init__(self, bucket_name, prefix) + MockStorage.__init__(self) + + async def set_file( + self, file: str, key: bytes, bucket_name: Optional[str] = None + ) -> Optional[str]: + """ + Mock implementation of uploading a file to large storage. + Reads the file content and stores it in the mock database. + """ + with open(file, "rb") as f: + file_content = f.read() + + self.db[key] = file_content + return "true" + + async def set_large_file( + self, file: str, key: bytes, bucket_name: Optional[str] = None + ) -> Optional[str]: + return await self.set_file(file, key, bucket_name) + + def check_time(t0, min_t, max_t): """ Assuming t0 is the start time, computes the current time with respect to t0, and checks that it