diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f68bd0..a49a92d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: - name: Run tests run: cargo test -rv - verify-proof: + verify-proofs-stone5-keccak-160-lsb: runs-on: ubuntu-latest strategy: fail-fast: false @@ -83,17 +83,57 @@ jobs: ${{ runner.os }}-cargo-build- - name: Run verification - run: cargo run -r --bin swiftness --features ${{ matrix.layout }},keccak --no-default-features -- --proof ${{ env.PROOFS_DIR }}/${{ matrix.layout }}/cairo0_example_proof.json + run: cargo run -r --bin swiftness --features ${{ matrix.layout }},stone5,keccak_160_lsb --no-default-features -- --proof ${{ env.PROOFS_DIR }}/${{ matrix.layout }}/cairo0_stone5_example_proof.json + working-directory: ${{ env.WORKING_DIR }} + + verify-proof-stone6-blake2s-248-lsb: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + layout: [ "dynamic" ] + + env: + PROOFS_DIR: ${{ github.workspace }}/examples/proofs + WORKING_DIR: ${{ github.workspace }}/cli + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + + - name: Cache Cargo registry + uses: actions/cache@v2 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-registry- + + - name: Cache Cargo build + uses: actions/cache@v2 + with: + path: target + key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-build- + + - name: Run verification + run: cargo run -r --bin swiftness --features ${{ matrix.layout }},stone6,blake2s_248_lsb --no-default-features -- --proof ${{ env.PROOFS_DIR }}/${{ matrix.layout }}/cairo0_stone6_example_proof.json working-directory: ${{ env.WORKING_DIR }} no-std-build: runs-on: ubuntu-latest - needs: verify-proof strategy: fail-fast: false matrix: - layout: ["starknet_with_keccak",] - hash: ["blake2s", "keccak"] + layout: ["dynamic"] + hash: ["blake2s_248_lsb"] + stone: ["stone5"] target: ["armebv7r-none-eabi", "riscv64imac-unknown-none-elf", "aarch64-unknown-none-softfloat", "aarch64-unknown-none"] env: @@ -129,7 +169,7 @@ jobs: working-directory: ${{ env.WORKING_DIR }} - name: Build project - run: cargo build -r --features ${{ matrix.layout }},${{ matrix.hash }} --no-default-features --target ${{ matrix.target }} + run: cargo build -r --features ${{ matrix.layout }},${{ matrix.hash }},${{ matrix.stone }} --no-default-features --target ${{ matrix.target }} working-directory: ${{ env.WORKING_DIR }} - name: Print binary metadata diff --git a/Cargo.lock b/Cargo.lock index 2ff57b0..3faaeac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -534,12 +534,14 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "swiftness_air" -version = "0.0.8" +version = "0.0.9" dependencies = [ + "num-bigint", "serde", "serde_with 3.9.0", "starknet-core", "starknet-crypto", + "starknet-types-core", "swiftness_commitment", "swiftness_transcript", "thiserror", @@ -548,9 +550,10 @@ dependencies = [ [[package]] name = "swiftness_commitment" -version = "0.0.8" +version = "0.0.9" dependencies = [ "blake2", + "num-bigint", "serde", "serde_with 3.9.0", "sha3", @@ -564,8 +567,9 @@ dependencies = [ [[package]] name = "swiftness_fri" -version = "0.0.8" +version = "0.0.9" dependencies = [ + "num-bigint", "serde", "serde_with 3.9.0", "sha3", @@ -579,7 +583,7 @@ dependencies = [ [[package]] name = "swiftness_pow" -version = "0.0.8" +version = "0.0.9" dependencies = [ "blake2", "serde", @@ -593,7 +597,7 @@ dependencies = [ [[package]] name = "swiftness_stark" -version = "0.0.8" +version = "0.0.9" dependencies = [ "serde", "serde_with 3.9.0", @@ -610,7 +614,7 @@ dependencies = [ [[package]] name = "swiftness_transcript" -version = "0.0.8" +version = "0.0.9" dependencies = [ "starknet-crypto", ] diff --git a/Cargo.toml b/Cargo.toml index 4030834..57e09e0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,10 +24,11 @@ edition = "2021" license-file = "LICENSE" readme = "README.md" repository = "https://github.com/iosis-tech/swiftness" -version = "0.0.8" +version = "0.0.9" [workspace.dependencies] blake2 = { version = "0.10.6", default-features = false } +num-bigint = { version = "0.4.6", default-features = false } serde = { version = "1.0", default-features = false, features = ["derive"] } serde_json = { version = "1.0.114", default-features = false } serde_with = { version = "3.8.3", default-features = false, features = ["macros"] } @@ -38,9 +39,9 @@ starknet-types-core = { version = "0.1.5", default-features = false } thiserror = "1.0.61" thiserror-no-std = "2.0.2" -swiftness_air = { path = "crates/air", default-features = false, version = "0.0.8" } -swiftness_commitment = { path = "crates/commitment", default-features = false, version = "0.0.8" } -swiftness_fri = { path = "crates/fri", default-features = false, version = "0.0.8" } -swiftness_pow = { path = "crates/pow", default-features = false, version = "0.0.8" } -swiftness_stark = { path = "crates/stark", default-features = false, version = "0.0.8" } -swiftness_transcript = { path = "crates/transcript", default-features = false, version = "0.0.8" } +swiftness_air = { path = "crates/air", default-features = false, version = "0.0.9" } +swiftness_commitment = { path = "crates/commitment", default-features = false, version = "0.0.9" } +swiftness_fri = { path = "crates/fri", default-features = false, version = "0.0.9" } +swiftness_pow = { path = "crates/pow", default-features = false, version = "0.0.9" } +swiftness_stark = { path = "crates/stark", default-features = false, version = "0.0.9" } +swiftness_transcript = { path = "crates/transcript", default-features = false, version = "0.0.9" } diff --git a/README.md b/README.md index c4f628b..e463d43 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@
-![Version](https://img.shields.io/badge/v0.0.8-green?style=flat-square&logo=git&logoColor=white&label=version) +![Version](https://img.shields.io/badge/v0.0.9-green?style=flat-square&logo=git&logoColor=white&label=version) ![Continuous Integration](https://img.shields.io/github/actions/workflow/status/iosis-tech/swiftness/ci.yml?style=flat-square&logo=githubactions&logoColor=white&label=Continuous%20Integration) [![Crates.io Version](https://img.shields.io/crates/v/swiftness?style=flat-square&logo=lootcrate)](https://crates.io/crates/swiftness) @@ -16,25 +16,8 @@ Swiftness is a Rust implementation of the Cairo-VM STARK verifier with layouts, ## Getting Started ### Verify an Example Proof - -1. **Install `swiftness`:** - - ```sh - cargo install -f --path cli/ --features starknet_with_keccak,keccak --no-default-features - ``` - -2. **Verify the proof:** - - Ensure you use a proof corresponding to the layout and hash used to build the binary. - ```sh - swiftness --proof examples/proofs/starknet_with_keccak/cairo0_example_proof.json - ``` - -3. **Local Run:** - - ```sh - cd cli && cargo run --release --bin swiftness --features starknet_with_keccak,keccak --no-default-features -- --proof ../examples/proofs/starknet_with_keccak/cairo0_example_proof.json + cd cli && cargo run --release --bin swiftness --features starknet_with_keccak,keccak_160_lsb,stone5 --no-default-features -- --proof ../examples/proofs/starknet_with_keccak/cairo0_stone5_example_proof.json ``` ## Running Tests @@ -54,15 +37,11 @@ cargo test 2. **Build WASM:** ```sh - cd wasm_bindings && wasm-pack build --target web --features starknet_with_keccak,blake2s --no-default-features + cd wasm_bindings && wasm-pack build --target web --features recursive_with_poseidon,blake2s_248_lsb,stone5 --no-default-features ``` ## Features -### Usage - -- [x] CLI - ### Implemented Layouts - [x] dex @@ -71,29 +50,26 @@ cargo test - [x] small - [x] starknet - [x] starknet_with_keccak +- [x] dynamic ### Commitment Hashes -- [x] keccak -- [x] blake2s +- [x] keccak_160_lsb +- [x] keccak_248_lsb +- [x] blake2s_160_lsb +- [x] blake2s_248_lsb + +### Stone Prover versions + +- [x] Stone5 +- [x] Stone6 ### Web Support - [x] WASM support +- [x] NO_STD support - [x] [Web Demo](https://demo.swiftness.iosis.tech/) -- [x] NPM packages: - - [swiftness-dex-blake2s](https://www.npmjs.com/package/swiftness-dex-blake2s) - - [swiftness-dex-keccak](https://www.npmjs.com/package/swiftness-dex-keccak) - - [swiftness-recursive-blake2s](https://www.npmjs.com/package/swiftness-recursive-blake2s) - - [swiftness-recursive-keccak](https://www.npmjs.com/package/swiftness-recursive-keccak) - - [swiftness-recursive-with-poseidon-blake2s](https://www.npmjs.com/package/swiftness-recursive-with-poseidon-blake2s) - - [swiftness-recursive-with-poseidon-keccak](https://www.npmjs.com/package/swiftness-recursive-with-poseidon-keccak) - - [swiftness-small-blake2s](https://www.npmjs.com/package/swiftness-small-blake2s) - - [swiftness-small-keccak](https://www.npmjs.com/package/swiftness-small-keccak) - - [swiftness-starknet-blake2s](https://www.npmjs.com/package/swiftness-starknet-blake2s) - - [swiftness-starknet-keccak](https://www.npmjs.com/package/swiftness-starknet-keccak) - - [swiftness-starknet-with-keccak-blake2s](https://www.npmjs.com/package/swiftness-starknet-with-keccak-blake2s) - - [swiftness-starknet-with-keccak-keccak](https://www.npmjs.com/package/swiftness-starknet-with-keccak-keccak) +- [x] [NPM packages](https://www.npmjs.com/search?q=swiftness) ### Other Platforms Support diff --git a/cli/Cargo.lock b/cli/Cargo.lock index 6978a18..c50c520 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -686,22 +686,27 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "swiftness" -version = "0.0.8" +version = "0.0.9" dependencies = [ "clap", "swiftness_air", + "swiftness_commitment", + "swiftness_fri", + "swiftness_pow", "swiftness_proof_parser", "swiftness_stark", ] [[package]] name = "swiftness_air" -version = "0.0.8" +version = "0.0.9" dependencies = [ + "num-bigint", "serde", "serde_with 3.9.0", "starknet-core", "starknet-crypto", + "starknet-types-core", "swiftness_commitment", "swiftness_transcript", "thiserror", @@ -710,9 +715,10 @@ dependencies = [ [[package]] name = "swiftness_commitment" -version = "0.0.8" +version = "0.0.9" dependencies = [ "blake2", + "num-bigint", "serde", "serde_with 3.9.0", "sha3", @@ -726,8 +732,9 @@ dependencies = [ [[package]] name = "swiftness_fri" -version = "0.0.8" +version = "0.0.9" dependencies = [ + "num-bigint", "serde", "serde_with 3.9.0", "sha3", @@ -741,7 +748,7 @@ dependencies = [ [[package]] name = "swiftness_pow" -version = "0.0.8" +version = "0.0.9" dependencies = [ "blake2", "serde", @@ -755,7 +762,7 @@ dependencies = [ [[package]] name = "swiftness_proof_parser" -version = "0.0.8" +version = "0.0.9" dependencies = [ "anyhow", "clap", @@ -763,19 +770,14 @@ dependencies = [ "regex", "serde", "serde_json", + "starknet-crypto", "starknet-types-core", - "swiftness_air", - "swiftness_commitment", - "swiftness_fri", - "swiftness_pow", - "swiftness_stark", - "swiftness_transcript", "thiserror", ] [[package]] name = "swiftness_stark" -version = "0.0.8" +version = "0.0.9" dependencies = [ "serde", "serde_with 3.9.0", @@ -792,7 +794,7 @@ dependencies = [ [[package]] name = "swiftness_transcript" -version = "0.0.8" +version = "0.0.9" dependencies = [ "starknet-crypto", ] diff --git a/cli/Cargo.toml b/cli/Cargo.toml index bd5215a..2a9096e 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -5,23 +5,30 @@ edition = "2021" license-file = "LICENSE" readme = "../README.md" repository = "https://github.com/iosis-tech/swiftness" -version = "0.0.8" +version = "0.0.9" [dependencies] clap = { version = "4.4.4", features = ["derive"] } swiftness_air = { path = "../crates/air", default-features = false, features = [ "std", -], version = "0.0.8" } -swiftness_stark = { path = "../crates/stark", default-features = false, features = [ +], version = "0.0.9" } +swiftness_commitment = { path = "../crates/commitment", default-features = false, features = [ + "std", +], version = "0.0.9" } +swiftness_fri = { path = "../crates/fri", default-features = false, features = [ "std", -], version = "0.0.8" } -swiftness_proof_parser = { path = "../proof_parser", default-features = false, features = [ +], version = "0.0.9" } +swiftness_pow = { path = "../crates/pow", default-features = false, features = [ + "std", +], version = "0.0.9" } +swiftness_stark = { path = "../crates/stark", default-features = false, features = [ "std", -], version = "0.0.8" } +], version = "0.0.9" } +swiftness_proof_parser = { path = "../proof_parser", version = "0.0.9" } [features] -default = ["recursive", "keccak"] +default = ["recursive", "keccak_160_lsb", "stone5"] dex = ["swiftness_air/dex", "swiftness_stark/dex"] recursive = ["swiftness_air/recursive", "swiftness_stark/recursive"] recursive_with_poseidon = [ @@ -34,13 +41,31 @@ starknet_with_keccak = [ "swiftness_air/starknet_with_keccak", "swiftness_stark/starknet_with_keccak", ] -keccak = [ - "swiftness_air/keccak", - "swiftness_stark/keccak", - "swiftness_proof_parser/keccak" +dynamic = [ + "swiftness_air/dynamic", + "swiftness_stark/dynamic", +] +stone5 = [ + "swiftness_air/stone5", + "swiftness_stark/stone5", +] +stone6 = [ + "swiftness_air/stone6", + "swiftness_stark/stone6", +] +keccak_160_lsb = [ + "swiftness_air/keccak_160_lsb", + "swiftness_stark/keccak_160_lsb", +] +keccak_248_lsb = [ + "swiftness_air/keccak_248_lsb", + "swiftness_stark/keccak_248_lsb", ] -blake2s = [ - "swiftness_air/blake2s", - "swiftness_stark/blake2s", - "swiftness_proof_parser/blake2s" +blake2s_160_lsb = [ + "swiftness_air/blake2s_160_lsb", + "swiftness_stark/blake2s_160_lsb", ] +blake2s_248_lsb = [ + "swiftness_air/blake2s_248_lsb", + "swiftness_stark/blake2s_248_lsb", +] \ No newline at end of file diff --git a/cli/src/lib.rs b/cli/src/lib.rs index 7dd5486..1222f14 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -1,2 +1,5 @@ +pub mod transform; + pub use swiftness_proof_parser::*; pub use swiftness_stark::*; +pub use transform::TransformTo; diff --git a/cli/src/main.rs b/cli/src/main.rs index ec5d7f3..0b1e4c0 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -1,9 +1,15 @@ +pub mod transform; + +use clap::Parser; use std::path::PathBuf; pub use swiftness_proof_parser::*; pub use swiftness_stark::*; +pub use transform::TransformTo; #[cfg(feature = "dex")] use swiftness_air::layout::dex::Layout; +#[cfg(feature = "dynamic")] +use swiftness_air::layout::dynamic::Layout; #[cfg(feature = "recursive")] use swiftness_air::layout::recursive::Layout; #[cfg(feature = "recursive_with_poseidon")] @@ -15,8 +21,6 @@ use swiftness_air::layout::starknet::Layout; #[cfg(feature = "starknet_with_keccak")] use swiftness_air::layout::starknet_with_keccak::Layout; -use clap::Parser; - #[derive(Parser)] #[command(author, version, about)] struct CairoVMVerifier { @@ -27,7 +31,7 @@ struct CairoVMVerifier { fn main() -> Result<(), Box> { let cli = CairoVMVerifier::parse(); - let stark_proof = parse(std::fs::read_to_string(cli.proof)?)?; + let stark_proof = parse(std::fs::read_to_string(cli.proof)?)?.transform_to(); let security_bits = stark_proof.config.security_bits(); let result = stark_proof.verify::(security_bits)?; println!("{:?}", result); diff --git a/cli/src/transform.rs b/cli/src/transform.rs new file mode 100644 index 0000000..4679c5e --- /dev/null +++ b/cli/src/transform.rs @@ -0,0 +1,271 @@ +use swiftness_air::{ + dynamic::DynamicParams, + public_memory::PublicInput as PublicInputVerifier, + trace::{ + config::Config as TraceConfigVerifier, Decommitment as TraceDecommitmentVerifier, + UnsentCommitment as TraceUnsentCommitmentVerifier, Witness as TraceWitnessVerifier, + }, + types::{AddrValue, Page, SegmentInfo as SegmentInfoVerifier}, +}; +use swiftness_commitment::{ + table::{ + config::Config as TableConfigVerifier, + types::{ + Decommitment as TableDecommitmentVerifier, Witness as TableCommitmentWitnessVerifier, + }, + }, + vector::{ + config::Config as VectorConfigVerifier, types::Witness as VectorCommitmentWitnessVerifier, + }, +}; +use swiftness_fri::{ + config::Config as FriConfigVerifier, + types::{ + LayerWitness, UnsentCommitment as FriUnsentCommitmentVerifier, + Witness as FriWitnessVerifier, + }, +}; +use swiftness_pow::{ + config::Config as PowConfigVerifier, pow::UnsentCommitment as PowUnsentCommitmentVerifier, +}; +use swiftness_proof_parser::{self, stark_proof}; +use swiftness_stark::{ + config::StarkConfig as StarkConfigVerifier, + types::{ + StarkProof as StarkProofVerifier, StarkUnsentCommitment as StarkUnsentCommitmentVerifier, + StarkWitness as StarkWitnessVerifier, + }, +}; + +pub trait TransformTo { + fn transform_to(self) -> T; +} + +impl TransformTo for stark_proof::StarkProof { + fn transform_to(self) -> StarkProofVerifier { + StarkProofVerifier { + config: self.config.transform_to(), + public_input: self.public_input.transform_to(), + unsent_commitment: self.unsent_commitment.transform_to(), + witness: self.witness.transform_to(), + } + } +} + +impl TransformTo for stark_proof::StarkConfig { + fn transform_to(self) -> StarkConfigVerifier { + StarkConfigVerifier { + traces: self.traces.transform_to(), + composition: self.composition.transform_to(), + fri: self.fri.transform_to(), + proof_of_work: self.proof_of_work.transform_to(), + log_trace_domain_size: self.log_trace_domain_size.into(), + n_queries: self.n_queries.into(), + log_n_cosets: self.log_n_cosets.into(), + n_verifier_friendly_commitment_layers: self + .n_verifier_friendly_commitment_layers + .into(), + } + } +} + +impl TransformTo for stark_proof::ProofOfWorkConfig { + fn transform_to(self) -> PowConfigVerifier { + PowConfigVerifier { n_bits: self.n_bits as u8 } + } +} + +impl TransformTo for stark_proof::FriConfig { + fn transform_to(self) -> FriConfigVerifier { + FriConfigVerifier { + log_input_size: self.log_input_size.into(), + n_layers: self.n_layers.into(), + inner_layers: self.inner_layers.into_iter().map(|x| x.transform_to()).collect(), + fri_step_sizes: self.fri_step_sizes.into_iter().map(|x| x.into()).collect(), + log_last_layer_degree_bound: self.log_last_layer_degree_bound.into(), + } + } +} + +impl TransformTo for stark_proof::TracesConfig { + fn transform_to(self) -> TraceConfigVerifier { + TraceConfigVerifier { + original: self.original.transform_to(), + interaction: self.interaction.transform_to(), + } + } +} + +impl TransformTo for stark_proof::TableCommitmentConfig { + fn transform_to(self) -> TableConfigVerifier { + TableConfigVerifier { n_columns: self.n_columns.into(), vector: self.vector.transform_to() } + } +} + +impl TransformTo for stark_proof::VectorCommitmentConfig { + fn transform_to(self) -> VectorConfigVerifier { + VectorConfigVerifier { + height: self.height.into(), + n_verifier_friendly_commitment_layers: self + .n_verifier_friendly_commitment_layers + .into(), + } + } +} + +impl TransformTo for stark_proof::PublicInput { + fn transform_to(self) -> PublicInputVerifier { + let dynamic_params = match self.dynamic_params.is_empty() { + true => None, + false => { + let params: Vec = + self.dynamic_params.values().map(|&f| f as usize).collect(); + Some(DynamicParams::from(params)) + } + }; + + PublicInputVerifier { + log_n_steps: self.log_n_steps.into(), + range_check_min: self.range_check_min.into(), + range_check_max: self.range_check_max.into(), + layout: self.layout.into(), + dynamic_params, + segments: self.segments.into_iter().map(|x| x.transform_to()).collect(), + padding_addr: self.padding_addr.into(), + padding_value: self.padding_value.into(), + main_page: Page(self.main_page.into_iter().map(|x| x.transform_to()).collect()), + continuous_page_headers: vec![], + } + } +} + +impl TransformTo for stark_proof::SegmentInfo { + fn transform_to(self) -> SegmentInfoVerifier { + SegmentInfoVerifier { begin_addr: self.begin_addr.into(), stop_ptr: self.stop_ptr.into() } + } +} + +impl TransformTo for stark_proof::PubilcMemoryCell { + fn transform_to(self) -> AddrValue { + AddrValue { address: self.address.into(), value: self.value.into() } + } +} + +impl TransformTo for stark_proof::StarkUnsentCommitment { + fn transform_to(self) -> StarkUnsentCommitmentVerifier { + StarkUnsentCommitmentVerifier { + traces: self.traces.transform_to(), + composition: self.composition.into(), + oods_values: self.oods_values.into_iter().map(|x| x.into()).collect(), + fri: self.fri.transform_to(), + proof_of_work: self.proof_of_work.transform_to(), + } + } +} + +impl TransformTo for stark_proof::TracesUnsentCommitment { + fn transform_to(self) -> TraceUnsentCommitmentVerifier { + TraceUnsentCommitmentVerifier { + original: self.original.into(), + interaction: self.interaction.into(), + } + } +} + +impl TransformTo for stark_proof::FriUnsentCommitment { + fn transform_to(self) -> FriUnsentCommitmentVerifier { + FriUnsentCommitmentVerifier { + last_layer_coefficients: self + .last_layer_coefficients + .into_iter() + .map(|x| x.into()) + .collect(), + inner_layers: self.inner_layers.into_iter().map(|x| x.into()).collect(), + } + } +} + +impl TransformTo for stark_proof::ProofOfWorkUnsentCommitment { + fn transform_to(self) -> PowUnsentCommitmentVerifier { + PowUnsentCommitmentVerifier { nonce: self.nonce.to_u64_digits()[0] } + } +} + +impl TransformTo for stark_proof::StarkWitness { + fn transform_to(self) -> StarkWitnessVerifier { + StarkWitnessVerifier { + traces_decommitment: self.traces_decommitment.transform_to(), + traces_witness: self.traces_witness.transform_to(), + composition_decommitment: self.composition_decommitment.transform_to(), + composition_witness: self.composition_witness.transform_to(), + fri_witness: self.fri_witness.transform_to(), + } + } +} + +impl TransformTo for stark_proof::TracesDecommitment { + fn transform_to(self) -> TraceDecommitmentVerifier { + TraceDecommitmentVerifier { + original: self.original.transform_to(), + interaction: self.interaction.transform_to(), + } + } +} + +impl TransformTo for stark_proof::TableDecommitment { + fn transform_to(self) -> TableDecommitmentVerifier { + TableDecommitmentVerifier { values: self.values.into_iter().map(|x| x.into()).collect() } + } +} + +impl TransformTo for stark_proof::TracesWitness { + fn transform_to(self) -> TraceWitnessVerifier { + TraceWitnessVerifier { + original: self.original.transform_to(), + interaction: self.interaction.transform_to(), + } + } +} + +impl TransformTo for stark_proof::TableCommitmentWitness { + fn transform_to(self) -> TableCommitmentWitnessVerifier { + TableCommitmentWitnessVerifier { vector: self.vector.transform_to() } + } +} + +impl TransformTo for stark_proof::VectorCommitmentWitness { + fn transform_to(self) -> VectorCommitmentWitnessVerifier { + VectorCommitmentWitnessVerifier { + authentications: self.authentications.into_iter().map(|x| x.into()).collect(), + } + } +} + +impl TransformTo for stark_proof::FriWitness { + fn transform_to(self) -> FriWitnessVerifier { + FriWitnessVerifier { layers: self.layers.into_iter().map(|x| x.transform_to()).collect() } + } +} + +impl TransformTo for stark_proof::FriLayerWitness { + fn transform_to(self) -> LayerWitness { + LayerWitness { + leaves: self.leaves.into_iter().map(|x| x.into()).collect(), + table_witness: self.table_witness.transform_to(), + } + } +} + +impl TransformTo for stark_proof::TableCommitmentWitnessFlat { + fn transform_to(self) -> TableCommitmentWitnessVerifier { + TableCommitmentWitnessVerifier { vector: self.vector.transform_to() } + } +} + +impl TransformTo for stark_proof::VectorCommitmentWitnessFlat { + fn transform_to(self) -> VectorCommitmentWitnessVerifier { + VectorCommitmentWitnessVerifier { + authentications: self.authentications.into_iter().map(|x| x.into()).collect(), + } + } +} diff --git a/crates/air/Cargo.toml b/crates/air/Cargo.toml index 98a9053..6ecd47c 100644 --- a/crates/air/Cargo.toml +++ b/crates/air/Cargo.toml @@ -8,7 +8,7 @@ repository.workspace = true version.workspace = true [features] -default = ["std", "recursive", "keccak"] +default = ["std", "recursive", "keccak_160_lsb", "stone5"] std = [ "dep:thiserror", "swiftness_commitment/std", @@ -22,18 +22,21 @@ recursive_with_poseidon = [] small = [] starknet = [] starknet_with_keccak = [] -keccak = [ - "swiftness_commitment/keccak", -] -blake2s = [ - "swiftness_commitment/blake2s", -] +dynamic = [] +stone5 = [] +stone6 = [] +keccak_160_lsb = ["swiftness_commitment/keccak_160_lsb"] +keccak_248_lsb = ["swiftness_commitment/keccak_248_lsb"] +blake2s_160_lsb = ["swiftness_commitment/blake2s_160_lsb"] +blake2s_248_lsb = ["swiftness_commitment/blake2s_248_lsb"] [dependencies] +num-bigint.workspace = true serde_with.workspace = true serde.workspace = true starknet-core.workspace = true starknet-crypto.workspace = true +starknet-types-core.workspace = true thiserror = { optional = true, workspace = true } thiserror-no-std.workspace = true diff --git a/crates/air/src/consts.rs b/crates/air/src/consts.rs new file mode 100644 index 0000000..bb391ca --- /dev/null +++ b/crates/air/src/consts.rs @@ -0,0 +1,96 @@ +use starknet_crypto::Felt; + +pub const FELT_0: Felt = Felt::from_hex_unchecked("0x0"); +pub const FELT_1: Felt = Felt::from_hex_unchecked("0x1"); +pub const FELT_2: Felt = Felt::from_hex_unchecked("0x2"); +pub const FELT_3: Felt = Felt::from_hex_unchecked("0x3"); +pub const FELT_4: Felt = Felt::from_hex_unchecked("0x4"); +pub const FELT_5: Felt = Felt::from_hex_unchecked("0x5"); +pub const FELT_6: Felt = Felt::from_hex_unchecked("0x6"); +pub const FELT_7: Felt = Felt::from_hex_unchecked("0x7"); +pub const FELT_8: Felt = Felt::from_hex_unchecked("0x8"); +pub const FELT_16: Felt = Felt::from_hex_unchecked("0x10"); +pub const FELT_66: Felt = Felt::from_hex_unchecked("0x42"); +pub const FELT_68: Felt = Felt::from_hex_unchecked("0x44"); +pub const FELT_16384: Felt = Felt::from_hex_unchecked("0x4000"); +pub const FELT_10: Felt = Felt::from_hex_unchecked("0xa"); +pub const FELT_11: Felt = Felt::from_hex_unchecked("0xb"); +pub const FELT_13: Felt = Felt::from_hex_unchecked("0xd"); +pub const FELT_15: Felt = Felt::from_hex_unchecked("0xf"); +pub const FELT_19: Felt = Felt::from_hex_unchecked("0x13"); +pub const FELT_21: Felt = Felt::from_hex_unchecked("0x15"); +pub const FELT_23: Felt = Felt::from_hex_unchecked("0x17"); +pub const FELT_25: Felt = Felt::from_hex_unchecked("0x19"); +pub const FELT_27: Felt = Felt::from_hex_unchecked("0x1b"); +pub const FELT_29: Felt = Felt::from_hex_unchecked("0x1d"); +pub const FELT_31: Felt = Felt::from_hex_unchecked("0x1f"); +pub const FELT_32: Felt = Felt::from_hex_unchecked("0x20"); +pub const FELT_61: Felt = Felt::from_hex_unchecked("0x3d"); +pub const FELT_63: Felt = Felt::from_hex_unchecked("0x3f"); +pub const FELT_64: Felt = Felt::from_hex_unchecked("0x40"); +pub const FELT_128: Felt = Felt::from_hex_unchecked("0x80"); +pub const FELT_251: Felt = Felt::from_hex_unchecked("0xfb"); +pub const FELT_255: Felt = Felt::from_hex_unchecked("0xff"); +pub const FELT_256: Felt = Felt::from_hex_unchecked("0x100"); +pub const FELT_512: Felt = Felt::from_hex_unchecked("0x200"); +pub const FELT_4096: Felt = Felt::from_hex_unchecked("0x1000"); +pub const FELT_524288: Felt = Felt::from_hex_unchecked("0x80000"); +pub const FELT_36893488147419103232: Felt = Felt::from_hex_unchecked("0x20000000000000000"); +pub const FELT_73786976294838206464: Felt = Felt::from_hex_unchecked("0x40000000000000000"); +pub const FELT_147573952589676412928: Felt = Felt::from_hex_unchecked("0x80000000000000000"); +pub const FELT_340282366920938463463374607431768211456: Felt = + Felt::from_hex_unchecked("0x100000000000000000000000000000000"); +pub const FELT_680564733841876926926749214863536422912: Felt = + Felt::from_hex_unchecked("0x200000000000000000000000000000000"); +pub const FELT_1361129467683753853853498429727072845824: Felt = + Felt::from_hex_unchecked("0x400000000000000000000000000000000"); +pub const FELT_2722258935367507707706996859454145691648: Felt = + Felt::from_hex_unchecked("0x800000000000000000000000000000000"); +pub const FELT_6277101735386680763835789423207666416102355444464034512896: Felt = + Felt::from_hex_unchecked("0x1000000000000000000000000000000000000000000000000"); +pub const FELT_12554203470773361527671578846415332832204710888928069025792: Felt = + Felt::from_hex_unchecked("0x2000000000000000000000000000000000000000000000000"); +pub const FELT_25108406941546723055343157692830665664409421777856138051584: Felt = + Felt::from_hex_unchecked("0x4000000000000000000000000000000000000000000000000"); +pub const FELT_50216813883093446110686315385661331328818843555712276103168: Felt = + Felt::from_hex_unchecked("0x8000000000000000000000000000000000000000000000000"); +pub const FELT_1606938044258990275541962092341162602522202993782792835301376: Felt = + Felt::from_hex_unchecked("0x100000000000000000000000000000000000000000000000000"); +pub const FELT_1229782938247303441: Felt = Felt::from_hex_unchecked("0x1111111111111111"); +pub const FELT_65536: Felt = Felt::from_hex_unchecked("0x10000"); +pub const FELT_4294967296: Felt = Felt::from_hex_unchecked("0x100000000"); +pub const FELT_281474976710656: Felt = Felt::from_hex_unchecked("0x1000000000000"); +pub const FELT_18446744073709551616: Felt = Felt::from_hex_unchecked("0x10000000000000000"); +pub const FELT_1208925819614629174706176: Felt = + Felt::from_hex_unchecked("0x100000000000000000000"); +pub const FELT_316912650057057350374175801344: Felt = + Felt::from_hex_unchecked("0x4000000000000000000000000"); +pub const FELT_79228162514264337593543950336: Felt = + Felt::from_hex_unchecked("0x1000000000000000000000000"); +pub const FELT_3138550867693340381917894711603833208051177722232017256448: Felt = + Felt::from_hex_unchecked("0x800000000000000000000000000000000000000000000000"); +pub const FELT_2950795762459345168613727575620414179244544320470208355568817838579231751791: Felt = + Felt::from_hex_unchecked("0x6861759EA556A2339DD92F9562A30B9E58E2AD98109AE4780B7FD8EAC77FE6F"); +pub const FELT_1587446564224215276866294500450702039420286416111469274423465069420553242820: Felt = + Felt::from_hex_unchecked("0x3827681995D5AF9FFC8397A3D00425A3DA43F76ABF28A64E4AB1A22F27508C4"); +pub const FELT_1645965921169490687904413452218868659025437693527479459426157555728339600137: Felt = + Felt::from_hex_unchecked("0x3A3956D2FAD44D0E7F760A2277DC7CB2CAC75DC279B2D687A0DBE17704A8309"); +pub const FELT_2121140748740143694053732746913428481442990369183417228688865837805149503386: Felt = + Felt::from_hex_unchecked("0x4B085EB1DF4258C3453CC97445954BF3433B6AB9DD5A99592864C00F54A3F9A"); +pub const FELT_3618502788666131213697322783095070105623107215331596699973092056135872020477: Felt = + Felt::from_hex_unchecked("0x800000000000010FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD"); +pub const FELT_3618502788666131213697322783095070105623107215331596699973092056135872020479: Felt = + Felt::from_hex_unchecked("0x800000000000010FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"); +pub const FELT_2006642341318481906727563724340978325665491359415674592697055778067937914672: Felt = + Felt::from_hex_unchecked("0x46FB825257FEC76C50FE043684D4E6D2D2F2FDFE9B7C8D7128CA7ACC0F66F30"); +pub const FELT_1246177936547655338400308396717835700699368047388302793172818304164989556526: Felt = + Felt::from_hex_unchecked("0x2C14FCCABC26929170CC7AC9989C823608B9008BEF3B8E16B6089A5D33CD72E"); +pub const FELT_427751140904099001132521606468025610873158555767197326325930641757709538586: Felt = + Felt::from_hex_unchecked("0xF2193BA0C7EA33CE6222D9446C1E166202AE5461005292F4A2BCB93420151A"); +pub const FELT_18014398509481984: Felt = Felt::from_hex_unchecked("0x40000000000000"); +pub const FELT_560279373700919169769089400651532183647886248799764942664266404650165812023: Felt = + Felt::from_hex_unchecked("0x13D1B5CFD87693224F0AC561AB2C15CA53365D768311AF59CEFAF701BC53B37"); +pub const FELT_1401754474293352309994371631695783042590401941592571735921592823982231996415: Felt = + Felt::from_hex_unchecked("0x3195D6B2D930E71CEDE286D5B8B41D49296DDF222BCD3BF3717A12A9A6947FF"); +pub const FELT_49: Felt = Felt::from_hex_unchecked("0x31"); +pub const FELT_32768: Felt = Felt::from_hex_unchecked("0x8000"); diff --git a/crates/air/src/diluted.rs b/crates/air/src/diluted.rs index 52afd48..aa88cad 100644 --- a/crates/air/src/diluted.rs +++ b/crates/air/src/diluted.rs @@ -1,3 +1,4 @@ +use crate::consts::{FELT_0, FELT_1, FELT_2}; use starknet_crypto::Felt; // The cumulative value is defined using the next recursive formula: @@ -24,15 +25,15 @@ use starknet_crypto::Felt; // // Now we can compute p_{n_bits} and q_{n_bits} in just n_bits recursive steps and we are done. pub fn get_diluted_product(n_bits: Felt, spacing: Felt, z: Felt, alpha: Felt) -> Felt { - let diff_multiplier = Felt::TWO.pow_felt(&spacing); - let mut diff_x: Felt = diff_multiplier - 2; - let mut x: Felt = Felt::ONE; - let mut p: Felt = z + 1; - let mut q: Felt = Felt::ONE; + let diff_multiplier = FELT_2.pow_felt(&spacing); + let mut diff_x: Felt = diff_multiplier - FELT_2; + let mut x: Felt = FELT_1; + let mut p: Felt = z + FELT_1; + let mut q: Felt = FELT_1; - let mut i = Felt::ZERO; + let mut i = FELT_0; loop { - if i == n_bits - 1 { + if i == n_bits - FELT_1 { break p + q * alpha; } @@ -43,6 +44,6 @@ pub fn get_diluted_product(n_bits: Felt, spacing: Felt, z: Felt, alpha: Felt) -> q = q * y + x * x_p + q; p *= y; - i = i + 1; + i += FELT_1; } } diff --git a/crates/air/src/domains.rs b/crates/air/src/domains.rs index 8f29727..7ad14a6 100644 --- a/crates/air/src/domains.rs +++ b/crates/air/src/domains.rs @@ -31,12 +31,11 @@ impl StarkDomains { log_eval_domain_size: log_trace_domain_size + log_n_cosets, eval_domain_size: Felt::TWO.pow_felt(&log_eval_domain_size), eval_generator: FIELD_GENERATOR.pow_felt( - &STARK_PRIME_MINUS_ONE - .field_div(&NonZeroFelt::from_felt_unchecked(eval_domain_size)), + &STARK_PRIME_MINUS_ONE.field_div(&NonZeroFelt::try_from(eval_domain_size).unwrap()), ), trace_generator: FIELD_GENERATOR.pow_felt( &STARK_PRIME_MINUS_ONE - .field_div(&NonZeroFelt::from_felt_unchecked(trace_domain_size)), + .field_div(&NonZeroFelt::try_from(trace_domain_size).unwrap()), ), trace_domain_size, log_trace_domain_size, diff --git a/crates/air/src/dynamic.rs b/crates/air/src/dynamic.rs new file mode 100644 index 0000000..8a35c47 --- /dev/null +++ b/crates/air/src/dynamic.rs @@ -0,0 +1,1046 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct DynamicParams { + pub add_mod_a0_suboffset: usize, + pub add_mod_a1_suboffset: usize, + pub add_mod_a2_suboffset: usize, + pub add_mod_a3_suboffset: usize, + pub add_mod_a_offset_suboffset: usize, + pub add_mod_b0_suboffset: usize, + pub add_mod_b1_suboffset: usize, + pub add_mod_b2_suboffset: usize, + pub add_mod_b3_suboffset: usize, + pub add_mod_b_offset_suboffset: usize, + pub add_mod_c0_suboffset: usize, + pub add_mod_c1_suboffset: usize, + pub add_mod_c2_suboffset: usize, + pub add_mod_c3_suboffset: usize, + pub add_mod_c_offset_suboffset: usize, + pub add_mod_carry1_bit_column: usize, + pub add_mod_carry1_bit_offset: usize, + pub add_mod_carry1_sign_column: usize, + pub add_mod_carry1_sign_offset: usize, + pub add_mod_carry2_bit_column: usize, + pub add_mod_carry2_bit_offset: usize, + pub add_mod_carry2_sign_column: usize, + pub add_mod_carry2_sign_offset: usize, + pub add_mod_carry3_bit_column: usize, + pub add_mod_carry3_bit_offset: usize, + pub add_mod_carry3_sign_column: usize, + pub add_mod_carry3_sign_offset: usize, + pub add_mod_n_suboffset: usize, + pub add_mod_offsets_ptr_suboffset: usize, + pub add_mod_p0_suboffset: usize, + pub add_mod_p1_suboffset: usize, + pub add_mod_p2_suboffset: usize, + pub add_mod_p3_suboffset: usize, + pub add_mod_row_ratio: usize, + pub add_mod_sub_p_bit_column: usize, + pub add_mod_sub_p_bit_offset: usize, + pub add_mod_values_ptr_suboffset: usize, + pub bitwise_diluted_var_pool_suboffset: usize, + pub bitwise_row_ratio: usize, + pub bitwise_trim_unpacking192_suboffset: usize, + pub bitwise_trim_unpacking193_suboffset: usize, + pub bitwise_trim_unpacking194_suboffset: usize, + pub bitwise_trim_unpacking195_suboffset: usize, + pub bitwise_var_pool_suboffset: usize, + pub bitwise_x_or_y_suboffset: usize, + pub cpu_decode_mem_inst_suboffset: usize, + pub cpu_decode_off0_suboffset: usize, + pub cpu_decode_off1_suboffset: usize, + pub cpu_decode_off2_suboffset: usize, + pub cpu_decode_opcode_range_check_column_column: usize, + pub cpu_decode_opcode_range_check_column_offset: usize, + pub cpu_operands_mem_dst_suboffset: usize, + pub cpu_operands_mem_op0_suboffset: usize, + pub cpu_operands_mem_op1_suboffset: usize, + pub cpu_operands_ops_mul_column: usize, + pub cpu_operands_ops_mul_offset: usize, + pub cpu_operands_res_column: usize, + pub cpu_operands_res_offset: usize, + pub cpu_registers_ap_column: usize, + pub cpu_registers_ap_offset: usize, + pub cpu_registers_fp_column: usize, + pub cpu_registers_fp_offset: usize, + pub cpu_update_registers_update_pc_tmp0_column: usize, + pub cpu_update_registers_update_pc_tmp0_offset: usize, + pub cpu_update_registers_update_pc_tmp1_column: usize, + pub cpu_update_registers_update_pc_tmp1_offset: usize, + pub cpu_component_step: usize, + pub diluted_check_cumulative_value_column: usize, + pub diluted_check_cumulative_value_offset: usize, + pub diluted_check_permutation_cum_prod0_column: usize, + pub diluted_check_permutation_cum_prod0_offset: usize, + pub diluted_check_permuted_values_column: usize, + pub diluted_check_permuted_values_offset: usize, + pub diluted_pool_column: usize, + pub diluted_pool_offset: usize, + pub diluted_units_row_ratio: usize, + pub ec_op_doubled_points_x_column: usize, + pub ec_op_doubled_points_x_offset: usize, + pub ec_op_doubled_points_y_column: usize, + pub ec_op_doubled_points_y_offset: usize, + pub ec_op_doubling_slope_column: usize, + pub ec_op_doubling_slope_offset: usize, + pub ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column: usize, + pub ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset: usize, + pub ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column: usize, + pub ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset: usize, + pub ec_op_ec_subset_sum_partial_sum_x_column: usize, + pub ec_op_ec_subset_sum_partial_sum_x_offset: usize, + pub ec_op_ec_subset_sum_partial_sum_y_column: usize, + pub ec_op_ec_subset_sum_partial_sum_y_offset: usize, + pub ec_op_ec_subset_sum_selector_column: usize, + pub ec_op_ec_subset_sum_selector_offset: usize, + pub ec_op_ec_subset_sum_slope_column: usize, + pub ec_op_ec_subset_sum_slope_offset: usize, + pub ec_op_ec_subset_sum_x_diff_inv_column: usize, + pub ec_op_ec_subset_sum_x_diff_inv_offset: usize, + pub ec_op_m_suboffset: usize, + pub ec_op_p_x_suboffset: usize, + pub ec_op_p_y_suboffset: usize, + pub ec_op_q_x_suboffset: usize, + pub ec_op_q_y_suboffset: usize, + pub ec_op_r_x_suboffset: usize, + pub ec_op_r_y_suboffset: usize, + pub ec_op_builtin_row_ratio: usize, + pub ecdsa_message_suboffset: usize, + pub ecdsa_pubkey_suboffset: usize, + pub ecdsa_signature0_add_results_inv_column: usize, + pub ecdsa_signature0_add_results_inv_offset: usize, + pub ecdsa_signature0_add_results_slope_column: usize, + pub ecdsa_signature0_add_results_slope_offset: usize, + pub ecdsa_signature0_doubling_slope_column: usize, + pub ecdsa_signature0_doubling_slope_offset: usize, + pub ecdsa_signature0_exponentiate_generator_partial_sum_x_column: usize, + pub ecdsa_signature0_exponentiate_generator_partial_sum_x_offset: usize, + pub ecdsa_signature0_exponentiate_generator_partial_sum_y_column: usize, + pub ecdsa_signature0_exponentiate_generator_partial_sum_y_offset: usize, + pub ecdsa_signature0_exponentiate_generator_selector_column: usize, + pub ecdsa_signature0_exponentiate_generator_selector_offset: usize, + pub ecdsa_signature0_exponentiate_generator_slope_column: usize, + pub ecdsa_signature0_exponentiate_generator_slope_offset: usize, + pub ecdsa_signature0_exponentiate_generator_x_diff_inv_column: usize, + pub ecdsa_signature0_exponentiate_generator_x_diff_inv_offset: usize, + pub ecdsa_signature0_exponentiate_key_partial_sum_x_column: usize, + pub ecdsa_signature0_exponentiate_key_partial_sum_x_offset: usize, + pub ecdsa_signature0_exponentiate_key_partial_sum_y_column: usize, + pub ecdsa_signature0_exponentiate_key_partial_sum_y_offset: usize, + pub ecdsa_signature0_exponentiate_key_selector_column: usize, + pub ecdsa_signature0_exponentiate_key_selector_offset: usize, + pub ecdsa_signature0_exponentiate_key_slope_column: usize, + pub ecdsa_signature0_exponentiate_key_slope_offset: usize, + pub ecdsa_signature0_exponentiate_key_x_diff_inv_column: usize, + pub ecdsa_signature0_exponentiate_key_x_diff_inv_offset: usize, + pub ecdsa_signature0_extract_r_inv_column: usize, + pub ecdsa_signature0_extract_r_inv_offset: usize, + pub ecdsa_signature0_extract_r_slope_column: usize, + pub ecdsa_signature0_extract_r_slope_offset: usize, + pub ecdsa_signature0_key_points_x_column: usize, + pub ecdsa_signature0_key_points_x_offset: usize, + pub ecdsa_signature0_key_points_y_column: usize, + pub ecdsa_signature0_key_points_y_offset: usize, + pub ecdsa_signature0_q_x_squared_column: usize, + pub ecdsa_signature0_q_x_squared_offset: usize, + pub ecdsa_signature0_r_w_inv_column: usize, + pub ecdsa_signature0_r_w_inv_offset: usize, + pub ecdsa_signature0_z_inv_column: usize, + pub ecdsa_signature0_z_inv_offset: usize, + pub ecdsa_builtin_row_ratio: usize, + pub keccak_input_output_suboffset: usize, + pub keccak_keccak_diluted_column0_suboffset: usize, + pub keccak_keccak_diluted_column1_suboffset: usize, + pub keccak_keccak_diluted_column2_suboffset: usize, + pub keccak_keccak_diluted_column3_suboffset: usize, + pub keccak_keccak_parse_to_diluted_cumulative_sum_column: usize, + pub keccak_keccak_parse_to_diluted_cumulative_sum_offset: usize, + pub keccak_keccak_parse_to_diluted_final_reshaped_input_column: usize, + pub keccak_keccak_parse_to_diluted_final_reshaped_input_offset: usize, + pub keccak_keccak_parse_to_diluted_reshaped_intermediate_column: usize, + pub keccak_keccak_parse_to_diluted_reshaped_intermediate_offset: usize, + pub keccak_keccak_rotated_parity0_column: usize, + pub keccak_keccak_rotated_parity0_offset: usize, + pub keccak_keccak_rotated_parity1_column: usize, + pub keccak_keccak_rotated_parity1_offset: usize, + pub keccak_keccak_rotated_parity2_column: usize, + pub keccak_keccak_rotated_parity2_offset: usize, + pub keccak_keccak_rotated_parity3_column: usize, + pub keccak_keccak_rotated_parity3_offset: usize, + pub keccak_keccak_rotated_parity4_column: usize, + pub keccak_keccak_rotated_parity4_offset: usize, + pub keccak_row_ratio: usize, + pub mem_pool_addr_column: usize, + pub mem_pool_addr_offset: usize, + pub mem_pool_value_column: usize, + pub mem_pool_value_offset: usize, + pub memory_multi_column_perm_perm_cum_prod0_column: usize, + pub memory_multi_column_perm_perm_cum_prod0_offset: usize, + pub memory_sorted_addr_column: usize, + pub memory_sorted_addr_offset: usize, + pub memory_sorted_value_column: usize, + pub memory_sorted_value_offset: usize, + pub memory_units_row_ratio: usize, + pub mul_mod_a0_suboffset: usize, + pub mul_mod_a1_suboffset: usize, + pub mul_mod_a2_suboffset: usize, + pub mul_mod_a3_suboffset: usize, + pub mul_mod_a_offset_suboffset: usize, + pub mul_mod_b0_suboffset: usize, + pub mul_mod_b1_suboffset: usize, + pub mul_mod_b2_suboffset: usize, + pub mul_mod_b3_suboffset: usize, + pub mul_mod_b_offset_suboffset: usize, + pub mul_mod_c0_suboffset: usize, + pub mul_mod_c1_suboffset: usize, + pub mul_mod_c2_suboffset: usize, + pub mul_mod_c3_suboffset: usize, + pub mul_mod_c_offset_suboffset: usize, + pub mul_mod_carry0_part0_suboffset: usize, + pub mul_mod_carry0_part1_suboffset: usize, + pub mul_mod_carry0_part2_suboffset: usize, + pub mul_mod_carry0_part3_suboffset: usize, + pub mul_mod_carry0_part4_suboffset: usize, + pub mul_mod_carry0_part5_suboffset: usize, + pub mul_mod_carry0_part6_suboffset: usize, + pub mul_mod_carry1_part0_suboffset: usize, + pub mul_mod_carry1_part1_suboffset: usize, + pub mul_mod_carry1_part2_suboffset: usize, + pub mul_mod_carry1_part3_suboffset: usize, + pub mul_mod_carry1_part4_suboffset: usize, + pub mul_mod_carry1_part5_suboffset: usize, + pub mul_mod_carry1_part6_suboffset: usize, + pub mul_mod_carry2_part0_suboffset: usize, + pub mul_mod_carry2_part1_suboffset: usize, + pub mul_mod_carry2_part2_suboffset: usize, + pub mul_mod_carry2_part3_suboffset: usize, + pub mul_mod_carry2_part4_suboffset: usize, + pub mul_mod_carry2_part5_suboffset: usize, + pub mul_mod_carry2_part6_suboffset: usize, + pub mul_mod_carry3_part0_suboffset: usize, + pub mul_mod_carry3_part1_suboffset: usize, + pub mul_mod_carry3_part2_suboffset: usize, + pub mul_mod_carry3_part3_suboffset: usize, + pub mul_mod_carry3_part4_suboffset: usize, + pub mul_mod_carry3_part5_suboffset: usize, + pub mul_mod_carry3_part6_suboffset: usize, + pub mul_mod_carry4_part0_suboffset: usize, + pub mul_mod_carry4_part1_suboffset: usize, + pub mul_mod_carry4_part2_suboffset: usize, + pub mul_mod_carry4_part3_suboffset: usize, + pub mul_mod_carry4_part4_suboffset: usize, + pub mul_mod_carry4_part5_suboffset: usize, + pub mul_mod_carry4_part6_suboffset: usize, + pub mul_mod_carry5_part0_suboffset: usize, + pub mul_mod_carry5_part1_suboffset: usize, + pub mul_mod_carry5_part2_suboffset: usize, + pub mul_mod_carry5_part3_suboffset: usize, + pub mul_mod_carry5_part4_suboffset: usize, + pub mul_mod_carry5_part5_suboffset: usize, + pub mul_mod_carry5_part6_suboffset: usize, + pub mul_mod_n_suboffset: usize, + pub mul_mod_offsets_ptr_suboffset: usize, + pub mul_mod_p0_suboffset: usize, + pub mul_mod_p1_suboffset: usize, + pub mul_mod_p2_suboffset: usize, + pub mul_mod_p3_suboffset: usize, + pub mul_mod_p_multiplier0_part0_suboffset: usize, + pub mul_mod_p_multiplier0_part1_suboffset: usize, + pub mul_mod_p_multiplier0_part2_suboffset: usize, + pub mul_mod_p_multiplier0_part3_suboffset: usize, + pub mul_mod_p_multiplier0_part4_suboffset: usize, + pub mul_mod_p_multiplier0_part5_suboffset: usize, + pub mul_mod_p_multiplier1_part0_suboffset: usize, + pub mul_mod_p_multiplier1_part1_suboffset: usize, + pub mul_mod_p_multiplier1_part2_suboffset: usize, + pub mul_mod_p_multiplier1_part3_suboffset: usize, + pub mul_mod_p_multiplier1_part4_suboffset: usize, + pub mul_mod_p_multiplier1_part5_suboffset: usize, + pub mul_mod_p_multiplier2_part0_suboffset: usize, + pub mul_mod_p_multiplier2_part1_suboffset: usize, + pub mul_mod_p_multiplier2_part2_suboffset: usize, + pub mul_mod_p_multiplier2_part3_suboffset: usize, + pub mul_mod_p_multiplier2_part4_suboffset: usize, + pub mul_mod_p_multiplier2_part5_suboffset: usize, + pub mul_mod_p_multiplier3_part0_suboffset: usize, + pub mul_mod_p_multiplier3_part1_suboffset: usize, + pub mul_mod_p_multiplier3_part2_suboffset: usize, + pub mul_mod_p_multiplier3_part3_suboffset: usize, + pub mul_mod_p_multiplier3_part4_suboffset: usize, + pub mul_mod_p_multiplier3_part5_suboffset: usize, + pub mul_mod_row_ratio: usize, + pub mul_mod_values_ptr_suboffset: usize, + pub num_columns_first: usize, + pub num_columns_second: usize, + pub orig_public_memory_suboffset: usize, + pub pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column: usize, + pub pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset: usize, + pub pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column: usize, + pub pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset: usize, + pub pedersen_hash0_ec_subset_sum_partial_sum_x_column: usize, + pub pedersen_hash0_ec_subset_sum_partial_sum_x_offset: usize, + pub pedersen_hash0_ec_subset_sum_partial_sum_y_column: usize, + pub pedersen_hash0_ec_subset_sum_partial_sum_y_offset: usize, + pub pedersen_hash0_ec_subset_sum_selector_column: usize, + pub pedersen_hash0_ec_subset_sum_selector_offset: usize, + pub pedersen_hash0_ec_subset_sum_slope_column: usize, + pub pedersen_hash0_ec_subset_sum_slope_offset: usize, + pub pedersen_input0_suboffset: usize, + pub pedersen_input1_suboffset: usize, + pub pedersen_output_suboffset: usize, + pub pedersen_builtin_row_ratio: usize, + pub poseidon_param_0_input_output_suboffset: usize, + pub poseidon_param_1_input_output_suboffset: usize, + pub poseidon_param_2_input_output_suboffset: usize, + pub poseidon_poseidon_full_rounds_state0_column: usize, + pub poseidon_poseidon_full_rounds_state0_offset: usize, + pub poseidon_poseidon_full_rounds_state0_squared_column: usize, + pub poseidon_poseidon_full_rounds_state0_squared_offset: usize, + pub poseidon_poseidon_full_rounds_state1_column: usize, + pub poseidon_poseidon_full_rounds_state1_offset: usize, + pub poseidon_poseidon_full_rounds_state1_squared_column: usize, + pub poseidon_poseidon_full_rounds_state1_squared_offset: usize, + pub poseidon_poseidon_full_rounds_state2_column: usize, + pub poseidon_poseidon_full_rounds_state2_offset: usize, + pub poseidon_poseidon_full_rounds_state2_squared_column: usize, + pub poseidon_poseidon_full_rounds_state2_squared_offset: usize, + pub poseidon_poseidon_partial_rounds_state0_column: usize, + pub poseidon_poseidon_partial_rounds_state0_offset: usize, + pub poseidon_poseidon_partial_rounds_state0_squared_column: usize, + pub poseidon_poseidon_partial_rounds_state0_squared_offset: usize, + pub poseidon_poseidon_partial_rounds_state1_column: usize, + pub poseidon_poseidon_partial_rounds_state1_offset: usize, + pub poseidon_poseidon_partial_rounds_state1_squared_column: usize, + pub poseidon_poseidon_partial_rounds_state1_squared_offset: usize, + pub poseidon_row_ratio: usize, + pub range_check16_perm_cum_prod0_column: usize, + pub range_check16_perm_cum_prod0_offset: usize, + pub range_check16_sorted_column: usize, + pub range_check16_sorted_offset: usize, + pub range_check16_pool_column: usize, + pub range_check16_pool_offset: usize, + pub range_check96_builtin_inner_range_check0_suboffset: usize, + pub range_check96_builtin_inner_range_check1_suboffset: usize, + pub range_check96_builtin_inner_range_check2_suboffset: usize, + pub range_check96_builtin_inner_range_check3_suboffset: usize, + pub range_check96_builtin_inner_range_check4_suboffset: usize, + pub range_check96_builtin_inner_range_check5_suboffset: usize, + pub range_check96_builtin_mem_suboffset: usize, + pub range_check96_builtin_row_ratio: usize, + pub range_check_builtin_inner_range_check_suboffset: usize, + pub range_check_builtin_mem_suboffset: usize, + pub range_check_builtin_row_ratio: usize, + pub range_check_units_row_ratio: usize, + pub uses_add_mod_builtin: usize, + pub uses_bitwise_builtin: usize, + pub uses_ec_op_builtin: usize, + pub uses_ecdsa_builtin: usize, + pub uses_keccak_builtin: usize, + pub uses_mul_mod_builtin: usize, + pub uses_pedersen_builtin: usize, + pub uses_poseidon_builtin: usize, + pub uses_range_check96_builtin: usize, + pub uses_range_check_builtin: usize, +} + +use alloc::vec::Vec; + +impl From> for DynamicParams { + fn from(vec: Vec) -> Self { + // Ensure the vector has the correct length + assert_eq!(vec.len(), 340, "Vector length does not match the number of fields"); + + Self { + add_mod_a0_suboffset: vec[0], + add_mod_a1_suboffset: vec[1], + add_mod_a2_suboffset: vec[2], + add_mod_a3_suboffset: vec[3], + add_mod_a_offset_suboffset: vec[4], + add_mod_b0_suboffset: vec[5], + add_mod_b1_suboffset: vec[6], + add_mod_b2_suboffset: vec[7], + add_mod_b3_suboffset: vec[8], + add_mod_b_offset_suboffset: vec[9], + add_mod_c0_suboffset: vec[10], + add_mod_c1_suboffset: vec[11], + add_mod_c2_suboffset: vec[12], + add_mod_c3_suboffset: vec[13], + add_mod_c_offset_suboffset: vec[14], + add_mod_carry1_bit_column: vec[15], + add_mod_carry1_bit_offset: vec[16], + add_mod_carry1_sign_column: vec[17], + add_mod_carry1_sign_offset: vec[18], + add_mod_carry2_bit_column: vec[19], + add_mod_carry2_bit_offset: vec[20], + add_mod_carry2_sign_column: vec[21], + add_mod_carry2_sign_offset: vec[22], + add_mod_carry3_bit_column: vec[23], + add_mod_carry3_bit_offset: vec[24], + add_mod_carry3_sign_column: vec[25], + add_mod_carry3_sign_offset: vec[26], + add_mod_n_suboffset: vec[27], + add_mod_offsets_ptr_suboffset: vec[28], + add_mod_p0_suboffset: vec[29], + add_mod_p1_suboffset: vec[30], + add_mod_p2_suboffset: vec[31], + add_mod_p3_suboffset: vec[32], + add_mod_row_ratio: vec[33], + add_mod_sub_p_bit_column: vec[34], + add_mod_sub_p_bit_offset: vec[35], + add_mod_values_ptr_suboffset: vec[36], + bitwise_diluted_var_pool_suboffset: vec[37], + bitwise_row_ratio: vec[38], + bitwise_trim_unpacking192_suboffset: vec[39], + bitwise_trim_unpacking193_suboffset: vec[40], + bitwise_trim_unpacking194_suboffset: vec[41], + bitwise_trim_unpacking195_suboffset: vec[42], + bitwise_var_pool_suboffset: vec[43], + bitwise_x_or_y_suboffset: vec[44], + cpu_decode_mem_inst_suboffset: vec[45], + cpu_decode_off0_suboffset: vec[46], + cpu_decode_off1_suboffset: vec[47], + cpu_decode_off2_suboffset: vec[48], + cpu_decode_opcode_range_check_column_column: vec[49], + cpu_decode_opcode_range_check_column_offset: vec[50], + cpu_operands_mem_dst_suboffset: vec[51], + cpu_operands_mem_op0_suboffset: vec[52], + cpu_operands_mem_op1_suboffset: vec[53], + cpu_operands_ops_mul_column: vec[54], + cpu_operands_ops_mul_offset: vec[55], + cpu_operands_res_column: vec[56], + cpu_operands_res_offset: vec[57], + cpu_registers_ap_column: vec[58], + cpu_registers_ap_offset: vec[59], + cpu_registers_fp_column: vec[60], + cpu_registers_fp_offset: vec[61], + cpu_update_registers_update_pc_tmp0_column: vec[62], + cpu_update_registers_update_pc_tmp0_offset: vec[63], + cpu_update_registers_update_pc_tmp1_column: vec[64], + cpu_update_registers_update_pc_tmp1_offset: vec[65], + cpu_component_step: vec[66], + diluted_check_cumulative_value_column: vec[67], + diluted_check_cumulative_value_offset: vec[68], + diluted_check_permutation_cum_prod0_column: vec[69], + diluted_check_permutation_cum_prod0_offset: vec[70], + diluted_check_permuted_values_column: vec[71], + diluted_check_permuted_values_offset: vec[72], + diluted_pool_column: vec[73], + diluted_pool_offset: vec[74], + diluted_units_row_ratio: vec[75], + ec_op_doubled_points_x_column: vec[76], + ec_op_doubled_points_x_offset: vec[77], + ec_op_doubled_points_y_column: vec[78], + ec_op_doubled_points_y_offset: vec[79], + ec_op_doubling_slope_column: vec[80], + ec_op_doubling_slope_offset: vec[81], + ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column: vec[82], + ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset: vec[83], + ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column: vec[84], + ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset: vec[85], + ec_op_ec_subset_sum_partial_sum_x_column: vec[86], + ec_op_ec_subset_sum_partial_sum_x_offset: vec[87], + ec_op_ec_subset_sum_partial_sum_y_column: vec[88], + ec_op_ec_subset_sum_partial_sum_y_offset: vec[89], + ec_op_ec_subset_sum_selector_column: vec[90], + ec_op_ec_subset_sum_selector_offset: vec[91], + ec_op_ec_subset_sum_slope_column: vec[92], + ec_op_ec_subset_sum_slope_offset: vec[93], + ec_op_ec_subset_sum_x_diff_inv_column: vec[94], + ec_op_ec_subset_sum_x_diff_inv_offset: vec[95], + ec_op_m_suboffset: vec[96], + ec_op_p_x_suboffset: vec[97], + ec_op_p_y_suboffset: vec[98], + ec_op_q_x_suboffset: vec[99], + ec_op_q_y_suboffset: vec[100], + ec_op_r_x_suboffset: vec[101], + ec_op_r_y_suboffset: vec[102], + ec_op_builtin_row_ratio: vec[103], + ecdsa_message_suboffset: vec[104], + ecdsa_pubkey_suboffset: vec[105], + ecdsa_signature0_add_results_inv_column: vec[106], + ecdsa_signature0_add_results_inv_offset: vec[107], + ecdsa_signature0_add_results_slope_column: vec[108], + ecdsa_signature0_add_results_slope_offset: vec[109], + ecdsa_signature0_doubling_slope_column: vec[110], + ecdsa_signature0_doubling_slope_offset: vec[111], + ecdsa_signature0_exponentiate_generator_partial_sum_x_column: vec[112], + ecdsa_signature0_exponentiate_generator_partial_sum_x_offset: vec[113], + ecdsa_signature0_exponentiate_generator_partial_sum_y_column: vec[114], + ecdsa_signature0_exponentiate_generator_partial_sum_y_offset: vec[115], + ecdsa_signature0_exponentiate_generator_selector_column: vec[116], + ecdsa_signature0_exponentiate_generator_selector_offset: vec[117], + ecdsa_signature0_exponentiate_generator_slope_column: vec[118], + ecdsa_signature0_exponentiate_generator_slope_offset: vec[119], + ecdsa_signature0_exponentiate_generator_x_diff_inv_column: vec[120], + ecdsa_signature0_exponentiate_generator_x_diff_inv_offset: vec[121], + ecdsa_signature0_exponentiate_key_partial_sum_x_column: vec[122], + ecdsa_signature0_exponentiate_key_partial_sum_x_offset: vec[123], + ecdsa_signature0_exponentiate_key_partial_sum_y_column: vec[124], + ecdsa_signature0_exponentiate_key_partial_sum_y_offset: vec[125], + ecdsa_signature0_exponentiate_key_selector_column: vec[126], + ecdsa_signature0_exponentiate_key_selector_offset: vec[127], + ecdsa_signature0_exponentiate_key_slope_column: vec[128], + ecdsa_signature0_exponentiate_key_slope_offset: vec[129], + ecdsa_signature0_exponentiate_key_x_diff_inv_column: vec[130], + ecdsa_signature0_exponentiate_key_x_diff_inv_offset: vec[131], + ecdsa_signature0_extract_r_inv_column: vec[132], + ecdsa_signature0_extract_r_inv_offset: vec[133], + ecdsa_signature0_extract_r_slope_column: vec[134], + ecdsa_signature0_extract_r_slope_offset: vec[135], + ecdsa_signature0_key_points_x_column: vec[136], + ecdsa_signature0_key_points_x_offset: vec[137], + ecdsa_signature0_key_points_y_column: vec[138], + ecdsa_signature0_key_points_y_offset: vec[139], + ecdsa_signature0_q_x_squared_column: vec[140], + ecdsa_signature0_q_x_squared_offset: vec[141], + ecdsa_signature0_r_w_inv_column: vec[142], + ecdsa_signature0_r_w_inv_offset: vec[143], + ecdsa_signature0_z_inv_column: vec[144], + ecdsa_signature0_z_inv_offset: vec[145], + ecdsa_builtin_row_ratio: vec[146], + keccak_input_output_suboffset: vec[147], + keccak_keccak_diluted_column0_suboffset: vec[148], + keccak_keccak_diluted_column1_suboffset: vec[149], + keccak_keccak_diluted_column2_suboffset: vec[150], + keccak_keccak_diluted_column3_suboffset: vec[151], + keccak_keccak_parse_to_diluted_cumulative_sum_column: vec[152], + keccak_keccak_parse_to_diluted_cumulative_sum_offset: vec[153], + keccak_keccak_parse_to_diluted_final_reshaped_input_column: vec[154], + keccak_keccak_parse_to_diluted_final_reshaped_input_offset: vec[155], + keccak_keccak_parse_to_diluted_reshaped_intermediate_column: vec[156], + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset: vec[157], + keccak_keccak_rotated_parity0_column: vec[158], + keccak_keccak_rotated_parity0_offset: vec[159], + keccak_keccak_rotated_parity1_column: vec[160], + keccak_keccak_rotated_parity1_offset: vec[161], + keccak_keccak_rotated_parity2_column: vec[162], + keccak_keccak_rotated_parity2_offset: vec[163], + keccak_keccak_rotated_parity3_column: vec[164], + keccak_keccak_rotated_parity3_offset: vec[165], + keccak_keccak_rotated_parity4_column: vec[166], + keccak_keccak_rotated_parity4_offset: vec[167], + keccak_row_ratio: vec[168], + mem_pool_addr_column: vec[169], + mem_pool_addr_offset: vec[170], + mem_pool_value_column: vec[171], + mem_pool_value_offset: vec[172], + memory_multi_column_perm_perm_cum_prod0_column: vec[173], + memory_multi_column_perm_perm_cum_prod0_offset: vec[174], + memory_sorted_addr_column: vec[175], + memory_sorted_addr_offset: vec[176], + memory_sorted_value_column: vec[177], + memory_sorted_value_offset: vec[178], + memory_units_row_ratio: vec[179], + mul_mod_a0_suboffset: vec[180], + mul_mod_a1_suboffset: vec[181], + mul_mod_a2_suboffset: vec[182], + mul_mod_a3_suboffset: vec[183], + mul_mod_a_offset_suboffset: vec[184], + mul_mod_b0_suboffset: vec[185], + mul_mod_b1_suboffset: vec[186], + mul_mod_b2_suboffset: vec[187], + mul_mod_b3_suboffset: vec[188], + mul_mod_b_offset_suboffset: vec[189], + mul_mod_c0_suboffset: vec[190], + mul_mod_c1_suboffset: vec[191], + mul_mod_c2_suboffset: vec[192], + mul_mod_c3_suboffset: vec[193], + mul_mod_c_offset_suboffset: vec[194], + mul_mod_carry0_part0_suboffset: vec[195], + mul_mod_carry0_part1_suboffset: vec[196], + mul_mod_carry0_part2_suboffset: vec[197], + mul_mod_carry0_part3_suboffset: vec[198], + mul_mod_carry0_part4_suboffset: vec[199], + mul_mod_carry0_part5_suboffset: vec[200], + mul_mod_carry0_part6_suboffset: vec[201], + mul_mod_carry1_part0_suboffset: vec[202], + mul_mod_carry1_part1_suboffset: vec[203], + mul_mod_carry1_part2_suboffset: vec[204], + mul_mod_carry1_part3_suboffset: vec[205], + mul_mod_carry1_part4_suboffset: vec[206], + mul_mod_carry1_part5_suboffset: vec[207], + mul_mod_carry1_part6_suboffset: vec[208], + mul_mod_carry2_part0_suboffset: vec[209], + mul_mod_carry2_part1_suboffset: vec[210], + mul_mod_carry2_part2_suboffset: vec[211], + mul_mod_carry2_part3_suboffset: vec[212], + mul_mod_carry2_part4_suboffset: vec[213], + mul_mod_carry2_part5_suboffset: vec[214], + mul_mod_carry2_part6_suboffset: vec[215], + mul_mod_carry3_part0_suboffset: vec[216], + mul_mod_carry3_part1_suboffset: vec[217], + mul_mod_carry3_part2_suboffset: vec[218], + mul_mod_carry3_part3_suboffset: vec[219], + mul_mod_carry3_part4_suboffset: vec[220], + mul_mod_carry3_part5_suboffset: vec[221], + mul_mod_carry3_part6_suboffset: vec[222], + mul_mod_carry4_part0_suboffset: vec[223], + mul_mod_carry4_part1_suboffset: vec[224], + mul_mod_carry4_part2_suboffset: vec[225], + mul_mod_carry4_part3_suboffset: vec[226], + mul_mod_carry4_part4_suboffset: vec[227], + mul_mod_carry4_part5_suboffset: vec[228], + mul_mod_carry4_part6_suboffset: vec[229], + mul_mod_carry5_part0_suboffset: vec[230], + mul_mod_carry5_part1_suboffset: vec[231], + mul_mod_carry5_part2_suboffset: vec[232], + mul_mod_carry5_part3_suboffset: vec[233], + mul_mod_carry5_part4_suboffset: vec[234], + mul_mod_carry5_part5_suboffset: vec[235], + mul_mod_carry5_part6_suboffset: vec[236], + mul_mod_n_suboffset: vec[237], + mul_mod_offsets_ptr_suboffset: vec[238], + mul_mod_p0_suboffset: vec[239], + mul_mod_p1_suboffset: vec[240], + mul_mod_p2_suboffset: vec[241], + mul_mod_p3_suboffset: vec[242], + mul_mod_p_multiplier0_part0_suboffset: vec[243], + mul_mod_p_multiplier0_part1_suboffset: vec[244], + mul_mod_p_multiplier0_part2_suboffset: vec[245], + mul_mod_p_multiplier0_part3_suboffset: vec[246], + mul_mod_p_multiplier0_part4_suboffset: vec[247], + mul_mod_p_multiplier0_part5_suboffset: vec[248], + mul_mod_p_multiplier1_part0_suboffset: vec[249], + mul_mod_p_multiplier1_part1_suboffset: vec[250], + mul_mod_p_multiplier1_part2_suboffset: vec[251], + mul_mod_p_multiplier1_part3_suboffset: vec[252], + mul_mod_p_multiplier1_part4_suboffset: vec[253], + mul_mod_p_multiplier1_part5_suboffset: vec[254], + mul_mod_p_multiplier2_part0_suboffset: vec[255], + mul_mod_p_multiplier2_part1_suboffset: vec[256], + mul_mod_p_multiplier2_part2_suboffset: vec[257], + mul_mod_p_multiplier2_part3_suboffset: vec[258], + mul_mod_p_multiplier2_part4_suboffset: vec[259], + mul_mod_p_multiplier2_part5_suboffset: vec[260], + mul_mod_p_multiplier3_part0_suboffset: vec[261], + mul_mod_p_multiplier3_part1_suboffset: vec[262], + mul_mod_p_multiplier3_part2_suboffset: vec[263], + mul_mod_p_multiplier3_part3_suboffset: vec[264], + mul_mod_p_multiplier3_part4_suboffset: vec[265], + mul_mod_p_multiplier3_part5_suboffset: vec[266], + mul_mod_row_ratio: vec[267], + mul_mod_values_ptr_suboffset: vec[268], + num_columns_first: vec[269], + num_columns_second: vec[270], + orig_public_memory_suboffset: vec[271], + pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column: vec[272], + pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset: vec[273], + pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column: vec[274], + pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset: vec[275], + pedersen_hash0_ec_subset_sum_partial_sum_x_column: vec[276], + pedersen_hash0_ec_subset_sum_partial_sum_x_offset: vec[277], + pedersen_hash0_ec_subset_sum_partial_sum_y_column: vec[278], + pedersen_hash0_ec_subset_sum_partial_sum_y_offset: vec[279], + pedersen_hash0_ec_subset_sum_selector_column: vec[280], + pedersen_hash0_ec_subset_sum_selector_offset: vec[281], + pedersen_hash0_ec_subset_sum_slope_column: vec[282], + pedersen_hash0_ec_subset_sum_slope_offset: vec[283], + pedersen_input0_suboffset: vec[284], + pedersen_input1_suboffset: vec[285], + pedersen_output_suboffset: vec[286], + pedersen_builtin_row_ratio: vec[287], + poseidon_param_0_input_output_suboffset: vec[288], + poseidon_param_1_input_output_suboffset: vec[289], + poseidon_param_2_input_output_suboffset: vec[290], + poseidon_poseidon_full_rounds_state0_column: vec[291], + poseidon_poseidon_full_rounds_state0_offset: vec[292], + poseidon_poseidon_full_rounds_state0_squared_column: vec[293], + poseidon_poseidon_full_rounds_state0_squared_offset: vec[294], + poseidon_poseidon_full_rounds_state1_column: vec[295], + poseidon_poseidon_full_rounds_state1_offset: vec[296], + poseidon_poseidon_full_rounds_state1_squared_column: vec[297], + poseidon_poseidon_full_rounds_state1_squared_offset: vec[298], + poseidon_poseidon_full_rounds_state2_column: vec[299], + poseidon_poseidon_full_rounds_state2_offset: vec[300], + poseidon_poseidon_full_rounds_state2_squared_column: vec[301], + poseidon_poseidon_full_rounds_state2_squared_offset: vec[302], + poseidon_poseidon_partial_rounds_state0_column: vec[303], + poseidon_poseidon_partial_rounds_state0_offset: vec[304], + poseidon_poseidon_partial_rounds_state0_squared_column: vec[305], + poseidon_poseidon_partial_rounds_state0_squared_offset: vec[306], + poseidon_poseidon_partial_rounds_state1_column: vec[307], + poseidon_poseidon_partial_rounds_state1_offset: vec[308], + poseidon_poseidon_partial_rounds_state1_squared_column: vec[309], + poseidon_poseidon_partial_rounds_state1_squared_offset: vec[310], + poseidon_row_ratio: vec[311], + range_check16_perm_cum_prod0_column: vec[312], + range_check16_perm_cum_prod0_offset: vec[313], + range_check16_sorted_column: vec[314], + range_check16_sorted_offset: vec[315], + range_check16_pool_column: vec[316], + range_check16_pool_offset: vec[317], + range_check96_builtin_inner_range_check0_suboffset: vec[318], + range_check96_builtin_inner_range_check1_suboffset: vec[319], + range_check96_builtin_inner_range_check2_suboffset: vec[320], + range_check96_builtin_inner_range_check3_suboffset: vec[321], + range_check96_builtin_inner_range_check4_suboffset: vec[322], + range_check96_builtin_inner_range_check5_suboffset: vec[323], + range_check96_builtin_mem_suboffset: vec[324], + range_check96_builtin_row_ratio: vec[325], + range_check_builtin_inner_range_check_suboffset: vec[326], + range_check_builtin_mem_suboffset: vec[327], + range_check_builtin_row_ratio: vec[328], + range_check_units_row_ratio: vec[329], + uses_add_mod_builtin: vec[330], + uses_bitwise_builtin: vec[331], + uses_ec_op_builtin: vec[332], + uses_ecdsa_builtin: vec[333], + uses_keccak_builtin: vec[334], + uses_mul_mod_builtin: vec[335], + uses_pedersen_builtin: vec[336], + uses_poseidon_builtin: vec[337], + uses_range_check96_builtin: vec[338], + uses_range_check_builtin: vec[339], + } + } +} + +use alloc::vec; + +impl From for Vec { + fn from(val: DynamicParams) -> Self { + vec![ + val.add_mod_a0_suboffset, + val.add_mod_a1_suboffset, + val.add_mod_a2_suboffset, + val.add_mod_a3_suboffset, + val.add_mod_a_offset_suboffset, + val.add_mod_b0_suboffset, + val.add_mod_b1_suboffset, + val.add_mod_b2_suboffset, + val.add_mod_b3_suboffset, + val.add_mod_b_offset_suboffset, + val.add_mod_c0_suboffset, + val.add_mod_c1_suboffset, + val.add_mod_c2_suboffset, + val.add_mod_c3_suboffset, + val.add_mod_c_offset_suboffset, + val.add_mod_carry1_bit_column, + val.add_mod_carry1_bit_offset, + val.add_mod_carry1_sign_column, + val.add_mod_carry1_sign_offset, + val.add_mod_carry2_bit_column, + val.add_mod_carry2_bit_offset, + val.add_mod_carry2_sign_column, + val.add_mod_carry2_sign_offset, + val.add_mod_carry3_bit_column, + val.add_mod_carry3_bit_offset, + val.add_mod_carry3_sign_column, + val.add_mod_carry3_sign_offset, + val.add_mod_n_suboffset, + val.add_mod_offsets_ptr_suboffset, + val.add_mod_p0_suboffset, + val.add_mod_p1_suboffset, + val.add_mod_p2_suboffset, + val.add_mod_p3_suboffset, + val.add_mod_row_ratio, + val.add_mod_sub_p_bit_column, + val.add_mod_sub_p_bit_offset, + val.add_mod_values_ptr_suboffset, + val.bitwise_diluted_var_pool_suboffset, + val.bitwise_row_ratio, + val.bitwise_trim_unpacking192_suboffset, + val.bitwise_trim_unpacking193_suboffset, + val.bitwise_trim_unpacking194_suboffset, + val.bitwise_trim_unpacking195_suboffset, + val.bitwise_var_pool_suboffset, + val.bitwise_x_or_y_suboffset, + val.cpu_decode_mem_inst_suboffset, + val.cpu_decode_off0_suboffset, + val.cpu_decode_off1_suboffset, + val.cpu_decode_off2_suboffset, + val.cpu_decode_opcode_range_check_column_column, + val.cpu_decode_opcode_range_check_column_offset, + val.cpu_operands_mem_dst_suboffset, + val.cpu_operands_mem_op0_suboffset, + val.cpu_operands_mem_op1_suboffset, + val.cpu_operands_ops_mul_column, + val.cpu_operands_ops_mul_offset, + val.cpu_operands_res_column, + val.cpu_operands_res_offset, + val.cpu_registers_ap_column, + val.cpu_registers_ap_offset, + val.cpu_registers_fp_column, + val.cpu_registers_fp_offset, + val.cpu_update_registers_update_pc_tmp0_column, + val.cpu_update_registers_update_pc_tmp0_offset, + val.cpu_update_registers_update_pc_tmp1_column, + val.cpu_update_registers_update_pc_tmp1_offset, + val.cpu_component_step, + val.diluted_check_cumulative_value_column, + val.diluted_check_cumulative_value_offset, + val.diluted_check_permutation_cum_prod0_column, + val.diluted_check_permutation_cum_prod0_offset, + val.diluted_check_permuted_values_column, + val.diluted_check_permuted_values_offset, + val.diluted_pool_column, + val.diluted_pool_offset, + val.diluted_units_row_ratio, + val.ec_op_doubled_points_x_column, + val.ec_op_doubled_points_x_offset, + val.ec_op_doubled_points_y_column, + val.ec_op_doubled_points_y_offset, + val.ec_op_doubling_slope_column, + val.ec_op_doubling_slope_offset, + val.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column, + val.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset, + val.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column, + val.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset, + val.ec_op_ec_subset_sum_partial_sum_x_column, + val.ec_op_ec_subset_sum_partial_sum_x_offset, + val.ec_op_ec_subset_sum_partial_sum_y_column, + val.ec_op_ec_subset_sum_partial_sum_y_offset, + val.ec_op_ec_subset_sum_selector_column, + val.ec_op_ec_subset_sum_selector_offset, + val.ec_op_ec_subset_sum_slope_column, + val.ec_op_ec_subset_sum_slope_offset, + val.ec_op_ec_subset_sum_x_diff_inv_column, + val.ec_op_ec_subset_sum_x_diff_inv_offset, + val.ec_op_m_suboffset, + val.ec_op_p_x_suboffset, + val.ec_op_p_y_suboffset, + val.ec_op_q_x_suboffset, + val.ec_op_q_y_suboffset, + val.ec_op_r_x_suboffset, + val.ec_op_r_y_suboffset, + val.ec_op_builtin_row_ratio, + val.ecdsa_message_suboffset, + val.ecdsa_pubkey_suboffset, + val.ecdsa_signature0_add_results_inv_column, + val.ecdsa_signature0_add_results_inv_offset, + val.ecdsa_signature0_add_results_slope_column, + val.ecdsa_signature0_add_results_slope_offset, + val.ecdsa_signature0_doubling_slope_column, + val.ecdsa_signature0_doubling_slope_offset, + val.ecdsa_signature0_exponentiate_generator_partial_sum_x_column, + val.ecdsa_signature0_exponentiate_generator_partial_sum_x_offset, + val.ecdsa_signature0_exponentiate_generator_partial_sum_y_column, + val.ecdsa_signature0_exponentiate_generator_partial_sum_y_offset, + val.ecdsa_signature0_exponentiate_generator_selector_column, + val.ecdsa_signature0_exponentiate_generator_selector_offset, + val.ecdsa_signature0_exponentiate_generator_slope_column, + val.ecdsa_signature0_exponentiate_generator_slope_offset, + val.ecdsa_signature0_exponentiate_generator_x_diff_inv_column, + val.ecdsa_signature0_exponentiate_generator_x_diff_inv_offset, + val.ecdsa_signature0_exponentiate_key_partial_sum_x_column, + val.ecdsa_signature0_exponentiate_key_partial_sum_x_offset, + val.ecdsa_signature0_exponentiate_key_partial_sum_y_column, + val.ecdsa_signature0_exponentiate_key_partial_sum_y_offset, + val.ecdsa_signature0_exponentiate_key_selector_column, + val.ecdsa_signature0_exponentiate_key_selector_offset, + val.ecdsa_signature0_exponentiate_key_slope_column, + val.ecdsa_signature0_exponentiate_key_slope_offset, + val.ecdsa_signature0_exponentiate_key_x_diff_inv_column, + val.ecdsa_signature0_exponentiate_key_x_diff_inv_offset, + val.ecdsa_signature0_extract_r_inv_column, + val.ecdsa_signature0_extract_r_inv_offset, + val.ecdsa_signature0_extract_r_slope_column, + val.ecdsa_signature0_extract_r_slope_offset, + val.ecdsa_signature0_key_points_x_column, + val.ecdsa_signature0_key_points_x_offset, + val.ecdsa_signature0_key_points_y_column, + val.ecdsa_signature0_key_points_y_offset, + val.ecdsa_signature0_q_x_squared_column, + val.ecdsa_signature0_q_x_squared_offset, + val.ecdsa_signature0_r_w_inv_column, + val.ecdsa_signature0_r_w_inv_offset, + val.ecdsa_signature0_z_inv_column, + val.ecdsa_signature0_z_inv_offset, + val.ecdsa_builtin_row_ratio, + val.keccak_input_output_suboffset, + val.keccak_keccak_diluted_column0_suboffset, + val.keccak_keccak_diluted_column1_suboffset, + val.keccak_keccak_diluted_column2_suboffset, + val.keccak_keccak_diluted_column3_suboffset, + val.keccak_keccak_parse_to_diluted_cumulative_sum_column, + val.keccak_keccak_parse_to_diluted_cumulative_sum_offset, + val.keccak_keccak_parse_to_diluted_final_reshaped_input_column, + val.keccak_keccak_parse_to_diluted_final_reshaped_input_offset, + val.keccak_keccak_parse_to_diluted_reshaped_intermediate_column, + val.keccak_keccak_parse_to_diluted_reshaped_intermediate_offset, + val.keccak_keccak_rotated_parity0_column, + val.keccak_keccak_rotated_parity0_offset, + val.keccak_keccak_rotated_parity1_column, + val.keccak_keccak_rotated_parity1_offset, + val.keccak_keccak_rotated_parity2_column, + val.keccak_keccak_rotated_parity2_offset, + val.keccak_keccak_rotated_parity3_column, + val.keccak_keccak_rotated_parity3_offset, + val.keccak_keccak_rotated_parity4_column, + val.keccak_keccak_rotated_parity4_offset, + val.keccak_row_ratio, + val.mem_pool_addr_column, + val.mem_pool_addr_offset, + val.mem_pool_value_column, + val.mem_pool_value_offset, + val.memory_multi_column_perm_perm_cum_prod0_column, + val.memory_multi_column_perm_perm_cum_prod0_offset, + val.memory_sorted_addr_column, + val.memory_sorted_addr_offset, + val.memory_sorted_value_column, + val.memory_sorted_value_offset, + val.memory_units_row_ratio, + val.mul_mod_a0_suboffset, + val.mul_mod_a1_suboffset, + val.mul_mod_a2_suboffset, + val.mul_mod_a3_suboffset, + val.mul_mod_a_offset_suboffset, + val.mul_mod_b0_suboffset, + val.mul_mod_b1_suboffset, + val.mul_mod_b2_suboffset, + val.mul_mod_b3_suboffset, + val.mul_mod_b_offset_suboffset, + val.mul_mod_c0_suboffset, + val.mul_mod_c1_suboffset, + val.mul_mod_c2_suboffset, + val.mul_mod_c3_suboffset, + val.mul_mod_c_offset_suboffset, + val.mul_mod_carry0_part0_suboffset, + val.mul_mod_carry0_part1_suboffset, + val.mul_mod_carry0_part2_suboffset, + val.mul_mod_carry0_part3_suboffset, + val.mul_mod_carry0_part4_suboffset, + val.mul_mod_carry0_part5_suboffset, + val.mul_mod_carry0_part6_suboffset, + val.mul_mod_carry1_part0_suboffset, + val.mul_mod_carry1_part1_suboffset, + val.mul_mod_carry1_part2_suboffset, + val.mul_mod_carry1_part3_suboffset, + val.mul_mod_carry1_part4_suboffset, + val.mul_mod_carry1_part5_suboffset, + val.mul_mod_carry1_part6_suboffset, + val.mul_mod_carry2_part0_suboffset, + val.mul_mod_carry2_part1_suboffset, + val.mul_mod_carry2_part2_suboffset, + val.mul_mod_carry2_part3_suboffset, + val.mul_mod_carry2_part4_suboffset, + val.mul_mod_carry2_part5_suboffset, + val.mul_mod_carry2_part6_suboffset, + val.mul_mod_carry3_part0_suboffset, + val.mul_mod_carry3_part1_suboffset, + val.mul_mod_carry3_part2_suboffset, + val.mul_mod_carry3_part3_suboffset, + val.mul_mod_carry3_part4_suboffset, + val.mul_mod_carry3_part5_suboffset, + val.mul_mod_carry3_part6_suboffset, + val.mul_mod_carry4_part0_suboffset, + val.mul_mod_carry4_part1_suboffset, + val.mul_mod_carry4_part2_suboffset, + val.mul_mod_carry4_part3_suboffset, + val.mul_mod_carry4_part4_suboffset, + val.mul_mod_carry4_part5_suboffset, + val.mul_mod_carry4_part6_suboffset, + val.mul_mod_carry5_part0_suboffset, + val.mul_mod_carry5_part1_suboffset, + val.mul_mod_carry5_part2_suboffset, + val.mul_mod_carry5_part3_suboffset, + val.mul_mod_carry5_part4_suboffset, + val.mul_mod_carry5_part5_suboffset, + val.mul_mod_carry5_part6_suboffset, + val.mul_mod_n_suboffset, + val.mul_mod_offsets_ptr_suboffset, + val.mul_mod_p0_suboffset, + val.mul_mod_p1_suboffset, + val.mul_mod_p2_suboffset, + val.mul_mod_p3_suboffset, + val.mul_mod_p_multiplier0_part0_suboffset, + val.mul_mod_p_multiplier0_part1_suboffset, + val.mul_mod_p_multiplier0_part2_suboffset, + val.mul_mod_p_multiplier0_part3_suboffset, + val.mul_mod_p_multiplier0_part4_suboffset, + val.mul_mod_p_multiplier0_part5_suboffset, + val.mul_mod_p_multiplier1_part0_suboffset, + val.mul_mod_p_multiplier1_part1_suboffset, + val.mul_mod_p_multiplier1_part2_suboffset, + val.mul_mod_p_multiplier1_part3_suboffset, + val.mul_mod_p_multiplier1_part4_suboffset, + val.mul_mod_p_multiplier1_part5_suboffset, + val.mul_mod_p_multiplier2_part0_suboffset, + val.mul_mod_p_multiplier2_part1_suboffset, + val.mul_mod_p_multiplier2_part2_suboffset, + val.mul_mod_p_multiplier2_part3_suboffset, + val.mul_mod_p_multiplier2_part4_suboffset, + val.mul_mod_p_multiplier2_part5_suboffset, + val.mul_mod_p_multiplier3_part0_suboffset, + val.mul_mod_p_multiplier3_part1_suboffset, + val.mul_mod_p_multiplier3_part2_suboffset, + val.mul_mod_p_multiplier3_part3_suboffset, + val.mul_mod_p_multiplier3_part4_suboffset, + val.mul_mod_p_multiplier3_part5_suboffset, + val.mul_mod_row_ratio, + val.mul_mod_values_ptr_suboffset, + val.num_columns_first, + val.num_columns_second, + val.orig_public_memory_suboffset, + val.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column, + val.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset, + val.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column, + val.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset, + val.pedersen_hash0_ec_subset_sum_partial_sum_x_column, + val.pedersen_hash0_ec_subset_sum_partial_sum_x_offset, + val.pedersen_hash0_ec_subset_sum_partial_sum_y_column, + val.pedersen_hash0_ec_subset_sum_partial_sum_y_offset, + val.pedersen_hash0_ec_subset_sum_selector_column, + val.pedersen_hash0_ec_subset_sum_selector_offset, + val.pedersen_hash0_ec_subset_sum_slope_column, + val.pedersen_hash0_ec_subset_sum_slope_offset, + val.pedersen_input0_suboffset, + val.pedersen_input1_suboffset, + val.pedersen_output_suboffset, + val.pedersen_builtin_row_ratio, + val.poseidon_param_0_input_output_suboffset, + val.poseidon_param_1_input_output_suboffset, + val.poseidon_param_2_input_output_suboffset, + val.poseidon_poseidon_full_rounds_state0_column, + val.poseidon_poseidon_full_rounds_state0_offset, + val.poseidon_poseidon_full_rounds_state0_squared_column, + val.poseidon_poseidon_full_rounds_state0_squared_offset, + val.poseidon_poseidon_full_rounds_state1_column, + val.poseidon_poseidon_full_rounds_state1_offset, + val.poseidon_poseidon_full_rounds_state1_squared_column, + val.poseidon_poseidon_full_rounds_state1_squared_offset, + val.poseidon_poseidon_full_rounds_state2_column, + val.poseidon_poseidon_full_rounds_state2_offset, + val.poseidon_poseidon_full_rounds_state2_squared_column, + val.poseidon_poseidon_full_rounds_state2_squared_offset, + val.poseidon_poseidon_partial_rounds_state0_column, + val.poseidon_poseidon_partial_rounds_state0_offset, + val.poseidon_poseidon_partial_rounds_state0_squared_column, + val.poseidon_poseidon_partial_rounds_state0_squared_offset, + val.poseidon_poseidon_partial_rounds_state1_column, + val.poseidon_poseidon_partial_rounds_state1_offset, + val.poseidon_poseidon_partial_rounds_state1_squared_column, + val.poseidon_poseidon_partial_rounds_state1_squared_offset, + val.poseidon_row_ratio, + val.range_check16_perm_cum_prod0_column, + val.range_check16_perm_cum_prod0_offset, + val.range_check16_sorted_column, + val.range_check16_sorted_offset, + val.range_check16_pool_column, + val.range_check16_pool_offset, + val.range_check96_builtin_inner_range_check0_suboffset, + val.range_check96_builtin_inner_range_check1_suboffset, + val.range_check96_builtin_inner_range_check2_suboffset, + val.range_check96_builtin_inner_range_check3_suboffset, + val.range_check96_builtin_inner_range_check4_suboffset, + val.range_check96_builtin_inner_range_check5_suboffset, + val.range_check96_builtin_mem_suboffset, + val.range_check96_builtin_row_ratio, + val.range_check_builtin_inner_range_check_suboffset, + val.range_check_builtin_mem_suboffset, + val.range_check_builtin_row_ratio, + val.range_check_units_row_ratio, + val.uses_add_mod_builtin, + val.uses_bitwise_builtin, + val.uses_ec_op_builtin, + val.uses_ecdsa_builtin, + val.uses_keccak_builtin, + val.uses_mul_mod_builtin, + val.uses_pedersen_builtin, + val.uses_poseidon_builtin, + val.uses_range_check96_builtin, + val.uses_range_check_builtin, + ] + } +} diff --git a/crates/air/src/fixtures/public_input.rs b/crates/air/src/fixtures/public_input.rs index 5d7fe42..6708879 100644 --- a/crates/air/src/fixtures/public_input.rs +++ b/crates/air/src/fixtures/public_input.rs @@ -11,7 +11,7 @@ pub fn get() -> PublicInput { range_check_min: Felt::from_hex_unchecked("0x7ffa"), range_check_max: Felt::from_hex_unchecked("0x8001"), layout: Felt::from_hex_unchecked("0x726563757273697665"), - dynamic_params: vec![], + dynamic_params: None, segments: vec![ SegmentInfo { begin_addr: Felt::from_hex_unchecked("0x1"), diff --git a/crates/air/src/layout/dex/autogenerated.rs b/crates/air/src/layout/dex/autogenerated.rs index 0cf365e..3b960f1 100644 --- a/crates/air/src/layout/dex/autogenerated.rs +++ b/crates/air/src/layout/dex/autogenerated.rs @@ -1,5 +1,5 @@ use super::global_values::GlobalValues; -use crate::layout::LayoutTrait; +use crate::layout::{LayoutTrait, StaticLayoutTrait}; use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; @@ -1371,7 +1371,7 @@ pub fn eval_composition_polynomial_inner( total_sum } -pub fn eval_oods_polynomial_inner( +pub fn eval_oods_polynomial_inner( column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], diff --git a/crates/air/src/layout/dex/mod.rs b/crates/air/src/layout/dex/mod.rs index 7533ad7..067dd57 100644 --- a/crates/air/src/layout/dex/mod.rs +++ b/crates/air/src/layout/dex/mod.rs @@ -2,6 +2,7 @@ pub mod autogenerated; pub mod global_values; use crate::{ + consts::*, layout::stark_curve, periodic_columns::{eval_ecdsa_x, eval_ecdsa_y, eval_pedersen_x, eval_pedersen_y}, public_memory::{PublicInput, INITIAL_PC, MAX_ADDRESS, MAX_LOG_N_STEPS, MAX_RANGE_CHECK}, @@ -14,7 +15,10 @@ use starknet_crypto::{pedersen_hash, Felt}; use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; use swiftness_transcript::ensure; -use super::{CompositionPolyEvalError, LayoutTrait, PublicInputError}; +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, + StaticLayoutTrait, +}; pub const CPU_COMPONENT_HEIGHT: usize = 16; pub const CPU_COMPONENT_STEP: usize = 1; @@ -47,8 +51,11 @@ pub const RANGE_CHECK_N_PARTS: usize = 8; pub mod segments { pub const ECDSA: usize = 5; + pub const EXECUTION: usize = 1; pub const N_SEGMENTS: usize = 6; + pub const OUTPUT: usize = 2; pub const PEDERSEN: usize = 3; + pub const PROGRAM: usize = 0; pub const RANGE_CHECK: usize = 4; } @@ -72,12 +79,24 @@ pub const BUILTINS: [Felt; 4] = pub struct Layout {} +impl StaticLayoutTrait for Layout { + const NUM_COLUMNS_FIRST: usize = 21; + const NUM_COLUMNS_SECOND: usize = 1; +} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_FIRST) + } + fn get_num_columns_second(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_SECOND) + } +} + impl LayoutTrait for Layout { const CONSTRAINT_DEGREE: usize = 2; const MASK_SIZE: usize = 200; const N_CONSTRAINTS: usize = 179; - const NUM_COLUMNS_FIRST: usize = 21; - const NUM_COLUMNS_SECOND: usize = 1; type InteractionElements = InteractionElements; fn eval_composition_polynomial( @@ -93,8 +112,8 @@ impl LayoutTrait for Layout { let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; // Public memory - let public_memory_column_size = trace_domain_size - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PUBLIC_MEMORY_STEP))); + let public_memory_column_size = + trace_domain_size.field_div(&NonZeroFelt::try_from(Felt::from(PUBLIC_MEMORY_STEP))?); assert!(public_memory_column_size < u128::MAX.into()); let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( memory_z, @@ -104,18 +123,18 @@ impl LayoutTrait for Layout { // Periodic columns let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); - let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS), - )); + let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(PEDERSEN_BUILTIN_RATIO) * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); // TODO fix to ensure! assert!(n_pedersen_hash_copies < u128::MAX.into()); let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); let pedersen_points_x = eval_pedersen_x(pedersen_point); let pedersen_points_y = eval_pedersen_y(pedersen_point); - let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(ECDSA_BUILTIN_RATIO * ECDSA_BUILTIN_REPETITIONS), - )); + let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(ECDSA_BUILTIN_RATIO) * Felt::from(ECDSA_BUILTIN_REPETITIONS), + )?); assert!(n_ecdsa_signature_copies < u128::MAX.into()); let ecdsa_point = point.pow_felt(&n_ecdsa_signature_copies); let ecdsa_generator_points_x = eval_ecdsa_x(ecdsa_point); @@ -125,31 +144,23 @@ impl LayoutTrait for Layout { trace_length: *trace_domain_size, initial_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr, final_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr, initial_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr, final_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr, initial_pedersen_addr: public_input .segments @@ -168,8 +179,8 @@ impl LayoutTrait for Layout { .begin_addr, range_check_min: public_input.range_check_min, range_check_max: public_input.range_check_max, - offset_size: Felt::from(0x10000), // 2**16 - half_offset_size: Felt::from(0x8000), // 2**15 + offset_size: FELT_65536, + half_offset_size: FELT_32768, pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, ecdsa_sig_config: EcdsaSigConfig { alpha: stark_curve::ALPHA, @@ -185,7 +196,7 @@ impl LayoutTrait for Layout { range_check16_perm_interaction_elm: interaction_elements .range_check16_perm_interaction_elm, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - range_check16_perm_public_memory_prod: Felt::from(1), + range_check16_perm_public_memory_prod: FELT_1, }; Ok(autogenerated::eval_composition_polynomial_inner( @@ -197,21 +208,22 @@ impl LayoutTrait for Layout { )) } fn eval_oods_polynomial( + _public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt { - autogenerated::eval_oods_polynomial_inner::( + ) -> Result { + Ok(autogenerated::eval_oods_polynomial_inner::( column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, - ) + )) } fn traces_commit( transcript: &mut swiftness_transcript::transcript::Transcript, @@ -263,7 +275,12 @@ impl LayoutTrait for Layout { PublicInputError::TraceLengthInvalid ); - ensure!(Felt::ZERO <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); ensure!( public_input.range_check_min < public_input.range_check_max, PublicInputError::RangeCheckInvalid @@ -277,20 +294,18 @@ impl LayoutTrait for Layout { let output_uses = public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; - ensure!(output_uses < u128::MAX.into(), PublicInputError::UsesInvalid); + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); - let pedersen_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))); + let pedersen_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))?); let pedersen_uses = (public_input .segments .get(segments::PEDERSEN) @@ -301,12 +316,11 @@ impl LayoutTrait for Layout { .get(segments::PEDERSEN) .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::THREE)); - ensure!(pedersen_uses < pedersen_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); - let range_check_copies = trace_length.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO), - )); + let range_check_copies = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO))?); let range_check_uses = public_input .segments .get(segments::RANGE_CHECK) @@ -317,10 +331,10 @@ impl LayoutTrait for Layout { .get(segments::RANGE_CHECK) .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .begin_addr; - ensure!(range_check_uses < range_check_copies, PublicInputError::UsesInvalid); + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); - let ecdsa_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(ECDSA_BUILTIN_ROW_RATIO))); + let ecdsa_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(ECDSA_BUILTIN_ROW_RATIO))?); let ecdsa_uses = (public_input .segments .get(segments::ECDSA) @@ -329,12 +343,10 @@ impl LayoutTrait for Layout { - public_input .segments .get(segments::ECDSA) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::TWO)); - ensure!(ecdsa_uses < ecdsa_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_2)); + ensure!(ecdsa_uses <= ecdsa_copies, PublicInputError::UsesInvalid); Ok(()) } @@ -342,29 +354,29 @@ impl LayoutTrait for Layout { let public_segments = &public_input.segments; let initial_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr; let final_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr; let initial_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr; let initial_fp = initial_ap; let final_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr; let output_start = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; let output_stop = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr; ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); @@ -380,24 +392,23 @@ impl LayoutTrait for Layout { .collect::>(); ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); - ensure!(final_pc == INITIAL_PC + 4, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); - let program_end_pc = initial_fp - 2; + let program_end_pc = initial_fp - FELT_2; let program: Vec<&Felt> = memory .iter() - .skip(initial_pc.to_bigint().try_into().unwrap()) + .skip(initial_pc.to_bigint().try_into()?) .step_by(2) - .take((program_end_pc - Felt::ONE).to_bigint().try_into().unwrap()) + .take((program_end_pc - FELT_1).to_bigint().try_into()?) .collect(); - let hash = program.iter().fold(Felt::ZERO, |acc, &e| pedersen_hash(&acc, e)); + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); - let output_len: usize = (output_stop - output_start).to_bigint().try_into().unwrap(); + let output_len: usize = (output_stop - output_start).to_bigint().try_into()?; let output = &memory[memory.len() - output_len * 2..]; - let hash = - output.iter().skip(1).step_by(2).fold(Felt::ZERO, |acc, e| pedersen_hash(&acc, e)); + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); Ok((program_hash, output_hash)) diff --git a/crates/air/src/layout/dynamic/autogenerated.rs b/crates/air/src/layout/dynamic/autogenerated.rs new file mode 100644 index 0000000..6ed62de --- /dev/null +++ b/crates/air/src/layout/dynamic/autogenerated.rs @@ -0,0 +1,7 @@ +pub mod autogenerated_asserts; +pub mod autogenerated_composition; +pub mod autogenerated_oods; + +pub use autogenerated_asserts::check_asserts; +pub use autogenerated_composition::eval_composition_polynomial_inner; +pub use autogenerated_oods::eval_oods_polynomial_inner; diff --git a/crates/air/src/layout/dynamic/autogenerated/autogenerated_asserts.rs b/crates/air/src/layout/dynamic/autogenerated/autogenerated_asserts.rs new file mode 100644 index 0000000..f374fdd --- /dev/null +++ b/crates/air/src/layout/dynamic/autogenerated/autogenerated_asserts.rs @@ -0,0 +1,3767 @@ +use starknet_crypto::Felt; +use swiftness_transcript::{ensure, felt}; + +use crate::{ + consts::*, + domains::StarkDomains, + dynamic::DynamicParams, + layout::{safe_div, safe_mult, CheckAssertsError}, +}; + +pub const FELT_USIZE_MAX: Felt = Felt::from_hex_unchecked("0xFFFFFFFFFFFFFFFF"); + +pub fn is_power_of_2(x: Felt) -> bool { + x != FELT_0 && (x.to_bigint() & (x - FELT_1).to_bigint()) == FELT_0.to_bigint() +} + +pub fn check_asserts( + dynamic_params: &DynamicParams, + stark_domains: &StarkDomains, +) -> Result<(), CheckAssertsError> { + let trace_length = stark_domains.trace_domain_size; + + // Coset step (dynamicparam(diluted_units_row_ratio)) must be a power of two. + let mut x: Felt = felt!(dynamic_params.diluted_units_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.diluted_units_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.diluted_units_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.diluted_units_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (dynamicparam(range_check_units_row_ratio)) must be a power of two. + x = felt!(dynamic_params.range_check_units_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.range_check_units_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.range_check_units_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.range_check_units_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step ((FELT_8) * (dynamicparam(memory_units_row_ratio))) must be a power of two. + x = safe_mult(FELT_8, felt!(dynamic_params.memory_units_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, safe_mult(FELT_8, felt!(dynamic_params.memory_units_row_ratio))?)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step (dynamicparam(memory_units_row_ratio)) must be a power of two. + x = felt!(dynamic_params.memory_units_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.memory_units_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.memory_units_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.memory_units_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step ((FELT_16) * (dynamicparam(cpu_component_step))) must be a power of two. + x = safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Step must not exceed dimension. + x = (safe_div(trace_length, safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?)?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (dynamicparam(cpu_component_step)) must be a power of two. + x = felt!(dynamic_params.cpu_component_step); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = safe_div(trace_length, safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?)?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Cpu_component_step is out of range. + x = FELT_256 - felt!(dynamic_params.cpu_component_step); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Memory_units_row_ratio is out of range. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult(FELT_4, felt!(dynamic_params.memory_units_row_ratio))?); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/mem_inst must be nonnegative. + x = felt!(dynamic_params.cpu_decode_mem_inst_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/mem_inst is too big. + x = trace_length - felt!(dynamic_params.cpu_decode_mem_inst_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/mem_inst is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_decode_mem_inst_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off0 must be nonnegative. + x = felt!(dynamic_params.cpu_decode_off0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off0 is too big. + x = trace_length - felt!(dynamic_params.cpu_decode_off0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off0 is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_decode_off0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off1 must be nonnegative. + x = felt!(dynamic_params.cpu_decode_off1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off1 is too big. + x = trace_length - felt!(dynamic_params.cpu_decode_off1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off1 is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_decode_off1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off2 must be nonnegative. + x = felt!(dynamic_params.cpu_decode_off2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off2 is too big. + x = trace_length - felt!(dynamic_params.cpu_decode_off2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/decode/off2 is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_decode_off2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_dst must be nonnegative. + x = felt!(dynamic_params.cpu_operands_mem_dst_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_dst is too big. + x = trace_length - felt!(dynamic_params.cpu_operands_mem_dst_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_dst is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_operands_mem_dst_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_op0 must be nonnegative. + x = felt!(dynamic_params.cpu_operands_mem_op0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_op0 is too big. + x = trace_length - felt!(dynamic_params.cpu_operands_mem_op0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_op0 is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_operands_mem_op0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_op1 must be nonnegative. + x = felt!(dynamic_params.cpu_operands_mem_op1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_op1 is too big. + x = trace_length - felt!(dynamic_params.cpu_operands_mem_op1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of cpu/operands/mem_op1 is too big. + x = (safe_mult(FELT_16, felt!(dynamic_params.cpu_component_step))?) + - (safe_mult( + felt!(dynamic_params.cpu_operands_mem_op1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of orig/public_memory must be nonnegative. + x = felt!(dynamic_params.orig_public_memory_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of orig/public_memory is too big. + x = trace_length - felt!(dynamic_params.orig_public_memory_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of orig/public_memory is too big. + x = (safe_mult(FELT_8, felt!(dynamic_params.memory_units_row_ratio))?) + - (safe_mult( + felt!(dynamic_params.orig_public_memory_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Uses_pedersen_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_pedersen_builtin), + felt!(dynamic_params.uses_pedersen_builtin) + )?) - felt!(dynamic_params.uses_pedersen_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_range_check_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_range_check_builtin), + felt!(dynamic_params.uses_range_check_builtin) + )?) - felt!(dynamic_params.uses_range_check_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_ecdsa_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_ecdsa_builtin), + felt!(dynamic_params.uses_ecdsa_builtin) + )?) - felt!(dynamic_params.uses_ecdsa_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_bitwise_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_bitwise_builtin), + felt!(dynamic_params.uses_bitwise_builtin) + )?) - felt!(dynamic_params.uses_bitwise_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_ec_op_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_ec_op_builtin), + felt!(dynamic_params.uses_ec_op_builtin) + )?) - felt!(dynamic_params.uses_ec_op_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_keccak_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_keccak_builtin), + felt!(dynamic_params.uses_keccak_builtin) + )?) - felt!(dynamic_params.uses_keccak_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_poseidon_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_poseidon_builtin), + felt!(dynamic_params.uses_poseidon_builtin) + )?) - felt!(dynamic_params.uses_poseidon_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_range_check96_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_range_check96_builtin), + felt!(dynamic_params.uses_range_check96_builtin) + )?) - felt!(dynamic_params.uses_range_check96_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_add_mod_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_add_mod_builtin), + felt!(dynamic_params.uses_add_mod_builtin) + )?) - felt!(dynamic_params.uses_add_mod_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Uses_mul_mod_builtin should be a boolean. + ensure!( + (safe_mult( + felt!(dynamic_params.uses_mul_mod_builtin), + felt!(dynamic_params.uses_mul_mod_builtin) + )?) - felt!(dynamic_params.uses_mul_mod_builtin) + == FELT_0, + CheckAssertsError::NotBoolean + ); + // Num_columns_first is out of range. + x = FELT_65536 - felt!(dynamic_params.num_columns_first) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Num_columns_second is out of range. + x = FELT_65536 - felt!(dynamic_params.num_columns_second) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.mem_pool_addr_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.mem_pool_addr_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.mem_pool_addr_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.mem_pool_addr_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.mem_pool_value_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.mem_pool_value_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.mem_pool_value_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.mem_pool_value_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.range_check16_pool_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.range_check16_pool_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.range_check16_pool_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.range_check16_pool_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_decode_opcode_range_check_column_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_decode_opcode_range_check_column_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_decode_opcode_range_check_column_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_decode_opcode_range_check_column_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_registers_ap_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_registers_ap_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_registers_ap_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_registers_ap_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_registers_fp_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_registers_fp_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_registers_fp_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_registers_fp_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_operands_ops_mul_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_operands_ops_mul_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_operands_ops_mul_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_operands_ops_mul_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_operands_res_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_operands_res_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_operands_res_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_operands_res_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_update_registers_update_pc_tmp0_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_update_registers_update_pc_tmp0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_update_registers_update_pc_tmp0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_update_registers_update_pc_tmp0_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.cpu_update_registers_update_pc_tmp1_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.cpu_update_registers_update_pc_tmp1_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.cpu_update_registers_update_pc_tmp1_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.cpu_update_registers_update_pc_tmp1_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.memory_sorted_addr_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.memory_sorted_addr_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.memory_sorted_addr_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.memory_sorted_addr_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.memory_sorted_value_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.memory_sorted_value_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.memory_sorted_value_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.memory_sorted_value_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.range_check16_sorted_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.range_check16_sorted_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.range_check16_sorted_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.range_check16_sorted_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.diluted_pool_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.diluted_pool_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.diluted_pool_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.diluted_pool_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.diluted_check_permuted_values_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.diluted_check_permuted_values_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.diluted_check_permuted_values_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.diluted_check_permuted_values_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_slope_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_selector_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_selector_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_selector_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_selector_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_key_points_x_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_key_points_x_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_key_points_x_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_key_points_x_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_key_points_y_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_key_points_y_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_key_points_y_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_key_points_y_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_doubling_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_doubling_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_doubling_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_doubling_slope_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_slope_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_selector_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_selector_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_selector_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_selector_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_x_diff_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_x_diff_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_x_diff_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_generator_x_diff_inv_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_slope_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_selector_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_selector_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_selector_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_selector_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_x_diff_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_x_diff_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_exponentiate_key_x_diff_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ecdsa_signature0_exponentiate_key_x_diff_inv_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_add_results_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_add_results_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_add_results_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_add_results_slope_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_add_results_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_add_results_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_add_results_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_add_results_inv_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_extract_r_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_extract_r_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_extract_r_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_extract_r_slope_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_extract_r_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_extract_r_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_extract_r_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_extract_r_inv_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_z_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_z_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_z_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_z_inv_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_r_w_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_r_w_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_r_w_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_r_w_inv_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ecdsa_signature0_q_x_squared_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ecdsa_signature0_q_x_squared_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ecdsa_signature0_q_x_squared_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ecdsa_signature0_q_x_squared_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_doubled_points_x_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_doubled_points_x_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_doubled_points_x_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_doubled_points_x_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_doubled_points_y_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_doubled_points_y_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_doubled_points_y_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_doubled_points_y_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_doubling_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_doubling_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_doubling_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_doubling_slope_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_x_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_x_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_x_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_x_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_y_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_y_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_y_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_ec_subset_sum_partial_sum_y_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_slope_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_slope_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_slope_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_ec_subset_sum_slope_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_selector_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_selector_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_selector_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_ec_subset_sum_selector_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_x_diff_inv_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_x_diff_inv_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_x_diff_inv_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.ec_op_ec_subset_sum_x_diff_inv_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_rotated_parity0_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_rotated_parity0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_rotated_parity0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.keccak_keccak_rotated_parity0_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_rotated_parity1_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_rotated_parity1_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_rotated_parity1_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.keccak_keccak_rotated_parity1_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_rotated_parity2_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_rotated_parity2_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_rotated_parity2_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.keccak_keccak_rotated_parity2_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_rotated_parity3_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_rotated_parity3_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_rotated_parity3_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.keccak_keccak_rotated_parity3_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.keccak_keccak_rotated_parity4_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.keccak_keccak_rotated_parity4_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_rotated_parity4_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.keccak_keccak_rotated_parity4_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_squared_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_squared_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_squared_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state0_squared_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_squared_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_squared_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_squared_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state1_squared_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_squared_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_squared_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_squared_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_full_rounds_state2_squared_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_sub_p_bit_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_sub_p_bit_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_sub_p_bit_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_sub_p_bit_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_carry1_bit_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_carry1_bit_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_carry1_bit_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_carry1_bit_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_carry2_bit_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_carry2_bit_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_carry2_bit_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_carry2_bit_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_carry3_bit_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_carry3_bit_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_carry3_bit_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_carry3_bit_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_carry1_sign_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_carry1_sign_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_carry1_sign_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_carry1_sign_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_carry2_sign_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_carry2_sign_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_carry2_sign_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_carry2_sign_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.add_mod_carry3_sign_column); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + - felt!(dynamic_params.add_mod_carry3_sign_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.add_mod_carry3_sign_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.add_mod_carry3_sign_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.memory_multi_column_perm_perm_cum_prod0_column) + - felt!(dynamic_params.num_columns_first); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + felt!(dynamic_params.num_columns_second) + - felt!(dynamic_params.memory_multi_column_perm_perm_cum_prod0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.memory_multi_column_perm_perm_cum_prod0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length + - felt!(dynamic_params.memory_multi_column_perm_perm_cum_prod0_offset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.range_check16_perm_cum_prod0_column) + - felt!(dynamic_params.num_columns_first); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + felt!(dynamic_params.num_columns_second) + - felt!(dynamic_params.range_check16_perm_cum_prod0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.range_check16_perm_cum_prod0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.range_check16_perm_cum_prod0_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.diluted_check_cumulative_value_column) + - felt!(dynamic_params.num_columns_first); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + felt!(dynamic_params.num_columns_second) + - felt!(dynamic_params.diluted_check_cumulative_value_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.diluted_check_cumulative_value_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.diluted_check_cumulative_value_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.diluted_check_permutation_cum_prod0_column) + - felt!(dynamic_params.num_columns_first); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Column index out of range. + x = felt!(dynamic_params.num_columns_first) + felt!(dynamic_params.num_columns_second) + - felt!(dynamic_params.diluted_check_permutation_cum_prod0_column) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be nonnegative. + x = felt!(dynamic_params.diluted_check_permutation_cum_prod0_offset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset must be smaller than trace length. + x = trace_length - felt!(dynamic_params.diluted_check_permutation_cum_prod0_offset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + + if felt!(dynamic_params.uses_pedersen_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.pedersen_builtin_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.pedersen_builtin_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(pedersen_builtin_row_ratio)) / (FELT_512)) must be a power of two. + x = safe_div(felt!(dynamic_params.pedersen_builtin_row_ratio), FELT_512)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(pedersen_builtin_row_ratio)) / (FELT_2)) must be a power of two. + x = safe_div(felt!(dynamic_params.pedersen_builtin_row_ratio), FELT_2)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Step must not exceed dimension. + x = (safe_div(trace_length, felt!(dynamic_params.pedersen_builtin_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.pedersen_builtin_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of pedersen/input0 must be nonnegative. + x = felt!(dynamic_params.pedersen_input0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/input0 is too big. + x = trace_length - felt!(dynamic_params.pedersen_input0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/input0 is too big. + x = felt!(dynamic_params.pedersen_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.pedersen_input0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/input1 must be nonnegative. + x = felt!(dynamic_params.pedersen_input1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/input1 is too big. + x = trace_length - felt!(dynamic_params.pedersen_input1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/input1 is too big. + x = felt!(dynamic_params.pedersen_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.pedersen_input1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/output must be nonnegative. + x = felt!(dynamic_params.pedersen_output_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/output is too big. + x = trace_length - felt!(dynamic_params.pedersen_output_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of pedersen/output is too big. + x = felt!(dynamic_params.pedersen_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.pedersen_output_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_range_check_builtin) != FELT_0 { + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.range_check_builtin_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.range_check_builtin_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Step must not exceed dimension. + x = (safe_div(trace_length, felt!(dynamic_params.range_check_builtin_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.range_check_builtin_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step ((dynamicparam(range_check_builtin_row_ratio)) / (FELT_8)) must be a power of two. + x = safe_div(felt!(dynamic_params.range_check_builtin_row_ratio), FELT_8)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of range_check_builtin/mem must be nonnegative. + x = felt!(dynamic_params.range_check_builtin_mem_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check_builtin/mem is too big. + x = trace_length - felt!(dynamic_params.range_check_builtin_mem_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check_builtin/mem is too big. + x = felt!(dynamic_params.range_check_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check_builtin_mem_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check_builtin/inner_range_check must be nonnegative. + x = felt!(dynamic_params.range_check_builtin_inner_range_check_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check_builtin/inner_range_check is too big. + x = trace_length + - felt!(dynamic_params.range_check_builtin_inner_range_check_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check_builtin/inner_range_check is too big. + x = (safe_div(felt!(dynamic_params.range_check_builtin_row_ratio), FELT_8)?) + - (safe_mult( + felt!(dynamic_params.range_check_builtin_inner_range_check_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_ecdsa_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.ecdsa_builtin_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.ecdsa_builtin_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (FELT_512)) must be a power of two. + x = safe_div(felt!(dynamic_params.ecdsa_builtin_row_ratio), FELT_512)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Step must not exceed dimension. + x = (safe_div(trace_length, felt!(dynamic_params.ecdsa_builtin_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.ecdsa_builtin_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (FELT_256)) must be a power of two. + x = safe_div(felt!(dynamic_params.ecdsa_builtin_row_ratio), FELT_256)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(ecdsa_builtin_row_ratio)) / (FELT_2)) must be a power of two. + x = safe_div(felt!(dynamic_params.ecdsa_builtin_row_ratio), FELT_2)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of ecdsa/pubkey must be nonnegative. + x = felt!(dynamic_params.ecdsa_pubkey_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ecdsa/pubkey is too big. + x = trace_length - felt!(dynamic_params.ecdsa_pubkey_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ecdsa/pubkey is too big. + x = felt!(dynamic_params.ecdsa_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ecdsa_pubkey_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ecdsa/message must be nonnegative. + x = felt!(dynamic_params.ecdsa_message_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ecdsa/message is too big. + x = trace_length - felt!(dynamic_params.ecdsa_message_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ecdsa/message is too big. + x = felt!(dynamic_params.ecdsa_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ecdsa_message_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_bitwise_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.bitwise_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.bitwise_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(bitwise_row_ratio)) / (FELT_64)) must be a power of two. + x = safe_div(felt!(dynamic_params.bitwise_row_ratio), FELT_64)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(bitwise_row_ratio)) / (FELT_4)) must be a power of two. + x = safe_div(felt!(dynamic_params.bitwise_row_ratio), FELT_4)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.bitwise_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.bitwise_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of bitwise/var_pool must be nonnegative. + x = felt!(dynamic_params.bitwise_var_pool_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/var_pool is too big. + x = trace_length - felt!(dynamic_params.bitwise_var_pool_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/var_pool is too big. + x = (safe_div(felt!(dynamic_params.bitwise_row_ratio), FELT_4)?) + - (safe_mult( + felt!(dynamic_params.bitwise_var_pool_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/x_or_y must be nonnegative. + x = felt!(dynamic_params.bitwise_x_or_y_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/x_or_y is too big. + x = trace_length - felt!(dynamic_params.bitwise_x_or_y_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/x_or_y is too big. + x = felt!(dynamic_params.bitwise_row_ratio) + - (safe_mult( + felt!(dynamic_params.bitwise_x_or_y_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/diluted_var_pool must be nonnegative. + x = felt!(dynamic_params.bitwise_diluted_var_pool_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/diluted_var_pool is too big. + x = trace_length - felt!(dynamic_params.bitwise_diluted_var_pool_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/diluted_var_pool is too big. + x = (safe_div(felt!(dynamic_params.bitwise_row_ratio), FELT_64)?) + - (safe_mult( + felt!(dynamic_params.bitwise_diluted_var_pool_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking192 must be nonnegative. + x = felt!(dynamic_params.bitwise_trim_unpacking192_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking192 is too big. + x = trace_length - felt!(dynamic_params.bitwise_trim_unpacking192_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking192 is too big. + x = felt!(dynamic_params.bitwise_row_ratio) + - (safe_mult( + felt!(dynamic_params.bitwise_trim_unpacking192_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking193 must be nonnegative. + x = felt!(dynamic_params.bitwise_trim_unpacking193_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking193 is too big. + x = trace_length - felt!(dynamic_params.bitwise_trim_unpacking193_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking193 is too big. + x = felt!(dynamic_params.bitwise_row_ratio) + - (safe_mult( + felt!(dynamic_params.bitwise_trim_unpacking193_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking194 must be nonnegative. + x = felt!(dynamic_params.bitwise_trim_unpacking194_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking194 is too big. + x = trace_length - felt!(dynamic_params.bitwise_trim_unpacking194_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking194 is too big. + x = felt!(dynamic_params.bitwise_row_ratio) + - (safe_mult( + felt!(dynamic_params.bitwise_trim_unpacking194_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking195 must be nonnegative. + x = felt!(dynamic_params.bitwise_trim_unpacking195_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking195 is too big. + x = trace_length - felt!(dynamic_params.bitwise_trim_unpacking195_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of bitwise/trim_unpacking195 is too big. + x = felt!(dynamic_params.bitwise_row_ratio) + - (safe_mult( + felt!(dynamic_params.bitwise_trim_unpacking195_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_ec_op_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.ec_op_builtin_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.ec_op_builtin_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(ec_op_builtin_row_ratio)) / (FELT_256)) must be a power of two. + x = safe_div(felt!(dynamic_params.ec_op_builtin_row_ratio), FELT_256)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.ec_op_builtin_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.ec_op_builtin_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of ec_op/p_x must be nonnegative. + x = felt!(dynamic_params.ec_op_p_x_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/p_x is too big. + x = trace_length - felt!(dynamic_params.ec_op_p_x_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/p_x is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_p_x_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/p_y must be nonnegative. + x = felt!(dynamic_params.ec_op_p_y_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/p_y is too big. + x = trace_length - felt!(dynamic_params.ec_op_p_y_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/p_y is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_p_y_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/q_x must be nonnegative. + x = felt!(dynamic_params.ec_op_q_x_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/q_x is too big. + x = trace_length - felt!(dynamic_params.ec_op_q_x_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/q_x is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_q_x_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/q_y must be nonnegative. + x = felt!(dynamic_params.ec_op_q_y_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/q_y is too big. + x = trace_length - felt!(dynamic_params.ec_op_q_y_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/q_y is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_q_y_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/m must be nonnegative. + x = felt!(dynamic_params.ec_op_m_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/m is too big. + x = trace_length - felt!(dynamic_params.ec_op_m_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/m is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_m_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/r_x must be nonnegative. + x = felt!(dynamic_params.ec_op_r_x_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/r_x is too big. + x = trace_length - felt!(dynamic_params.ec_op_r_x_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/r_x is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_r_x_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/r_y must be nonnegative. + x = felt!(dynamic_params.ec_op_r_y_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/r_y is too big. + x = trace_length - felt!(dynamic_params.ec_op_r_y_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of ec_op/r_y is too big. + x = felt!(dynamic_params.ec_op_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.ec_op_r_y_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_keccak_builtin) != FELT_0 { + // Coset step ((dynamicparam(keccak_row_ratio)) / (FELT_4096)) must be a power of two. + x = safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_4096)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, safe_mult(FELT_16, felt!(dynamic_params.keccak_row_ratio))?)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(keccak_row_ratio)) / (FELT_128)) must be a power of two. + x = safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_128)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(keccak_row_ratio)) / (FELT_32768)) must be a power of two. + x = safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_32768)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.keccak_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(keccak_row_ratio)) / (FELT_16)) must be a power of two. + x = safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_16)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(safe_mult(FELT_16, trace_length)?, felt!(dynamic_params.keccak_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(safe_mult(FELT_16, trace_length)?, felt!(dynamic_params.keccak_row_ratio))?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(safe_mult(FELT_16, trace_length)?, felt!(dynamic_params.keccak_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of keccak/input_output must be nonnegative. + x = felt!(dynamic_params.keccak_input_output_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/input_output is too big. + x = trace_length - felt!(dynamic_params.keccak_input_output_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/input_output is too big. + x = (safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_16)?) + - (safe_mult( + felt!(dynamic_params.keccak_input_output_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column0 must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_diluted_column0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column0 is too big. + x = trace_length - felt!(dynamic_params.keccak_keccak_diluted_column0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column0 is too big. + x = (safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_4096)?) + - (safe_mult( + felt!(dynamic_params.keccak_keccak_diluted_column0_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column1 must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_diluted_column1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column1 is too big. + x = trace_length - felt!(dynamic_params.keccak_keccak_diluted_column1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column1 is too big. + x = (safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_4096)?) + - (safe_mult( + felt!(dynamic_params.keccak_keccak_diluted_column1_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column2 must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_diluted_column2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column2 is too big. + x = trace_length - felt!(dynamic_params.keccak_keccak_diluted_column2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column2 is too big. + x = (safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_4096)?) + - (safe_mult( + felt!(dynamic_params.keccak_keccak_diluted_column2_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column3 must be nonnegative. + x = felt!(dynamic_params.keccak_keccak_diluted_column3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column3 is too big. + x = trace_length - felt!(dynamic_params.keccak_keccak_diluted_column3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of keccak/keccak/diluted_column3 is too big. + x = (safe_div(felt!(dynamic_params.keccak_row_ratio), FELT_4096)?) + - (safe_mult( + felt!(dynamic_params.keccak_keccak_diluted_column3_suboffset), + felt!(dynamic_params.diluted_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_poseidon_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.poseidon_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.poseidon_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(poseidon_row_ratio)) / (FELT_32)) must be a power of two. + x = safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_32)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(poseidon_row_ratio)) / (FELT_8)) must be a power of two. + x = safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_8)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(poseidon_row_ratio)) / (FELT_64)) must be a power of two. + x = safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_64)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Coset step ((dynamicparam(poseidon_row_ratio)) / (FELT_2)) must be a power of two. + x = safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_2)?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(safe_mult(FELT_2, trace_length)?, felt!(dynamic_params.poseidon_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(safe_mult(FELT_2, trace_length)?, felt!(dynamic_params.poseidon_row_ratio))?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(safe_mult(FELT_2, trace_length)?, felt!(dynamic_params.poseidon_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of poseidon/param_0/input_output must be nonnegative. + x = felt!(dynamic_params.poseidon_param_0_input_output_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_0/input_output is too big. + x = trace_length - felt!(dynamic_params.poseidon_param_0_input_output_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_0/input_output is too big. + x = (safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_2)?) + - (safe_mult( + felt!(dynamic_params.poseidon_param_0_input_output_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_1/input_output must be nonnegative. + x = felt!(dynamic_params.poseidon_param_1_input_output_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_1/input_output is too big. + x = trace_length - felt!(dynamic_params.poseidon_param_1_input_output_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_1/input_output is too big. + x = (safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_2)?) + - (safe_mult( + felt!(dynamic_params.poseidon_param_1_input_output_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_2/input_output must be nonnegative. + x = felt!(dynamic_params.poseidon_param_2_input_output_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_2/input_output is too big. + x = trace_length - felt!(dynamic_params.poseidon_param_2_input_output_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of poseidon/param_2/input_output is too big. + x = (safe_div(felt!(dynamic_params.poseidon_row_ratio), FELT_2)?) + - (safe_mult( + felt!(dynamic_params.poseidon_param_2_input_output_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_range_check96_builtin) != FELT_0 { + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.range_check96_builtin_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.range_check96_builtin_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Step must not exceed dimension. + x = (safe_div(trace_length, felt!(dynamic_params.range_check96_builtin_row_ratio))?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.range_check96_builtin_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/mem must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_mem_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/mem is too big. + x = trace_length - felt!(dynamic_params.range_check96_builtin_mem_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/mem is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_mem_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check0 must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_inner_range_check0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check0 is too big. + x = trace_length + - felt!(dynamic_params.range_check96_builtin_inner_range_check0_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check0 is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_inner_range_check0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check1 must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_inner_range_check1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check1 is too big. + x = trace_length + - felt!(dynamic_params.range_check96_builtin_inner_range_check1_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check1 is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_inner_range_check1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check2 must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_inner_range_check2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check2 is too big. + x = trace_length + - felt!(dynamic_params.range_check96_builtin_inner_range_check2_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check2 is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_inner_range_check2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check3 must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_inner_range_check3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check3 is too big. + x = trace_length + - felt!(dynamic_params.range_check96_builtin_inner_range_check3_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check3 is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_inner_range_check3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check4 must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_inner_range_check4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check4 is too big. + x = trace_length + - felt!(dynamic_params.range_check96_builtin_inner_range_check4_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check4 is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_inner_range_check4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check5 must be nonnegative. + x = felt!(dynamic_params.range_check96_builtin_inner_range_check5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check5 is too big. + x = trace_length + - felt!(dynamic_params.range_check96_builtin_inner_range_check5_suboffset) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of range_check96_builtin/inner_range_check5 is too big. + x = felt!(dynamic_params.range_check96_builtin_row_ratio) + - (safe_mult( + felt!(dynamic_params.range_check96_builtin_inner_range_check5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_add_mod_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.add_mod_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.add_mod_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.add_mod_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.add_mod_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of add_mod/p0 must be nonnegative. + x = felt!(dynamic_params.add_mod_p0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p0 is too big. + x = trace_length - felt!(dynamic_params.add_mod_p0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p0 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_p0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p1 must be nonnegative. + x = felt!(dynamic_params.add_mod_p1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p1 is too big. + x = trace_length - felt!(dynamic_params.add_mod_p1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p1 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_p1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p2 must be nonnegative. + x = felt!(dynamic_params.add_mod_p2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p2 is too big. + x = trace_length - felt!(dynamic_params.add_mod_p2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p2 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_p2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p3 must be nonnegative. + x = felt!(dynamic_params.add_mod_p3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p3 is too big. + x = trace_length - felt!(dynamic_params.add_mod_p3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/p3 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_p3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/values_ptr must be nonnegative. + x = felt!(dynamic_params.add_mod_values_ptr_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/values_ptr is too big. + x = trace_length - felt!(dynamic_params.add_mod_values_ptr_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/values_ptr is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_values_ptr_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/offsets_ptr must be nonnegative. + x = felt!(dynamic_params.add_mod_offsets_ptr_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/offsets_ptr is too big. + x = trace_length - felt!(dynamic_params.add_mod_offsets_ptr_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/offsets_ptr is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_offsets_ptr_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/n must be nonnegative. + x = felt!(dynamic_params.add_mod_n_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/n is too big. + x = trace_length - felt!(dynamic_params.add_mod_n_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/n is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_n_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a_offset must be nonnegative. + x = felt!(dynamic_params.add_mod_a_offset_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a_offset is too big. + x = trace_length - felt!(dynamic_params.add_mod_a_offset_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a_offset is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_a_offset_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b_offset must be nonnegative. + x = felt!(dynamic_params.add_mod_b_offset_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b_offset is too big. + x = trace_length - felt!(dynamic_params.add_mod_b_offset_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b_offset is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_b_offset_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c_offset must be nonnegative. + x = felt!(dynamic_params.add_mod_c_offset_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c_offset is too big. + x = trace_length - felt!(dynamic_params.add_mod_c_offset_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c_offset is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_c_offset_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a0 must be nonnegative. + x = felt!(dynamic_params.add_mod_a0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a0 is too big. + x = trace_length - felt!(dynamic_params.add_mod_a0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a0 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_a0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a1 must be nonnegative. + x = felt!(dynamic_params.add_mod_a1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a1 is too big. + x = trace_length - felt!(dynamic_params.add_mod_a1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a1 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_a1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a2 must be nonnegative. + x = felt!(dynamic_params.add_mod_a2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a2 is too big. + x = trace_length - felt!(dynamic_params.add_mod_a2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a2 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_a2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a3 must be nonnegative. + x = felt!(dynamic_params.add_mod_a3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a3 is too big. + x = trace_length - felt!(dynamic_params.add_mod_a3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/a3 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_a3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b0 must be nonnegative. + x = felt!(dynamic_params.add_mod_b0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b0 is too big. + x = trace_length - felt!(dynamic_params.add_mod_b0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b0 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_b0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b1 must be nonnegative. + x = felt!(dynamic_params.add_mod_b1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b1 is too big. + x = trace_length - felt!(dynamic_params.add_mod_b1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b1 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_b1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b2 must be nonnegative. + x = felt!(dynamic_params.add_mod_b2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b2 is too big. + x = trace_length - felt!(dynamic_params.add_mod_b2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b2 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_b2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b3 must be nonnegative. + x = felt!(dynamic_params.add_mod_b3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b3 is too big. + x = trace_length - felt!(dynamic_params.add_mod_b3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/b3 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_b3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c0 must be nonnegative. + x = felt!(dynamic_params.add_mod_c0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c0 is too big. + x = trace_length - felt!(dynamic_params.add_mod_c0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c0 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_c0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c1 must be nonnegative. + x = felt!(dynamic_params.add_mod_c1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c1 is too big. + x = trace_length - felt!(dynamic_params.add_mod_c1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c1 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_c1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c2 must be nonnegative. + x = felt!(dynamic_params.add_mod_c2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c2 is too big. + x = trace_length - felt!(dynamic_params.add_mod_c2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c2 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_c2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c3 must be nonnegative. + x = felt!(dynamic_params.add_mod_c3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c3 is too big. + x = trace_length - felt!(dynamic_params.add_mod_c3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of add_mod/c3 is too big. + x = felt!(dynamic_params.add_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.add_mod_c3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + if felt!(dynamic_params.uses_mul_mod_builtin) != FELT_0 { + // Row ratio should be a power of FELT_2, smaller than trace length. + x = felt!(dynamic_params.mul_mod_row_ratio); + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Dimension should be a power of FELT_2. + x = safe_div(trace_length, felt!(dynamic_params.mul_mod_row_ratio))?; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Index out of range. + x = (safe_div(trace_length, felt!(dynamic_params.mul_mod_row_ratio))?) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Index should be non negative. + x = safe_div(trace_length, felt!(dynamic_params.mul_mod_row_ratio))?; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Coset step (memberexpression(trace_length)) must be a power of two. + x = trace_length; + ensure!(is_power_of_2(x), CheckAssertsError::NotPowerOfTwo); + // Offset of mul_mod/p0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/values_ptr must be nonnegative. + x = felt!(dynamic_params.mul_mod_values_ptr_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/values_ptr is too big. + x = trace_length - felt!(dynamic_params.mul_mod_values_ptr_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/values_ptr is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_values_ptr_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/offsets_ptr must be nonnegative. + x = felt!(dynamic_params.mul_mod_offsets_ptr_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/offsets_ptr is too big. + x = trace_length - felt!(dynamic_params.mul_mod_offsets_ptr_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/offsets_ptr is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_offsets_ptr_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/n must be nonnegative. + x = felt!(dynamic_params.mul_mod_n_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/n is too big. + x = trace_length - felt!(dynamic_params.mul_mod_n_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/n is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_n_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a_offset must be nonnegative. + x = felt!(dynamic_params.mul_mod_a_offset_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a_offset is too big. + x = trace_length - felt!(dynamic_params.mul_mod_a_offset_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a_offset is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_a_offset_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b_offset must be nonnegative. + x = felt!(dynamic_params.mul_mod_b_offset_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b_offset is too big. + x = trace_length - felt!(dynamic_params.mul_mod_b_offset_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b_offset is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_b_offset_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c_offset must be nonnegative. + x = felt!(dynamic_params.mul_mod_c_offset_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c_offset is too big. + x = trace_length - felt!(dynamic_params.mul_mod_c_offset_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c_offset is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_c_offset_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_a0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_a0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_a0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_a1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_a1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_a1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_a2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_a2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_a2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_a3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_a3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/a3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_a3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_b0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_b0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_b0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_b1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_b1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_b1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_b2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_b2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_b2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_b3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_b3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/b3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_b3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_c0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_c0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_c0_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_c1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_c1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_c1_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_c2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_c2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_c2_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_c3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_c3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/c3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_c3_suboffset), + felt!(dynamic_params.memory_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier0_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier0_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier0_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier0_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier0_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier0_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier0_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier0_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier0_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier0_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier0_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier0_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier0_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier0_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier0_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier0_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier0_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier0/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier0_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier1_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier1_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier1_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier1_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier1_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier1_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier1_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier1_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier1_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier1_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier1_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier1_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier1_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier1_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier1_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier1_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier1_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier1/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier1_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier2_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier2_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier2_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier2_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier2_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier2_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier2_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier2_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier2_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier2_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier2_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier2_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier2_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier2_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier2_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier2_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier2_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier2/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier2_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier3_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier3_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier3_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier3_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier3_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier3_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier3_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier3_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier3_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier3_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier3_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier3_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier3_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier3_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier3_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_p_multiplier3_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_p_multiplier3_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/p_multiplier3/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_p_multiplier3_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part6 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry0_part6_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part6 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry0_part6_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry0/part6 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry0_part6_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part6 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry1_part6_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part6 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry1_part6_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry1/part6 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry1_part6_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part6 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry2_part6_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part6 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry2_part6_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry2/part6 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry2_part6_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part6 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry3_part6_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part6 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry3_part6_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry3/part6 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry3_part6_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part6 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry4_part6_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part6 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry4_part6_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry4/part6 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry4_part6_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part0 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part0_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part0 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part0_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part0 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part0_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part1 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part1_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part1 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part1_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part1 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part1_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part2 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part2_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part2 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part2_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part2 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part2_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part3 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part3_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part3 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part3_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part3 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part3_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part4 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part4_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part4 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part4_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part4 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part4_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part5 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part5_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part5 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part5_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part5 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part5_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part6 must be nonnegative. + x = felt!(dynamic_params.mul_mod_carry5_part6_suboffset); + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part6 is too big. + x = trace_length - felt!(dynamic_params.mul_mod_carry5_part6_suboffset) - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + // Offset of mul_mod/carry5/part6 is too big. + x = felt!(dynamic_params.mul_mod_row_ratio) + - (safe_mult( + felt!(dynamic_params.mul_mod_carry5_part6_suboffset), + felt!(dynamic_params.range_check_units_row_ratio), + )?) + - FELT_1; + ensure!(x < FELT_USIZE_MAX, CheckAssertsError::OutOfRange); + } + Ok(()) +} diff --git a/crates/air/src/layout/dynamic/autogenerated/autogenerated_composition.rs b/crates/air/src/layout/dynamic/autogenerated/autogenerated_composition.rs new file mode 100644 index 0000000..07a201b --- /dev/null +++ b/crates/air/src/layout/dynamic/autogenerated/autogenerated_composition.rs @@ -0,0 +1,15451 @@ +use crate::{ + consts::*, + dynamic::DynamicParams, + layout::{dynamic::GlobalValues, safe_div, CompositionPolyEvalError}, +}; +use starknet_crypto::Felt; +use starknet_types_core::felt::NonZeroFelt; + +pub fn eval_composition_polynomial_inner( + mask_values: &[Felt], + constraint_coefficients: &[Felt], + point: &Felt, + trace_generator: &Felt, + global_values: &GlobalValues, + dynamic_params: &DynamicParams, +) -> Result { + // Fetch dynamic params. + let add_mod_row_ratio = Felt::from(dynamic_params.add_mod_row_ratio); + let bitwise_row_ratio = Felt::from(dynamic_params.bitwise_row_ratio); + let cpu_component_step = Felt::from(dynamic_params.cpu_component_step); + let diluted_units_row_ratio = Felt::from(dynamic_params.diluted_units_row_ratio); + let ec_op_builtin_row_ratio = Felt::from(dynamic_params.ec_op_builtin_row_ratio); + let ecdsa_builtin_row_ratio = Felt::from(dynamic_params.ecdsa_builtin_row_ratio); + let keccak_row_ratio = Felt::from(dynamic_params.keccak_row_ratio); + let memory_units_row_ratio = Felt::from(dynamic_params.memory_units_row_ratio); + let mul_mod_row_ratio = Felt::from(dynamic_params.mul_mod_row_ratio); + let pedersen_builtin_row_ratio = Felt::from(dynamic_params.pedersen_builtin_row_ratio); + let poseidon_row_ratio = Felt::from(dynamic_params.poseidon_row_ratio); + let range_check96_builtin_row_ratio = + Felt::from(dynamic_params.range_check96_builtin_row_ratio); + let range_check_builtin_row_ratio = Felt::from(dynamic_params.range_check_builtin_row_ratio); + let range_check_units_row_ratio = Felt::from(dynamic_params.range_check_units_row_ratio); + let uses_add_mod_builtin = dynamic_params.uses_add_mod_builtin; + let uses_bitwise_builtin = dynamic_params.uses_bitwise_builtin; + let uses_ec_op_builtin = dynamic_params.uses_ec_op_builtin; + let uses_ecdsa_builtin = dynamic_params.uses_ecdsa_builtin; + let uses_keccak_builtin = dynamic_params.uses_keccak_builtin; + let uses_mul_mod_builtin = dynamic_params.uses_mul_mod_builtin; + let uses_pedersen_builtin = dynamic_params.uses_pedersen_builtin; + let uses_poseidon_builtin = dynamic_params.uses_poseidon_builtin; + let uses_range_check96_builtin = dynamic_params.uses_range_check96_builtin; + let uses_range_check_builtin = dynamic_params.uses_range_check_builtin; + + // Compute powers. + let pow0: Felt = + point.pow_felt(&(safe_div(global_values.trace_length, range_check_units_row_ratio)?)); + let pow1: Felt = + point.pow_felt(&(safe_div(global_values.trace_length, FELT_8 * memory_units_row_ratio)?)); + let pow2: Felt = + point.pow_felt(&(safe_div(global_values.trace_length, memory_units_row_ratio)?)); + let pow3: Felt = + point.pow_felt(&(safe_div(global_values.trace_length, diluted_units_row_ratio)?)); + let pow4: Felt = + point.pow_felt(&(safe_div(global_values.trace_length, FELT_16 * cpu_component_step)?)); + let pow5: Felt = point.pow_felt(&(safe_div(global_values.trace_length, cpu_component_step)?)); + let pow6: Felt = + trace_generator.pow_felt(&(global_values.trace_length - diluted_units_row_ratio)); + let pow7: Felt = + trace_generator.pow_felt(&(global_values.trace_length - range_check_units_row_ratio)); + let pow8: Felt = + trace_generator.pow_felt(&(global_values.trace_length - memory_units_row_ratio)); + let pow9: Felt = + trace_generator.pow_felt(&(global_values.trace_length - FELT_16 * cpu_component_step)); + let pow10: Felt = + trace_generator.pow_felt(&(safe_div(FELT_15 * global_values.trace_length, FELT_16)?)); + + // Compute domains. + let domain0 = pow5 - FELT_1; + let domain1 = pow4 - pow10; + let domain2 = pow4 - FELT_1; + let domain3 = pow3 - FELT_1; + let domain4 = pow2 - FELT_1; + let domain5 = pow1 - FELT_1; + let domain6 = pow0 - FELT_1; + let domain7 = point - pow9; + let domain8 = point - FELT_1; + let domain9 = point - pow8; + let domain10 = point - pow7; + let domain11 = point - pow6; + let mut domain12: Felt = FELT_0; + let mut domain13: Felt = FELT_0; + let mut domain14: Felt = FELT_0; + let mut domain15: Felt = FELT_0; + let mut domain16: Felt = FELT_0; + let mut domain17: Felt = FELT_0; + let mut domain18: Felt = FELT_0; + let mut domain19: Felt = FELT_0; + let mut domain20: Felt = FELT_0; + let mut domain21: Felt = FELT_0; + let mut domain22: Felt = FELT_0; + let mut domain23: Felt = FELT_0; + let mut domain24: Felt = FELT_0; + let mut domain25: Felt = FELT_0; + let mut domain26: Felt = FELT_0; + let mut domain27: Felt = FELT_0; + let mut domain28: Felt = FELT_0; + let mut domain29: Felt = FELT_0; + let mut domain30: Felt = FELT_0; + let mut domain31: Felt = FELT_0; + let mut domain32: Felt = FELT_0; + let mut domain33: Felt = FELT_0; + let mut domain34: Felt = FELT_0; + let mut domain35: Felt = FELT_0; + let mut domain36: Felt = FELT_0; + let mut domain37: Felt = FELT_0; + let mut domain38: Felt = FELT_0; + let mut domain39: Felt = FELT_0; + let mut domain40: Felt = FELT_0; + let mut domain41: Felt = FELT_0; + let mut domain42: Felt = FELT_0; + let mut domain43: Felt = FELT_0; + let mut domain44: Felt = FELT_0; + let mut domain45: Felt = FELT_0; + let domain46: Felt; + let mut domain47: Felt = FELT_0; + let mut domain48: Felt = FELT_0; + let domain49: Felt; + let mut domain50: Felt = FELT_0; + let mut domain51: Felt = FELT_0; + let mut domain52: Felt = FELT_0; + let domain53: Felt; + let domain54: Felt; + let mut domain55: Felt = FELT_0; + let mut domain56: Felt = FELT_0; + let mut domain57: Felt = FELT_0; + let domain58: Felt; + let domain59: Felt; + let domain60: Felt; + let mut domain61: Felt = FELT_0; + let domain62: Felt; + let domain63: Felt; + let mut domain64: Felt = FELT_0; + let mut domain65: Felt = FELT_0; + let domain66: Felt; + let mut domain67: Felt = FELT_0; + let domain68: Felt; + let domain69: Felt; + let mut domain70: Felt = FELT_0; + let domain71: Felt; + let mut domain72: Felt = FELT_0; + let domain73: Felt; + let domain74: Felt; + let domain75: Felt; + let mut domain76: Felt = FELT_0; + let domain77: Felt; + let domain78: Felt; + let domain79: Felt; + let domain80: Felt; + let mut domain81: Felt = FELT_0; + let domain82: Felt; + let domain83: Felt; + let domain84: Felt; + let domain85: Felt; + let domain86: Felt; + let domain87: Felt; + let domain88: Felt; + let domain89: Felt; + let domain90: Felt; + let mut domain91: Felt = FELT_0; + let domain92: Felt; + let mut domain93: Felt = FELT_0; + let domain94: Felt; + let domain95: Felt; + let mut domain96: Felt = FELT_0; + let mut domain97: Felt = FELT_0; + let mut domain98: Felt = FELT_0; + let domain99: Felt; + let domain100: Felt; + let domain101: Felt; + let domain102: Felt; + let mut domain103: Felt = FELT_0; + let domain104: Felt; + let domain105: Felt; + let domain106: Felt; + let domain107: Felt; + let domain108: Felt; + let mut domain109: Felt = FELT_0; + let domain110: Felt; + let domain111: Felt; + let domain112: Felt; + let domain113: Felt; + let domain114: Felt; + let domain115: Felt; + let domain116: Felt; + let domain117: Felt; + let domain118: Felt; + let domain119: Felt; + let mut domain120: Felt = FELT_0; + let domain121: Felt; + let mut domain122: Felt = FELT_0; + let domain123: Felt; + let domain124: Felt; + let mut domain125: Felt = FELT_0; + let mut domain126: Felt = FELT_0; + let mut domain127: Felt = FELT_0; + let mut domain128: Felt = FELT_0; + let domain129: Felt; + let mut domain130: Felt = FELT_0; + let mut domain131: Felt = FELT_0; + let domain132: Felt; + let mut domain133: Felt = FELT_0; + let mut domain134: Felt = FELT_0; + let mut domain135: Felt = FELT_0; + let domain136: Felt; + let mut domain137: Felt = FELT_0; + let domain138: Felt; + let mut domain139: Felt = FELT_0; + let mut domain140: Felt = FELT_0; + let mut domain141: Felt = FELT_0; + let mut domain142: Felt = FELT_0; + let mut domain143: Felt = FELT_0; + let mut domain144: Felt = FELT_0; + let mut domain145: Felt = FELT_0; + let mut domain146: Felt = FELT_0; + let mut domain147: Felt = FELT_0; + let mut domain148: Felt = FELT_0; + let mut domain149: Felt = FELT_0; + let mut domain150: Felt = FELT_0; + let mut domain151: Felt = FELT_0; + let mut domain152: Felt = FELT_0; + let mut domain153: Felt = FELT_0; + let mut domain154: Felt = FELT_0; + let mut domain155: Felt = FELT_0; + let mut domain156: Felt = FELT_0; + let mut domain157: Felt = FELT_0; + let mut domain158: Felt = FELT_0; + let mut domain159: Felt = FELT_0; + let mut domain160: Felt = FELT_0; + let mut domain161: Felt = FELT_0; + let mut domain162: Felt = FELT_0; + let mut domain163: Felt = FELT_0; + let mut domain164: Felt = FELT_0; + let mut domain165: Felt = FELT_0; + let mut domain166: Felt = FELT_0; + let mut domain167: Felt = FELT_0; + let mut domain168: Felt = FELT_0; + let mut domain169: Felt = FELT_0; + let mut domain170: Felt = FELT_0; + let domain171: Felt; + let mut domain172: Felt = FELT_0; + let mut domain173: Felt = FELT_0; + let mut domain174: Felt = FELT_0; + let mut domain175: Felt = FELT_0; + let mut domain176: Felt = FELT_0; + let mut domain177: Felt = FELT_0; + let mut domain178: Felt = FELT_0; + let mut domain179: Felt = FELT_0; + let mut domain180: Felt = FELT_0; + let mut domain181: Felt = FELT_0; + let mut domain182: Felt = FELT_0; + let mut domain183: Felt = FELT_0; + + let pow11: Felt; + let pow12: Felt; + if uses_add_mod_builtin != 0 { + let temp11 = point.pow_felt(&(safe_div(global_values.trace_length, add_mod_row_ratio)?)); + pow11 = temp11; + let temp12 = trace_generator.pow_felt(&(global_values.trace_length - add_mod_row_ratio)); + pow12 = temp12; + + domain12 = pow11 - 1; + domain13 = point - 1; + domain14 = point - pow12; + } + let pow13: Felt; + let pow14: Felt; + let pow15: Felt; + let pow16: Felt; + let pow17: Felt; + let pow18: Felt; + let pow19: Felt; + let pow20: Felt; + let pow21: Felt; + let pow22: Felt; + let pow23: Felt; + let pow24: Felt; + let pow25: Felt; + let pow26: Felt; + let pow27: Felt; + let pow28: Felt; + let pow29: Felt; + let pow30: Felt; + let pow31: Felt; + if uses_bitwise_builtin != 0 { + let temp13 = point.pow_felt(&(safe_div(global_values.trace_length, bitwise_row_ratio)?)); + pow13 = temp13; + let temp14 = + point.pow_felt(&(safe_div(FELT_4 * global_values.trace_length, bitwise_row_ratio)?)); + pow14 = temp14; + let temp15 = trace_generator.pow_felt(&(global_values.trace_length - bitwise_row_ratio)); + pow15 = temp15; + let temp16 = trace_generator.pow_felt(&(safe_div(global_values.trace_length, FELT_64)?)); + pow16 = temp16; + pow17 = pow16 * pow16; // trace_generator.pow_felt(&(safe_div(global_values.trace_length, 32))). + pow18 = pow16 * pow17; // trace_generator.pow_felt(&(safe_div(((Felt::from(3) * global_values.trace_length)), 64))). + pow19 = pow16 * pow18; // trace_generator.pow_felt(&(safe_div(global_values.trace_length, 16))). + pow20 = pow16 * pow19; // trace_generator.pow_felt(&(safe_div(((Felt::from(5) * global_values.trace_length)), 64))). + pow21 = pow16 * pow20; // trace_generator.pow_felt(&(safe_div(((Felt::from(3) * global_values.trace_length)), 32))). + pow22 = pow16 * pow21; // trace_generator.pow_felt(&(safe_div(((Felt::from(7) * global_values.trace_length)), 64))). + pow23 = pow16 * pow22; // trace_generator.pow_felt(&(safe_div(global_values.trace_length, 8))). + pow24 = pow16 * pow23; // trace_generator.pow_felt(&(safe_div(((Felt::from(9) * global_values.trace_length)), 64))). + pow25 = pow16 * pow24; // trace_generator.pow_felt(&(safe_div(((Felt::from(5) * global_values.trace_length)), 32))). + pow26 = pow16 * pow25; // trace_generator.pow_felt(&(safe_div(((Felt::from(11) * global_values.trace_length)), 64))). + pow27 = pow16 * pow26; // trace_generator.pow_felt(&(safe_div(((Felt::from(3) * global_values.trace_length)), 16))). + pow28 = pow16 * pow27; // trace_generator.pow_felt(&(safe_div(((Felt::from(13) * global_values.trace_length)), 64))). + pow29 = pow16 * pow28; // trace_generator.pow_felt(&(safe_div(((Felt::from(7) * global_values.trace_length)), 32))). + pow30 = pow16 * pow29; // trace_generator.pow_felt(&(safe_div(((Felt::from(15) * global_values.trace_length)), 64))). + let temp31 = + trace_generator.pow_felt(&(safe_div(FELT_3 * global_values.trace_length, FELT_4)?)); + pow31 = temp31; + + domain15 = pow14 - FELT_1; + domain16 = pow13 - pow31; + domain17 = pow13 - FELT_1; + let mut temp = pow13 - pow16; + temp *= pow13 - pow17; + temp *= pow13 - pow18; + temp *= pow13 - pow19; + temp *= pow13 - pow20; + temp *= pow13 - pow21; + temp *= pow13 - pow22; + temp *= pow13 - pow23; + temp *= pow13 - pow24; + temp *= pow13 - pow25; + temp *= pow13 - pow26; + temp *= pow13 - pow27; + temp *= pow13 - pow28; + temp *= pow13 - pow29; + temp *= pow13 - pow30; + domain18 = temp * (domain17); + domain19 = point - FELT_1; + domain20 = point - pow15; + }; + let pow32: Felt; + let pow33: Felt; + let pow34: Felt; + let pow35: Felt; + let pow36: Felt; + if uses_ec_op_builtin != 0 { + let temp32 = + point.pow_felt(&(safe_div(global_values.trace_length, ec_op_builtin_row_ratio)?)); + pow32 = temp32; + let temp33 = point + .pow_felt(&(safe_div(FELT_256 * global_values.trace_length, ec_op_builtin_row_ratio)?)); + pow33 = temp33; + let temp34 = + trace_generator.pow_felt(&(global_values.trace_length - ec_op_builtin_row_ratio)); + pow34 = temp34; + let temp35 = + trace_generator.pow_felt(&(safe_div(FELT_63 * global_values.trace_length, FELT_64)?)); + pow35 = temp35; + let temp36 = + trace_generator.pow_felt(&(safe_div(FELT_255 * global_values.trace_length, FELT_256)?)); + pow36 = temp36; + + domain21 = pow33 - 1; + domain22 = pow32 - 1; + domain23 = pow32 - pow36; + domain24 = pow32 - pow35; + domain25 = point - 1; + domain26 = point - pow34; + } + let pow37: Felt; + let pow38: Felt; + let pow39: Felt; + let pow40: Felt; + let pow41: Felt; + let pow42: Felt; + let pow43: Felt; + if uses_ecdsa_builtin != 0 { + let temp37 = + point.pow_felt(&(safe_div(global_values.trace_length, ecdsa_builtin_row_ratio)?)); + pow37 = temp37; + pow38 = pow37 * pow37; // point.pow_felt(&(safe_div(((Felt::from(2) * global_values.trace_length)), ecdsa_builtin_row_ratio))). + let temp39 = point + .pow_felt(&(safe_div(FELT_256 * global_values.trace_length, ecdsa_builtin_row_ratio)?)); + pow39 = temp39; + pow40 = pow39 * pow39; // point.pow_felt(&(safe_div(((Felt::from(512) * global_values.trace_length)), ecdsa_builtin_row_ratio))). + let temp41 = + trace_generator.pow_felt(&(global_values.trace_length - ecdsa_builtin_row_ratio)); + pow41 = temp41; + let temp42 = + trace_generator.pow_felt(&(safe_div(FELT_251 * global_values.trace_length, FELT_256)?)); + pow42 = temp42; + let temp43 = + trace_generator.pow_felt(&(safe_div(FELT_255 * global_values.trace_length, FELT_256)?)); + pow43 = temp43; + + domain27 = pow40 - 1; + domain28 = pow39 - 1; + domain29 = pow38 - pow43; + domain30 = pow38 - pow42; + domain31 = pow38 - 1; + domain32 = pow37 - pow43; + domain33 = pow37 - pow42; + domain34 = pow37 - 1; + domain35 = point - 1; + domain36 = point - pow41; + }; + let pow44: Felt; + let pow45: Felt; + let pow46: Felt; + let pow47: Felt; + let pow48: Felt; + let pow49: Felt; + let pow50: Felt; + let pow51: Felt; + let pow52: Felt; + let pow53: Felt; + let pow54: Felt; + let pow55: Felt; + let pow56: Felt; + let pow57: Felt; + let pow58: Felt; + let pow59: Felt; + let pow60: Felt; + let pow61: Felt; + let pow62: Felt; + let pow63: Felt; + let pow64: Felt; + let pow65: Felt; + let pow66: Felt; + let pow67: Felt; + let pow68: Felt; + let pow69: Felt; + let pow70: Felt; + let pow71: Felt; + let pow72: Felt; + let pow73: Felt; + let pow74: Felt; + let pow75: Felt; + let pow76: Felt; + let pow77: Felt; + let pow78: Felt; + let pow79: Felt; + let pow80: Felt; + let pow81: Felt; + let pow82: Felt; + let pow83: Felt; + let pow84: Felt; + let pow85: Felt; + let pow86: Felt; + let pow87: Felt; + let pow88: Felt; + let pow89: Felt; + let pow90: Felt; + let pow91: Felt; + let pow92: Felt; + let pow93: Felt; + let pow94: Felt; + let pow95: Felt; + let pow96: Felt; + let pow97: Felt; + let pow98: Felt; + let pow99: Felt; + let pow100: Felt; + let pow101: Felt; + let pow102: Felt; + let pow103: Felt; + let pow104: Felt; + let pow105: Felt; + let pow106: Felt; + let pow107: Felt; + let pow108: Felt; + let pow109: Felt; + let pow110: Felt; + let pow111: Felt; + let pow112: Felt; + let pow113: Felt; + let pow114: Felt; + let pow115: Felt; + let pow116: Felt; + let pow117: Felt; + let pow118: Felt; + let pow119: Felt; + let pow120: Felt; + let pow121: Felt; + let pow122: Felt; + let pow123: Felt; + let pow124: Felt; + let pow125: Felt; + let pow126: Felt; + let pow127: Felt; + let pow128: Felt; + let pow129: Felt; + let pow130: Felt; + let pow131: Felt; + let pow132: Felt; + let pow133: Felt; + let pow134: Felt; + let pow135: Felt; + let pow136: Felt; + let pow137: Felt; + let pow138: Felt; + let pow139: Felt; + let pow140: Felt; + let pow141: Felt; + let pow142: Felt; + let pow143: Felt; + let pow144: Felt; + let pow145: Felt; + let pow146: Felt; + let pow147: Felt; + let pow148: Felt; + let pow149: Felt; + let pow150: Felt; + let pow151: Felt; + let pow152: Felt; + let pow153: Felt; + let pow154: Felt; + let pow155: Felt; + let pow156: Felt; + let pow157: Felt; + let pow158: Felt; + let pow159: Felt; + let pow160: Felt; + let pow161: Felt; + let pow162: Felt; + let pow163: Felt; + let pow164: Felt; + let pow165: Felt; + let pow166: Felt; + let pow167: Felt; + let pow168: Felt; + let pow169: Felt; + let pow170: Felt; + let pow171: Felt; + let pow172: Felt; + let pow173: Felt; + let pow174: Felt; + let pow175: Felt; + let pow176: Felt; + let pow177: Felt; + let pow178: Felt; + let pow179: Felt; + let pow180: Felt; + let pow181: Felt; + let pow182: Felt; + let pow183: Felt; + let pow184: Felt; + let pow185: Felt; + let pow186: Felt; + let pow187: Felt; + let pow188: Felt; + let pow189: Felt; + let pow190: Felt; + let pow191: Felt; + let pow192: Felt; + let pow193: Felt; + let pow194: Felt; + let pow195: Felt; + let pow196: Felt; + let pow197: Felt; + let pow198: Felt; + let pow199: Felt; + let pow200: Felt; + let pow201: Felt; + let pow202: Felt; + let pow203: Felt; + let pow204: Felt; + let pow205: Felt; + let pow206: Felt; + let pow207: Felt; + let pow208: Felt; + let pow209: Felt; + let pow210: Felt; + let pow211: Felt; + let pow212: Felt; + let pow213: Felt; + let pow214: Felt; + let pow215: Felt; + let pow216: Felt; + let pow217: Felt; + let pow218: Felt; + let pow219: Felt; + let pow220: Felt; + let pow221: Felt; + let pow222: Felt; + let pow223: Felt; + let pow224: Felt; + let pow225: Felt; + let pow226: Felt; + let pow227: Felt; + let pow228: Felt; + let pow229: Felt; + let pow230: Felt; + let pow231: Felt; + let pow232: Felt; + let pow233: Felt; + let pow234: Felt; + let pow235: Felt; + let pow236: Felt; + let pow237: Felt; + let pow238: Felt; + let pow239: Felt; + let pow240: Felt; + let pow241: Felt; + let pow242: Felt; + let pow243: Felt; + let pow244: Felt; + let pow245: Felt; + let pow246: Felt; + let pow247: Felt; + let pow248: Felt; + let pow249: Felt; + let pow250: Felt; + let pow251: Felt; + let pow252: Felt; + let pow253: Felt; + let pow254: Felt; + let pow255: Felt; + let pow256: Felt; + let pow257: Felt; + let pow258: Felt; + let pow259: Felt; + let pow260: Felt; + let pow261: Felt; + let pow262: Felt; + let pow263: Felt; + let pow264: Felt; + let pow265: Felt; + let pow266: Felt; + let pow267: Felt; + let pow268: Felt; + let pow269: Felt; + let pow270: Felt; + let pow271: Felt; + let pow272: Felt; + let pow273: Felt; + let pow274: Felt; + let pow275: Felt; + let pow276: Felt; + let pow277: Felt; + let pow278: Felt; + let pow279: Felt; + let pow280: Felt; + let pow281: Felt; + let pow282: Felt; + let pow283: Felt; + let pow284: Felt; + let pow285: Felt; + let pow286: Felt; + let pow287: Felt; + let pow288: Felt; + let pow289: Felt; + let pow290: Felt; + let pow291: Felt; + let pow292: Felt; + let pow293: Felt; + let pow294: Felt; + let pow295: Felt; + let pow296: Felt; + let pow297: Felt; + let pow298: Felt; + let pow299: Felt; + let pow300: Felt; + let pow301: Felt; + let pow302: Felt; + let pow303: Felt; + let pow304: Felt; + let pow305: Felt; + let pow306: Felt; + let pow307: Felt; + let pow308: Felt; + let pow309: Felt; + let pow310: Felt; + let pow311: Felt; + let pow312: Felt; + let pow313: Felt; + let pow314: Felt; + let pow315: Felt; + let pow316: Felt; + let pow317: Felt; + let pow318: Felt; + let pow319: Felt; + let pow320: Felt; + let pow321: Felt; + let pow322: Felt; + let pow323: Felt; + let pow324: Felt; + let pow325: Felt; + let pow326: Felt; + let pow327: Felt; + let pow328: Felt; + let pow329: Felt; + let pow330: Felt; + let pow331: Felt; + let pow332: Felt; + let pow333: Felt; + let pow334: Felt; + let pow335: Felt; + let pow336: Felt; + let pow337: Felt; + let pow338: Felt; + let pow339: Felt; + let pow340: Felt; + let pow341: Felt; + let pow342: Felt; + let pow343: Felt; + let pow344: Felt; + let pow345: Felt; + let pow346: Felt; + let pow347: Felt; + let pow348: Felt; + let pow349: Felt; + let pow350: Felt; + let pow351: Felt; + let pow352: Felt; + let pow353: Felt; + let pow354: Felt; + let pow355: Felt; + let pow356: Felt; + let pow357: Felt; + let pow358: Felt; + let pow359: Felt; + let pow360: Felt; + let pow361: Felt; + let pow362: Felt; + let pow363: Felt; + let pow364: Felt; + let pow365: Felt; + let pow366: Felt; + let pow367: Felt; + let pow368: Felt; + let pow369: Felt; + let pow370: Felt; + let pow371: Felt; + let pow372: Felt; + let pow373: Felt; + let pow374: Felt; + let pow375: Felt; + let pow376: Felt; + let pow377: Felt; + let pow378: Felt; + let pow379: Felt; + let pow380: Felt; + let pow381: Felt; + let pow382: Felt; + let pow383: Felt; + let pow384: Felt; + let pow385: Felt; + let pow386: Felt; + let pow387: Felt; + let pow388: Felt; + let pow389: Felt; + let pow390: Felt; + let pow391: Felt; + let pow392: Felt; + let pow393: Felt; + let pow394: Felt; + let pow395: Felt; + let pow396: Felt; + let pow397: Felt; + let pow398: Felt; + let pow399: Felt; + let pow400: Felt; + let pow401: Felt; + let pow402: Felt; + let pow403: Felt; + let pow404: Felt; + let pow405: Felt; + let pow406: Felt; + let pow407: Felt; + let pow408: Felt; + let pow409: Felt; + let pow410: Felt; + let pow411: Felt; + let pow412: Felt; + let pow413: Felt; + let pow414: Felt; + let pow415: Felt; + let pow416: Felt; + let pow417: Felt; + let pow418: Felt; + let pow419: Felt; + let pow420: Felt; + let pow421: Felt; + let pow422: Felt; + let pow423: Felt; + let pow424: Felt; + let pow425: Felt; + let pow426: Felt; + let pow427: Felt; + let pow428: Felt; + let pow429: Felt; + let pow430: Felt; + let pow431: Felt; + let pow432: Felt; + let pow433: Felt; + let pow434: Felt; + let pow435: Felt; + let pow436: Felt; + let pow437: Felt; + let pow438: Felt; + let pow439: Felt; + let pow440: Felt; + let pow441: Felt; + let pow442: Felt; + let pow443: Felt; + let pow444: Felt; + let pow445: Felt; + let pow446: Felt; + let pow447: Felt; + let pow448: Felt; + let pow449: Felt; + let pow450: Felt; + let pow451: Felt; + let pow452: Felt; + let pow453: Felt; + let pow454: Felt; + let pow455: Felt; + let pow456: Felt; + let pow457: Felt; + let pow458: Felt; + let pow459: Felt; + let pow460: Felt; + let pow461: Felt; + let pow462: Felt; + let pow463: Felt; + let pow464: Felt; + let pow465: Felt; + let pow466: Felt; + let pow467: Felt; + let pow468: Felt; + let pow469: Felt; + let pow470: Felt; + let pow471: Felt; + let pow472: Felt; + let pow473: Felt; + let pow474: Felt; + let pow475: Felt; + let pow476: Felt; + let pow477: Felt; + let pow478: Felt; + let pow479: Felt; + let pow480: Felt; + let pow481: Felt; + let pow482: Felt; + let pow483: Felt; + let pow484: Felt; + let pow485: Felt; + let pow486: Felt; + let pow487: Felt; + let pow488: Felt; + let pow489: Felt; + let pow490: Felt; + let pow491: Felt; + let pow492: Felt; + let pow493: Felt; + let pow494: Felt; + let pow495: Felt; + let pow496: Felt; + let pow497: Felt; + let pow498: Felt; + let pow499: Felt; + let pow500: Felt; + let pow501: Felt; + let pow502: Felt; + let pow503: Felt; + let pow504: Felt; + let pow505: Felt; + let pow506: Felt; + let pow507: Felt; + let pow508: Felt; + let pow509: Felt; + let pow510: Felt; + let pow511: Felt; + let pow512: Felt; + let pow513: Felt; + let pow514: Felt; + let pow515: Felt; + let pow516: Felt; + let pow517: Felt; + let pow518: Felt; + let pow519: Felt; + let pow520: Felt; + let pow521: Felt; + let pow522: Felt; + let pow523: Felt; + let pow524: Felt; + let pow525: Felt; + let pow526: Felt; + let pow527: Felt; + let pow528: Felt; + let pow529: Felt; + let pow530: Felt; + let pow531: Felt; + let pow532: Felt; + let pow533: Felt; + let pow534: Felt; + let pow535: Felt; + let pow536: Felt; + let pow537: Felt; + let pow538: Felt; + let pow539: Felt; + let pow540: Felt; + let pow541: Felt; + let pow542: Felt; + let pow543: Felt; + let pow544: Felt; + let pow545: Felt; + let pow546: Felt; + let pow547: Felt; + let pow548: Felt; + let pow549: Felt; + let pow550: Felt; + let pow551: Felt; + let pow552: Felt; + let pow553: Felt; + let pow554: Felt; + let pow555: Felt; + let pow556: Felt; + let pow557: Felt; + let pow558: Felt; + let pow559: Felt; + let pow560: Felt; + let pow561: Felt; + let pow562: Felt; + let pow563: Felt; + let pow564: Felt; + let pow565: Felt; + let pow566: Felt; + let pow567: Felt; + let pow568: Felt; + let pow569: Felt; + let pow570: Felt; + let pow571: Felt; + let pow572: Felt; + let pow573: Felt; + let pow574: Felt; + let pow575: Felt; + let pow576: Felt; + let pow577: Felt; + let pow578: Felt; + let pow579: Felt; + let pow580: Felt; + let pow581: Felt; + let pow582: Felt; + let pow583: Felt; + let pow584: Felt; + let pow585: Felt; + let pow586: Felt; + let pow587: Felt; + let pow588: Felt; + let pow589: Felt; + let pow590: Felt; + let pow591: Felt; + let pow592: Felt; + let pow593: Felt; + let pow594: Felt; + let pow595: Felt; + let pow596: Felt; + let pow597: Felt; + let pow598: Felt; + let pow599: Felt; + let pow600: Felt; + let pow601: Felt; + let pow602: Felt; + let pow603: Felt; + let pow604: Felt; + let pow605: Felt; + let pow606: Felt; + let pow607: Felt; + let pow608: Felt; + let pow609: Felt; + let pow610: Felt; + let pow611: Felt; + let pow612: Felt; + let pow613: Felt; + let pow614: Felt; + let pow615: Felt; + let pow616: Felt; + let pow617: Felt; + let pow618: Felt; + let pow619: Felt; + let pow620: Felt; + let pow621: Felt; + let pow622: Felt; + let pow623: Felt; + let pow624: Felt; + let pow625: Felt; + let pow626: Felt; + let pow627: Felt; + let pow628: Felt; + let pow629: Felt; + let pow630: Felt; + let pow631: Felt; + let pow632: Felt; + let pow633: Felt; + let pow634: Felt; + let pow635: Felt; + let pow636: Felt; + let pow637: Felt; + let pow638: Felt; + let pow639: Felt; + let pow640: Felt; + let pow641: Felt; + let pow642: Felt; + let pow643: Felt; + let pow644: Felt; + let pow645: Felt; + let pow646: Felt; + let pow647: Felt; + let pow648: Felt; + let pow649: Felt; + let pow650: Felt; + let pow651: Felt; + let pow652: Felt; + let pow653: Felt; + let pow654: Felt; + let pow655: Felt; + let pow656: Felt; + let pow657: Felt; + let pow658: Felt; + let pow659: Felt; + let pow660: Felt; + let pow661: Felt; + let pow662: Felt; + let pow663: Felt; + let pow664: Felt; + let pow665: Felt; + let pow666: Felt; + let pow667: Felt; + let pow668: Felt; + let pow669: Felt; + let pow670: Felt; + let pow671: Felt; + let pow672: Felt; + let pow673: Felt; + let pow674: Felt; + let pow675: Felt; + let pow676: Felt; + let pow677: Felt; + let pow678: Felt; + let pow679: Felt; + let pow680: Felt; + let pow681: Felt; + let pow682: Felt; + let pow683: Felt; + let pow684: Felt; + let pow685: Felt; + let pow686: Felt; + let pow687: Felt; + let pow688: Felt; + let pow689: Felt; + let pow690: Felt; + let pow691: Felt; + let pow692: Felt; + let pow693: Felt; + let pow694: Felt; + let pow695: Felt; + let pow696: Felt; + let pow697: Felt; + let pow698: Felt; + let pow699: Felt; + let pow700: Felt; + let pow701: Felt; + let pow702: Felt; + let pow703: Felt; + let pow704: Felt; + let pow705: Felt; + let pow706: Felt; + let pow707: Felt; + let pow708: Felt; + let pow709: Felt; + let pow710: Felt; + let pow711: Felt; + let pow712: Felt; + let pow713: Felt; + let pow714: Felt; + let pow715: Felt; + let pow716: Felt; + let pow717: Felt; + let pow718: Felt; + let pow719: Felt; + let pow720: Felt; + let pow721: Felt; + let pow722: Felt; + let pow723: Felt; + let pow724: Felt; + let pow725: Felt; + let pow726: Felt; + let pow727: Felt; + let pow728: Felt; + let pow729: Felt; + let pow730: Felt; + let pow731: Felt; + let pow732: Felt; + let pow733: Felt; + let pow734: Felt; + let pow735: Felt; + let pow736: Felt; + let pow737: Felt; + let pow738: Felt; + let pow739: Felt; + let pow740: Felt; + let pow741: Felt; + let pow742: Felt; + let pow743: Felt; + let pow744: Felt; + let pow745: Felt; + let pow746: Felt; + let pow747: Felt; + let pow748: Felt; + let pow749: Felt; + let pow750: Felt; + let pow751: Felt; + let pow752: Felt; + let pow753: Felt; + let pow754: Felt; + let pow755: Felt; + let pow756: Felt; + let pow757: Felt; + let pow758: Felt; + let pow759: Felt; + let pow760: Felt; + let pow761: Felt; + let pow762: Felt; + let pow763: Felt; + let pow764: Felt; + let pow765: Felt; + let pow766: Felt; + let pow767: Felt; + let pow768: Felt; + let pow769: Felt; + let pow770: Felt; + let pow771: Felt; + let pow772: Felt; + let pow773: Felt; + let pow774: Felt; + let pow775: Felt; + let pow776: Felt; + let pow777: Felt; + let pow778: Felt; + let pow779: Felt; + let pow780: Felt; + let pow781: Felt; + let pow782: Felt; + let pow783: Felt; + let pow784: Felt; + let pow785: Felt; + let pow786: Felt; + let pow787: Felt; + let pow788: Felt; + let pow789: Felt; + let pow790: Felt; + let pow791: Felt; + let pow792: Felt; + let pow793: Felt; + let pow794: Felt; + let pow795: Felt; + let pow796: Felt; + let pow797: Felt; + let pow798: Felt; + let pow799: Felt; + let pow800: Felt; + let pow801: Felt; + let pow802: Felt; + let pow803: Felt; + let pow804: Felt; + let pow805: Felt; + let pow806: Felt; + let pow807: Felt; + let pow808: Felt; + let pow809: Felt; + let pow810: Felt; + let pow811: Felt; + let pow812: Felt; + let pow813: Felt; + let pow814: Felt; + let pow815: Felt; + let pow816: Felt; + let pow817: Felt; + let pow818: Felt; + let pow819: Felt; + let pow820: Felt; + let pow821: Felt; + let pow822: Felt; + let pow823: Felt; + let pow824: Felt; + let pow825: Felt; + let pow826: Felt; + let pow827: Felt; + let pow828: Felt; + let pow829: Felt; + let pow830: Felt; + let pow831: Felt; + let pow832: Felt; + let pow833: Felt; + let pow834: Felt; + let pow835: Felt; + let pow836: Felt; + let pow837: Felt; + let pow838: Felt; + let pow839: Felt; + let pow840: Felt; + let pow841: Felt; + let pow842: Felt; + let pow843: Felt; + let pow844: Felt; + let pow845: Felt; + let pow846: Felt; + let pow847: Felt; + let pow848: Felt; + let pow849: Felt; + let pow850: Felt; + let pow851: Felt; + let pow852: Felt; + let pow853: Felt; + let pow854: Felt; + let pow855: Felt; + let pow856: Felt; + let pow857: Felt; + let pow858: Felt; + let pow859: Felt; + let pow860: Felt; + let pow861: Felt; + let pow862: Felt; + let pow863: Felt; + let pow864: Felt; + let pow865: Felt; + let pow866: Felt; + let pow867: Felt; + let pow868: Felt; + let pow869: Felt; + let pow870: Felt; + let pow871: Felt; + let pow872: Felt; + let pow873: Felt; + let pow874: Felt; + let pow875: Felt; + let pow876: Felt; + let pow877: Felt; + let pow878: Felt; + let pow879: Felt; + let pow880: Felt; + let pow881: Felt; + let pow882: Felt; + let pow883: Felt; + let pow884: Felt; + let pow885: Felt; + let pow886: Felt; + let pow887: Felt; + let pow888: Felt; + let pow889: Felt; + let pow890: Felt; + let pow891: Felt; + let pow892: Felt; + let pow893: Felt; + let pow894: Felt; + let pow895: Felt; + let pow896: Felt; + let pow897: Felt; + let pow898: Felt; + let pow899: Felt; + let pow900: Felt; + let pow901: Felt; + let pow902: Felt; + let pow903: Felt; + let pow904: Felt; + let pow905: Felt; + let pow906: Felt; + let pow907: Felt; + let pow908: Felt; + let pow909: Felt; + let pow910: Felt; + let pow911: Felt; + let pow912: Felt; + let pow913: Felt; + let pow914: Felt; + let pow915: Felt; + let pow916: Felt; + let pow917: Felt; + let pow918: Felt; + let pow919: Felt; + let pow920: Felt; + let pow921: Felt; + let pow922: Felt; + let pow923: Felt; + let pow924: Felt; + let pow925: Felt; + let pow926: Felt; + let pow927: Felt; + let pow928: Felt; + let pow929: Felt; + let pow930: Felt; + let pow931: Felt; + let pow932: Felt; + let pow933: Felt; + let pow934: Felt; + let pow935: Felt; + let pow936: Felt; + let pow937: Felt; + let pow938: Felt; + let pow939: Felt; + let pow940: Felt; + let pow941: Felt; + let pow942: Felt; + let pow943: Felt; + let pow944: Felt; + let pow945: Felt; + let pow946: Felt; + let pow947: Felt; + let pow948: Felt; + let pow949: Felt; + let pow950: Felt; + let pow951: Felt; + let pow952: Felt; + let pow953: Felt; + let pow954: Felt; + let pow955: Felt; + let pow956: Felt; + let pow957: Felt; + let pow958: Felt; + let pow959: Felt; + let pow960: Felt; + let pow961: Felt; + let pow962: Felt; + let pow963: Felt; + let pow964: Felt; + let pow965: Felt; + let pow966: Felt; + let pow967: Felt; + let pow968: Felt; + let pow969: Felt; + let pow970: Felt; + let pow971: Felt; + let pow972: Felt; + let pow973: Felt; + let pow974: Felt; + let pow975: Felt; + let pow976: Felt; + let pow977: Felt; + let pow978: Felt; + let pow979: Felt; + let pow980: Felt; + let pow981: Felt; + let pow982: Felt; + let pow983: Felt; + let pow984: Felt; + let pow985: Felt; + let pow986: Felt; + let pow987: Felt; + let pow988: Felt; + let pow989: Felt; + let pow990: Felt; + let pow991: Felt; + let pow992: Felt; + let pow993: Felt; + let pow994: Felt; + let pow995: Felt; + let pow996: Felt; + let pow997: Felt; + let pow998: Felt; + let pow999: Felt; + let pow1000: Felt; + let pow1001: Felt; + let pow1002: Felt; + let pow1003: Felt; + let pow1004: Felt; + let pow1005: Felt; + let pow1006: Felt; + let pow1007: Felt; + let pow1008: Felt; + let pow1009: Felt; + let pow1010: Felt; + let pow1011: Felt; + let pow1012: Felt; + let pow1013: Felt; + let pow1014: Felt; + let pow1015: Felt; + let pow1016: Felt; + let pow1017: Felt; + let pow1018: Felt; + let pow1019: Felt; + let pow1020: Felt; + let pow1021: Felt; + let pow1022: Felt; + let pow1023: Felt; + let pow1024: Felt; + let pow1025: Felt; + let pow1026: Felt; + let pow1027: Felt; + let pow1028: Felt; + let pow1029: Felt; + let pow1030: Felt; + let pow1031: Felt; + let pow1032: Felt; + let pow1033: Felt; + let pow1034: Felt; + let pow1035: Felt; + let pow1036: Felt; + let pow1037: Felt; + let pow1038: Felt; + let pow1039: Felt; + let pow1040: Felt; + let pow1041: Felt; + let pow1042: Felt; + let pow1043: Felt; + let pow1044: Felt; + let pow1045: Felt; + let pow1046: Felt; + let pow1047: Felt; + let pow1048: Felt; + let pow1049: Felt; + let pow1050: Felt; + let pow1051: Felt; + let pow1052: Felt; + let pow1053: Felt; + let pow1054: Felt; + let pow1055: Felt; + let pow1056: Felt; + let pow1057: Felt; + let pow1058: Felt; + let pow1059: Felt; + let pow1060: Felt; + let pow1061: Felt; + let pow1062: Felt; + let pow1063: Felt; + let pow1064: Felt; + let pow1065: Felt; + let pow1066: Felt; + let pow1067: Felt; + let pow1068: Felt; + let pow1069: Felt; + let pow1070: Felt; + let pow1071: Felt; + let pow1072: Felt; + let pow1073: Felt; + let pow1074: Felt; + let pow1075: Felt; + let pow1076: Felt; + let pow1077: Felt; + let pow1078: Felt; + let pow1079: Felt; + let pow1080: Felt; + let pow1081: Felt; + let pow1082: Felt; + let pow1083: Felt; + let pow1084: Felt; + let pow1085: Felt; + let pow1086: Felt; + let pow1087: Felt; + let pow1088: Felt; + let pow1089: Felt; + let pow1090: Felt; + let pow1091: Felt; + let pow1092: Felt; + let pow1093: Felt; + let pow1094: Felt; + let pow1095: Felt; + let pow1096: Felt; + let pow1097: Felt; + let pow1098: Felt; + let pow1099: Felt; + let pow1100: Felt; + let pow1101: Felt; + let pow1102: Felt; + let pow1103: Felt; + let pow1104: Felt; + let pow1105: Felt; + let pow1106: Felt; + let pow1107: Felt; + let pow1108: Felt; + let pow1109: Felt; + let pow1110: Felt; + let pow1111: Felt; + let pow1112: Felt; + let pow1113: Felt; + let pow1114: Felt; + let pow1115: Felt; + let pow1116: Felt; + let pow1117: Felt; + let pow1118: Felt; + let pow1119: Felt; + let pow1120: Felt; + let pow1121: Felt; + let pow1122: Felt; + let pow1123: Felt; + let pow1124: Felt; + let pow1125: Felt; + let pow1126: Felt; + let pow1127: Felt; + let pow1128: Felt; + let pow1129: Felt; + let pow1130: Felt; + let pow1131: Felt; + let pow1132: Felt; + let pow1133: Felt; + let pow1134: Felt; + let pow1135: Felt; + let pow1136: Felt; + let pow1137: Felt; + let pow1138: Felt; + let pow1139: Felt; + let pow1140: Felt; + let pow1141: Felt; + let pow1142: Felt; + let pow1143: Felt; + let pow1144: Felt; + let pow1145: Felt; + let pow1146: Felt; + let pow1147: Felt; + let pow1148: Felt; + let pow1149: Felt; + let pow1150: Felt; + let pow1151: Felt; + let pow1152: Felt; + let pow1153: Felt; + let pow1154: Felt; + let pow1155: Felt; + let pow1156: Felt; + let pow1157: Felt; + let pow1158: Felt; + let pow1159: Felt; + let pow1160: Felt; + let pow1161: Felt; + let pow1162: Felt; + let pow1163: Felt; + let pow1164: Felt; + let pow1165: Felt; + let pow1166: Felt; + let pow1167: Felt; + let pow1168: Felt; + let pow1169: Felt; + let pow1170: Felt; + let pow1171: Felt; + let pow1172: Felt; + let pow1173: Felt; + let pow1174: Felt; + let pow1175: Felt; + let pow1176: Felt; + let pow1177: Felt; + let pow1178: Felt; + let pow1179: Felt; + let pow1180: Felt; + let pow1181: Felt; + let pow1182: Felt; + let pow1183: Felt; + let pow1184: Felt; + let pow1185: Felt; + let pow1186: Felt; + let pow1187: Felt; + let pow1188: Felt; + let pow1189: Felt; + let pow1190: Felt; + let pow1191: Felt; + let pow1192: Felt; + let pow1193: Felt; + let pow1194: Felt; + let pow1195: Felt; + let pow1196: Felt; + let pow1197: Felt; + let pow1198: Felt; + let pow1199: Felt; + let pow1200: Felt; + let pow1201: Felt; + let pow1202: Felt; + let pow1203: Felt; + let pow1204: Felt; + let pow1205: Felt; + let pow1206: Felt; + let pow1207: Felt; + let pow1208: Felt; + let pow1209: Felt; + let pow1210: Felt; + let pow1211: Felt; + let pow1212: Felt; + let pow1213: Felt; + let pow1214: Felt; + let pow1215: Felt; + let pow1216: Felt; + let pow1217: Felt; + let pow1218: Felt; + let pow1219: Felt; + let pow1220: Felt; + let pow1221: Felt; + let pow1222: Felt; + let pow1223: Felt; + let pow1224: Felt; + let pow1225: Felt; + let pow1226: Felt; + let pow1227: Felt; + let pow1228: Felt; + let pow1229: Felt; + let pow1230: Felt; + let pow1231: Felt; + let pow1232: Felt; + let pow1233: Felt; + let pow1234: Felt; + let pow1235: Felt; + let pow1236: Felt; + let pow1237: Felt; + let pow1238: Felt; + let pow1239: Felt; + let pow1240: Felt; + let pow1241: Felt; + let pow1242: Felt; + let pow1243: Felt; + let pow1244: Felt; + let pow1245: Felt; + let pow1246: Felt; + let pow1247: Felt; + let pow1248: Felt; + let pow1249: Felt; + let pow1250: Felt; + let pow1251: Felt; + let pow1252: Felt; + let pow1253: Felt; + let pow1254: Felt; + let pow1255: Felt; + let pow1256: Felt; + let pow1257: Felt; + let pow1258: Felt; + let pow1259: Felt; + let pow1260: Felt; + let pow1261: Felt; + let pow1262: Felt; + let pow1263: Felt; + let pow1264: Felt; + let pow1265: Felt; + let pow1266: Felt; + let pow1267: Felt; + let pow1268: Felt; + let pow1269: Felt; + let pow1270: Felt; + let pow1271: Felt; + let pow1272: Felt; + let pow1273: Felt; + let pow1274: Felt; + let pow1275: Felt; + let pow1276: Felt; + let pow1277: Felt; + let pow1278: Felt; + let pow1279: Felt; + let pow1280: Felt; + let pow1281: Felt; + let pow1282: Felt; + let pow1283: Felt; + let pow1284: Felt; + let pow1285: Felt; + let pow1286: Felt; + let pow1287: Felt; + let pow1288: Felt; + let pow1289: Felt; + let pow1290: Felt; + let pow1291: Felt; + let pow1292: Felt; + let pow1293: Felt; + let pow1294: Felt; + let pow1295: Felt; + let pow1296: Felt; + let pow1297: Felt; + let pow1298: Felt; + let pow1299: Felt; + let pow1300: Felt; + let pow1301: Felt; + let pow1302: Felt; + let pow1303: Felt; + let pow1304: Felt; + let pow1305: Felt; + let pow1306: Felt; + let pow1307: Felt; + let pow1308: Felt; + let pow1309: Felt; + let pow1310: Felt; + let pow1311: Felt; + let pow1312: Felt; + let pow1313: Felt; + let pow1314: Felt; + let pow1315: Felt; + let pow1316: Felt; + let pow1317: Felt; + let pow1318: Felt; + let pow1319: Felt; + let pow1320: Felt; + let pow1321: Felt; + let pow1322: Felt; + let pow1323: Felt; + let pow1324: Felt; + let pow1325: Felt; + let pow1326: Felt; + let pow1327: Felt; + let pow1328: Felt; + let pow1329: Felt; + let pow1330: Felt; + let pow1331: Felt; + let pow1332: Felt; + let pow1333: Felt; + let pow1334: Felt; + let pow1335: Felt; + let pow1336: Felt; + let pow1337: Felt; + let pow1338: Felt; + let pow1339: Felt; + let pow1340: Felt; + let pow1341: Felt; + let pow1342: Felt; + let pow1343: Felt; + let pow1344: Felt; + let pow1345: Felt; + let pow1346: Felt; + let pow1347: Felt; + let pow1348: Felt; + let pow1349: Felt; + let pow1350: Felt; + let pow1351: Felt; + let pow1352: Felt; + let pow1353: Felt; + let pow1354: Felt; + let pow1355: Felt; + let pow1356: Felt; + let pow1357: Felt; + let pow1358: Felt; + let pow1359: Felt; + let pow1360: Felt; + let pow1361: Felt; + let pow1362: Felt; + let pow1363: Felt; + let pow1364: Felt; + let pow1365: Felt; + let pow1366: Felt; + let pow1367: Felt; + let pow1368: Felt; + let pow1369: Felt; + let pow1370: Felt; + let pow1371: Felt; + let pow1372: Felt; + let pow1373: Felt; + let pow1374: Felt; + let pow1375: Felt; + let pow1376: Felt; + let pow1377: Felt; + let pow1378: Felt; + let pow1379: Felt; + let pow1380: Felt; + let pow1381: Felt; + let pow1382: Felt; + let pow1383: Felt; + let pow1384: Felt; + let pow1385: Felt; + let pow1386: Felt; + let pow1387: Felt; + let pow1388: Felt; + let pow1389: Felt; + let pow1390: Felt; + let pow1391: Felt; + let pow1392: Felt; + let pow1393: Felt; + let pow1394: Felt; + let pow1395: Felt; + let pow1396: Felt; + let pow1397: Felt; + let pow1398: Felt; + let pow1399: Felt; + let pow1400: Felt; + let pow1401: Felt; + let pow1402: Felt; + let pow1403: Felt; + let pow1404: Felt; + let pow1405: Felt; + let pow1406: Felt; + let pow1407: Felt; + let pow1408: Felt; + let pow1409: Felt; + let pow1410: Felt; + let pow1411: Felt; + let pow1412: Felt; + let pow1413: Felt; + let pow1414: Felt; + let pow1415: Felt; + let pow1416: Felt; + let pow1417: Felt; + let pow1418: Felt; + let pow1419: Felt; + let pow1420: Felt; + let pow1421: Felt; + let pow1422: Felt; + let pow1423: Felt; + let pow1424: Felt; + let pow1425: Felt; + let pow1426: Felt; + let pow1427: Felt; + let pow1428: Felt; + let pow1429: Felt; + let pow1430: Felt; + let pow1431: Felt; + let pow1432: Felt; + let pow1433: Felt; + let pow1434: Felt; + let pow1435: Felt; + let pow1436: Felt; + let pow1437: Felt; + let pow1438: Felt; + let pow1439: Felt; + let pow1440: Felt; + let pow1441: Felt; + let pow1442: Felt; + let pow1443: Felt; + let pow1444: Felt; + let pow1445: Felt; + let pow1446: Felt; + let pow1447: Felt; + let pow1448: Felt; + let pow1449: Felt; + let pow1450: Felt; + let pow1451: Felt; + let pow1452: Felt; + let pow1453: Felt; + let pow1454: Felt; + let pow1455: Felt; + let pow1456: Felt; + let pow1457: Felt; + let pow1458: Felt; + let pow1459: Felt; + let pow1460: Felt; + let pow1461: Felt; + let pow1462: Felt; + let pow1463: Felt; + let pow1464: Felt; + let pow1465: Felt; + let pow1466: Felt; + let pow1467: Felt; + let pow1468: Felt; + let pow1469: Felt; + let pow1470: Felt; + let pow1471: Felt; + let pow1472: Felt; + let pow1473: Felt; + let pow1474: Felt; + let pow1475: Felt; + let pow1476: Felt; + let pow1477: Felt; + let pow1478: Felt; + let pow1479: Felt; + let pow1480: Felt; + let pow1481: Felt; + let pow1482: Felt; + let pow1483: Felt; + let pow1484: Felt; + let pow1485: Felt; + let pow1486: Felt; + let pow1487: Felt; + let pow1488: Felt; + let pow1489: Felt; + let pow1490: Felt; + let pow1491: Felt; + let pow1492: Felt; + let pow1493: Felt; + let pow1494: Felt; + let pow1495: Felt; + let pow1496: Felt; + let pow1497: Felt; + let pow1498: Felt; + let pow1499: Felt; + let pow1500: Felt; + let pow1501: Felt; + let pow1502: Felt; + let pow1503: Felt; + let pow1504: Felt; + let pow1505: Felt; + let pow1506: Felt; + let pow1507: Felt; + let pow1508: Felt; + let pow1509: Felt; + let pow1510: Felt; + let pow1511: Felt; + let pow1512: Felt; + let pow1513: Felt; + let pow1514: Felt; + let pow1515: Felt; + let pow1516: Felt; + let pow1517: Felt; + let pow1518: Felt; + let pow1519: Felt; + let pow1520: Felt; + let pow1521: Felt; + let pow1522: Felt; + let pow1523: Felt; + let pow1524: Felt; + let pow1525: Felt; + let pow1526: Felt; + let pow1527: Felt; + let pow1528: Felt; + let pow1529: Felt; + let pow1530: Felt; + let pow1531: Felt; + let pow1532: Felt; + let pow1533: Felt; + let pow1534: Felt; + let pow1535: Felt; + let pow1536: Felt; + let pow1537: Felt; + let pow1538: Felt; + let pow1539: Felt; + let pow1540: Felt; + let pow1541: Felt; + let pow1542: Felt; + let pow1543: Felt; + let pow1544: Felt; + let pow1545: Felt; + let pow1546: Felt; + let pow1547: Felt; + let pow1548: Felt; + let pow1549: Felt; + let pow1550: Felt; + let pow1551: Felt; + let pow1552: Felt; + let pow1553: Felt; + let pow1554: Felt; + let pow1555: Felt; + let pow1556: Felt; + let pow1557: Felt; + let pow1558: Felt; + let pow1559: Felt; + let pow1560: Felt; + let pow1561: Felt; + let pow1562: Felt; + let pow1563: Felt; + let pow1564: Felt; + let pow1565: Felt; + let pow1566: Felt; + let pow1567: Felt; + let pow1568: Felt; + let pow1569: Felt; + let pow1570: Felt; + let pow1571: Felt; + let pow1572: Felt; + let pow1573: Felt; + let pow1574: Felt; + let pow1575: Felt; + let pow1576: Felt; + let pow1577: Felt; + let pow1578: Felt; + let pow1579: Felt; + let pow1580: Felt; + let pow1581: Felt; + let pow1582: Felt; + let pow1583: Felt; + let pow1584: Felt; + let pow1585: Felt; + let pow1586: Felt; + let pow1587: Felt; + let pow1588: Felt; + let pow1589: Felt; + let pow1590: Felt; + let pow1591: Felt; + let pow1592: Felt; + let pow1593: Felt; + let pow1594: Felt; + let pow1595: Felt; + let pow1596: Felt; + let pow1597: Felt; + let pow1598: Felt; + let pow1599: Felt; + let pow1600: Felt; + let pow1601: Felt; + let pow1602: Felt; + let pow1603: Felt; + let pow1604: Felt; + let pow1605: Felt; + let pow1606: Felt; + let pow1607: Felt; + let pow1608: Felt; + let pow1609: Felt; + let pow1610: Felt; + let pow1611: Felt; + let pow1612: Felt; + let pow1613: Felt; + let pow1614: Felt; + let pow1615: Felt; + let pow1616: Felt; + let pow1617: Felt; + let pow1618: Felt; + let pow1619: Felt; + let pow1620: Felt; + let pow1621: Felt; + let pow1622: Felt; + let pow1623: Felt; + let pow1624: Felt; + let pow1625: Felt; + let pow1626: Felt; + let pow1627: Felt; + let pow1628: Felt; + let pow1629: Felt; + let pow1630: Felt; + let pow1631: Felt; + let pow1632: Felt; + let pow1633: Felt; + let pow1634: Felt; + let pow1635: Felt; + let pow1636: Felt; + let pow1637: Felt; + let pow1638: Felt; + let pow1639: Felt; + let pow1640: Felt; + let pow1641: Felt; + let pow1642: Felt; + let pow1643: Felt; + let pow1644: Felt; + let pow1645: Felt; + let pow1646: Felt; + let pow1647: Felt; + let pow1648: Felt; + let pow1649: Felt; + let pow1650: Felt; + let pow1651: Felt; + let pow1652: Felt; + let pow1653: Felt; + let pow1654: Felt; + let pow1655: Felt; + let pow1656: Felt; + let pow1657: Felt; + let pow1658: Felt; + let pow1659: Felt; + let pow1660: Felt; + let pow1661: Felt; + let pow1662: Felt; + let pow1663: Felt; + let pow1664: Felt; + let pow1665: Felt; + let pow1666: Felt; + let pow1667: Felt; + let pow1668: Felt; + let pow1669: Felt; + let pow1670: Felt; + let pow1671: Felt; + let pow1672: Felt; + let pow1673: Felt; + let pow1674: Felt; + let pow1675: Felt; + let pow1676: Felt; + let pow1677: Felt; + let pow1678: Felt; + let pow1679: Felt; + let pow1680: Felt; + let pow1681: Felt; + let pow1682: Felt; + let pow1683: Felt; + let pow1684: Felt; + let pow1685: Felt; + let pow1686: Felt; + let pow1687: Felt; + let pow1688: Felt; + let pow1689: Felt; + let pow1690: Felt; + let pow1691: Felt; + let pow1692: Felt; + let pow1693: Felt; + let pow1694: Felt; + let pow1695: Felt; + let pow1696: Felt; + let pow1697: Felt; + let pow1698: Felt; + let pow1699: Felt; + let pow1700: Felt; + let pow1701: Felt; + let pow1702: Felt; + let pow1703: Felt; + let pow1704: Felt; + let pow1705: Felt; + let pow1706: Felt; + let pow1707: Felt; + let pow1708: Felt; + let pow1709: Felt; + let pow1710: Felt; + let pow1711: Felt; + let pow1712: Felt; + let pow1713: Felt; + let pow1714: Felt; + let pow1715: Felt; + let pow1716: Felt; + let pow1717: Felt; + let pow1718: Felt; + let pow1719: Felt; + let pow1720: Felt; + let pow1721: Felt; + let pow1722: Felt; + let pow1723: Felt; + let pow1724: Felt; + let pow1725: Felt; + let pow1726: Felt; + let pow1727: Felt; + let pow1728: Felt; + let pow1729: Felt; + let pow1730: Felt; + let pow1731: Felt; + let pow1732: Felt; + let pow1733: Felt; + let pow1734: Felt; + let pow1735: Felt; + let pow1736: Felt; + let pow1737: Felt; + let pow1738: Felt; + let pow1739: Felt; + let pow1740: Felt; + let pow1741: Felt; + let pow1742: Felt; + let pow1743: Felt; + let pow1744: Felt; + let pow1745: Felt; + let pow1746: Felt; + let pow1747: Felt; + let pow1748: Felt; + let pow1749: Felt; + let pow1750: Felt; + let pow1751: Felt; + let pow1752: Felt; + let pow1753: Felt; + let pow1754: Felt; + let pow1755: Felt; + let pow1756: Felt; + let pow1757: Felt; + let pow1758: Felt; + let pow1759: Felt; + let pow1760: Felt; + let pow1761: Felt; + let pow1762: Felt; + let pow1763: Felt; + let pow1764: Felt; + let pow1765: Felt; + let pow1766: Felt; + let pow1767: Felt; + let pow1768: Felt; + let pow1769: Felt; + let pow1770: Felt; + let pow1771: Felt; + let pow1772: Felt; + let pow1773: Felt; + let pow1774: Felt; + let pow1775: Felt; + let pow1776: Felt; + let pow1777: Felt; + let pow1778: Felt; + let pow1779: Felt; + let pow1780: Felt; + let pow1781: Felt; + let pow1782: Felt; + let pow1783: Felt; + let pow1784: Felt; + let pow1785: Felt; + let pow1786: Felt; + let pow1787: Felt; + let pow1788: Felt; + let pow1789: Felt; + let pow1790: Felt; + let pow1791: Felt; + let pow1792: Felt; + let pow1793: Felt; + let pow1794: Felt; + let pow1795: Felt; + let pow1796: Felt; + let pow1797: Felt; + let pow1798: Felt; + let pow1799: Felt; + let pow1800: Felt; + let pow1801: Felt; + let pow1802: Felt; + let pow1803: Felt; + let pow1804: Felt; + let pow1805: Felt; + let pow1806: Felt; + let pow1807: Felt; + let pow1808: Felt; + let pow1809: Felt; + let pow1810: Felt; + let pow1811: Felt; + let pow1812: Felt; + let pow1813: Felt; + let pow1814: Felt; + let pow1815: Felt; + let pow1816: Felt; + let pow1817: Felt; + let pow1818: Felt; + let pow1819: Felt; + let pow1820: Felt; + let pow1821: Felt; + let pow1822: Felt; + let pow1823: Felt; + let pow1824: Felt; + let pow1825: Felt; + let pow1826: Felt; + let pow1827: Felt; + let pow1828: Felt; + let pow1829: Felt; + let pow1830: Felt; + let pow1831: Felt; + let pow1832: Felt; + let pow1833: Felt; + let pow1834: Felt; + let pow1835: Felt; + let pow1836: Felt; + let pow1837: Felt; + let pow1838: Felt; + let pow1839: Felt; + let pow1840: Felt; + let pow1841: Felt; + let pow1842: Felt; + let pow1843: Felt; + let pow1844: Felt; + let pow1845: Felt; + let pow1846: Felt; + let pow1847: Felt; + let pow1848: Felt; + let pow1849: Felt; + let pow1850: Felt; + let pow1851: Felt; + let pow1852: Felt; + let pow1853: Felt; + let pow1854: Felt; + let pow1855: Felt; + let pow1856: Felt; + let pow1857: Felt; + let pow1858: Felt; + let pow1859: Felt; + let pow1860: Felt; + let pow1861: Felt; + let pow1862: Felt; + let pow1863: Felt; + let pow1864: Felt; + let pow1865: Felt; + let pow1866: Felt; + let pow1867: Felt; + let pow1868: Felt; + let pow1869: Felt; + let pow1870: Felt; + let pow1871: Felt; + let pow1872: Felt; + let pow1873: Felt; + let pow1874: Felt; + let pow1875: Felt; + let pow1876: Felt; + let pow1877: Felt; + let pow1878: Felt; + let pow1879: Felt; + let pow1880: Felt; + let pow1881: Felt; + let pow1882: Felt; + let pow1883: Felt; + let pow1884: Felt; + let pow1885: Felt; + let pow1886: Felt; + let pow1887: Felt; + let pow1888: Felt; + let pow1889: Felt; + let pow1890: Felt; + let pow1891: Felt; + let pow1892: Felt; + let pow1893: Felt; + let pow1894: Felt; + let pow1895: Felt; + let pow1896: Felt; + let pow1897: Felt; + let pow1898: Felt; + let pow1899: Felt; + let pow1900: Felt; + let pow1901: Felt; + let pow1902: Felt; + let pow1903: Felt; + let pow1904: Felt; + let pow1905: Felt; + let pow1906: Felt; + let pow1907: Felt; + let pow1908: Felt; + let pow1909: Felt; + let pow1910: Felt; + let pow1911: Felt; + let pow1912: Felt; + let pow1913: Felt; + let pow1914: Felt; + let pow1915: Felt; + let pow1916: Felt; + let pow1917: Felt; + let pow1918: Felt; + let pow1919: Felt; + let pow1920: Felt; + let pow1921: Felt; + let pow1922: Felt; + let pow1923: Felt; + let pow1924: Felt; + let pow1925: Felt; + let pow1926: Felt; + let pow1927: Felt; + let pow1928: Felt; + let pow1929: Felt; + let pow1930: Felt; + let pow1931: Felt; + let pow1932: Felt; + let pow1933: Felt; + let pow1934: Felt; + let pow1935: Felt; + let pow1936: Felt; + let pow1937: Felt; + let pow1938: Felt; + let pow1939: Felt; + let pow1940: Felt; + let pow1941: Felt; + let pow1942: Felt; + let pow1943: Felt; + let pow1944: Felt; + let pow1945: Felt; + let pow1946: Felt; + let pow1947: Felt; + let pow1948: Felt; + let pow1949: Felt; + let pow1950: Felt; + let pow1951: Felt; + let pow1952: Felt; + let pow1953: Felt; + let pow1954: Felt; + let pow1955: Felt; + let pow1956: Felt; + let pow1957: Felt; + let pow1958: Felt; + let pow1959: Felt; + let pow1960: Felt; + let pow1961: Felt; + let pow1962: Felt; + let pow1963: Felt; + let pow1964: Felt; + let pow1965: Felt; + let pow1966: Felt; + let pow1967: Felt; + let pow1968: Felt; + let pow1969: Felt; + let pow1970: Felt; + let pow1971: Felt; + let pow1972: Felt; + let pow1973: Felt; + let pow1974: Felt; + let pow1975: Felt; + let pow1976: Felt; + let pow1977: Felt; + let pow1978: Felt; + let pow1979: Felt; + let pow1980: Felt; + let pow1981: Felt; + let pow1982: Felt; + let pow1983: Felt; + let pow1984: Felt; + let pow1985: Felt; + let pow1986: Felt; + let pow1987: Felt; + let pow1988: Felt; + let pow1989: Felt; + let pow1990: Felt; + let pow1991: Felt; + let pow1992: Felt; + let pow1993: Felt; + let pow1994: Felt; + let pow1995: Felt; + let pow1996: Felt; + let pow1997: Felt; + let pow1998: Felt; + let pow1999: Felt; + let pow2000: Felt; + let pow2001: Felt; + let pow2002: Felt; + let pow2003: Felt; + let pow2004: Felt; + let pow2005: Felt; + let pow2006: Felt; + let pow2007: Felt; + let pow2008: Felt; + let pow2009: Felt; + let pow2010: Felt; + let pow2011: Felt; + let pow2012: Felt; + let pow2013: Felt; + let pow2014: Felt; + let pow2015: Felt; + let pow2016: Felt; + let pow2017: Felt; + let pow2018: Felt; + let pow2019: Felt; + let pow2020: Felt; + let pow2021: Felt; + let pow2022: Felt; + let pow2023: Felt; + let pow2024: Felt; + let pow2025: Felt; + let pow2026: Felt; + let pow2027: Felt; + let pow2028: Felt; + let pow2029: Felt; + let pow2030: Felt; + let pow2031: Felt; + let pow2032: Felt; + let pow2033: Felt; + let pow2034: Felt; + let pow2035: Felt; + let pow2036: Felt; + let pow2037: Felt; + let pow2038: Felt; + let pow2039: Felt; + let pow2040: Felt; + let pow2041: Felt; + let pow2042: Felt; + let pow2043: Felt; + let pow2044: Felt; + let pow2045: Felt; + let pow2046: Felt; + let pow2047: Felt; + let pow2048: Felt; + let pow2049: Felt; + let pow2050: Felt; + let pow2051: Felt; + let pow2052: Felt; + let pow2053: Felt; + let pow2054: Felt; + let pow2055: Felt; + let pow2056: Felt; + let pow2057: Felt; + let pow2058: Felt; + let pow2059: Felt; + let pow2060: Felt; + let pow2061: Felt; + let pow2062: Felt; + let pow2063: Felt; + let pow2064: Felt; + let pow2065: Felt; + let pow2066: Felt; + let pow2067: Felt; + let pow2068: Felt; + let pow2069: Felt; + let pow2070: Felt; + let pow2071: Felt; + let pow2072: Felt; + let pow2073: Felt; + let pow2074: Felt; + let pow2075: Felt; + let pow2076: Felt; + let pow2077: Felt; + let pow2078: Felt; + let pow2079: Felt; + let pow2080: Felt; + let pow2081: Felt; + let pow2082: Felt; + let pow2083: Felt; + let pow2084: Felt; + let pow2085: Felt; + let pow2086: Felt; + let pow2087: Felt; + let pow2088: Felt; + let pow2089: Felt; + let pow2090: Felt; + let pow2091: Felt; + let pow2092: Felt; + let pow2093: Felt; + let pow2094: Felt; + let pow2095: Felt; + let pow2096: Felt; + let pow2097: Felt; + let pow2098: Felt; + let pow2099: Felt; + let pow2100: Felt; + let pow2101: Felt; + let pow2102: Felt; + let pow2103: Felt; + let pow2104: Felt; + let pow2105: Felt; + let pow2106: Felt; + let pow2107: Felt; + let pow2108: Felt; + let pow2109: Felt; + let pow2110: Felt; + let pow2111: Felt; + let pow2112: Felt; + let pow2113: Felt; + let pow2114: Felt; + let pow2115: Felt; + let pow2116: Felt; + let pow2117: Felt; + let pow2118: Felt; + let pow2119: Felt; + let pow2120: Felt; + let pow2121: Felt; + let pow2122: Felt; + let pow2123: Felt; + let pow2124: Felt; + let pow2125: Felt; + let pow2126: Felt; + let pow2127: Felt; + let pow2128: Felt; + let pow2129: Felt; + let pow2130: Felt; + let pow2131: Felt; + let pow2132: Felt; + let pow2133: Felt; + let pow2134: Felt; + let pow2135: Felt; + let pow2136: Felt; + let pow2137: Felt; + let pow2138: Felt; + let pow2139: Felt; + let pow2140: Felt; + let pow2141: Felt; + let pow2142: Felt; + let pow2143: Felt; + let pow2144: Felt; + let pow2145: Felt; + let pow2146: Felt; + let pow2147: Felt; + let pow2148: Felt; + let pow2149: Felt; + let pow2150: Felt; + let pow2151: Felt; + let pow2152: Felt; + let pow2153: Felt; + let pow2154: Felt; + let pow2155: Felt; + let pow2156: Felt; + let pow2157: Felt; + let pow2158: Felt; + let pow2159: Felt; + let pow2160: Felt; + let pow2161: Felt; + let pow2162: Felt; + let pow2163: Felt; + let pow2164: Felt; + let pow2165: Felt; + let pow2166: Felt; + let pow2167: Felt; + let pow2168: Felt; + let pow2169: Felt; + let pow2170: Felt; + let pow2171: Felt; + let pow2172: Felt; + let pow2173: Felt; + let pow2174: Felt; + let pow2175: Felt; + let pow2176: Felt; + let pow2177: Felt; + let pow2178: Felt; + let pow2179: Felt; + let pow2180: Felt; + let pow2181: Felt; + let pow2182: Felt; + let pow2183: Felt; + let pow2184: Felt; + let pow2185: Felt; + let pow2186: Felt; + let pow2187: Felt; + let pow2188: Felt; + let pow2189: Felt; + let pow2190: Felt; + let pow2191: Felt; + let pow2192: Felt; + let pow2193: Felt; + let pow2194: Felt; + let pow2195: Felt; + let pow2196: Felt; + let pow2197: Felt; + let pow2198: Felt; + let pow2199: Felt; + let pow2200: Felt; + let pow2201: Felt; + let pow2202: Felt; + let pow2203: Felt; + let pow2204: Felt; + let pow2205: Felt; + let pow2206: Felt; + let pow2207: Felt; + let pow2208: Felt; + let pow2209: Felt; + let pow2210: Felt; + let pow2211: Felt; + let pow2212: Felt; + let pow2213: Felt; + let pow2214: Felt; + let pow2215: Felt; + let pow2216: Felt; + let pow2217: Felt; + let pow2218: Felt; + let pow2219: Felt; + let pow2220: Felt; + let pow2221: Felt; + let pow2222: Felt; + let pow2223: Felt; + let pow2224: Felt; + let pow2225: Felt; + let pow2226: Felt; + let pow2227: Felt; + let pow2228: Felt; + let pow2229: Felt; + let pow2230: Felt; + let pow2231: Felt; + let pow2232: Felt; + let pow2233: Felt; + let pow2234: Felt; + let pow2235: Felt; + let pow2236: Felt; + let pow2237: Felt; + let pow2238: Felt; + let pow2239: Felt; + let pow2240: Felt; + let pow2241: Felt; + let pow2242: Felt; + let pow2243: Felt; + let pow2244: Felt; + let pow2245: Felt; + let pow2246: Felt; + let pow2247: Felt; + let pow2248: Felt; + let pow2249: Felt; + let pow2250: Felt; + let pow2251: Felt; + let pow2252: Felt; + let pow2253: Felt; + let pow2254: Felt; + let pow2255: Felt; + let pow2256: Felt; + let pow2257: Felt; + let pow2258: Felt; + let pow2259: Felt; + let pow2260: Felt; + let pow2261: Felt; + let pow2262: Felt; + let pow2263: Felt; + let pow2264: Felt; + let pow2265: Felt; + let pow2266: Felt; + let pow2267: Felt; + let pow2268: Felt; + let pow2269: Felt; + let pow2270: Felt; + let pow2271: Felt; + let pow2272: Felt; + let pow2273: Felt; + let pow2274: Felt; + let pow2275: Felt; + let pow2276: Felt; + let pow2277: Felt; + let pow2278: Felt; + let pow2279: Felt; + let pow2280: Felt; + let pow2281: Felt; + let pow2282: Felt; + let pow2283: Felt; + let pow2284: Felt; + let pow2285: Felt; + let pow2286: Felt; + let pow2287: Felt; + let pow2288: Felt; + let pow2289: Felt; + let pow2290: Felt; + let pow2291: Felt; + let pow2292: Felt; + let pow2293: Felt; + let pow2294: Felt; + let pow2295: Felt; + let pow2296: Felt; + let pow2297: Felt; + let pow2298: Felt; + let pow2299: Felt; + let pow2300: Felt; + let pow2301: Felt; + let pow2302: Felt; + let pow2303: Felt; + let pow2304: Felt; + let pow2305: Felt; + let pow2306: Felt; + let pow2307: Felt; + let pow2308: Felt; + let pow2309: Felt; + let pow2310: Felt; + let pow2311: Felt; + let pow2312: Felt; + let pow2313: Felt; + let pow2314: Felt; + let pow2315: Felt; + let pow2316: Felt; + let pow2317: Felt; + let pow2318: Felt; + let pow2319: Felt; + let pow2320: Felt; + let pow2321: Felt; + let pow2322: Felt; + let pow2323: Felt; + let pow2324: Felt; + let pow2325: Felt; + let pow2326: Felt; + let pow2327: Felt; + let pow2328: Felt; + let pow2329: Felt; + let pow2330: Felt; + let pow2331: Felt; + let pow2332: Felt; + let pow2333: Felt; + let pow2334: Felt; + let pow2335: Felt; + let pow2336: Felt; + let pow2337: Felt; + let pow2338: Felt; + let pow2339: Felt; + let pow2340: Felt; + let pow2341: Felt; + let pow2342: Felt; + let pow2343: Felt; + let pow2344: Felt; + let pow2345: Felt; + let pow2346: Felt; + let pow2347: Felt; + let pow2348: Felt; + let pow2349: Felt; + let pow2350: Felt; + let pow2351: Felt; + let pow2352: Felt; + let pow2353: Felt; + let pow2354: Felt; + let pow2355: Felt; + let pow2356: Felt; + let pow2357: Felt; + let pow2358: Felt; + let pow2359: Felt; + let pow2360: Felt; + let pow2361: Felt; + let pow2362: Felt; + let pow2363: Felt; + let pow2364: Felt; + let pow2365: Felt; + let pow2366: Felt; + let pow2367: Felt; + let pow2368: Felt; + let pow2369: Felt; + let pow2370: Felt; + let pow2371: Felt; + let pow2372: Felt; + let pow2373: Felt; + let pow2374: Felt; + let pow2375: Felt; + let pow2376: Felt; + let pow2377: Felt; + let pow2378: Felt; + let pow2379: Felt; + let pow2380: Felt; + let pow2381: Felt; + let pow2382: Felt; + let pow2383: Felt; + let pow2384: Felt; + let pow2385: Felt; + let pow2386: Felt; + let pow2387: Felt; + let pow2388: Felt; + let pow2389: Felt; + let pow2390: Felt; + let pow2391: Felt; + let pow2392: Felt; + let pow2393: Felt; + let pow2394: Felt; + let pow2395: Felt; + let pow2396: Felt; + let pow2397: Felt; + let pow2398: Felt; + let pow2399: Felt; + let pow2400: Felt; + let pow2401: Felt; + let pow2402: Felt; + let pow2403: Felt; + let pow2404: Felt; + let pow2405: Felt; + let pow2406: Felt; + let pow2407: Felt; + let pow2408: Felt; + let pow2409: Felt; + let pow2410: Felt; + let pow2411: Felt; + let pow2412: Felt; + let pow2413: Felt; + let pow2414: Felt; + let pow2415: Felt; + let pow2416: Felt; + let pow2417: Felt; + let pow2418: Felt; + let pow2419: Felt; + let pow2420: Felt; + let pow2421: Felt; + let pow2422: Felt; + let pow2423: Felt; + let pow2424: Felt; + let pow2425: Felt; + let pow2426: Felt; + let pow2427: Felt; + let pow2428: Felt; + let pow2429: Felt; + let pow2430: Felt; + let pow2431: Felt; + let pow2432: Felt; + let pow2433: Felt; + let pow2434: Felt; + let pow2435: Felt; + let pow2436: Felt; + let pow2437: Felt; + let pow2438: Felt; + let pow2439: Felt; + let pow2440: Felt; + let pow2441: Felt; + let pow2442: Felt; + let pow2443: Felt; + let pow2444: Felt; + let pow2445: Felt; + let pow2446: Felt; + let pow2447: Felt; + let pow2448: Felt; + let pow2449: Felt; + let pow2450: Felt; + let pow2451: Felt; + let pow2452: Felt; + let pow2453: Felt; + let pow2454: Felt; + let pow2455: Felt; + let pow2456: Felt; + let pow2457: Felt; + let pow2458: Felt; + let pow2459: Felt; + let pow2460: Felt; + let pow2461: Felt; + let pow2462: Felt; + let pow2463: Felt; + let pow2464: Felt; + let pow2465: Felt; + let pow2466: Felt; + let pow2467: Felt; + let pow2468: Felt; + let pow2469: Felt; + let pow2470: Felt; + let pow2471: Felt; + let pow2472: Felt; + let pow2473: Felt; + let pow2474: Felt; + let pow2475: Felt; + let pow2476: Felt; + let pow2477: Felt; + let pow2478: Felt; + let pow2479: Felt; + let pow2480: Felt; + let pow2481: Felt; + let pow2482: Felt; + let pow2483: Felt; + let pow2484: Felt; + let pow2485: Felt; + let pow2486: Felt; + let pow2487: Felt; + let pow2488: Felt; + let pow2489: Felt; + let pow2490: Felt; + let pow2491: Felt; + let pow2492: Felt; + let pow2493: Felt; + let pow2494: Felt; + let pow2495: Felt; + let pow2496: Felt; + let pow2497: Felt; + let pow2498: Felt; + let pow2499: Felt; + let pow2500: Felt; + let pow2501: Felt; + let pow2502: Felt; + let pow2503: Felt; + let pow2504: Felt; + let pow2505: Felt; + let pow2506: Felt; + let pow2507: Felt; + let pow2508: Felt; + let pow2509: Felt; + let pow2510: Felt; + let pow2511: Felt; + let pow2512: Felt; + let pow2513: Felt; + let pow2514: Felt; + let pow2515: Felt; + let pow2516: Felt; + let pow2517: Felt; + let pow2518: Felt; + let pow2519: Felt; + let pow2520: Felt; + let pow2521: Felt; + let pow2522: Felt; + let pow2523: Felt; + let pow2524: Felt; + let pow2525: Felt; + let pow2526: Felt; + let pow2527: Felt; + let pow2528: Felt; + let pow2529: Felt; + let pow2530: Felt; + let pow2531: Felt; + let pow2532: Felt; + let pow2533: Felt; + let pow2534: Felt; + let pow2535: Felt; + let pow2536: Felt; + let pow2537: Felt; + let pow2538: Felt; + let pow2539: Felt; + let pow2540: Felt; + let pow2541: Felt; + let pow2542: Felt; + let pow2543: Felt; + let pow2544: Felt; + let pow2545: Felt; + let pow2546: Felt; + let pow2547: Felt; + let pow2548: Felt; + let pow2549: Felt; + let pow2550: Felt; + let pow2551: Felt; + let pow2552: Felt; + let pow2553: Felt; + let pow2554: Felt; + let pow2555: Felt; + let pow2556: Felt; + let pow2557: Felt; + let pow2558: Felt; + let pow2559: Felt; + let pow2560: Felt; + let pow2561: Felt; + let pow2562: Felt; + let pow2563: Felt; + let pow2564: Felt; + let pow2565: Felt; + let pow2566: Felt; + let pow2567: Felt; + let pow2568: Felt; + let pow2569: Felt; + let pow2570: Felt; + let pow2571: Felt; + let pow2572: Felt; + let pow2573: Felt; + let pow2574: Felt; + let pow2575: Felt; + let pow2576: Felt; + let pow2577: Felt; + let pow2578: Felt; + let pow2579: Felt; + let pow2580: Felt; + let pow2581: Felt; + let pow2582: Felt; + let pow2583: Felt; + let pow2584: Felt; + let pow2585: Felt; + let pow2586: Felt; + let pow2587: Felt; + let pow2588: Felt; + let pow2589: Felt; + let pow2590: Felt; + let pow2591: Felt; + let pow2592: Felt; + let pow2593: Felt; + let pow2594: Felt; + let pow2595: Felt; + let pow2596: Felt; + let pow2597: Felt; + let pow2598: Felt; + let pow2599: Felt; + let pow2600: Felt; + let pow2601: Felt; + let pow2602: Felt; + let pow2603: Felt; + let pow2604: Felt; + let pow2605: Felt; + let pow2606: Felt; + let pow2607: Felt; + let pow2608: Felt; + let pow2609: Felt; + let pow2610: Felt; + let pow2611: Felt; + let pow2612: Felt; + let pow2613: Felt; + let pow2614: Felt; + let pow2615: Felt; + let pow2616: Felt; + let pow2617: Felt; + let pow2618: Felt; + let pow2619: Felt; + let pow2620: Felt; + let pow2621: Felt; + let pow2622: Felt; + let pow2623: Felt; + let pow2624: Felt; + let pow2625: Felt; + let pow2626: Felt; + let pow2627: Felt; + let pow2628: Felt; + let pow2629: Felt; + let pow2630: Felt; + let pow2631: Felt; + let pow2632: Felt; + let pow2633: Felt; + let pow2634: Felt; + let pow2635: Felt; + let pow2636: Felt; + let pow2637: Felt; + let pow2638: Felt; + let pow2639: Felt; + let pow2640: Felt; + let pow2641: Felt; + let pow2642: Felt; + let pow2643: Felt; + let pow2644: Felt; + let pow2645: Felt; + let pow2646: Felt; + let pow2647: Felt; + let pow2648: Felt; + let pow2649: Felt; + let pow2650: Felt; + let pow2651: Felt; + let pow2652: Felt; + let pow2653: Felt; + let pow2654: Felt; + let pow2655: Felt; + let pow2656: Felt; + let pow2657: Felt; + let pow2658: Felt; + let pow2659: Felt; + let pow2660: Felt; + let pow2661: Felt; + let pow2662: Felt; + let pow2663: Felt; + let pow2664: Felt; + let pow2665: Felt; + let pow2666: Felt; + let pow2667: Felt; + let pow2668: Felt; + let pow2669: Felt; + let pow2670: Felt; + let pow2671: Felt; + let pow2672: Felt; + let pow2673: Felt; + let pow2674: Felt; + let pow2675: Felt; + let pow2676: Felt; + let pow2677: Felt; + let pow2678: Felt; + let pow2679: Felt; + let pow2680: Felt; + let pow2681: Felt; + let pow2682: Felt; + let pow2683: Felt; + let pow2684: Felt; + let pow2685: Felt; + let pow2686: Felt; + let pow2687: Felt; + let pow2688: Felt; + let pow2689: Felt; + let pow2690: Felt; + let pow2691: Felt; + let pow2692: Felt; + let pow2693: Felt; + let pow2694: Felt; + let pow2695: Felt; + let pow2696: Felt; + let pow2697: Felt; + let pow2698: Felt; + let pow2699: Felt; + let pow2700: Felt; + let pow2701: Felt; + let pow2702: Felt; + let pow2703: Felt; + let pow2704: Felt; + let pow2705: Felt; + let pow2706: Felt; + let pow2707: Felt; + let pow2708: Felt; + let pow2709: Felt; + let pow2710: Felt; + let pow2711: Felt; + let pow2712: Felt; + let pow2713: Felt; + let pow2714: Felt; + let pow2715: Felt; + let pow2716: Felt; + let pow2717: Felt; + let pow2718: Felt; + let pow2719: Felt; + let pow2720: Felt; + let pow2721: Felt; + let pow2722: Felt; + let pow2723: Felt; + let pow2724: Felt; + let pow2725: Felt; + let pow2726: Felt; + let pow2727: Felt; + let pow2728: Felt; + let pow2729: Felt; + let pow2730: Felt; + let pow2731: Felt; + let pow2732: Felt; + let pow2733: Felt; + let pow2734: Felt; + let pow2735: Felt; + let pow2736: Felt; + let pow2737: Felt; + let pow2738: Felt; + let pow2739: Felt; + let pow2740: Felt; + let pow2741: Felt; + let pow2742: Felt; + let pow2743: Felt; + let pow2744: Felt; + let pow2745: Felt; + let pow2746: Felt; + let pow2747: Felt; + let pow2748: Felt; + let pow2749: Felt; + let pow2750: Felt; + let pow2751: Felt; + let pow2752: Felt; + let pow2753: Felt; + let pow2754: Felt; + let pow2755: Felt; + let pow2756: Felt; + let pow2757: Felt; + let pow2758: Felt; + let pow2759: Felt; + let pow2760: Felt; + let pow2761: Felt; + let pow2762: Felt; + let pow2763: Felt; + let pow2764: Felt; + let pow2765: Felt; + let pow2766: Felt; + let pow2767: Felt; + let pow2768: Felt; + let pow2769: Felt; + let pow2770: Felt; + let pow2771: Felt; + let pow2772: Felt; + let pow2773: Felt; + let pow2774: Felt; + let pow2775: Felt; + let pow2776: Felt; + let pow2777: Felt; + let pow2778: Felt; + let pow2779: Felt; + let pow2780: Felt; + let pow2781: Felt; + let pow2782: Felt; + let pow2783: Felt; + let pow2784: Felt; + let pow2785: Felt; + let pow2786: Felt; + let pow2787: Felt; + let pow2788: Felt; + let pow2789: Felt; + let pow2790: Felt; + let pow2791: Felt; + let pow2792: Felt; + let pow2793: Felt; + let pow2794: Felt; + let pow2795: Felt; + let pow2796: Felt; + let pow2797: Felt; + let pow2798: Felt; + let pow2799: Felt; + let pow2800: Felt; + let pow2801: Felt; + let pow2802: Felt; + let pow2803: Felt; + let pow2804: Felt; + let pow2805: Felt; + let pow2806: Felt; + let pow2807: Felt; + let pow2808: Felt; + let pow2809: Felt; + let pow2810: Felt; + let pow2811: Felt; + let pow2812: Felt; + let pow2813: Felt; + let pow2814: Felt; + let pow2815: Felt; + let pow2816: Felt; + let pow2817: Felt; + let pow2818: Felt; + let pow2819: Felt; + let pow2820: Felt; + let pow2821: Felt; + let pow2822: Felt; + let pow2823: Felt; + let pow2824: Felt; + let pow2825: Felt; + let pow2826: Felt; + let pow2827: Felt; + let pow2828: Felt; + let pow2829: Felt; + let pow2830: Felt; + let pow2831: Felt; + let pow2832: Felt; + let pow2833: Felt; + let pow2834: Felt; + let pow2835: Felt; + let pow2836: Felt; + let pow2837: Felt; + let pow2838: Felt; + let pow2839: Felt; + let pow2840: Felt; + let pow2841: Felt; + let pow2842: Felt; + let pow2843: Felt; + let pow2844: Felt; + let pow2845: Felt; + let pow2846: Felt; + let pow2847: Felt; + let pow2848: Felt; + let pow2849: Felt; + let pow2850: Felt; + let pow2851: Felt; + let pow2852: Felt; + let pow2853: Felt; + let pow2854: Felt; + let pow2855: Felt; + let pow2856: Felt; + let pow2857: Felt; + let pow2858: Felt; + let pow2859: Felt; + let pow2860: Felt; + let pow2861: Felt; + let pow2862: Felt; + let pow2863: Felt; + let pow2864: Felt; + let pow2865: Felt; + let pow2866: Felt; + let pow2867: Felt; + let pow2868: Felt; + let pow2869: Felt; + let pow2870: Felt; + let pow2871: Felt; + let pow2872: Felt; + let pow2873: Felt; + let pow2874: Felt; + let pow2875: Felt; + let pow2876: Felt; + let pow2877: Felt; + let pow2878: Felt; + let pow2879: Felt; + let pow2880: Felt; + let pow2881: Felt; + let pow2882: Felt; + let pow2883: Felt; + let pow2884: Felt; + let pow2885: Felt; + let pow2886: Felt; + let pow2887: Felt; + let pow2888: Felt; + let pow2889: Felt; + let pow2890: Felt; + let pow2891: Felt; + let pow2892: Felt; + let pow2893: Felt; + let pow2894: Felt; + let pow2895: Felt; + let pow2896: Felt; + let pow2897: Felt; + let pow2898: Felt; + let pow2899: Felt; + let pow2900: Felt; + let pow2901: Felt; + let pow2902: Felt; + let pow2903: Felt; + let pow2904: Felt; + let pow2905: Felt; + let pow2906: Felt; + let pow2907: Felt; + let pow2908: Felt; + let pow2909: Felt; + let pow2910: Felt; + let pow2911: Felt; + let pow2912: Felt; + let pow2913: Felt; + let pow2914: Felt; + let pow2915: Felt; + let pow2916: Felt; + let pow2917: Felt; + let pow2918: Felt; + let pow2919: Felt; + let pow2920: Felt; + let pow2921: Felt; + let pow2922: Felt; + let pow2923: Felt; + let pow2924: Felt; + let pow2925: Felt; + let pow2926: Felt; + let pow2927: Felt; + let pow2928: Felt; + let pow2929: Felt; + let pow2930: Felt; + let pow2931: Felt; + let pow2932: Felt; + let pow2933: Felt; + let pow2934: Felt; + let pow2935: Felt; + let pow2936: Felt; + let pow2937: Felt; + let pow2938: Felt; + let pow2939: Felt; + let pow2940: Felt; + let pow2941: Felt; + let pow2942: Felt; + let pow2943: Felt; + let pow2944: Felt; + let pow2945: Felt; + let pow2946: Felt; + let pow2947: Felt; + let pow2948: Felt; + let pow2949: Felt; + let pow2950: Felt; + let pow2951: Felt; + let pow2952: Felt; + let pow2953: Felt; + let pow2954: Felt; + let pow2955: Felt; + let pow2956: Felt; + let pow2957: Felt; + let pow2958: Felt; + let pow2959: Felt; + let pow2960: Felt; + let pow2961: Felt; + let pow2962: Felt; + let pow2963: Felt; + let pow2964: Felt; + let pow2965: Felt; + let pow2966: Felt; + let pow2967: Felt; + let pow2968: Felt; + let pow2969: Felt; + let pow2970: Felt; + let pow2971: Felt; + let pow2972: Felt; + let pow2973: Felt; + let pow2974: Felt; + let pow2975: Felt; + let pow2976: Felt; + let pow2977: Felt; + let pow2978: Felt; + let pow2979: Felt; + let pow2980: Felt; + let pow2981: Felt; + let pow2982: Felt; + let pow2983: Felt; + let pow2984: Felt; + let pow2985: Felt; + let pow2986: Felt; + let pow2987: Felt; + let pow2988: Felt; + let pow2989: Felt; + let pow2990: Felt; + let pow2991: Felt; + let pow2992: Felt; + let pow2993: Felt; + let pow2994: Felt; + let pow2995: Felt; + let pow2996: Felt; + let pow2997: Felt; + let pow2998: Felt; + let pow2999: Felt; + let pow3000: Felt; + let pow3001: Felt; + let pow3002: Felt; + let pow3003: Felt; + let pow3004: Felt; + let pow3005: Felt; + let pow3006: Felt; + let pow3007: Felt; + let pow3008: Felt; + let pow3009: Felt; + let pow3010: Felt; + let pow3011: Felt; + let pow3012: Felt; + let pow3013: Felt; + let pow3014: Felt; + let pow3015: Felt; + let pow3016: Felt; + let pow3017: Felt; + let pow3018: Felt; + let pow3019: Felt; + let pow3020: Felt; + let pow3021: Felt; + let pow3022: Felt; + let pow3023: Felt; + let pow3024: Felt; + let pow3025: Felt; + let pow3026: Felt; + let pow3027: Felt; + let pow3028: Felt; + let pow3029: Felt; + let pow3030: Felt; + let pow3031: Felt; + let pow3032: Felt; + let pow3033: Felt; + let pow3034: Felt; + let pow3035: Felt; + let pow3036: Felt; + let pow3037: Felt; + let pow3038: Felt; + let pow3039: Felt; + let pow3040: Felt; + let pow3041: Felt; + let pow3042: Felt; + let pow3043: Felt; + let pow3044: Felt; + let pow3045: Felt; + let pow3046: Felt; + let pow3047: Felt; + let pow3048: Felt; + let pow3049: Felt; + let pow3050: Felt; + let pow3051: Felt; + let pow3052: Felt; + let pow3053: Felt; + let pow3054: Felt; + let pow3055: Felt; + let pow3056: Felt; + let pow3057: Felt; + let pow3058: Felt; + let pow3059: Felt; + let pow3060: Felt; + let pow3061: Felt; + let pow3062: Felt; + let pow3063: Felt; + let pow3064: Felt; + let pow3065: Felt; + let pow3066: Felt; + let pow3067: Felt; + let pow3068: Felt; + let pow3069: Felt; + let pow3070: Felt; + let pow3071: Felt; + let pow3072: Felt; + let pow3073: Felt; + let pow3074: Felt; + let pow3075: Felt; + let pow3076: Felt; + let pow3077: Felt; + let pow3078: Felt; + let pow3079: Felt; + let pow3080: Felt; + let pow3081: Felt; + let pow3082: Felt; + let pow3083: Felt; + let pow3084: Felt; + let pow3085: Felt; + let pow3086: Felt; + let pow3087: Felt; + let pow3088: Felt; + let pow3089: Felt; + let pow3090: Felt; + let pow3091: Felt; + let pow3092: Felt; + let pow3093: Felt; + let pow3094: Felt; + let pow3095: Felt; + let pow3096: Felt; + let pow3097: Felt; + let pow3098: Felt; + let pow3099: Felt; + let pow3100: Felt; + let pow3101: Felt; + let pow3102: Felt; + let pow3103: Felt; + let pow3104: Felt; + let pow3105: Felt; + let pow3106: Felt; + let pow3107: Felt; + let pow3108: Felt; + let pow3109: Felt; + let pow3110: Felt; + let pow3111: Felt; + let pow3112: Felt; + let pow3113: Felt; + let pow3114: Felt; + let pow3115: Felt; + let pow3116: Felt; + let pow3117: Felt; + let pow3118: Felt; + let pow3119: Felt; + let pow3120: Felt; + let pow3121: Felt; + let pow3122: Felt; + let pow3123: Felt; + let pow3124: Felt; + let pow3125: Felt; + let pow3126: Felt; + let pow3127: Felt; + let pow3128: Felt; + let pow3129: Felt; + let pow3130: Felt; + let pow3131: Felt; + let pow3132: Felt; + let pow3133: Felt; + let pow3134: Felt; + let pow3135: Felt; + let pow3136: Felt; + let pow3137: Felt; + let pow3138: Felt; + let pow3139: Felt; + let pow3140: Felt; + let pow3141: Felt; + let pow3142: Felt; + let pow3143: Felt; + let pow3144: Felt; + let pow3145: Felt; + let pow3146: Felt; + let pow3147: Felt; + let pow3148: Felt; + let pow3149: Felt; + let pow3150: Felt; + let pow3151: Felt; + let pow3152: Felt; + let pow3153: Felt; + let pow3154: Felt; + let pow3155: Felt; + let pow3156: Felt; + let pow3157: Felt; + let pow3158: Felt; + let pow3159: Felt; + let pow3160: Felt; + let pow3161: Felt; + let pow3162: Felt; + let pow3163: Felt; + let pow3164: Felt; + let pow3165: Felt; + let pow3166: Felt; + let pow3167: Felt; + let pow3168: Felt; + let pow3169: Felt; + let pow3170: Felt; + let pow3171: Felt; + let pow3172: Felt; + let pow3173: Felt; + let pow3174: Felt; + let pow3175: Felt; + let pow3176: Felt; + let pow3177: Felt; + let pow3178: Felt; + let pow3179: Felt; + let pow3180: Felt; + let pow3181: Felt; + let pow3182: Felt; + let pow3183: Felt; + let pow3184: Felt; + let pow3185: Felt; + let pow3186: Felt; + let pow3187: Felt; + let pow3188: Felt; + let pow3189: Felt; + let pow3190: Felt; + let pow3191: Felt; + let pow3192: Felt; + let pow3193: Felt; + let pow3194: Felt; + let pow3195: Felt; + let pow3196: Felt; + let pow3197: Felt; + let pow3198: Felt; + let pow3199: Felt; + let pow3200: Felt; + let pow3201: Felt; + let pow3202: Felt; + let pow3203: Felt; + let pow3204: Felt; + let pow3205: Felt; + let pow3206: Felt; + let pow3207: Felt; + let pow3208: Felt; + let pow3209: Felt; + let pow3210: Felt; + let pow3211: Felt; + let pow3212: Felt; + let pow3213: Felt; + let pow3214: Felt; + let pow3215: Felt; + let pow3216: Felt; + let pow3217: Felt; + let pow3218: Felt; + let pow3219: Felt; + let pow3220: Felt; + let pow3221: Felt; + let pow3222: Felt; + let pow3223: Felt; + let pow3224: Felt; + let pow3225: Felt; + let pow3226: Felt; + let pow3227: Felt; + let pow3228: Felt; + let pow3229: Felt; + let pow3230: Felt; + let pow3231: Felt; + let pow3232: Felt; + let pow3233: Felt; + let pow3234: Felt; + let pow3235: Felt; + let pow3236: Felt; + let pow3237: Felt; + let pow3238: Felt; + let pow3239: Felt; + let pow3240: Felt; + let pow3241: Felt; + let pow3242: Felt; + let pow3243: Felt; + let pow3244: Felt; + let pow3245: Felt; + let pow3246: Felt; + let pow3247: Felt; + let pow3248: Felt; + let pow3249: Felt; + let pow3250: Felt; + let pow3251: Felt; + let pow3252: Felt; + let pow3253: Felt; + let pow3254: Felt; + let pow3255: Felt; + let pow3256: Felt; + let pow3257: Felt; + let pow3258: Felt; + let pow3259: Felt; + let pow3260: Felt; + let pow3261: Felt; + let pow3262: Felt; + let pow3263: Felt; + let pow3264: Felt; + let pow3265: Felt; + let pow3266: Felt; + let pow3267: Felt; + let pow3268: Felt; + let pow3269: Felt; + let pow3270: Felt; + let pow3271: Felt; + let pow3272: Felt; + let pow3273: Felt; + let pow3274: Felt; + let pow3275: Felt; + let pow3276: Felt; + let pow3277: Felt; + let pow3278: Felt; + let pow3279: Felt; + let pow3280: Felt; + let pow3281: Felt; + let pow3282: Felt; + let pow3283: Felt; + let pow3284: Felt; + let pow3285: Felt; + let pow3286: Felt; + let pow3287: Felt; + let pow3288: Felt; + let pow3289: Felt; + let pow3290: Felt; + let pow3291: Felt; + let pow3292: Felt; + let pow3293: Felt; + let pow3294: Felt; + let pow3295: Felt; + let pow3296: Felt; + let pow3297: Felt; + let pow3298: Felt; + let pow3299: Felt; + let pow3300: Felt; + let pow3301: Felt; + let pow3302: Felt; + let pow3303: Felt; + let pow3304: Felt; + let pow3305: Felt; + let pow3306: Felt; + let pow3307: Felt; + let pow3308: Felt; + let pow3309: Felt; + let pow3310: Felt; + let pow3311: Felt; + let pow3312: Felt; + let pow3313: Felt; + let pow3314: Felt; + let pow3315: Felt; + let pow3316: Felt; + let pow3317: Felt; + let pow3318: Felt; + let pow3319: Felt; + let pow3320: Felt; + let pow3321: Felt; + let pow3322: Felt; + let pow3323: Felt; + let pow3324: Felt; + let pow3325: Felt; + let pow3326: Felt; + let pow3327: Felt; + let pow3328: Felt; + let pow3329: Felt; + let pow3330: Felt; + let pow3331: Felt; + let pow3332: Felt; + let pow3333: Felt; + let pow3334: Felt; + let pow3335: Felt; + let pow3336: Felt; + let pow3337: Felt; + let pow3338: Felt; + let pow3339: Felt; + let pow3340: Felt; + let pow3341: Felt; + let pow3342: Felt; + let pow3343: Felt; + let pow3344: Felt; + let pow3345: Felt; + let pow3346: Felt; + let pow3347: Felt; + let pow3348: Felt; + let pow3349: Felt; + let pow3350: Felt; + let pow3351: Felt; + let pow3352: Felt; + let pow3353: Felt; + let pow3354: Felt; + let pow3355: Felt; + let pow3356: Felt; + let pow3357: Felt; + let pow3358: Felt; + let pow3359: Felt; + let pow3360: Felt; + let pow3361: Felt; + let pow3362: Felt; + let pow3363: Felt; + let pow3364: Felt; + let pow3365: Felt; + let pow3366: Felt; + let pow3367: Felt; + let pow3368: Felt; + let pow3369: Felt; + let pow3370: Felt; + let pow3371: Felt; + let pow3372: Felt; + let pow3373: Felt; + let pow3374: Felt; + let pow3375: Felt; + let pow3376: Felt; + let pow3377: Felt; + let pow3378: Felt; + let pow3379: Felt; + let pow3380: Felt; + let pow3381: Felt; + let pow3382: Felt; + let pow3383: Felt; + let pow3384: Felt; + let pow3385: Felt; + let pow3386: Felt; + let pow3387: Felt; + let pow3388: Felt; + let pow3389: Felt; + let pow3390: Felt; + let pow3391: Felt; + let pow3392: Felt; + let pow3393: Felt; + let pow3394: Felt; + + if uses_keccak_builtin != 0 { + let temp44 = + point.pow_felt(&(safe_div(global_values.trace_length, FELT_16 * keccak_row_ratio)?)); + pow44 = temp44; + let temp45 = point.pow_felt(&(safe_div(global_values.trace_length, keccak_row_ratio)?)); + pow45 = temp45; + let temp46 = + point.pow_felt(&(safe_div(FELT_4 * global_values.trace_length, keccak_row_ratio)?)); + pow46 = temp46; + let temp47 = + point.pow_felt(&(safe_div(FELT_16 * global_values.trace_length, keccak_row_ratio)?)); + pow47 = temp47; + let temp48 = + point.pow_felt(&(safe_div(FELT_128 * global_values.trace_length, keccak_row_ratio)?)); + pow48 = temp48; + let temp49 = + point.pow_felt(&(safe_div(FELT_4096 * global_values.trace_length, keccak_row_ratio)?)); + pow49 = temp49; + let temp50 = trace_generator + .pow_felt(&(global_values.trace_length - (safe_div(keccak_row_ratio, FELT_16)?))); + pow50 = temp50; + let temp51 = + trace_generator.pow_felt(&(safe_div(global_values.trace_length, FELT_524288)?)); + pow51 = temp51; + pow52 = pow51 * pow51; // pow(trace_generator, &(safe_div(global_values.trace_length, 262144))). + pow53 = pow51 * pow52; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 524288))). + pow54 = pow51 * pow53; // pow(trace_generator, &(safe_div(global_values.trace_length, 131072))). + pow55 = pow51 * pow54; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 524288))). + pow56 = pow51 * pow55; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 262144))). + pow57 = pow51 * pow56; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 524288))). + pow58 = pow51 * pow57; // pow(trace_generator, &(safe_div(global_values.trace_length, 65536))). + pow59 = pow51 * pow58; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 524288))). + pow60 = pow51 * pow59; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 262144))). + pow61 = pow51 * pow60; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 524288))). + pow62 = pow51 * pow61; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 131072))). + pow63 = pow51 * pow62; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 524288))). + pow64 = pow51 * pow63; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 262144))). + pow65 = pow51 * pow64; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 524288))). + pow66 = pow51 * pow65; // pow(trace_generator, &(safe_div(global_values.trace_length, 32768))). + pow67 = pow58 * pow66; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 65536))). + pow68 = pow58 * pow67; // pow(trace_generator, &(safe_div(global_values.trace_length, 16384))). + pow69 = pow58 * pow68; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 65536))). + pow70 = pow58 * pow69; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 32768))). + pow71 = pow58 * pow70; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 65536))). + pow72 = pow58 * pow71; // pow(trace_generator, &(safe_div(global_values.trace_length, 8192))). + pow73 = pow58 * pow72; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 65536))). + pow74 = pow58 * pow73; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 32768))). + pow75 = pow58 * pow74; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 65536))). + pow76 = pow58 * pow75; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 16384))). + pow77 = pow58 * pow76; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 65536))). + pow78 = pow58 * pow77; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 32768))). + pow79 = pow58 * pow78; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 65536))). + pow80 = pow58 * pow79; // pow(trace_generator, &(safe_div(global_values.trace_length, 4096))). + pow81 = pow58 * pow80; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 65536))). + pow82 = pow58 * pow81; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 32768))). + pow83 = pow58 * pow82; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 65536))). + pow84 = pow58 * pow83; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 16384))). + pow85 = pow58 * pow84; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 65536))). + pow86 = pow58 * pow85; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 32768))). + pow87 = pow58 * pow86; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 65536))). + pow88 = pow58 * pow87; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 8192))). + pow89 = pow58 * pow88; // pow(trace_generator, &(safe_div(((25 * global_values.trace_length)), 65536))). + pow90 = pow58 * pow89; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 32768))). + pow91 = pow58 * pow90; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 65536))). + pow92 = pow58 * pow91; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 16384))). + pow93 = pow58 * pow92; // pow(trace_generator, &(safe_div(((29 * global_values.trace_length)), 65536))). + pow94 = pow58 * pow93; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 32768))). + pow95 = pow58 * pow94; // pow(trace_generator, &(safe_div(((31 * global_values.trace_length)), 65536))). + pow96 = pow58 * pow95; // pow(trace_generator, &(safe_div(global_values.trace_length, 2048))). + pow97 = pow58 * pow96; // pow(trace_generator, &(safe_div(((33 * global_values.trace_length)), 65536))). + pow98 = pow58 * pow97; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 32768))). + pow99 = pow58 * pow98; // pow(trace_generator, &(safe_div(((35 * global_values.trace_length)), 65536))). + pow100 = pow58 * pow99; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 16384))). + pow101 = pow58 * pow100; // pow(trace_generator, &(safe_div(((37 * global_values.trace_length)), 65536))). + pow102 = pow58 * pow101; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 32768))). + pow103 = pow58 * pow102; // pow(trace_generator, &(safe_div(((39 * global_values.trace_length)), 65536))). + pow104 = pow58 * pow103; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 8192))). + pow105 = pow58 * pow104; // pow(trace_generator, &(safe_div(((41 * global_values.trace_length)), 65536))). + pow106 = pow58 * pow105; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 32768))). + pow107 = pow58 * pow106; // pow(trace_generator, &(safe_div(((43 * global_values.trace_length)), 65536))). + pow108 = pow58 * pow107; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 16384))). + pow109 = pow58 * pow108; // pow(trace_generator, &(safe_div(((45 * global_values.trace_length)), 65536))). + pow110 = pow58 * pow109; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 32768))). + pow111 = pow58 * pow110; // pow(trace_generator, &(safe_div(((47 * global_values.trace_length)), 65536))). + pow112 = pow58 * pow111; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 4096))). + pow113 = pow58 * pow112; // pow(trace_generator, &(safe_div(((49 * global_values.trace_length)), 65536))). + pow114 = pow58 * pow113; // pow(trace_generator, &(safe_div(((25 * global_values.trace_length)), 32768))). + pow115 = pow58 * pow114; // pow(trace_generator, &(safe_div(((51 * global_values.trace_length)), 65536))). + pow116 = pow58 * pow115; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 16384))). + pow117 = pow58 * pow116; // pow(trace_generator, &(safe_div(((53 * global_values.trace_length)), 65536))). + pow118 = pow58 * pow117; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 32768))). + pow119 = pow58 * pow118; // pow(trace_generator, &(safe_div(((55 * global_values.trace_length)), 65536))). + pow120 = pow58 * pow119; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 8192))). + pow121 = pow58 * pow120; // pow(trace_generator, &(safe_div(((57 * global_values.trace_length)), 65536))). + pow122 = pow58 * pow121; // pow(trace_generator, &(safe_div(((29 * global_values.trace_length)), 32768))). + pow123 = pow58 * pow122; // pow(trace_generator, &(safe_div(((59 * global_values.trace_length)), 65536))). + pow124 = pow58 * pow123; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 16384))). + pow125 = pow58 * pow124; // pow(trace_generator, &(safe_div(((61 * global_values.trace_length)), 65536))). + pow126 = pow67 * pow125; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024))). + pow127 = pow58 * pow126; // pow(trace_generator, &(safe_div(((65 * global_values.trace_length)), 65536))). + pow128 = pow58 * pow127; // pow(trace_generator, &(safe_div(((33 * global_values.trace_length)), 32768))). + pow129 = pow58 * pow128; // pow(trace_generator, &(safe_div(((67 * global_values.trace_length)), 65536))). + pow130 = pow58 * pow129; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 16384))). + pow131 = pow58 * pow130; // pow(trace_generator, &(safe_div(((69 * global_values.trace_length)), 65536))). + pow132 = pow58 * pow131; // pow(trace_generator, &(safe_div(((35 * global_values.trace_length)), 32768))). + pow133 = pow58 * pow132; // pow(trace_generator, &(safe_div(((71 * global_values.trace_length)), 65536))). + pow134 = pow58 * pow133; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 8192))). + pow135 = pow58 * pow134; // pow(trace_generator, &(safe_div(((73 * global_values.trace_length)), 65536))). + pow136 = pow58 * pow135; // pow(trace_generator, &(safe_div(((37 * global_values.trace_length)), 32768))). + pow137 = pow58 * pow136; // pow(trace_generator, &(safe_div(((75 * global_values.trace_length)), 65536))). + pow138 = pow58 * pow137; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 16384))). + pow139 = pow58 * pow138; // pow(trace_generator, &(safe_div(((77 * global_values.trace_length)), 65536))). + pow140 = pow58 * pow139; // pow(trace_generator, &(safe_div(((39 * global_values.trace_length)), 32768))). + pow141 = pow58 * pow140; // pow(trace_generator, &(safe_div(((79 * global_values.trace_length)), 65536))). + pow142 = pow58 * pow141; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 4096))). + pow143 = pow58 * pow142; // pow(trace_generator, &(safe_div(((81 * global_values.trace_length)), 65536))). + pow144 = pow58 * pow143; // pow(trace_generator, &(safe_div(((41 * global_values.trace_length)), 32768))). + pow145 = pow58 * pow144; // pow(trace_generator, &(safe_div(((83 * global_values.trace_length)), 65536))). + pow146 = pow58 * pow145; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 16384))). + pow147 = pow58 * pow146; // pow(trace_generator, &(safe_div(((85 * global_values.trace_length)), 65536))). + pow148 = pow58 * pow147; // pow(trace_generator, &(safe_div(((43 * global_values.trace_length)), 32768))). + pow149 = pow58 * pow148; // pow(trace_generator, &(safe_div(((87 * global_values.trace_length)), 65536))). + pow150 = pow58 * pow149; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 8192))). + pow151 = pow58 * pow150; // pow(trace_generator, &(safe_div(((89 * global_values.trace_length)), 65536))). + pow152 = pow58 * pow151; // pow(trace_generator, &(safe_div(((45 * global_values.trace_length)), 32768))). + pow153 = pow58 * pow152; // pow(trace_generator, &(safe_div(((91 * global_values.trace_length)), 65536))). + pow154 = pow58 * pow153; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 16384))). + pow155 = pow58 * pow154; // pow(trace_generator, &(safe_div(((93 * global_values.trace_length)), 65536))). + pow156 = pow67 * pow155; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 2048))). + pow157 = pow58 * pow156; // pow(trace_generator, &(safe_div(((97 * global_values.trace_length)), 65536))). + pow158 = pow58 * pow157; // pow(trace_generator, &(safe_div(((49 * global_values.trace_length)), 32768))). + pow159 = pow58 * pow158; // pow(trace_generator, &(safe_div(((99 * global_values.trace_length)), 65536))). + pow160 = pow58 * pow159; // pow(trace_generator, &(safe_div(((25 * global_values.trace_length)), 16384))). + pow161 = pow58 * pow160; // pow(trace_generator, &(safe_div(((101 * global_values.trace_length)), 65536))). + pow162 = pow58 * pow161; // pow(trace_generator, &(safe_div(((51 * global_values.trace_length)), 32768))). + pow163 = pow58 * pow162; // pow(trace_generator, &(safe_div(((103 * global_values.trace_length)), 65536))). + pow164 = pow58 * pow163; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 8192))). + pow165 = pow58 * pow164; // pow(trace_generator, &(safe_div(((105 * global_values.trace_length)), 65536))). + pow166 = pow58 * pow165; // pow(trace_generator, &(safe_div(((53 * global_values.trace_length)), 32768))). + pow167 = pow58 * pow166; // pow(trace_generator, &(safe_div(((107 * global_values.trace_length)), 65536))). + pow168 = pow58 * pow167; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 16384))). + pow169 = pow58 * pow168; // pow(trace_generator, &(safe_div(((109 * global_values.trace_length)), 65536))). + pow170 = pow58 * pow169; // pow(trace_generator, &(safe_div(((55 * global_values.trace_length)), 32768))). + pow171 = pow58 * pow170; // pow(trace_generator, &(safe_div(((111 * global_values.trace_length)), 65536))). + pow172 = pow58 * pow171; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 4096))). + pow173 = pow58 * pow172; // pow(trace_generator, &(safe_div(((113 * global_values.trace_length)), 65536))). + pow174 = pow58 * pow173; // pow(trace_generator, &(safe_div(((57 * global_values.trace_length)), 32768))). + pow175 = pow58 * pow174; // pow(trace_generator, &(safe_div(((115 * global_values.trace_length)), 65536))). + pow176 = pow58 * pow175; // pow(trace_generator, &(safe_div(((29 * global_values.trace_length)), 16384))). + pow177 = pow58 * pow176; // pow(trace_generator, &(safe_div(((117 * global_values.trace_length)), 65536))). + pow178 = pow58 * pow177; // pow(trace_generator, &(safe_div(((59 * global_values.trace_length)), 32768))). + pow179 = pow58 * pow178; // pow(trace_generator, &(safe_div(((119 * global_values.trace_length)), 65536))). + pow180 = pow58 * pow179; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 8192))). + pow181 = pow58 * pow180; // pow(trace_generator, &(safe_div(((121 * global_values.trace_length)), 65536))). + pow182 = pow58 * pow181; // pow(trace_generator, &(safe_div(((61 * global_values.trace_length)), 32768))). + pow183 = pow58 * pow182; // pow(trace_generator, &(safe_div(((123 * global_values.trace_length)), 65536))). + pow184 = pow58 * pow183; // pow(trace_generator, &(safe_div(((31 * global_values.trace_length)), 16384))). + pow185 = pow58 * pow184; // pow(trace_generator, &(safe_div(((125 * global_values.trace_length)), 65536))). + pow186 = pow67 * pow185; // pow(trace_generator, &(safe_div(global_values.trace_length, 512))). + pow187 = pow58 * pow186; // pow(trace_generator, &(safe_div(((129 * global_values.trace_length)), 65536))). + pow188 = pow58 * pow187; // pow(trace_generator, &(safe_div(((65 * global_values.trace_length)), 32768))). + pow189 = pow58 * pow188; // pow(trace_generator, &(safe_div(((131 * global_values.trace_length)), 65536))). + pow190 = pow58 * pow189; // pow(trace_generator, &(safe_div(((33 * global_values.trace_length)), 16384))). + pow191 = pow58 * pow190; // pow(trace_generator, &(safe_div(((133 * global_values.trace_length)), 65536))). + pow192 = pow58 * pow191; // pow(trace_generator, &(safe_div(((67 * global_values.trace_length)), 32768))). + pow193 = pow58 * pow192; // pow(trace_generator, &(safe_div(((135 * global_values.trace_length)), 65536))). + pow194 = pow58 * pow193; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 8192))). + pow195 = pow58 * pow194; // pow(trace_generator, &(safe_div(((137 * global_values.trace_length)), 65536))). + pow196 = pow58 * pow195; // pow(trace_generator, &(safe_div(((69 * global_values.trace_length)), 32768))). + pow197 = pow58 * pow196; // pow(trace_generator, &(safe_div(((139 * global_values.trace_length)), 65536))). + pow198 = pow58 * pow197; // pow(trace_generator, &(safe_div(((35 * global_values.trace_length)), 16384))). + pow199 = pow58 * pow198; // pow(trace_generator, &(safe_div(((141 * global_values.trace_length)), 65536))). + pow200 = pow58 * pow199; // pow(trace_generator, &(safe_div(((71 * global_values.trace_length)), 32768))). + pow201 = pow58 * pow200; // pow(trace_generator, &(safe_div(((143 * global_values.trace_length)), 65536))). + pow202 = pow58 * pow201; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 4096))). + pow203 = pow58 * pow202; // pow(trace_generator, &(safe_div(((145 * global_values.trace_length)), 65536))). + pow204 = pow58 * pow203; // pow(trace_generator, &(safe_div(((73 * global_values.trace_length)), 32768))). + pow205 = pow58 * pow204; // pow(trace_generator, &(safe_div(((147 * global_values.trace_length)), 65536))). + pow206 = pow58 * pow205; // pow(trace_generator, &(safe_div(((37 * global_values.trace_length)), 16384))). + pow207 = pow58 * pow206; // pow(trace_generator, &(safe_div(((149 * global_values.trace_length)), 65536))). + pow208 = pow58 * pow207; // pow(trace_generator, &(safe_div(((75 * global_values.trace_length)), 32768))). + pow209 = pow58 * pow208; // pow(trace_generator, &(safe_div(((151 * global_values.trace_length)), 65536))). + pow210 = pow58 * pow209; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 8192))). + pow211 = pow58 * pow210; // pow(trace_generator, &(safe_div(((153 * global_values.trace_length)), 65536))). + pow212 = pow58 * pow211; // pow(trace_generator, &(safe_div(((77 * global_values.trace_length)), 32768))). + pow213 = pow58 * pow212; // pow(trace_generator, &(safe_div(((155 * global_values.trace_length)), 65536))). + pow214 = pow58 * pow213; // pow(trace_generator, &(safe_div(((39 * global_values.trace_length)), 16384))). + pow215 = pow58 * pow214; // pow(trace_generator, &(safe_div(((157 * global_values.trace_length)), 65536))). + pow216 = pow67 * pow215; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 2048))). + pow217 = pow58 * pow216; // pow(trace_generator, &(safe_div(((161 * global_values.trace_length)), 65536))). + pow218 = pow58 * pow217; // pow(trace_generator, &(safe_div(((81 * global_values.trace_length)), 32768))). + pow219 = pow58 * pow218; // pow(trace_generator, &(safe_div(((163 * global_values.trace_length)), 65536))). + pow220 = pow58 * pow219; // pow(trace_generator, &(safe_div(((41 * global_values.trace_length)), 16384))). + pow221 = pow58 * pow220; // pow(trace_generator, &(safe_div(((165 * global_values.trace_length)), 65536))). + pow222 = pow58 * pow221; // pow(trace_generator, &(safe_div(((83 * global_values.trace_length)), 32768))). + pow223 = pow58 * pow222; // pow(trace_generator, &(safe_div(((167 * global_values.trace_length)), 65536))). + pow224 = pow58 * pow223; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 8192))). + pow225 = pow58 * pow224; // pow(trace_generator, &(safe_div(((169 * global_values.trace_length)), 65536))). + pow226 = pow58 * pow225; // pow(trace_generator, &(safe_div(((85 * global_values.trace_length)), 32768))). + pow227 = pow58 * pow226; // pow(trace_generator, &(safe_div(((171 * global_values.trace_length)), 65536))). + pow228 = pow58 * pow227; // pow(trace_generator, &(safe_div(((43 * global_values.trace_length)), 16384))). + pow229 = pow58 * pow228; // pow(trace_generator, &(safe_div(((173 * global_values.trace_length)), 65536))). + pow230 = pow58 * pow229; // pow(trace_generator, &(safe_div(((87 * global_values.trace_length)), 32768))). + pow231 = pow58 * pow230; // pow(trace_generator, &(safe_div(((175 * global_values.trace_length)), 65536))). + pow232 = pow58 * pow231; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 4096))). + pow233 = pow58 * pow232; // pow(trace_generator, &(safe_div(((177 * global_values.trace_length)), 65536))). + pow234 = pow58 * pow233; // pow(trace_generator, &(safe_div(((89 * global_values.trace_length)), 32768))). + pow235 = pow58 * pow234; // pow(trace_generator, &(safe_div(((179 * global_values.trace_length)), 65536))). + pow236 = pow58 * pow235; // pow(trace_generator, &(safe_div(((45 * global_values.trace_length)), 16384))). + pow237 = pow58 * pow236; // pow(trace_generator, &(safe_div(((181 * global_values.trace_length)), 65536))). + pow238 = pow58 * pow237; // pow(trace_generator, &(safe_div(((91 * global_values.trace_length)), 32768))). + pow239 = pow58 * pow238; // pow(trace_generator, &(safe_div(((183 * global_values.trace_length)), 65536))). + pow240 = pow58 * pow239; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 8192))). + pow241 = pow58 * pow240; // pow(trace_generator, &(safe_div(((185 * global_values.trace_length)), 65536))). + pow242 = pow58 * pow241; // pow(trace_generator, &(safe_div(((93 * global_values.trace_length)), 32768))). + pow243 = pow58 * pow242; // pow(trace_generator, &(safe_div(((187 * global_values.trace_length)), 65536))). + pow244 = pow58 * pow243; // pow(trace_generator, &(safe_div(((47 * global_values.trace_length)), 16384))). + pow245 = pow58 * pow244; // pow(trace_generator, &(safe_div(((189 * global_values.trace_length)), 65536))). + pow246 = pow67 * pow245; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024))). + pow247 = pow58 * pow246; // pow(trace_generator, &(safe_div(((193 * global_values.trace_length)), 65536))). + pow248 = pow58 * pow247; // pow(trace_generator, &(safe_div(((97 * global_values.trace_length)), 32768))). + pow249 = pow58 * pow248; // pow(trace_generator, &(safe_div(((195 * global_values.trace_length)), 65536))). + pow250 = pow58 * pow249; // pow(trace_generator, &(safe_div(((49 * global_values.trace_length)), 16384))). + pow251 = pow58 * pow250; // pow(trace_generator, &(safe_div(((197 * global_values.trace_length)), 65536))). + pow252 = pow58 * pow251; // pow(trace_generator, &(safe_div(((99 * global_values.trace_length)), 32768))). + pow253 = pow58 * pow252; // pow(trace_generator, &(safe_div(((199 * global_values.trace_length)), 65536))). + pow254 = pow58 * pow253; // pow(trace_generator, &(safe_div(((25 * global_values.trace_length)), 8192))). + pow255 = pow58 * pow254; // pow(trace_generator, &(safe_div(((201 * global_values.trace_length)), 65536))). + pow256 = pow58 * pow255; // pow(trace_generator, &(safe_div(((101 * global_values.trace_length)), 32768))). + pow257 = pow58 * pow256; // pow(trace_generator, &(safe_div(((203 * global_values.trace_length)), 65536))). + pow258 = pow58 * pow257; // pow(trace_generator, &(safe_div(((51 * global_values.trace_length)), 16384))). + pow259 = pow58 * pow258; // pow(trace_generator, &(safe_div(((205 * global_values.trace_length)), 65536))). + pow260 = pow58 * pow259; // pow(trace_generator, &(safe_div(((103 * global_values.trace_length)), 32768))). + pow261 = pow58 * pow260; // pow(trace_generator, &(safe_div(((207 * global_values.trace_length)), 65536))). + pow262 = pow58 * pow261; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 4096))). + pow263 = pow58 * pow262; // pow(trace_generator, &(safe_div(((209 * global_values.trace_length)), 65536))). + pow264 = pow58 * pow263; // pow(trace_generator, &(safe_div(((105 * global_values.trace_length)), 32768))). + pow265 = pow58 * pow264; // pow(trace_generator, &(safe_div(((211 * global_values.trace_length)), 65536))). + pow266 = pow58 * pow265; // pow(trace_generator, &(safe_div(((53 * global_values.trace_length)), 16384))). + pow267 = pow58 * pow266; // pow(trace_generator, &(safe_div(((213 * global_values.trace_length)), 65536))). + pow268 = pow58 * pow267; // pow(trace_generator, &(safe_div(((107 * global_values.trace_length)), 32768))). + pow269 = pow58 * pow268; // pow(trace_generator, &(safe_div(((215 * global_values.trace_length)), 65536))). + pow270 = pow58 * pow269; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 8192))). + pow271 = pow58 * pow270; // pow(trace_generator, &(safe_div(((217 * global_values.trace_length)), 65536))). + pow272 = pow58 * pow271; // pow(trace_generator, &(safe_div(((109 * global_values.trace_length)), 32768))). + pow273 = pow58 * pow272; // pow(trace_generator, &(safe_div(((219 * global_values.trace_length)), 65536))). + pow274 = pow58 * pow273; // pow(trace_generator, &(safe_div(((55 * global_values.trace_length)), 16384))). + pow275 = pow58 * pow274; // pow(trace_generator, &(safe_div(((221 * global_values.trace_length)), 65536))). + pow276 = pow67 * pow275; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 2048))). + pow277 = pow58 * pow276; // pow(trace_generator, &(safe_div(((225 * global_values.trace_length)), 65536))). + pow278 = pow58 * pow277; // pow(trace_generator, &(safe_div(((113 * global_values.trace_length)), 32768))). + pow279 = pow58 * pow278; // pow(trace_generator, &(safe_div(((227 * global_values.trace_length)), 65536))). + pow280 = pow58 * pow279; // pow(trace_generator, &(safe_div(((57 * global_values.trace_length)), 16384))). + pow281 = pow58 * pow280; // pow(trace_generator, &(safe_div(((229 * global_values.trace_length)), 65536))). + pow282 = pow58 * pow281; // pow(trace_generator, &(safe_div(((115 * global_values.trace_length)), 32768))). + pow283 = pow58 * pow282; // pow(trace_generator, &(safe_div(((231 * global_values.trace_length)), 65536))). + pow284 = pow58 * pow283; // pow(trace_generator, &(safe_div(((29 * global_values.trace_length)), 8192))). + pow285 = pow58 * pow284; // pow(trace_generator, &(safe_div(((233 * global_values.trace_length)), 65536))). + pow286 = pow58 * pow285; // pow(trace_generator, &(safe_div(((117 * global_values.trace_length)), 32768))). + pow287 = pow58 * pow286; // pow(trace_generator, &(safe_div(((235 * global_values.trace_length)), 65536))). + pow288 = pow58 * pow287; // pow(trace_generator, &(safe_div(((59 * global_values.trace_length)), 16384))). + pow289 = pow58 * pow288; // pow(trace_generator, &(safe_div(((237 * global_values.trace_length)), 65536))). + pow290 = pow58 * pow289; // pow(trace_generator, &(safe_div(((119 * global_values.trace_length)), 32768))). + pow291 = pow58 * pow290; // pow(trace_generator, &(safe_div(((239 * global_values.trace_length)), 65536))). + pow292 = pow58 * pow291; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 4096))). + pow293 = pow58 * pow292; // pow(trace_generator, &(safe_div(((241 * global_values.trace_length)), 65536))). + pow294 = pow58 * pow293; // pow(trace_generator, &(safe_div(((121 * global_values.trace_length)), 32768))). + pow295 = pow58 * pow294; // pow(trace_generator, &(safe_div(((243 * global_values.trace_length)), 65536))). + pow296 = pow58 * pow295; // pow(trace_generator, &(safe_div(((61 * global_values.trace_length)), 16384))). + pow297 = pow58 * pow296; // pow(trace_generator, &(safe_div(((245 * global_values.trace_length)), 65536))). + pow298 = pow58 * pow297; // pow(trace_generator, &(safe_div(((123 * global_values.trace_length)), 32768))). + pow299 = pow58 * pow298; // pow(trace_generator, &(safe_div(((247 * global_values.trace_length)), 65536))). + pow300 = pow58 * pow299; // pow(trace_generator, &(safe_div(((31 * global_values.trace_length)), 8192))). + pow301 = pow58 * pow300; // pow(trace_generator, &(safe_div(((249 * global_values.trace_length)), 65536))). + pow302 = pow58 * pow301; // pow(trace_generator, &(safe_div(((125 * global_values.trace_length)), 32768))). + pow303 = pow58 * pow302; // pow(trace_generator, &(safe_div(((251 * global_values.trace_length)), 65536))). + pow304 = pow58 * pow303; // pow(trace_generator, &(safe_div(((63 * global_values.trace_length)), 16384))). + pow305 = pow58 * pow304; // pow(trace_generator, &(safe_div(((253 * global_values.trace_length)), 65536))). + pow306 = pow67 * pow305; // pow(trace_generator, &(safe_div(global_values.trace_length, 256))). + pow307 = pow58 * pow306; // pow(trace_generator, &(safe_div(((257 * global_values.trace_length)), 65536))). + pow308 = pow58 * pow307; // pow(trace_generator, &(safe_div(((129 * global_values.trace_length)), 32768))). + pow309 = pow58 * pow308; // pow(trace_generator, &(safe_div(((259 * global_values.trace_length)), 65536))). + pow310 = pow58 * pow309; // pow(trace_generator, &(safe_div(((65 * global_values.trace_length)), 16384))). + pow311 = pow58 * pow310; // pow(trace_generator, &(safe_div(((261 * global_values.trace_length)), 65536))). + pow312 = pow58 * pow311; // pow(trace_generator, &(safe_div(((131 * global_values.trace_length)), 32768))). + pow313 = pow58 * pow312; // pow(trace_generator, &(safe_div(((263 * global_values.trace_length)), 65536))). + pow314 = pow58 * pow313; // pow(trace_generator, &(safe_div(((33 * global_values.trace_length)), 8192))). + pow315 = pow58 * pow314; // pow(trace_generator, &(safe_div(((265 * global_values.trace_length)), 65536))). + pow316 = pow58 * pow315; // pow(trace_generator, &(safe_div(((133 * global_values.trace_length)), 32768))). + pow317 = pow58 * pow316; // pow(trace_generator, &(safe_div(((267 * global_values.trace_length)), 65536))). + pow318 = pow58 * pow317; // pow(trace_generator, &(safe_div(((67 * global_values.trace_length)), 16384))). + pow319 = pow58 * pow318; // pow(trace_generator, &(safe_div(((269 * global_values.trace_length)), 65536))). + pow320 = pow58 * pow319; // pow(trace_generator, &(safe_div(((135 * global_values.trace_length)), 32768))). + pow321 = pow58 * pow320; // pow(trace_generator, &(safe_div(((271 * global_values.trace_length)), 65536))). + pow322 = pow58 * pow321; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 4096))). + pow323 = pow58 * pow322; // pow(trace_generator, &(safe_div(((273 * global_values.trace_length)), 65536))). + pow324 = pow58 * pow323; // pow(trace_generator, &(safe_div(((137 * global_values.trace_length)), 32768))). + pow325 = pow58 * pow324; // pow(trace_generator, &(safe_div(((275 * global_values.trace_length)), 65536))). + pow326 = pow58 * pow325; // pow(trace_generator, &(safe_div(((69 * global_values.trace_length)), 16384))). + pow327 = pow58 * pow326; // pow(trace_generator, &(safe_div(((277 * global_values.trace_length)), 65536))). + pow328 = pow58 * pow327; // pow(trace_generator, &(safe_div(((139 * global_values.trace_length)), 32768))). + pow329 = pow58 * pow328; // pow(trace_generator, &(safe_div(((279 * global_values.trace_length)), 65536))). + pow330 = pow58 * pow329; // pow(trace_generator, &(safe_div(((35 * global_values.trace_length)), 8192))). + pow331 = pow58 * pow330; // pow(trace_generator, &(safe_div(((281 * global_values.trace_length)), 65536))). + pow332 = pow58 * pow331; // pow(trace_generator, &(safe_div(((141 * global_values.trace_length)), 32768))). + pow333 = pow58 * pow332; // pow(trace_generator, &(safe_div(((283 * global_values.trace_length)), 65536))). + pow334 = pow58 * pow333; // pow(trace_generator, &(safe_div(((71 * global_values.trace_length)), 16384))). + pow335 = pow58 * pow334; // pow(trace_generator, &(safe_div(((285 * global_values.trace_length)), 65536))). + pow336 = pow67 * pow335; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 2048))). + pow337 = pow58 * pow336; // pow(trace_generator, &(safe_div(((289 * global_values.trace_length)), 65536))). + pow338 = pow58 * pow337; // pow(trace_generator, &(safe_div(((145 * global_values.trace_length)), 32768))). + pow339 = pow58 * pow338; // pow(trace_generator, &(safe_div(((291 * global_values.trace_length)), 65536))). + pow340 = pow58 * pow339; // pow(trace_generator, &(safe_div(((73 * global_values.trace_length)), 16384))). + pow341 = pow58 * pow340; // pow(trace_generator, &(safe_div(((293 * global_values.trace_length)), 65536))). + pow342 = pow58 * pow341; // pow(trace_generator, &(safe_div(((147 * global_values.trace_length)), 32768))). + pow343 = pow58 * pow342; // pow(trace_generator, &(safe_div(((295 * global_values.trace_length)), 65536))). + pow344 = pow58 * pow343; // pow(trace_generator, &(safe_div(((37 * global_values.trace_length)), 8192))). + pow345 = pow58 * pow344; // pow(trace_generator, &(safe_div(((297 * global_values.trace_length)), 65536))). + pow346 = pow58 * pow345; // pow(trace_generator, &(safe_div(((149 * global_values.trace_length)), 32768))). + pow347 = pow58 * pow346; // pow(trace_generator, &(safe_div(((299 * global_values.trace_length)), 65536))). + pow348 = pow58 * pow347; // pow(trace_generator, &(safe_div(((75 * global_values.trace_length)), 16384))). + pow349 = pow58 * pow348; // pow(trace_generator, &(safe_div(((301 * global_values.trace_length)), 65536))). + pow350 = pow58 * pow349; // pow(trace_generator, &(safe_div(((151 * global_values.trace_length)), 32768))). + pow351 = pow58 * pow350; // pow(trace_generator, &(safe_div(((303 * global_values.trace_length)), 65536))). + pow352 = pow58 * pow351; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 4096))). + pow353 = pow58 * pow352; // pow(trace_generator, &(safe_div(((305 * global_values.trace_length)), 65536))). + pow354 = pow58 * pow353; // pow(trace_generator, &(safe_div(((153 * global_values.trace_length)), 32768))). + pow355 = pow58 * pow354; // pow(trace_generator, &(safe_div(((307 * global_values.trace_length)), 65536))). + pow356 = pow58 * pow355; // pow(trace_generator, &(safe_div(((77 * global_values.trace_length)), 16384))). + pow357 = pow58 * pow356; // pow(trace_generator, &(safe_div(((309 * global_values.trace_length)), 65536))). + pow358 = pow58 * pow357; // pow(trace_generator, &(safe_div(((155 * global_values.trace_length)), 32768))). + pow359 = pow58 * pow358; // pow(trace_generator, &(safe_div(((311 * global_values.trace_length)), 65536))). + pow360 = pow58 * pow359; // pow(trace_generator, &(safe_div(((39 * global_values.trace_length)), 8192))). + pow361 = pow58 * pow360; // pow(trace_generator, &(safe_div(((313 * global_values.trace_length)), 65536))). + pow362 = pow58 * pow361; // pow(trace_generator, &(safe_div(((157 * global_values.trace_length)), 32768))). + pow363 = pow58 * pow362; // pow(trace_generator, &(safe_div(((315 * global_values.trace_length)), 65536))). + pow364 = pow58 * pow363; // pow(trace_generator, &(safe_div(((79 * global_values.trace_length)), 16384))). + pow365 = pow58 * pow364; // pow(trace_generator, &(safe_div(((317 * global_values.trace_length)), 65536))). + pow366 = pow67 * pow365; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024))). + pow367 = pow58 * pow366; // pow(trace_generator, &(safe_div(((321 * global_values.trace_length)), 65536))). + pow368 = pow58 * pow367; // pow(trace_generator, &(safe_div(((161 * global_values.trace_length)), 32768))). + pow369 = pow58 * pow368; // pow(trace_generator, &(safe_div(((323 * global_values.trace_length)), 65536))). + pow370 = pow58 * pow369; // pow(trace_generator, &(safe_div(((81 * global_values.trace_length)), 16384))). + pow371 = pow58 * pow370; // pow(trace_generator, &(safe_div(((325 * global_values.trace_length)), 65536))). + pow372 = pow58 * pow371; // pow(trace_generator, &(safe_div(((163 * global_values.trace_length)), 32768))). + pow373 = pow58 * pow372; // pow(trace_generator, &(safe_div(((327 * global_values.trace_length)), 65536))). + pow374 = pow58 * pow373; // pow(trace_generator, &(safe_div(((41 * global_values.trace_length)), 8192))). + pow375 = pow58 * pow374; // pow(trace_generator, &(safe_div(((329 * global_values.trace_length)), 65536))). + pow376 = pow58 * pow375; // pow(trace_generator, &(safe_div(((165 * global_values.trace_length)), 32768))). + pow377 = pow58 * pow376; // pow(trace_generator, &(safe_div(((331 * global_values.trace_length)), 65536))). + pow378 = pow58 * pow377; // pow(trace_generator, &(safe_div(((83 * global_values.trace_length)), 16384))). + pow379 = pow58 * pow378; // pow(trace_generator, &(safe_div(((333 * global_values.trace_length)), 65536))). + pow380 = pow58 * pow379; // pow(trace_generator, &(safe_div(((167 * global_values.trace_length)), 32768))). + pow381 = pow58 * pow380; // pow(trace_generator, &(safe_div(((335 * global_values.trace_length)), 65536))). + pow382 = pow58 * pow381; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 4096))). + pow383 = pow58 * pow382; // pow(trace_generator, &(safe_div(((337 * global_values.trace_length)), 65536))). + pow384 = pow58 * pow383; // pow(trace_generator, &(safe_div(((169 * global_values.trace_length)), 32768))). + pow385 = pow58 * pow384; // pow(trace_generator, &(safe_div(((339 * global_values.trace_length)), 65536))). + pow386 = pow58 * pow385; // pow(trace_generator, &(safe_div(((85 * global_values.trace_length)), 16384))). + pow387 = pow58 * pow386; // pow(trace_generator, &(safe_div(((341 * global_values.trace_length)), 65536))). + pow388 = pow58 * pow387; // pow(trace_generator, &(safe_div(((171 * global_values.trace_length)), 32768))). + pow389 = pow58 * pow388; // pow(trace_generator, &(safe_div(((343 * global_values.trace_length)), 65536))). + pow390 = pow58 * pow389; // pow(trace_generator, &(safe_div(((43 * global_values.trace_length)), 8192))). + pow391 = pow58 * pow390; // pow(trace_generator, &(safe_div(((345 * global_values.trace_length)), 65536))). + pow392 = pow58 * pow391; // pow(trace_generator, &(safe_div(((173 * global_values.trace_length)), 32768))). + pow393 = pow58 * pow392; // pow(trace_generator, &(safe_div(((347 * global_values.trace_length)), 65536))). + pow394 = pow58 * pow393; // pow(trace_generator, &(safe_div(((87 * global_values.trace_length)), 16384))). + pow395 = pow58 * pow394; // pow(trace_generator, &(safe_div(((349 * global_values.trace_length)), 65536))). + pow396 = pow67 * pow395; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 2048))). + pow397 = pow58 * pow396; // pow(trace_generator, &(safe_div(((353 * global_values.trace_length)), 65536))). + pow398 = pow58 * pow397; // pow(trace_generator, &(safe_div(((177 * global_values.trace_length)), 32768))). + pow399 = pow58 * pow398; // pow(trace_generator, &(safe_div(((355 * global_values.trace_length)), 65536))). + pow400 = pow58 * pow399; // pow(trace_generator, &(safe_div(((89 * global_values.trace_length)), 16384))). + pow401 = pow58 * pow400; // pow(trace_generator, &(safe_div(((357 * global_values.trace_length)), 65536))). + pow402 = pow58 * pow401; // pow(trace_generator, &(safe_div(((179 * global_values.trace_length)), 32768))). + pow403 = pow58 * pow402; // pow(trace_generator, &(safe_div(((359 * global_values.trace_length)), 65536))). + pow404 = pow58 * pow403; // pow(trace_generator, &(safe_div(((45 * global_values.trace_length)), 8192))). + pow405 = pow58 * pow404; // pow(trace_generator, &(safe_div(((361 * global_values.trace_length)), 65536))). + pow406 = pow58 * pow405; // pow(trace_generator, &(safe_div(((181 * global_values.trace_length)), 32768))). + pow407 = pow58 * pow406; // pow(trace_generator, &(safe_div(((363 * global_values.trace_length)), 65536))). + pow408 = pow58 * pow407; // pow(trace_generator, &(safe_div(((91 * global_values.trace_length)), 16384))). + pow409 = pow58 * pow408; // pow(trace_generator, &(safe_div(((365 * global_values.trace_length)), 65536))). + pow410 = pow58 * pow409; // pow(trace_generator, &(safe_div(((183 * global_values.trace_length)), 32768))). + pow411 = pow58 * pow410; // pow(trace_generator, &(safe_div(((367 * global_values.trace_length)), 65536))). + pow412 = pow58 * pow411; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 4096))). + pow413 = pow58 * pow412; // pow(trace_generator, &(safe_div(((369 * global_values.trace_length)), 65536))). + pow414 = pow58 * pow413; // pow(trace_generator, &(safe_div(((185 * global_values.trace_length)), 32768))). + pow415 = pow58 * pow414; // pow(trace_generator, &(safe_div(((371 * global_values.trace_length)), 65536))). + pow416 = pow58 * pow415; // pow(trace_generator, &(safe_div(((93 * global_values.trace_length)), 16384))). + pow417 = pow58 * pow416; // pow(trace_generator, &(safe_div(((373 * global_values.trace_length)), 65536))). + pow418 = pow58 * pow417; // pow(trace_generator, &(safe_div(((187 * global_values.trace_length)), 32768))). + pow419 = pow58 * pow418; // pow(trace_generator, &(safe_div(((375 * global_values.trace_length)), 65536))). + pow420 = pow58 * pow419; // pow(trace_generator, &(safe_div(((47 * global_values.trace_length)), 8192))). + pow421 = pow58 * pow420; // pow(trace_generator, &(safe_div(((377 * global_values.trace_length)), 65536))). + pow422 = pow58 * pow421; // pow(trace_generator, &(safe_div(((189 * global_values.trace_length)), 32768))). + pow423 = pow58 * pow422; // pow(trace_generator, &(safe_div(((379 * global_values.trace_length)), 65536))). + pow424 = pow58 * pow423; // pow(trace_generator, &(safe_div(((95 * global_values.trace_length)), 16384))). + pow425 = pow58 * pow424; // pow(trace_generator, &(safe_div(((381 * global_values.trace_length)), 65536))). + pow426 = pow67 * pow425; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512))). + pow427 = pow58 * pow426; // pow(trace_generator, &(safe_div(((385 * global_values.trace_length)), 65536))). + pow428 = pow58 * pow427; // pow(trace_generator, &(safe_div(((193 * global_values.trace_length)), 32768))). + pow429 = pow58 * pow428; // pow(trace_generator, &(safe_div(((387 * global_values.trace_length)), 65536))). + pow430 = pow58 * pow429; // pow(trace_generator, &(safe_div(((97 * global_values.trace_length)), 16384))). + pow431 = pow58 * pow430; // pow(trace_generator, &(safe_div(((389 * global_values.trace_length)), 65536))). + pow432 = pow58 * pow431; // pow(trace_generator, &(safe_div(((195 * global_values.trace_length)), 32768))). + pow433 = pow58 * pow432; // pow(trace_generator, &(safe_div(((391 * global_values.trace_length)), 65536))). + pow434 = pow58 * pow433; // pow(trace_generator, &(safe_div(((49 * global_values.trace_length)), 8192))). + pow435 = pow58 * pow434; // pow(trace_generator, &(safe_div(((393 * global_values.trace_length)), 65536))). + pow436 = pow58 * pow435; // pow(trace_generator, &(safe_div(((197 * global_values.trace_length)), 32768))). + pow437 = pow58 * pow436; // pow(trace_generator, &(safe_div(((395 * global_values.trace_length)), 65536))). + pow438 = pow58 * pow437; // pow(trace_generator, &(safe_div(((99 * global_values.trace_length)), 16384))). + pow439 = pow58 * pow438; // pow(trace_generator, &(safe_div(((397 * global_values.trace_length)), 65536))). + pow440 = pow58 * pow439; // pow(trace_generator, &(safe_div(((199 * global_values.trace_length)), 32768))). + pow441 = pow58 * pow440; // pow(trace_generator, &(safe_div(((399 * global_values.trace_length)), 65536))). + pow442 = pow58 * pow441; // pow(trace_generator, &(safe_div(((25 * global_values.trace_length)), 4096))). + pow443 = pow58 * pow442; // pow(trace_generator, &(safe_div(((401 * global_values.trace_length)), 65536))). + pow444 = pow58 * pow443; // pow(trace_generator, &(safe_div(((201 * global_values.trace_length)), 32768))). + pow445 = pow58 * pow444; // pow(trace_generator, &(safe_div(((403 * global_values.trace_length)), 65536))). + pow446 = pow58 * pow445; // pow(trace_generator, &(safe_div(((101 * global_values.trace_length)), 16384))). + pow447 = pow58 * pow446; // pow(trace_generator, &(safe_div(((405 * global_values.trace_length)), 65536))). + pow448 = pow58 * pow447; // pow(trace_generator, &(safe_div(((203 * global_values.trace_length)), 32768))). + pow449 = pow58 * pow448; // pow(trace_generator, &(safe_div(((407 * global_values.trace_length)), 65536))). + pow450 = pow58 * pow449; // pow(trace_generator, &(safe_div(((51 * global_values.trace_length)), 8192))). + pow451 = pow58 * pow450; // pow(trace_generator, &(safe_div(((409 * global_values.trace_length)), 65536))). + pow452 = pow58 * pow451; // pow(trace_generator, &(safe_div(((205 * global_values.trace_length)), 32768))). + pow453 = pow58 * pow452; // pow(trace_generator, &(safe_div(((411 * global_values.trace_length)), 65536))). + pow454 = pow58 * pow453; // pow(trace_generator, &(safe_div(((103 * global_values.trace_length)), 16384))). + pow455 = pow58 * pow454; // pow(trace_generator, &(safe_div(((413 * global_values.trace_length)), 65536))). + pow456 = pow67 * pow455; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 2048))). + pow457 = pow58 * pow456; // pow(trace_generator, &(safe_div(((417 * global_values.trace_length)), 65536))). + pow458 = pow58 * pow457; // pow(trace_generator, &(safe_div(((209 * global_values.trace_length)), 32768))). + pow459 = pow58 * pow458; // pow(trace_generator, &(safe_div(((419 * global_values.trace_length)), 65536))). + pow460 = pow58 * pow459; // pow(trace_generator, &(safe_div(((105 * global_values.trace_length)), 16384))). + pow461 = pow58 * pow460; // pow(trace_generator, &(safe_div(((421 * global_values.trace_length)), 65536))). + pow462 = pow58 * pow461; // pow(trace_generator, &(safe_div(((211 * global_values.trace_length)), 32768))). + pow463 = pow58 * pow462; // pow(trace_generator, &(safe_div(((423 * global_values.trace_length)), 65536))). + pow464 = pow58 * pow463; // pow(trace_generator, &(safe_div(((53 * global_values.trace_length)), 8192))). + pow465 = pow58 * pow464; // pow(trace_generator, &(safe_div(((425 * global_values.trace_length)), 65536))). + pow466 = pow58 * pow465; // pow(trace_generator, &(safe_div(((213 * global_values.trace_length)), 32768))). + pow467 = pow58 * pow466; // pow(trace_generator, &(safe_div(((427 * global_values.trace_length)), 65536))). + pow468 = pow58 * pow467; // pow(trace_generator, &(safe_div(((107 * global_values.trace_length)), 16384))). + pow469 = pow58 * pow468; // pow(trace_generator, &(safe_div(((429 * global_values.trace_length)), 65536))). + pow470 = pow58 * pow469; // pow(trace_generator, &(safe_div(((215 * global_values.trace_length)), 32768))). + pow471 = pow58 * pow470; // pow(trace_generator, &(safe_div(((431 * global_values.trace_length)), 65536))). + pow472 = pow58 * pow471; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 4096))). + pow473 = pow58 * pow472; // pow(trace_generator, &(safe_div(((433 * global_values.trace_length)), 65536))). + pow474 = pow58 * pow473; // pow(trace_generator, &(safe_div(((217 * global_values.trace_length)), 32768))). + pow475 = pow58 * pow474; // pow(trace_generator, &(safe_div(((435 * global_values.trace_length)), 65536))). + pow476 = pow58 * pow475; // pow(trace_generator, &(safe_div(((109 * global_values.trace_length)), 16384))). + pow477 = pow58 * pow476; // pow(trace_generator, &(safe_div(((437 * global_values.trace_length)), 65536))). + pow478 = pow58 * pow477; // pow(trace_generator, &(safe_div(((219 * global_values.trace_length)), 32768))). + pow479 = pow58 * pow478; // pow(trace_generator, &(safe_div(((439 * global_values.trace_length)), 65536))). + pow480 = pow58 * pow479; // pow(trace_generator, &(safe_div(((55 * global_values.trace_length)), 8192))). + pow481 = pow58 * pow480; // pow(trace_generator, &(safe_div(((441 * global_values.trace_length)), 65536))). + pow482 = pow58 * pow481; // pow(trace_generator, &(safe_div(((221 * global_values.trace_length)), 32768))). + pow483 = pow58 * pow482; // pow(trace_generator, &(safe_div(((443 * global_values.trace_length)), 65536))). + pow484 = pow58 * pow483; // pow(trace_generator, &(safe_div(((111 * global_values.trace_length)), 16384))). + pow485 = pow58 * pow484; // pow(trace_generator, &(safe_div(((445 * global_values.trace_length)), 65536))). + pow486 = pow67 * pow485; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024))). + pow487 = pow58 * pow486; // pow(trace_generator, &(safe_div(((449 * global_values.trace_length)), 65536))). + pow488 = pow58 * pow487; // pow(trace_generator, &(safe_div(((225 * global_values.trace_length)), 32768))). + pow489 = pow58 * pow488; // pow(trace_generator, &(safe_div(((451 * global_values.trace_length)), 65536))). + pow490 = pow58 * pow489; // pow(trace_generator, &(safe_div(((113 * global_values.trace_length)), 16384))). + pow491 = pow58 * pow490; // pow(trace_generator, &(safe_div(((453 * global_values.trace_length)), 65536))). + pow492 = pow58 * pow491; // pow(trace_generator, &(safe_div(((227 * global_values.trace_length)), 32768))). + pow493 = pow58 * pow492; // pow(trace_generator, &(safe_div(((455 * global_values.trace_length)), 65536))). + pow494 = pow58 * pow493; // pow(trace_generator, &(safe_div(((57 * global_values.trace_length)), 8192))). + pow495 = pow58 * pow494; // pow(trace_generator, &(safe_div(((457 * global_values.trace_length)), 65536))). + pow496 = pow58 * pow495; // pow(trace_generator, &(safe_div(((229 * global_values.trace_length)), 32768))). + pow497 = pow58 * pow496; // pow(trace_generator, &(safe_div(((459 * global_values.trace_length)), 65536))). + pow498 = pow58 * pow497; // pow(trace_generator, &(safe_div(((115 * global_values.trace_length)), 16384))). + pow499 = pow58 * pow498; // pow(trace_generator, &(safe_div(((461 * global_values.trace_length)), 65536))). + pow500 = pow58 * pow499; // pow(trace_generator, &(safe_div(((231 * global_values.trace_length)), 32768))). + pow501 = pow58 * pow500; // pow(trace_generator, &(safe_div(((463 * global_values.trace_length)), 65536))). + pow502 = pow58 * pow501; // pow(trace_generator, &(safe_div(((29 * global_values.trace_length)), 4096))). + pow503 = pow58 * pow502; // pow(trace_generator, &(safe_div(((465 * global_values.trace_length)), 65536))). + pow504 = pow58 * pow503; // pow(trace_generator, &(safe_div(((233 * global_values.trace_length)), 32768))). + pow505 = pow58 * pow504; // pow(trace_generator, &(safe_div(((467 * global_values.trace_length)), 65536))). + pow506 = pow58 * pow505; // pow(trace_generator, &(safe_div(((117 * global_values.trace_length)), 16384))). + pow507 = pow58 * pow506; // pow(trace_generator, &(safe_div(((469 * global_values.trace_length)), 65536))). + pow508 = pow58 * pow507; // pow(trace_generator, &(safe_div(((235 * global_values.trace_length)), 32768))). + pow509 = pow58 * pow508; // pow(trace_generator, &(safe_div(((471 * global_values.trace_length)), 65536))). + pow510 = pow58 * pow509; // pow(trace_generator, &(safe_div(((59 * global_values.trace_length)), 8192))). + pow511 = pow58 * pow510; // pow(trace_generator, &(safe_div(((473 * global_values.trace_length)), 65536))). + pow512 = pow58 * pow511; // pow(trace_generator, &(safe_div(((237 * global_values.trace_length)), 32768))). + pow513 = pow58 * pow512; // pow(trace_generator, &(safe_div(((475 * global_values.trace_length)), 65536))). + pow514 = pow58 * pow513; // pow(trace_generator, &(safe_div(((119 * global_values.trace_length)), 16384))). + pow515 = pow58 * pow514; // pow(trace_generator, &(safe_div(((477 * global_values.trace_length)), 65536))). + pow516 = pow67 * pow515; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 2048))). + pow517 = pow58 * pow516; // pow(trace_generator, &(safe_div(((481 * global_values.trace_length)), 65536))). + pow518 = pow58 * pow517; // pow(trace_generator, &(safe_div(((241 * global_values.trace_length)), 32768))). + pow519 = pow58 * pow518; // pow(trace_generator, &(safe_div(((483 * global_values.trace_length)), 65536))). + pow520 = pow58 * pow519; // pow(trace_generator, &(safe_div(((121 * global_values.trace_length)), 16384))). + pow521 = pow58 * pow520; // pow(trace_generator, &(safe_div(((485 * global_values.trace_length)), 65536))). + pow522 = pow58 * pow521; // pow(trace_generator, &(safe_div(((243 * global_values.trace_length)), 32768))). + pow523 = pow58 * pow522; // pow(trace_generator, &(safe_div(((487 * global_values.trace_length)), 65536))). + pow524 = pow58 * pow523; // pow(trace_generator, &(safe_div(((61 * global_values.trace_length)), 8192))). + pow525 = pow58 * pow524; // pow(trace_generator, &(safe_div(((489 * global_values.trace_length)), 65536))). + pow526 = pow58 * pow525; // pow(trace_generator, &(safe_div(((245 * global_values.trace_length)), 32768))). + pow527 = pow58 * pow526; // pow(trace_generator, &(safe_div(((491 * global_values.trace_length)), 65536))). + pow528 = pow58 * pow527; // pow(trace_generator, &(safe_div(((123 * global_values.trace_length)), 16384))). + pow529 = pow58 * pow528; // pow(trace_generator, &(safe_div(((493 * global_values.trace_length)), 65536))). + pow530 = pow58 * pow529; // pow(trace_generator, &(safe_div(((247 * global_values.trace_length)), 32768))). + pow531 = pow58 * pow530; // pow(trace_generator, &(safe_div(((495 * global_values.trace_length)), 65536))). + pow532 = pow58 * pow531; // pow(trace_generator, &(safe_div(((31 * global_values.trace_length)), 4096))). + pow533 = pow58 * pow532; // pow(trace_generator, &(safe_div(((497 * global_values.trace_length)), 65536))). + pow534 = pow58 * pow533; // pow(trace_generator, &(safe_div(((249 * global_values.trace_length)), 32768))). + pow535 = pow58 * pow534; // pow(trace_generator, &(safe_div(((499 * global_values.trace_length)), 65536))). + pow536 = pow58 * pow535; // pow(trace_generator, &(safe_div(((125 * global_values.trace_length)), 16384))). + pow537 = pow58 * pow536; // pow(trace_generator, &(safe_div(((501 * global_values.trace_length)), 65536))). + pow538 = pow58 * pow537; // pow(trace_generator, &(safe_div(((251 * global_values.trace_length)), 32768))). + pow539 = pow58 * pow538; // pow(trace_generator, &(safe_div(((503 * global_values.trace_length)), 65536))). + pow540 = pow58 * pow539; // pow(trace_generator, &(safe_div(((63 * global_values.trace_length)), 8192))). + pow541 = pow58 * pow540; // pow(trace_generator, &(safe_div(((505 * global_values.trace_length)), 65536))). + pow542 = pow58 * pow541; // pow(trace_generator, &(safe_div(((253 * global_values.trace_length)), 32768))). + pow543 = pow58 * pow542; // pow(trace_generator, &(safe_div(((507 * global_values.trace_length)), 65536))). + pow544 = pow58 * pow543; // pow(trace_generator, &(safe_div(((127 * global_values.trace_length)), 16384))). + pow545 = pow58 * pow544; // pow(trace_generator, &(safe_div(((509 * global_values.trace_length)), 65536))). + pow546 = pow67 * pow545; // pow(trace_generator, &(safe_div(global_values.trace_length, 128))). + pow547 = pow58 * pow546; // pow(trace_generator, &(safe_div(((513 * global_values.trace_length)), 65536))). + pow548 = pow58 * pow547; // pow(trace_generator, &(safe_div(((257 * global_values.trace_length)), 32768))). + pow549 = pow58 * pow548; // pow(trace_generator, &(safe_div(((515 * global_values.trace_length)), 65536))). + pow550 = pow58 * pow549; // pow(trace_generator, &(safe_div(((129 * global_values.trace_length)), 16384))). + pow551 = pow58 * pow550; // pow(trace_generator, &(safe_div(((517 * global_values.trace_length)), 65536))). + pow552 = pow58 * pow551; // pow(trace_generator, &(safe_div(((259 * global_values.trace_length)), 32768))). + pow553 = pow58 * pow552; // pow(trace_generator, &(safe_div(((519 * global_values.trace_length)), 65536))). + pow554 = pow58 * pow553; // pow(trace_generator, &(safe_div(((65 * global_values.trace_length)), 8192))). + pow555 = pow58 * pow554; // pow(trace_generator, &(safe_div(((521 * global_values.trace_length)), 65536))). + pow556 = pow58 * pow555; // pow(trace_generator, &(safe_div(((261 * global_values.trace_length)), 32768))). + pow557 = pow58 * pow556; // pow(trace_generator, &(safe_div(((523 * global_values.trace_length)), 65536))). + pow558 = pow58 * pow557; // pow(trace_generator, &(safe_div(((131 * global_values.trace_length)), 16384))). + pow559 = pow58 * pow558; // pow(trace_generator, &(safe_div(((525 * global_values.trace_length)), 65536))). + pow560 = pow58 * pow559; // pow(trace_generator, &(safe_div(((263 * global_values.trace_length)), 32768))). + pow561 = pow58 * pow560; // pow(trace_generator, &(safe_div(((527 * global_values.trace_length)), 65536))). + pow562 = pow58 * pow561; // pow(trace_generator, &(safe_div(((33 * global_values.trace_length)), 4096))). + pow563 = pow58 * pow562; // pow(trace_generator, &(safe_div(((529 * global_values.trace_length)), 65536))). + pow564 = pow58 * pow563; // pow(trace_generator, &(safe_div(((265 * global_values.trace_length)), 32768))). + pow565 = pow58 * pow564; // pow(trace_generator, &(safe_div(((531 * global_values.trace_length)), 65536))). + pow566 = pow58 * pow565; // pow(trace_generator, &(safe_div(((133 * global_values.trace_length)), 16384))). + pow567 = pow58 * pow566; // pow(trace_generator, &(safe_div(((533 * global_values.trace_length)), 65536))). + pow568 = pow58 * pow567; // pow(trace_generator, &(safe_div(((267 * global_values.trace_length)), 32768))). + pow569 = pow58 * pow568; // pow(trace_generator, &(safe_div(((535 * global_values.trace_length)), 65536))). + pow570 = pow58 * pow569; // pow(trace_generator, &(safe_div(((67 * global_values.trace_length)), 8192))). + pow571 = pow58 * pow570; // pow(trace_generator, &(safe_div(((537 * global_values.trace_length)), 65536))). + pow572 = pow58 * pow571; // pow(trace_generator, &(safe_div(((269 * global_values.trace_length)), 32768))). + pow573 = pow58 * pow572; // pow(trace_generator, &(safe_div(((539 * global_values.trace_length)), 65536))). + pow574 = pow58 * pow573; // pow(trace_generator, &(safe_div(((135 * global_values.trace_length)), 16384))). + pow575 = pow58 * pow574; // pow(trace_generator, &(safe_div(((541 * global_values.trace_length)), 65536))). + pow576 = pow67 * pow575; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 2048))). + pow577 = pow58 * pow576; // pow(trace_generator, &(safe_div(((545 * global_values.trace_length)), 65536))). + pow578 = pow58 * pow577; // pow(trace_generator, &(safe_div(((273 * global_values.trace_length)), 32768))). + pow579 = pow58 * pow578; // pow(trace_generator, &(safe_div(((547 * global_values.trace_length)), 65536))). + pow580 = pow58 * pow579; // pow(trace_generator, &(safe_div(((137 * global_values.trace_length)), 16384))). + pow581 = pow58 * pow580; // pow(trace_generator, &(safe_div(((549 * global_values.trace_length)), 65536))). + pow582 = pow58 * pow581; // pow(trace_generator, &(safe_div(((275 * global_values.trace_length)), 32768))). + pow583 = pow58 * pow582; // pow(trace_generator, &(safe_div(((551 * global_values.trace_length)), 65536))). + pow584 = pow58 * pow583; // pow(trace_generator, &(safe_div(((69 * global_values.trace_length)), 8192))). + pow585 = pow58 * pow584; // pow(trace_generator, &(safe_div(((553 * global_values.trace_length)), 65536))). + pow586 = pow58 * pow585; // pow(trace_generator, &(safe_div(((277 * global_values.trace_length)), 32768))). + pow587 = pow58 * pow586; // pow(trace_generator, &(safe_div(((555 * global_values.trace_length)), 65536))). + pow588 = pow58 * pow587; // pow(trace_generator, &(safe_div(((139 * global_values.trace_length)), 16384))). + pow589 = pow58 * pow588; // pow(trace_generator, &(safe_div(((557 * global_values.trace_length)), 65536))). + pow590 = pow58 * pow589; // pow(trace_generator, &(safe_div(((279 * global_values.trace_length)), 32768))). + pow591 = pow58 * pow590; // pow(trace_generator, &(safe_div(((559 * global_values.trace_length)), 65536))). + pow592 = pow58 * pow591; // pow(trace_generator, &(safe_div(((35 * global_values.trace_length)), 4096))). + pow593 = pow58 * pow592; // pow(trace_generator, &(safe_div(((561 * global_values.trace_length)), 65536))). + pow594 = pow58 * pow593; // pow(trace_generator, &(safe_div(((281 * global_values.trace_length)), 32768))). + pow595 = pow58 * pow594; // pow(trace_generator, &(safe_div(((563 * global_values.trace_length)), 65536))). + pow596 = pow58 * pow595; // pow(trace_generator, &(safe_div(((141 * global_values.trace_length)), 16384))). + pow597 = pow58 * pow596; // pow(trace_generator, &(safe_div(((565 * global_values.trace_length)), 65536))). + pow598 = pow58 * pow597; // pow(trace_generator, &(safe_div(((283 * global_values.trace_length)), 32768))). + pow599 = pow58 * pow598; // pow(trace_generator, &(safe_div(((567 * global_values.trace_length)), 65536))). + pow600 = pow58 * pow599; // pow(trace_generator, &(safe_div(((71 * global_values.trace_length)), 8192))). + pow601 = pow58 * pow600; // pow(trace_generator, &(safe_div(((569 * global_values.trace_length)), 65536))). + pow602 = pow58 * pow601; // pow(trace_generator, &(safe_div(((285 * global_values.trace_length)), 32768))). + pow603 = pow58 * pow602; // pow(trace_generator, &(safe_div(((571 * global_values.trace_length)), 65536))). + pow604 = pow58 * pow603; // pow(trace_generator, &(safe_div(((143 * global_values.trace_length)), 16384))). + pow605 = pow58 * pow604; // pow(trace_generator, &(safe_div(((573 * global_values.trace_length)), 65536))). + pow606 = pow67 * pow605; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024))). + pow607 = pow58 * pow606; // pow(trace_generator, &(safe_div(((577 * global_values.trace_length)), 65536))). + pow608 = pow58 * pow607; // pow(trace_generator, &(safe_div(((289 * global_values.trace_length)), 32768))). + pow609 = pow58 * pow608; // pow(trace_generator, &(safe_div(((579 * global_values.trace_length)), 65536))). + pow610 = pow58 * pow609; // pow(trace_generator, &(safe_div(((145 * global_values.trace_length)), 16384))). + pow611 = pow58 * pow610; // pow(trace_generator, &(safe_div(((581 * global_values.trace_length)), 65536))). + pow612 = pow58 * pow611; // pow(trace_generator, &(safe_div(((291 * global_values.trace_length)), 32768))). + pow613 = pow58 * pow612; // pow(trace_generator, &(safe_div(((583 * global_values.trace_length)), 65536))). + pow614 = pow58 * pow613; // pow(trace_generator, &(safe_div(((73 * global_values.trace_length)), 8192))). + pow615 = pow58 * pow614; // pow(trace_generator, &(safe_div(((585 * global_values.trace_length)), 65536))). + pow616 = pow58 * pow615; // pow(trace_generator, &(safe_div(((293 * global_values.trace_length)), 32768))). + pow617 = pow58 * pow616; // pow(trace_generator, &(safe_div(((587 * global_values.trace_length)), 65536))). + pow618 = pow58 * pow617; // pow(trace_generator, &(safe_div(((147 * global_values.trace_length)), 16384))). + pow619 = pow58 * pow618; // pow(trace_generator, &(safe_div(((589 * global_values.trace_length)), 65536))). + pow620 = pow58 * pow619; // pow(trace_generator, &(safe_div(((295 * global_values.trace_length)), 32768))). + pow621 = pow58 * pow620; // pow(trace_generator, &(safe_div(((591 * global_values.trace_length)), 65536))). + pow622 = pow58 * pow621; // pow(trace_generator, &(safe_div(((37 * global_values.trace_length)), 4096))). + pow623 = pow58 * pow622; // pow(trace_generator, &(safe_div(((593 * global_values.trace_length)), 65536))). + pow624 = pow58 * pow623; // pow(trace_generator, &(safe_div(((297 * global_values.trace_length)), 32768))). + pow625 = pow58 * pow624; // pow(trace_generator, &(safe_div(((595 * global_values.trace_length)), 65536))). + pow626 = pow58 * pow625; // pow(trace_generator, &(safe_div(((149 * global_values.trace_length)), 16384))). + pow627 = pow58 * pow626; // pow(trace_generator, &(safe_div(((597 * global_values.trace_length)), 65536))). + pow628 = pow58 * pow627; // pow(trace_generator, &(safe_div(((299 * global_values.trace_length)), 32768))). + pow629 = pow58 * pow628; // pow(trace_generator, &(safe_div(((599 * global_values.trace_length)), 65536))). + pow630 = pow58 * pow629; // pow(trace_generator, &(safe_div(((75 * global_values.trace_length)), 8192))). + pow631 = pow58 * pow630; // pow(trace_generator, &(safe_div(((601 * global_values.trace_length)), 65536))). + pow632 = pow58 * pow631; // pow(trace_generator, &(safe_div(((301 * global_values.trace_length)), 32768))). + pow633 = pow58 * pow632; // pow(trace_generator, &(safe_div(((603 * global_values.trace_length)), 65536))). + pow634 = pow58 * pow633; // pow(trace_generator, &(safe_div(((151 * global_values.trace_length)), 16384))). + pow635 = pow58 * pow634; // pow(trace_generator, &(safe_div(((605 * global_values.trace_length)), 65536))). + pow636 = pow67 * pow635; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 2048))). + pow637 = pow58 * pow636; // pow(trace_generator, &(safe_div(((609 * global_values.trace_length)), 65536))). + pow638 = pow58 * pow637; // pow(trace_generator, &(safe_div(((305 * global_values.trace_length)), 32768))). + pow639 = pow58 * pow638; // pow(trace_generator, &(safe_div(((611 * global_values.trace_length)), 65536))). + pow640 = pow58 * pow639; // pow(trace_generator, &(safe_div(((153 * global_values.trace_length)), 16384))). + pow641 = pow58 * pow640; // pow(trace_generator, &(safe_div(((613 * global_values.trace_length)), 65536))). + pow642 = pow58 * pow641; // pow(trace_generator, &(safe_div(((307 * global_values.trace_length)), 32768))). + pow643 = pow58 * pow642; // pow(trace_generator, &(safe_div(((615 * global_values.trace_length)), 65536))). + pow644 = pow58 * pow643; // pow(trace_generator, &(safe_div(((77 * global_values.trace_length)), 8192))). + pow645 = pow58 * pow644; // pow(trace_generator, &(safe_div(((617 * global_values.trace_length)), 65536))). + pow646 = pow58 * pow645; // pow(trace_generator, &(safe_div(((309 * global_values.trace_length)), 32768))). + pow647 = pow58 * pow646; // pow(trace_generator, &(safe_div(((619 * global_values.trace_length)), 65536))). + pow648 = pow58 * pow647; // pow(trace_generator, &(safe_div(((155 * global_values.trace_length)), 16384))). + pow649 = pow58 * pow648; // pow(trace_generator, &(safe_div(((621 * global_values.trace_length)), 65536))). + pow650 = pow58 * pow649; // pow(trace_generator, &(safe_div(((311 * global_values.trace_length)), 32768))). + pow651 = pow58 * pow650; // pow(trace_generator, &(safe_div(((623 * global_values.trace_length)), 65536))). + pow652 = pow58 * pow651; // pow(trace_generator, &(safe_div(((39 * global_values.trace_length)), 4096))). + pow653 = pow58 * pow652; // pow(trace_generator, &(safe_div(((625 * global_values.trace_length)), 65536))). + pow654 = pow58 * pow653; // pow(trace_generator, &(safe_div(((313 * global_values.trace_length)), 32768))). + pow655 = pow58 * pow654; // pow(trace_generator, &(safe_div(((627 * global_values.trace_length)), 65536))). + pow656 = pow58 * pow655; // pow(trace_generator, &(safe_div(((157 * global_values.trace_length)), 16384))). + pow657 = pow58 * pow656; // pow(trace_generator, &(safe_div(((629 * global_values.trace_length)), 65536))). + pow658 = pow58 * pow657; // pow(trace_generator, &(safe_div(((315 * global_values.trace_length)), 32768))). + pow659 = pow58 * pow658; // pow(trace_generator, &(safe_div(((631 * global_values.trace_length)), 65536))). + pow660 = pow58 * pow659; // pow(trace_generator, &(safe_div(((79 * global_values.trace_length)), 8192))). + pow661 = pow58 * pow660; // pow(trace_generator, &(safe_div(((633 * global_values.trace_length)), 65536))). + pow662 = pow58 * pow661; // pow(trace_generator, &(safe_div(((317 * global_values.trace_length)), 32768))). + pow663 = pow58 * pow662; // pow(trace_generator, &(safe_div(((635 * global_values.trace_length)), 65536))). + pow664 = pow58 * pow663; // pow(trace_generator, &(safe_div(((159 * global_values.trace_length)), 16384))). + pow665 = pow58 * pow664; // pow(trace_generator, &(safe_div(((637 * global_values.trace_length)), 65536))). + pow666 = pow67 * pow665; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512))). + pow667 = pow58 * pow666; // pow(trace_generator, &(safe_div(((641 * global_values.trace_length)), 65536))). + pow668 = pow58 * pow667; // pow(trace_generator, &(safe_div(((321 * global_values.trace_length)), 32768))). + pow669 = pow58 * pow668; // pow(trace_generator, &(safe_div(((643 * global_values.trace_length)), 65536))). + pow670 = pow58 * pow669; // pow(trace_generator, &(safe_div(((161 * global_values.trace_length)), 16384))). + pow671 = pow58 * pow670; // pow(trace_generator, &(safe_div(((645 * global_values.trace_length)), 65536))). + pow672 = pow58 * pow671; // pow(trace_generator, &(safe_div(((323 * global_values.trace_length)), 32768))). + pow673 = pow58 * pow672; // pow(trace_generator, &(safe_div(((647 * global_values.trace_length)), 65536))). + pow674 = pow58 * pow673; // pow(trace_generator, &(safe_div(((81 * global_values.trace_length)), 8192))). + pow675 = pow58 * pow674; // pow(trace_generator, &(safe_div(((649 * global_values.trace_length)), 65536))). + pow676 = pow58 * pow675; // pow(trace_generator, &(safe_div(((325 * global_values.trace_length)), 32768))). + pow677 = pow58 * pow676; // pow(trace_generator, &(safe_div(((651 * global_values.trace_length)), 65536))). + pow678 = pow58 * pow677; // pow(trace_generator, &(safe_div(((163 * global_values.trace_length)), 16384))). + pow679 = pow58 * pow678; // pow(trace_generator, &(safe_div(((653 * global_values.trace_length)), 65536))). + pow680 = pow58 * pow679; // pow(trace_generator, &(safe_div(((327 * global_values.trace_length)), 32768))). + pow681 = pow58 * pow680; // pow(trace_generator, &(safe_div(((655 * global_values.trace_length)), 65536))). + pow682 = pow58 * pow681; // pow(trace_generator, &(safe_div(((41 * global_values.trace_length)), 4096))). + pow683 = pow58 * pow682; // pow(trace_generator, &(safe_div(((657 * global_values.trace_length)), 65536))). + pow684 = pow58 * pow683; // pow(trace_generator, &(safe_div(((329 * global_values.trace_length)), 32768))). + pow685 = pow58 * pow684; // pow(trace_generator, &(safe_div(((659 * global_values.trace_length)), 65536))). + pow686 = pow58 * pow685; // pow(trace_generator, &(safe_div(((165 * global_values.trace_length)), 16384))). + pow687 = pow58 * pow686; // pow(trace_generator, &(safe_div(((661 * global_values.trace_length)), 65536))). + pow688 = pow58 * pow687; // pow(trace_generator, &(safe_div(((331 * global_values.trace_length)), 32768))). + pow689 = pow58 * pow688; // pow(trace_generator, &(safe_div(((663 * global_values.trace_length)), 65536))). + pow690 = pow58 * pow689; // pow(trace_generator, &(safe_div(((83 * global_values.trace_length)), 8192))). + pow691 = pow58 * pow690; // pow(trace_generator, &(safe_div(((665 * global_values.trace_length)), 65536))). + pow692 = pow58 * pow691; // pow(trace_generator, &(safe_div(((333 * global_values.trace_length)), 32768))). + pow693 = pow58 * pow692; // pow(trace_generator, &(safe_div(((667 * global_values.trace_length)), 65536))). + pow694 = pow58 * pow693; // pow(trace_generator, &(safe_div(((167 * global_values.trace_length)), 16384))). + pow695 = pow58 * pow694; // pow(trace_generator, &(safe_div(((669 * global_values.trace_length)), 65536))). + pow696 = pow67 * pow695; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 2048))). + pow697 = pow58 * pow696; // pow(trace_generator, &(safe_div(((673 * global_values.trace_length)), 65536))). + pow698 = pow58 * pow697; // pow(trace_generator, &(safe_div(((337 * global_values.trace_length)), 32768))). + pow699 = pow58 * pow698; // pow(trace_generator, &(safe_div(((675 * global_values.trace_length)), 65536))). + pow700 = pow58 * pow699; // pow(trace_generator, &(safe_div(((169 * global_values.trace_length)), 16384))). + pow701 = pow58 * pow700; // pow(trace_generator, &(safe_div(((677 * global_values.trace_length)), 65536))). + pow702 = pow58 * pow701; // pow(trace_generator, &(safe_div(((339 * global_values.trace_length)), 32768))). + pow703 = pow58 * pow702; // pow(trace_generator, &(safe_div(((679 * global_values.trace_length)), 65536))). + pow704 = pow58 * pow703; // pow(trace_generator, &(safe_div(((85 * global_values.trace_length)), 8192))). + pow705 = pow58 * pow704; // pow(trace_generator, &(safe_div(((681 * global_values.trace_length)), 65536))). + pow706 = pow58 * pow705; // pow(trace_generator, &(safe_div(((341 * global_values.trace_length)), 32768))). + pow707 = pow58 * pow706; // pow(trace_generator, &(safe_div(((683 * global_values.trace_length)), 65536))). + pow708 = pow58 * pow707; // pow(trace_generator, &(safe_div(((171 * global_values.trace_length)), 16384))). + pow709 = pow58 * pow708; // pow(trace_generator, &(safe_div(((685 * global_values.trace_length)), 65536))). + pow710 = pow58 * pow709; // pow(trace_generator, &(safe_div(((343 * global_values.trace_length)), 32768))). + pow711 = pow58 * pow710; // pow(trace_generator, &(safe_div(((687 * global_values.trace_length)), 65536))). + pow712 = pow58 * pow711; // pow(trace_generator, &(safe_div(((43 * global_values.trace_length)), 4096))). + pow713 = pow58 * pow712; // pow(trace_generator, &(safe_div(((689 * global_values.trace_length)), 65536))). + pow714 = pow58 * pow713; // pow(trace_generator, &(safe_div(((345 * global_values.trace_length)), 32768))). + pow715 = pow58 * pow714; // pow(trace_generator, &(safe_div(((691 * global_values.trace_length)), 65536))). + pow716 = pow58 * pow715; // pow(trace_generator, &(safe_div(((173 * global_values.trace_length)), 16384))). + pow717 = pow58 * pow716; // pow(trace_generator, &(safe_div(((693 * global_values.trace_length)), 65536))). + pow718 = pow58 * pow717; // pow(trace_generator, &(safe_div(((347 * global_values.trace_length)), 32768))). + pow719 = pow58 * pow718; // pow(trace_generator, &(safe_div(((695 * global_values.trace_length)), 65536))). + pow720 = pow58 * pow719; // pow(trace_generator, &(safe_div(((87 * global_values.trace_length)), 8192))). + pow721 = pow58 * pow720; // pow(trace_generator, &(safe_div(((697 * global_values.trace_length)), 65536))). + pow722 = pow58 * pow721; // pow(trace_generator, &(safe_div(((349 * global_values.trace_length)), 32768))). + pow723 = pow58 * pow722; // pow(trace_generator, &(safe_div(((699 * global_values.trace_length)), 65536))). + pow724 = pow58 * pow723; // pow(trace_generator, &(safe_div(((175 * global_values.trace_length)), 16384))). + pow725 = pow58 * pow724; // pow(trace_generator, &(safe_div(((701 * global_values.trace_length)), 65536))). + pow726 = pow67 * pow725; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024))). + pow727 = pow58 * pow726; // pow(trace_generator, &(safe_div(((705 * global_values.trace_length)), 65536))). + pow728 = pow58 * pow727; // pow(trace_generator, &(safe_div(((353 * global_values.trace_length)), 32768))). + pow729 = pow58 * pow728; // pow(trace_generator, &(safe_div(((707 * global_values.trace_length)), 65536))). + pow730 = pow58 * pow729; // pow(trace_generator, &(safe_div(((177 * global_values.trace_length)), 16384))). + pow731 = pow58 * pow730; // pow(trace_generator, &(safe_div(((709 * global_values.trace_length)), 65536))). + pow732 = pow58 * pow731; // pow(trace_generator, &(safe_div(((355 * global_values.trace_length)), 32768))). + pow733 = pow58 * pow732; // pow(trace_generator, &(safe_div(((711 * global_values.trace_length)), 65536))). + pow734 = pow58 * pow733; // pow(trace_generator, &(safe_div(((89 * global_values.trace_length)), 8192))). + pow735 = pow58 * pow734; // pow(trace_generator, &(safe_div(((713 * global_values.trace_length)), 65536))). + pow736 = pow58 * pow735; // pow(trace_generator, &(safe_div(((357 * global_values.trace_length)), 32768))). + pow737 = pow58 * pow736; // pow(trace_generator, &(safe_div(((715 * global_values.trace_length)), 65536))). + pow738 = pow58 * pow737; // pow(trace_generator, &(safe_div(((179 * global_values.trace_length)), 16384))). + pow739 = pow58 * pow738; // pow(trace_generator, &(safe_div(((717 * global_values.trace_length)), 65536))). + pow740 = pow58 * pow739; // pow(trace_generator, &(safe_div(((359 * global_values.trace_length)), 32768))). + pow741 = pow58 * pow740; // pow(trace_generator, &(safe_div(((719 * global_values.trace_length)), 65536))). + pow742 = pow58 * pow741; // pow(trace_generator, &(safe_div(((45 * global_values.trace_length)), 4096))). + pow743 = pow58 * pow742; // pow(trace_generator, &(safe_div(((721 * global_values.trace_length)), 65536))). + pow744 = pow58 * pow743; // pow(trace_generator, &(safe_div(((361 * global_values.trace_length)), 32768))). + pow745 = pow58 * pow744; // pow(trace_generator, &(safe_div(((723 * global_values.trace_length)), 65536))). + pow746 = pow58 * pow745; // pow(trace_generator, &(safe_div(((181 * global_values.trace_length)), 16384))). + pow747 = pow58 * pow746; // pow(trace_generator, &(safe_div(((725 * global_values.trace_length)), 65536))). + pow748 = pow58 * pow747; // pow(trace_generator, &(safe_div(((363 * global_values.trace_length)), 32768))). + pow749 = pow58 * pow748; // pow(trace_generator, &(safe_div(((727 * global_values.trace_length)), 65536))). + pow750 = pow58 * pow749; // pow(trace_generator, &(safe_div(((91 * global_values.trace_length)), 8192))). + pow751 = pow58 * pow750; // pow(trace_generator, &(safe_div(((729 * global_values.trace_length)), 65536))). + pow752 = pow58 * pow751; // pow(trace_generator, &(safe_div(((365 * global_values.trace_length)), 32768))). + pow753 = pow58 * pow752; // pow(trace_generator, &(safe_div(((731 * global_values.trace_length)), 65536))). + pow754 = pow58 * pow753; // pow(trace_generator, &(safe_div(((183 * global_values.trace_length)), 16384))). + pow755 = pow58 * pow754; // pow(trace_generator, &(safe_div(((733 * global_values.trace_length)), 65536))). + pow756 = pow67 * pow755; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 2048))). + pow757 = pow58 * pow756; // pow(trace_generator, &(safe_div(((737 * global_values.trace_length)), 65536))). + pow758 = pow58 * pow757; // pow(trace_generator, &(safe_div(((369 * global_values.trace_length)), 32768))). + pow759 = pow58 * pow758; // pow(trace_generator, &(safe_div(((739 * global_values.trace_length)), 65536))). + pow760 = pow58 * pow759; // pow(trace_generator, &(safe_div(((185 * global_values.trace_length)), 16384))). + pow761 = pow58 * pow760; // pow(trace_generator, &(safe_div(((741 * global_values.trace_length)), 65536))). + pow762 = pow58 * pow761; // pow(trace_generator, &(safe_div(((371 * global_values.trace_length)), 32768))). + pow763 = pow58 * pow762; // pow(trace_generator, &(safe_div(((743 * global_values.trace_length)), 65536))). + pow764 = pow58 * pow763; // pow(trace_generator, &(safe_div(((93 * global_values.trace_length)), 8192))). + pow765 = pow58 * pow764; // pow(trace_generator, &(safe_div(((745 * global_values.trace_length)), 65536))). + pow766 = pow58 * pow765; // pow(trace_generator, &(safe_div(((373 * global_values.trace_length)), 32768))). + pow767 = pow58 * pow766; // pow(trace_generator, &(safe_div(((747 * global_values.trace_length)), 65536))). + pow768 = pow58 * pow767; // pow(trace_generator, &(safe_div(((187 * global_values.trace_length)), 16384))). + pow769 = pow58 * pow768; // pow(trace_generator, &(safe_div(((749 * global_values.trace_length)), 65536))). + pow770 = pow58 * pow769; // pow(trace_generator, &(safe_div(((375 * global_values.trace_length)), 32768))). + pow771 = pow58 * pow770; // pow(trace_generator, &(safe_div(((751 * global_values.trace_length)), 65536))). + pow772 = pow58 * pow771; // pow(trace_generator, &(safe_div(((47 * global_values.trace_length)), 4096))). + pow773 = pow58 * pow772; // pow(trace_generator, &(safe_div(((753 * global_values.trace_length)), 65536))). + pow774 = pow58 * pow773; // pow(trace_generator, &(safe_div(((377 * global_values.trace_length)), 32768))). + pow775 = pow58 * pow774; // pow(trace_generator, &(safe_div(((755 * global_values.trace_length)), 65536))). + pow776 = pow58 * pow775; // pow(trace_generator, &(safe_div(((189 * global_values.trace_length)), 16384))). + pow777 = pow58 * pow776; // pow(trace_generator, &(safe_div(((757 * global_values.trace_length)), 65536))). + pow778 = pow58 * pow777; // pow(trace_generator, &(safe_div(((379 * global_values.trace_length)), 32768))). + pow779 = pow58 * pow778; // pow(trace_generator, &(safe_div(((759 * global_values.trace_length)), 65536))). + pow780 = pow58 * pow779; // pow(trace_generator, &(safe_div(((95 * global_values.trace_length)), 8192))). + pow781 = pow58 * pow780; // pow(trace_generator, &(safe_div(((761 * global_values.trace_length)), 65536))). + pow782 = pow58 * pow781; // pow(trace_generator, &(safe_div(((381 * global_values.trace_length)), 32768))). + pow783 = pow58 * pow782; // pow(trace_generator, &(safe_div(((763 * global_values.trace_length)), 65536))). + pow784 = pow58 * pow783; // pow(trace_generator, &(safe_div(((191 * global_values.trace_length)), 16384))). + pow785 = pow58 * pow784; // pow(trace_generator, &(safe_div(((765 * global_values.trace_length)), 65536))). + pow786 = pow67 * pow785; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256))). + pow787 = pow58 * pow786; // pow(trace_generator, &(safe_div(((769 * global_values.trace_length)), 65536))). + pow788 = pow58 * pow787; // pow(trace_generator, &(safe_div(((385 * global_values.trace_length)), 32768))). + pow789 = pow58 * pow788; // pow(trace_generator, &(safe_div(((771 * global_values.trace_length)), 65536))). + pow790 = pow58 * pow789; // pow(trace_generator, &(safe_div(((193 * global_values.trace_length)), 16384))). + pow791 = pow58 * pow790; // pow(trace_generator, &(safe_div(((773 * global_values.trace_length)), 65536))). + pow792 = pow58 * pow791; // pow(trace_generator, &(safe_div(((387 * global_values.trace_length)), 32768))). + pow793 = pow58 * pow792; // pow(trace_generator, &(safe_div(((775 * global_values.trace_length)), 65536))). + pow794 = pow58 * pow793; // pow(trace_generator, &(safe_div(((97 * global_values.trace_length)), 8192))). + pow795 = pow58 * pow794; // pow(trace_generator, &(safe_div(((777 * global_values.trace_length)), 65536))). + pow796 = pow58 * pow795; // pow(trace_generator, &(safe_div(((389 * global_values.trace_length)), 32768))). + pow797 = pow58 * pow796; // pow(trace_generator, &(safe_div(((779 * global_values.trace_length)), 65536))). + pow798 = pow58 * pow797; // pow(trace_generator, &(safe_div(((195 * global_values.trace_length)), 16384))). + pow799 = pow58 * pow798; // pow(trace_generator, &(safe_div(((781 * global_values.trace_length)), 65536))). + pow800 = pow58 * pow799; // pow(trace_generator, &(safe_div(((391 * global_values.trace_length)), 32768))). + pow801 = pow58 * pow800; // pow(trace_generator, &(safe_div(((783 * global_values.trace_length)), 65536))). + pow802 = pow58 * pow801; // pow(trace_generator, &(safe_div(((49 * global_values.trace_length)), 4096))). + pow803 = pow58 * pow802; // pow(trace_generator, &(safe_div(((785 * global_values.trace_length)), 65536))). + pow804 = pow58 * pow803; // pow(trace_generator, &(safe_div(((393 * global_values.trace_length)), 32768))). + pow805 = pow58 * pow804; // pow(trace_generator, &(safe_div(((787 * global_values.trace_length)), 65536))). + pow806 = pow58 * pow805; // pow(trace_generator, &(safe_div(((197 * global_values.trace_length)), 16384))). + pow807 = pow58 * pow806; // pow(trace_generator, &(safe_div(((789 * global_values.trace_length)), 65536))). + pow808 = pow58 * pow807; // pow(trace_generator, &(safe_div(((395 * global_values.trace_length)), 32768))). + pow809 = pow58 * pow808; // pow(trace_generator, &(safe_div(((791 * global_values.trace_length)), 65536))). + pow810 = pow58 * pow809; // pow(trace_generator, &(safe_div(((99 * global_values.trace_length)), 8192))). + pow811 = pow58 * pow810; // pow(trace_generator, &(safe_div(((793 * global_values.trace_length)), 65536))). + pow812 = pow58 * pow811; // pow(trace_generator, &(safe_div(((397 * global_values.trace_length)), 32768))). + pow813 = pow58 * pow812; // pow(trace_generator, &(safe_div(((795 * global_values.trace_length)), 65536))). + pow814 = pow58 * pow813; // pow(trace_generator, &(safe_div(((199 * global_values.trace_length)), 16384))). + pow815 = pow58 * pow814; // pow(trace_generator, &(safe_div(((797 * global_values.trace_length)), 65536))). + pow816 = pow99 * pow815; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024))). + pow817 = pow126 * pow816; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512))). + pow818 = pow126 * pow817; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024))). + pow819 = pow126 * pow818; // pow(trace_generator, &(safe_div(global_values.trace_length, 64))). + pow820 = pow58 * pow819; // pow(trace_generator, &(safe_div(((1025 * global_values.trace_length)), 65536))). + pow821 = pow58 * pow820; // pow(trace_generator, &(safe_div(((513 * global_values.trace_length)), 32768))). + pow822 = pow58 * pow821; // pow(trace_generator, &(safe_div(((1027 * global_values.trace_length)), 65536))). + pow823 = pow58 * pow822; // pow(trace_generator, &(safe_div(((257 * global_values.trace_length)), 16384))). + pow824 = pow58 * pow823; // pow(trace_generator, &(safe_div(((1029 * global_values.trace_length)), 65536))). + pow825 = pow58 * pow824; // pow(trace_generator, &(safe_div(((515 * global_values.trace_length)), 32768))). + pow826 = pow58 * pow825; // pow(trace_generator, &(safe_div(((1031 * global_values.trace_length)), 65536))). + pow827 = pow58 * pow826; // pow(trace_generator, &(safe_div(((129 * global_values.trace_length)), 8192))). + pow828 = pow58 * pow827; // pow(trace_generator, &(safe_div(((1033 * global_values.trace_length)), 65536))). + pow829 = pow58 * pow828; // pow(trace_generator, &(safe_div(((517 * global_values.trace_length)), 32768))). + pow830 = pow58 * pow829; // pow(trace_generator, &(safe_div(((1035 * global_values.trace_length)), 65536))). + pow831 = pow58 * pow830; // pow(trace_generator, &(safe_div(((259 * global_values.trace_length)), 16384))). + pow832 = pow58 * pow831; // pow(trace_generator, &(safe_div(((1037 * global_values.trace_length)), 65536))). + pow833 = pow58 * pow832; // pow(trace_generator, &(safe_div(((519 * global_values.trace_length)), 32768))). + pow834 = pow58 * pow833; // pow(trace_generator, &(safe_div(((1039 * global_values.trace_length)), 65536))). + pow835 = pow58 * pow834; // pow(trace_generator, &(safe_div(((65 * global_values.trace_length)), 4096))). + pow836 = pow58 * pow835; // pow(trace_generator, &(safe_div(((1041 * global_values.trace_length)), 65536))). + pow837 = pow58 * pow836; // pow(trace_generator, &(safe_div(((521 * global_values.trace_length)), 32768))). + pow838 = pow58 * pow837; // pow(trace_generator, &(safe_div(((1043 * global_values.trace_length)), 65536))). + pow839 = pow58 * pow838; // pow(trace_generator, &(safe_div(((261 * global_values.trace_length)), 16384))). + pow840 = pow58 * pow839; // pow(trace_generator, &(safe_div(((1045 * global_values.trace_length)), 65536))). + pow841 = pow58 * pow840; // pow(trace_generator, &(safe_div(((523 * global_values.trace_length)), 32768))). + pow842 = pow58 * pow841; // pow(trace_generator, &(safe_div(((1047 * global_values.trace_length)), 65536))). + pow843 = pow105 * pow842; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024))). + pow844 = pow126 * pow843; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512))). + pow845 = pow126 * pow844; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024))). + pow846 = pow126 * pow845; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256))). + pow847 = pow126 * pow846; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024))). + pow848 = pow126 * pow847; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512))). + pow849 = pow126 * pow848; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024))). + pow850 = pow606 * pow849; // pow(trace_generator, &(safe_div(global_values.trace_length, 32))). + pow851 = pow58 * pow850; // pow(trace_generator, &(safe_div(((2049 * global_values.trace_length)), 65536))). + pow852 = pow58 * pow851; // pow(trace_generator, &(safe_div(((1025 * global_values.trace_length)), 32768))). + pow853 = pow58 * pow852; // pow(trace_generator, &(safe_div(((2051 * global_values.trace_length)), 65536))). + pow854 = pow58 * pow853; // pow(trace_generator, &(safe_div(((513 * global_values.trace_length)), 16384))). + pow855 = pow58 * pow854; // pow(trace_generator, &(safe_div(((2053 * global_values.trace_length)), 65536))). + pow856 = pow58 * pow855; // pow(trace_generator, &(safe_div(((1027 * global_values.trace_length)), 32768))). + pow857 = pow58 * pow856; // pow(trace_generator, &(safe_div(((2055 * global_values.trace_length)), 65536))). + pow858 = pow58 * pow857; // pow(trace_generator, &(safe_div(((257 * global_values.trace_length)), 8192))). + pow859 = pow58 * pow858; // pow(trace_generator, &(safe_div(((2057 * global_values.trace_length)), 65536))). + pow860 = pow58 * pow859; // pow(trace_generator, &(safe_div(((1029 * global_values.trace_length)), 32768))). + pow861 = pow58 * pow860; // pow(trace_generator, &(safe_div(((2059 * global_values.trace_length)), 65536))). + pow862 = pow58 * pow861; // pow(trace_generator, &(safe_div(((515 * global_values.trace_length)), 16384))). + pow863 = pow58 * pow862; // pow(trace_generator, &(safe_div(((2061 * global_values.trace_length)), 65536))). + pow864 = pow58 * pow863; // pow(trace_generator, &(safe_div(((1031 * global_values.trace_length)), 32768))). + pow865 = pow58 * pow864; // pow(trace_generator, &(safe_div(((2063 * global_values.trace_length)), 65536))). + pow866 = pow58 * pow865; // pow(trace_generator, &(safe_div(((129 * global_values.trace_length)), 4096))). + pow867 = pow58 * pow866; // pow(trace_generator, &(safe_div(((2065 * global_values.trace_length)), 65536))). + pow868 = pow58 * pow867; // pow(trace_generator, &(safe_div(((1033 * global_values.trace_length)), 32768))). + pow869 = pow58 * pow868; // pow(trace_generator, &(safe_div(((2067 * global_values.trace_length)), 65536))). + pow870 = pow58 * pow869; // pow(trace_generator, &(safe_div(((517 * global_values.trace_length)), 16384))). + pow871 = pow58 * pow870; // pow(trace_generator, &(safe_div(((2069 * global_values.trace_length)), 65536))). + pow872 = pow58 * pow871; // pow(trace_generator, &(safe_div(((1035 * global_values.trace_length)), 32768))). + pow873 = pow58 * pow872; // pow(trace_generator, &(safe_div(((2071 * global_values.trace_length)), 65536))). + pow874 = pow105 * pow873; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(global_values.trace_length, 32))). + pow875 = pow126 * pow874; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(global_values.trace_length, 32))). + pow876 = pow126 * pow875; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow877 = pow126 * pow876; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(global_values.trace_length, 32))). + pow878 = pow126 * pow877; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow879 = pow126 * pow878; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 32))). + pow880 = pow126 * pow879; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow881 = pow126 * pow880; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(global_values.trace_length, 32))). + pow882 = pow126 * pow881; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow883 = pow126 * pow882; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 32))). + pow884 = pow126 * pow883; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow885 = pow126 * pow884; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(global_values.trace_length, 32))). + pow886 = pow126 * pow885; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow887 = pow126 * pow886; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 32))). + pow888 = pow126 * pow887; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow889 = pow126 * pow888; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(global_values.trace_length, 32))). + pow890 = pow58 * pow889; // pow(trace_generator, &(safe_div(((3073 * global_values.trace_length)), 65536))). + pow891 = pow58 * pow890; // pow(trace_generator, &(safe_div(((1537 * global_values.trace_length)), 32768))). + pow892 = pow58 * pow891; // pow(trace_generator, &(safe_div(((3075 * global_values.trace_length)), 65536))). + pow893 = pow58 * pow892; // pow(trace_generator, &(safe_div(((769 * global_values.trace_length)), 16384))). + pow894 = pow58 * pow893; // pow(trace_generator, &(safe_div(((3077 * global_values.trace_length)), 65536))). + pow895 = pow58 * pow894; // pow(trace_generator, &(safe_div(((1539 * global_values.trace_length)), 32768))). + pow896 = pow58 * pow895; // pow(trace_generator, &(safe_div(((3079 * global_values.trace_length)), 65536))). + pow897 = pow58 * pow896; // pow(trace_generator, &(safe_div(((385 * global_values.trace_length)), 8192))). + pow898 = pow58 * pow897; // pow(trace_generator, &(safe_div(((3081 * global_values.trace_length)), 65536))). + pow899 = pow58 * pow898; // pow(trace_generator, &(safe_div(((1541 * global_values.trace_length)), 32768))). + pow900 = pow58 * pow899; // pow(trace_generator, &(safe_div(((3083 * global_values.trace_length)), 65536))). + pow901 = pow58 * pow900; // pow(trace_generator, &(safe_div(((771 * global_values.trace_length)), 16384))). + pow902 = pow58 * pow901; // pow(trace_generator, &(safe_div(((3085 * global_values.trace_length)), 65536))). + pow903 = pow58 * pow902; // pow(trace_generator, &(safe_div(((1543 * global_values.trace_length)), 32768))). + pow904 = pow58 * pow903; // pow(trace_generator, &(safe_div(((3087 * global_values.trace_length)), 65536))). + pow905 = pow58 * pow904; // pow(trace_generator, &(safe_div(((193 * global_values.trace_length)), 4096))). + pow906 = pow58 * pow905; // pow(trace_generator, &(safe_div(((3089 * global_values.trace_length)), 65536))). + pow907 = pow58 * pow906; // pow(trace_generator, &(safe_div(((1545 * global_values.trace_length)), 32768))). + pow908 = pow58 * pow907; // pow(trace_generator, &(safe_div(((3091 * global_values.trace_length)), 65536))). + pow909 = pow58 * pow908; // pow(trace_generator, &(safe_div(((773 * global_values.trace_length)), 16384))). + pow910 = pow58 * pow909; // pow(trace_generator, &(safe_div(((3093 * global_values.trace_length)), 65536))). + pow911 = pow58 * pow910; // pow(trace_generator, &(safe_div(((1547 * global_values.trace_length)), 32768))). + pow912 = pow58 * pow911; // pow(trace_generator, &(safe_div(((3095 * global_values.trace_length)), 65536))). + pow913 = pow105 * pow912; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow914 = pow126 * pow913; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 32))). + pow915 = pow126 * pow914; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow916 = pow126 * pow915; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(global_values.trace_length, 32))). + pow917 = pow126 * pow916; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow918 = pow126 * pow917; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 32))). + pow919 = pow126 * pow918; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 32))). + pow920 = pow606 * pow919; // pow(trace_generator, &(safe_div(global_values.trace_length, 16))). + pow921 = pow58 * pow920; // pow(trace_generator, &(safe_div(((4097 * global_values.trace_length)), 65536))). + pow922 = pow58 * pow921; // pow(trace_generator, &(safe_div(((2049 * global_values.trace_length)), 32768))). + pow923 = pow58 * pow922; // pow(trace_generator, &(safe_div(((4099 * global_values.trace_length)), 65536))). + pow924 = pow58 * pow923; // pow(trace_generator, &(safe_div(((1025 * global_values.trace_length)), 16384))). + pow925 = pow58 * pow924; // pow(trace_generator, &(safe_div(((4101 * global_values.trace_length)), 65536))). + pow926 = pow58 * pow925; // pow(trace_generator, &(safe_div(((2051 * global_values.trace_length)), 32768))). + pow927 = pow58 * pow926; // pow(trace_generator, &(safe_div(((4103 * global_values.trace_length)), 65536))). + pow928 = pow58 * pow927; // pow(trace_generator, &(safe_div(((513 * global_values.trace_length)), 8192))). + pow929 = pow58 * pow928; // pow(trace_generator, &(safe_div(((4105 * global_values.trace_length)), 65536))). + pow930 = pow58 * pow929; // pow(trace_generator, &(safe_div(((2053 * global_values.trace_length)), 32768))). + pow931 = pow58 * pow930; // pow(trace_generator, &(safe_div(((4107 * global_values.trace_length)), 65536))). + pow932 = pow58 * pow931; // pow(trace_generator, &(safe_div(((1027 * global_values.trace_length)), 16384))). + pow933 = pow58 * pow932; // pow(trace_generator, &(safe_div(((4109 * global_values.trace_length)), 65536))). + pow934 = pow58 * pow933; // pow(trace_generator, &(safe_div(((2055 * global_values.trace_length)), 32768))). + pow935 = pow58 * pow934; // pow(trace_generator, &(safe_div(((4111 * global_values.trace_length)), 65536))). + pow936 = pow58 * pow935; // pow(trace_generator, &(safe_div(((257 * global_values.trace_length)), 4096))). + pow937 = pow58 * pow936; // pow(trace_generator, &(safe_div(((4113 * global_values.trace_length)), 65536))). + pow938 = pow58 * pow937; // pow(trace_generator, &(safe_div(((2057 * global_values.trace_length)), 32768))). + pow939 = pow58 * pow938; // pow(trace_generator, &(safe_div(((4115 * global_values.trace_length)), 65536))). + pow940 = pow58 * pow939; // pow(trace_generator, &(safe_div(((1029 * global_values.trace_length)), 16384))). + pow941 = pow58 * pow940; // pow(trace_generator, &(safe_div(((4117 * global_values.trace_length)), 65536))). + pow942 = pow58 * pow941; // pow(trace_generator, &(safe_div(((2059 * global_values.trace_length)), 32768))). + pow943 = pow58 * pow942; // pow(trace_generator, &(safe_div(((4119 * global_values.trace_length)), 65536))). + pow944 = pow105 * pow943; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(global_values.trace_length, 16))). + pow945 = pow126 * pow944; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(global_values.trace_length, 16))). + pow946 = pow126 * pow945; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow947 = pow126 * pow946; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(global_values.trace_length, 16))). + pow948 = pow126 * pow947; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow949 = pow126 * pow948; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 16))). + pow950 = pow126 * pow949; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow951 = pow126 * pow950; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(global_values.trace_length, 16))). + pow952 = pow126 * pow951; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow953 = pow126 * pow952; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 16))). + pow954 = pow126 * pow953; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow955 = pow126 * pow954; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(global_values.trace_length, 16))). + pow956 = pow126 * pow955; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow957 = pow126 * pow956; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 16))). + pow958 = pow126 * pow957; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow959 = pow126 * pow958; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(global_values.trace_length, 16))). + pow960 = pow58 * pow959; // pow(trace_generator, &(safe_div(((5121 * global_values.trace_length)), 65536))). + pow961 = pow58 * pow960; // pow(trace_generator, &(safe_div(((2561 * global_values.trace_length)), 32768))). + pow962 = pow58 * pow961; // pow(trace_generator, &(safe_div(((5123 * global_values.trace_length)), 65536))). + pow963 = pow58 * pow962; // pow(trace_generator, &(safe_div(((1281 * global_values.trace_length)), 16384))). + pow964 = pow58 * pow963; // pow(trace_generator, &(safe_div(((5125 * global_values.trace_length)), 65536))). + pow965 = pow58 * pow964; // pow(trace_generator, &(safe_div(((2563 * global_values.trace_length)), 32768))). + pow966 = pow58 * pow965; // pow(trace_generator, &(safe_div(((5127 * global_values.trace_length)), 65536))). + pow967 = pow58 * pow966; // pow(trace_generator, &(safe_div(((641 * global_values.trace_length)), 8192))). + pow968 = pow58 * pow967; // pow(trace_generator, &(safe_div(((5129 * global_values.trace_length)), 65536))). + pow969 = pow58 * pow968; // pow(trace_generator, &(safe_div(((2565 * global_values.trace_length)), 32768))). + pow970 = pow58 * pow969; // pow(trace_generator, &(safe_div(((5131 * global_values.trace_length)), 65536))). + pow971 = pow58 * pow970; // pow(trace_generator, &(safe_div(((1283 * global_values.trace_length)), 16384))). + pow972 = pow58 * pow971; // pow(trace_generator, &(safe_div(((5133 * global_values.trace_length)), 65536))). + pow973 = pow58 * pow972; // pow(trace_generator, &(safe_div(((2567 * global_values.trace_length)), 32768))). + pow974 = pow58 * pow973; // pow(trace_generator, &(safe_div(((5135 * global_values.trace_length)), 65536))). + pow975 = pow58 * pow974; // pow(trace_generator, &(safe_div(((321 * global_values.trace_length)), 4096))). + pow976 = pow58 * pow975; // pow(trace_generator, &(safe_div(((5137 * global_values.trace_length)), 65536))). + pow977 = pow58 * pow976; // pow(trace_generator, &(safe_div(((2569 * global_values.trace_length)), 32768))). + pow978 = pow58 * pow977; // pow(trace_generator, &(safe_div(((5139 * global_values.trace_length)), 65536))). + pow979 = pow58 * pow978; // pow(trace_generator, &(safe_div(((1285 * global_values.trace_length)), 16384))). + pow980 = pow58 * pow979; // pow(trace_generator, &(safe_div(((5141 * global_values.trace_length)), 65536))). + pow981 = pow58 * pow980; // pow(trace_generator, &(safe_div(((2571 * global_values.trace_length)), 32768))). + pow982 = pow58 * pow981; // pow(trace_generator, &(safe_div(((5143 * global_values.trace_length)), 65536))). + pow983 = pow105 * pow982; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow984 = pow126 * pow983; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 16))). + pow985 = pow126 * pow984; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow986 = pow126 * pow985; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(global_values.trace_length, 16))). + pow987 = pow126 * pow986; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow988 = pow126 * pow987; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 16))). + pow989 = pow126 * pow988; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 16))). + pow990 = pow606 * pow989; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 32))). + pow991 = pow58 * pow990; // pow(trace_generator, &(safe_div(((6145 * global_values.trace_length)), 65536))). + pow992 = pow58 * pow991; // pow(trace_generator, &(safe_div(((3073 * global_values.trace_length)), 32768))). + pow993 = pow58 * pow992; // pow(trace_generator, &(safe_div(((6147 * global_values.trace_length)), 65536))). + pow994 = pow58 * pow993; // pow(trace_generator, &(safe_div(((1537 * global_values.trace_length)), 16384))). + pow995 = pow58 * pow994; // pow(trace_generator, &(safe_div(((6149 * global_values.trace_length)), 65536))). + pow996 = pow58 * pow995; // pow(trace_generator, &(safe_div(((3075 * global_values.trace_length)), 32768))). + pow997 = pow58 * pow996; // pow(trace_generator, &(safe_div(((6151 * global_values.trace_length)), 65536))). + pow998 = pow58 * pow997; // pow(trace_generator, &(safe_div(((769 * global_values.trace_length)), 8192))). + pow999 = pow58 * pow998; // pow(trace_generator, &(safe_div(((6153 * global_values.trace_length)), 65536))). + pow1000 = pow58 * pow999; // pow(trace_generator, &(safe_div(((3077 * global_values.trace_length)), 32768))). + pow1001 = pow58 * pow1000; // pow(trace_generator, &(safe_div(((6155 * global_values.trace_length)), 65536))). + pow1002 = pow58 * pow1001; // pow(trace_generator, &(safe_div(((1539 * global_values.trace_length)), 16384))). + pow1003 = pow58 * pow1002; // pow(trace_generator, &(safe_div(((6157 * global_values.trace_length)), 65536))). + pow1004 = pow58 * pow1003; // pow(trace_generator, &(safe_div(((3079 * global_values.trace_length)), 32768))). + pow1005 = pow58 * pow1004; // pow(trace_generator, &(safe_div(((6159 * global_values.trace_length)), 65536))). + pow1006 = pow58 * pow1005; // pow(trace_generator, &(safe_div(((385 * global_values.trace_length)), 4096))). + pow1007 = pow58 * pow1006; // pow(trace_generator, &(safe_div(((6161 * global_values.trace_length)), 65536))). + pow1008 = pow58 * pow1007; // pow(trace_generator, &(safe_div(((3081 * global_values.trace_length)), 32768))). + pow1009 = pow58 * pow1008; // pow(trace_generator, &(safe_div(((6163 * global_values.trace_length)), 65536))). + pow1010 = pow58 * pow1009; // pow(trace_generator, &(safe_div(((1541 * global_values.trace_length)), 16384))). + pow1011 = pow58 * pow1010; // pow(trace_generator, &(safe_div(((6165 * global_values.trace_length)), 65536))). + pow1012 = pow58 * pow1011; // pow(trace_generator, &(safe_div(((3083 * global_values.trace_length)), 32768))). + pow1013 = pow58 * pow1012; // pow(trace_generator, &(safe_div(((6167 * global_values.trace_length)), 65536))). + pow1014 = pow819 * pow990; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 64))). + pow1015 = pow819 * pow1014; // pow(trace_generator, &(safe_div(global_values.trace_length, 8))). + pow1016 = pow819 * pow1015; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 64))). + pow1017 = pow58 * pow1014; // pow(trace_generator, &(safe_div(((7169 * global_values.trace_length)), 65536))). + pow1018 = pow58 * pow1015; // pow(trace_generator, &(safe_div(((8193 * global_values.trace_length)), 65536))). + pow1019 = pow58 * pow1016; // pow(trace_generator, &(safe_div(((9217 * global_values.trace_length)), 65536))). + pow1020 = pow58 * pow1017; // pow(trace_generator, &(safe_div(((3585 * global_values.trace_length)), 32768))). + pow1021 = pow58 * pow1018; // pow(trace_generator, &(safe_div(((4097 * global_values.trace_length)), 32768))). + pow1022 = pow58 * pow1019; // pow(trace_generator, &(safe_div(((4609 * global_values.trace_length)), 32768))). + pow1023 = pow58 * pow1020; // pow(trace_generator, &(safe_div(((7171 * global_values.trace_length)), 65536))). + pow1024 = pow58 * pow1021; // pow(trace_generator, &(safe_div(((8195 * global_values.trace_length)), 65536))). + pow1025 = pow58 * pow1022; // pow(trace_generator, &(safe_div(((9219 * global_values.trace_length)), 65536))). + pow1026 = pow58 * pow1023; // pow(trace_generator, &(safe_div(((1793 * global_values.trace_length)), 16384))). + pow1027 = pow58 * pow1024; // pow(trace_generator, &(safe_div(((2049 * global_values.trace_length)), 16384))). + pow1028 = pow58 * pow1025; // pow(trace_generator, &(safe_div(((2305 * global_values.trace_length)), 16384))). + pow1029 = pow58 * pow1026; // pow(trace_generator, &(safe_div(((7173 * global_values.trace_length)), 65536))). + pow1030 = pow58 * pow1027; // pow(trace_generator, &(safe_div(((8197 * global_values.trace_length)), 65536))). + pow1031 = pow58 * pow1028; // pow(trace_generator, &(safe_div(((9221 * global_values.trace_length)), 65536))). + pow1032 = pow58 * pow1029; // pow(trace_generator, &(safe_div(((3587 * global_values.trace_length)), 32768))). + pow1033 = pow58 * pow1030; // pow(trace_generator, &(safe_div(((4099 * global_values.trace_length)), 32768))). + pow1034 = pow58 * pow1031; // pow(trace_generator, &(safe_div(((4611 * global_values.trace_length)), 32768))). + pow1035 = pow58 * pow1032; // pow(trace_generator, &(safe_div(((7175 * global_values.trace_length)), 65536))). + pow1036 = pow58 * pow1035; // pow(trace_generator, &(safe_div(((897 * global_values.trace_length)), 8192))). + pow1037 = pow58 * pow1036; // pow(trace_generator, &(safe_div(((7177 * global_values.trace_length)), 65536))). + pow1038 = pow58 * pow1037; // pow(trace_generator, &(safe_div(((3589 * global_values.trace_length)), 32768))). + pow1039 = pow58 * pow1038; // pow(trace_generator, &(safe_div(((7179 * global_values.trace_length)), 65536))). + pow1040 = pow58 * pow1039; // pow(trace_generator, &(safe_div(((1795 * global_values.trace_length)), 16384))). + pow1041 = pow58 * pow1040; // pow(trace_generator, &(safe_div(((7181 * global_values.trace_length)), 65536))). + pow1042 = pow58 * pow1041; // pow(trace_generator, &(safe_div(((3591 * global_values.trace_length)), 32768))). + pow1043 = pow58 * pow1042; // pow(trace_generator, &(safe_div(((7183 * global_values.trace_length)), 65536))). + pow1044 = pow58 * pow1043; // pow(trace_generator, &(safe_div(((449 * global_values.trace_length)), 4096))). + pow1045 = pow58 * pow1044; // pow(trace_generator, &(safe_div(((7185 * global_values.trace_length)), 65536))). + pow1046 = pow58 * pow1045; // pow(trace_generator, &(safe_div(((3593 * global_values.trace_length)), 32768))). + pow1047 = pow58 * pow1046; // pow(trace_generator, &(safe_div(((7187 * global_values.trace_length)), 65536))). + pow1048 = pow58 * pow1047; // pow(trace_generator, &(safe_div(((1797 * global_values.trace_length)), 16384))). + pow1049 = pow58 * pow1048; // pow(trace_generator, &(safe_div(((7189 * global_values.trace_length)), 65536))). + pow1050 = pow58 * pow1049; // pow(trace_generator, &(safe_div(((3595 * global_values.trace_length)), 32768))). + pow1051 = pow58 * pow1050; // pow(trace_generator, &(safe_div(((7191 * global_values.trace_length)), 65536))). + pow1052 = pow58 * pow1033; // pow(trace_generator, &(safe_div(((8199 * global_values.trace_length)), 65536))). + pow1053 = pow58 * pow1052; // pow(trace_generator, &(safe_div(((1025 * global_values.trace_length)), 8192))). + pow1054 = pow58 * pow1053; // pow(trace_generator, &(safe_div(((8201 * global_values.trace_length)), 65536))). + pow1055 = pow58 * pow1054; // pow(trace_generator, &(safe_div(((4101 * global_values.trace_length)), 32768))). + pow1056 = pow58 * pow1055; // pow(trace_generator, &(safe_div(((8203 * global_values.trace_length)), 65536))). + pow1057 = pow58 * pow1056; // pow(trace_generator, &(safe_div(((2051 * global_values.trace_length)), 16384))). + pow1058 = pow58 * pow1057; // pow(trace_generator, &(safe_div(((8205 * global_values.trace_length)), 65536))). + pow1059 = pow58 * pow1058; // pow(trace_generator, &(safe_div(((4103 * global_values.trace_length)), 32768))). + pow1060 = pow58 * pow1059; // pow(trace_generator, &(safe_div(((8207 * global_values.trace_length)), 65536))). + pow1061 = pow58 * pow1060; // pow(trace_generator, &(safe_div(((513 * global_values.trace_length)), 4096))). + pow1062 = pow58 * pow1061; // pow(trace_generator, &(safe_div(((8209 * global_values.trace_length)), 65536))). + pow1063 = pow58 * pow1062; // pow(trace_generator, &(safe_div(((4105 * global_values.trace_length)), 32768))). + pow1064 = pow58 * pow1063; // pow(trace_generator, &(safe_div(((8211 * global_values.trace_length)), 65536))). + pow1065 = pow58 * pow1064; // pow(trace_generator, &(safe_div(((2053 * global_values.trace_length)), 16384))). + pow1066 = pow58 * pow1065; // pow(trace_generator, &(safe_div(((8213 * global_values.trace_length)), 65536))). + pow1067 = pow58 * pow1066; // pow(trace_generator, &(safe_div(((4107 * global_values.trace_length)), 32768))). + pow1068 = pow58 * pow1067; // pow(trace_generator, &(safe_div(((8215 * global_values.trace_length)), 65536))). + pow1069 = pow58 * pow1034; // pow(trace_generator, &(safe_div(((9223 * global_values.trace_length)), 65536))). + pow1070 = pow58 * pow1069; // pow(trace_generator, &(safe_div(((1153 * global_values.trace_length)), 8192))). + pow1071 = pow58 * pow1070; // pow(trace_generator, &(safe_div(((9225 * global_values.trace_length)), 65536))). + pow1072 = pow58 * pow1071; // pow(trace_generator, &(safe_div(((4613 * global_values.trace_length)), 32768))). + pow1073 = pow58 * pow1072; // pow(trace_generator, &(safe_div(((9227 * global_values.trace_length)), 65536))). + pow1074 = pow58 * pow1073; // pow(trace_generator, &(safe_div(((2307 * global_values.trace_length)), 16384))). + pow1075 = pow58 * pow1074; // pow(trace_generator, &(safe_div(((9229 * global_values.trace_length)), 65536))). + pow1076 = pow58 * pow1075; // pow(trace_generator, &(safe_div(((4615 * global_values.trace_length)), 32768))). + pow1077 = pow58 * pow1076; // pow(trace_generator, &(safe_div(((9231 * global_values.trace_length)), 65536))). + pow1078 = pow58 * pow1077; // pow(trace_generator, &(safe_div(((577 * global_values.trace_length)), 4096))). + pow1079 = pow58 * pow1078; // pow(trace_generator, &(safe_div(((9233 * global_values.trace_length)), 65536))). + pow1080 = pow58 * pow1079; // pow(trace_generator, &(safe_div(((4617 * global_values.trace_length)), 32768))). + pow1081 = pow58 * pow1080; // pow(trace_generator, &(safe_div(((9235 * global_values.trace_length)), 65536))). + pow1082 = pow58 * pow1081; // pow(trace_generator, &(safe_div(((2309 * global_values.trace_length)), 16384))). + pow1083 = pow58 * pow1082; // pow(trace_generator, &(safe_div(((9237 * global_values.trace_length)), 65536))). + pow1084 = pow58 * pow1083; // pow(trace_generator, &(safe_div(((4619 * global_values.trace_length)), 32768))). + pow1085 = pow58 * pow1084; // pow(trace_generator, &(safe_div(((9239 * global_values.trace_length)), 65536))). + pow1086 = pow819 * pow1016; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 32))). + pow1087 = pow58 * pow1086; // pow(trace_generator, &(safe_div(((10241 * global_values.trace_length)), 65536))). + pow1088 = pow58 * pow1087; // pow(trace_generator, &(safe_div(((5121 * global_values.trace_length)), 32768))). + pow1089 = pow58 * pow1088; // pow(trace_generator, &(safe_div(((10243 * global_values.trace_length)), 65536))). + pow1090 = pow58 * pow1089; // pow(trace_generator, &(safe_div(((2561 * global_values.trace_length)), 16384))). + pow1091 = pow58 * pow1090; // pow(trace_generator, &(safe_div(((10245 * global_values.trace_length)), 65536))). + pow1092 = pow58 * pow1091; // pow(trace_generator, &(safe_div(((5123 * global_values.trace_length)), 32768))). + pow1093 = pow58 * pow1092; // pow(trace_generator, &(safe_div(((10247 * global_values.trace_length)), 65536))). + pow1094 = pow58 * pow1093; // pow(trace_generator, &(safe_div(((1281 * global_values.trace_length)), 8192))). + pow1095 = pow58 * pow1094; // pow(trace_generator, &(safe_div(((10249 * global_values.trace_length)), 65536))). + pow1096 = pow58 * pow1095; // pow(trace_generator, &(safe_div(((5125 * global_values.trace_length)), 32768))). + pow1097 = pow58 * pow1096; // pow(trace_generator, &(safe_div(((10251 * global_values.trace_length)), 65536))). + pow1098 = pow58 * pow1097; // pow(trace_generator, &(safe_div(((2563 * global_values.trace_length)), 16384))). + pow1099 = pow58 * pow1098; // pow(trace_generator, &(safe_div(((10253 * global_values.trace_length)), 65536))). + pow1100 = pow58 * pow1099; // pow(trace_generator, &(safe_div(((5127 * global_values.trace_length)), 32768))). + pow1101 = pow58 * pow1100; // pow(trace_generator, &(safe_div(((10255 * global_values.trace_length)), 65536))). + pow1102 = pow58 * pow1101; // pow(trace_generator, &(safe_div(((641 * global_values.trace_length)), 4096))). + pow1103 = pow58 * pow1102; // pow(trace_generator, &(safe_div(((10257 * global_values.trace_length)), 65536))). + pow1104 = pow58 * pow1103; // pow(trace_generator, &(safe_div(((5129 * global_values.trace_length)), 32768))). + pow1105 = pow58 * pow1104; // pow(trace_generator, &(safe_div(((10259 * global_values.trace_length)), 65536))). + pow1106 = pow58 * pow1105; // pow(trace_generator, &(safe_div(((2565 * global_values.trace_length)), 16384))). + pow1107 = pow58 * pow1106; // pow(trace_generator, &(safe_div(((10261 * global_values.trace_length)), 65536))). + pow1108 = pow58 * pow1107; // pow(trace_generator, &(safe_div(((5131 * global_values.trace_length)), 32768))). + pow1109 = pow58 * pow1108; // pow(trace_generator, &(safe_div(((10263 * global_values.trace_length)), 65536))). + pow1110 = pow105 * pow1109; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1111 = pow126 * pow1110; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1112 = pow126 * pow1111; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1113 = pow126 * pow1112; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1114 = pow126 * pow1113; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1115 = pow126 * pow1114; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1116 = pow126 * pow1115; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1117 = pow126 * pow1116; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1118 = pow126 * pow1117; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1119 = pow126 * pow1118; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1120 = pow126 * pow1119; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1121 = pow126 * pow1120; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1122 = pow126 * pow1121; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1123 = pow126 * pow1122; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1124 = pow126 * pow1123; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1125 = pow126 * pow1124; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1126 = pow58 * pow1125; // pow(trace_generator, &(safe_div(((11265 * global_values.trace_length)), 65536))). + pow1127 = pow58 * pow1126; // pow(trace_generator, &(safe_div(((5633 * global_values.trace_length)), 32768))). + pow1128 = pow58 * pow1127; // pow(trace_generator, &(safe_div(((11267 * global_values.trace_length)), 65536))). + pow1129 = pow58 * pow1128; // pow(trace_generator, &(safe_div(((2817 * global_values.trace_length)), 16384))). + pow1130 = pow58 * pow1129; // pow(trace_generator, &(safe_div(((11269 * global_values.trace_length)), 65536))). + pow1131 = pow58 * pow1130; // pow(trace_generator, &(safe_div(((5635 * global_values.trace_length)), 32768))). + pow1132 = pow58 * pow1131; // pow(trace_generator, &(safe_div(((11271 * global_values.trace_length)), 65536))). + pow1133 = pow58 * pow1132; // pow(trace_generator, &(safe_div(((1409 * global_values.trace_length)), 8192))). + pow1134 = pow58 * pow1133; // pow(trace_generator, &(safe_div(((11273 * global_values.trace_length)), 65536))). + pow1135 = pow58 * pow1134; // pow(trace_generator, &(safe_div(((5637 * global_values.trace_length)), 32768))). + pow1136 = pow58 * pow1135; // pow(trace_generator, &(safe_div(((11275 * global_values.trace_length)), 65536))). + pow1137 = pow58 * pow1136; // pow(trace_generator, &(safe_div(((2819 * global_values.trace_length)), 16384))). + pow1138 = pow58 * pow1137; // pow(trace_generator, &(safe_div(((11277 * global_values.trace_length)), 65536))). + pow1139 = pow58 * pow1138; // pow(trace_generator, &(safe_div(((5639 * global_values.trace_length)), 32768))). + pow1140 = pow58 * pow1139; // pow(trace_generator, &(safe_div(((11279 * global_values.trace_length)), 65536))). + pow1141 = pow58 * pow1140; // pow(trace_generator, &(safe_div(((705 * global_values.trace_length)), 4096))). + pow1142 = pow58 * pow1141; // pow(trace_generator, &(safe_div(((11281 * global_values.trace_length)), 65536))). + pow1143 = pow58 * pow1142; // pow(trace_generator, &(safe_div(((5641 * global_values.trace_length)), 32768))). + pow1144 = pow58 * pow1143; // pow(trace_generator, &(safe_div(((11283 * global_values.trace_length)), 65536))). + pow1145 = pow58 * pow1144; // pow(trace_generator, &(safe_div(((2821 * global_values.trace_length)), 16384))). + pow1146 = pow58 * pow1145; // pow(trace_generator, &(safe_div(((11285 * global_values.trace_length)), 65536))). + pow1147 = pow58 * pow1146; // pow(trace_generator, &(safe_div(((5643 * global_values.trace_length)), 32768))). + pow1148 = pow58 * pow1147; // pow(trace_generator, &(safe_div(((11287 * global_values.trace_length)), 65536))). + pow1149 = pow105 * pow1148; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1150 = pow126 * pow1149; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1151 = pow126 * pow1150; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1152 = pow126 * pow1151; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1153 = pow126 * pow1152; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1154 = pow126 * pow1153; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1155 = pow126 * pow1154; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 32))). + pow1156 = pow606 * pow1155; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 16))). + pow1157 = pow58 * pow1156; // pow(trace_generator, &(safe_div(((12289 * global_values.trace_length)), 65536))). + pow1158 = pow58 * pow1157; // pow(trace_generator, &(safe_div(((6145 * global_values.trace_length)), 32768))). + pow1159 = pow58 * pow1158; // pow(trace_generator, &(safe_div(((12291 * global_values.trace_length)), 65536))). + pow1160 = pow58 * pow1159; // pow(trace_generator, &(safe_div(((3073 * global_values.trace_length)), 16384))). + pow1161 = pow58 * pow1160; // pow(trace_generator, &(safe_div(((12293 * global_values.trace_length)), 65536))). + pow1162 = pow58 * pow1161; // pow(trace_generator, &(safe_div(((6147 * global_values.trace_length)), 32768))). + pow1163 = pow58 * pow1162; // pow(trace_generator, &(safe_div(((12295 * global_values.trace_length)), 65536))). + pow1164 = pow58 * pow1163; // pow(trace_generator, &(safe_div(((1537 * global_values.trace_length)), 8192))). + pow1165 = pow58 * pow1164; // pow(trace_generator, &(safe_div(((12297 * global_values.trace_length)), 65536))). + pow1166 = pow58 * pow1165; // pow(trace_generator, &(safe_div(((6149 * global_values.trace_length)), 32768))). + pow1167 = pow58 * pow1166; // pow(trace_generator, &(safe_div(((12299 * global_values.trace_length)), 65536))). + pow1168 = pow58 * pow1167; // pow(trace_generator, &(safe_div(((3075 * global_values.trace_length)), 16384))). + pow1169 = pow58 * pow1168; // pow(trace_generator, &(safe_div(((12301 * global_values.trace_length)), 65536))). + pow1170 = pow58 * pow1169; // pow(trace_generator, &(safe_div(((6151 * global_values.trace_length)), 32768))). + pow1171 = pow58 * pow1170; // pow(trace_generator, &(safe_div(((12303 * global_values.trace_length)), 65536))). + pow1172 = pow58 * pow1171; // pow(trace_generator, &(safe_div(((769 * global_values.trace_length)), 4096))). + pow1173 = pow58 * pow1172; // pow(trace_generator, &(safe_div(((12305 * global_values.trace_length)), 65536))). + pow1174 = pow58 * pow1173; // pow(trace_generator, &(safe_div(((6153 * global_values.trace_length)), 32768))). + pow1175 = pow58 * pow1174; // pow(trace_generator, &(safe_div(((12307 * global_values.trace_length)), 65536))). + pow1176 = pow58 * pow1175; // pow(trace_generator, &(safe_div(((3077 * global_values.trace_length)), 16384))). + pow1177 = pow58 * pow1176; // pow(trace_generator, &(safe_div(((12309 * global_values.trace_length)), 65536))). + pow1178 = pow58 * pow1177; // pow(trace_generator, &(safe_div(((6155 * global_values.trace_length)), 32768))). + pow1179 = pow58 * pow1178; // pow(trace_generator, &(safe_div(((12311 * global_values.trace_length)), 65536))). + pow1180 = pow105 * pow1179; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1181 = pow126 * pow1180; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1182 = pow126 * pow1181; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1183 = pow126 * pow1182; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1184 = pow126 * pow1183; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1185 = pow126 * pow1184; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1186 = pow126 * pow1185; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1187 = pow126 * pow1186; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1188 = pow126 * pow1187; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1189 = pow126 * pow1188; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1190 = pow126 * pow1189; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1191 = pow126 * pow1190; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1192 = pow126 * pow1191; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1193 = pow126 * pow1192; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1194 = pow126 * pow1193; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1195 = pow126 * pow1194; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1196 = pow58 * pow1195; // pow(trace_generator, &(safe_div(((13313 * global_values.trace_length)), 65536))). + pow1197 = pow58 * pow1196; // pow(trace_generator, &(safe_div(((6657 * global_values.trace_length)), 32768))). + pow1198 = pow58 * pow1197; // pow(trace_generator, &(safe_div(((13315 * global_values.trace_length)), 65536))). + pow1199 = pow58 * pow1198; // pow(trace_generator, &(safe_div(((3329 * global_values.trace_length)), 16384))). + pow1200 = pow58 * pow1199; // pow(trace_generator, &(safe_div(((13317 * global_values.trace_length)), 65536))). + pow1201 = pow58 * pow1200; // pow(trace_generator, &(safe_div(((6659 * global_values.trace_length)), 32768))). + pow1202 = pow58 * pow1201; // pow(trace_generator, &(safe_div(((13319 * global_values.trace_length)), 65536))). + pow1203 = pow58 * pow1202; // pow(trace_generator, &(safe_div(((1665 * global_values.trace_length)), 8192))). + pow1204 = pow58 * pow1203; // pow(trace_generator, &(safe_div(((13321 * global_values.trace_length)), 65536))). + pow1205 = pow58 * pow1204; // pow(trace_generator, &(safe_div(((6661 * global_values.trace_length)), 32768))). + pow1206 = pow58 * pow1205; // pow(trace_generator, &(safe_div(((13323 * global_values.trace_length)), 65536))). + pow1207 = pow58 * pow1206; // pow(trace_generator, &(safe_div(((3331 * global_values.trace_length)), 16384))). + pow1208 = pow58 * pow1207; // pow(trace_generator, &(safe_div(((13325 * global_values.trace_length)), 65536))). + pow1209 = pow58 * pow1208; // pow(trace_generator, &(safe_div(((6663 * global_values.trace_length)), 32768))). + pow1210 = pow58 * pow1209; // pow(trace_generator, &(safe_div(((13327 * global_values.trace_length)), 65536))). + pow1211 = pow58 * pow1210; // pow(trace_generator, &(safe_div(((833 * global_values.trace_length)), 4096))). + pow1212 = pow58 * pow1211; // pow(trace_generator, &(safe_div(((13329 * global_values.trace_length)), 65536))). + pow1213 = pow58 * pow1212; // pow(trace_generator, &(safe_div(((6665 * global_values.trace_length)), 32768))). + pow1214 = pow58 * pow1213; // pow(trace_generator, &(safe_div(((13331 * global_values.trace_length)), 65536))). + pow1215 = pow58 * pow1214; // pow(trace_generator, &(safe_div(((3333 * global_values.trace_length)), 16384))). + pow1216 = pow58 * pow1215; // pow(trace_generator, &(safe_div(((13333 * global_values.trace_length)), 65536))). + pow1217 = pow58 * pow1216; // pow(trace_generator, &(safe_div(((6667 * global_values.trace_length)), 32768))). + pow1218 = pow58 * pow1217; // pow(trace_generator, &(safe_div(((13335 * global_values.trace_length)), 65536))). + pow1219 = pow105 * pow1218; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1220 = pow126 * pow1219; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1221 = pow126 * pow1220; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1222 = pow126 * pow1221; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1223 = pow126 * pow1222; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1224 = pow126 * pow1223; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1225 = pow126 * pow1224; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 16))). + pow1226 = pow606 * pow1225; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 32))). + pow1227 = pow58 * pow1226; // pow(trace_generator, &(safe_div(((14337 * global_values.trace_length)), 65536))). + pow1228 = pow58 * pow1227; // pow(trace_generator, &(safe_div(((7169 * global_values.trace_length)), 32768))). + pow1229 = pow58 * pow1228; // pow(trace_generator, &(safe_div(((14339 * global_values.trace_length)), 65536))). + pow1230 = pow58 * pow1229; // pow(trace_generator, &(safe_div(((3585 * global_values.trace_length)), 16384))). + pow1231 = pow58 * pow1230; // pow(trace_generator, &(safe_div(((14341 * global_values.trace_length)), 65536))). + pow1232 = pow58 * pow1231; // pow(trace_generator, &(safe_div(((7171 * global_values.trace_length)), 32768))). + pow1233 = pow58 * pow1232; // pow(trace_generator, &(safe_div(((14343 * global_values.trace_length)), 65536))). + pow1234 = pow58 * pow1233; // pow(trace_generator, &(safe_div(((1793 * global_values.trace_length)), 8192))). + pow1235 = pow58 * pow1234; // pow(trace_generator, &(safe_div(((14345 * global_values.trace_length)), 65536))). + pow1236 = pow58 * pow1235; // pow(trace_generator, &(safe_div(((7173 * global_values.trace_length)), 32768))). + pow1237 = pow58 * pow1236; // pow(trace_generator, &(safe_div(((14347 * global_values.trace_length)), 65536))). + pow1238 = pow58 * pow1237; // pow(trace_generator, &(safe_div(((3587 * global_values.trace_length)), 16384))). + pow1239 = pow58 * pow1238; // pow(trace_generator, &(safe_div(((14349 * global_values.trace_length)), 65536))). + pow1240 = pow58 * pow1239; // pow(trace_generator, &(safe_div(((7175 * global_values.trace_length)), 32768))). + pow1241 = pow58 * pow1240; // pow(trace_generator, &(safe_div(((14351 * global_values.trace_length)), 65536))). + pow1242 = pow58 * pow1241; // pow(trace_generator, &(safe_div(((897 * global_values.trace_length)), 4096))). + pow1243 = pow58 * pow1242; // pow(trace_generator, &(safe_div(((14353 * global_values.trace_length)), 65536))). + pow1244 = pow58 * pow1243; // pow(trace_generator, &(safe_div(((7177 * global_values.trace_length)), 32768))). + pow1245 = pow58 * pow1244; // pow(trace_generator, &(safe_div(((14355 * global_values.trace_length)), 65536))). + pow1246 = pow58 * pow1245; // pow(trace_generator, &(safe_div(((3589 * global_values.trace_length)), 16384))). + pow1247 = pow58 * pow1246; // pow(trace_generator, &(safe_div(((14357 * global_values.trace_length)), 65536))). + pow1248 = pow58 * pow1247; // pow(trace_generator, &(safe_div(((7179 * global_values.trace_length)), 32768))). + pow1249 = pow58 * pow1248; // pow(trace_generator, &(safe_div(((14359 * global_values.trace_length)), 65536))). + pow1250 = pow105 * pow1249; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1251 = pow126 * pow1250; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1252 = pow126 * pow1251; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1253 = pow126 * pow1252; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1254 = pow126 * pow1253; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1255 = pow126 * pow1254; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1256 = pow126 * pow1255; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1257 = pow126 * pow1256; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1258 = pow126 * pow1257; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1259 = pow126 * pow1258; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1260 = pow126 * pow1259; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1261 = pow126 * pow1260; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1262 = pow126 * pow1261; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1263 = pow126 * pow1262; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1264 = pow126 * pow1263; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1265 = pow126 * pow1264; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1266 = pow58 * pow1265; // pow(trace_generator, &(safe_div(((15361 * global_values.trace_length)), 65536))). + pow1267 = pow58 * pow1266; // pow(trace_generator, &(safe_div(((7681 * global_values.trace_length)), 32768))). + pow1268 = pow58 * pow1267; // pow(trace_generator, &(safe_div(((15363 * global_values.trace_length)), 65536))). + pow1269 = pow58 * pow1268; // pow(trace_generator, &(safe_div(((3841 * global_values.trace_length)), 16384))). + pow1270 = pow58 * pow1269; // pow(trace_generator, &(safe_div(((15365 * global_values.trace_length)), 65536))). + pow1271 = pow58 * pow1270; // pow(trace_generator, &(safe_div(((7683 * global_values.trace_length)), 32768))). + pow1272 = pow58 * pow1271; // pow(trace_generator, &(safe_div(((15367 * global_values.trace_length)), 65536))). + pow1273 = pow58 * pow1272; // pow(trace_generator, &(safe_div(((1921 * global_values.trace_length)), 8192))). + pow1274 = pow58 * pow1273; // pow(trace_generator, &(safe_div(((15369 * global_values.trace_length)), 65536))). + pow1275 = pow58 * pow1274; // pow(trace_generator, &(safe_div(((7685 * global_values.trace_length)), 32768))). + pow1276 = pow58 * pow1275; // pow(trace_generator, &(safe_div(((15371 * global_values.trace_length)), 65536))). + pow1277 = pow58 * pow1276; // pow(trace_generator, &(safe_div(((3843 * global_values.trace_length)), 16384))). + pow1278 = pow58 * pow1277; // pow(trace_generator, &(safe_div(((15373 * global_values.trace_length)), 65536))). + pow1279 = pow58 * pow1278; // pow(trace_generator, &(safe_div(((7687 * global_values.trace_length)), 32768))). + pow1280 = pow58 * pow1279; // pow(trace_generator, &(safe_div(((15375 * global_values.trace_length)), 65536))). + pow1281 = pow58 * pow1280; // pow(trace_generator, &(safe_div(((961 * global_values.trace_length)), 4096))). + pow1282 = pow58 * pow1281; // pow(trace_generator, &(safe_div(((15377 * global_values.trace_length)), 65536))). + pow1283 = pow58 * pow1282; // pow(trace_generator, &(safe_div(((7689 * global_values.trace_length)), 32768))). + pow1284 = pow58 * pow1283; // pow(trace_generator, &(safe_div(((15379 * global_values.trace_length)), 65536))). + pow1285 = pow58 * pow1284; // pow(trace_generator, &(safe_div(((3845 * global_values.trace_length)), 16384))). + pow1286 = pow58 * pow1285; // pow(trace_generator, &(safe_div(((15381 * global_values.trace_length)), 65536))). + pow1287 = pow58 * pow1286; // pow(trace_generator, &(safe_div(((7691 * global_values.trace_length)), 32768))). + pow1288 = pow58 * pow1287; // pow(trace_generator, &(safe_div(((15383 * global_values.trace_length)), 65536))). + pow1289 = pow105 * pow1288; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1290 = pow126 * pow1289; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1291 = pow126 * pow1290; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1292 = pow126 * pow1291; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1293 = pow126 * pow1292; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1294 = pow126 * pow1293; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1295 = pow126 * pow1294; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((7 * global_values.trace_length)), 32))). + pow1296 = pow606 * pow1295; // pow(trace_generator, &(safe_div(global_values.trace_length, 4))). + pow1297 = pow819 * pow1296; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 64))). + pow1298 = pow819 * pow1297; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 32))). + pow1299 = pow819 * pow1298; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 64))). + pow1300 = pow58 * pow1296; // pow(trace_generator, &(safe_div(((16385 * global_values.trace_length)), 65536))). + pow1301 = pow58 * pow1297; // pow(trace_generator, &(safe_div(((17409 * global_values.trace_length)), 65536))). + pow1302 = pow58 * pow1298; // pow(trace_generator, &(safe_div(((18433 * global_values.trace_length)), 65536))). + pow1303 = pow58 * pow1299; // pow(trace_generator, &(safe_div(((19457 * global_values.trace_length)), 65536))). + pow1304 = pow58 * pow1300; // pow(trace_generator, &(safe_div(((8193 * global_values.trace_length)), 32768))). + pow1305 = pow58 * pow1301; // pow(trace_generator, &(safe_div(((8705 * global_values.trace_length)), 32768))). + pow1306 = pow58 * pow1302; // pow(trace_generator, &(safe_div(((9217 * global_values.trace_length)), 32768))). + pow1307 = pow58 * pow1303; // pow(trace_generator, &(safe_div(((9729 * global_values.trace_length)), 32768))). + pow1308 = pow58 * pow1304; // pow(trace_generator, &(safe_div(((16387 * global_values.trace_length)), 65536))). + pow1309 = pow58 * pow1305; // pow(trace_generator, &(safe_div(((17411 * global_values.trace_length)), 65536))). + pow1310 = pow58 * pow1306; // pow(trace_generator, &(safe_div(((18435 * global_values.trace_length)), 65536))). + pow1311 = pow58 * pow1307; // pow(trace_generator, &(safe_div(((19459 * global_values.trace_length)), 65536))). + pow1312 = pow58 * pow1308; // pow(trace_generator, &(safe_div(((4097 * global_values.trace_length)), 16384))). + pow1313 = pow58 * pow1309; // pow(trace_generator, &(safe_div(((4353 * global_values.trace_length)), 16384))). + pow1314 = pow58 * pow1310; // pow(trace_generator, &(safe_div(((4609 * global_values.trace_length)), 16384))). + pow1315 = pow58 * pow1311; // pow(trace_generator, &(safe_div(((4865 * global_values.trace_length)), 16384))). + pow1316 = pow58 * pow1312; // pow(trace_generator, &(safe_div(((16389 * global_values.trace_length)), 65536))). + pow1317 = pow58 * pow1313; // pow(trace_generator, &(safe_div(((17413 * global_values.trace_length)), 65536))). + pow1318 = pow58 * pow1314; // pow(trace_generator, &(safe_div(((18437 * global_values.trace_length)), 65536))). + pow1319 = pow58 * pow1315; // pow(trace_generator, &(safe_div(((19461 * global_values.trace_length)), 65536))). + pow1320 = pow58 * pow1316; // pow(trace_generator, &(safe_div(((8195 * global_values.trace_length)), 32768))). + pow1321 = pow58 * pow1317; // pow(trace_generator, &(safe_div(((8707 * global_values.trace_length)), 32768))). + pow1322 = pow58 * pow1318; // pow(trace_generator, &(safe_div(((9219 * global_values.trace_length)), 32768))). + pow1323 = pow58 * pow1319; // pow(trace_generator, &(safe_div(((9731 * global_values.trace_length)), 32768))). + pow1324 = pow58 * pow1320; // pow(trace_generator, &(safe_div(((16391 * global_values.trace_length)), 65536))). + pow1325 = pow58 * pow1324; // pow(trace_generator, &(safe_div(((2049 * global_values.trace_length)), 8192))). + pow1326 = pow58 * pow1321; // pow(trace_generator, &(safe_div(((17415 * global_values.trace_length)), 65536))). + pow1327 = pow58 * pow1326; // pow(trace_generator, &(safe_div(((2177 * global_values.trace_length)), 8192))). + pow1328 = pow58 * pow1322; // pow(trace_generator, &(safe_div(((18439 * global_values.trace_length)), 65536))). + pow1329 = pow58 * pow1328; // pow(trace_generator, &(safe_div(((2305 * global_values.trace_length)), 8192))). + pow1330 = pow58 * pow1323; // pow(trace_generator, &(safe_div(((19463 * global_values.trace_length)), 65536))). + pow1331 = pow58 * pow1330; // pow(trace_generator, &(safe_div(((2433 * global_values.trace_length)), 8192))). + pow1332 = pow58 * pow1325; // pow(trace_generator, &(safe_div(((16393 * global_values.trace_length)), 65536))). + pow1333 = pow58 * pow1327; // pow(trace_generator, &(safe_div(((17417 * global_values.trace_length)), 65536))). + pow1334 = pow58 * pow1329; // pow(trace_generator, &(safe_div(((18441 * global_values.trace_length)), 65536))). + pow1335 = pow58 * pow1331; // pow(trace_generator, &(safe_div(((19465 * global_values.trace_length)), 65536))). + pow1336 = pow58 * pow1332; // pow(trace_generator, &(safe_div(((8197 * global_values.trace_length)), 32768))). + pow1337 = pow58 * pow1333; // pow(trace_generator, &(safe_div(((8709 * global_values.trace_length)), 32768))). + pow1338 = pow58 * pow1334; // pow(trace_generator, &(safe_div(((9221 * global_values.trace_length)), 32768))). + pow1339 = pow58 * pow1335; // pow(trace_generator, &(safe_div(((9733 * global_values.trace_length)), 32768))). + pow1340 = pow58 * pow1336; // pow(trace_generator, &(safe_div(((16395 * global_values.trace_length)), 65536))). + pow1341 = pow58 * pow1337; // pow(trace_generator, &(safe_div(((17419 * global_values.trace_length)), 65536))). + pow1342 = pow58 * pow1338; // pow(trace_generator, &(safe_div(((18443 * global_values.trace_length)), 65536))). + pow1343 = pow58 * pow1339; // pow(trace_generator, &(safe_div(((19467 * global_values.trace_length)), 65536))). + pow1344 = pow58 * pow1340; // pow(trace_generator, &(safe_div(((4099 * global_values.trace_length)), 16384))). + pow1345 = pow58 * pow1341; // pow(trace_generator, &(safe_div(((4355 * global_values.trace_length)), 16384))). + pow1346 = pow58 * pow1342; // pow(trace_generator, &(safe_div(((4611 * global_values.trace_length)), 16384))). + pow1347 = pow58 * pow1343; // pow(trace_generator, &(safe_div(((4867 * global_values.trace_length)), 16384))). + pow1348 = pow58 * pow1344; // pow(trace_generator, &(safe_div(((16397 * global_values.trace_length)), 65536))). + pow1349 = pow58 * pow1345; // pow(trace_generator, &(safe_div(((17421 * global_values.trace_length)), 65536))). + pow1350 = pow58 * pow1346; // pow(trace_generator, &(safe_div(((18445 * global_values.trace_length)), 65536))). + pow1351 = pow58 * pow1347; // pow(trace_generator, &(safe_div(((19469 * global_values.trace_length)), 65536))). + pow1352 = pow58 * pow1348; // pow(trace_generator, &(safe_div(((8199 * global_values.trace_length)), 32768))). + pow1353 = pow58 * pow1349; // pow(trace_generator, &(safe_div(((8711 * global_values.trace_length)), 32768))). + pow1354 = pow58 * pow1350; // pow(trace_generator, &(safe_div(((9223 * global_values.trace_length)), 32768))). + pow1355 = pow58 * pow1351; // pow(trace_generator, &(safe_div(((9735 * global_values.trace_length)), 32768))). + pow1356 = pow58 * pow1352; // pow(trace_generator, &(safe_div(((16399 * global_values.trace_length)), 65536))). + pow1357 = pow58 * pow1353; // pow(trace_generator, &(safe_div(((17423 * global_values.trace_length)), 65536))). + pow1358 = pow58 * pow1354; // pow(trace_generator, &(safe_div(((18447 * global_values.trace_length)), 65536))). + pow1359 = pow58 * pow1355; // pow(trace_generator, &(safe_div(((19471 * global_values.trace_length)), 65536))). + pow1360 = pow58 * pow1356; // pow(trace_generator, &(safe_div(((1025 * global_values.trace_length)), 4096))). + pow1361 = pow58 * pow1357; // pow(trace_generator, &(safe_div(((1089 * global_values.trace_length)), 4096))). + pow1362 = pow58 * pow1358; // pow(trace_generator, &(safe_div(((1153 * global_values.trace_length)), 4096))). + pow1363 = pow58 * pow1359; // pow(trace_generator, &(safe_div(((1217 * global_values.trace_length)), 4096))). + pow1364 = pow58 * pow1360; // pow(trace_generator, &(safe_div(((16401 * global_values.trace_length)), 65536))). + pow1365 = pow58 * pow1361; // pow(trace_generator, &(safe_div(((17425 * global_values.trace_length)), 65536))). + pow1366 = pow58 * pow1362; // pow(trace_generator, &(safe_div(((18449 * global_values.trace_length)), 65536))). + pow1367 = pow58 * pow1363; // pow(trace_generator, &(safe_div(((19473 * global_values.trace_length)), 65536))). + pow1368 = pow58 * pow1364; // pow(trace_generator, &(safe_div(((8201 * global_values.trace_length)), 32768))). + pow1369 = pow58 * pow1365; // pow(trace_generator, &(safe_div(((8713 * global_values.trace_length)), 32768))). + pow1370 = pow58 * pow1366; // pow(trace_generator, &(safe_div(((9225 * global_values.trace_length)), 32768))). + pow1371 = pow58 * pow1367; // pow(trace_generator, &(safe_div(((9737 * global_values.trace_length)), 32768))). + pow1372 = pow58 * pow1368; // pow(trace_generator, &(safe_div(((16403 * global_values.trace_length)), 65536))). + pow1373 = pow58 * pow1369; // pow(trace_generator, &(safe_div(((17427 * global_values.trace_length)), 65536))). + pow1374 = pow58 * pow1370; // pow(trace_generator, &(safe_div(((18451 * global_values.trace_length)), 65536))). + pow1375 = pow58 * pow1371; // pow(trace_generator, &(safe_div(((19475 * global_values.trace_length)), 65536))). + pow1376 = pow58 * pow1372; // pow(trace_generator, &(safe_div(((4101 * global_values.trace_length)), 16384))). + pow1377 = pow58 * pow1373; // pow(trace_generator, &(safe_div(((4357 * global_values.trace_length)), 16384))). + pow1378 = pow58 * pow1374; // pow(trace_generator, &(safe_div(((4613 * global_values.trace_length)), 16384))). + pow1379 = pow58 * pow1375; // pow(trace_generator, &(safe_div(((4869 * global_values.trace_length)), 16384))). + pow1380 = pow58 * pow1376; // pow(trace_generator, &(safe_div(((16405 * global_values.trace_length)), 65536))). + pow1381 = pow58 * pow1377; // pow(trace_generator, &(safe_div(((17429 * global_values.trace_length)), 65536))). + pow1382 = pow58 * pow1378; // pow(trace_generator, &(safe_div(((18453 * global_values.trace_length)), 65536))). + pow1383 = pow58 * pow1379; // pow(trace_generator, &(safe_div(((19477 * global_values.trace_length)), 65536))). + pow1384 = pow58 * pow1380; // pow(trace_generator, &(safe_div(((8203 * global_values.trace_length)), 32768))). + pow1385 = pow58 * pow1381; // pow(trace_generator, &(safe_div(((8715 * global_values.trace_length)), 32768))). + pow1386 = pow58 * pow1382; // pow(trace_generator, &(safe_div(((9227 * global_values.trace_length)), 32768))). + pow1387 = pow58 * pow1383; // pow(trace_generator, &(safe_div(((9739 * global_values.trace_length)), 32768))). + pow1388 = pow58 * pow1384; // pow(trace_generator, &(safe_div(((16407 * global_values.trace_length)), 65536))). + pow1389 = pow58 * pow1385; // pow(trace_generator, &(safe_div(((17431 * global_values.trace_length)), 65536))). + pow1390 = pow58 * pow1386; // pow(trace_generator, &(safe_div(((18455 * global_values.trace_length)), 65536))). + pow1391 = pow58 * pow1387; // pow(trace_generator, &(safe_div(((19479 * global_values.trace_length)), 65536))). + pow1392 = pow819 * pow1299; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 16))). + pow1393 = pow58 * pow1392; // pow(trace_generator, &(safe_div(((20481 * global_values.trace_length)), 65536))). + pow1394 = pow58 * pow1393; // pow(trace_generator, &(safe_div(((10241 * global_values.trace_length)), 32768))). + pow1395 = pow58 * pow1394; // pow(trace_generator, &(safe_div(((20483 * global_values.trace_length)), 65536))). + pow1396 = pow58 * pow1395; // pow(trace_generator, &(safe_div(((5121 * global_values.trace_length)), 16384))). + pow1397 = pow58 * pow1396; // pow(trace_generator, &(safe_div(((20485 * global_values.trace_length)), 65536))). + pow1398 = pow58 * pow1397; // pow(trace_generator, &(safe_div(((10243 * global_values.trace_length)), 32768))). + pow1399 = pow58 * pow1398; // pow(trace_generator, &(safe_div(((20487 * global_values.trace_length)), 65536))). + pow1400 = pow58 * pow1399; // pow(trace_generator, &(safe_div(((2561 * global_values.trace_length)), 8192))). + pow1401 = pow58 * pow1400; // pow(trace_generator, &(safe_div(((20489 * global_values.trace_length)), 65536))). + pow1402 = pow58 * pow1401; // pow(trace_generator, &(safe_div(((10245 * global_values.trace_length)), 32768))). + pow1403 = pow58 * pow1402; // pow(trace_generator, &(safe_div(((20491 * global_values.trace_length)), 65536))). + pow1404 = pow58 * pow1403; // pow(trace_generator, &(safe_div(((5123 * global_values.trace_length)), 16384))). + pow1405 = pow58 * pow1404; // pow(trace_generator, &(safe_div(((20493 * global_values.trace_length)), 65536))). + pow1406 = pow58 * pow1405; // pow(trace_generator, &(safe_div(((10247 * global_values.trace_length)), 32768))). + pow1407 = pow58 * pow1406; // pow(trace_generator, &(safe_div(((20495 * global_values.trace_length)), 65536))). + pow1408 = pow58 * pow1407; // pow(trace_generator, &(safe_div(((1281 * global_values.trace_length)), 4096))). + pow1409 = pow58 * pow1408; // pow(trace_generator, &(safe_div(((20497 * global_values.trace_length)), 65536))). + pow1410 = pow58 * pow1409; // pow(trace_generator, &(safe_div(((10249 * global_values.trace_length)), 32768))). + pow1411 = pow58 * pow1410; // pow(trace_generator, &(safe_div(((20499 * global_values.trace_length)), 65536))). + pow1412 = pow58 * pow1411; // pow(trace_generator, &(safe_div(((5125 * global_values.trace_length)), 16384))). + pow1413 = pow58 * pow1412; // pow(trace_generator, &(safe_div(((20501 * global_values.trace_length)), 65536))). + pow1414 = pow58 * pow1413; // pow(trace_generator, &(safe_div(((10251 * global_values.trace_length)), 32768))). + pow1415 = pow58 * pow1414; // pow(trace_generator, &(safe_div(((20503 * global_values.trace_length)), 65536))). + pow1416 = pow105 * pow1415; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1417 = pow126 * pow1416; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1418 = pow126 * pow1417; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1419 = pow126 * pow1418; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1420 = pow126 * pow1419; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1421 = pow126 * pow1420; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1422 = pow126 * pow1421; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1423 = pow126 * pow1422; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1424 = pow126 * pow1423; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1425 = pow126 * pow1424; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1426 = pow126 * pow1425; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1427 = pow126 * pow1426; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1428 = pow126 * pow1427; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1429 = pow126 * pow1428; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1430 = pow126 * pow1429; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1431 = pow126 * pow1430; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1432 = pow58 * pow1431; // pow(trace_generator, &(safe_div(((21505 * global_values.trace_length)), 65536))). + pow1433 = pow58 * pow1432; // pow(trace_generator, &(safe_div(((10753 * global_values.trace_length)), 32768))). + pow1434 = pow58 * pow1433; // pow(trace_generator, &(safe_div(((21507 * global_values.trace_length)), 65536))). + pow1435 = pow58 * pow1434; // pow(trace_generator, &(safe_div(((5377 * global_values.trace_length)), 16384))). + pow1436 = pow58 * pow1435; // pow(trace_generator, &(safe_div(((21509 * global_values.trace_length)), 65536))). + pow1437 = pow58 * pow1436; // pow(trace_generator, &(safe_div(((10755 * global_values.trace_length)), 32768))). + pow1438 = pow58 * pow1437; // pow(trace_generator, &(safe_div(((21511 * global_values.trace_length)), 65536))). + pow1439 = pow58 * pow1438; // pow(trace_generator, &(safe_div(((2689 * global_values.trace_length)), 8192))). + pow1440 = pow58 * pow1439; // pow(trace_generator, &(safe_div(((21513 * global_values.trace_length)), 65536))). + pow1441 = pow58 * pow1440; // pow(trace_generator, &(safe_div(((10757 * global_values.trace_length)), 32768))). + pow1442 = pow58 * pow1441; // pow(trace_generator, &(safe_div(((21515 * global_values.trace_length)), 65536))). + pow1443 = pow58 * pow1442; // pow(trace_generator, &(safe_div(((5379 * global_values.trace_length)), 16384))). + pow1444 = pow58 * pow1443; // pow(trace_generator, &(safe_div(((21517 * global_values.trace_length)), 65536))). + pow1445 = pow58 * pow1444; // pow(trace_generator, &(safe_div(((10759 * global_values.trace_length)), 32768))). + pow1446 = pow58 * pow1445; // pow(trace_generator, &(safe_div(((21519 * global_values.trace_length)), 65536))). + pow1447 = pow58 * pow1446; // pow(trace_generator, &(safe_div(((1345 * global_values.trace_length)), 4096))). + pow1448 = pow58 * pow1447; // pow(trace_generator, &(safe_div(((21521 * global_values.trace_length)), 65536))). + pow1449 = pow58 * pow1448; // pow(trace_generator, &(safe_div(((10761 * global_values.trace_length)), 32768))). + pow1450 = pow58 * pow1449; // pow(trace_generator, &(safe_div(((21523 * global_values.trace_length)), 65536))). + pow1451 = pow58 * pow1450; // pow(trace_generator, &(safe_div(((5381 * global_values.trace_length)), 16384))). + pow1452 = pow58 * pow1451; // pow(trace_generator, &(safe_div(((21525 * global_values.trace_length)), 65536))). + pow1453 = pow58 * pow1452; // pow(trace_generator, &(safe_div(((10763 * global_values.trace_length)), 32768))). + pow1454 = pow58 * pow1453; // pow(trace_generator, &(safe_div(((21527 * global_values.trace_length)), 65536))). + pow1455 = pow105 * pow1454; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1456 = pow126 * pow1455; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1457 = pow126 * pow1456; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1458 = pow126 * pow1457; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1459 = pow126 * pow1458; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1460 = pow126 * pow1459; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1461 = pow126 * pow1460; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 16))). + pow1462 = pow606 * pow1461; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 32))). + pow1463 = pow58 * pow1462; // pow(trace_generator, &(safe_div(((22529 * global_values.trace_length)), 65536))). + pow1464 = pow58 * pow1463; // pow(trace_generator, &(safe_div(((11265 * global_values.trace_length)), 32768))). + pow1465 = pow58 * pow1464; // pow(trace_generator, &(safe_div(((22531 * global_values.trace_length)), 65536))). + pow1466 = pow58 * pow1465; // pow(trace_generator, &(safe_div(((5633 * global_values.trace_length)), 16384))). + pow1467 = pow58 * pow1466; // pow(trace_generator, &(safe_div(((22533 * global_values.trace_length)), 65536))). + pow1468 = pow58 * pow1467; // pow(trace_generator, &(safe_div(((11267 * global_values.trace_length)), 32768))). + pow1469 = pow58 * pow1468; // pow(trace_generator, &(safe_div(((22535 * global_values.trace_length)), 65536))). + pow1470 = pow58 * pow1469; // pow(trace_generator, &(safe_div(((2817 * global_values.trace_length)), 8192))). + pow1471 = pow58 * pow1470; // pow(trace_generator, &(safe_div(((22537 * global_values.trace_length)), 65536))). + pow1472 = pow58 * pow1471; // pow(trace_generator, &(safe_div(((11269 * global_values.trace_length)), 32768))). + pow1473 = pow58 * pow1472; // pow(trace_generator, &(safe_div(((22539 * global_values.trace_length)), 65536))). + pow1474 = pow58 * pow1473; // pow(trace_generator, &(safe_div(((5635 * global_values.trace_length)), 16384))). + pow1475 = pow58 * pow1474; // pow(trace_generator, &(safe_div(((22541 * global_values.trace_length)), 65536))). + pow1476 = pow58 * pow1475; // pow(trace_generator, &(safe_div(((11271 * global_values.trace_length)), 32768))). + pow1477 = pow58 * pow1476; // pow(trace_generator, &(safe_div(((22543 * global_values.trace_length)), 65536))). + pow1478 = pow58 * pow1477; // pow(trace_generator, &(safe_div(((1409 * global_values.trace_length)), 4096))). + pow1479 = pow58 * pow1478; // pow(trace_generator, &(safe_div(((22545 * global_values.trace_length)), 65536))). + pow1480 = pow58 * pow1479; // pow(trace_generator, &(safe_div(((11273 * global_values.trace_length)), 32768))). + pow1481 = pow58 * pow1480; // pow(trace_generator, &(safe_div(((22547 * global_values.trace_length)), 65536))). + pow1482 = pow58 * pow1481; // pow(trace_generator, &(safe_div(((5637 * global_values.trace_length)), 16384))). + pow1483 = pow58 * pow1482; // pow(trace_generator, &(safe_div(((22549 * global_values.trace_length)), 65536))). + pow1484 = pow58 * pow1483; // pow(trace_generator, &(safe_div(((11275 * global_values.trace_length)), 32768))). + pow1485 = pow58 * pow1484; // pow(trace_generator, &(safe_div(((22551 * global_values.trace_length)), 65536))). + pow1486 = pow105 * pow1485; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1487 = pow126 * pow1486; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1488 = pow126 * pow1487; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1489 = pow126 * pow1488; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1490 = pow126 * pow1489; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1491 = pow126 * pow1490; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1492 = pow126 * pow1491; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1493 = pow126 * pow1492; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1494 = pow126 * pow1493; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1495 = pow126 * pow1494; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1496 = pow126 * pow1495; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1497 = pow126 * pow1496; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1498 = pow126 * pow1497; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1499 = pow126 * pow1498; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1500 = pow126 * pow1499; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1501 = pow126 * pow1500; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1502 = pow58 * pow1501; // pow(trace_generator, &(safe_div(((23553 * global_values.trace_length)), 65536))). + pow1503 = pow58 * pow1502; // pow(trace_generator, &(safe_div(((11777 * global_values.trace_length)), 32768))). + pow1504 = pow58 * pow1503; // pow(trace_generator, &(safe_div(((23555 * global_values.trace_length)), 65536))). + pow1505 = pow58 * pow1504; // pow(trace_generator, &(safe_div(((5889 * global_values.trace_length)), 16384))). + pow1506 = pow58 * pow1505; // pow(trace_generator, &(safe_div(((23557 * global_values.trace_length)), 65536))). + pow1507 = pow58 * pow1506; // pow(trace_generator, &(safe_div(((11779 * global_values.trace_length)), 32768))). + pow1508 = pow58 * pow1507; // pow(trace_generator, &(safe_div(((23559 * global_values.trace_length)), 65536))). + pow1509 = pow58 * pow1508; // pow(trace_generator, &(safe_div(((2945 * global_values.trace_length)), 8192))). + pow1510 = pow58 * pow1509; // pow(trace_generator, &(safe_div(((23561 * global_values.trace_length)), 65536))). + pow1511 = pow58 * pow1510; // pow(trace_generator, &(safe_div(((11781 * global_values.trace_length)), 32768))). + pow1512 = pow58 * pow1511; // pow(trace_generator, &(safe_div(((23563 * global_values.trace_length)), 65536))). + pow1513 = pow58 * pow1512; // pow(trace_generator, &(safe_div(((5891 * global_values.trace_length)), 16384))). + pow1514 = pow58 * pow1513; // pow(trace_generator, &(safe_div(((23565 * global_values.trace_length)), 65536))). + pow1515 = pow58 * pow1514; // pow(trace_generator, &(safe_div(((11783 * global_values.trace_length)), 32768))). + pow1516 = pow58 * pow1515; // pow(trace_generator, &(safe_div(((23567 * global_values.trace_length)), 65536))). + pow1517 = pow58 * pow1516; // pow(trace_generator, &(safe_div(((1473 * global_values.trace_length)), 4096))). + pow1518 = pow58 * pow1517; // pow(trace_generator, &(safe_div(((23569 * global_values.trace_length)), 65536))). + pow1519 = pow58 * pow1518; // pow(trace_generator, &(safe_div(((11785 * global_values.trace_length)), 32768))). + pow1520 = pow58 * pow1519; // pow(trace_generator, &(safe_div(((23571 * global_values.trace_length)), 65536))). + pow1521 = pow58 * pow1520; // pow(trace_generator, &(safe_div(((5893 * global_values.trace_length)), 16384))). + pow1522 = pow58 * pow1521; // pow(trace_generator, &(safe_div(((23573 * global_values.trace_length)), 65536))). + pow1523 = pow58 * pow1522; // pow(trace_generator, &(safe_div(((11787 * global_values.trace_length)), 32768))). + pow1524 = pow58 * pow1523; // pow(trace_generator, &(safe_div(((23575 * global_values.trace_length)), 65536))). + pow1525 = pow105 * pow1524; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1526 = pow126 * pow1525; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1527 = pow126 * pow1526; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1528 = pow126 * pow1527; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1529 = pow126 * pow1528; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1530 = pow126 * pow1529; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1531 = pow126 * pow1530; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 32))). + pow1532 = pow606 * pow1531; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 8))). + pow1533 = pow58 * pow1532; // pow(trace_generator, &(safe_div(((24577 * global_values.trace_length)), 65536))). + pow1534 = pow58 * pow1533; // pow(trace_generator, &(safe_div(((12289 * global_values.trace_length)), 32768))). + pow1535 = pow58 * pow1534; // pow(trace_generator, &(safe_div(((24579 * global_values.trace_length)), 65536))). + pow1536 = pow58 * pow1535; // pow(trace_generator, &(safe_div(((6145 * global_values.trace_length)), 16384))). + pow1537 = pow58 * pow1536; // pow(trace_generator, &(safe_div(((24581 * global_values.trace_length)), 65536))). + pow1538 = pow58 * pow1537; // pow(trace_generator, &(safe_div(((12291 * global_values.trace_length)), 32768))). + pow1539 = pow58 * pow1538; // pow(trace_generator, &(safe_div(((24583 * global_values.trace_length)), 65536))). + pow1540 = pow58 * pow1539; // pow(trace_generator, &(safe_div(((3073 * global_values.trace_length)), 8192))). + pow1541 = pow58 * pow1540; // pow(trace_generator, &(safe_div(((24585 * global_values.trace_length)), 65536))). + pow1542 = pow58 * pow1541; // pow(trace_generator, &(safe_div(((12293 * global_values.trace_length)), 32768))). + pow1543 = pow58 * pow1542; // pow(trace_generator, &(safe_div(((24587 * global_values.trace_length)), 65536))). + pow1544 = pow58 * pow1543; // pow(trace_generator, &(safe_div(((6147 * global_values.trace_length)), 16384))). + pow1545 = pow58 * pow1544; // pow(trace_generator, &(safe_div(((24589 * global_values.trace_length)), 65536))). + pow1546 = pow58 * pow1545; // pow(trace_generator, &(safe_div(((12295 * global_values.trace_length)), 32768))). + pow1547 = pow58 * pow1546; // pow(trace_generator, &(safe_div(((24591 * global_values.trace_length)), 65536))). + pow1548 = pow58 * pow1547; // pow(trace_generator, &(safe_div(((1537 * global_values.trace_length)), 4096))). + pow1549 = pow58 * pow1548; // pow(trace_generator, &(safe_div(((24593 * global_values.trace_length)), 65536))). + pow1550 = pow58 * pow1549; // pow(trace_generator, &(safe_div(((12297 * global_values.trace_length)), 32768))). + pow1551 = pow58 * pow1550; // pow(trace_generator, &(safe_div(((24595 * global_values.trace_length)), 65536))). + pow1552 = pow58 * pow1551; // pow(trace_generator, &(safe_div(((6149 * global_values.trace_length)), 16384))). + pow1553 = pow58 * pow1552; // pow(trace_generator, &(safe_div(((24597 * global_values.trace_length)), 65536))). + pow1554 = pow58 * pow1553; // pow(trace_generator, &(safe_div(((12299 * global_values.trace_length)), 32768))). + pow1555 = pow58 * pow1554; // pow(trace_generator, &(safe_div(((24599 * global_values.trace_length)), 65536))). + pow1556 = pow105 * pow1555; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1557 = pow126 * pow1556; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1558 = pow126 * pow1557; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1559 = pow126 * pow1558; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1560 = pow126 * pow1559; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1561 = pow126 * pow1560; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1562 = pow126 * pow1561; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1563 = pow126 * pow1562; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1564 = pow126 * pow1563; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1565 = pow126 * pow1564; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1566 = pow126 * pow1565; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1567 = pow126 * pow1566; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1568 = pow126 * pow1567; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1569 = pow126 * pow1568; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1570 = pow126 * pow1569; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1571 = pow126 * pow1570; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1572 = pow58 * pow1571; // pow(trace_generator, &(safe_div(((25601 * global_values.trace_length)), 65536))). + pow1573 = pow58 * pow1572; // pow(trace_generator, &(safe_div(((12801 * global_values.trace_length)), 32768))). + pow1574 = pow58 * pow1573; // pow(trace_generator, &(safe_div(((25603 * global_values.trace_length)), 65536))). + pow1575 = pow58 * pow1574; // pow(trace_generator, &(safe_div(((6401 * global_values.trace_length)), 16384))). + pow1576 = pow58 * pow1575; // pow(trace_generator, &(safe_div(((25605 * global_values.trace_length)), 65536))). + pow1577 = pow58 * pow1576; // pow(trace_generator, &(safe_div(((12803 * global_values.trace_length)), 32768))). + pow1578 = pow58 * pow1577; // pow(trace_generator, &(safe_div(((25607 * global_values.trace_length)), 65536))). + pow1579 = pow58 * pow1578; // pow(trace_generator, &(safe_div(((3201 * global_values.trace_length)), 8192))). + pow1580 = pow58 * pow1579; // pow(trace_generator, &(safe_div(((25609 * global_values.trace_length)), 65536))). + pow1581 = pow58 * pow1580; // pow(trace_generator, &(safe_div(((12805 * global_values.trace_length)), 32768))). + pow1582 = pow58 * pow1581; // pow(trace_generator, &(safe_div(((25611 * global_values.trace_length)), 65536))). + pow1583 = pow58 * pow1582; // pow(trace_generator, &(safe_div(((6403 * global_values.trace_length)), 16384))). + pow1584 = pow58 * pow1583; // pow(trace_generator, &(safe_div(((25613 * global_values.trace_length)), 65536))). + pow1585 = pow58 * pow1584; // pow(trace_generator, &(safe_div(((12807 * global_values.trace_length)), 32768))). + pow1586 = pow58 * pow1585; // pow(trace_generator, &(safe_div(((25615 * global_values.trace_length)), 65536))). + pow1587 = pow58 * pow1586; // pow(trace_generator, &(safe_div(((1601 * global_values.trace_length)), 4096))). + pow1588 = pow58 * pow1587; // pow(trace_generator, &(safe_div(((25617 * global_values.trace_length)), 65536))). + pow1589 = pow58 * pow1588; // pow(trace_generator, &(safe_div(((12809 * global_values.trace_length)), 32768))). + pow1590 = pow58 * pow1589; // pow(trace_generator, &(safe_div(((25619 * global_values.trace_length)), 65536))). + pow1591 = pow58 * pow1590; // pow(trace_generator, &(safe_div(((6405 * global_values.trace_length)), 16384))). + pow1592 = pow58 * pow1591; // pow(trace_generator, &(safe_div(((25621 * global_values.trace_length)), 65536))). + pow1593 = pow58 * pow1592; // pow(trace_generator, &(safe_div(((12811 * global_values.trace_length)), 32768))). + pow1594 = pow58 * pow1593; // pow(trace_generator, &(safe_div(((25623 * global_values.trace_length)), 65536))). + pow1595 = pow105 * pow1594; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1596 = pow126 * pow1595; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1597 = pow126 * pow1596; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1598 = pow126 * pow1597; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1599 = pow126 * pow1598; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1600 = pow126 * pow1599; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1601 = pow126 * pow1600; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((3 * global_values.trace_length)), 8))). + pow1602 = pow606 * pow1601; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 32))). + pow1603 = pow819 * pow1602; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 64))). + pow1604 = pow58 * pow1602; // pow(trace_generator, &(safe_div(((26625 * global_values.trace_length)), 65536))). + pow1605 = pow58 * pow1603; // pow(trace_generator, &(safe_div(((27649 * global_values.trace_length)), 65536))). + pow1606 = pow58 * pow1604; // pow(trace_generator, &(safe_div(((13313 * global_values.trace_length)), 32768))). + pow1607 = pow58 * pow1605; // pow(trace_generator, &(safe_div(((13825 * global_values.trace_length)), 32768))). + pow1608 = pow58 * pow1606; // pow(trace_generator, &(safe_div(((26627 * global_values.trace_length)), 65536))). + pow1609 = pow58 * pow1607; // pow(trace_generator, &(safe_div(((27651 * global_values.trace_length)), 65536))). + pow1610 = pow58 * pow1608; // pow(trace_generator, &(safe_div(((6657 * global_values.trace_length)), 16384))). + pow1611 = pow58 * pow1609; // pow(trace_generator, &(safe_div(((6913 * global_values.trace_length)), 16384))). + pow1612 = pow58 * pow1610; // pow(trace_generator, &(safe_div(((26629 * global_values.trace_length)), 65536))). + pow1613 = pow58 * pow1611; // pow(trace_generator, &(safe_div(((27653 * global_values.trace_length)), 65536))). + pow1614 = pow58 * pow1612; // pow(trace_generator, &(safe_div(((13315 * global_values.trace_length)), 32768))). + pow1615 = pow58 * pow1613; // pow(trace_generator, &(safe_div(((13827 * global_values.trace_length)), 32768))). + pow1616 = pow58 * pow1614; // pow(trace_generator, &(safe_div(((26631 * global_values.trace_length)), 65536))). + pow1617 = pow58 * pow1615; // pow(trace_generator, &(safe_div(((27655 * global_values.trace_length)), 65536))). + pow1618 = pow58 * pow1616; // pow(trace_generator, &(safe_div(((3329 * global_values.trace_length)), 8192))). + pow1619 = pow58 * pow1618; // pow(trace_generator, &(safe_div(((26633 * global_values.trace_length)), 65536))). + pow1620 = pow58 * pow1619; // pow(trace_generator, &(safe_div(((13317 * global_values.trace_length)), 32768))). + pow1621 = pow58 * pow1620; // pow(trace_generator, &(safe_div(((26635 * global_values.trace_length)), 65536))). + pow1622 = pow58 * pow1621; // pow(trace_generator, &(safe_div(((6659 * global_values.trace_length)), 16384))). + pow1623 = pow58 * pow1622; // pow(trace_generator, &(safe_div(((26637 * global_values.trace_length)), 65536))). + pow1624 = pow58 * pow1623; // pow(trace_generator, &(safe_div(((13319 * global_values.trace_length)), 32768))). + pow1625 = pow58 * pow1624; // pow(trace_generator, &(safe_div(((26639 * global_values.trace_length)), 65536))). + pow1626 = pow58 * pow1625; // pow(trace_generator, &(safe_div(((1665 * global_values.trace_length)), 4096))). + pow1627 = pow58 * pow1626; // pow(trace_generator, &(safe_div(((26641 * global_values.trace_length)), 65536))). + pow1628 = pow58 * pow1627; // pow(trace_generator, &(safe_div(((13321 * global_values.trace_length)), 32768))). + pow1629 = pow58 * pow1628; // pow(trace_generator, &(safe_div(((26643 * global_values.trace_length)), 65536))). + pow1630 = pow58 * pow1629; // pow(trace_generator, &(safe_div(((6661 * global_values.trace_length)), 16384))). + pow1631 = pow58 * pow1630; // pow(trace_generator, &(safe_div(((26645 * global_values.trace_length)), 65536))). + pow1632 = pow58 * pow1631; // pow(trace_generator, &(safe_div(((13323 * global_values.trace_length)), 32768))). + pow1633 = pow58 * pow1632; // pow(trace_generator, &(safe_div(((26647 * global_values.trace_length)), 65536))). + pow1634 = pow58 * pow1617; // pow(trace_generator, &(safe_div(((3457 * global_values.trace_length)), 8192))). + pow1635 = pow58 * pow1634; // pow(trace_generator, &(safe_div(((27657 * global_values.trace_length)), 65536))). + pow1636 = pow58 * pow1635; // pow(trace_generator, &(safe_div(((13829 * global_values.trace_length)), 32768))). + pow1637 = pow58 * pow1636; // pow(trace_generator, &(safe_div(((27659 * global_values.trace_length)), 65536))). + pow1638 = pow58 * pow1637; // pow(trace_generator, &(safe_div(((6915 * global_values.trace_length)), 16384))). + pow1639 = pow58 * pow1638; // pow(trace_generator, &(safe_div(((27661 * global_values.trace_length)), 65536))). + pow1640 = pow58 * pow1639; // pow(trace_generator, &(safe_div(((13831 * global_values.trace_length)), 32768))). + pow1641 = pow58 * pow1640; // pow(trace_generator, &(safe_div(((27663 * global_values.trace_length)), 65536))). + pow1642 = pow58 * pow1641; // pow(trace_generator, &(safe_div(((1729 * global_values.trace_length)), 4096))). + pow1643 = pow58 * pow1642; // pow(trace_generator, &(safe_div(((27665 * global_values.trace_length)), 65536))). + pow1644 = pow58 * pow1643; // pow(trace_generator, &(safe_div(((13833 * global_values.trace_length)), 32768))). + pow1645 = pow58 * pow1644; // pow(trace_generator, &(safe_div(((27667 * global_values.trace_length)), 65536))). + pow1646 = pow58 * pow1645; // pow(trace_generator, &(safe_div(((6917 * global_values.trace_length)), 16384))). + pow1647 = pow58 * pow1646; // pow(trace_generator, &(safe_div(((27669 * global_values.trace_length)), 65536))). + pow1648 = pow58 * pow1647; // pow(trace_generator, &(safe_div(((13835 * global_values.trace_length)), 32768))). + pow1649 = pow58 * pow1648; // pow(trace_generator, &(safe_div(((27671 * global_values.trace_length)), 65536))). + pow1650 = pow889 * pow1603; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 32))). + pow1651 = pow126 * pow1650; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1652 = pow126 * pow1651; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1653 = pow126 * pow1652; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1654 = pow126 * pow1653; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1655 = pow126 * pow1654; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1656 = pow126 * pow1655; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1657 = pow126 * pow1656; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1658 = pow126 * pow1657; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1659 = pow126 * pow1658; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1660 = pow126 * pow1659; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1661 = pow126 * pow1660; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1662 = pow126 * pow1661; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1663 = pow126 * pow1662; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1664 = pow126 * pow1663; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1665 = pow126 * pow1664; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1666 = pow126 * pow1665; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1667 = pow58 * pow1666; // pow(trace_generator, &(safe_div(global_values.trace_length, 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1668 = pow58 * pow1667; // pow(trace_generator, &(safe_div(global_values.trace_length, 32768)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1669 = pow58 * pow1668; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1670 = pow58 * pow1669; // pow(trace_generator, &(safe_div(global_values.trace_length, 16384)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1671 = pow58 * pow1670; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1672 = pow58 * pow1671; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 32768)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1673 = pow58 * pow1672; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1674 = pow58 * pow1673; // pow(trace_generator, &(safe_div(global_values.trace_length, 8192)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1675 = pow58 * pow1674; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1676 = pow58 * pow1675; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 32768)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1677 = pow58 * pow1676; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1678 = pow58 * pow1677; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 16384)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1679 = pow58 * pow1678; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1680 = pow58 * pow1679; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 32768)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1681 = pow58 * pow1680; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1682 = pow58 * pow1681; // pow(trace_generator, &(safe_div(global_values.trace_length, 4096)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1683 = pow58 * pow1682; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1684 = pow58 * pow1683; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 32768)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1685 = pow58 * pow1684; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1686 = pow58 * pow1685; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 16384)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1687 = pow58 * pow1686; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1688 = pow58 * pow1687; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 32768)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1689 = pow58 * pow1688; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 65536)) + &(safe_div(((31 * global_values.trace_length)), 64))). + pow1690 = pow105 * pow1689; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1691 = pow126 * pow1690; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1692 = pow126 * pow1691; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1693 = pow126 * pow1692; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1694 = pow126 * pow1693; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1695 = pow126 * pow1694; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1696 = pow126 * pow1695; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((15 * global_values.trace_length)), 32))). + pow1697 = pow606 * pow1696; // pow(trace_generator, &(safe_div(global_values.trace_length, 2))). + pow1698 = pow126 * pow1697; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1699 = pow126 * pow1698; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(global_values.trace_length, 2))). + pow1700 = pow126 * pow1699; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1701 = pow126 * pow1700; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(global_values.trace_length, 2))). + pow1702 = pow126 * pow1701; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1703 = pow126 * pow1702; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 2))). + pow1704 = pow126 * pow1703; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1705 = pow126 * pow1704; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(global_values.trace_length, 2))). + pow1706 = pow126 * pow1705; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1707 = pow126 * pow1706; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 2))). + pow1708 = pow126 * pow1707; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1709 = pow126 * pow1708; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(global_values.trace_length, 2))). + pow1710 = pow126 * pow1709; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1711 = pow126 * pow1710; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 2))). + pow1712 = pow126 * pow1711; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1713 = pow126 * pow1712; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(global_values.trace_length, 2))). + pow1714 = pow126 * pow1713; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1715 = pow126 * pow1714; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 2))). + pow1716 = pow126 * pow1715; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1717 = pow126 * pow1716; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(global_values.trace_length, 2))). + pow1718 = pow126 * pow1717; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1719 = pow126 * pow1718; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(global_values.trace_length, 2))). + pow1720 = pow126 * pow1719; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(global_values.trace_length, 2))). + pow1721 = pow606 * pow1720; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 32))). + pow1722 = pow126 * pow1721; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1723 = pow126 * pow1722; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1724 = pow126 * pow1723; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1725 = pow126 * pow1724; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1726 = pow126 * pow1725; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1727 = pow126 * pow1726; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1728 = pow126 * pow1727; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1729 = pow126 * pow1728; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1730 = pow126 * pow1729; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1731 = pow126 * pow1730; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1732 = pow126 * pow1731; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1733 = pow126 * pow1732; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1734 = pow126 * pow1733; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1735 = pow126 * pow1734; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1736 = pow126 * pow1735; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1737 = pow126 * pow1736; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1738 = pow126 * pow1737; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1739 = pow126 * pow1738; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1740 = pow126 * pow1739; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1741 = pow126 * pow1740; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1742 = pow126 * pow1741; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1743 = pow126 * pow1742; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1744 = pow126 * pow1743; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((17 * global_values.trace_length)), 32))). + pow1745 = pow606 * pow1744; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 16))). + pow1746 = pow58 * pow1745; // pow(trace_generator, &(safe_div(((36865 * global_values.trace_length)), 65536))). + pow1747 = pow58 * pow1746; // pow(trace_generator, &(safe_div(((18433 * global_values.trace_length)), 32768))). + pow1748 = pow58 * pow1747; // pow(trace_generator, &(safe_div(((36867 * global_values.trace_length)), 65536))). + pow1749 = pow58 * pow1748; // pow(trace_generator, &(safe_div(((9217 * global_values.trace_length)), 16384))). + pow1750 = pow58 * pow1749; // pow(trace_generator, &(safe_div(((36869 * global_values.trace_length)), 65536))). + pow1751 = pow58 * pow1750; // pow(trace_generator, &(safe_div(((18435 * global_values.trace_length)), 32768))). + pow1752 = pow58 * pow1751; // pow(trace_generator, &(safe_div(((36871 * global_values.trace_length)), 65536))). + pow1753 = pow58 * pow1752; // pow(trace_generator, &(safe_div(((4609 * global_values.trace_length)), 8192))). + pow1754 = pow58 * pow1753; // pow(trace_generator, &(safe_div(((36873 * global_values.trace_length)), 65536))). + pow1755 = pow58 * pow1754; // pow(trace_generator, &(safe_div(((18437 * global_values.trace_length)), 32768))). + pow1756 = pow58 * pow1755; // pow(trace_generator, &(safe_div(((36875 * global_values.trace_length)), 65536))). + pow1757 = pow58 * pow1756; // pow(trace_generator, &(safe_div(((9219 * global_values.trace_length)), 16384))). + pow1758 = pow58 * pow1757; // pow(trace_generator, &(safe_div(((36877 * global_values.trace_length)), 65536))). + pow1759 = pow58 * pow1758; // pow(trace_generator, &(safe_div(((18439 * global_values.trace_length)), 32768))). + pow1760 = pow58 * pow1759; // pow(trace_generator, &(safe_div(((36879 * global_values.trace_length)), 65536))). + pow1761 = pow58 * pow1760; // pow(trace_generator, &(safe_div(((2305 * global_values.trace_length)), 4096))). + pow1762 = pow58 * pow1761; // pow(trace_generator, &(safe_div(((36881 * global_values.trace_length)), 65536))). + pow1763 = pow58 * pow1762; // pow(trace_generator, &(safe_div(((18441 * global_values.trace_length)), 32768))). + pow1764 = pow58 * pow1763; // pow(trace_generator, &(safe_div(((36883 * global_values.trace_length)), 65536))). + pow1765 = pow58 * pow1764; // pow(trace_generator, &(safe_div(((9221 * global_values.trace_length)), 16384))). + pow1766 = pow58 * pow1765; // pow(trace_generator, &(safe_div(((36885 * global_values.trace_length)), 65536))). + pow1767 = pow58 * pow1766; // pow(trace_generator, &(safe_div(((18443 * global_values.trace_length)), 32768))). + pow1768 = pow58 * pow1767; // pow(trace_generator, &(safe_div(((36887 * global_values.trace_length)), 65536))). + pow1769 = pow819 * pow1745; // pow(trace_generator, &(safe_div(((37 * global_values.trace_length)), 64))). + pow1770 = pow58 * pow1769; // pow(trace_generator, &(safe_div(((37889 * global_values.trace_length)), 65536))). + pow1771 = pow58 * pow1770; // pow(trace_generator, &(safe_div(((18945 * global_values.trace_length)), 32768))). + pow1772 = pow58 * pow1771; // pow(trace_generator, &(safe_div(((37891 * global_values.trace_length)), 65536))). + pow1773 = pow58 * pow1772; // pow(trace_generator, &(safe_div(((9473 * global_values.trace_length)), 16384))). + pow1774 = pow58 * pow1773; // pow(trace_generator, &(safe_div(((37893 * global_values.trace_length)), 65536))). + pow1775 = pow58 * pow1774; // pow(trace_generator, &(safe_div(((18947 * global_values.trace_length)), 32768))). + pow1776 = pow58 * pow1775; // pow(trace_generator, &(safe_div(((37895 * global_values.trace_length)), 65536))). + pow1777 = pow58 * pow1776; // pow(trace_generator, &(safe_div(((4737 * global_values.trace_length)), 8192))). + pow1778 = pow58 * pow1777; // pow(trace_generator, &(safe_div(((37897 * global_values.trace_length)), 65536))). + pow1779 = pow58 * pow1778; // pow(trace_generator, &(safe_div(((18949 * global_values.trace_length)), 32768))). + pow1780 = pow58 * pow1779; // pow(trace_generator, &(safe_div(((37899 * global_values.trace_length)), 65536))). + pow1781 = pow58 * pow1780; // pow(trace_generator, &(safe_div(((9475 * global_values.trace_length)), 16384))). + pow1782 = pow58 * pow1781; // pow(trace_generator, &(safe_div(((37901 * global_values.trace_length)), 65536))). + pow1783 = pow58 * pow1782; // pow(trace_generator, &(safe_div(((18951 * global_values.trace_length)), 32768))). + pow1784 = pow58 * pow1783; // pow(trace_generator, &(safe_div(((37903 * global_values.trace_length)), 65536))). + pow1785 = pow58 * pow1784; // pow(trace_generator, &(safe_div(((2369 * global_values.trace_length)), 4096))). + pow1786 = pow58 * pow1785; // pow(trace_generator, &(safe_div(((37905 * global_values.trace_length)), 65536))). + pow1787 = pow58 * pow1786; // pow(trace_generator, &(safe_div(((18953 * global_values.trace_length)), 32768))). + pow1788 = pow58 * pow1787; // pow(trace_generator, &(safe_div(((37907 * global_values.trace_length)), 65536))). + pow1789 = pow58 * pow1788; // pow(trace_generator, &(safe_div(((9477 * global_values.trace_length)), 16384))). + pow1790 = pow58 * pow1789; // pow(trace_generator, &(safe_div(((37909 * global_values.trace_length)), 65536))). + pow1791 = pow58 * pow1790; // pow(trace_generator, &(safe_div(((18955 * global_values.trace_length)), 32768))). + pow1792 = pow58 * pow1791; // pow(trace_generator, &(safe_div(((37911 * global_values.trace_length)), 65536))). + pow1793 = pow819 * pow1769; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 32))). + pow1794 = pow58 * pow1793; // pow(trace_generator, &(safe_div(((38913 * global_values.trace_length)), 65536))). + pow1795 = pow58 * pow1794; // pow(trace_generator, &(safe_div(((19457 * global_values.trace_length)), 32768))). + pow1796 = pow58 * pow1795; // pow(trace_generator, &(safe_div(((38915 * global_values.trace_length)), 65536))). + pow1797 = pow58 * pow1796; // pow(trace_generator, &(safe_div(((9729 * global_values.trace_length)), 16384))). + pow1798 = pow58 * pow1797; // pow(trace_generator, &(safe_div(((38917 * global_values.trace_length)), 65536))). + pow1799 = pow58 * pow1798; // pow(trace_generator, &(safe_div(((19459 * global_values.trace_length)), 32768))). + pow1800 = pow58 * pow1799; // pow(trace_generator, &(safe_div(((38919 * global_values.trace_length)), 65536))). + pow1801 = pow58 * pow1800; // pow(trace_generator, &(safe_div(((4865 * global_values.trace_length)), 8192))). + pow1802 = pow58 * pow1801; // pow(trace_generator, &(safe_div(((38921 * global_values.trace_length)), 65536))). + pow1803 = pow58 * pow1802; // pow(trace_generator, &(safe_div(((19461 * global_values.trace_length)), 32768))). + pow1804 = pow58 * pow1803; // pow(trace_generator, &(safe_div(((38923 * global_values.trace_length)), 65536))). + pow1805 = pow58 * pow1804; // pow(trace_generator, &(safe_div(((9731 * global_values.trace_length)), 16384))). + pow1806 = pow58 * pow1805; // pow(trace_generator, &(safe_div(((38925 * global_values.trace_length)), 65536))). + pow1807 = pow58 * pow1806; // pow(trace_generator, &(safe_div(((19463 * global_values.trace_length)), 32768))). + pow1808 = pow58 * pow1807; // pow(trace_generator, &(safe_div(((38927 * global_values.trace_length)), 65536))). + pow1809 = pow58 * pow1808; // pow(trace_generator, &(safe_div(((2433 * global_values.trace_length)), 4096))). + pow1810 = pow58 * pow1809; // pow(trace_generator, &(safe_div(((38929 * global_values.trace_length)), 65536))). + pow1811 = pow58 * pow1810; // pow(trace_generator, &(safe_div(((19465 * global_values.trace_length)), 32768))). + pow1812 = pow58 * pow1811; // pow(trace_generator, &(safe_div(((38931 * global_values.trace_length)), 65536))). + pow1813 = pow58 * pow1812; // pow(trace_generator, &(safe_div(((9733 * global_values.trace_length)), 16384))). + pow1814 = pow58 * pow1813; // pow(trace_generator, &(safe_div(((38933 * global_values.trace_length)), 65536))). + pow1815 = pow58 * pow1814; // pow(trace_generator, &(safe_div(((19467 * global_values.trace_length)), 32768))). + pow1816 = pow58 * pow1815; // pow(trace_generator, &(safe_div(((38935 * global_values.trace_length)), 65536))). + pow1817 = pow819 * pow1793; // pow(trace_generator, &(safe_div(((39 * global_values.trace_length)), 64))). + pow1818 = pow58 * pow1817; // pow(trace_generator, &(safe_div(((39937 * global_values.trace_length)), 65536))). + pow1819 = pow58 * pow1818; // pow(trace_generator, &(safe_div(((19969 * global_values.trace_length)), 32768))). + pow1820 = pow58 * pow1819; // pow(trace_generator, &(safe_div(((39939 * global_values.trace_length)), 65536))). + pow1821 = pow58 * pow1820; // pow(trace_generator, &(safe_div(((9985 * global_values.trace_length)), 16384))). + pow1822 = pow58 * pow1821; // pow(trace_generator, &(safe_div(((39941 * global_values.trace_length)), 65536))). + pow1823 = pow58 * pow1822; // pow(trace_generator, &(safe_div(((19971 * global_values.trace_length)), 32768))). + pow1824 = pow58 * pow1823; // pow(trace_generator, &(safe_div(((39943 * global_values.trace_length)), 65536))). + pow1825 = pow58 * pow1824; // pow(trace_generator, &(safe_div(((4993 * global_values.trace_length)), 8192))). + pow1826 = pow58 * pow1825; // pow(trace_generator, &(safe_div(((39945 * global_values.trace_length)), 65536))). + pow1827 = pow58 * pow1826; // pow(trace_generator, &(safe_div(((19973 * global_values.trace_length)), 32768))). + pow1828 = pow58 * pow1827; // pow(trace_generator, &(safe_div(((39947 * global_values.trace_length)), 65536))). + pow1829 = pow58 * pow1828; // pow(trace_generator, &(safe_div(((9987 * global_values.trace_length)), 16384))). + pow1830 = pow58 * pow1829; // pow(trace_generator, &(safe_div(((39949 * global_values.trace_length)), 65536))). + pow1831 = pow58 * pow1830; // pow(trace_generator, &(safe_div(((19975 * global_values.trace_length)), 32768))). + pow1832 = pow58 * pow1831; // pow(trace_generator, &(safe_div(((39951 * global_values.trace_length)), 65536))). + pow1833 = pow58 * pow1832; // pow(trace_generator, &(safe_div(((2497 * global_values.trace_length)), 4096))). + pow1834 = pow58 * pow1833; // pow(trace_generator, &(safe_div(((39953 * global_values.trace_length)), 65536))). + pow1835 = pow58 * pow1834; // pow(trace_generator, &(safe_div(((19977 * global_values.trace_length)), 32768))). + pow1836 = pow58 * pow1835; // pow(trace_generator, &(safe_div(((39955 * global_values.trace_length)), 65536))). + pow1837 = pow58 * pow1836; // pow(trace_generator, &(safe_div(((9989 * global_values.trace_length)), 16384))). + pow1838 = pow58 * pow1837; // pow(trace_generator, &(safe_div(((39957 * global_values.trace_length)), 65536))). + pow1839 = pow58 * pow1838; // pow(trace_generator, &(safe_div(((19979 * global_values.trace_length)), 32768))). + pow1840 = pow58 * pow1839; // pow(trace_generator, &(safe_div(((39959 * global_values.trace_length)), 65536))). + pow1841 = pow819 * pow1817; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 8))). + pow1842 = pow58 * pow1841; // pow(trace_generator, &(safe_div(((40961 * global_values.trace_length)), 65536))). + pow1843 = pow58 * pow1842; // pow(trace_generator, &(safe_div(((20481 * global_values.trace_length)), 32768))). + pow1844 = pow58 * pow1843; // pow(trace_generator, &(safe_div(((40963 * global_values.trace_length)), 65536))). + pow1845 = pow58 * pow1844; // pow(trace_generator, &(safe_div(((10241 * global_values.trace_length)), 16384))). + pow1846 = pow58 * pow1845; // pow(trace_generator, &(safe_div(((40965 * global_values.trace_length)), 65536))). + pow1847 = pow58 * pow1846; // pow(trace_generator, &(safe_div(((20483 * global_values.trace_length)), 32768))). + pow1848 = pow58 * pow1847; // pow(trace_generator, &(safe_div(((40967 * global_values.trace_length)), 65536))). + pow1849 = pow58 * pow1848; // pow(trace_generator, &(safe_div(((5121 * global_values.trace_length)), 8192))). + pow1850 = pow58 * pow1849; // pow(trace_generator, &(safe_div(((40969 * global_values.trace_length)), 65536))). + pow1851 = pow58 * pow1850; // pow(trace_generator, &(safe_div(((20485 * global_values.trace_length)), 32768))). + pow1852 = pow58 * pow1851; // pow(trace_generator, &(safe_div(((40971 * global_values.trace_length)), 65536))). + pow1853 = pow58 * pow1852; // pow(trace_generator, &(safe_div(((10243 * global_values.trace_length)), 16384))). + pow1854 = pow58 * pow1853; // pow(trace_generator, &(safe_div(((40973 * global_values.trace_length)), 65536))). + pow1855 = pow58 * pow1854; // pow(trace_generator, &(safe_div(((20487 * global_values.trace_length)), 32768))). + pow1856 = pow58 * pow1855; // pow(trace_generator, &(safe_div(((40975 * global_values.trace_length)), 65536))). + pow1857 = pow58 * pow1856; // pow(trace_generator, &(safe_div(((2561 * global_values.trace_length)), 4096))). + pow1858 = pow58 * pow1857; // pow(trace_generator, &(safe_div(((40977 * global_values.trace_length)), 65536))). + pow1859 = pow58 * pow1858; // pow(trace_generator, &(safe_div(((20489 * global_values.trace_length)), 32768))). + pow1860 = pow58 * pow1859; // pow(trace_generator, &(safe_div(((40979 * global_values.trace_length)), 65536))). + pow1861 = pow58 * pow1860; // pow(trace_generator, &(safe_div(((10245 * global_values.trace_length)), 16384))). + pow1862 = pow58 * pow1861; // pow(trace_generator, &(safe_div(((40981 * global_values.trace_length)), 65536))). + pow1863 = pow58 * pow1862; // pow(trace_generator, &(safe_div(((20491 * global_values.trace_length)), 32768))). + pow1864 = pow58 * pow1863; // pow(trace_generator, &(safe_div(((40983 * global_values.trace_length)), 65536))). + pow1865 = pow105 * pow1864; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1866 = pow126 * pow1865; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1867 = pow126 * pow1866; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1868 = pow126 * pow1867; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1869 = pow126 * pow1868; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1870 = pow126 * pow1869; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1871 = pow126 * pow1870; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1872 = pow126 * pow1871; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1873 = pow126 * pow1872; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1874 = pow126 * pow1873; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1875 = pow126 * pow1874; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1876 = pow126 * pow1875; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1877 = pow126 * pow1876; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1878 = pow126 * pow1877; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1879 = pow126 * pow1878; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1880 = pow126 * pow1879; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1881 = pow58 * pow1880; // pow(trace_generator, &(safe_div(((41985 * global_values.trace_length)), 65536))). + pow1882 = pow58 * pow1881; // pow(trace_generator, &(safe_div(((20993 * global_values.trace_length)), 32768))). + pow1883 = pow58 * pow1882; // pow(trace_generator, &(safe_div(((41987 * global_values.trace_length)), 65536))). + pow1884 = pow58 * pow1883; // pow(trace_generator, &(safe_div(((10497 * global_values.trace_length)), 16384))). + pow1885 = pow58 * pow1884; // pow(trace_generator, &(safe_div(((41989 * global_values.trace_length)), 65536))). + pow1886 = pow58 * pow1885; // pow(trace_generator, &(safe_div(((20995 * global_values.trace_length)), 32768))). + pow1887 = pow58 * pow1886; // pow(trace_generator, &(safe_div(((41991 * global_values.trace_length)), 65536))). + pow1888 = pow58 * pow1887; // pow(trace_generator, &(safe_div(((5249 * global_values.trace_length)), 8192))). + pow1889 = pow58 * pow1888; // pow(trace_generator, &(safe_div(((41993 * global_values.trace_length)), 65536))). + pow1890 = pow58 * pow1889; // pow(trace_generator, &(safe_div(((20997 * global_values.trace_length)), 32768))). + pow1891 = pow58 * pow1890; // pow(trace_generator, &(safe_div(((41995 * global_values.trace_length)), 65536))). + pow1892 = pow58 * pow1891; // pow(trace_generator, &(safe_div(((10499 * global_values.trace_length)), 16384))). + pow1893 = pow58 * pow1892; // pow(trace_generator, &(safe_div(((41997 * global_values.trace_length)), 65536))). + pow1894 = pow58 * pow1893; // pow(trace_generator, &(safe_div(((20999 * global_values.trace_length)), 32768))). + pow1895 = pow58 * pow1894; // pow(trace_generator, &(safe_div(((41999 * global_values.trace_length)), 65536))). + pow1896 = pow58 * pow1895; // pow(trace_generator, &(safe_div(((2625 * global_values.trace_length)), 4096))). + pow1897 = pow58 * pow1896; // pow(trace_generator, &(safe_div(((42001 * global_values.trace_length)), 65536))). + pow1898 = pow58 * pow1897; // pow(trace_generator, &(safe_div(((21001 * global_values.trace_length)), 32768))). + pow1899 = pow58 * pow1898; // pow(trace_generator, &(safe_div(((42003 * global_values.trace_length)), 65536))). + pow1900 = pow58 * pow1899; // pow(trace_generator, &(safe_div(((10501 * global_values.trace_length)), 16384))). + pow1901 = pow58 * pow1900; // pow(trace_generator, &(safe_div(((42005 * global_values.trace_length)), 65536))). + pow1902 = pow58 * pow1901; // pow(trace_generator, &(safe_div(((21003 * global_values.trace_length)), 32768))). + pow1903 = pow58 * pow1902; // pow(trace_generator, &(safe_div(((42007 * global_values.trace_length)), 65536))). + pow1904 = pow105 * pow1903; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1905 = pow126 * pow1904; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1906 = pow126 * pow1905; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1907 = pow126 * pow1906; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1908 = pow126 * pow1907; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1909 = pow126 * pow1908; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1910 = pow126 * pow1909; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((5 * global_values.trace_length)), 8))). + pow1911 = pow606 * pow1910; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 32))). + pow1912 = pow58 * pow1911; // pow(trace_generator, &(safe_div(((43009 * global_values.trace_length)), 65536))). + pow1913 = pow58 * pow1912; // pow(trace_generator, &(safe_div(((21505 * global_values.trace_length)), 32768))). + pow1914 = pow58 * pow1913; // pow(trace_generator, &(safe_div(((43011 * global_values.trace_length)), 65536))). + pow1915 = pow58 * pow1914; // pow(trace_generator, &(safe_div(((10753 * global_values.trace_length)), 16384))). + pow1916 = pow58 * pow1915; // pow(trace_generator, &(safe_div(((43013 * global_values.trace_length)), 65536))). + pow1917 = pow58 * pow1916; // pow(trace_generator, &(safe_div(((21507 * global_values.trace_length)), 32768))). + pow1918 = pow58 * pow1917; // pow(trace_generator, &(safe_div(((43015 * global_values.trace_length)), 65536))). + pow1919 = pow58 * pow1918; // pow(trace_generator, &(safe_div(((5377 * global_values.trace_length)), 8192))). + pow1920 = pow58 * pow1919; // pow(trace_generator, &(safe_div(((43017 * global_values.trace_length)), 65536))). + pow1921 = pow58 * pow1920; // pow(trace_generator, &(safe_div(((21509 * global_values.trace_length)), 32768))). + pow1922 = pow58 * pow1921; // pow(trace_generator, &(safe_div(((43019 * global_values.trace_length)), 65536))). + pow1923 = pow58 * pow1922; // pow(trace_generator, &(safe_div(((10755 * global_values.trace_length)), 16384))). + pow1924 = pow58 * pow1923; // pow(trace_generator, &(safe_div(((43021 * global_values.trace_length)), 65536))). + pow1925 = pow58 * pow1924; // pow(trace_generator, &(safe_div(((21511 * global_values.trace_length)), 32768))). + pow1926 = pow58 * pow1925; // pow(trace_generator, &(safe_div(((43023 * global_values.trace_length)), 65536))). + pow1927 = pow58 * pow1926; // pow(trace_generator, &(safe_div(((2689 * global_values.trace_length)), 4096))). + pow1928 = pow58 * pow1927; // pow(trace_generator, &(safe_div(((43025 * global_values.trace_length)), 65536))). + pow1929 = pow58 * pow1928; // pow(trace_generator, &(safe_div(((21513 * global_values.trace_length)), 32768))). + pow1930 = pow58 * pow1929; // pow(trace_generator, &(safe_div(((43027 * global_values.trace_length)), 65536))). + pow1931 = pow58 * pow1930; // pow(trace_generator, &(safe_div(((10757 * global_values.trace_length)), 16384))). + pow1932 = pow58 * pow1931; // pow(trace_generator, &(safe_div(((43029 * global_values.trace_length)), 65536))). + pow1933 = pow58 * pow1932; // pow(trace_generator, &(safe_div(((21515 * global_values.trace_length)), 32768))). + pow1934 = pow58 * pow1933; // pow(trace_generator, &(safe_div(((43031 * global_values.trace_length)), 65536))). + pow1935 = pow105 * pow1934; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1936 = pow126 * pow1935; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1937 = pow126 * pow1936; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1938 = pow126 * pow1937; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1939 = pow126 * pow1938; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1940 = pow126 * pow1939; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1941 = pow126 * pow1940; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1942 = pow126 * pow1941; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1943 = pow126 * pow1942; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1944 = pow126 * pow1943; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1945 = pow126 * pow1944; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1946 = pow126 * pow1945; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1947 = pow126 * pow1946; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1948 = pow126 * pow1947; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1949 = pow126 * pow1948; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1950 = pow126 * pow1949; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1951 = pow58 * pow1950; // pow(trace_generator, &(safe_div(((44033 * global_values.trace_length)), 65536))). + pow1952 = pow58 * pow1951; // pow(trace_generator, &(safe_div(((22017 * global_values.trace_length)), 32768))). + pow1953 = pow58 * pow1952; // pow(trace_generator, &(safe_div(((44035 * global_values.trace_length)), 65536))). + pow1954 = pow58 * pow1953; // pow(trace_generator, &(safe_div(((11009 * global_values.trace_length)), 16384))). + pow1955 = pow58 * pow1954; // pow(trace_generator, &(safe_div(((44037 * global_values.trace_length)), 65536))). + pow1956 = pow58 * pow1955; // pow(trace_generator, &(safe_div(((22019 * global_values.trace_length)), 32768))). + pow1957 = pow58 * pow1956; // pow(trace_generator, &(safe_div(((44039 * global_values.trace_length)), 65536))). + pow1958 = pow58 * pow1957; // pow(trace_generator, &(safe_div(((5505 * global_values.trace_length)), 8192))). + pow1959 = pow58 * pow1958; // pow(trace_generator, &(safe_div(((44041 * global_values.trace_length)), 65536))). + pow1960 = pow58 * pow1959; // pow(trace_generator, &(safe_div(((22021 * global_values.trace_length)), 32768))). + pow1961 = pow58 * pow1960; // pow(trace_generator, &(safe_div(((44043 * global_values.trace_length)), 65536))). + pow1962 = pow58 * pow1961; // pow(trace_generator, &(safe_div(((11011 * global_values.trace_length)), 16384))). + pow1963 = pow58 * pow1962; // pow(trace_generator, &(safe_div(((44045 * global_values.trace_length)), 65536))). + pow1964 = pow58 * pow1963; // pow(trace_generator, &(safe_div(((22023 * global_values.trace_length)), 32768))). + pow1965 = pow58 * pow1964; // pow(trace_generator, &(safe_div(((44047 * global_values.trace_length)), 65536))). + pow1966 = pow58 * pow1965; // pow(trace_generator, &(safe_div(((2753 * global_values.trace_length)), 4096))). + pow1967 = pow58 * pow1966; // pow(trace_generator, &(safe_div(((44049 * global_values.trace_length)), 65536))). + pow1968 = pow58 * pow1967; // pow(trace_generator, &(safe_div(((22025 * global_values.trace_length)), 32768))). + pow1969 = pow58 * pow1968; // pow(trace_generator, &(safe_div(((44051 * global_values.trace_length)), 65536))). + pow1970 = pow58 * pow1969; // pow(trace_generator, &(safe_div(((11013 * global_values.trace_length)), 16384))). + pow1971 = pow58 * pow1970; // pow(trace_generator, &(safe_div(((44053 * global_values.trace_length)), 65536))). + pow1972 = pow58 * pow1971; // pow(trace_generator, &(safe_div(((22027 * global_values.trace_length)), 32768))). + pow1973 = pow58 * pow1972; // pow(trace_generator, &(safe_div(((44055 * global_values.trace_length)), 65536))). + pow1974 = pow105 * pow1973; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1975 = pow126 * pow1974; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1976 = pow126 * pow1975; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1977 = pow126 * pow1976; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1978 = pow126 * pow1977; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1979 = pow126 * pow1978; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1980 = pow126 * pow1979; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((21 * global_values.trace_length)), 32))). + pow1981 = pow606 * pow1980; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 16))). + pow1982 = pow58 * pow1981; // pow(trace_generator, &(safe_div(((45057 * global_values.trace_length)), 65536))). + pow1983 = pow58 * pow1982; // pow(trace_generator, &(safe_div(((22529 * global_values.trace_length)), 32768))). + pow1984 = pow58 * pow1983; // pow(trace_generator, &(safe_div(((45059 * global_values.trace_length)), 65536))). + pow1985 = pow58 * pow1984; // pow(trace_generator, &(safe_div(((11265 * global_values.trace_length)), 16384))). + pow1986 = pow58 * pow1985; // pow(trace_generator, &(safe_div(((45061 * global_values.trace_length)), 65536))). + pow1987 = pow58 * pow1986; // pow(trace_generator, &(safe_div(((22531 * global_values.trace_length)), 32768))). + pow1988 = pow58 * pow1987; // pow(trace_generator, &(safe_div(((45063 * global_values.trace_length)), 65536))). + pow1989 = pow58 * pow1988; // pow(trace_generator, &(safe_div(((5633 * global_values.trace_length)), 8192))). + pow1990 = pow58 * pow1989; // pow(trace_generator, &(safe_div(((45065 * global_values.trace_length)), 65536))). + pow1991 = pow58 * pow1990; // pow(trace_generator, &(safe_div(((22533 * global_values.trace_length)), 32768))). + pow1992 = pow58 * pow1991; // pow(trace_generator, &(safe_div(((45067 * global_values.trace_length)), 65536))). + pow1993 = pow58 * pow1992; // pow(trace_generator, &(safe_div(((11267 * global_values.trace_length)), 16384))). + pow1994 = pow58 * pow1993; // pow(trace_generator, &(safe_div(((45069 * global_values.trace_length)), 65536))). + pow1995 = pow58 * pow1994; // pow(trace_generator, &(safe_div(((22535 * global_values.trace_length)), 32768))). + pow1996 = pow58 * pow1995; // pow(trace_generator, &(safe_div(((45071 * global_values.trace_length)), 65536))). + pow1997 = pow58 * pow1996; // pow(trace_generator, &(safe_div(((2817 * global_values.trace_length)), 4096))). + pow1998 = pow58 * pow1997; // pow(trace_generator, &(safe_div(((45073 * global_values.trace_length)), 65536))). + pow1999 = pow58 * pow1998; // pow(trace_generator, &(safe_div(((22537 * global_values.trace_length)), 32768))). + pow2000 = pow58 * pow1999; // pow(trace_generator, &(safe_div(((45075 * global_values.trace_length)), 65536))). + pow2001 = pow58 * pow2000; // pow(trace_generator, &(safe_div(((11269 * global_values.trace_length)), 16384))). + pow2002 = pow58 * pow2001; // pow(trace_generator, &(safe_div(((45077 * global_values.trace_length)), 65536))). + pow2003 = pow58 * pow2002; // pow(trace_generator, &(safe_div(((22539 * global_values.trace_length)), 32768))). + pow2004 = pow58 * pow2003; // pow(trace_generator, &(safe_div(((45079 * global_values.trace_length)), 65536))). + pow2005 = pow105 * pow2004; // pow(trace_generator, &(safe_div(global_values.trace_length, 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2006 = pow126 * pow2005; // pow(trace_generator, &(safe_div(global_values.trace_length, 512)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2007 = pow126 * pow2006; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2008 = pow126 * pow2007; // pow(trace_generator, &(safe_div(global_values.trace_length, 256)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2009 = pow126 * pow2008; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2010 = pow126 * pow2009; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2011 = pow126 * pow2010; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2012 = pow126 * pow2011; // pow(trace_generator, &(safe_div(global_values.trace_length, 128)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2013 = pow126 * pow2012; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2014 = pow126 * pow2013; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2015 = pow126 * pow2014; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2016 = pow126 * pow2015; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 256)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2017 = pow126 * pow2016; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2018 = pow126 * pow2017; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2019 = pow126 * pow2018; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2020 = pow126 * pow2019; // pow(trace_generator, &(safe_div(global_values.trace_length, 64)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2021 = pow58 * pow2020; // pow(trace_generator, &(safe_div(((46081 * global_values.trace_length)), 65536))). + pow2022 = pow58 * pow2021; // pow(trace_generator, &(safe_div(((23041 * global_values.trace_length)), 32768))). + pow2023 = pow58 * pow2022; // pow(trace_generator, &(safe_div(((46083 * global_values.trace_length)), 65536))). + pow2024 = pow58 * pow2023; // pow(trace_generator, &(safe_div(((11521 * global_values.trace_length)), 16384))). + pow2025 = pow58 * pow2024; // pow(trace_generator, &(safe_div(((46085 * global_values.trace_length)), 65536))). + pow2026 = pow58 * pow2025; // pow(trace_generator, &(safe_div(((23043 * global_values.trace_length)), 32768))). + pow2027 = pow58 * pow2026; // pow(trace_generator, &(safe_div(((46087 * global_values.trace_length)), 65536))). + pow2028 = pow58 * pow2027; // pow(trace_generator, &(safe_div(((5761 * global_values.trace_length)), 8192))). + pow2029 = pow58 * pow2028; // pow(trace_generator, &(safe_div(((46089 * global_values.trace_length)), 65536))). + pow2030 = pow58 * pow2029; // pow(trace_generator, &(safe_div(((23045 * global_values.trace_length)), 32768))). + pow2031 = pow58 * pow2030; // pow(trace_generator, &(safe_div(((46091 * global_values.trace_length)), 65536))). + pow2032 = pow58 * pow2031; // pow(trace_generator, &(safe_div(((11523 * global_values.trace_length)), 16384))). + pow2033 = pow58 * pow2032; // pow(trace_generator, &(safe_div(((46093 * global_values.trace_length)), 65536))). + pow2034 = pow58 * pow2033; // pow(trace_generator, &(safe_div(((23047 * global_values.trace_length)), 32768))). + pow2035 = pow58 * pow2034; // pow(trace_generator, &(safe_div(((46095 * global_values.trace_length)), 65536))). + pow2036 = pow58 * pow2035; // pow(trace_generator, &(safe_div(((2881 * global_values.trace_length)), 4096))). + pow2037 = pow58 * pow2036; // pow(trace_generator, &(safe_div(((46097 * global_values.trace_length)), 65536))). + pow2038 = pow58 * pow2037; // pow(trace_generator, &(safe_div(((23049 * global_values.trace_length)), 32768))). + pow2039 = pow58 * pow2038; // pow(trace_generator, &(safe_div(((46099 * global_values.trace_length)), 65536))). + pow2040 = pow58 * pow2039; // pow(trace_generator, &(safe_div(((11525 * global_values.trace_length)), 16384))). + pow2041 = pow58 * pow2040; // pow(trace_generator, &(safe_div(((46101 * global_values.trace_length)), 65536))). + pow2042 = pow58 * pow2041; // pow(trace_generator, &(safe_div(((23051 * global_values.trace_length)), 32768))). + pow2043 = pow58 * pow2042; // pow(trace_generator, &(safe_div(((46103 * global_values.trace_length)), 65536))). + pow2044 = pow105 * pow2043; // pow(trace_generator, &(safe_div(((17 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2045 = pow126 * pow2044; // pow(trace_generator, &(safe_div(((9 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2046 = pow126 * pow2045; // pow(trace_generator, &(safe_div(((19 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2047 = pow126 * pow2046; // pow(trace_generator, &(safe_div(((5 * global_values.trace_length)), 256)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2048 = pow126 * pow2047; // pow(trace_generator, &(safe_div(((21 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2049 = pow126 * pow2048; // pow(trace_generator, &(safe_div(((11 * global_values.trace_length)), 512)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2050 = pow126 * pow2049; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 1024)) + &(safe_div(((11 * global_values.trace_length)), 16))). + pow2051 = pow606 * pow2050; // pow(trace_generator, &(safe_div(((23 * global_values.trace_length)), 32))). + pow2052 = pow819 * pow2051; // pow(trace_generator, &(safe_div(((47 * global_values.trace_length)), 64))). + pow2053 = pow819 * pow2052; // pow(trace_generator, &(safe_div(((3 * global_values.trace_length)), 4))). + pow2054 = pow58 * pow2051; // pow(trace_generator, &(safe_div(((47105 * global_values.trace_length)), 65536))). + pow2055 = pow58 * pow2052; // pow(trace_generator, &(safe_div(((48129 * global_values.trace_length)), 65536))). + pow2056 = pow58 * pow2053; // pow(trace_generator, &(safe_div(((49153 * global_values.trace_length)), 65536))). + pow2057 = pow58 * pow2054; // pow(trace_generator, &(safe_div(((23553 * global_values.trace_length)), 32768))). + pow2058 = pow58 * pow2055; // pow(trace_generator, &(safe_div(((24065 * global_values.trace_length)), 32768))). + pow2059 = pow58 * pow2056; // pow(trace_generator, &(safe_div(((24577 * global_values.trace_length)), 32768))). + pow2060 = pow58 * pow2057; // pow(trace_generator, &(safe_div(((47107 * global_values.trace_length)), 65536))). + pow2061 = pow58 * pow2058; // pow(trace_generator, &(safe_div(((48131 * global_values.trace_length)), 65536))). + pow2062 = pow58 * pow2059; // pow(trace_generator, &(safe_div(((49155 * global_values.trace_length)), 65536))). + pow2063 = pow58 * pow2060; // pow(trace_generator, &(safe_div(((11777 * global_values.trace_length)), 16384))). + pow2064 = pow58 * pow2061; // pow(trace_generator, &(safe_div(((12033 * global_values.trace_length)), 16384))). + pow2065 = pow58 * pow2062; // pow(trace_generator, &(safe_div(((12289 * global_values.trace_length)), 16384))). + pow2066 = pow58 * pow2063; // pow(trace_generator, &(safe_div(((47109 * global_values.trace_length)), 65536))). + pow2067 = pow58 * pow2064; // pow(trace_generator, &(safe_div(((48133 * global_values.trace_length)), 65536))). + pow2068 = pow58 * pow2065; // pow(trace_generator, &(safe_div(((49157 * global_values.trace_length)), 65536))). + pow2069 = pow819 * pow2053; // pow(trace_generator, &(safe_div(((49 * global_values.trace_length)), 64))). + pow2070 = pow58 * pow2069; // pow(trace_generator, &(safe_div(((50177 * global_values.trace_length)), 65536))). + pow2071 = pow58 * pow2070; // pow(trace_generator, &(safe_div(((25089 * global_values.trace_length)), 32768))). + pow2072 = pow58 * pow2071; // pow(trace_generator, &(safe_div(((50179 * global_values.trace_length)), 65536))). + pow2073 = pow58 * pow2072; // pow(trace_generator, &(safe_div(((12545 * global_values.trace_length)), 16384))). + pow2074 = pow58 * pow2073; // pow(trace_generator, &(safe_div(((50181 * global_values.trace_length)), 65536))). + pow2075 = pow58 * pow2066; // pow(trace_generator, &(safe_div(((23555 * global_values.trace_length)), 32768))). + pow2076 = pow58 * pow2067; // pow(trace_generator, &(safe_div(((24067 * global_values.trace_length)), 32768))). + pow2077 = pow58 * pow2068; // pow(trace_generator, &(safe_div(((24579 * global_values.trace_length)), 32768))). + pow2078 = pow58 * pow2075; // pow(trace_generator, &(safe_div(((47111 * global_values.trace_length)), 65536))). + pow2079 = pow58 * pow2078; // pow(trace_generator, &(safe_div(((5889 * global_values.trace_length)), 8192))). + pow2080 = pow58 * pow2079; // pow(trace_generator, &(safe_div(((47113 * global_values.trace_length)), 65536))). + pow2081 = pow58 * pow2080; // pow(trace_generator, &(safe_div(((23557 * global_values.trace_length)), 32768))). + pow2082 = pow58 * pow2081; // pow(trace_generator, &(safe_div(((47115 * global_values.trace_length)), 65536))). + pow2083 = pow58 * pow2082; // pow(trace_generator, &(safe_div(((11779 * global_values.trace_length)), 16384))). + pow2084 = pow58 * pow2083; // pow(trace_generator, &(safe_div(((47117 * global_values.trace_length)), 65536))). + pow2085 = pow58 * pow2084; // pow(trace_generator, &(safe_div(((23559 * global_values.trace_length)), 32768))). + pow2086 = pow58 * pow2085; // pow(trace_generator, &(safe_div(((47119 * global_values.trace_length)), 65536))). + pow2087 = pow58 * pow2086; // pow(trace_generator, &(safe_div(((2945 * global_values.trace_length)), 4096))). + pow2088 = pow58 * pow2087; // pow(trace_generator, &(safe_div(((47121 * global_values.trace_length)), 65536))). + pow2089 = pow58 * pow2088; // pow(trace_generator, &(safe_div(((23561 * global_values.trace_length)), 32768))). + pow2090 = pow58 * pow2089; // pow(trace_generator, &(safe_div(((47123 * global_values.trace_length)), 65536))). + pow2091 = pow58 * pow2090; // pow(trace_generator, &(safe_div(((11781 * global_values.trace_length)), 16384))). + pow2092 = pow58 * pow2091; // pow(trace_generator, &(safe_div(((47125 * global_values.trace_length)), 65536))). + pow2093 = pow58 * pow2092; // pow(trace_generator, &(safe_div(((23563 * global_values.trace_length)), 32768))). + pow2094 = pow58 * pow2093; // pow(trace_generator, &(safe_div(((47127 * global_values.trace_length)), 65536))). + pow2095 = pow58 * pow2076; // pow(trace_generator, &(safe_div(((48135 * global_values.trace_length)), 65536))). + pow2096 = pow58 * pow2095; // pow(trace_generator, &(safe_div(((6017 * global_values.trace_length)), 8192))). + pow2097 = pow58 * pow2096; // pow(trace_generator, &(safe_div(((48137 * global_values.trace_length)), 65536))). + pow2098 = pow58 * pow2097; // pow(trace_generator, &(safe_div(((24069 * global_values.trace_length)), 32768))). + pow2099 = pow58 * pow2098; // pow(trace_generator, &(safe_div(((48139 * global_values.trace_length)), 65536))). + pow2100 = pow58 * pow2099; // pow(trace_generator, &(safe_div(((12035 * global_values.trace_length)), 16384))). + pow2101 = pow58 * pow2100; // pow(trace_generator, &(safe_div(((48141 * global_values.trace_length)), 65536))). + pow2102 = pow58 * pow2101; // pow(trace_generator, &(safe_div(((24071 * global_values.trace_length)), 32768))). + pow2103 = pow58 * pow2102; // pow(trace_generator, &(safe_div(((48143 * global_values.trace_length)), 65536))). + pow2104 = pow58 * pow2103; // pow(trace_generator, &(safe_div(((3009 * global_values.trace_length)), 4096))). + pow2105 = pow58 * pow2104; // pow(trace_generator, &(safe_div(((48145 * global_values.trace_length)), 65536))). + pow2106 = pow58 * pow2105; // pow(trace_generator, &(safe_div(((24073 * global_values.trace_length)), 32768))). + pow2107 = pow58 * pow2106; // pow(trace_generator, &(safe_div(((48147 * global_values.trace_length)), 65536))). + pow2108 = pow58 * pow2107; // pow(trace_generator, &(safe_div(((12037 * global_values.trace_length)), 16384))). + pow2109 = pow58 * pow2108; // pow(trace_generator, &(safe_div(((48149 * global_values.trace_length)), 65536))). + pow2110 = pow58 * pow2109; // pow(trace_generator, &(safe_div(((24075 * global_values.trace_length)), 32768))). + pow2111 = pow58 * pow2110; // pow(trace_generator, &(safe_div(((48151 * global_values.trace_length)), 65536))). + pow2112 = pow58 * pow2077; // pow(trace_generator, &(safe_div(((49159 * global_values.trace_length)), 65536))). + pow2113 = pow58 * pow2112; // pow(trace_generator, &(safe_div(((6145 * global_values.trace_length)), 8192))). + pow2114 = pow58 * pow2113; // pow(trace_generator, &(safe_div(((49161 * global_values.trace_length)), 65536))). + pow2115 = pow58 * pow2114; // pow(trace_generator, &(safe_div(((24581 * global_values.trace_length)), 32768))). + pow2116 = pow58 * pow2115; // pow(trace_generator, &(safe_div(((49163 * global_values.trace_length)), 65536))). + pow2117 = pow58 * pow2116; // pow(trace_generator, &(safe_div(((12291 * global_values.trace_length)), 16384))). + pow2118 = pow58 * pow2117; // pow(trace_generator, &(safe_div(((49165 * global_values.trace_length)), 65536))). + pow2119 = pow58 * pow2118; // pow(trace_generator, &(safe_div(((24583 * global_values.trace_length)), 32768))). + pow2120 = pow58 * pow2119; // pow(trace_generator, &(safe_div(((49167 * global_values.trace_length)), 65536))). + pow2121 = pow58 * pow2120; // pow(trace_generator, &(safe_div(((3073 * global_values.trace_length)), 4096))). + pow2122 = pow58 * pow2121; // pow(trace_generator, &(safe_div(((49169 * global_values.trace_length)), 65536))). + pow2123 = pow58 * pow2122; // pow(trace_generator, &(safe_div(((24585 * global_values.trace_length)), 32768))). + pow2124 = pow58 * pow2123; // pow(trace_generator, &(safe_div(((49171 * global_values.trace_length)), 65536))). + pow2125 = pow58 * pow2124; // pow(trace_generator, &(safe_div(((12293 * global_values.trace_length)), 16384))). + pow2126 = pow58 * pow2125; // pow(trace_generator, &(safe_div(((49173 * global_values.trace_length)), 65536))). + pow2127 = pow58 * pow2126; // pow(trace_generator, &(safe_div(((24587 * global_values.trace_length)), 32768))). + pow2128 = pow58 * pow2127; // pow(trace_generator, &(safe_div(((49175 * global_values.trace_length)), 65536))). + pow2129 = pow58 * pow2074; // pow(trace_generator, &(safe_div(((25091 * global_values.trace_length)), 32768))). + pow2130 = pow58 * pow2129; // pow(trace_generator, &(safe_div(((50183 * global_values.trace_length)), 65536))). + pow2131 = pow58 * pow2130; // pow(trace_generator, &(safe_div(((6273 * global_values.trace_length)), 8192))). + pow2132 = pow58 * pow2131; // pow(trace_generator, &(safe_div(((50185 * global_values.trace_length)), 65536))). + pow2133 = pow58 * pow2132; // pow(trace_generator, &(safe_div(((25093 * global_values.trace_length)), 32768))). + pow2134 = pow58 * pow2133; // pow(trace_generator, &(safe_div(((50187 * global_values.trace_length)), 65536))). + pow2135 = pow58 * pow2134; // pow(trace_generator, &(safe_div(((12547 * global_values.trace_length)), 16384))). + pow2136 = pow58 * pow2135; // pow(trace_generator, &(safe_div(((50189 * global_values.trace_length)), 65536))). + pow2137 = pow58 * pow2136; // pow(trace_generator, &(safe_div(((25095 * global_values.trace_length)), 32768))). + pow2138 = pow58 * pow2137; // pow(trace_generator, &(safe_div(((50191 * global_values.trace_length)), 65536))). + pow2139 = pow58 * pow2138; // pow(trace_generator, &(safe_div(((3137 * global_values.trace_length)), 4096))). + pow2140 = pow58 * pow2139; // pow(trace_generator, &(safe_div(((50193 * global_values.trace_length)), 65536))). + pow2141 = pow58 * pow2140; // pow(trace_generator, &(safe_div(((25097 * global_values.trace_length)), 32768))). + pow2142 = pow58 * pow2141; // pow(trace_generator, &(safe_div(((50195 * global_values.trace_length)), 65536))). + pow2143 = pow58 * pow2142; // pow(trace_generator, &(safe_div(((12549 * global_values.trace_length)), 16384))). + pow2144 = pow58 * pow2143; // pow(trace_generator, &(safe_div(((50197 * global_values.trace_length)), 65536))). + pow2145 = pow58 * pow2144; // pow(trace_generator, &(safe_div(((25099 * global_values.trace_length)), 32768))). + pow2146 = pow58 * pow2145; // pow(trace_generator, &(safe_div(((50199 * global_values.trace_length)), 65536))). + pow2147 = pow819 * pow2069; // pow(trace_generator, &(safe_div(((25 * global_values.trace_length)), 32))). + pow2148 = pow819 * pow2147; // pow(trace_generator, &(safe_div(((51 * global_values.trace_length)), 64))). + pow2149 = pow819 * pow2148; // pow(trace_generator, &(safe_div(((13 * global_values.trace_length)), 16))). + pow2150 = pow58 * pow2147; // pow(trace_generator, &(safe_div(((51201 * global_values.trace_length)), 65536))). + pow2151 = pow58 * pow2148; // pow(trace_generator, &(safe_div(((52225 * global_values.trace_length)), 65536))). + pow2152 = pow58 * pow2149; // pow(trace_generator, &(safe_div(((53249 * global_values.trace_length)), 65536))). + pow2153 = pow58 * pow2150; // pow(trace_generator, &(safe_div(((25601 * global_values.trace_length)), 32768))). + pow2154 = pow58 * pow2151; // pow(trace_generator, &(safe_div(((26113 * global_values.trace_length)), 32768))). + pow2155 = pow58 * pow2152; // pow(trace_generator, &(safe_div(((26625 * global_values.trace_length)), 32768))). + pow2156 = pow58 * pow2153; // pow(trace_generator, &(safe_div(((51203 * global_values.trace_length)), 65536))). + pow2157 = pow58 * pow2154; // pow(trace_generator, &(safe_div(((52227 * global_values.trace_length)), 65536))). + pow2158 = pow58 * pow2155; // pow(trace_generator, &(safe_div(((53251 * global_values.trace_length)), 65536))). + pow2159 = pow58 * pow2156; // pow(trace_generator, &(safe_div(((12801 * global_values.trace_length)), 16384))). + pow2160 = pow58 * pow2157; // pow(trace_generator, &(safe_div(((13057 * global_values.trace_length)), 16384))). + pow2161 = pow58 * pow2158; // pow(trace_generator, &(safe_div(((13313 * global_values.trace_length)), 16384))). + pow2162 = pow58 * pow2159; // pow(trace_generator, &(safe_div(((51205 * global_values.trace_length)), 65536))). + pow2163 = pow58 * pow2160; // pow(trace_generator, &(safe_div(((52229 * global_values.trace_length)), 65536))). + pow2164 = pow58 * pow2161; // pow(trace_generator, &(safe_div(((53253 * global_values.trace_length)), 65536))). + pow2165 = pow58 * pow2162; // pow(trace_generator, &(safe_div(((25603 * global_values.trace_length)), 32768))). + pow2166 = pow58 * pow2163; // pow(trace_generator, &(safe_div(((26115 * global_values.trace_length)), 32768))). + pow2167 = pow58 * pow2164; // pow(trace_generator, &(safe_div(((26627 * global_values.trace_length)), 32768))). + pow2168 = pow58 * pow2165; // pow(trace_generator, &(safe_div(((51207 * global_values.trace_length)), 65536))). + pow2169 = pow58 * pow2168; // pow(trace_generator, &(safe_div(((6401 * global_values.trace_length)), 8192))). + pow2170 = pow58 * pow2169; // pow(trace_generator, &(safe_div(((51209 * global_values.trace_length)), 65536))). + pow2171 = pow58 * pow2170; // pow(trace_generator, &(safe_div(((25605 * global_values.trace_length)), 32768))). + pow2172 = pow58 * pow2171; // pow(trace_generator, &(safe_div(((51211 * global_values.trace_length)), 65536))). + pow2173 = pow58 * pow2172; // pow(trace_generator, &(safe_div(((12803 * global_values.trace_length)), 16384))). + pow2174 = pow58 * pow2173; // pow(trace_generator, &(safe_div(((51213 * global_values.trace_length)), 65536))). + pow2175 = pow58 * pow2174; // pow(trace_generator, &(safe_div(((25607 * global_values.trace_length)), 32768))). + pow2176 = pow58 * pow2175; // pow(trace_generator, &(safe_div(((51215 * global_values.trace_length)), 65536))). + pow2177 = pow58 * pow2176; // pow(trace_generator, &(safe_div(((3201 * global_values.trace_length)), 4096))). + pow2178 = pow58 * pow2177; // pow(trace_generator, &(safe_div(((51217 * global_values.trace_length)), 65536))). + pow2179 = pow58 * pow2178; // pow(trace_generator, &(safe_div(((25609 * global_values.trace_length)), 32768))). + pow2180 = pow58 * pow2179; // pow(trace_generator, &(safe_div(((51219 * global_values.trace_length)), 65536))). + pow2181 = pow58 * pow2180; // pow(trace_generator, &(safe_div(((12805 * global_values.trace_length)), 16384))). + pow2182 = pow58 * pow2181; // pow(trace_generator, &(safe_div(((51221 * global_values.trace_length)), 65536))). + pow2183 = pow58 * pow2182; // pow(trace_generator, &(safe_div(((25611 * global_values.trace_length)), 32768))). + pow2184 = pow58 * pow2183; // pow(trace_generator, &(safe_div(((51223 * global_values.trace_length)), 65536))). + pow2185 = pow58 * pow2166; // pow(trace_generator, &(safe_div(((52231 * global_values.trace_length)), 65536))). + pow2186 = pow58 * pow2185; // pow(trace_generator, &(safe_div(((6529 * global_values.trace_length)), 8192))). + pow2187 = pow58 * pow2186; // pow(trace_generator, &(safe_div(((52233 * global_values.trace_length)), 65536))). + pow2188 = pow58 * pow2187; // pow(trace_generator, &(safe_div(((26117 * global_values.trace_length)), 32768))). + pow2189 = pow58 * pow2188; // pow(trace_generator, &(safe_div(((52235 * global_values.trace_length)), 65536))). + pow2190 = pow58 * pow2189; // pow(trace_generator, &(safe_div(((13059 * global_values.trace_length)), 16384))). + pow2191 = pow58 * pow2190; // pow(trace_generator, &(safe_div(((52237 * global_values.trace_length)), 65536))). + pow2192 = pow58 * pow2191; // pow(trace_generator, &(safe_div(((26119 * global_values.trace_length)), 32768))). + pow2193 = pow58 * pow2192; // pow(trace_generator, &(safe_div(((52239 * global_values.trace_length)), 65536))). + pow2194 = pow58 * pow2193; // pow(trace_generator, &(safe_div(((3265 * global_values.trace_length)), 4096))). + pow2195 = pow58 * pow2194; // pow(trace_generator, &(safe_div(((52241 * global_values.trace_length)), 65536))). + pow2196 = pow58 * pow2195; // pow(trace_generator, &(safe_div(((26121 * global_values.trace_length)), 32768))). + pow2197 = pow58 * pow2196; // pow(trace_generator, &(safe_div(((52243 * global_values.trace_length)), 65536))). + pow2198 = pow58 * pow2197; // pow(trace_generator, &(safe_div(((13061 * global_values.trace_length)), 16384))). + pow2199 = pow58 * pow2198; // pow(trace_generator, &(safe_div(((52245 * global_values.trace_length)), 65536))). + pow2200 = pow58 * pow2199; // pow(trace_generator, &(safe_div(((26123 * global_values.trace_length)), 32768))). + pow2201 = pow58 * pow2200; // pow(trace_generator, &(safe_div(((52247 * global_values.trace_length)), 65536))). + pow2202 = pow58 * pow2167; // pow(trace_generator, &(safe_div(((53255 * global_values.trace_length)), 65536))). + pow2203 = pow58 * pow2202; // pow(trace_generator, &(safe_div(((6657 * global_values.trace_length)), 8192))). + pow2204 = pow58 * pow2203; // pow(trace_generator, &(safe_div(((53257 * global_values.trace_length)), 65536))). + pow2205 = pow58 * pow2204; // pow(trace_generator, &(safe_div(((26629 * global_values.trace_length)), 32768))). + pow2206 = pow58 * pow2205; // pow(trace_generator, &(safe_div(((53259 * global_values.trace_length)), 65536))). + pow2207 = pow58 * pow2206; // pow(trace_generator, &(safe_div(((13315 * global_values.trace_length)), 16384))). + pow2208 = pow58 * pow2207; // pow(trace_generator, &(safe_div(((53261 * global_values.trace_length)), 65536))). + pow2209 = pow58 * pow2208; // pow(trace_generator, &(safe_div(((26631 * global_values.trace_length)), 32768))). + pow2210 = pow58 * pow2209; // pow(trace_generator, &(safe_div(((53263 * global_values.trace_length)), 65536))). + pow2211 = pow58 * pow2210; // pow(trace_generator, &(safe_div(((3329 * global_values.trace_length)), 4096))). + pow2212 = pow58 * pow2211; // pow(trace_generator, &(safe_div(((53265 * global_values.trace_length)), 65536))). + pow2213 = pow58 * pow2212; // pow(trace_generator, &(safe_div(((26633 * global_values.trace_length)), 32768))). + pow2214 = pow58 * pow2213; // pow(trace_generator, &(safe_div(((53267 * global_values.trace_length)), 65536))). + pow2215 = pow58 * pow2214; // pow(trace_generator, &(safe_div(((13317 * global_values.trace_length)), 16384))). + pow2216 = pow58 * pow2215; // pow(trace_generator, &(safe_div(((53269 * global_values.trace_length)), 65536))). + pow2217 = pow58 * pow2216; // pow(trace_generator, &(safe_div(((26635 * global_values.trace_length)), 32768))). + pow2218 = pow58 * pow2217; // pow(trace_generator, &(safe_div(((53271 * global_values.trace_length)), 65536))). + pow2219 = pow105 * pow2218; // pow(trace_generator, &(safe_div(((833 * global_values.trace_length)), 1024))). + pow2220 = pow126 * pow2219; // pow(trace_generator, &(safe_div(((417 * global_values.trace_length)), 512))). + pow2221 = pow126 * pow2220; // pow(trace_generator, &(safe_div(((835 * global_values.trace_length)), 1024))). + pow2222 = pow126 * pow2221; // pow(trace_generator, &(safe_div(((209 * global_values.trace_length)), 256))). + pow2223 = pow126 * pow2222; // pow(trace_generator, &(safe_div(((837 * global_values.trace_length)), 1024))). + pow2224 = pow126 * pow2223; // pow(trace_generator, &(safe_div(((419 * global_values.trace_length)), 512))). + pow2225 = pow126 * pow2224; // pow(trace_generator, &(safe_div(((839 * global_values.trace_length)), 1024))). + pow2226 = pow126 * pow2225; // pow(trace_generator, &(safe_div(((105 * global_values.trace_length)), 128))). + pow2227 = pow126 * pow2226; // pow(trace_generator, &(safe_div(((841 * global_values.trace_length)), 1024))). + pow2228 = pow126 * pow2227; // pow(trace_generator, &(safe_div(((421 * global_values.trace_length)), 512))). + pow2229 = pow126 * pow2228; // pow(trace_generator, &(safe_div(((843 * global_values.trace_length)), 1024))). + pow2230 = pow126 * pow2229; // pow(trace_generator, &(safe_div(((211 * global_values.trace_length)), 256))). + pow2231 = pow126 * pow2230; // pow(trace_generator, &(safe_div(((845 * global_values.trace_length)), 1024))). + pow2232 = pow126 * pow2231; // pow(trace_generator, &(safe_div(((423 * global_values.trace_length)), 512))). + pow2233 = pow126 * pow2232; // pow(trace_generator, &(safe_div(((847 * global_values.trace_length)), 1024))). + pow2234 = pow126 * pow2233; // pow(trace_generator, &(safe_div(((53 * global_values.trace_length)), 64))). + pow2235 = pow58 * pow2234; // pow(trace_generator, &(safe_div(((54273 * global_values.trace_length)), 65536))). + pow2236 = pow58 * pow2235; // pow(trace_generator, &(safe_div(((27137 * global_values.trace_length)), 32768))). + pow2237 = pow58 * pow2236; // pow(trace_generator, &(safe_div(((54275 * global_values.trace_length)), 65536))). + pow2238 = pow58 * pow2237; // pow(trace_generator, &(safe_div(((13569 * global_values.trace_length)), 16384))). + pow2239 = pow58 * pow2238; // pow(trace_generator, &(safe_div(((54277 * global_values.trace_length)), 65536))). + pow2240 = pow58 * pow2239; // pow(trace_generator, &(safe_div(((27139 * global_values.trace_length)), 32768))). + pow2241 = pow58 * pow2240; // pow(trace_generator, &(safe_div(((54279 * global_values.trace_length)), 65536))). + pow2242 = pow58 * pow2241; // pow(trace_generator, &(safe_div(((6785 * global_values.trace_length)), 8192))). + pow2243 = pow58 * pow2242; // pow(trace_generator, &(safe_div(((54281 * global_values.trace_length)), 65536))). + pow2244 = pow58 * pow2243; // pow(trace_generator, &(safe_div(((27141 * global_values.trace_length)), 32768))). + pow2245 = pow58 * pow2244; // pow(trace_generator, &(safe_div(((54283 * global_values.trace_length)), 65536))). + pow2246 = pow58 * pow2245; // pow(trace_generator, &(safe_div(((13571 * global_values.trace_length)), 16384))). + pow2247 = pow58 * pow2246; // pow(trace_generator, &(safe_div(((54285 * global_values.trace_length)), 65536))). + pow2248 = pow58 * pow2247; // pow(trace_generator, &(safe_div(((27143 * global_values.trace_length)), 32768))). + pow2249 = pow58 * pow2248; // pow(trace_generator, &(safe_div(((54287 * global_values.trace_length)), 65536))). + pow2250 = pow58 * pow2249; // pow(trace_generator, &(safe_div(((3393 * global_values.trace_length)), 4096))). + pow2251 = pow58 * pow2250; // pow(trace_generator, &(safe_div(((54289 * global_values.trace_length)), 65536))). + pow2252 = pow58 * pow2251; // pow(trace_generator, &(safe_div(((27145 * global_values.trace_length)), 32768))). + pow2253 = pow58 * pow2252; // pow(trace_generator, &(safe_div(((54291 * global_values.trace_length)), 65536))). + pow2254 = pow58 * pow2253; // pow(trace_generator, &(safe_div(((13573 * global_values.trace_length)), 16384))). + pow2255 = pow58 * pow2254; // pow(trace_generator, &(safe_div(((54293 * global_values.trace_length)), 65536))). + pow2256 = pow58 * pow2255; // pow(trace_generator, &(safe_div(((27147 * global_values.trace_length)), 32768))). + pow2257 = pow58 * pow2256; // pow(trace_generator, &(safe_div(((54295 * global_values.trace_length)), 65536))). + pow2258 = pow105 * pow2257; // pow(trace_generator, &(safe_div(((849 * global_values.trace_length)), 1024))). + pow2259 = pow126 * pow2258; // pow(trace_generator, &(safe_div(((425 * global_values.trace_length)), 512))). + pow2260 = pow126 * pow2259; // pow(trace_generator, &(safe_div(((851 * global_values.trace_length)), 1024))). + pow2261 = pow126 * pow2260; // pow(trace_generator, &(safe_div(((213 * global_values.trace_length)), 256))). + pow2262 = pow126 * pow2261; // pow(trace_generator, &(safe_div(((853 * global_values.trace_length)), 1024))). + pow2263 = pow126 * pow2262; // pow(trace_generator, &(safe_div(((427 * global_values.trace_length)), 512))). + pow2264 = pow126 * pow2263; // pow(trace_generator, &(safe_div(((855 * global_values.trace_length)), 1024))). + pow2265 = pow126 * pow2264; // pow(trace_generator, &(safe_div(((107 * global_values.trace_length)), 128))). + pow2266 = pow126 * pow2265; // pow(trace_generator, &(safe_div(((857 * global_values.trace_length)), 1024))). + pow2267 = pow126 * pow2266; // pow(trace_generator, &(safe_div(((429 * global_values.trace_length)), 512))). + pow2268 = pow126 * pow2267; // pow(trace_generator, &(safe_div(((859 * global_values.trace_length)), 1024))). + pow2269 = pow126 * pow2268; // pow(trace_generator, &(safe_div(((215 * global_values.trace_length)), 256))). + pow2270 = pow126 * pow2269; // pow(trace_generator, &(safe_div(((861 * global_values.trace_length)), 1024))). + pow2271 = pow246 * pow2270; // pow(trace_generator, &(safe_div(((27 * global_values.trace_length)), 32))). + pow2272 = pow58 * pow2271; // pow(trace_generator, &(safe_div(((55297 * global_values.trace_length)), 65536))). + pow2273 = pow58 * pow2272; // pow(trace_generator, &(safe_div(((27649 * global_values.trace_length)), 32768))). + pow2274 = pow58 * pow2273; // pow(trace_generator, &(safe_div(((55299 * global_values.trace_length)), 65536))). + pow2275 = pow58 * pow2274; // pow(trace_generator, &(safe_div(((13825 * global_values.trace_length)), 16384))). + pow2276 = pow58 * pow2275; // pow(trace_generator, &(safe_div(((55301 * global_values.trace_length)), 65536))). + pow2277 = pow58 * pow2276; // pow(trace_generator, &(safe_div(((27651 * global_values.trace_length)), 32768))). + pow2278 = pow58 * pow2277; // pow(trace_generator, &(safe_div(((55303 * global_values.trace_length)), 65536))). + pow2279 = pow58 * pow2278; // pow(trace_generator, &(safe_div(((6913 * global_values.trace_length)), 8192))). + pow2280 = pow58 * pow2279; // pow(trace_generator, &(safe_div(((55305 * global_values.trace_length)), 65536))). + pow2281 = pow58 * pow2280; // pow(trace_generator, &(safe_div(((27653 * global_values.trace_length)), 32768))). + pow2282 = pow58 * pow2281; // pow(trace_generator, &(safe_div(((55307 * global_values.trace_length)), 65536))). + pow2283 = pow58 * pow2282; // pow(trace_generator, &(safe_div(((13827 * global_values.trace_length)), 16384))). + pow2284 = pow58 * pow2283; // pow(trace_generator, &(safe_div(((55309 * global_values.trace_length)), 65536))). + pow2285 = pow58 * pow2284; // pow(trace_generator, &(safe_div(((27655 * global_values.trace_length)), 32768))). + pow2286 = pow58 * pow2285; // pow(trace_generator, &(safe_div(((55311 * global_values.trace_length)), 65536))). + pow2287 = pow58 * pow2286; // pow(trace_generator, &(safe_div(((3457 * global_values.trace_length)), 4096))). + pow2288 = pow58 * pow2287; // pow(trace_generator, &(safe_div(((55313 * global_values.trace_length)), 65536))). + pow2289 = pow58 * pow2288; // pow(trace_generator, &(safe_div(((27657 * global_values.trace_length)), 32768))). + pow2290 = pow58 * pow2289; // pow(trace_generator, &(safe_div(((55315 * global_values.trace_length)), 65536))). + pow2291 = pow58 * pow2290; // pow(trace_generator, &(safe_div(((13829 * global_values.trace_length)), 16384))). + pow2292 = pow58 * pow2291; // pow(trace_generator, &(safe_div(((55317 * global_values.trace_length)), 65536))). + pow2293 = pow58 * pow2292; // pow(trace_generator, &(safe_div(((27659 * global_values.trace_length)), 32768))). + pow2294 = pow58 * pow2293; // pow(trace_generator, &(safe_div(((55319 * global_values.trace_length)), 65536))). + pow2295 = pow105 * pow2294; // pow(trace_generator, &(safe_div(((865 * global_values.trace_length)), 1024))). + pow2296 = pow126 * pow2295; // pow(trace_generator, &(safe_div(((433 * global_values.trace_length)), 512))). + pow2297 = pow126 * pow2296; // pow(trace_generator, &(safe_div(((867 * global_values.trace_length)), 1024))). + pow2298 = pow126 * pow2297; // pow(trace_generator, &(safe_div(((217 * global_values.trace_length)), 256))). + pow2299 = pow126 * pow2298; // pow(trace_generator, &(safe_div(((869 * global_values.trace_length)), 1024))). + pow2300 = pow126 * pow2299; // pow(trace_generator, &(safe_div(((435 * global_values.trace_length)), 512))). + pow2301 = pow126 * pow2300; // pow(trace_generator, &(safe_div(((871 * global_values.trace_length)), 1024))). + pow2302 = pow126 * pow2301; // pow(trace_generator, &(safe_div(((109 * global_values.trace_length)), 128))). + pow2303 = pow126 * pow2302; // pow(trace_generator, &(safe_div(((873 * global_values.trace_length)), 1024))). + pow2304 = pow126 * pow2303; // pow(trace_generator, &(safe_div(((437 * global_values.trace_length)), 512))). + pow2305 = pow126 * pow2304; // pow(trace_generator, &(safe_div(((875 * global_values.trace_length)), 1024))). + pow2306 = pow126 * pow2305; // pow(trace_generator, &(safe_div(((219 * global_values.trace_length)), 256))). + pow2307 = pow126 * pow2306; // pow(trace_generator, &(safe_div(((877 * global_values.trace_length)), 1024))). + pow2308 = pow126 * pow2307; // pow(trace_generator, &(safe_div(((439 * global_values.trace_length)), 512))). + pow2309 = pow126 * pow2308; // pow(trace_generator, &(safe_div(((879 * global_values.trace_length)), 1024))). + pow2310 = pow126 * pow2309; // pow(trace_generator, &(safe_div(((55 * global_values.trace_length)), 64))). + pow2311 = pow58 * pow2310; // pow(trace_generator, &(safe_div(((56321 * global_values.trace_length)), 65536))). + pow2312 = pow58 * pow2311; // pow(trace_generator, &(safe_div(((28161 * global_values.trace_length)), 32768))). + pow2313 = pow58 * pow2312; // pow(trace_generator, &(safe_div(((56323 * global_values.trace_length)), 65536))). + pow2314 = pow58 * pow2313; // pow(trace_generator, &(safe_div(((14081 * global_values.trace_length)), 16384))). + pow2315 = pow58 * pow2314; // pow(trace_generator, &(safe_div(((56325 * global_values.trace_length)), 65536))). + pow2316 = pow58 * pow2315; // pow(trace_generator, &(safe_div(((28163 * global_values.trace_length)), 32768))). + pow2317 = pow58 * pow2316; // pow(trace_generator, &(safe_div(((56327 * global_values.trace_length)), 65536))). + pow2318 = pow58 * pow2317; // pow(trace_generator, &(safe_div(((7041 * global_values.trace_length)), 8192))). + pow2319 = pow58 * pow2318; // pow(trace_generator, &(safe_div(((56329 * global_values.trace_length)), 65536))). + pow2320 = pow58 * pow2319; // pow(trace_generator, &(safe_div(((28165 * global_values.trace_length)), 32768))). + pow2321 = pow58 * pow2320; // pow(trace_generator, &(safe_div(((56331 * global_values.trace_length)), 65536))). + pow2322 = pow58 * pow2321; // pow(trace_generator, &(safe_div(((14083 * global_values.trace_length)), 16384))). + pow2323 = pow58 * pow2322; // pow(trace_generator, &(safe_div(((56333 * global_values.trace_length)), 65536))). + pow2324 = pow58 * pow2323; // pow(trace_generator, &(safe_div(((28167 * global_values.trace_length)), 32768))). + pow2325 = pow58 * pow2324; // pow(trace_generator, &(safe_div(((56335 * global_values.trace_length)), 65536))). + pow2326 = pow58 * pow2325; // pow(trace_generator, &(safe_div(((3521 * global_values.trace_length)), 4096))). + pow2327 = pow58 * pow2326; // pow(trace_generator, &(safe_div(((56337 * global_values.trace_length)), 65536))). + pow2328 = pow58 * pow2327; // pow(trace_generator, &(safe_div(((28169 * global_values.trace_length)), 32768))). + pow2329 = pow58 * pow2328; // pow(trace_generator, &(safe_div(((56339 * global_values.trace_length)), 65536))). + pow2330 = pow58 * pow2329; // pow(trace_generator, &(safe_div(((14085 * global_values.trace_length)), 16384))). + pow2331 = pow58 * pow2330; // pow(trace_generator, &(safe_div(((56341 * global_values.trace_length)), 65536))). + pow2332 = pow58 * pow2331; // pow(trace_generator, &(safe_div(((28171 * global_values.trace_length)), 32768))). + pow2333 = pow58 * pow2332; // pow(trace_generator, &(safe_div(((56343 * global_values.trace_length)), 65536))). + pow2334 = pow105 * pow2333; // pow(trace_generator, &(safe_div(((881 * global_values.trace_length)), 1024))). + pow2335 = pow126 * pow2334; // pow(trace_generator, &(safe_div(((441 * global_values.trace_length)), 512))). + pow2336 = pow126 * pow2335; // pow(trace_generator, &(safe_div(((883 * global_values.trace_length)), 1024))). + pow2337 = pow126 * pow2336; // pow(trace_generator, &(safe_div(((221 * global_values.trace_length)), 256))). + pow2338 = pow126 * pow2337; // pow(trace_generator, &(safe_div(((885 * global_values.trace_length)), 1024))). + pow2339 = pow126 * pow2338; // pow(trace_generator, &(safe_div(((443 * global_values.trace_length)), 512))). + pow2340 = pow126 * pow2339; // pow(trace_generator, &(safe_div(((887 * global_values.trace_length)), 1024))). + pow2341 = pow126 * pow2340; // pow(trace_generator, &(safe_div(((111 * global_values.trace_length)), 128))). + pow2342 = pow126 * pow2341; // pow(trace_generator, &(safe_div(((889 * global_values.trace_length)), 1024))). + pow2343 = pow126 * pow2342; // pow(trace_generator, &(safe_div(((445 * global_values.trace_length)), 512))). + pow2344 = pow126 * pow2343; // pow(trace_generator, &(safe_div(((891 * global_values.trace_length)), 1024))). + pow2345 = pow126 * pow2344; // pow(trace_generator, &(safe_div(((223 * global_values.trace_length)), 256))). + pow2346 = pow126 * pow2345; // pow(trace_generator, &(safe_div(((893 * global_values.trace_length)), 1024))). + pow2347 = pow246 * pow2346; // pow(trace_generator, &(safe_div(((7 * global_values.trace_length)), 8))). + pow2348 = pow58 * pow2347; // pow(trace_generator, &(safe_div(((57345 * global_values.trace_length)), 65536))). + pow2349 = pow58 * pow2348; // pow(trace_generator, &(safe_div(((28673 * global_values.trace_length)), 32768))). + pow2350 = pow58 * pow2349; // pow(trace_generator, &(safe_div(((57347 * global_values.trace_length)), 65536))). + pow2351 = pow58 * pow2350; // pow(trace_generator, &(safe_div(((14337 * global_values.trace_length)), 16384))). + pow2352 = pow58 * pow2351; // pow(trace_generator, &(safe_div(((57349 * global_values.trace_length)), 65536))). + pow2353 = pow58 * pow2352; // pow(trace_generator, &(safe_div(((28675 * global_values.trace_length)), 32768))). + pow2354 = pow58 * pow2353; // pow(trace_generator, &(safe_div(((57351 * global_values.trace_length)), 65536))). + pow2355 = pow58 * pow2354; // pow(trace_generator, &(safe_div(((7169 * global_values.trace_length)), 8192))). + pow2356 = pow58 * pow2355; // pow(trace_generator, &(safe_div(((57353 * global_values.trace_length)), 65536))). + pow2357 = pow58 * pow2356; // pow(trace_generator, &(safe_div(((28677 * global_values.trace_length)), 32768))). + pow2358 = pow58 * pow2357; // pow(trace_generator, &(safe_div(((57355 * global_values.trace_length)), 65536))). + pow2359 = pow58 * pow2358; // pow(trace_generator, &(safe_div(((14339 * global_values.trace_length)), 16384))). + pow2360 = pow58 * pow2359; // pow(trace_generator, &(safe_div(((57357 * global_values.trace_length)), 65536))). + pow2361 = pow58 * pow2360; // pow(trace_generator, &(safe_div(((28679 * global_values.trace_length)), 32768))). + pow2362 = pow58 * pow2361; // pow(trace_generator, &(safe_div(((57359 * global_values.trace_length)), 65536))). + pow2363 = pow58 * pow2362; // pow(trace_generator, &(safe_div(((3585 * global_values.trace_length)), 4096))). + pow2364 = pow58 * pow2363; // pow(trace_generator, &(safe_div(((57361 * global_values.trace_length)), 65536))). + pow2365 = pow58 * pow2364; // pow(trace_generator, &(safe_div(((28681 * global_values.trace_length)), 32768))). + pow2366 = pow58 * pow2365; // pow(trace_generator, &(safe_div(((57363 * global_values.trace_length)), 65536))). + pow2367 = pow58 * pow2366; // pow(trace_generator, &(safe_div(((14341 * global_values.trace_length)), 16384))). + pow2368 = pow58 * pow2367; // pow(trace_generator, &(safe_div(((57365 * global_values.trace_length)), 65536))). + pow2369 = pow58 * pow2368; // pow(trace_generator, &(safe_div(((28683 * global_values.trace_length)), 32768))). + pow2370 = pow58 * pow2369; // pow(trace_generator, &(safe_div(((57367 * global_values.trace_length)), 65536))). + pow2371 = pow105 * pow2370; // pow(trace_generator, &(safe_div(((897 * global_values.trace_length)), 1024))). + pow2372 = pow126 * pow2371; // pow(trace_generator, &(safe_div(((449 * global_values.trace_length)), 512))). + pow2373 = pow126 * pow2372; // pow(trace_generator, &(safe_div(((899 * global_values.trace_length)), 1024))). + pow2374 = pow126 * pow2373; // pow(trace_generator, &(safe_div(((225 * global_values.trace_length)), 256))). + pow2375 = pow126 * pow2374; // pow(trace_generator, &(safe_div(((901 * global_values.trace_length)), 1024))). + pow2376 = pow126 * pow2375; // pow(trace_generator, &(safe_div(((451 * global_values.trace_length)), 512))). + pow2377 = pow126 * pow2376; // pow(trace_generator, &(safe_div(((903 * global_values.trace_length)), 1024))). + pow2378 = pow126 * pow2377; // pow(trace_generator, &(safe_div(((113 * global_values.trace_length)), 128))). + pow2379 = pow126 * pow2378; // pow(trace_generator, &(safe_div(((905 * global_values.trace_length)), 1024))). + pow2380 = pow126 * pow2379; // pow(trace_generator, &(safe_div(((453 * global_values.trace_length)), 512))). + pow2381 = pow126 * pow2380; // pow(trace_generator, &(safe_div(((907 * global_values.trace_length)), 1024))). + pow2382 = pow126 * pow2381; // pow(trace_generator, &(safe_div(((227 * global_values.trace_length)), 256))). + pow2383 = pow126 * pow2382; // pow(trace_generator, &(safe_div(((909 * global_values.trace_length)), 1024))). + pow2384 = pow126 * pow2383; // pow(trace_generator, &(safe_div(((455 * global_values.trace_length)), 512))). + pow2385 = pow126 * pow2384; // pow(trace_generator, &(safe_div(((911 * global_values.trace_length)), 1024))). + pow2386 = pow126 * pow2385; // pow(trace_generator, &(safe_div(((57 * global_values.trace_length)), 64))). + pow2387 = pow58 * pow2386; // pow(trace_generator, &(safe_div(((58369 * global_values.trace_length)), 65536))). + pow2388 = pow58 * pow2387; // pow(trace_generator, &(safe_div(((29185 * global_values.trace_length)), 32768))). + pow2389 = pow58 * pow2388; // pow(trace_generator, &(safe_div(((58371 * global_values.trace_length)), 65536))). + pow2390 = pow58 * pow2389; // pow(trace_generator, &(safe_div(((14593 * global_values.trace_length)), 16384))). + pow2391 = pow58 * pow2390; // pow(trace_generator, &(safe_div(((58373 * global_values.trace_length)), 65536))). + pow2392 = pow58 * pow2391; // pow(trace_generator, &(safe_div(((29187 * global_values.trace_length)), 32768))). + pow2393 = pow58 * pow2392; // pow(trace_generator, &(safe_div(((58375 * global_values.trace_length)), 65536))). + pow2394 = pow58 * pow2393; // pow(trace_generator, &(safe_div(((7297 * global_values.trace_length)), 8192))). + pow2395 = pow58 * pow2394; // pow(trace_generator, &(safe_div(((58377 * global_values.trace_length)), 65536))). + pow2396 = pow58 * pow2395; // pow(trace_generator, &(safe_div(((29189 * global_values.trace_length)), 32768))). + pow2397 = pow58 * pow2396; // pow(trace_generator, &(safe_div(((58379 * global_values.trace_length)), 65536))). + pow2398 = pow58 * pow2397; // pow(trace_generator, &(safe_div(((14595 * global_values.trace_length)), 16384))). + pow2399 = pow58 * pow2398; // pow(trace_generator, &(safe_div(((58381 * global_values.trace_length)), 65536))). + pow2400 = pow58 * pow2399; // pow(trace_generator, &(safe_div(((29191 * global_values.trace_length)), 32768))). + pow2401 = pow58 * pow2400; // pow(trace_generator, &(safe_div(((58383 * global_values.trace_length)), 65536))). + pow2402 = pow58 * pow2401; // pow(trace_generator, &(safe_div(((3649 * global_values.trace_length)), 4096))). + pow2403 = pow58 * pow2402; // pow(trace_generator, &(safe_div(((58385 * global_values.trace_length)), 65536))). + pow2404 = pow58 * pow2403; // pow(trace_generator, &(safe_div(((29193 * global_values.trace_length)), 32768))). + pow2405 = pow58 * pow2404; // pow(trace_generator, &(safe_div(((58387 * global_values.trace_length)), 65536))). + pow2406 = pow58 * pow2405; // pow(trace_generator, &(safe_div(((14597 * global_values.trace_length)), 16384))). + pow2407 = pow58 * pow2406; // pow(trace_generator, &(safe_div(((58389 * global_values.trace_length)), 65536))). + pow2408 = pow58 * pow2407; // pow(trace_generator, &(safe_div(((29195 * global_values.trace_length)), 32768))). + pow2409 = pow58 * pow2408; // pow(trace_generator, &(safe_div(((58391 * global_values.trace_length)), 65536))). + pow2410 = pow105 * pow2409; // pow(trace_generator, &(safe_div(((913 * global_values.trace_length)), 1024))). + pow2411 = pow126 * pow2410; // pow(trace_generator, &(safe_div(((457 * global_values.trace_length)), 512))). + pow2412 = pow126 * pow2411; // pow(trace_generator, &(safe_div(((915 * global_values.trace_length)), 1024))). + pow2413 = pow126 * pow2412; // pow(trace_generator, &(safe_div(((229 * global_values.trace_length)), 256))). + pow2414 = pow126 * pow2413; // pow(trace_generator, &(safe_div(((917 * global_values.trace_length)), 1024))). + pow2415 = pow126 * pow2414; // pow(trace_generator, &(safe_div(((459 * global_values.trace_length)), 512))). + pow2416 = pow126 * pow2415; // pow(trace_generator, &(safe_div(((919 * global_values.trace_length)), 1024))). + pow2417 = pow126 * pow2416; // pow(trace_generator, &(safe_div(((115 * global_values.trace_length)), 128))). + pow2418 = pow126 * pow2417; // pow(trace_generator, &(safe_div(((921 * global_values.trace_length)), 1024))). + pow2419 = pow126 * pow2418; // pow(trace_generator, &(safe_div(((461 * global_values.trace_length)), 512))). + pow2420 = pow126 * pow2419; // pow(trace_generator, &(safe_div(((923 * global_values.trace_length)), 1024))). + pow2421 = pow126 * pow2420; // pow(trace_generator, &(safe_div(((231 * global_values.trace_length)), 256))). + pow2422 = pow126 * pow2421; // pow(trace_generator, &(safe_div(((925 * global_values.trace_length)), 1024))). + pow2423 = pow246 * pow2422; // pow(trace_generator, &(safe_div(((29 * global_values.trace_length)), 32))). + pow2424 = pow58 * pow2423; // pow(trace_generator, &(safe_div(((59393 * global_values.trace_length)), 65536))). + pow2425 = pow58 * pow2424; // pow(trace_generator, &(safe_div(((29697 * global_values.trace_length)), 32768))). + pow2426 = pow58 * pow2425; // pow(trace_generator, &(safe_div(((59395 * global_values.trace_length)), 65536))). + pow2427 = pow58 * pow2426; // pow(trace_generator, &(safe_div(((14849 * global_values.trace_length)), 16384))). + pow2428 = pow58 * pow2427; // pow(trace_generator, &(safe_div(((59397 * global_values.trace_length)), 65536))). + pow2429 = pow58 * pow2428; // pow(trace_generator, &(safe_div(((29699 * global_values.trace_length)), 32768))). + pow2430 = pow58 * pow2429; // pow(trace_generator, &(safe_div(((59399 * global_values.trace_length)), 65536))). + pow2431 = pow58 * pow2430; // pow(trace_generator, &(safe_div(((7425 * global_values.trace_length)), 8192))). + pow2432 = pow58 * pow2431; // pow(trace_generator, &(safe_div(((59401 * global_values.trace_length)), 65536))). + pow2433 = pow58 * pow2432; // pow(trace_generator, &(safe_div(((29701 * global_values.trace_length)), 32768))). + pow2434 = pow58 * pow2433; // pow(trace_generator, &(safe_div(((59403 * global_values.trace_length)), 65536))). + pow2435 = pow58 * pow2434; // pow(trace_generator, &(safe_div(((14851 * global_values.trace_length)), 16384))). + pow2436 = pow58 * pow2435; // pow(trace_generator, &(safe_div(((59405 * global_values.trace_length)), 65536))). + pow2437 = pow58 * pow2436; // pow(trace_generator, &(safe_div(((29703 * global_values.trace_length)), 32768))). + pow2438 = pow58 * pow2437; // pow(trace_generator, &(safe_div(((59407 * global_values.trace_length)), 65536))). + pow2439 = pow58 * pow2438; // pow(trace_generator, &(safe_div(((3713 * global_values.trace_length)), 4096))). + pow2440 = pow58 * pow2439; // pow(trace_generator, &(safe_div(((59409 * global_values.trace_length)), 65536))). + pow2441 = pow58 * pow2440; // pow(trace_generator, &(safe_div(((29705 * global_values.trace_length)), 32768))). + pow2442 = pow58 * pow2441; // pow(trace_generator, &(safe_div(((59411 * global_values.trace_length)), 65536))). + pow2443 = pow58 * pow2442; // pow(trace_generator, &(safe_div(((14853 * global_values.trace_length)), 16384))). + pow2444 = pow58 * pow2443; // pow(trace_generator, &(safe_div(((59413 * global_values.trace_length)), 65536))). + pow2445 = pow58 * pow2444; // pow(trace_generator, &(safe_div(((29707 * global_values.trace_length)), 32768))). + pow2446 = pow58 * pow2445; // pow(trace_generator, &(safe_div(((59415 * global_values.trace_length)), 65536))). + pow2447 = pow105 * pow2446; // pow(trace_generator, &(safe_div(((929 * global_values.trace_length)), 1024))). + pow2448 = pow126 * pow2447; // pow(trace_generator, &(safe_div(((465 * global_values.trace_length)), 512))). + pow2449 = pow126 * pow2448; // pow(trace_generator, &(safe_div(((931 * global_values.trace_length)), 1024))). + pow2450 = pow126 * pow2449; // pow(trace_generator, &(safe_div(((233 * global_values.trace_length)), 256))). + pow2451 = pow126 * pow2450; // pow(trace_generator, &(safe_div(((933 * global_values.trace_length)), 1024))). + pow2452 = pow126 * pow2451; // pow(trace_generator, &(safe_div(((467 * global_values.trace_length)), 512))). + pow2453 = pow126 * pow2452; // pow(trace_generator, &(safe_div(((935 * global_values.trace_length)), 1024))). + pow2454 = pow126 * pow2453; // pow(trace_generator, &(safe_div(((117 * global_values.trace_length)), 128))). + pow2455 = pow126 * pow2454; // pow(trace_generator, &(safe_div(((937 * global_values.trace_length)), 1024))). + pow2456 = pow126 * pow2455; // pow(trace_generator, &(safe_div(((469 * global_values.trace_length)), 512))). + pow2457 = pow126 * pow2456; // pow(trace_generator, &(safe_div(((939 * global_values.trace_length)), 1024))). + pow2458 = pow126 * pow2457; // pow(trace_generator, &(safe_div(((235 * global_values.trace_length)), 256))). + pow2459 = pow126 * pow2458; // pow(trace_generator, &(safe_div(((941 * global_values.trace_length)), 1024))). + pow2460 = pow126 * pow2459; // pow(trace_generator, &(safe_div(((471 * global_values.trace_length)), 512))). + pow2461 = pow126 * pow2460; // pow(trace_generator, &(safe_div(((943 * global_values.trace_length)), 1024))). + pow2462 = pow126 * pow2461; // pow(trace_generator, &(safe_div(((59 * global_values.trace_length)), 64))). + pow2463 = pow58 * pow2462; // pow(trace_generator, &(safe_div(((60417 * global_values.trace_length)), 65536))). + pow2464 = pow58 * pow2463; // pow(trace_generator, &(safe_div(((30209 * global_values.trace_length)), 32768))). + pow2465 = pow58 * pow2464; // pow(trace_generator, &(safe_div(((60419 * global_values.trace_length)), 65536))). + pow2466 = pow58 * pow2465; // pow(trace_generator, &(safe_div(((15105 * global_values.trace_length)), 16384))). + pow2467 = pow58 * pow2466; // pow(trace_generator, &(safe_div(((60421 * global_values.trace_length)), 65536))). + pow2468 = pow58 * pow2467; // pow(trace_generator, &(safe_div(((30211 * global_values.trace_length)), 32768))). + pow2469 = pow58 * pow2468; // pow(trace_generator, &(safe_div(((60423 * global_values.trace_length)), 65536))). + pow2470 = pow58 * pow2469; // pow(trace_generator, &(safe_div(((7553 * global_values.trace_length)), 8192))). + pow2471 = pow58 * pow2470; // pow(trace_generator, &(safe_div(((60425 * global_values.trace_length)), 65536))). + pow2472 = pow58 * pow2471; // pow(trace_generator, &(safe_div(((30213 * global_values.trace_length)), 32768))). + pow2473 = pow58 * pow2472; // pow(trace_generator, &(safe_div(((60427 * global_values.trace_length)), 65536))). + pow2474 = pow58 * pow2473; // pow(trace_generator, &(safe_div(((15107 * global_values.trace_length)), 16384))). + pow2475 = pow58 * pow2474; // pow(trace_generator, &(safe_div(((60429 * global_values.trace_length)), 65536))). + pow2476 = pow58 * pow2475; // pow(trace_generator, &(safe_div(((30215 * global_values.trace_length)), 32768))). + pow2477 = pow58 * pow2476; // pow(trace_generator, &(safe_div(((60431 * global_values.trace_length)), 65536))). + pow2478 = pow58 * pow2477; // pow(trace_generator, &(safe_div(((3777 * global_values.trace_length)), 4096))). + pow2479 = pow58 * pow2478; // pow(trace_generator, &(safe_div(((60433 * global_values.trace_length)), 65536))). + pow2480 = pow58 * pow2479; // pow(trace_generator, &(safe_div(((30217 * global_values.trace_length)), 32768))). + pow2481 = pow58 * pow2480; // pow(trace_generator, &(safe_div(((60435 * global_values.trace_length)), 65536))). + pow2482 = pow58 * pow2481; // pow(trace_generator, &(safe_div(((15109 * global_values.trace_length)), 16384))). + pow2483 = pow58 * pow2482; // pow(trace_generator, &(safe_div(((60437 * global_values.trace_length)), 65536))). + pow2484 = pow58 * pow2483; // pow(trace_generator, &(safe_div(((30219 * global_values.trace_length)), 32768))). + pow2485 = pow58 * pow2484; // pow(trace_generator, &(safe_div(((60439 * global_values.trace_length)), 65536))). + pow2486 = pow105 * pow2485; // pow(trace_generator, &(safe_div(((945 * global_values.trace_length)), 1024))). + pow2487 = pow126 * pow2486; // pow(trace_generator, &(safe_div(((473 * global_values.trace_length)), 512))). + pow2488 = pow126 * pow2487; // pow(trace_generator, &(safe_div(((947 * global_values.trace_length)), 1024))). + pow2489 = pow126 * pow2488; // pow(trace_generator, &(safe_div(((237 * global_values.trace_length)), 256))). + pow2490 = pow126 * pow2489; // pow(trace_generator, &(safe_div(((949 * global_values.trace_length)), 1024))). + pow2491 = pow126 * pow2490; // pow(trace_generator, &(safe_div(((475 * global_values.trace_length)), 512))). + pow2492 = pow126 * pow2491; // pow(trace_generator, &(safe_div(((951 * global_values.trace_length)), 1024))). + pow2493 = pow126 * pow2492; // pow(trace_generator, &(safe_div(((119 * global_values.trace_length)), 128))). + pow2494 = pow126 * pow2493; // pow(trace_generator, &(safe_div(((953 * global_values.trace_length)), 1024))). + pow2495 = pow126 * pow2494; // pow(trace_generator, &(safe_div(((477 * global_values.trace_length)), 512))). + pow2496 = pow126 * pow2495; // pow(trace_generator, &(safe_div(((955 * global_values.trace_length)), 1024))). + pow2497 = pow126 * pow2496; // pow(trace_generator, &(safe_div(((239 * global_values.trace_length)), 256))). + pow2498 = pow126 * pow2497; // pow(trace_generator, &(safe_div(((957 * global_values.trace_length)), 1024))). + pow2499 = pow246 * pow2498; // pow(trace_generator, &(safe_div(((15 * global_values.trace_length)), 16))). + pow2500 = pow58 * pow2499; // pow(trace_generator, &(safe_div(((61441 * global_values.trace_length)), 65536))). + pow2501 = pow58 * pow2500; // pow(trace_generator, &(safe_div(((30721 * global_values.trace_length)), 32768))). + pow2502 = pow58 * pow2501; // pow(trace_generator, &(safe_div(((61443 * global_values.trace_length)), 65536))). + pow2503 = pow58 * pow2502; // pow(trace_generator, &(safe_div(((15361 * global_values.trace_length)), 16384))). + pow2504 = pow58 * pow2503; // pow(trace_generator, &(safe_div(((61445 * global_values.trace_length)), 65536))). + pow2505 = pow58 * pow2504; // pow(trace_generator, &(safe_div(((30723 * global_values.trace_length)), 32768))). + pow2506 = pow58 * pow2505; // pow(trace_generator, &(safe_div(((61447 * global_values.trace_length)), 65536))). + pow2507 = pow58 * pow2506; // pow(trace_generator, &(safe_div(((7681 * global_values.trace_length)), 8192))). + pow2508 = pow58 * pow2507; // pow(trace_generator, &(safe_div(((61449 * global_values.trace_length)), 65536))). + pow2509 = pow58 * pow2508; // pow(trace_generator, &(safe_div(((30725 * global_values.trace_length)), 32768))). + pow2510 = pow58 * pow2509; // pow(trace_generator, &(safe_div(((61451 * global_values.trace_length)), 65536))). + pow2511 = pow58 * pow2510; // pow(trace_generator, &(safe_div(((15363 * global_values.trace_length)), 16384))). + pow2512 = pow58 * pow2511; // pow(trace_generator, &(safe_div(((61453 * global_values.trace_length)), 65536))). + pow2513 = pow58 * pow2512; // pow(trace_generator, &(safe_div(((30727 * global_values.trace_length)), 32768))). + pow2514 = pow58 * pow2513; // pow(trace_generator, &(safe_div(((61455 * global_values.trace_length)), 65536))). + pow2515 = pow58 * pow2514; // pow(trace_generator, &(safe_div(((3841 * global_values.trace_length)), 4096))). + pow2516 = pow58 * pow2515; // pow(trace_generator, &(safe_div(((61457 * global_values.trace_length)), 65536))). + pow2517 = pow58 * pow2516; // pow(trace_generator, &(safe_div(((30729 * global_values.trace_length)), 32768))). + pow2518 = pow58 * pow2517; // pow(trace_generator, &(safe_div(((61459 * global_values.trace_length)), 65536))). + pow2519 = pow58 * pow2518; // pow(trace_generator, &(safe_div(((15365 * global_values.trace_length)), 16384))). + pow2520 = pow58 * pow2519; // pow(trace_generator, &(safe_div(((61461 * global_values.trace_length)), 65536))). + pow2521 = pow58 * pow2520; // pow(trace_generator, &(safe_div(((30731 * global_values.trace_length)), 32768))). + pow2522 = pow58 * pow2521; // pow(trace_generator, &(safe_div(((61463 * global_values.trace_length)), 65536))). + pow2523 = pow105 * pow2522; // pow(trace_generator, &(safe_div(((961 * global_values.trace_length)), 1024))). + pow2524 = pow126 * pow2523; // pow(trace_generator, &(safe_div(((481 * global_values.trace_length)), 512))). + pow2525 = pow126 * pow2524; // pow(trace_generator, &(safe_div(((963 * global_values.trace_length)), 1024))). + pow2526 = pow126 * pow2525; // pow(trace_generator, &(safe_div(((241 * global_values.trace_length)), 256))). + pow2527 = pow126 * pow2526; // pow(trace_generator, &(safe_div(((965 * global_values.trace_length)), 1024))). + pow2528 = pow126 * pow2527; // pow(trace_generator, &(safe_div(((483 * global_values.trace_length)), 512))). + pow2529 = pow126 * pow2528; // pow(trace_generator, &(safe_div(((967 * global_values.trace_length)), 1024))). + pow2530 = pow126 * pow2529; // pow(trace_generator, &(safe_div(((121 * global_values.trace_length)), 128))). + pow2531 = pow126 * pow2530; // pow(trace_generator, &(safe_div(((969 * global_values.trace_length)), 1024))). + pow2532 = pow126 * pow2531; // pow(trace_generator, &(safe_div(((485 * global_values.trace_length)), 512))). + pow2533 = pow126 * pow2532; // pow(trace_generator, &(safe_div(((971 * global_values.trace_length)), 1024))). + pow2534 = pow126 * pow2533; // pow(trace_generator, &(safe_div(((243 * global_values.trace_length)), 256))). + pow2535 = pow126 * pow2534; // pow(trace_generator, &(safe_div(((973 * global_values.trace_length)), 1024))). + pow2536 = pow126 * pow2535; // pow(trace_generator, &(safe_div(((487 * global_values.trace_length)), 512))). + pow2537 = pow126 * pow2536; // pow(trace_generator, &(safe_div(((975 * global_values.trace_length)), 1024))). + pow2538 = pow126 * pow2537; // pow(trace_generator, &(safe_div(((61 * global_values.trace_length)), 64))). + pow2539 = pow58 * pow2538; // pow(trace_generator, &(safe_div(((62465 * global_values.trace_length)), 65536))). + pow2540 = pow58 * pow2539; // pow(trace_generator, &(safe_div(((31233 * global_values.trace_length)), 32768))). + pow2541 = pow58 * pow2540; // pow(trace_generator, &(safe_div(((62467 * global_values.trace_length)), 65536))). + pow2542 = pow58 * pow2541; // pow(trace_generator, &(safe_div(((15617 * global_values.trace_length)), 16384))). + pow2543 = pow58 * pow2542; // pow(trace_generator, &(safe_div(((62469 * global_values.trace_length)), 65536))). + pow2544 = pow58 * pow2543; // pow(trace_generator, &(safe_div(((31235 * global_values.trace_length)), 32768))). + pow2545 = pow58 * pow2544; // pow(trace_generator, &(safe_div(((62471 * global_values.trace_length)), 65536))). + pow2546 = pow58 * pow2545; // pow(trace_generator, &(safe_div(((7809 * global_values.trace_length)), 8192))). + pow2547 = pow58 * pow2546; // pow(trace_generator, &(safe_div(((62473 * global_values.trace_length)), 65536))). + pow2548 = pow58 * pow2547; // pow(trace_generator, &(safe_div(((31237 * global_values.trace_length)), 32768))). + pow2549 = pow58 * pow2548; // pow(trace_generator, &(safe_div(((62475 * global_values.trace_length)), 65536))). + pow2550 = pow58 * pow2549; // pow(trace_generator, &(safe_div(((15619 * global_values.trace_length)), 16384))). + pow2551 = pow58 * pow2550; // pow(trace_generator, &(safe_div(((62477 * global_values.trace_length)), 65536))). + pow2552 = pow58 * pow2551; // pow(trace_generator, &(safe_div(((31239 * global_values.trace_length)), 32768))). + pow2553 = pow58 * pow2552; // pow(trace_generator, &(safe_div(((62479 * global_values.trace_length)), 65536))). + pow2554 = pow58 * pow2553; // pow(trace_generator, &(safe_div(((3905 * global_values.trace_length)), 4096))). + pow2555 = pow58 * pow2554; // pow(trace_generator, &(safe_div(((62481 * global_values.trace_length)), 65536))). + pow2556 = pow58 * pow2555; // pow(trace_generator, &(safe_div(((31241 * global_values.trace_length)), 32768))). + pow2557 = pow58 * pow2556; // pow(trace_generator, &(safe_div(((62483 * global_values.trace_length)), 65536))). + pow2558 = pow58 * pow2557; // pow(trace_generator, &(safe_div(((15621 * global_values.trace_length)), 16384))). + pow2559 = pow58 * pow2558; // pow(trace_generator, &(safe_div(((62485 * global_values.trace_length)), 65536))). + pow2560 = pow58 * pow2559; // pow(trace_generator, &(safe_div(((31243 * global_values.trace_length)), 32768))). + pow2561 = pow58 * pow2560; // pow(trace_generator, &(safe_div(((62487 * global_values.trace_length)), 65536))). + pow2562 = pow105 * pow2561; // pow(trace_generator, &(safe_div(((977 * global_values.trace_length)), 1024))). + pow2563 = pow126 * pow2562; // pow(trace_generator, &(safe_div(((489 * global_values.trace_length)), 512))). + pow2564 = pow126 * pow2563; // pow(trace_generator, &(safe_div(((979 * global_values.trace_length)), 1024))). + pow2565 = pow126 * pow2564; // pow(trace_generator, &(safe_div(((245 * global_values.trace_length)), 256))). + pow2566 = pow126 * pow2565; // pow(trace_generator, &(safe_div(((981 * global_values.trace_length)), 1024))). + pow2567 = pow126 * pow2566; // pow(trace_generator, &(safe_div(((491 * global_values.trace_length)), 512))). + pow2568 = pow126 * pow2567; // pow(trace_generator, &(safe_div(((983 * global_values.trace_length)), 1024))). + pow2569 = pow126 * pow2568; // pow(trace_generator, &(safe_div(((123 * global_values.trace_length)), 128))). + pow2570 = pow126 * pow2569; // pow(trace_generator, &(safe_div(((985 * global_values.trace_length)), 1024))). + pow2571 = pow126 * pow2570; // pow(trace_generator, &(safe_div(((493 * global_values.trace_length)), 512))). + pow2572 = pow126 * pow2571; // pow(trace_generator, &(safe_div(((987 * global_values.trace_length)), 1024))). + pow2573 = pow126 * pow2572; // pow(trace_generator, &(safe_div(((247 * global_values.trace_length)), 256))). + pow2574 = pow126 * pow2573; // pow(trace_generator, &(safe_div(((989 * global_values.trace_length)), 1024))). + pow2575 = pow246 * pow2574; // pow(trace_generator, &(safe_div(((31 * global_values.trace_length)), 32))). + pow2576 = pow58 * pow2575; // pow(trace_generator, &(safe_div(((63489 * global_values.trace_length)), 65536))). + pow2577 = pow58 * pow2576; // pow(trace_generator, &(safe_div(((31745 * global_values.trace_length)), 32768))). + pow2578 = pow58 * pow2577; // pow(trace_generator, &(safe_div(((63491 * global_values.trace_length)), 65536))). + pow2579 = pow58 * pow2578; // pow(trace_generator, &(safe_div(((15873 * global_values.trace_length)), 16384))). + pow2580 = pow58 * pow2579; // pow(trace_generator, &(safe_div(((63493 * global_values.trace_length)), 65536))). + pow2581 = pow58 * pow2580; // pow(trace_generator, &(safe_div(((31747 * global_values.trace_length)), 32768))). + pow2582 = pow58 * pow2581; // pow(trace_generator, &(safe_div(((63495 * global_values.trace_length)), 65536))). + pow2583 = pow58 * pow2582; // pow(trace_generator, &(safe_div(((7937 * global_values.trace_length)), 8192))). + pow2584 = pow58 * pow2583; // pow(trace_generator, &(safe_div(((63497 * global_values.trace_length)), 65536))). + pow2585 = pow58 * pow2584; // pow(trace_generator, &(safe_div(((31749 * global_values.trace_length)), 32768))). + pow2586 = pow58 * pow2585; // pow(trace_generator, &(safe_div(((63499 * global_values.trace_length)), 65536))). + pow2587 = pow58 * pow2586; // pow(trace_generator, &(safe_div(((15875 * global_values.trace_length)), 16384))). + pow2588 = pow58 * pow2587; // pow(trace_generator, &(safe_div(((63501 * global_values.trace_length)), 65536))). + pow2589 = pow58 * pow2588; // pow(trace_generator, &(safe_div(((31751 * global_values.trace_length)), 32768))). + pow2590 = pow58 * pow2589; // pow(trace_generator, &(safe_div(((63503 * global_values.trace_length)), 65536))). + pow2591 = pow58 * pow2590; // pow(trace_generator, &(safe_div(((3969 * global_values.trace_length)), 4096))). + pow2592 = pow58 * pow2591; // pow(trace_generator, &(safe_div(((63505 * global_values.trace_length)), 65536))). + pow2593 = pow58 * pow2592; // pow(trace_generator, &(safe_div(((31753 * global_values.trace_length)), 32768))). + pow2594 = pow58 * pow2593; // pow(trace_generator, &(safe_div(((63507 * global_values.trace_length)), 65536))). + pow2595 = pow58 * pow2594; // pow(trace_generator, &(safe_div(((15877 * global_values.trace_length)), 16384))). + pow2596 = pow58 * pow2595; // pow(trace_generator, &(safe_div(((63509 * global_values.trace_length)), 65536))). + pow2597 = pow58 * pow2596; // pow(trace_generator, &(safe_div(((31755 * global_values.trace_length)), 32768))). + pow2598 = pow58 * pow2597; // pow(trace_generator, &(safe_div(((63511 * global_values.trace_length)), 65536))). + pow2599 = pow105 * pow2598; // pow(trace_generator, &(safe_div(((993 * global_values.trace_length)), 1024))). + pow2600 = pow126 * pow2599; // pow(trace_generator, &(safe_div(((497 * global_values.trace_length)), 512))). + pow2601 = pow126 * pow2600; // pow(trace_generator, &(safe_div(((995 * global_values.trace_length)), 1024))). + pow2602 = pow126 * pow2601; // pow(trace_generator, &(safe_div(((249 * global_values.trace_length)), 256))). + pow2603 = pow126 * pow2602; // pow(trace_generator, &(safe_div(((997 * global_values.trace_length)), 1024))). + pow2604 = pow126 * pow2603; // pow(trace_generator, &(safe_div(((499 * global_values.trace_length)), 512))). + pow2605 = pow126 * pow2604; // pow(trace_generator, &(safe_div(((999 * global_values.trace_length)), 1024))). + pow2606 = pow126 * pow2605; // pow(trace_generator, &(safe_div(((125 * global_values.trace_length)), 128))). + pow2607 = pow126 * pow2606; // pow(trace_generator, &(safe_div(((1001 * global_values.trace_length)), 1024))). + pow2608 = pow126 * pow2607; // pow(trace_generator, &(safe_div(((501 * global_values.trace_length)), 512))). + pow2609 = pow126 * pow2608; // pow(trace_generator, &(safe_div(((1003 * global_values.trace_length)), 1024))). + pow2610 = pow126 * pow2609; // pow(trace_generator, &(safe_div(((251 * global_values.trace_length)), 256))). + pow2611 = pow126 * pow2610; // pow(trace_generator, &(safe_div(((1005 * global_values.trace_length)), 1024))). + pow2612 = pow126 * pow2611; // pow(trace_generator, &(safe_div(((503 * global_values.trace_length)), 512))). + pow2613 = pow126 * pow2612; // pow(trace_generator, &(safe_div(((1007 * global_values.trace_length)), 1024))). + pow2614 = pow126 * pow2613; // pow(trace_generator, &(safe_div(((63 * global_values.trace_length)), 64))). + pow2615 = pow58 * pow2614; // pow(trace_generator, &(safe_div(((64513 * global_values.trace_length)), 65536))). + pow2616 = pow58 * pow2615; // pow(trace_generator, &(safe_div(((32257 * global_values.trace_length)), 32768))). + pow2617 = pow58 * pow2616; // pow(trace_generator, &(safe_div(((64515 * global_values.trace_length)), 65536))). + pow2618 = pow58 * pow2617; // pow(trace_generator, &(safe_div(((16129 * global_values.trace_length)), 16384))). + pow2619 = pow58 * pow2618; // pow(trace_generator, &(safe_div(((64517 * global_values.trace_length)), 65536))). + pow2620 = pow58 * pow2619; // pow(trace_generator, &(safe_div(((32259 * global_values.trace_length)), 32768))). + pow2621 = pow58 * pow2620; // pow(trace_generator, &(safe_div(((64519 * global_values.trace_length)), 65536))). + pow2622 = pow58 * pow2621; // pow(trace_generator, &(safe_div(((8065 * global_values.trace_length)), 8192))). + pow2623 = pow58 * pow2622; // pow(trace_generator, &(safe_div(((64521 * global_values.trace_length)), 65536))). + pow2624 = pow58 * pow2623; // pow(trace_generator, &(safe_div(((32261 * global_values.trace_length)), 32768))). + pow2625 = pow58 * pow2624; // pow(trace_generator, &(safe_div(((64523 * global_values.trace_length)), 65536))). + pow2626 = pow58 * pow2625; // pow(trace_generator, &(safe_div(((16131 * global_values.trace_length)), 16384))). + pow2627 = pow58 * pow2626; // pow(trace_generator, &(safe_div(((64525 * global_values.trace_length)), 65536))). + pow2628 = pow58 * pow2627; // pow(trace_generator, &(safe_div(((32263 * global_values.trace_length)), 32768))). + pow2629 = pow58 * pow2628; // pow(trace_generator, &(safe_div(((64527 * global_values.trace_length)), 65536))). + pow2630 = pow58 * pow2629; // pow(trace_generator, &(safe_div(((4033 * global_values.trace_length)), 4096))). + pow2631 = pow58 * pow2630; // pow(trace_generator, &(safe_div(((64529 * global_values.trace_length)), 65536))). + pow2632 = pow58 * pow2631; // pow(trace_generator, &(safe_div(((32265 * global_values.trace_length)), 32768))). + pow2633 = pow58 * pow2632; // pow(trace_generator, &(safe_div(((64531 * global_values.trace_length)), 65536))). + pow2634 = pow58 * pow2633; // pow(trace_generator, &(safe_div(((16133 * global_values.trace_length)), 16384))). + pow2635 = pow58 * pow2634; // pow(trace_generator, &(safe_div(((64533 * global_values.trace_length)), 65536))). + pow2636 = pow58 * pow2635; // pow(trace_generator, &(safe_div(((32267 * global_values.trace_length)), 32768))). + pow2637 = pow58 * pow2636; // pow(trace_generator, &(safe_div(((64535 * global_values.trace_length)), 65536))). + pow2638 = pow58 * pow2637; // pow(trace_generator, &(safe_div(((8067 * global_values.trace_length)), 8192))). + pow2639 = pow58 * pow2638; // pow(trace_generator, &(safe_div(((64537 * global_values.trace_length)), 65536))). + pow2640 = pow58 * pow2639; // pow(trace_generator, &(safe_div(((32269 * global_values.trace_length)), 32768))). + pow2641 = pow58 * pow2640; // pow(trace_generator, &(safe_div(((64539 * global_values.trace_length)), 65536))). + pow2642 = pow58 * pow2641; // pow(trace_generator, &(safe_div(((16135 * global_values.trace_length)), 16384))). + pow2643 = pow58 * pow2642; // pow(trace_generator, &(safe_div(((64541 * global_values.trace_length)), 65536))). + pow2644 = pow67 * pow2643; // pow(trace_generator, &(safe_div(((2017 * global_values.trace_length)), 2048))). + pow2645 = pow58 * pow2644; // pow(trace_generator, &(safe_div(((64545 * global_values.trace_length)), 65536))). + pow2646 = pow58 * pow2645; // pow(trace_generator, &(safe_div(((32273 * global_values.trace_length)), 32768))). + pow2647 = pow58 * pow2646; // pow(trace_generator, &(safe_div(((64547 * global_values.trace_length)), 65536))). + pow2648 = pow58 * pow2647; // pow(trace_generator, &(safe_div(((16137 * global_values.trace_length)), 16384))). + pow2649 = pow58 * pow2648; // pow(trace_generator, &(safe_div(((64549 * global_values.trace_length)), 65536))). + pow2650 = pow58 * pow2649; // pow(trace_generator, &(safe_div(((32275 * global_values.trace_length)), 32768))). + pow2651 = pow58 * pow2650; // pow(trace_generator, &(safe_div(((64551 * global_values.trace_length)), 65536))). + pow2652 = pow58 * pow2651; // pow(trace_generator, &(safe_div(((8069 * global_values.trace_length)), 8192))). + pow2653 = pow58 * pow2652; // pow(trace_generator, &(safe_div(((64553 * global_values.trace_length)), 65536))). + pow2654 = pow58 * pow2653; // pow(trace_generator, &(safe_div(((32277 * global_values.trace_length)), 32768))). + pow2655 = pow58 * pow2654; // pow(trace_generator, &(safe_div(((64555 * global_values.trace_length)), 65536))). + pow2656 = pow58 * pow2655; // pow(trace_generator, &(safe_div(((16139 * global_values.trace_length)), 16384))). + pow2657 = pow58 * pow2656; // pow(trace_generator, &(safe_div(((64557 * global_values.trace_length)), 65536))). + pow2658 = pow58 * pow2657; // pow(trace_generator, &(safe_div(((32279 * global_values.trace_length)), 32768))). + pow2659 = pow58 * pow2658; // pow(trace_generator, &(safe_div(((64559 * global_values.trace_length)), 65536))). + pow2660 = pow58 * pow2659; // pow(trace_generator, &(safe_div(((4035 * global_values.trace_length)), 4096))). + pow2661 = pow58 * pow2660; // pow(trace_generator, &(safe_div(((64561 * global_values.trace_length)), 65536))). + pow2662 = pow58 * pow2661; // pow(trace_generator, &(safe_div(((32281 * global_values.trace_length)), 32768))). + pow2663 = pow58 * pow2662; // pow(trace_generator, &(safe_div(((64563 * global_values.trace_length)), 65536))). + pow2664 = pow58 * pow2663; // pow(trace_generator, &(safe_div(((16141 * global_values.trace_length)), 16384))). + pow2665 = pow58 * pow2664; // pow(trace_generator, &(safe_div(((64565 * global_values.trace_length)), 65536))). + pow2666 = pow58 * pow2665; // pow(trace_generator, &(safe_div(((32283 * global_values.trace_length)), 32768))). + pow2667 = pow58 * pow2666; // pow(trace_generator, &(safe_div(((64567 * global_values.trace_length)), 65536))). + pow2668 = pow58 * pow2667; // pow(trace_generator, &(safe_div(((8071 * global_values.trace_length)), 8192))). + pow2669 = pow58 * pow2668; // pow(trace_generator, &(safe_div(((64569 * global_values.trace_length)), 65536))). + pow2670 = pow58 * pow2669; // pow(trace_generator, &(safe_div(((32285 * global_values.trace_length)), 32768))). + pow2671 = pow58 * pow2670; // pow(trace_generator, &(safe_div(((64571 * global_values.trace_length)), 65536))). + pow2672 = pow58 * pow2671; // pow(trace_generator, &(safe_div(((16143 * global_values.trace_length)), 16384))). + pow2673 = pow58 * pow2672; // pow(trace_generator, &(safe_div(((64573 * global_values.trace_length)), 65536))). + pow2674 = pow67 * pow2673; // pow(trace_generator, &(safe_div(((1009 * global_values.trace_length)), 1024))). + pow2675 = pow58 * pow2674; // pow(trace_generator, &(safe_div(((64577 * global_values.trace_length)), 65536))). + pow2676 = pow58 * pow2675; // pow(trace_generator, &(safe_div(((32289 * global_values.trace_length)), 32768))). + pow2677 = pow58 * pow2676; // pow(trace_generator, &(safe_div(((64579 * global_values.trace_length)), 65536))). + pow2678 = pow58 * pow2677; // pow(trace_generator, &(safe_div(((16145 * global_values.trace_length)), 16384))). + pow2679 = pow58 * pow2678; // pow(trace_generator, &(safe_div(((64581 * global_values.trace_length)), 65536))). + pow2680 = pow58 * pow2679; // pow(trace_generator, &(safe_div(((32291 * global_values.trace_length)), 32768))). + pow2681 = pow58 * pow2680; // pow(trace_generator, &(safe_div(((64583 * global_values.trace_length)), 65536))). + pow2682 = pow58 * pow2681; // pow(trace_generator, &(safe_div(((8073 * global_values.trace_length)), 8192))). + pow2683 = pow58 * pow2682; // pow(trace_generator, &(safe_div(((64585 * global_values.trace_length)), 65536))). + pow2684 = pow58 * pow2683; // pow(trace_generator, &(safe_div(((32293 * global_values.trace_length)), 32768))). + pow2685 = pow58 * pow2684; // pow(trace_generator, &(safe_div(((64587 * global_values.trace_length)), 65536))). + pow2686 = pow58 * pow2685; // pow(trace_generator, &(safe_div(((16147 * global_values.trace_length)), 16384))). + pow2687 = pow58 * pow2686; // pow(trace_generator, &(safe_div(((64589 * global_values.trace_length)), 65536))). + pow2688 = pow58 * pow2687; // pow(trace_generator, &(safe_div(((32295 * global_values.trace_length)), 32768))). + pow2689 = pow58 * pow2688; // pow(trace_generator, &(safe_div(((64591 * global_values.trace_length)), 65536))). + pow2690 = pow58 * pow2689; // pow(trace_generator, &(safe_div(((4037 * global_values.trace_length)), 4096))). + pow2691 = pow58 * pow2690; // pow(trace_generator, &(safe_div(((64593 * global_values.trace_length)), 65536))). + pow2692 = pow58 * pow2691; // pow(trace_generator, &(safe_div(((32297 * global_values.trace_length)), 32768))). + pow2693 = pow58 * pow2692; // pow(trace_generator, &(safe_div(((64595 * global_values.trace_length)), 65536))). + pow2694 = pow58 * pow2693; // pow(trace_generator, &(safe_div(((16149 * global_values.trace_length)), 16384))). + pow2695 = pow58 * pow2694; // pow(trace_generator, &(safe_div(((64597 * global_values.trace_length)), 65536))). + pow2696 = pow58 * pow2695; // pow(trace_generator, &(safe_div(((32299 * global_values.trace_length)), 32768))). + pow2697 = pow58 * pow2696; // pow(trace_generator, &(safe_div(((64599 * global_values.trace_length)), 65536))). + pow2698 = pow58 * pow2697; // pow(trace_generator, &(safe_div(((8075 * global_values.trace_length)), 8192))). + pow2699 = pow58 * pow2698; // pow(trace_generator, &(safe_div(((64601 * global_values.trace_length)), 65536))). + pow2700 = pow58 * pow2699; // pow(trace_generator, &(safe_div(((32301 * global_values.trace_length)), 32768))). + pow2701 = pow58 * pow2700; // pow(trace_generator, &(safe_div(((64603 * global_values.trace_length)), 65536))). + pow2702 = pow58 * pow2701; // pow(trace_generator, &(safe_div(((16151 * global_values.trace_length)), 16384))). + pow2703 = pow58 * pow2702; // pow(trace_generator, &(safe_div(((64605 * global_values.trace_length)), 65536))). + pow2704 = pow67 * pow2703; // pow(trace_generator, &(safe_div(((2019 * global_values.trace_length)), 2048))). + pow2705 = pow58 * pow2704; // pow(trace_generator, &(safe_div(((64609 * global_values.trace_length)), 65536))). + pow2706 = pow58 * pow2705; // pow(trace_generator, &(safe_div(((32305 * global_values.trace_length)), 32768))). + pow2707 = pow58 * pow2706; // pow(trace_generator, &(safe_div(((64611 * global_values.trace_length)), 65536))). + pow2708 = pow58 * pow2707; // pow(trace_generator, &(safe_div(((16153 * global_values.trace_length)), 16384))). + pow2709 = pow58 * pow2708; // pow(trace_generator, &(safe_div(((64613 * global_values.trace_length)), 65536))). + pow2710 = pow58 * pow2709; // pow(trace_generator, &(safe_div(((32307 * global_values.trace_length)), 32768))). + pow2711 = pow58 * pow2710; // pow(trace_generator, &(safe_div(((64615 * global_values.trace_length)), 65536))). + pow2712 = pow58 * pow2711; // pow(trace_generator, &(safe_div(((8077 * global_values.trace_length)), 8192))). + pow2713 = pow58 * pow2712; // pow(trace_generator, &(safe_div(((64617 * global_values.trace_length)), 65536))). + pow2714 = pow58 * pow2713; // pow(trace_generator, &(safe_div(((32309 * global_values.trace_length)), 32768))). + pow2715 = pow58 * pow2714; // pow(trace_generator, &(safe_div(((64619 * global_values.trace_length)), 65536))). + pow2716 = pow58 * pow2715; // pow(trace_generator, &(safe_div(((16155 * global_values.trace_length)), 16384))). + pow2717 = pow58 * pow2716; // pow(trace_generator, &(safe_div(((64621 * global_values.trace_length)), 65536))). + pow2718 = pow58 * pow2717; // pow(trace_generator, &(safe_div(((32311 * global_values.trace_length)), 32768))). + pow2719 = pow58 * pow2718; // pow(trace_generator, &(safe_div(((64623 * global_values.trace_length)), 65536))). + pow2720 = pow58 * pow2719; // pow(trace_generator, &(safe_div(((4039 * global_values.trace_length)), 4096))). + pow2721 = pow58 * pow2720; // pow(trace_generator, &(safe_div(((64625 * global_values.trace_length)), 65536))). + pow2722 = pow58 * pow2721; // pow(trace_generator, &(safe_div(((32313 * global_values.trace_length)), 32768))). + pow2723 = pow58 * pow2722; // pow(trace_generator, &(safe_div(((64627 * global_values.trace_length)), 65536))). + pow2724 = pow58 * pow2723; // pow(trace_generator, &(safe_div(((16157 * global_values.trace_length)), 16384))). + pow2725 = pow58 * pow2724; // pow(trace_generator, &(safe_div(((64629 * global_values.trace_length)), 65536))). + pow2726 = pow58 * pow2725; // pow(trace_generator, &(safe_div(((32315 * global_values.trace_length)), 32768))). + pow2727 = pow58 * pow2726; // pow(trace_generator, &(safe_div(((64631 * global_values.trace_length)), 65536))). + pow2728 = pow58 * pow2727; // pow(trace_generator, &(safe_div(((8079 * global_values.trace_length)), 8192))). + pow2729 = pow58 * pow2728; // pow(trace_generator, &(safe_div(((64633 * global_values.trace_length)), 65536))). + pow2730 = pow58 * pow2729; // pow(trace_generator, &(safe_div(((32317 * global_values.trace_length)), 32768))). + pow2731 = pow58 * pow2730; // pow(trace_generator, &(safe_div(((64635 * global_values.trace_length)), 65536))). + pow2732 = pow58 * pow2731; // pow(trace_generator, &(safe_div(((16159 * global_values.trace_length)), 16384))). + pow2733 = pow58 * pow2732; // pow(trace_generator, &(safe_div(((64637 * global_values.trace_length)), 65536))). + pow2734 = pow67 * pow2733; // pow(trace_generator, &(safe_div(((505 * global_values.trace_length)), 512))). + pow2735 = pow58 * pow2734; // pow(trace_generator, &(safe_div(((64641 * global_values.trace_length)), 65536))). + pow2736 = pow58 * pow2735; // pow(trace_generator, &(safe_div(((32321 * global_values.trace_length)), 32768))). + pow2737 = pow58 * pow2736; // pow(trace_generator, &(safe_div(((64643 * global_values.trace_length)), 65536))). + pow2738 = pow58 * pow2737; // pow(trace_generator, &(safe_div(((16161 * global_values.trace_length)), 16384))). + pow2739 = pow58 * pow2738; // pow(trace_generator, &(safe_div(((64645 * global_values.trace_length)), 65536))). + pow2740 = pow58 * pow2739; // pow(trace_generator, &(safe_div(((32323 * global_values.trace_length)), 32768))). + pow2741 = pow58 * pow2740; // pow(trace_generator, &(safe_div(((64647 * global_values.trace_length)), 65536))). + pow2742 = pow58 * pow2741; // pow(trace_generator, &(safe_div(((8081 * global_values.trace_length)), 8192))). + pow2743 = pow58 * pow2742; // pow(trace_generator, &(safe_div(((64649 * global_values.trace_length)), 65536))). + pow2744 = pow58 * pow2743; // pow(trace_generator, &(safe_div(((32325 * global_values.trace_length)), 32768))). + pow2745 = pow58 * pow2744; // pow(trace_generator, &(safe_div(((64651 * global_values.trace_length)), 65536))). + pow2746 = pow58 * pow2745; // pow(trace_generator, &(safe_div(((16163 * global_values.trace_length)), 16384))). + pow2747 = pow58 * pow2746; // pow(trace_generator, &(safe_div(((64653 * global_values.trace_length)), 65536))). + pow2748 = pow58 * pow2747; // pow(trace_generator, &(safe_div(((32327 * global_values.trace_length)), 32768))). + pow2749 = pow58 * pow2748; // pow(trace_generator, &(safe_div(((64655 * global_values.trace_length)), 65536))). + pow2750 = pow58 * pow2749; // pow(trace_generator, &(safe_div(((4041 * global_values.trace_length)), 4096))). + pow2751 = pow58 * pow2750; // pow(trace_generator, &(safe_div(((64657 * global_values.trace_length)), 65536))). + pow2752 = pow58 * pow2751; // pow(trace_generator, &(safe_div(((32329 * global_values.trace_length)), 32768))). + pow2753 = pow58 * pow2752; // pow(trace_generator, &(safe_div(((64659 * global_values.trace_length)), 65536))). + pow2754 = pow58 * pow2753; // pow(trace_generator, &(safe_div(((16165 * global_values.trace_length)), 16384))). + pow2755 = pow58 * pow2754; // pow(trace_generator, &(safe_div(((64661 * global_values.trace_length)), 65536))). + pow2756 = pow58 * pow2755; // pow(trace_generator, &(safe_div(((32331 * global_values.trace_length)), 32768))). + pow2757 = pow58 * pow2756; // pow(trace_generator, &(safe_div(((64663 * global_values.trace_length)), 65536))). + pow2758 = pow58 * pow2757; // pow(trace_generator, &(safe_div(((8083 * global_values.trace_length)), 8192))). + pow2759 = pow58 * pow2758; // pow(trace_generator, &(safe_div(((64665 * global_values.trace_length)), 65536))). + pow2760 = pow58 * pow2759; // pow(trace_generator, &(safe_div(((32333 * global_values.trace_length)), 32768))). + pow2761 = pow58 * pow2760; // pow(trace_generator, &(safe_div(((64667 * global_values.trace_length)), 65536))). + pow2762 = pow58 * pow2761; // pow(trace_generator, &(safe_div(((16167 * global_values.trace_length)), 16384))). + pow2763 = pow58 * pow2762; // pow(trace_generator, &(safe_div(((64669 * global_values.trace_length)), 65536))). + pow2764 = pow67 * pow2763; // pow(trace_generator, &(safe_div(((2021 * global_values.trace_length)), 2048))). + pow2765 = pow58 * pow2764; // pow(trace_generator, &(safe_div(((64673 * global_values.trace_length)), 65536))). + pow2766 = pow58 * pow2765; // pow(trace_generator, &(safe_div(((32337 * global_values.trace_length)), 32768))). + pow2767 = pow58 * pow2766; // pow(trace_generator, &(safe_div(((64675 * global_values.trace_length)), 65536))). + pow2768 = pow58 * pow2767; // pow(trace_generator, &(safe_div(((16169 * global_values.trace_length)), 16384))). + pow2769 = pow58 * pow2768; // pow(trace_generator, &(safe_div(((64677 * global_values.trace_length)), 65536))). + pow2770 = pow58 * pow2769; // pow(trace_generator, &(safe_div(((32339 * global_values.trace_length)), 32768))). + pow2771 = pow58 * pow2770; // pow(trace_generator, &(safe_div(((64679 * global_values.trace_length)), 65536))). + pow2772 = pow58 * pow2771; // pow(trace_generator, &(safe_div(((8085 * global_values.trace_length)), 8192))). + pow2773 = pow58 * pow2772; // pow(trace_generator, &(safe_div(((64681 * global_values.trace_length)), 65536))). + pow2774 = pow58 * pow2773; // pow(trace_generator, &(safe_div(((32341 * global_values.trace_length)), 32768))). + pow2775 = pow58 * pow2774; // pow(trace_generator, &(safe_div(((64683 * global_values.trace_length)), 65536))). + pow2776 = pow58 * pow2775; // pow(trace_generator, &(safe_div(((16171 * global_values.trace_length)), 16384))). + pow2777 = pow58 * pow2776; // pow(trace_generator, &(safe_div(((64685 * global_values.trace_length)), 65536))). + pow2778 = pow58 * pow2777; // pow(trace_generator, &(safe_div(((32343 * global_values.trace_length)), 32768))). + pow2779 = pow58 * pow2778; // pow(trace_generator, &(safe_div(((64687 * global_values.trace_length)), 65536))). + pow2780 = pow58 * pow2779; // pow(trace_generator, &(safe_div(((4043 * global_values.trace_length)), 4096))). + pow2781 = pow58 * pow2780; // pow(trace_generator, &(safe_div(((64689 * global_values.trace_length)), 65536))). + pow2782 = pow58 * pow2781; // pow(trace_generator, &(safe_div(((32345 * global_values.trace_length)), 32768))). + pow2783 = pow58 * pow2782; // pow(trace_generator, &(safe_div(((64691 * global_values.trace_length)), 65536))). + pow2784 = pow58 * pow2783; // pow(trace_generator, &(safe_div(((16173 * global_values.trace_length)), 16384))). + pow2785 = pow58 * pow2784; // pow(trace_generator, &(safe_div(((64693 * global_values.trace_length)), 65536))). + pow2786 = pow58 * pow2785; // pow(trace_generator, &(safe_div(((32347 * global_values.trace_length)), 32768))). + pow2787 = pow58 * pow2786; // pow(trace_generator, &(safe_div(((64695 * global_values.trace_length)), 65536))). + pow2788 = pow58 * pow2787; // pow(trace_generator, &(safe_div(((8087 * global_values.trace_length)), 8192))). + pow2789 = pow58 * pow2788; // pow(trace_generator, &(safe_div(((64697 * global_values.trace_length)), 65536))). + pow2790 = pow58 * pow2789; // pow(trace_generator, &(safe_div(((32349 * global_values.trace_length)), 32768))). + pow2791 = pow58 * pow2790; // pow(trace_generator, &(safe_div(((64699 * global_values.trace_length)), 65536))). + pow2792 = pow58 * pow2791; // pow(trace_generator, &(safe_div(((16175 * global_values.trace_length)), 16384))). + pow2793 = pow58 * pow2792; // pow(trace_generator, &(safe_div(((64701 * global_values.trace_length)), 65536))). + pow2794 = pow67 * pow2793; // pow(trace_generator, &(safe_div(((1011 * global_values.trace_length)), 1024))). + pow2795 = pow58 * pow2794; // pow(trace_generator, &(safe_div(((64705 * global_values.trace_length)), 65536))). + pow2796 = pow58 * pow2795; // pow(trace_generator, &(safe_div(((32353 * global_values.trace_length)), 32768))). + pow2797 = pow58 * pow2796; // pow(trace_generator, &(safe_div(((64707 * global_values.trace_length)), 65536))). + pow2798 = pow58 * pow2797; // pow(trace_generator, &(safe_div(((16177 * global_values.trace_length)), 16384))). + pow2799 = pow58 * pow2798; // pow(trace_generator, &(safe_div(((64709 * global_values.trace_length)), 65536))). + pow2800 = pow58 * pow2799; // pow(trace_generator, &(safe_div(((32355 * global_values.trace_length)), 32768))). + pow2801 = pow58 * pow2800; // pow(trace_generator, &(safe_div(((64711 * global_values.trace_length)), 65536))). + pow2802 = pow58 * pow2801; // pow(trace_generator, &(safe_div(((8089 * global_values.trace_length)), 8192))). + pow2803 = pow58 * pow2802; // pow(trace_generator, &(safe_div(((64713 * global_values.trace_length)), 65536))). + pow2804 = pow58 * pow2803; // pow(trace_generator, &(safe_div(((32357 * global_values.trace_length)), 32768))). + pow2805 = pow58 * pow2804; // pow(trace_generator, &(safe_div(((64715 * global_values.trace_length)), 65536))). + pow2806 = pow58 * pow2805; // pow(trace_generator, &(safe_div(((16179 * global_values.trace_length)), 16384))). + pow2807 = pow58 * pow2806; // pow(trace_generator, &(safe_div(((64717 * global_values.trace_length)), 65536))). + pow2808 = pow58 * pow2807; // pow(trace_generator, &(safe_div(((32359 * global_values.trace_length)), 32768))). + pow2809 = pow58 * pow2808; // pow(trace_generator, &(safe_div(((64719 * global_values.trace_length)), 65536))). + pow2810 = pow58 * pow2809; // pow(trace_generator, &(safe_div(((4045 * global_values.trace_length)), 4096))). + pow2811 = pow58 * pow2810; // pow(trace_generator, &(safe_div(((64721 * global_values.trace_length)), 65536))). + pow2812 = pow58 * pow2811; // pow(trace_generator, &(safe_div(((32361 * global_values.trace_length)), 32768))). + pow2813 = pow58 * pow2812; // pow(trace_generator, &(safe_div(((64723 * global_values.trace_length)), 65536))). + pow2814 = pow58 * pow2813; // pow(trace_generator, &(safe_div(((16181 * global_values.trace_length)), 16384))). + pow2815 = pow58 * pow2814; // pow(trace_generator, &(safe_div(((64725 * global_values.trace_length)), 65536))). + pow2816 = pow58 * pow2815; // pow(trace_generator, &(safe_div(((32363 * global_values.trace_length)), 32768))). + pow2817 = pow58 * pow2816; // pow(trace_generator, &(safe_div(((64727 * global_values.trace_length)), 65536))). + pow2818 = pow58 * pow2817; // pow(trace_generator, &(safe_div(((8091 * global_values.trace_length)), 8192))). + pow2819 = pow58 * pow2818; // pow(trace_generator, &(safe_div(((64729 * global_values.trace_length)), 65536))). + pow2820 = pow58 * pow2819; // pow(trace_generator, &(safe_div(((32365 * global_values.trace_length)), 32768))). + pow2821 = pow58 * pow2820; // pow(trace_generator, &(safe_div(((64731 * global_values.trace_length)), 65536))). + pow2822 = pow58 * pow2821; // pow(trace_generator, &(safe_div(((16183 * global_values.trace_length)), 16384))). + pow2823 = pow58 * pow2822; // pow(trace_generator, &(safe_div(((64733 * global_values.trace_length)), 65536))). + pow2824 = pow67 * pow2823; // pow(trace_generator, &(safe_div(((2023 * global_values.trace_length)), 2048))). + pow2825 = pow58 * pow2824; // pow(trace_generator, &(safe_div(((64737 * global_values.trace_length)), 65536))). + pow2826 = pow58 * pow2825; // pow(trace_generator, &(safe_div(((32369 * global_values.trace_length)), 32768))). + pow2827 = pow58 * pow2826; // pow(trace_generator, &(safe_div(((64739 * global_values.trace_length)), 65536))). + pow2828 = pow58 * pow2827; // pow(trace_generator, &(safe_div(((16185 * global_values.trace_length)), 16384))). + pow2829 = pow58 * pow2828; // pow(trace_generator, &(safe_div(((64741 * global_values.trace_length)), 65536))). + pow2830 = pow58 * pow2829; // pow(trace_generator, &(safe_div(((32371 * global_values.trace_length)), 32768))). + pow2831 = pow58 * pow2830; // pow(trace_generator, &(safe_div(((64743 * global_values.trace_length)), 65536))). + pow2832 = pow58 * pow2831; // pow(trace_generator, &(safe_div(((8093 * global_values.trace_length)), 8192))). + pow2833 = pow58 * pow2832; // pow(trace_generator, &(safe_div(((64745 * global_values.trace_length)), 65536))). + pow2834 = pow58 * pow2833; // pow(trace_generator, &(safe_div(((32373 * global_values.trace_length)), 32768))). + pow2835 = pow58 * pow2834; // pow(trace_generator, &(safe_div(((64747 * global_values.trace_length)), 65536))). + pow2836 = pow58 * pow2835; // pow(trace_generator, &(safe_div(((16187 * global_values.trace_length)), 16384))). + pow2837 = pow58 * pow2836; // pow(trace_generator, &(safe_div(((64749 * global_values.trace_length)), 65536))). + pow2838 = pow58 * pow2837; // pow(trace_generator, &(safe_div(((32375 * global_values.trace_length)), 32768))). + pow2839 = pow58 * pow2838; // pow(trace_generator, &(safe_div(((64751 * global_values.trace_length)), 65536))). + pow2840 = pow58 * pow2839; // pow(trace_generator, &(safe_div(((4047 * global_values.trace_length)), 4096))). + pow2841 = pow58 * pow2840; // pow(trace_generator, &(safe_div(((64753 * global_values.trace_length)), 65536))). + pow2842 = pow58 * pow2841; // pow(trace_generator, &(safe_div(((32377 * global_values.trace_length)), 32768))). + pow2843 = pow58 * pow2842; // pow(trace_generator, &(safe_div(((64755 * global_values.trace_length)), 65536))). + pow2844 = pow58 * pow2843; // pow(trace_generator, &(safe_div(((16189 * global_values.trace_length)), 16384))). + pow2845 = pow58 * pow2844; // pow(trace_generator, &(safe_div(((64757 * global_values.trace_length)), 65536))). + pow2846 = pow58 * pow2845; // pow(trace_generator, &(safe_div(((32379 * global_values.trace_length)), 32768))). + pow2847 = pow58 * pow2846; // pow(trace_generator, &(safe_div(((64759 * global_values.trace_length)), 65536))). + pow2848 = pow58 * pow2847; // pow(trace_generator, &(safe_div(((8095 * global_values.trace_length)), 8192))). + pow2849 = pow58 * pow2848; // pow(trace_generator, &(safe_div(((64761 * global_values.trace_length)), 65536))). + pow2850 = pow58 * pow2849; // pow(trace_generator, &(safe_div(((32381 * global_values.trace_length)), 32768))). + pow2851 = pow58 * pow2850; // pow(trace_generator, &(safe_div(((64763 * global_values.trace_length)), 65536))). + pow2852 = pow58 * pow2851; // pow(trace_generator, &(safe_div(((16191 * global_values.trace_length)), 16384))). + pow2853 = pow58 * pow2852; // pow(trace_generator, &(safe_div(((64765 * global_values.trace_length)), 65536))). + pow2854 = pow67 * pow2853; // pow(trace_generator, &(safe_div(((253 * global_values.trace_length)), 256))). + pow2855 = pow58 * pow2854; // pow(trace_generator, &(safe_div(((64769 * global_values.trace_length)), 65536))). + pow2856 = pow58 * pow2855; // pow(trace_generator, &(safe_div(((32385 * global_values.trace_length)), 32768))). + pow2857 = pow58 * pow2856; // pow(trace_generator, &(safe_div(((64771 * global_values.trace_length)), 65536))). + pow2858 = pow58 * pow2857; // pow(trace_generator, &(safe_div(((16193 * global_values.trace_length)), 16384))). + pow2859 = pow58 * pow2858; // pow(trace_generator, &(safe_div(((64773 * global_values.trace_length)), 65536))). + pow2860 = pow58 * pow2859; // pow(trace_generator, &(safe_div(((32387 * global_values.trace_length)), 32768))). + pow2861 = pow58 * pow2860; // pow(trace_generator, &(safe_div(((64775 * global_values.trace_length)), 65536))). + pow2862 = pow58 * pow2861; // pow(trace_generator, &(safe_div(((8097 * global_values.trace_length)), 8192))). + pow2863 = pow58 * pow2862; // pow(trace_generator, &(safe_div(((64777 * global_values.trace_length)), 65536))). + pow2864 = pow58 * pow2863; // pow(trace_generator, &(safe_div(((32389 * global_values.trace_length)), 32768))). + pow2865 = pow58 * pow2864; // pow(trace_generator, &(safe_div(((64779 * global_values.trace_length)), 65536))). + pow2866 = pow58 * pow2865; // pow(trace_generator, &(safe_div(((16195 * global_values.trace_length)), 16384))). + pow2867 = pow58 * pow2866; // pow(trace_generator, &(safe_div(((64781 * global_values.trace_length)), 65536))). + pow2868 = pow58 * pow2867; // pow(trace_generator, &(safe_div(((32391 * global_values.trace_length)), 32768))). + pow2869 = pow58 * pow2868; // pow(trace_generator, &(safe_div(((64783 * global_values.trace_length)), 65536))). + pow2870 = pow58 * pow2869; // pow(trace_generator, &(safe_div(((4049 * global_values.trace_length)), 4096))). + pow2871 = pow58 * pow2870; // pow(trace_generator, &(safe_div(((64785 * global_values.trace_length)), 65536))). + pow2872 = pow58 * pow2871; // pow(trace_generator, &(safe_div(((32393 * global_values.trace_length)), 32768))). + pow2873 = pow58 * pow2872; // pow(trace_generator, &(safe_div(((64787 * global_values.trace_length)), 65536))). + pow2874 = pow58 * pow2873; // pow(trace_generator, &(safe_div(((16197 * global_values.trace_length)), 16384))). + pow2875 = pow58 * pow2874; // pow(trace_generator, &(safe_div(((64789 * global_values.trace_length)), 65536))). + pow2876 = pow58 * pow2875; // pow(trace_generator, &(safe_div(((32395 * global_values.trace_length)), 32768))). + pow2877 = pow58 * pow2876; // pow(trace_generator, &(safe_div(((64791 * global_values.trace_length)), 65536))). + pow2878 = pow58 * pow2877; // pow(trace_generator, &(safe_div(((8099 * global_values.trace_length)), 8192))). + pow2879 = pow58 * pow2878; // pow(trace_generator, &(safe_div(((64793 * global_values.trace_length)), 65536))). + pow2880 = pow58 * pow2879; // pow(trace_generator, &(safe_div(((32397 * global_values.trace_length)), 32768))). + pow2881 = pow58 * pow2880; // pow(trace_generator, &(safe_div(((64795 * global_values.trace_length)), 65536))). + pow2882 = pow58 * pow2881; // pow(trace_generator, &(safe_div(((16199 * global_values.trace_length)), 16384))). + pow2883 = pow58 * pow2882; // pow(trace_generator, &(safe_div(((64797 * global_values.trace_length)), 65536))). + pow2884 = pow67 * pow2883; // pow(trace_generator, &(safe_div(((2025 * global_values.trace_length)), 2048))). + pow2885 = pow58 * pow2884; // pow(trace_generator, &(safe_div(((64801 * global_values.trace_length)), 65536))). + pow2886 = pow58 * pow2885; // pow(trace_generator, &(safe_div(((32401 * global_values.trace_length)), 32768))). + pow2887 = pow58 * pow2886; // pow(trace_generator, &(safe_div(((64803 * global_values.trace_length)), 65536))). + pow2888 = pow58 * pow2887; // pow(trace_generator, &(safe_div(((16201 * global_values.trace_length)), 16384))). + pow2889 = pow58 * pow2888; // pow(trace_generator, &(safe_div(((64805 * global_values.trace_length)), 65536))). + pow2890 = pow58 * pow2889; // pow(trace_generator, &(safe_div(((32403 * global_values.trace_length)), 32768))). + pow2891 = pow58 * pow2890; // pow(trace_generator, &(safe_div(((64807 * global_values.trace_length)), 65536))). + pow2892 = pow58 * pow2891; // pow(trace_generator, &(safe_div(((8101 * global_values.trace_length)), 8192))). + pow2893 = pow58 * pow2892; // pow(trace_generator, &(safe_div(((64809 * global_values.trace_length)), 65536))). + pow2894 = pow58 * pow2893; // pow(trace_generator, &(safe_div(((32405 * global_values.trace_length)), 32768))). + pow2895 = pow58 * pow2894; // pow(trace_generator, &(safe_div(((64811 * global_values.trace_length)), 65536))). + pow2896 = pow58 * pow2895; // pow(trace_generator, &(safe_div(((16203 * global_values.trace_length)), 16384))). + pow2897 = pow58 * pow2896; // pow(trace_generator, &(safe_div(((64813 * global_values.trace_length)), 65536))). + pow2898 = pow58 * pow2897; // pow(trace_generator, &(safe_div(((32407 * global_values.trace_length)), 32768))). + pow2899 = pow58 * pow2898; // pow(trace_generator, &(safe_div(((64815 * global_values.trace_length)), 65536))). + pow2900 = pow58 * pow2899; // pow(trace_generator, &(safe_div(((4051 * global_values.trace_length)), 4096))). + pow2901 = pow58 * pow2900; // pow(trace_generator, &(safe_div(((64817 * global_values.trace_length)), 65536))). + pow2902 = pow58 * pow2901; // pow(trace_generator, &(safe_div(((32409 * global_values.trace_length)), 32768))). + pow2903 = pow58 * pow2902; // pow(trace_generator, &(safe_div(((64819 * global_values.trace_length)), 65536))). + pow2904 = pow58 * pow2903; // pow(trace_generator, &(safe_div(((16205 * global_values.trace_length)), 16384))). + pow2905 = pow58 * pow2904; // pow(trace_generator, &(safe_div(((64821 * global_values.trace_length)), 65536))). + pow2906 = pow58 * pow2905; // pow(trace_generator, &(safe_div(((32411 * global_values.trace_length)), 32768))). + pow2907 = pow58 * pow2906; // pow(trace_generator, &(safe_div(((64823 * global_values.trace_length)), 65536))). + pow2908 = pow58 * pow2907; // pow(trace_generator, &(safe_div(((8103 * global_values.trace_length)), 8192))). + pow2909 = pow58 * pow2908; // pow(trace_generator, &(safe_div(((64825 * global_values.trace_length)), 65536))). + pow2910 = pow58 * pow2909; // pow(trace_generator, &(safe_div(((32413 * global_values.trace_length)), 32768))). + pow2911 = pow58 * pow2910; // pow(trace_generator, &(safe_div(((64827 * global_values.trace_length)), 65536))). + pow2912 = pow58 * pow2911; // pow(trace_generator, &(safe_div(((16207 * global_values.trace_length)), 16384))). + pow2913 = pow58 * pow2912; // pow(trace_generator, &(safe_div(((64829 * global_values.trace_length)), 65536))). + pow2914 = pow67 * pow2913; // pow(trace_generator, &(safe_div(((1013 * global_values.trace_length)), 1024))). + pow2915 = pow58 * pow2914; // pow(trace_generator, &(safe_div(((64833 * global_values.trace_length)), 65536))). + pow2916 = pow58 * pow2915; // pow(trace_generator, &(safe_div(((32417 * global_values.trace_length)), 32768))). + pow2917 = pow58 * pow2916; // pow(trace_generator, &(safe_div(((64835 * global_values.trace_length)), 65536))). + pow2918 = pow58 * pow2917; // pow(trace_generator, &(safe_div(((16209 * global_values.trace_length)), 16384))). + pow2919 = pow58 * pow2918; // pow(trace_generator, &(safe_div(((64837 * global_values.trace_length)), 65536))). + pow2920 = pow58 * pow2919; // pow(trace_generator, &(safe_div(((32419 * global_values.trace_length)), 32768))). + pow2921 = pow58 * pow2920; // pow(trace_generator, &(safe_div(((64839 * global_values.trace_length)), 65536))). + pow2922 = pow58 * pow2921; // pow(trace_generator, &(safe_div(((8105 * global_values.trace_length)), 8192))). + pow2923 = pow58 * pow2922; // pow(trace_generator, &(safe_div(((64841 * global_values.trace_length)), 65536))). + pow2924 = pow58 * pow2923; // pow(trace_generator, &(safe_div(((32421 * global_values.trace_length)), 32768))). + pow2925 = pow58 * pow2924; // pow(trace_generator, &(safe_div(((64843 * global_values.trace_length)), 65536))). + pow2926 = pow58 * pow2925; // pow(trace_generator, &(safe_div(((16211 * global_values.trace_length)), 16384))). + pow2927 = pow58 * pow2926; // pow(trace_generator, &(safe_div(((64845 * global_values.trace_length)), 65536))). + pow2928 = pow58 * pow2927; // pow(trace_generator, &(safe_div(((32423 * global_values.trace_length)), 32768))). + pow2929 = pow58 * pow2928; // pow(trace_generator, &(safe_div(((64847 * global_values.trace_length)), 65536))). + pow2930 = pow58 * pow2929; // pow(trace_generator, &(safe_div(((4053 * global_values.trace_length)), 4096))). + pow2931 = pow58 * pow2930; // pow(trace_generator, &(safe_div(((64849 * global_values.trace_length)), 65536))). + pow2932 = pow58 * pow2931; // pow(trace_generator, &(safe_div(((32425 * global_values.trace_length)), 32768))). + pow2933 = pow58 * pow2932; // pow(trace_generator, &(safe_div(((64851 * global_values.trace_length)), 65536))). + pow2934 = pow58 * pow2933; // pow(trace_generator, &(safe_div(((16213 * global_values.trace_length)), 16384))). + pow2935 = pow58 * pow2934; // pow(trace_generator, &(safe_div(((64853 * global_values.trace_length)), 65536))). + pow2936 = pow58 * pow2935; // pow(trace_generator, &(safe_div(((32427 * global_values.trace_length)), 32768))). + pow2937 = pow58 * pow2936; // pow(trace_generator, &(safe_div(((64855 * global_values.trace_length)), 65536))). + pow2938 = pow58 * pow2937; // pow(trace_generator, &(safe_div(((8107 * global_values.trace_length)), 8192))). + pow2939 = pow58 * pow2938; // pow(trace_generator, &(safe_div(((64857 * global_values.trace_length)), 65536))). + pow2940 = pow58 * pow2939; // pow(trace_generator, &(safe_div(((32429 * global_values.trace_length)), 32768))). + pow2941 = pow58 * pow2940; // pow(trace_generator, &(safe_div(((64859 * global_values.trace_length)), 65536))). + pow2942 = pow58 * pow2941; // pow(trace_generator, &(safe_div(((16215 * global_values.trace_length)), 16384))). + pow2943 = pow58 * pow2942; // pow(trace_generator, &(safe_div(((64861 * global_values.trace_length)), 65536))). + pow2944 = pow67 * pow2943; // pow(trace_generator, &(safe_div(((2027 * global_values.trace_length)), 2048))). + pow2945 = pow58 * pow2944; // pow(trace_generator, &(safe_div(((64865 * global_values.trace_length)), 65536))). + pow2946 = pow58 * pow2945; // pow(trace_generator, &(safe_div(((32433 * global_values.trace_length)), 32768))). + pow2947 = pow58 * pow2946; // pow(trace_generator, &(safe_div(((64867 * global_values.trace_length)), 65536))). + pow2948 = pow58 * pow2947; // pow(trace_generator, &(safe_div(((16217 * global_values.trace_length)), 16384))). + pow2949 = pow58 * pow2948; // pow(trace_generator, &(safe_div(((64869 * global_values.trace_length)), 65536))). + pow2950 = pow58 * pow2949; // pow(trace_generator, &(safe_div(((32435 * global_values.trace_length)), 32768))). + pow2951 = pow58 * pow2950; // pow(trace_generator, &(safe_div(((64871 * global_values.trace_length)), 65536))). + pow2952 = pow58 * pow2951; // pow(trace_generator, &(safe_div(((8109 * global_values.trace_length)), 8192))). + pow2953 = pow58 * pow2952; // pow(trace_generator, &(safe_div(((64873 * global_values.trace_length)), 65536))). + pow2954 = pow58 * pow2953; // pow(trace_generator, &(safe_div(((32437 * global_values.trace_length)), 32768))). + pow2955 = pow58 * pow2954; // pow(trace_generator, &(safe_div(((64875 * global_values.trace_length)), 65536))). + pow2956 = pow58 * pow2955; // pow(trace_generator, &(safe_div(((16219 * global_values.trace_length)), 16384))). + pow2957 = pow58 * pow2956; // pow(trace_generator, &(safe_div(((64877 * global_values.trace_length)), 65536))). + pow2958 = pow58 * pow2957; // pow(trace_generator, &(safe_div(((32439 * global_values.trace_length)), 32768))). + pow2959 = pow58 * pow2958; // pow(trace_generator, &(safe_div(((64879 * global_values.trace_length)), 65536))). + pow2960 = pow58 * pow2959; // pow(trace_generator, &(safe_div(((4055 * global_values.trace_length)), 4096))). + pow2961 = pow58 * pow2960; // pow(trace_generator, &(safe_div(((64881 * global_values.trace_length)), 65536))). + pow2962 = pow58 * pow2961; // pow(trace_generator, &(safe_div(((32441 * global_values.trace_length)), 32768))). + pow2963 = pow58 * pow2962; // pow(trace_generator, &(safe_div(((64883 * global_values.trace_length)), 65536))). + pow2964 = pow58 * pow2963; // pow(trace_generator, &(safe_div(((16221 * global_values.trace_length)), 16384))). + pow2965 = pow58 * pow2964; // pow(trace_generator, &(safe_div(((64885 * global_values.trace_length)), 65536))). + pow2966 = pow58 * pow2965; // pow(trace_generator, &(safe_div(((32443 * global_values.trace_length)), 32768))). + pow2967 = pow58 * pow2966; // pow(trace_generator, &(safe_div(((64887 * global_values.trace_length)), 65536))). + pow2968 = pow58 * pow2967; // pow(trace_generator, &(safe_div(((8111 * global_values.trace_length)), 8192))). + pow2969 = pow58 * pow2968; // pow(trace_generator, &(safe_div(((64889 * global_values.trace_length)), 65536))). + pow2970 = pow58 * pow2969; // pow(trace_generator, &(safe_div(((32445 * global_values.trace_length)), 32768))). + pow2971 = pow58 * pow2970; // pow(trace_generator, &(safe_div(((64891 * global_values.trace_length)), 65536))). + pow2972 = pow58 * pow2971; // pow(trace_generator, &(safe_div(((16223 * global_values.trace_length)), 16384))). + pow2973 = pow58 * pow2972; // pow(trace_generator, &(safe_div(((64893 * global_values.trace_length)), 65536))). + pow2974 = pow67 * pow2973; // pow(trace_generator, &(safe_div(((507 * global_values.trace_length)), 512))). + pow2975 = pow58 * pow2974; // pow(trace_generator, &(safe_div(((64897 * global_values.trace_length)), 65536))). + pow2976 = pow58 * pow2975; // pow(trace_generator, &(safe_div(((32449 * global_values.trace_length)), 32768))). + pow2977 = pow58 * pow2976; // pow(trace_generator, &(safe_div(((64899 * global_values.trace_length)), 65536))). + pow2978 = pow58 * pow2977; // pow(trace_generator, &(safe_div(((16225 * global_values.trace_length)), 16384))). + pow2979 = pow58 * pow2978; // pow(trace_generator, &(safe_div(((64901 * global_values.trace_length)), 65536))). + pow2980 = pow58 * pow2979; // pow(trace_generator, &(safe_div(((32451 * global_values.trace_length)), 32768))). + pow2981 = pow58 * pow2980; // pow(trace_generator, &(safe_div(((64903 * global_values.trace_length)), 65536))). + pow2982 = pow58 * pow2981; // pow(trace_generator, &(safe_div(((8113 * global_values.trace_length)), 8192))). + pow2983 = pow58 * pow2982; // pow(trace_generator, &(safe_div(((64905 * global_values.trace_length)), 65536))). + pow2984 = pow58 * pow2983; // pow(trace_generator, &(safe_div(((32453 * global_values.trace_length)), 32768))). + pow2985 = pow58 * pow2984; // pow(trace_generator, &(safe_div(((64907 * global_values.trace_length)), 65536))). + pow2986 = pow58 * pow2985; // pow(trace_generator, &(safe_div(((16227 * global_values.trace_length)), 16384))). + pow2987 = pow58 * pow2986; // pow(trace_generator, &(safe_div(((64909 * global_values.trace_length)), 65536))). + pow2988 = pow58 * pow2987; // pow(trace_generator, &(safe_div(((32455 * global_values.trace_length)), 32768))). + pow2989 = pow58 * pow2988; // pow(trace_generator, &(safe_div(((64911 * global_values.trace_length)), 65536))). + pow2990 = pow58 * pow2989; // pow(trace_generator, &(safe_div(((4057 * global_values.trace_length)), 4096))). + pow2991 = pow58 * pow2990; // pow(trace_generator, &(safe_div(((64913 * global_values.trace_length)), 65536))). + pow2992 = pow58 * pow2991; // pow(trace_generator, &(safe_div(((32457 * global_values.trace_length)), 32768))). + pow2993 = pow58 * pow2992; // pow(trace_generator, &(safe_div(((64915 * global_values.trace_length)), 65536))). + pow2994 = pow58 * pow2993; // pow(trace_generator, &(safe_div(((16229 * global_values.trace_length)), 16384))). + pow2995 = pow58 * pow2994; // pow(trace_generator, &(safe_div(((64917 * global_values.trace_length)), 65536))). + pow2996 = pow58 * pow2995; // pow(trace_generator, &(safe_div(((32459 * global_values.trace_length)), 32768))). + pow2997 = pow58 * pow2996; // pow(trace_generator, &(safe_div(((64919 * global_values.trace_length)), 65536))). + pow2998 = pow58 * pow2997; // pow(trace_generator, &(safe_div(((8115 * global_values.trace_length)), 8192))). + pow2999 = pow58 * pow2998; // pow(trace_generator, &(safe_div(((64921 * global_values.trace_length)), 65536))). + pow3000 = pow58 * pow2999; // pow(trace_generator, &(safe_div(((32461 * global_values.trace_length)), 32768))). + pow3001 = pow58 * pow3000; // pow(trace_generator, &(safe_div(((64923 * global_values.trace_length)), 65536))). + pow3002 = pow58 * pow3001; // pow(trace_generator, &(safe_div(((16231 * global_values.trace_length)), 16384))). + pow3003 = pow58 * pow3002; // pow(trace_generator, &(safe_div(((64925 * global_values.trace_length)), 65536))). + pow3004 = pow67 * pow3003; // pow(trace_generator, &(safe_div(((2029 * global_values.trace_length)), 2048))). + pow3005 = pow58 * pow3004; // pow(trace_generator, &(safe_div(((64929 * global_values.trace_length)), 65536))). + pow3006 = pow58 * pow3005; // pow(trace_generator, &(safe_div(((32465 * global_values.trace_length)), 32768))). + pow3007 = pow58 * pow3006; // pow(trace_generator, &(safe_div(((64931 * global_values.trace_length)), 65536))). + pow3008 = pow58 * pow3007; // pow(trace_generator, &(safe_div(((16233 * global_values.trace_length)), 16384))). + pow3009 = pow58 * pow3008; // pow(trace_generator, &(safe_div(((64933 * global_values.trace_length)), 65536))). + pow3010 = pow58 * pow3009; // pow(trace_generator, &(safe_div(((32467 * global_values.trace_length)), 32768))). + pow3011 = pow58 * pow3010; // pow(trace_generator, &(safe_div(((64935 * global_values.trace_length)), 65536))). + pow3012 = pow58 * pow3011; // pow(trace_generator, &(safe_div(((8117 * global_values.trace_length)), 8192))). + pow3013 = pow58 * pow3012; // pow(trace_generator, &(safe_div(((64937 * global_values.trace_length)), 65536))). + pow3014 = pow58 * pow3013; // pow(trace_generator, &(safe_div(((32469 * global_values.trace_length)), 32768))). + pow3015 = pow58 * pow3014; // pow(trace_generator, &(safe_div(((64939 * global_values.trace_length)), 65536))). + pow3016 = pow58 * pow3015; // pow(trace_generator, &(safe_div(((16235 * global_values.trace_length)), 16384))). + pow3017 = pow58 * pow3016; // pow(trace_generator, &(safe_div(((64941 * global_values.trace_length)), 65536))). + pow3018 = pow58 * pow3017; // pow(trace_generator, &(safe_div(((32471 * global_values.trace_length)), 32768))). + pow3019 = pow58 * pow3018; // pow(trace_generator, &(safe_div(((64943 * global_values.trace_length)), 65536))). + pow3020 = pow58 * pow3019; // pow(trace_generator, &(safe_div(((4059 * global_values.trace_length)), 4096))). + pow3021 = pow58 * pow3020; // pow(trace_generator, &(safe_div(((64945 * global_values.trace_length)), 65536))). + pow3022 = pow58 * pow3021; // pow(trace_generator, &(safe_div(((32473 * global_values.trace_length)), 32768))). + pow3023 = pow58 * pow3022; // pow(trace_generator, &(safe_div(((64947 * global_values.trace_length)), 65536))). + pow3024 = pow58 * pow3023; // pow(trace_generator, &(safe_div(((16237 * global_values.trace_length)), 16384))). + pow3025 = pow58 * pow3024; // pow(trace_generator, &(safe_div(((64949 * global_values.trace_length)), 65536))). + pow3026 = pow58 * pow3025; // pow(trace_generator, &(safe_div(((32475 * global_values.trace_length)), 32768))). + pow3027 = pow58 * pow3026; // pow(trace_generator, &(safe_div(((64951 * global_values.trace_length)), 65536))). + pow3028 = pow58 * pow3027; // pow(trace_generator, &(safe_div(((8119 * global_values.trace_length)), 8192))). + pow3029 = pow58 * pow3028; // pow(trace_generator, &(safe_div(((64953 * global_values.trace_length)), 65536))). + pow3030 = pow58 * pow3029; // pow(trace_generator, &(safe_div(((32477 * global_values.trace_length)), 32768))). + pow3031 = pow58 * pow3030; // pow(trace_generator, &(safe_div(((64955 * global_values.trace_length)), 65536))). + pow3032 = pow58 * pow3031; // pow(trace_generator, &(safe_div(((16239 * global_values.trace_length)), 16384))). + pow3033 = pow58 * pow3032; // pow(trace_generator, &(safe_div(((64957 * global_values.trace_length)), 65536))). + pow3034 = pow67 * pow3033; // pow(trace_generator, &(safe_div(((1015 * global_values.trace_length)), 1024))). + pow3035 = pow58 * pow3034; // pow(trace_generator, &(safe_div(((64961 * global_values.trace_length)), 65536))). + pow3036 = pow58 * pow3035; // pow(trace_generator, &(safe_div(((32481 * global_values.trace_length)), 32768))). + pow3037 = pow58 * pow3036; // pow(trace_generator, &(safe_div(((64963 * global_values.trace_length)), 65536))). + pow3038 = pow58 * pow3037; // pow(trace_generator, &(safe_div(((16241 * global_values.trace_length)), 16384))). + pow3039 = pow58 * pow3038; // pow(trace_generator, &(safe_div(((64965 * global_values.trace_length)), 65536))). + pow3040 = pow58 * pow3039; // pow(trace_generator, &(safe_div(((32483 * global_values.trace_length)), 32768))). + pow3041 = pow58 * pow3040; // pow(trace_generator, &(safe_div(((64967 * global_values.trace_length)), 65536))). + pow3042 = pow58 * pow3041; // pow(trace_generator, &(safe_div(((8121 * global_values.trace_length)), 8192))). + pow3043 = pow58 * pow3042; // pow(trace_generator, &(safe_div(((64969 * global_values.trace_length)), 65536))). + pow3044 = pow58 * pow3043; // pow(trace_generator, &(safe_div(((32485 * global_values.trace_length)), 32768))). + pow3045 = pow58 * pow3044; // pow(trace_generator, &(safe_div(((64971 * global_values.trace_length)), 65536))). + pow3046 = pow58 * pow3045; // pow(trace_generator, &(safe_div(((16243 * global_values.trace_length)), 16384))). + pow3047 = pow58 * pow3046; // pow(trace_generator, &(safe_div(((64973 * global_values.trace_length)), 65536))). + pow3048 = pow58 * pow3047; // pow(trace_generator, &(safe_div(((32487 * global_values.trace_length)), 32768))). + pow3049 = pow58 * pow3048; // pow(trace_generator, &(safe_div(((64975 * global_values.trace_length)), 65536))). + pow3050 = pow58 * pow3049; // pow(trace_generator, &(safe_div(((4061 * global_values.trace_length)), 4096))). + pow3051 = pow58 * pow3050; // pow(trace_generator, &(safe_div(((64977 * global_values.trace_length)), 65536))). + pow3052 = pow58 * pow3051; // pow(trace_generator, &(safe_div(((32489 * global_values.trace_length)), 32768))). + pow3053 = pow58 * pow3052; // pow(trace_generator, &(safe_div(((64979 * global_values.trace_length)), 65536))). + pow3054 = pow58 * pow3053; // pow(trace_generator, &(safe_div(((16245 * global_values.trace_length)), 16384))). + pow3055 = pow58 * pow3054; // pow(trace_generator, &(safe_div(((64981 * global_values.trace_length)), 65536))). + pow3056 = pow58 * pow3055; // pow(trace_generator, &(safe_div(((32491 * global_values.trace_length)), 32768))). + pow3057 = pow58 * pow3056; // pow(trace_generator, &(safe_div(((64983 * global_values.trace_length)), 65536))). + pow3058 = pow58 * pow3057; // pow(trace_generator, &(safe_div(((8123 * global_values.trace_length)), 8192))). + pow3059 = pow58 * pow3058; // pow(trace_generator, &(safe_div(((64985 * global_values.trace_length)), 65536))). + pow3060 = pow58 * pow3059; // pow(trace_generator, &(safe_div(((32493 * global_values.trace_length)), 32768))). + pow3061 = pow58 * pow3060; // pow(trace_generator, &(safe_div(((64987 * global_values.trace_length)), 65536))). + pow3062 = pow58 * pow3061; // pow(trace_generator, &(safe_div(((16247 * global_values.trace_length)), 16384))). + pow3063 = pow58 * pow3062; // pow(trace_generator, &(safe_div(((64989 * global_values.trace_length)), 65536))). + pow3064 = pow67 * pow3063; // pow(trace_generator, &(safe_div(((2031 * global_values.trace_length)), 2048))). + pow3065 = pow58 * pow3064; // pow(trace_generator, &(safe_div(((64993 * global_values.trace_length)), 65536))). + pow3066 = pow58 * pow3065; // pow(trace_generator, &(safe_div(((32497 * global_values.trace_length)), 32768))). + pow3067 = pow58 * pow3066; // pow(trace_generator, &(safe_div(((64995 * global_values.trace_length)), 65536))). + pow3068 = pow58 * pow3067; // pow(trace_generator, &(safe_div(((16249 * global_values.trace_length)), 16384))). + pow3069 = pow58 * pow3068; // pow(trace_generator, &(safe_div(((64997 * global_values.trace_length)), 65536))). + pow3070 = pow58 * pow3069; // pow(trace_generator, &(safe_div(((32499 * global_values.trace_length)), 32768))). + pow3071 = pow58 * pow3070; // pow(trace_generator, &(safe_div(((64999 * global_values.trace_length)), 65536))). + pow3072 = pow58 * pow3071; // pow(trace_generator, &(safe_div(((8125 * global_values.trace_length)), 8192))). + pow3073 = pow58 * pow3072; // pow(trace_generator, &(safe_div(((65001 * global_values.trace_length)), 65536))). + pow3074 = pow58 * pow3073; // pow(trace_generator, &(safe_div(((32501 * global_values.trace_length)), 32768))). + pow3075 = pow58 * pow3074; // pow(trace_generator, &(safe_div(((65003 * global_values.trace_length)), 65536))). + pow3076 = pow58 * pow3075; // pow(trace_generator, &(safe_div(((16251 * global_values.trace_length)), 16384))). + pow3077 = pow58 * pow3076; // pow(trace_generator, &(safe_div(((65005 * global_values.trace_length)), 65536))). + pow3078 = pow58 * pow3077; // pow(trace_generator, &(safe_div(((32503 * global_values.trace_length)), 32768))). + pow3079 = pow58 * pow3078; // pow(trace_generator, &(safe_div(((65007 * global_values.trace_length)), 65536))). + pow3080 = pow58 * pow3079; // pow(trace_generator, &(safe_div(((4063 * global_values.trace_length)), 4096))). + pow3081 = pow58 * pow3080; // pow(trace_generator, &(safe_div(((65009 * global_values.trace_length)), 65536))). + pow3082 = pow58 * pow3081; // pow(trace_generator, &(safe_div(((32505 * global_values.trace_length)), 32768))). + pow3083 = pow58 * pow3082; // pow(trace_generator, &(safe_div(((65011 * global_values.trace_length)), 65536))). + pow3084 = pow58 * pow3083; // pow(trace_generator, &(safe_div(((16253 * global_values.trace_length)), 16384))). + pow3085 = pow58 * pow3084; // pow(trace_generator, &(safe_div(((65013 * global_values.trace_length)), 65536))). + pow3086 = pow58 * pow3085; // pow(trace_generator, &(safe_div(((32507 * global_values.trace_length)), 32768))). + pow3087 = pow58 * pow3086; // pow(trace_generator, &(safe_div(((65015 * global_values.trace_length)), 65536))). + pow3088 = pow58 * pow3087; // pow(trace_generator, &(safe_div(((8127 * global_values.trace_length)), 8192))). + pow3089 = pow58 * pow3088; // pow(trace_generator, &(safe_div(((65017 * global_values.trace_length)), 65536))). + pow3090 = pow58 * pow3089; // pow(trace_generator, &(safe_div(((32509 * global_values.trace_length)), 32768))). + pow3091 = pow58 * pow3090; // pow(trace_generator, &(safe_div(((65019 * global_values.trace_length)), 65536))). + pow3092 = pow58 * pow3091; // pow(trace_generator, &(safe_div(((16255 * global_values.trace_length)), 16384))). + pow3093 = pow58 * pow3092; // pow(trace_generator, &(safe_div(((65021 * global_values.trace_length)), 65536))). + pow3094 = pow67 * pow3093; // pow(trace_generator, &(safe_div(((127 * global_values.trace_length)), 128))). + pow3095 = pow58 * pow3094; // pow(trace_generator, &(safe_div(((65025 * global_values.trace_length)), 65536))). + pow3096 = pow58 * pow3095; // pow(trace_generator, &(safe_div(((32513 * global_values.trace_length)), 32768))). + pow3097 = pow58 * pow3096; // pow(trace_generator, &(safe_div(((65027 * global_values.trace_length)), 65536))). + pow3098 = pow58 * pow3097; // pow(trace_generator, &(safe_div(((16257 * global_values.trace_length)), 16384))). + pow3099 = pow58 * pow3098; // pow(trace_generator, &(safe_div(((65029 * global_values.trace_length)), 65536))). + pow3100 = pow58 * pow3099; // pow(trace_generator, &(safe_div(((32515 * global_values.trace_length)), 32768))). + pow3101 = pow58 * pow3100; // pow(trace_generator, &(safe_div(((65031 * global_values.trace_length)), 65536))). + pow3102 = pow58 * pow3101; // pow(trace_generator, &(safe_div(((8129 * global_values.trace_length)), 8192))). + pow3103 = pow58 * pow3102; // pow(trace_generator, &(safe_div(((65033 * global_values.trace_length)), 65536))). + pow3104 = pow58 * pow3103; // pow(trace_generator, &(safe_div(((32517 * global_values.trace_length)), 32768))). + pow3105 = pow58 * pow3104; // pow(trace_generator, &(safe_div(((65035 * global_values.trace_length)), 65536))). + pow3106 = pow58 * pow3105; // pow(trace_generator, &(safe_div(((16259 * global_values.trace_length)), 16384))). + pow3107 = pow58 * pow3106; // pow(trace_generator, &(safe_div(((65037 * global_values.trace_length)), 65536))). + pow3108 = pow58 * pow3107; // pow(trace_generator, &(safe_div(((32519 * global_values.trace_length)), 32768))). + pow3109 = pow58 * pow3108; // pow(trace_generator, &(safe_div(((65039 * global_values.trace_length)), 65536))). + pow3110 = pow58 * pow3109; // pow(trace_generator, &(safe_div(((4065 * global_values.trace_length)), 4096))). + pow3111 = pow58 * pow3110; // pow(trace_generator, &(safe_div(((65041 * global_values.trace_length)), 65536))). + pow3112 = pow58 * pow3111; // pow(trace_generator, &(safe_div(((32521 * global_values.trace_length)), 32768))). + pow3113 = pow58 * pow3112; // pow(trace_generator, &(safe_div(((65043 * global_values.trace_length)), 65536))). + pow3114 = pow58 * pow3113; // pow(trace_generator, &(safe_div(((16261 * global_values.trace_length)), 16384))). + pow3115 = pow58 * pow3114; // pow(trace_generator, &(safe_div(((65045 * global_values.trace_length)), 65536))). + pow3116 = pow58 * pow3115; // pow(trace_generator, &(safe_div(((32523 * global_values.trace_length)), 32768))). + pow3117 = pow58 * pow3116; // pow(trace_generator, &(safe_div(((65047 * global_values.trace_length)), 65536))). + pow3118 = pow58 * pow3117; // pow(trace_generator, &(safe_div(((8131 * global_values.trace_length)), 8192))). + pow3119 = pow58 * pow3118; // pow(trace_generator, &(safe_div(((65049 * global_values.trace_length)), 65536))). + pow3120 = pow58 * pow3119; // pow(trace_generator, &(safe_div(((32525 * global_values.trace_length)), 32768))). + pow3121 = pow58 * pow3120; // pow(trace_generator, &(safe_div(((65051 * global_values.trace_length)), 65536))). + pow3122 = pow58 * pow3121; // pow(trace_generator, &(safe_div(((16263 * global_values.trace_length)), 16384))). + pow3123 = pow58 * pow3122; // pow(trace_generator, &(safe_div(((65053 * global_values.trace_length)), 65536))). + pow3124 = pow67 * pow3123; // pow(trace_generator, &(safe_div(((2033 * global_values.trace_length)), 2048))). + pow3125 = pow58 * pow3124; // pow(trace_generator, &(safe_div(((65057 * global_values.trace_length)), 65536))). + pow3126 = pow58 * pow3125; // pow(trace_generator, &(safe_div(((32529 * global_values.trace_length)), 32768))). + pow3127 = pow58 * pow3126; // pow(trace_generator, &(safe_div(((65059 * global_values.trace_length)), 65536))). + pow3128 = pow58 * pow3127; // pow(trace_generator, &(safe_div(((16265 * global_values.trace_length)), 16384))). + pow3129 = pow58 * pow3128; // pow(trace_generator, &(safe_div(((65061 * global_values.trace_length)), 65536))). + pow3130 = pow58 * pow3129; // pow(trace_generator, &(safe_div(((32531 * global_values.trace_length)), 32768))). + pow3131 = pow58 * pow3130; // pow(trace_generator, &(safe_div(((65063 * global_values.trace_length)), 65536))). + pow3132 = pow58 * pow3131; // pow(trace_generator, &(safe_div(((8133 * global_values.trace_length)), 8192))). + pow3133 = pow58 * pow3132; // pow(trace_generator, &(safe_div(((65065 * global_values.trace_length)), 65536))). + pow3134 = pow58 * pow3133; // pow(trace_generator, &(safe_div(((32533 * global_values.trace_length)), 32768))). + pow3135 = pow58 * pow3134; // pow(trace_generator, &(safe_div(((65067 * global_values.trace_length)), 65536))). + pow3136 = pow58 * pow3135; // pow(trace_generator, &(safe_div(((16267 * global_values.trace_length)), 16384))). + pow3137 = pow58 * pow3136; // pow(trace_generator, &(safe_div(((65069 * global_values.trace_length)), 65536))). + pow3138 = pow58 * pow3137; // pow(trace_generator, &(safe_div(((32535 * global_values.trace_length)), 32768))). + pow3139 = pow58 * pow3138; // pow(trace_generator, &(safe_div(((65071 * global_values.trace_length)), 65536))). + pow3140 = pow58 * pow3139; // pow(trace_generator, &(safe_div(((4067 * global_values.trace_length)), 4096))). + pow3141 = pow58 * pow3140; // pow(trace_generator, &(safe_div(((65073 * global_values.trace_length)), 65536))). + pow3142 = pow58 * pow3141; // pow(trace_generator, &(safe_div(((32537 * global_values.trace_length)), 32768))). + pow3143 = pow58 * pow3142; // pow(trace_generator, &(safe_div(((65075 * global_values.trace_length)), 65536))). + pow3144 = pow58 * pow3143; // pow(trace_generator, &(safe_div(((16269 * global_values.trace_length)), 16384))). + pow3145 = pow58 * pow3144; // pow(trace_generator, &(safe_div(((65077 * global_values.trace_length)), 65536))). + pow3146 = pow58 * pow3145; // pow(trace_generator, &(safe_div(((32539 * global_values.trace_length)), 32768))). + pow3147 = pow58 * pow3146; // pow(trace_generator, &(safe_div(((65079 * global_values.trace_length)), 65536))). + pow3148 = pow58 * pow3147; // pow(trace_generator, &(safe_div(((8135 * global_values.trace_length)), 8192))). + pow3149 = pow58 * pow3148; // pow(trace_generator, &(safe_div(((65081 * global_values.trace_length)), 65536))). + pow3150 = pow58 * pow3149; // pow(trace_generator, &(safe_div(((32541 * global_values.trace_length)), 32768))). + pow3151 = pow58 * pow3150; // pow(trace_generator, &(safe_div(((65083 * global_values.trace_length)), 65536))). + pow3152 = pow58 * pow3151; // pow(trace_generator, &(safe_div(((16271 * global_values.trace_length)), 16384))). + pow3153 = pow58 * pow3152; // pow(trace_generator, &(safe_div(((65085 * global_values.trace_length)), 65536))). + pow3154 = pow67 * pow3153; // pow(trace_generator, &(safe_div(((1017 * global_values.trace_length)), 1024))). + pow3155 = pow58 * pow3154; // pow(trace_generator, &(safe_div(((65089 * global_values.trace_length)), 65536))). + pow3156 = pow58 * pow3155; // pow(trace_generator, &(safe_div(((32545 * global_values.trace_length)), 32768))). + pow3157 = pow58 * pow3156; // pow(trace_generator, &(safe_div(((65091 * global_values.trace_length)), 65536))). + pow3158 = pow58 * pow3157; // pow(trace_generator, &(safe_div(((16273 * global_values.trace_length)), 16384))). + pow3159 = pow58 * pow3158; // pow(trace_generator, &(safe_div(((65093 * global_values.trace_length)), 65536))). + pow3160 = pow58 * pow3159; // pow(trace_generator, &(safe_div(((32547 * global_values.trace_length)), 32768))). + pow3161 = pow58 * pow3160; // pow(trace_generator, &(safe_div(((65095 * global_values.trace_length)), 65536))). + pow3162 = pow58 * pow3161; // pow(trace_generator, &(safe_div(((8137 * global_values.trace_length)), 8192))). + pow3163 = pow58 * pow3162; // pow(trace_generator, &(safe_div(((65097 * global_values.trace_length)), 65536))). + pow3164 = pow58 * pow3163; // pow(trace_generator, &(safe_div(((32549 * global_values.trace_length)), 32768))). + pow3165 = pow58 * pow3164; // pow(trace_generator, &(safe_div(((65099 * global_values.trace_length)), 65536))). + pow3166 = pow58 * pow3165; // pow(trace_generator, &(safe_div(((16275 * global_values.trace_length)), 16384))). + pow3167 = pow58 * pow3166; // pow(trace_generator, &(safe_div(((65101 * global_values.trace_length)), 65536))). + pow3168 = pow58 * pow3167; // pow(trace_generator, &(safe_div(((32551 * global_values.trace_length)), 32768))). + pow3169 = pow58 * pow3168; // pow(trace_generator, &(safe_div(((65103 * global_values.trace_length)), 65536))). + pow3170 = pow58 * pow3169; // pow(trace_generator, &(safe_div(((4069 * global_values.trace_length)), 4096))). + pow3171 = pow58 * pow3170; // pow(trace_generator, &(safe_div(((65105 * global_values.trace_length)), 65536))). + pow3172 = pow58 * pow3171; // pow(trace_generator, &(safe_div(((32553 * global_values.trace_length)), 32768))). + pow3173 = pow58 * pow3172; // pow(trace_generator, &(safe_div(((65107 * global_values.trace_length)), 65536))). + pow3174 = pow58 * pow3173; // pow(trace_generator, &(safe_div(((16277 * global_values.trace_length)), 16384))). + pow3175 = pow58 * pow3174; // pow(trace_generator, &(safe_div(((65109 * global_values.trace_length)), 65536))). + pow3176 = pow58 * pow3175; // pow(trace_generator, &(safe_div(((32555 * global_values.trace_length)), 32768))). + pow3177 = pow58 * pow3176; // pow(trace_generator, &(safe_div(((65111 * global_values.trace_length)), 65536))). + pow3178 = pow58 * pow3177; // pow(trace_generator, &(safe_div(((8139 * global_values.trace_length)), 8192))). + pow3179 = pow58 * pow3178; // pow(trace_generator, &(safe_div(((65113 * global_values.trace_length)), 65536))). + pow3180 = pow58 * pow3179; // pow(trace_generator, &(safe_div(((32557 * global_values.trace_length)), 32768))). + pow3181 = pow58 * pow3180; // pow(trace_generator, &(safe_div(((65115 * global_values.trace_length)), 65536))). + pow3182 = pow58 * pow3181; // pow(trace_generator, &(safe_div(((16279 * global_values.trace_length)), 16384))). + pow3183 = pow58 * pow3182; // pow(trace_generator, &(safe_div(((65117 * global_values.trace_length)), 65536))). + pow3184 = pow67 * pow3183; // pow(trace_generator, &(safe_div(((2035 * global_values.trace_length)), 2048))). + pow3185 = pow58 * pow3184; // pow(trace_generator, &(safe_div(((65121 * global_values.trace_length)), 65536))). + pow3186 = pow58 * pow3185; // pow(trace_generator, &(safe_div(((32561 * global_values.trace_length)), 32768))). + pow3187 = pow58 * pow3186; // pow(trace_generator, &(safe_div(((65123 * global_values.trace_length)), 65536))). + pow3188 = pow58 * pow3187; // pow(trace_generator, &(safe_div(((16281 * global_values.trace_length)), 16384))). + pow3189 = pow58 * pow3188; // pow(trace_generator, &(safe_div(((65125 * global_values.trace_length)), 65536))). + pow3190 = pow58 * pow3189; // pow(trace_generator, &(safe_div(((32563 * global_values.trace_length)), 32768))). + pow3191 = pow58 * pow3190; // pow(trace_generator, &(safe_div(((65127 * global_values.trace_length)), 65536))). + pow3192 = pow58 * pow3191; // pow(trace_generator, &(safe_div(((8141 * global_values.trace_length)), 8192))). + pow3193 = pow58 * pow3192; // pow(trace_generator, &(safe_div(((65129 * global_values.trace_length)), 65536))). + pow3194 = pow58 * pow3193; // pow(trace_generator, &(safe_div(((32565 * global_values.trace_length)), 32768))). + pow3195 = pow58 * pow3194; // pow(trace_generator, &(safe_div(((65131 * global_values.trace_length)), 65536))). + pow3196 = pow58 * pow3195; // pow(trace_generator, &(safe_div(((16283 * global_values.trace_length)), 16384))). + pow3197 = pow58 * pow3196; // pow(trace_generator, &(safe_div(((65133 * global_values.trace_length)), 65536))). + pow3198 = pow58 * pow3197; // pow(trace_generator, &(safe_div(((32567 * global_values.trace_length)), 32768))). + pow3199 = pow58 * pow3198; // pow(trace_generator, &(safe_div(((65135 * global_values.trace_length)), 65536))). + pow3200 = pow58 * pow3199; // pow(trace_generator, &(safe_div(((4071 * global_values.trace_length)), 4096))). + pow3201 = pow58 * pow3200; // pow(trace_generator, &(safe_div(((65137 * global_values.trace_length)), 65536))). + pow3202 = pow58 * pow3201; // pow(trace_generator, &(safe_div(((32569 * global_values.trace_length)), 32768))). + pow3203 = pow58 * pow3202; // pow(trace_generator, &(safe_div(((65139 * global_values.trace_length)), 65536))). + pow3204 = pow58 * pow3203; // pow(trace_generator, &(safe_div(((16285 * global_values.trace_length)), 16384))). + pow3205 = pow58 * pow3204; // pow(trace_generator, &(safe_div(((65141 * global_values.trace_length)), 65536))). + pow3206 = pow58 * pow3205; // pow(trace_generator, &(safe_div(((32571 * global_values.trace_length)), 32768))). + pow3207 = pow58 * pow3206; // pow(trace_generator, &(safe_div(((65143 * global_values.trace_length)), 65536))). + pow3208 = pow58 * pow3207; // pow(trace_generator, &(safe_div(((8143 * global_values.trace_length)), 8192))). + pow3209 = pow58 * pow3208; // pow(trace_generator, &(safe_div(((65145 * global_values.trace_length)), 65536))). + pow3210 = pow58 * pow3209; // pow(trace_generator, &(safe_div(((32573 * global_values.trace_length)), 32768))). + pow3211 = pow58 * pow3210; // pow(trace_generator, &(safe_div(((65147 * global_values.trace_length)), 65536))). + pow3212 = pow58 * pow3211; // pow(trace_generator, &(safe_div(((16287 * global_values.trace_length)), 16384))). + pow3213 = pow58 * pow3212; // pow(trace_generator, &(safe_div(((65149 * global_values.trace_length)), 65536))). + pow3214 = pow67 * pow3213; // pow(trace_generator, &(safe_div(((509 * global_values.trace_length)), 512))). + pow3215 = pow58 * pow3214; // pow(trace_generator, &(safe_div(((65153 * global_values.trace_length)), 65536))). + pow3216 = pow58 * pow3215; // pow(trace_generator, &(safe_div(((32577 * global_values.trace_length)), 32768))). + pow3217 = pow58 * pow3216; // pow(trace_generator, &(safe_div(((65155 * global_values.trace_length)), 65536))). + pow3218 = pow58 * pow3217; // pow(trace_generator, &(safe_div(((16289 * global_values.trace_length)), 16384))). + pow3219 = pow58 * pow3218; // pow(trace_generator, &(safe_div(((65157 * global_values.trace_length)), 65536))). + pow3220 = pow58 * pow3219; // pow(trace_generator, &(safe_div(((32579 * global_values.trace_length)), 32768))). + pow3221 = pow58 * pow3220; // pow(trace_generator, &(safe_div(((65159 * global_values.trace_length)), 65536))). + pow3222 = pow58 * pow3221; // pow(trace_generator, &(safe_div(((8145 * global_values.trace_length)), 8192))). + pow3223 = pow58 * pow3222; // pow(trace_generator, &(safe_div(((65161 * global_values.trace_length)), 65536))). + pow3224 = pow58 * pow3223; // pow(trace_generator, &(safe_div(((32581 * global_values.trace_length)), 32768))). + pow3225 = pow58 * pow3224; // pow(trace_generator, &(safe_div(((65163 * global_values.trace_length)), 65536))). + pow3226 = pow58 * pow3225; // pow(trace_generator, &(safe_div(((16291 * global_values.trace_length)), 16384))). + pow3227 = pow58 * pow3226; // pow(trace_generator, &(safe_div(((65165 * global_values.trace_length)), 65536))). + pow3228 = pow58 * pow3227; // pow(trace_generator, &(safe_div(((32583 * global_values.trace_length)), 32768))). + pow3229 = pow58 * pow3228; // pow(trace_generator, &(safe_div(((65167 * global_values.trace_length)), 65536))). + pow3230 = pow58 * pow3229; // pow(trace_generator, &(safe_div(((4073 * global_values.trace_length)), 4096))). + pow3231 = pow58 * pow3230; // pow(trace_generator, &(safe_div(((65169 * global_values.trace_length)), 65536))). + pow3232 = pow58 * pow3231; // pow(trace_generator, &(safe_div(((32585 * global_values.trace_length)), 32768))). + pow3233 = pow58 * pow3232; // pow(trace_generator, &(safe_div(((65171 * global_values.trace_length)), 65536))). + pow3234 = pow58 * pow3233; // pow(trace_generator, &(safe_div(((16293 * global_values.trace_length)), 16384))). + pow3235 = pow58 * pow3234; // pow(trace_generator, &(safe_div(((65173 * global_values.trace_length)), 65536))). + pow3236 = pow58 * pow3235; // pow(trace_generator, &(safe_div(((32587 * global_values.trace_length)), 32768))). + pow3237 = pow58 * pow3236; // pow(trace_generator, &(safe_div(((65175 * global_values.trace_length)), 65536))). + pow3238 = pow58 * pow3237; // pow(trace_generator, &(safe_div(((8147 * global_values.trace_length)), 8192))). + pow3239 = pow58 * pow3238; // pow(trace_generator, &(safe_div(((65177 * global_values.trace_length)), 65536))). + pow3240 = pow58 * pow3239; // pow(trace_generator, &(safe_div(((32589 * global_values.trace_length)), 32768))). + pow3241 = pow58 * pow3240; // pow(trace_generator, &(safe_div(((65179 * global_values.trace_length)), 65536))). + pow3242 = pow58 * pow3241; // pow(trace_generator, &(safe_div(((16295 * global_values.trace_length)), 16384))). + pow3243 = pow58 * pow3242; // pow(trace_generator, &(safe_div(((65181 * global_values.trace_length)), 65536))). + pow3244 = pow67 * pow3243; // pow(trace_generator, &(safe_div(((2037 * global_values.trace_length)), 2048))). + pow3245 = pow58 * pow3244; // pow(trace_generator, &(safe_div(((65185 * global_values.trace_length)), 65536))). + pow3246 = pow58 * pow3245; // pow(trace_generator, &(safe_div(((32593 * global_values.trace_length)), 32768))). + pow3247 = pow58 * pow3246; // pow(trace_generator, &(safe_div(((65187 * global_values.trace_length)), 65536))). + pow3248 = pow58 * pow3247; // pow(trace_generator, &(safe_div(((16297 * global_values.trace_length)), 16384))). + pow3249 = pow58 * pow3248; // pow(trace_generator, &(safe_div(((65189 * global_values.trace_length)), 65536))). + pow3250 = pow58 * pow3249; // pow(trace_generator, &(safe_div(((32595 * global_values.trace_length)), 32768))). + pow3251 = pow58 * pow3250; // pow(trace_generator, &(safe_div(((65191 * global_values.trace_length)), 65536))). + pow3252 = pow58 * pow3251; // pow(trace_generator, &(safe_div(((8149 * global_values.trace_length)), 8192))). + pow3253 = pow58 * pow3252; // pow(trace_generator, &(safe_div(((65193 * global_values.trace_length)), 65536))). + pow3254 = pow58 * pow3253; // pow(trace_generator, &(safe_div(((32597 * global_values.trace_length)), 32768))). + pow3255 = pow58 * pow3254; // pow(trace_generator, &(safe_div(((65195 * global_values.trace_length)), 65536))). + pow3256 = pow58 * pow3255; // pow(trace_generator, &(safe_div(((16299 * global_values.trace_length)), 16384))). + pow3257 = pow58 * pow3256; // pow(trace_generator, &(safe_div(((65197 * global_values.trace_length)), 65536))). + pow3258 = pow58 * pow3257; // pow(trace_generator, &(safe_div(((32599 * global_values.trace_length)), 32768))). + pow3259 = pow58 * pow3258; // pow(trace_generator, &(safe_div(((65199 * global_values.trace_length)), 65536))). + pow3260 = pow58 * pow3259; // pow(trace_generator, &(safe_div(((4075 * global_values.trace_length)), 4096))). + pow3261 = pow58 * pow3260; // pow(trace_generator, &(safe_div(((65201 * global_values.trace_length)), 65536))). + pow3262 = pow58 * pow3261; // pow(trace_generator, &(safe_div(((32601 * global_values.trace_length)), 32768))). + pow3263 = pow58 * pow3262; // pow(trace_generator, &(safe_div(((65203 * global_values.trace_length)), 65536))). + pow3264 = pow58 * pow3263; // pow(trace_generator, &(safe_div(((16301 * global_values.trace_length)), 16384))). + pow3265 = pow58 * pow3264; // pow(trace_generator, &(safe_div(((65205 * global_values.trace_length)), 65536))). + pow3266 = pow58 * pow3265; // pow(trace_generator, &(safe_div(((32603 * global_values.trace_length)), 32768))). + pow3267 = pow58 * pow3266; // pow(trace_generator, &(safe_div(((65207 * global_values.trace_length)), 65536))). + pow3268 = pow58 * pow3267; // pow(trace_generator, &(safe_div(((8151 * global_values.trace_length)), 8192))). + pow3269 = pow58 * pow3268; // pow(trace_generator, &(safe_div(((65209 * global_values.trace_length)), 65536))). + pow3270 = pow58 * pow3269; // pow(trace_generator, &(safe_div(((32605 * global_values.trace_length)), 32768))). + pow3271 = pow58 * pow3270; // pow(trace_generator, &(safe_div(((65211 * global_values.trace_length)), 65536))). + pow3272 = pow58 * pow3271; // pow(trace_generator, &(safe_div(((16303 * global_values.trace_length)), 16384))). + pow3273 = pow58 * pow3272; // pow(trace_generator, &(safe_div(((65213 * global_values.trace_length)), 65536))). + pow3274 = pow67 * pow3273; // pow(trace_generator, &(safe_div(((1019 * global_values.trace_length)), 1024))). + pow3275 = pow58 * pow3274; // pow(trace_generator, &(safe_div(((65217 * global_values.trace_length)), 65536))). + pow3276 = pow58 * pow3275; // pow(trace_generator, &(safe_div(((32609 * global_values.trace_length)), 32768))). + pow3277 = pow58 * pow3276; // pow(trace_generator, &(safe_div(((65219 * global_values.trace_length)), 65536))). + pow3278 = pow58 * pow3277; // pow(trace_generator, &(safe_div(((16305 * global_values.trace_length)), 16384))). + pow3279 = pow58 * pow3278; // pow(trace_generator, &(safe_div(((65221 * global_values.trace_length)), 65536))). + pow3280 = pow58 * pow3279; // pow(trace_generator, &(safe_div(((32611 * global_values.trace_length)), 32768))). + pow3281 = pow58 * pow3280; // pow(trace_generator, &(safe_div(((65223 * global_values.trace_length)), 65536))). + pow3282 = pow58 * pow3281; // pow(trace_generator, &(safe_div(((8153 * global_values.trace_length)), 8192))). + pow3283 = pow58 * pow3282; // pow(trace_generator, &(safe_div(((65225 * global_values.trace_length)), 65536))). + pow3284 = pow58 * pow3283; // pow(trace_generator, &(safe_div(((32613 * global_values.trace_length)), 32768))). + pow3285 = pow58 * pow3284; // pow(trace_generator, &(safe_div(((65227 * global_values.trace_length)), 65536))). + pow3286 = pow58 * pow3285; // pow(trace_generator, &(safe_div(((16307 * global_values.trace_length)), 16384))). + pow3287 = pow58 * pow3286; // pow(trace_generator, &(safe_div(((65229 * global_values.trace_length)), 65536))). + pow3288 = pow58 * pow3287; // pow(trace_generator, &(safe_div(((32615 * global_values.trace_length)), 32768))). + pow3289 = pow58 * pow3288; // pow(trace_generator, &(safe_div(((65231 * global_values.trace_length)), 65536))). + pow3290 = pow58 * pow3289; // pow(trace_generator, &(safe_div(((4077 * global_values.trace_length)), 4096))). + pow3291 = pow58 * pow3290; // pow(trace_generator, &(safe_div(((65233 * global_values.trace_length)), 65536))). + pow3292 = pow58 * pow3291; // pow(trace_generator, &(safe_div(((32617 * global_values.trace_length)), 32768))). + pow3293 = pow58 * pow3292; // pow(trace_generator, &(safe_div(((65235 * global_values.trace_length)), 65536))). + pow3294 = pow58 * pow3293; // pow(trace_generator, &(safe_div(((16309 * global_values.trace_length)), 16384))). + pow3295 = pow58 * pow3294; // pow(trace_generator, &(safe_div(((65237 * global_values.trace_length)), 65536))). + pow3296 = pow58 * pow3295; // pow(trace_generator, &(safe_div(((32619 * global_values.trace_length)), 32768))). + pow3297 = pow58 * pow3296; // pow(trace_generator, &(safe_div(((65239 * global_values.trace_length)), 65536))). + pow3298 = pow58 * pow3297; // pow(trace_generator, &(safe_div(((8155 * global_values.trace_length)), 8192))). + pow3299 = pow58 * pow3298; // pow(trace_generator, &(safe_div(((65241 * global_values.trace_length)), 65536))). + pow3300 = pow58 * pow3299; // pow(trace_generator, &(safe_div(((32621 * global_values.trace_length)), 32768))). + pow3301 = pow58 * pow3300; // pow(trace_generator, &(safe_div(((65243 * global_values.trace_length)), 65536))). + pow3302 = pow58 * pow3301; // pow(trace_generator, &(safe_div(((16311 * global_values.trace_length)), 16384))). + pow3303 = pow58 * pow3302; // pow(trace_generator, &(safe_div(((65245 * global_values.trace_length)), 65536))). + pow3304 = pow67 * pow3303; // pow(trace_generator, &(safe_div(((2039 * global_values.trace_length)), 2048))). + pow3305 = pow58 * pow3304; // pow(trace_generator, &(safe_div(((65249 * global_values.trace_length)), 65536))). + pow3306 = pow58 * pow3305; // pow(trace_generator, &(safe_div(((32625 * global_values.trace_length)), 32768))). + pow3307 = pow58 * pow3306; // pow(trace_generator, &(safe_div(((65251 * global_values.trace_length)), 65536))). + pow3308 = pow58 * pow3307; // pow(trace_generator, &(safe_div(((16313 * global_values.trace_length)), 16384))). + pow3309 = pow58 * pow3308; // pow(trace_generator, &(safe_div(((65253 * global_values.trace_length)), 65536))). + pow3310 = pow58 * pow3309; // pow(trace_generator, &(safe_div(((32627 * global_values.trace_length)), 32768))). + pow3311 = pow58 * pow3310; // pow(trace_generator, &(safe_div(((65255 * global_values.trace_length)), 65536))). + pow3312 = pow58 * pow3311; // pow(trace_generator, &(safe_div(((8157 * global_values.trace_length)), 8192))). + pow3313 = pow58 * pow3312; // pow(trace_generator, &(safe_div(((65257 * global_values.trace_length)), 65536))). + pow3314 = pow58 * pow3313; // pow(trace_generator, &(safe_div(((32629 * global_values.trace_length)), 32768))). + pow3315 = pow58 * pow3314; // pow(trace_generator, &(safe_div(((65259 * global_values.trace_length)), 65536))). + pow3316 = pow58 * pow3315; // pow(trace_generator, &(safe_div(((16315 * global_values.trace_length)), 16384))). + pow3317 = pow58 * pow3316; // pow(trace_generator, &(safe_div(((65261 * global_values.trace_length)), 65536))). + pow3318 = pow58 * pow3317; // pow(trace_generator, &(safe_div(((32631 * global_values.trace_length)), 32768))). + pow3319 = pow58 * pow3318; // pow(trace_generator, &(safe_div(((65263 * global_values.trace_length)), 65536))). + pow3320 = pow58 * pow3319; // pow(trace_generator, &(safe_div(((4079 * global_values.trace_length)), 4096))). + pow3321 = pow58 * pow3320; // pow(trace_generator, &(safe_div(((65265 * global_values.trace_length)), 65536))). + pow3322 = pow58 * pow3321; // pow(trace_generator, &(safe_div(((32633 * global_values.trace_length)), 32768))). + pow3323 = pow58 * pow3322; // pow(trace_generator, &(safe_div(((65267 * global_values.trace_length)), 65536))). + pow3324 = pow58 * pow3323; // pow(trace_generator, &(safe_div(((16317 * global_values.trace_length)), 16384))). + pow3325 = pow58 * pow3324; // pow(trace_generator, &(safe_div(((65269 * global_values.trace_length)), 65536))). + pow3326 = pow58 * pow3325; // pow(trace_generator, &(safe_div(((32635 * global_values.trace_length)), 32768))). + pow3327 = pow58 * pow3326; // pow(trace_generator, &(safe_div(((65271 * global_values.trace_length)), 65536))). + pow3328 = pow58 * pow3327; // pow(trace_generator, &(safe_div(((8159 * global_values.trace_length)), 8192))). + pow3329 = pow58 * pow3328; // pow(trace_generator, &(safe_div(((65273 * global_values.trace_length)), 65536))). + pow3330 = pow58 * pow3329; // pow(trace_generator, &(safe_div(((32637 * global_values.trace_length)), 32768))). + pow3331 = pow58 * pow3330; // pow(trace_generator, &(safe_div(((65275 * global_values.trace_length)), 65536))). + pow3332 = pow58 * pow3331; // pow(trace_generator, &(safe_div(((16319 * global_values.trace_length)), 16384))). + pow3333 = pow58 * pow3332; // pow(trace_generator, &(safe_div(((65277 * global_values.trace_length)), 65536))). + pow3334 = pow67 * pow3333; // pow(trace_generator, &(safe_div(((255 * global_values.trace_length)), 256))). + pow3335 = pow58 * pow3334; // pow(trace_generator, &(safe_div(((65281 * global_values.trace_length)), 65536))). + pow3336 = pow58 * pow3335; // pow(trace_generator, &(safe_div(((32641 * global_values.trace_length)), 32768))). + pow3337 = pow58 * pow3336; // pow(trace_generator, &(safe_div(((65283 * global_values.trace_length)), 65536))). + pow3338 = pow58 * pow3337; // pow(trace_generator, &(safe_div(((16321 * global_values.trace_length)), 16384))). + pow3339 = pow58 * pow3338; // pow(trace_generator, &(safe_div(((65285 * global_values.trace_length)), 65536))). + pow3340 = pow58 * pow3339; // pow(trace_generator, &(safe_div(((32643 * global_values.trace_length)), 32768))). + pow3341 = pow58 * pow3340; // pow(trace_generator, &(safe_div(((65287 * global_values.trace_length)), 65536))). + pow3342 = pow58 * pow3341; // pow(trace_generator, &(safe_div(((8161 * global_values.trace_length)), 8192))). + pow3343 = pow58 * pow3342; // pow(trace_generator, &(safe_div(((65289 * global_values.trace_length)), 65536))). + pow3344 = pow58 * pow3343; // pow(trace_generator, &(safe_div(((32645 * global_values.trace_length)), 32768))). + pow3345 = pow58 * pow3344; // pow(trace_generator, &(safe_div(((65291 * global_values.trace_length)), 65536))). + pow3346 = pow58 * pow3345; // pow(trace_generator, &(safe_div(((16323 * global_values.trace_length)), 16384))). + pow3347 = pow58 * pow3346; // pow(trace_generator, &(safe_div(((65293 * global_values.trace_length)), 65536))). + pow3348 = pow58 * pow3347; // pow(trace_generator, &(safe_div(((32647 * global_values.trace_length)), 32768))). + pow3349 = pow58 * pow3348; // pow(trace_generator, &(safe_div(((65295 * global_values.trace_length)), 65536))). + pow3350 = pow58 * pow3349; // pow(trace_generator, &(safe_div(((4081 * global_values.trace_length)), 4096))). + pow3351 = pow58 * pow3350; // pow(trace_generator, &(safe_div(((65297 * global_values.trace_length)), 65536))). + pow3352 = pow58 * pow3351; // pow(trace_generator, &(safe_div(((32649 * global_values.trace_length)), 32768))). + pow3353 = pow58 * pow3352; // pow(trace_generator, &(safe_div(((65299 * global_values.trace_length)), 65536))). + pow3354 = pow58 * pow3353; // pow(trace_generator, &(safe_div(((16325 * global_values.trace_length)), 16384))). + pow3355 = pow58 * pow3354; // pow(trace_generator, &(safe_div(((65301 * global_values.trace_length)), 65536))). + pow3356 = pow58 * pow3355; // pow(trace_generator, &(safe_div(((32651 * global_values.trace_length)), 32768))). + pow3357 = pow58 * pow3356; // pow(trace_generator, &(safe_div(((65303 * global_values.trace_length)), 65536))). + pow3358 = pow58 * pow3357; // pow(trace_generator, &(safe_div(((8163 * global_values.trace_length)), 8192))). + pow3359 = pow58 * pow3358; // pow(trace_generator, &(safe_div(((65305 * global_values.trace_length)), 65536))). + pow3360 = pow58 * pow3359; // pow(trace_generator, &(safe_div(((32653 * global_values.trace_length)), 32768))). + pow3361 = pow58 * pow3360; // pow(trace_generator, &(safe_div(((65307 * global_values.trace_length)), 65536))). + pow3362 = pow58 * pow3361; // pow(trace_generator, &(safe_div(((16327 * global_values.trace_length)), 16384))). + pow3363 = pow58 * pow3362; // pow(trace_generator, &(safe_div(((65309 * global_values.trace_length)), 65536))). + pow3364 = pow67 * pow3363; // pow(trace_generator, &(safe_div(((2041 * global_values.trace_length)), 2048))). + pow3365 = pow58 * pow3364; // pow(trace_generator, &(safe_div(((65313 * global_values.trace_length)), 65536))). + pow3366 = pow58 * pow3365; // pow(trace_generator, &(safe_div(((32657 * global_values.trace_length)), 32768))). + pow3367 = pow58 * pow3366; // pow(trace_generator, &(safe_div(((65315 * global_values.trace_length)), 65536))). + pow3368 = pow58 * pow3367; // pow(trace_generator, &(safe_div(((16329 * global_values.trace_length)), 16384))). + pow3369 = pow58 * pow3368; // pow(trace_generator, &(safe_div(((65317 * global_values.trace_length)), 65536))). + pow3370 = pow58 * pow3369; // pow(trace_generator, &(safe_div(((32659 * global_values.trace_length)), 32768))). + pow3371 = pow58 * pow3370; // pow(trace_generator, &(safe_div(((65319 * global_values.trace_length)), 65536))). + pow3372 = pow58 * pow3371; // pow(trace_generator, &(safe_div(((8165 * global_values.trace_length)), 8192))). + pow3373 = pow58 * pow3372; // pow(trace_generator, &(safe_div(((65321 * global_values.trace_length)), 65536))). + pow3374 = pow58 * pow3373; // pow(trace_generator, &(safe_div(((32661 * global_values.trace_length)), 32768))). + pow3375 = pow58 * pow3374; // pow(trace_generator, &(safe_div(((65323 * global_values.trace_length)), 65536))). + pow3376 = pow58 * pow3375; // pow(trace_generator, &(safe_div(((16331 * global_values.trace_length)), 16384))). + pow3377 = pow58 * pow3376; // pow(trace_generator, &(safe_div(((65325 * global_values.trace_length)), 65536))). + pow3378 = pow58 * pow3377; // pow(trace_generator, &(safe_div(((32663 * global_values.trace_length)), 32768))). + pow3379 = pow58 * pow3378; // pow(trace_generator, &(safe_div(((65327 * global_values.trace_length)), 65536))). + pow3380 = pow58 * pow3379; // pow(trace_generator, &(safe_div(((4083 * global_values.trace_length)), 4096))). + pow3381 = pow58 * pow3380; // pow(trace_generator, &(safe_div(((65329 * global_values.trace_length)), 65536))). + pow3382 = pow58 * pow3381; // pow(trace_generator, &(safe_div(((32665 * global_values.trace_length)), 32768))). + pow3383 = pow58 * pow3382; // pow(trace_generator, &(safe_div(((65331 * global_values.trace_length)), 65536))). + pow3384 = pow58 * pow3383; // pow(trace_generator, &(safe_div(((16333 * global_values.trace_length)), 16384))). + pow3385 = pow58 * pow3384; // pow(trace_generator, &(safe_div(((65333 * global_values.trace_length)), 65536))). + pow3386 = pow58 * pow3385; // pow(trace_generator, &(safe_div(((32667 * global_values.trace_length)), 32768))). + pow3387 = pow58 * pow3386; // pow(trace_generator, &(safe_div(((65335 * global_values.trace_length)), 65536))). + pow3388 = pow58 * pow3387; // pow(trace_generator, &(safe_div(((8167 * global_values.trace_length)), 8192))). + pow3389 = pow58 * pow3388; // pow(trace_generator, &(safe_div(((65337 * global_values.trace_length)), 65536))). + pow3390 = pow58 * pow3389; // pow(trace_generator, &(safe_div(((32669 * global_values.trace_length)), 32768))). + pow3391 = pow58 * pow3390; // pow(trace_generator, &(safe_div(((65339 * global_values.trace_length)), 65536))). + pow3392 = pow58 * pow3391; // pow(trace_generator, &(safe_div(((16335 * global_values.trace_length)), 16384))). + pow3393 = pow58 * pow3392; // pow(trace_generator, &(safe_div(((65341 * global_values.trace_length)), 65536))). + pow3394 = pow67 * pow3393; // pow(trace_generator, &(safe_div(((1021 * global_values.trace_length)), 1024))). + + domain37 = pow49 - 1; + domain38 = pow48 - 1; + let mut temp = pow48 - pow850; + domain39 = temp * (domain38); + domain40 = pow47 - 1; + temp = pow46 - 1; + temp *= pow46 - pow126; + temp *= pow46 - pow186; + temp *= pow46 - pow246; + temp *= pow46 - pow306; + temp *= pow46 - pow366; + temp *= pow46 - pow426; + domain41 = temp * (pow46 - pow486); + temp = pow46 - pow546; + temp *= pow46 - pow606; + temp *= pow46 - pow666; + temp *= pow46 - pow726; + temp *= pow46 - pow786; + temp *= pow46 - pow816; + temp *= pow46 - pow817; + temp *= pow46 - pow818; + temp *= pow46 - pow819; + temp *= pow46 - pow843; + temp *= pow46 - pow844; + temp *= pow46 - pow845; + temp *= pow46 - pow846; + temp *= pow46 - pow847; + temp *= pow46 - pow848; + temp *= pow46 - pow849; + domain42 = temp * (domain41); + temp = pow46 - pow1086; + temp *= pow46 - pow1110; + temp *= pow46 - pow1111; + temp *= pow46 - pow1112; + temp *= pow46 - pow1113; + temp *= pow46 - pow1114; + temp *= pow46 - pow1115; + temp *= pow46 - pow1116; + temp *= pow46 - pow1117; + temp *= pow46 - pow1118; + temp *= pow46 - pow1119; + temp *= pow46 - pow1120; + temp *= pow46 - pow1121; + temp *= pow46 - pow1122; + temp *= pow46 - pow1123; + temp *= pow46 - pow1124; + temp *= pow46 - pow1125; + temp *= pow46 - pow1149; + temp *= pow46 - pow1150; + temp *= pow46 - pow1151; + temp *= pow46 - pow1152; + temp *= pow46 - pow1153; + temp *= pow46 - pow1154; + temp *= pow46 - pow1155; + temp *= pow46 - pow1392; + temp *= pow46 - pow1416; + temp *= pow46 - pow1417; + temp *= pow46 - pow1418; + temp *= pow46 - pow1419; + temp *= pow46 - pow1420; + temp *= pow46 - pow1421; + temp *= pow46 - pow1422; + temp *= pow46 - pow1423; + temp *= pow46 - pow1424; + temp *= pow46 - pow1425; + temp *= pow46 - pow1426; + temp *= pow46 - pow1427; + temp *= pow46 - pow1428; + temp *= pow46 - pow1429; + temp *= pow46 - pow1430; + temp *= pow46 - pow1431; + temp *= pow46 - pow1455; + temp *= pow46 - pow1456; + temp *= pow46 - pow1457; + temp *= pow46 - pow1458; + temp *= pow46 - pow1459; + temp *= pow46 - pow1460; + temp *= pow46 - pow1461; + temp *= pow46 - pow1650; + temp *= pow46 - pow1651; + temp *= pow46 - pow1652; + temp *= pow46 - pow1653; + temp *= pow46 - pow1654; + temp *= pow46 - pow1655; + temp *= pow46 - pow1656; + temp *= pow46 - pow1657; + temp *= pow46 - pow1658; + temp *= pow46 - pow1659; + temp *= pow46 - pow1660; + temp *= pow46 - pow1661; + temp *= pow46 - pow1662; + temp *= pow46 - pow1663; + temp *= pow46 - pow1664; + temp *= pow46 - pow1665; + temp *= pow46 - pow1666; + temp *= pow46 - pow1690; + temp *= pow46 - pow1691; + temp *= pow46 - pow1692; + temp *= pow46 - pow1693; + temp *= pow46 - pow1694; + temp *= pow46 - pow1695; + temp *= pow46 - pow1696; + temp *= pow46 - pow1841; + temp *= pow46 - pow1865; + temp *= pow46 - pow1866; + temp *= pow46 - pow1867; + temp *= pow46 - pow1868; + temp *= pow46 - pow1869; + temp *= pow46 - pow1870; + temp *= pow46 - pow1871; + temp *= pow46 - pow1872; + temp *= pow46 - pow1873; + temp *= pow46 - pow1874; + temp *= pow46 - pow1875; + temp *= pow46 - pow1876; + temp *= pow46 - pow1877; + temp *= pow46 - pow1878; + temp *= pow46 - pow1879; + temp *= pow46 - pow1880; + temp *= pow46 - pow1904; + temp *= pow46 - pow1905; + temp *= pow46 - pow1906; + temp *= pow46 - pow1907; + temp *= pow46 - pow1908; + temp *= pow46 - pow1909; + temp *= pow46 - pow1910; + domain43 = temp * (domain42); + temp = pow46 - pow850; + temp *= pow46 - pow874; + temp *= pow46 - pow875; + temp *= pow46 - pow876; + temp *= pow46 - pow877; + temp *= pow46 - pow878; + temp *= pow46 - pow879; + temp *= pow46 - pow880; + temp *= pow46 - pow881; + temp *= pow46 - pow882; + temp *= pow46 - pow883; + temp *= pow46 - pow884; + temp *= pow46 - pow885; + temp *= pow46 - pow886; + temp *= pow46 - pow887; + temp *= pow46 - pow888; + temp *= pow46 - pow889; + temp *= pow46 - pow913; + temp *= pow46 - pow914; + temp *= pow46 - pow915; + temp *= pow46 - pow916; + temp *= pow46 - pow917; + temp *= pow46 - pow918; + temp *= pow46 - pow919; + temp *= pow46 - pow920; + temp *= pow46 - pow944; + temp *= pow46 - pow945; + temp *= pow46 - pow946; + temp *= pow46 - pow947; + temp *= pow46 - pow948; + temp *= pow46 - pow949; + temp *= pow46 - pow950; + temp *= pow46 - pow951; + temp *= pow46 - pow952; + temp *= pow46 - pow953; + temp *= pow46 - pow954; + temp *= pow46 - pow955; + temp *= pow46 - pow956; + temp *= pow46 - pow957; + temp *= pow46 - pow958; + temp *= pow46 - pow959; + temp *= pow46 - pow983; + temp *= pow46 - pow984; + temp *= pow46 - pow985; + temp *= pow46 - pow986; + temp *= pow46 - pow987; + temp *= pow46 - pow988; + temp *= pow46 - pow989; + temp *= pow46 - pow1156; + temp *= pow46 - pow1180; + temp *= pow46 - pow1181; + temp *= pow46 - pow1182; + temp *= pow46 - pow1183; + temp *= pow46 - pow1184; + temp *= pow46 - pow1185; + temp *= pow46 - pow1186; + temp *= pow46 - pow1187; + temp *= pow46 - pow1188; + temp *= pow46 - pow1189; + temp *= pow46 - pow1190; + temp *= pow46 - pow1191; + temp *= pow46 - pow1192; + temp *= pow46 - pow1193; + temp *= pow46 - pow1194; + temp *= pow46 - pow1195; + temp *= pow46 - pow1219; + temp *= pow46 - pow1220; + temp *= pow46 - pow1221; + temp *= pow46 - pow1222; + temp *= pow46 - pow1223; + temp *= pow46 - pow1224; + temp *= pow46 - pow1225; + temp *= pow46 - pow1226; + temp *= pow46 - pow1250; + temp *= pow46 - pow1251; + temp *= pow46 - pow1252; + temp *= pow46 - pow1253; + temp *= pow46 - pow1254; + temp *= pow46 - pow1255; + temp *= pow46 - pow1256; + temp *= pow46 - pow1257; + temp *= pow46 - pow1258; + temp *= pow46 - pow1259; + temp *= pow46 - pow1260; + temp *= pow46 - pow1261; + temp *= pow46 - pow1262; + temp *= pow46 - pow1263; + temp *= pow46 - pow1264; + temp *= pow46 - pow1265; + temp *= pow46 - pow1289; + temp *= pow46 - pow1290; + temp *= pow46 - pow1291; + temp *= pow46 - pow1292; + temp *= pow46 - pow1293; + temp *= pow46 - pow1294; + temp *= pow46 - pow1295; + temp *= pow46 - pow1462; + temp *= pow46 - pow1486; + temp *= pow46 - pow1487; + temp *= pow46 - pow1488; + temp *= pow46 - pow1489; + temp *= pow46 - pow1490; + temp *= pow46 - pow1491; + temp *= pow46 - pow1492; + temp *= pow46 - pow1493; + temp *= pow46 - pow1494; + temp *= pow46 - pow1495; + temp *= pow46 - pow1496; + temp *= pow46 - pow1497; + temp *= pow46 - pow1498; + temp *= pow46 - pow1499; + temp *= pow46 - pow1500; + temp *= pow46 - pow1501; + temp *= pow46 - pow1525; + temp *= pow46 - pow1526; + temp *= pow46 - pow1527; + temp *= pow46 - pow1528; + temp *= pow46 - pow1529; + temp *= pow46 - pow1530; + temp *= pow46 - pow1531; + temp *= pow46 - pow1532; + temp *= pow46 - pow1556; + temp *= pow46 - pow1557; + temp *= pow46 - pow1558; + temp *= pow46 - pow1559; + temp *= pow46 - pow1560; + temp *= pow46 - pow1561; + temp *= pow46 - pow1562; + temp *= pow46 - pow1563; + temp *= pow46 - pow1564; + temp *= pow46 - pow1565; + temp *= pow46 - pow1566; + temp *= pow46 - pow1567; + temp *= pow46 - pow1568; + temp *= pow46 - pow1569; + temp *= pow46 - pow1570; + temp *= pow46 - pow1571; + temp *= pow46 - pow1595; + temp *= pow46 - pow1596; + temp *= pow46 - pow1597; + temp *= pow46 - pow1598; + temp *= pow46 - pow1599; + temp *= pow46 - pow1600; + temp *= pow46 - pow1601; + temp *= pow46 - pow1697; + temp *= pow46 - pow1698; + temp *= pow46 - pow1699; + temp *= pow46 - pow1700; + temp *= pow46 - pow1701; + temp *= pow46 - pow1702; + temp *= pow46 - pow1703; + temp *= pow46 - pow1704; + temp *= pow46 - pow1705; + temp *= pow46 - pow1706; + temp *= pow46 - pow1707; + temp *= pow46 - pow1708; + temp *= pow46 - pow1709; + temp *= pow46 - pow1710; + temp *= pow46 - pow1711; + temp *= pow46 - pow1712; + temp *= pow46 - pow1713; + temp *= pow46 - pow1714; + temp *= pow46 - pow1715; + temp *= pow46 - pow1716; + temp *= pow46 - pow1717; + temp *= pow46 - pow1718; + temp *= pow46 - pow1719; + temp *= pow46 - pow1720; + temp *= pow46 - pow1721; + temp *= pow46 - pow1722; + temp *= pow46 - pow1723; + temp *= pow46 - pow1724; + temp *= pow46 - pow1725; + temp *= pow46 - pow1726; + temp *= pow46 - pow1727; + temp *= pow46 - pow1728; + temp *= pow46 - pow1729; + temp *= pow46 - pow1730; + temp *= pow46 - pow1731; + temp *= pow46 - pow1732; + temp *= pow46 - pow1733; + temp *= pow46 - pow1734; + temp *= pow46 - pow1735; + temp *= pow46 - pow1736; + temp *= pow46 - pow1737; + temp *= pow46 - pow1738; + temp *= pow46 - pow1739; + temp *= pow46 - pow1740; + temp *= pow46 - pow1741; + temp *= pow46 - pow1742; + temp *= pow46 - pow1743; + temp *= pow46 - pow1744; + temp *= pow46 - pow1911; + temp *= pow46 - pow1935; + temp *= pow46 - pow1936; + temp *= pow46 - pow1937; + temp *= pow46 - pow1938; + temp *= pow46 - pow1939; + temp *= pow46 - pow1940; + temp *= pow46 - pow1941; + temp *= pow46 - pow1942; + temp *= pow46 - pow1943; + temp *= pow46 - pow1944; + temp *= pow46 - pow1945; + temp *= pow46 - pow1946; + temp *= pow46 - pow1947; + temp *= pow46 - pow1948; + temp *= pow46 - pow1949; + temp *= pow46 - pow1950; + temp *= pow46 - pow1974; + temp *= pow46 - pow1975; + temp *= pow46 - pow1976; + temp *= pow46 - pow1977; + temp *= pow46 - pow1978; + temp *= pow46 - pow1979; + temp *= pow46 - pow1980; + temp *= pow46 - pow1981; + temp *= pow46 - pow2005; + temp *= pow46 - pow2006; + temp *= pow46 - pow2007; + temp *= pow46 - pow2008; + temp *= pow46 - pow2009; + temp *= pow46 - pow2010; + temp *= pow46 - pow2011; + temp *= pow46 - pow2012; + temp *= pow46 - pow2013; + temp *= pow46 - pow2014; + temp *= pow46 - pow2015; + temp *= pow46 - pow2016; + temp *= pow46 - pow2017; + temp *= pow46 - pow2018; + temp *= pow46 - pow2019; + temp *= pow46 - pow2020; + temp *= pow46 - pow2044; + temp *= pow46 - pow2045; + temp *= pow46 - pow2046; + temp *= pow46 - pow2047; + temp *= pow46 - pow2048; + temp *= pow46 - pow2049; + temp *= pow46 - pow2050; + domain44 = temp * (domain43); + domain45 = pow45 - 1; + domain46 = pow44 - 1; + temp = pow44 - pow58; + domain47 = temp * (domain46); + temp = pow44 - pow51; + temp *= pow44 - pow52; + temp *= pow44 - pow53; + temp *= pow44 - pow54; + temp *= pow44 - pow55; + temp *= pow44 - pow56; + temp *= pow44 - pow57; + temp *= pow44 - pow59; + temp *= pow44 - pow60; + temp *= pow44 - pow61; + temp *= pow44 - pow62; + temp *= pow44 - pow63; + temp *= pow44 - pow64; + temp *= pow44 - pow65; + domain48 = temp * (domain47); + temp = pow44 - pow66; + temp *= pow44 - pow67; + temp *= pow44 - pow68; + temp *= pow44 - pow69; + temp *= pow44 - pow70; + temp *= pow44 - pow71; + domain49 = temp * (domain47); + temp = pow44 - pow72; + temp *= pow44 - pow73; + temp *= pow44 - pow74; + temp *= pow44 - pow75; + temp *= pow44 - pow76; + temp *= pow44 - pow77; + temp *= pow44 - pow78; + temp *= pow44 - pow79; + temp *= pow44 - pow80; + temp *= pow44 - pow81; + temp *= pow44 - pow82; + temp *= pow44 - pow83; + temp *= pow44 - pow84; + temp *= pow44 - pow85; + temp *= pow44 - pow86; + temp *= pow44 - pow87; + domain50 = temp * (domain49); + temp = pow44 - pow88; + temp *= pow44 - pow89; + temp *= pow44 - pow90; + temp *= pow44 - pow91; + temp *= pow44 - pow92; + temp *= pow44 - pow93; + domain51 = temp * (domain50); + temp = pow44 - pow94; + temp *= pow44 - pow95; + domain52 = temp * (domain51); + temp = pow44 - pow96; + temp *= pow44 - pow126; + temp *= pow44 - pow156; + temp *= pow44 - pow186; + temp *= pow44 - pow216; + temp *= pow44 - pow246; + temp *= pow44 - pow276; + temp *= pow44 - pow306; + temp *= pow44 - pow336; + temp *= pow44 - pow366; + temp *= pow44 - pow396; + temp *= pow44 - pow426; + temp *= pow44 - pow456; + temp *= pow44 - pow486; + temp *= pow44 - pow516; + temp *= pow44 - pow546; + temp *= pow44 - pow576; + temp *= pow44 - pow606; + temp *= pow44 - pow636; + temp *= pow44 - pow666; + temp *= pow44 - pow696; + temp *= pow44 - pow726; + temp *= pow44 - pow756; + domain53 = temp * (pow44 - pow786); + temp = pow44 - pow97; + temp *= pow44 - pow127; + temp *= pow44 - pow157; + temp *= pow44 - pow187; + temp *= pow44 - pow217; + temp *= pow44 - pow247; + temp *= pow44 - pow277; + temp *= pow44 - pow307; + temp *= pow44 - pow337; + temp *= pow44 - pow367; + temp *= pow44 - pow397; + temp *= pow44 - pow427; + temp *= pow44 - pow457; + temp *= pow44 - pow487; + temp *= pow44 - pow517; + temp *= pow44 - pow547; + temp *= pow44 - pow577; + temp *= pow44 - pow607; + temp *= pow44 - pow637; + temp *= pow44 - pow667; + temp *= pow44 - pow697; + temp *= pow44 - pow727; + temp *= pow44 - pow757; + temp *= pow44 - pow787; + domain54 = temp * (domain53); + temp = domain47; + domain55 = temp * (domain54); + temp = pow44 - pow98; + temp *= pow44 - pow99; + temp *= pow44 - pow100; + temp *= pow44 - pow101; + temp *= pow44 - pow102; + temp *= pow44 - pow103; + temp *= pow44 - pow104; + temp *= pow44 - pow105; + temp *= pow44 - pow106; + temp *= pow44 - pow107; + temp *= pow44 - pow108; + temp *= pow44 - pow109; + temp *= pow44 - pow110; + temp *= pow44 - pow111; + temp *= pow44 - pow112; + temp *= pow44 - pow113; + temp *= pow44 - pow114; + temp *= pow44 - pow115; + temp *= pow44 - pow116; + temp *= pow44 - pow117; + temp *= pow44 - pow118; + temp *= pow44 - pow119; + temp *= pow44 - pow120; + temp *= pow44 - pow121; + temp *= pow44 - pow122; + temp *= pow44 - pow123; + temp *= pow44 - pow124; + temp *= pow44 - pow125; + temp *= pow44 - pow128; + temp *= pow44 - pow129; + temp *= pow44 - pow130; + temp *= pow44 - pow131; + temp *= pow44 - pow132; + temp *= pow44 - pow133; + temp *= pow44 - pow134; + temp *= pow44 - pow135; + temp *= pow44 - pow136; + temp *= pow44 - pow137; + temp *= pow44 - pow138; + temp *= pow44 - pow139; + temp *= pow44 - pow140; + temp *= pow44 - pow141; + temp *= pow44 - pow142; + temp *= pow44 - pow143; + temp *= pow44 - pow144; + temp *= pow44 - pow145; + temp *= pow44 - pow146; + temp *= pow44 - pow147; + temp *= pow44 - pow148; + temp *= pow44 - pow149; + temp *= pow44 - pow150; + temp *= pow44 - pow151; + temp *= pow44 - pow152; + temp *= pow44 - pow153; + temp *= pow44 - pow154; + temp *= pow44 - pow155; + temp *= pow44 - pow158; + temp *= pow44 - pow159; + temp *= pow44 - pow160; + temp *= pow44 - pow161; + temp *= pow44 - pow162; + temp *= pow44 - pow163; + temp *= pow44 - pow164; + temp *= pow44 - pow165; + temp *= pow44 - pow166; + temp *= pow44 - pow167; + temp *= pow44 - pow168; + temp *= pow44 - pow169; + temp *= pow44 - pow170; + temp *= pow44 - pow171; + temp *= pow44 - pow172; + temp *= pow44 - pow173; + temp *= pow44 - pow174; + temp *= pow44 - pow175; + temp *= pow44 - pow176; + temp *= pow44 - pow177; + temp *= pow44 - pow178; + temp *= pow44 - pow179; + temp *= pow44 - pow180; + temp *= pow44 - pow181; + temp *= pow44 - pow182; + temp *= pow44 - pow183; + temp *= pow44 - pow184; + temp *= pow44 - pow185; + temp *= pow44 - pow188; + temp *= pow44 - pow189; + temp *= pow44 - pow190; + temp *= pow44 - pow191; + temp *= pow44 - pow192; + temp *= pow44 - pow193; + temp *= pow44 - pow194; + temp *= pow44 - pow195; + temp *= pow44 - pow196; + temp *= pow44 - pow197; + temp *= pow44 - pow198; + temp *= pow44 - pow199; + temp *= pow44 - pow200; + temp *= pow44 - pow201; + temp *= pow44 - pow202; + temp *= pow44 - pow203; + temp *= pow44 - pow204; + temp *= pow44 - pow205; + temp *= pow44 - pow206; + temp *= pow44 - pow207; + temp *= pow44 - pow208; + temp *= pow44 - pow209; + temp *= pow44 - pow210; + temp *= pow44 - pow211; + temp *= pow44 - pow212; + temp *= pow44 - pow213; + temp *= pow44 - pow214; + temp *= pow44 - pow215; + temp *= pow44 - pow218; + temp *= pow44 - pow219; + temp *= pow44 - pow220; + temp *= pow44 - pow221; + temp *= pow44 - pow222; + temp *= pow44 - pow223; + temp *= pow44 - pow224; + temp *= pow44 - pow225; + temp *= pow44 - pow226; + temp *= pow44 - pow227; + temp *= pow44 - pow228; + temp *= pow44 - pow229; + temp *= pow44 - pow230; + temp *= pow44 - pow231; + temp *= pow44 - pow232; + temp *= pow44 - pow233; + temp *= pow44 - pow234; + temp *= pow44 - pow235; + temp *= pow44 - pow236; + temp *= pow44 - pow237; + temp *= pow44 - pow238; + temp *= pow44 - pow239; + temp *= pow44 - pow240; + temp *= pow44 - pow241; + temp *= pow44 - pow242; + temp *= pow44 - pow243; + temp *= pow44 - pow244; + temp *= pow44 - pow245; + temp *= pow44 - pow248; + temp *= pow44 - pow249; + temp *= pow44 - pow250; + temp *= pow44 - pow251; + temp *= pow44 - pow252; + temp *= pow44 - pow253; + temp *= pow44 - pow254; + temp *= pow44 - pow255; + temp *= pow44 - pow256; + temp *= pow44 - pow257; + temp *= pow44 - pow258; + temp *= pow44 - pow259; + temp *= pow44 - pow260; + temp *= pow44 - pow261; + temp *= pow44 - pow262; + temp *= pow44 - pow263; + temp *= pow44 - pow264; + temp *= pow44 - pow265; + temp *= pow44 - pow266; + temp *= pow44 - pow267; + temp *= pow44 - pow268; + temp *= pow44 - pow269; + temp *= pow44 - pow270; + temp *= pow44 - pow271; + temp *= pow44 - pow272; + temp *= pow44 - pow273; + temp *= pow44 - pow274; + temp *= pow44 - pow275; + temp *= pow44 - pow278; + temp *= pow44 - pow279; + temp *= pow44 - pow280; + temp *= pow44 - pow281; + temp *= pow44 - pow282; + temp *= pow44 - pow283; + temp *= pow44 - pow284; + temp *= pow44 - pow285; + temp *= pow44 - pow286; + temp *= pow44 - pow287; + temp *= pow44 - pow288; + temp *= pow44 - pow289; + temp *= pow44 - pow290; + temp *= pow44 - pow291; + temp *= pow44 - pow292; + temp *= pow44 - pow293; + temp *= pow44 - pow294; + temp *= pow44 - pow295; + temp *= pow44 - pow296; + temp *= pow44 - pow297; + temp *= pow44 - pow298; + temp *= pow44 - pow299; + temp *= pow44 - pow300; + temp *= pow44 - pow301; + temp *= pow44 - pow302; + temp *= pow44 - pow303; + temp *= pow44 - pow304; + temp *= pow44 - pow305; + temp *= pow44 - pow308; + temp *= pow44 - pow309; + temp *= pow44 - pow310; + temp *= pow44 - pow311; + temp *= pow44 - pow312; + temp *= pow44 - pow313; + temp *= pow44 - pow314; + temp *= pow44 - pow315; + temp *= pow44 - pow316; + temp *= pow44 - pow317; + temp *= pow44 - pow318; + temp *= pow44 - pow319; + temp *= pow44 - pow320; + temp *= pow44 - pow321; + temp *= pow44 - pow322; + temp *= pow44 - pow323; + temp *= pow44 - pow324; + temp *= pow44 - pow325; + temp *= pow44 - pow326; + temp *= pow44 - pow327; + temp *= pow44 - pow328; + temp *= pow44 - pow329; + temp *= pow44 - pow330; + temp *= pow44 - pow331; + temp *= pow44 - pow332; + temp *= pow44 - pow333; + temp *= pow44 - pow334; + temp *= pow44 - pow335; + temp *= pow44 - pow338; + temp *= pow44 - pow339; + temp *= pow44 - pow340; + temp *= pow44 - pow341; + temp *= pow44 - pow342; + temp *= pow44 - pow343; + temp *= pow44 - pow344; + temp *= pow44 - pow345; + temp *= pow44 - pow346; + temp *= pow44 - pow347; + temp *= pow44 - pow348; + temp *= pow44 - pow349; + temp *= pow44 - pow350; + temp *= pow44 - pow351; + temp *= pow44 - pow352; + temp *= pow44 - pow353; + temp *= pow44 - pow354; + temp *= pow44 - pow355; + temp *= pow44 - pow356; + temp *= pow44 - pow357; + temp *= pow44 - pow358; + temp *= pow44 - pow359; + temp *= pow44 - pow360; + temp *= pow44 - pow361; + temp *= pow44 - pow362; + temp *= pow44 - pow363; + temp *= pow44 - pow364; + temp *= pow44 - pow365; + temp *= pow44 - pow368; + temp *= pow44 - pow369; + temp *= pow44 - pow370; + temp *= pow44 - pow371; + temp *= pow44 - pow372; + temp *= pow44 - pow373; + temp *= pow44 - pow374; + temp *= pow44 - pow375; + temp *= pow44 - pow376; + temp *= pow44 - pow377; + temp *= pow44 - pow378; + temp *= pow44 - pow379; + temp *= pow44 - pow380; + temp *= pow44 - pow381; + temp *= pow44 - pow382; + temp *= pow44 - pow383; + temp *= pow44 - pow384; + temp *= pow44 - pow385; + temp *= pow44 - pow386; + temp *= pow44 - pow387; + temp *= pow44 - pow388; + temp *= pow44 - pow389; + temp *= pow44 - pow390; + temp *= pow44 - pow391; + temp *= pow44 - pow392; + temp *= pow44 - pow393; + temp *= pow44 - pow394; + temp *= pow44 - pow395; + temp *= pow44 - pow398; + temp *= pow44 - pow399; + temp *= pow44 - pow400; + temp *= pow44 - pow401; + temp *= pow44 - pow402; + temp *= pow44 - pow403; + temp *= pow44 - pow404; + temp *= pow44 - pow405; + temp *= pow44 - pow406; + temp *= pow44 - pow407; + temp *= pow44 - pow408; + temp *= pow44 - pow409; + temp *= pow44 - pow410; + temp *= pow44 - pow411; + temp *= pow44 - pow412; + temp *= pow44 - pow413; + temp *= pow44 - pow414; + temp *= pow44 - pow415; + temp *= pow44 - pow416; + temp *= pow44 - pow417; + temp *= pow44 - pow418; + temp *= pow44 - pow419; + temp *= pow44 - pow420; + temp *= pow44 - pow421; + temp *= pow44 - pow422; + temp *= pow44 - pow423; + temp *= pow44 - pow424; + temp *= pow44 - pow425; + temp *= pow44 - pow428; + temp *= pow44 - pow429; + temp *= pow44 - pow430; + temp *= pow44 - pow431; + temp *= pow44 - pow432; + temp *= pow44 - pow433; + temp *= pow44 - pow434; + temp *= pow44 - pow435; + temp *= pow44 - pow436; + temp *= pow44 - pow437; + temp *= pow44 - pow438; + temp *= pow44 - pow439; + temp *= pow44 - pow440; + temp *= pow44 - pow441; + temp *= pow44 - pow442; + temp *= pow44 - pow443; + temp *= pow44 - pow444; + temp *= pow44 - pow445; + temp *= pow44 - pow446; + temp *= pow44 - pow447; + temp *= pow44 - pow448; + temp *= pow44 - pow449; + temp *= pow44 - pow450; + temp *= pow44 - pow451; + temp *= pow44 - pow452; + temp *= pow44 - pow453; + temp *= pow44 - pow454; + temp *= pow44 - pow455; + temp *= pow44 - pow458; + temp *= pow44 - pow459; + temp *= pow44 - pow460; + temp *= pow44 - pow461; + temp *= pow44 - pow462; + temp *= pow44 - pow463; + temp *= pow44 - pow464; + temp *= pow44 - pow465; + temp *= pow44 - pow466; + temp *= pow44 - pow467; + temp *= pow44 - pow468; + temp *= pow44 - pow469; + temp *= pow44 - pow470; + temp *= pow44 - pow471; + temp *= pow44 - pow472; + temp *= pow44 - pow473; + temp *= pow44 - pow474; + temp *= pow44 - pow475; + temp *= pow44 - pow476; + temp *= pow44 - pow477; + temp *= pow44 - pow478; + temp *= pow44 - pow479; + temp *= pow44 - pow480; + temp *= pow44 - pow481; + temp *= pow44 - pow482; + temp *= pow44 - pow483; + temp *= pow44 - pow484; + temp *= pow44 - pow485; + temp *= pow44 - pow488; + temp *= pow44 - pow489; + temp *= pow44 - pow490; + temp *= pow44 - pow491; + temp *= pow44 - pow492; + temp *= pow44 - pow493; + temp *= pow44 - pow494; + temp *= pow44 - pow495; + temp *= pow44 - pow496; + temp *= pow44 - pow497; + temp *= pow44 - pow498; + temp *= pow44 - pow499; + temp *= pow44 - pow500; + temp *= pow44 - pow501; + temp *= pow44 - pow502; + temp *= pow44 - pow503; + temp *= pow44 - pow504; + temp *= pow44 - pow505; + temp *= pow44 - pow506; + temp *= pow44 - pow507; + temp *= pow44 - pow508; + temp *= pow44 - pow509; + temp *= pow44 - pow510; + temp *= pow44 - pow511; + temp *= pow44 - pow512; + temp *= pow44 - pow513; + temp *= pow44 - pow514; + temp *= pow44 - pow515; + temp *= pow44 - pow518; + temp *= pow44 - pow519; + temp *= pow44 - pow520; + temp *= pow44 - pow521; + temp *= pow44 - pow522; + temp *= pow44 - pow523; + temp *= pow44 - pow524; + temp *= pow44 - pow525; + temp *= pow44 - pow526; + temp *= pow44 - pow527; + temp *= pow44 - pow528; + temp *= pow44 - pow529; + temp *= pow44 - pow530; + temp *= pow44 - pow531; + temp *= pow44 - pow532; + temp *= pow44 - pow533; + temp *= pow44 - pow534; + temp *= pow44 - pow535; + temp *= pow44 - pow536; + temp *= pow44 - pow537; + temp *= pow44 - pow538; + temp *= pow44 - pow539; + temp *= pow44 - pow540; + temp *= pow44 - pow541; + temp *= pow44 - pow542; + temp *= pow44 - pow543; + temp *= pow44 - pow544; + temp *= pow44 - pow545; + temp *= pow44 - pow548; + temp *= pow44 - pow549; + temp *= pow44 - pow550; + temp *= pow44 - pow551; + temp *= pow44 - pow552; + temp *= pow44 - pow553; + temp *= pow44 - pow554; + temp *= pow44 - pow555; + temp *= pow44 - pow556; + temp *= pow44 - pow557; + temp *= pow44 - pow558; + temp *= pow44 - pow559; + temp *= pow44 - pow560; + temp *= pow44 - pow561; + temp *= pow44 - pow562; + temp *= pow44 - pow563; + temp *= pow44 - pow564; + temp *= pow44 - pow565; + temp *= pow44 - pow566; + temp *= pow44 - pow567; + temp *= pow44 - pow568; + temp *= pow44 - pow569; + temp *= pow44 - pow570; + temp *= pow44 - pow571; + temp *= pow44 - pow572; + temp *= pow44 - pow573; + temp *= pow44 - pow574; + temp *= pow44 - pow575; + temp *= pow44 - pow578; + temp *= pow44 - pow579; + temp *= pow44 - pow580; + temp *= pow44 - pow581; + temp *= pow44 - pow582; + temp *= pow44 - pow583; + temp *= pow44 - pow584; + temp *= pow44 - pow585; + temp *= pow44 - pow586; + temp *= pow44 - pow587; + temp *= pow44 - pow588; + temp *= pow44 - pow589; + temp *= pow44 - pow590; + temp *= pow44 - pow591; + temp *= pow44 - pow592; + temp *= pow44 - pow593; + temp *= pow44 - pow594; + temp *= pow44 - pow595; + temp *= pow44 - pow596; + temp *= pow44 - pow597; + temp *= pow44 - pow598; + temp *= pow44 - pow599; + temp *= pow44 - pow600; + temp *= pow44 - pow601; + temp *= pow44 - pow602; + temp *= pow44 - pow603; + temp *= pow44 - pow604; + temp *= pow44 - pow605; + temp *= pow44 - pow608; + temp *= pow44 - pow609; + temp *= pow44 - pow610; + temp *= pow44 - pow611; + temp *= pow44 - pow612; + temp *= pow44 - pow613; + temp *= pow44 - pow614; + temp *= pow44 - pow615; + temp *= pow44 - pow616; + temp *= pow44 - pow617; + temp *= pow44 - pow618; + temp *= pow44 - pow619; + temp *= pow44 - pow620; + temp *= pow44 - pow621; + temp *= pow44 - pow622; + temp *= pow44 - pow623; + temp *= pow44 - pow624; + temp *= pow44 - pow625; + temp *= pow44 - pow626; + temp *= pow44 - pow627; + temp *= pow44 - pow628; + temp *= pow44 - pow629; + temp *= pow44 - pow630; + temp *= pow44 - pow631; + temp *= pow44 - pow632; + temp *= pow44 - pow633; + temp *= pow44 - pow634; + temp *= pow44 - pow635; + temp *= pow44 - pow638; + temp *= pow44 - pow639; + temp *= pow44 - pow640; + temp *= pow44 - pow641; + temp *= pow44 - pow642; + temp *= pow44 - pow643; + temp *= pow44 - pow644; + temp *= pow44 - pow645; + temp *= pow44 - pow646; + temp *= pow44 - pow647; + temp *= pow44 - pow648; + temp *= pow44 - pow649; + temp *= pow44 - pow650; + temp *= pow44 - pow651; + temp *= pow44 - pow652; + temp *= pow44 - pow653; + temp *= pow44 - pow654; + temp *= pow44 - pow655; + temp *= pow44 - pow656; + temp *= pow44 - pow657; + temp *= pow44 - pow658; + temp *= pow44 - pow659; + temp *= pow44 - pow660; + temp *= pow44 - pow661; + temp *= pow44 - pow662; + temp *= pow44 - pow663; + temp *= pow44 - pow664; + temp *= pow44 - pow665; + temp *= pow44 - pow668; + temp *= pow44 - pow669; + temp *= pow44 - pow670; + temp *= pow44 - pow671; + temp *= pow44 - pow672; + temp *= pow44 - pow673; + temp *= pow44 - pow674; + temp *= pow44 - pow675; + temp *= pow44 - pow676; + temp *= pow44 - pow677; + temp *= pow44 - pow678; + temp *= pow44 - pow679; + temp *= pow44 - pow680; + temp *= pow44 - pow681; + temp *= pow44 - pow682; + temp *= pow44 - pow683; + temp *= pow44 - pow684; + temp *= pow44 - pow685; + temp *= pow44 - pow686; + temp *= pow44 - pow687; + temp *= pow44 - pow688; + temp *= pow44 - pow689; + temp *= pow44 - pow690; + temp *= pow44 - pow691; + temp *= pow44 - pow692; + temp *= pow44 - pow693; + temp *= pow44 - pow694; + temp *= pow44 - pow695; + temp *= pow44 - pow698; + temp *= pow44 - pow699; + temp *= pow44 - pow700; + temp *= pow44 - pow701; + temp *= pow44 - pow702; + temp *= pow44 - pow703; + temp *= pow44 - pow704; + temp *= pow44 - pow705; + temp *= pow44 - pow706; + temp *= pow44 - pow707; + temp *= pow44 - pow708; + temp *= pow44 - pow709; + temp *= pow44 - pow710; + temp *= pow44 - pow711; + temp *= pow44 - pow712; + temp *= pow44 - pow713; + temp *= pow44 - pow714; + temp *= pow44 - pow715; + temp *= pow44 - pow716; + temp *= pow44 - pow717; + temp *= pow44 - pow718; + temp *= pow44 - pow719; + temp *= pow44 - pow720; + temp *= pow44 - pow721; + temp *= pow44 - pow722; + temp *= pow44 - pow723; + temp *= pow44 - pow724; + temp *= pow44 - pow725; + temp *= pow44 - pow728; + temp *= pow44 - pow729; + temp *= pow44 - pow730; + temp *= pow44 - pow731; + temp *= pow44 - pow732; + temp *= pow44 - pow733; + temp *= pow44 - pow734; + temp *= pow44 - pow735; + temp *= pow44 - pow736; + temp *= pow44 - pow737; + temp *= pow44 - pow738; + temp *= pow44 - pow739; + temp *= pow44 - pow740; + temp *= pow44 - pow741; + temp *= pow44 - pow742; + temp *= pow44 - pow743; + temp *= pow44 - pow744; + temp *= pow44 - pow745; + temp *= pow44 - pow746; + temp *= pow44 - pow747; + temp *= pow44 - pow748; + temp *= pow44 - pow749; + temp *= pow44 - pow750; + temp *= pow44 - pow751; + temp *= pow44 - pow752; + temp *= pow44 - pow753; + temp *= pow44 - pow754; + temp *= pow44 - pow755; + temp *= pow44 - pow758; + temp *= pow44 - pow759; + temp *= pow44 - pow760; + temp *= pow44 - pow761; + temp *= pow44 - pow762; + temp *= pow44 - pow763; + temp *= pow44 - pow764; + temp *= pow44 - pow765; + temp *= pow44 - pow766; + temp *= pow44 - pow767; + temp *= pow44 - pow768; + temp *= pow44 - pow769; + temp *= pow44 - pow770; + temp *= pow44 - pow771; + temp *= pow44 - pow772; + temp *= pow44 - pow773; + temp *= pow44 - pow774; + temp *= pow44 - pow775; + temp *= pow44 - pow776; + temp *= pow44 - pow777; + temp *= pow44 - pow778; + temp *= pow44 - pow779; + temp *= pow44 - pow780; + temp *= pow44 - pow781; + temp *= pow44 - pow782; + temp *= pow44 - pow783; + temp *= pow44 - pow784; + temp *= pow44 - pow785; + temp *= pow44 - pow788; + temp *= pow44 - pow789; + temp *= pow44 - pow790; + temp *= pow44 - pow791; + temp *= pow44 - pow792; + temp *= pow44 - pow793; + temp *= pow44 - pow794; + temp *= pow44 - pow795; + temp *= pow44 - pow796; + temp *= pow44 - pow797; + temp *= pow44 - pow798; + temp *= pow44 - pow799; + temp *= pow44 - pow800; + temp *= pow44 - pow801; + temp *= pow44 - pow802; + temp *= pow44 - pow803; + temp *= pow44 - pow804; + temp *= pow44 - pow805; + temp *= pow44 - pow806; + temp *= pow44 - pow807; + temp *= pow44 - pow808; + temp *= pow44 - pow809; + temp *= pow44 - pow810; + temp *= pow44 - pow811; + temp *= pow44 - pow812; + temp *= pow44 - pow813; + temp *= pow44 - pow814; + temp *= pow44 - pow815; + temp *= domain51; + domain56 = temp * (domain54); + temp = domain46; + domain57 = temp * (domain53); + domain58 = pow44 - pow2614; + temp = pow46 - pow2149; + temp *= pow46 - pow2271; + temp *= pow46 - pow2347; + temp *= pow46 - pow2423; + temp *= pow46 - pow2499; + temp *= pow46 - pow2575; + temp *= pow44 - pow2644; + temp *= pow44 - pow2674; + temp *= pow44 - pow2704; + temp *= pow44 - pow2734; + temp *= pow44 - pow2764; + temp *= pow44 - pow2794; + temp *= pow44 - pow2824; + temp *= pow44 - pow2854; + temp *= pow44 - pow2884; + temp *= pow44 - pow2914; + temp *= pow44 - pow2944; + temp *= pow44 - pow2974; + temp *= pow44 - pow3004; + temp *= pow44 - pow3034; + temp *= pow44 - pow3064; + temp *= pow44 - pow3094; + temp *= pow44 - pow3124; + temp *= pow44 - pow3154; + temp *= pow44 - pow3184; + temp *= pow44 - pow3214; + temp *= pow44 - pow3244; + temp *= pow44 - pow3274; + temp *= pow44 - pow3304; + temp *= pow44 - pow3334; + domain59 = temp * (domain58); + domain60 = pow44 - pow2615; + temp = pow46 - pow2219; + temp *= pow46 - pow2295; + temp *= pow46 - pow2371; + temp *= pow46 - pow2447; + temp *= pow46 - pow2523; + temp *= pow46 - pow2599; + temp *= pow44 - pow2645; + temp *= pow44 - pow2675; + temp *= pow44 - pow2705; + temp *= pow44 - pow2735; + temp *= pow44 - pow2765; + temp *= pow44 - pow2795; + temp *= pow44 - pow2825; + temp *= pow44 - pow2855; + temp *= pow44 - pow2885; + temp *= pow44 - pow2915; + temp *= pow44 - pow2945; + temp *= pow44 - pow2975; + temp *= pow44 - pow3005; + temp *= pow44 - pow3035; + temp *= pow44 - pow3065; + temp *= pow44 - pow3095; + temp *= pow44 - pow3125; + temp *= pow44 - pow3155; + temp *= pow44 - pow3185; + temp *= pow44 - pow3215; + temp *= pow44 - pow3245; + temp *= pow44 - pow3275; + temp *= pow44 - pow3305; + temp *= pow44 - pow3335; + temp *= pow44 - pow3364; + temp *= pow44 - pow3365; + temp *= domain59; + domain61 = temp * (domain60); + temp = pow44 - pow2616; + temp *= pow44 - pow2617; + temp *= pow44 - pow2618; + temp *= pow44 - pow2619; + temp *= pow44 - pow2620; + domain62 = temp * (pow44 - pow2621); + temp = pow44 - pow2622; + temp *= pow44 - pow2623; + temp *= pow44 - pow2624; + temp *= pow44 - pow2625; + temp *= pow44 - pow2626; + temp *= pow44 - pow2627; + temp *= pow44 - pow2628; + temp *= pow44 - pow2629; + temp *= pow44 - pow2630; + temp *= pow44 - pow2631; + temp *= pow44 - pow2632; + temp *= pow44 - pow2633; + temp *= pow44 - pow2634; + temp *= pow44 - pow2635; + temp *= pow44 - pow2636; + temp *= pow44 - pow2637; + domain63 = temp * (domain62); + temp = pow48 - pow2499; + temp *= pow48 - pow2575; + temp *= pow46 - pow2220; + temp *= pow46 - pow2221; + temp *= pow46 - pow2222; + temp *= pow46 - pow2223; + temp *= pow46 - pow2224; + temp *= pow46 - pow2225; + temp *= pow46 - pow2226; + temp *= pow46 - pow2227; + temp *= pow46 - pow2228; + temp *= pow46 - pow2229; + temp *= pow46 - pow2230; + temp *= pow46 - pow2231; + temp *= pow46 - pow2232; + temp *= pow46 - pow2233; + temp *= pow46 - pow2234; + temp *= pow46 - pow2258; + temp *= pow46 - pow2259; + temp *= pow46 - pow2260; + temp *= pow46 - pow2261; + temp *= pow46 - pow2262; + temp *= pow46 - pow2263; + temp *= pow46 - pow2264; + temp *= pow46 - pow2265; + temp *= pow46 - pow2266; + temp *= pow46 - pow2267; + temp *= pow46 - pow2268; + temp *= pow46 - pow2269; + temp *= pow46 - pow2270; + temp *= pow46 - pow2296; + temp *= pow46 - pow2297; + temp *= pow46 - pow2298; + temp *= pow46 - pow2299; + temp *= pow46 - pow2300; + temp *= pow46 - pow2301; + temp *= pow46 - pow2302; + temp *= pow46 - pow2303; + temp *= pow46 - pow2304; + temp *= pow46 - pow2305; + temp *= pow46 - pow2306; + temp *= pow46 - pow2307; + temp *= pow46 - pow2308; + temp *= pow46 - pow2309; + temp *= pow46 - pow2310; + temp *= pow46 - pow2334; + temp *= pow46 - pow2335; + temp *= pow46 - pow2336; + temp *= pow46 - pow2337; + temp *= pow46 - pow2338; + temp *= pow46 - pow2339; + temp *= pow46 - pow2340; + temp *= pow46 - pow2341; + temp *= pow46 - pow2342; + temp *= pow46 - pow2343; + temp *= pow46 - pow2344; + temp *= pow46 - pow2345; + temp *= pow46 - pow2346; + temp *= pow46 - pow2372; + temp *= pow46 - pow2373; + temp *= pow46 - pow2374; + temp *= pow46 - pow2375; + temp *= pow46 - pow2376; + temp *= pow46 - pow2377; + temp *= pow46 - pow2378; + temp *= pow46 - pow2379; + temp *= pow46 - pow2380; + temp *= pow46 - pow2381; + temp *= pow46 - pow2382; + temp *= pow46 - pow2383; + temp *= pow46 - pow2384; + temp *= pow46 - pow2385; + temp *= pow46 - pow2386; + temp *= pow46 - pow2410; + temp *= pow46 - pow2411; + temp *= pow46 - pow2412; + temp *= pow46 - pow2413; + temp *= pow46 - pow2414; + temp *= pow46 - pow2415; + temp *= pow46 - pow2416; + temp *= pow46 - pow2417; + temp *= pow46 - pow2418; + temp *= pow46 - pow2419; + temp *= pow46 - pow2420; + temp *= pow46 - pow2421; + temp *= pow46 - pow2422; + temp *= pow46 - pow2448; + temp *= pow46 - pow2449; + temp *= pow46 - pow2450; + temp *= pow46 - pow2451; + temp *= pow46 - pow2452; + temp *= pow46 - pow2453; + temp *= pow46 - pow2454; + temp *= pow46 - pow2455; + temp *= pow46 - pow2456; + temp *= pow46 - pow2457; + temp *= pow46 - pow2458; + temp *= pow46 - pow2459; + temp *= pow46 - pow2460; + temp *= pow46 - pow2461; + temp *= pow46 - pow2462; + temp *= pow46 - pow2486; + temp *= pow46 - pow2487; + temp *= pow46 - pow2488; + temp *= pow46 - pow2489; + temp *= pow46 - pow2490; + temp *= pow46 - pow2491; + temp *= pow46 - pow2492; + temp *= pow46 - pow2493; + temp *= pow46 - pow2494; + temp *= pow46 - pow2495; + temp *= pow46 - pow2496; + temp *= pow46 - pow2497; + temp *= pow46 - pow2498; + temp *= pow46 - pow2524; + temp *= pow46 - pow2525; + temp *= pow46 - pow2526; + temp *= pow46 - pow2527; + temp *= pow46 - pow2528; + temp *= pow46 - pow2529; + temp *= pow46 - pow2530; + temp *= pow46 - pow2531; + temp *= pow46 - pow2532; + temp *= pow46 - pow2533; + temp *= pow46 - pow2534; + temp *= pow46 - pow2535; + temp *= pow46 - pow2536; + temp *= pow46 - pow2537; + temp *= pow46 - pow2538; + temp *= pow46 - pow2562; + temp *= pow46 - pow2563; + temp *= pow46 - pow2564; + temp *= pow46 - pow2565; + temp *= pow46 - pow2566; + temp *= pow46 - pow2567; + temp *= pow46 - pow2568; + temp *= pow46 - pow2569; + temp *= pow46 - pow2570; + temp *= pow46 - pow2571; + temp *= pow46 - pow2572; + temp *= pow46 - pow2573; + temp *= pow46 - pow2574; + temp *= pow46 - pow2600; + temp *= pow46 - pow2601; + temp *= pow46 - pow2602; + temp *= pow46 - pow2603; + temp *= pow46 - pow2604; + temp *= pow46 - pow2605; + temp *= pow46 - pow2606; + temp *= pow46 - pow2607; + temp *= pow46 - pow2608; + temp *= pow46 - pow2609; + temp *= pow46 - pow2610; + temp *= pow46 - pow2611; + temp *= pow46 - pow2612; + temp *= pow46 - pow2613; + temp *= pow46 - pow2614; + temp *= pow46 - pow2674; + temp *= pow46 - pow2734; + temp *= pow46 - pow2794; + temp *= pow46 - pow2854; + temp *= pow46 - pow2914; + temp *= pow46 - pow2974; + temp *= pow46 - pow3034; + temp *= pow46 - pow3094; + temp *= pow46 - pow3154; + temp *= pow46 - pow3214; + temp *= pow46 - pow3274; + temp *= pow46 - pow3334; + temp *= pow46 - pow3394; + temp *= pow44 - pow2638; + temp *= pow44 - pow2639; + temp *= pow44 - pow2640; + temp *= pow44 - pow2641; + temp *= pow44 - pow2642; + temp *= pow44 - pow2643; + temp *= pow44 - pow2646; + temp *= pow44 - pow2647; + temp *= pow44 - pow2648; + temp *= pow44 - pow2649; + temp *= pow44 - pow2650; + temp *= pow44 - pow2651; + temp *= pow44 - pow2652; + temp *= pow44 - pow2653; + temp *= pow44 - pow2654; + temp *= pow44 - pow2655; + temp *= pow44 - pow2656; + temp *= pow44 - pow2657; + temp *= pow44 - pow2658; + temp *= pow44 - pow2659; + temp *= pow44 - pow2660; + temp *= pow44 - pow2661; + temp *= pow44 - pow2662; + temp *= pow44 - pow2663; + temp *= pow44 - pow2664; + temp *= pow44 - pow2665; + temp *= pow44 - pow2666; + temp *= pow44 - pow2667; + temp *= pow44 - pow2668; + temp *= pow44 - pow2669; + temp *= pow44 - pow2670; + temp *= pow44 - pow2671; + temp *= pow44 - pow2672; + temp *= pow44 - pow2673; + temp *= pow44 - pow2676; + temp *= pow44 - pow2677; + temp *= pow44 - pow2678; + temp *= pow44 - pow2679; + temp *= pow44 - pow2680; + temp *= pow44 - pow2681; + temp *= pow44 - pow2682; + temp *= pow44 - pow2683; + temp *= pow44 - pow2684; + temp *= pow44 - pow2685; + temp *= pow44 - pow2686; + temp *= pow44 - pow2687; + temp *= pow44 - pow2688; + temp *= pow44 - pow2689; + temp *= pow44 - pow2690; + temp *= pow44 - pow2691; + temp *= pow44 - pow2692; + temp *= pow44 - pow2693; + temp *= pow44 - pow2694; + temp *= pow44 - pow2695; + temp *= pow44 - pow2696; + temp *= pow44 - pow2697; + temp *= pow44 - pow2698; + temp *= pow44 - pow2699; + temp *= pow44 - pow2700; + temp *= pow44 - pow2701; + temp *= pow44 - pow2702; + temp *= pow44 - pow2703; + temp *= pow44 - pow2706; + temp *= pow44 - pow2707; + temp *= pow44 - pow2708; + temp *= pow44 - pow2709; + temp *= pow44 - pow2710; + temp *= pow44 - pow2711; + temp *= pow44 - pow2712; + temp *= pow44 - pow2713; + temp *= pow44 - pow2714; + temp *= pow44 - pow2715; + temp *= pow44 - pow2716; + temp *= pow44 - pow2717; + temp *= pow44 - pow2718; + temp *= pow44 - pow2719; + temp *= pow44 - pow2720; + temp *= pow44 - pow2721; + temp *= pow44 - pow2722; + temp *= pow44 - pow2723; + temp *= pow44 - pow2724; + temp *= pow44 - pow2725; + temp *= pow44 - pow2726; + temp *= pow44 - pow2727; + temp *= pow44 - pow2728; + temp *= pow44 - pow2729; + temp *= pow44 - pow2730; + temp *= pow44 - pow2731; + temp *= pow44 - pow2732; + temp *= pow44 - pow2733; + temp *= pow44 - pow2736; + temp *= pow44 - pow2737; + temp *= pow44 - pow2738; + temp *= pow44 - pow2739; + temp *= pow44 - pow2740; + temp *= pow44 - pow2741; + temp *= pow44 - pow2742; + temp *= pow44 - pow2743; + temp *= pow44 - pow2744; + temp *= pow44 - pow2745; + temp *= pow44 - pow2746; + temp *= pow44 - pow2747; + temp *= pow44 - pow2748; + temp *= pow44 - pow2749; + temp *= pow44 - pow2750; + temp *= pow44 - pow2751; + temp *= pow44 - pow2752; + temp *= pow44 - pow2753; + temp *= pow44 - pow2754; + temp *= pow44 - pow2755; + temp *= pow44 - pow2756; + temp *= pow44 - pow2757; + temp *= pow44 - pow2758; + temp *= pow44 - pow2759; + temp *= pow44 - pow2760; + temp *= pow44 - pow2761; + temp *= pow44 - pow2762; + temp *= pow44 - pow2763; + temp *= pow44 - pow2766; + temp *= pow44 - pow2767; + temp *= pow44 - pow2768; + temp *= pow44 - pow2769; + temp *= pow44 - pow2770; + temp *= pow44 - pow2771; + temp *= pow44 - pow2772; + temp *= pow44 - pow2773; + temp *= pow44 - pow2774; + temp *= pow44 - pow2775; + temp *= pow44 - pow2776; + temp *= pow44 - pow2777; + temp *= pow44 - pow2778; + temp *= pow44 - pow2779; + temp *= pow44 - pow2780; + temp *= pow44 - pow2781; + temp *= pow44 - pow2782; + temp *= pow44 - pow2783; + temp *= pow44 - pow2784; + temp *= pow44 - pow2785; + temp *= pow44 - pow2786; + temp *= pow44 - pow2787; + temp *= pow44 - pow2788; + temp *= pow44 - pow2789; + temp *= pow44 - pow2790; + temp *= pow44 - pow2791; + temp *= pow44 - pow2792; + temp *= pow44 - pow2793; + temp *= pow44 - pow2796; + temp *= pow44 - pow2797; + temp *= pow44 - pow2798; + temp *= pow44 - pow2799; + temp *= pow44 - pow2800; + temp *= pow44 - pow2801; + temp *= pow44 - pow2802; + temp *= pow44 - pow2803; + temp *= pow44 - pow2804; + temp *= pow44 - pow2805; + temp *= pow44 - pow2806; + temp *= pow44 - pow2807; + temp *= pow44 - pow2808; + temp *= pow44 - pow2809; + temp *= pow44 - pow2810; + temp *= pow44 - pow2811; + temp *= pow44 - pow2812; + temp *= pow44 - pow2813; + temp *= pow44 - pow2814; + temp *= pow44 - pow2815; + temp *= pow44 - pow2816; + temp *= pow44 - pow2817; + temp *= pow44 - pow2818; + temp *= pow44 - pow2819; + temp *= pow44 - pow2820; + temp *= pow44 - pow2821; + temp *= pow44 - pow2822; + temp *= pow44 - pow2823; + temp *= pow44 - pow2826; + temp *= pow44 - pow2827; + temp *= pow44 - pow2828; + temp *= pow44 - pow2829; + temp *= pow44 - pow2830; + temp *= pow44 - pow2831; + temp *= pow44 - pow2832; + temp *= pow44 - pow2833; + temp *= pow44 - pow2834; + temp *= pow44 - pow2835; + temp *= pow44 - pow2836; + temp *= pow44 - pow2837; + temp *= pow44 - pow2838; + temp *= pow44 - pow2839; + temp *= pow44 - pow2840; + temp *= pow44 - pow2841; + temp *= pow44 - pow2842; + temp *= pow44 - pow2843; + temp *= pow44 - pow2844; + temp *= pow44 - pow2845; + temp *= pow44 - pow2846; + temp *= pow44 - pow2847; + temp *= pow44 - pow2848; + temp *= pow44 - pow2849; + temp *= pow44 - pow2850; + temp *= pow44 - pow2851; + temp *= pow44 - pow2852; + temp *= pow44 - pow2853; + temp *= pow44 - pow2856; + temp *= pow44 - pow2857; + temp *= pow44 - pow2858; + temp *= pow44 - pow2859; + temp *= pow44 - pow2860; + temp *= pow44 - pow2861; + temp *= pow44 - pow2862; + temp *= pow44 - pow2863; + temp *= pow44 - pow2864; + temp *= pow44 - pow2865; + temp *= pow44 - pow2866; + temp *= pow44 - pow2867; + temp *= pow44 - pow2868; + temp *= pow44 - pow2869; + temp *= pow44 - pow2870; + temp *= pow44 - pow2871; + temp *= pow44 - pow2872; + temp *= pow44 - pow2873; + temp *= pow44 - pow2874; + temp *= pow44 - pow2875; + temp *= pow44 - pow2876; + temp *= pow44 - pow2877; + temp *= pow44 - pow2878; + temp *= pow44 - pow2879; + temp *= pow44 - pow2880; + temp *= pow44 - pow2881; + temp *= pow44 - pow2882; + temp *= pow44 - pow2883; + temp *= pow44 - pow2886; + temp *= pow44 - pow2887; + temp *= pow44 - pow2888; + temp *= pow44 - pow2889; + temp *= pow44 - pow2890; + temp *= pow44 - pow2891; + temp *= pow44 - pow2892; + temp *= pow44 - pow2893; + temp *= pow44 - pow2894; + temp *= pow44 - pow2895; + temp *= pow44 - pow2896; + temp *= pow44 - pow2897; + temp *= pow44 - pow2898; + temp *= pow44 - pow2899; + temp *= pow44 - pow2900; + temp *= pow44 - pow2901; + temp *= pow44 - pow2902; + temp *= pow44 - pow2903; + temp *= pow44 - pow2904; + temp *= pow44 - pow2905; + temp *= pow44 - pow2906; + temp *= pow44 - pow2907; + temp *= pow44 - pow2908; + temp *= pow44 - pow2909; + temp *= pow44 - pow2910; + temp *= pow44 - pow2911; + temp *= pow44 - pow2912; + temp *= pow44 - pow2913; + temp *= pow44 - pow2916; + temp *= pow44 - pow2917; + temp *= pow44 - pow2918; + temp *= pow44 - pow2919; + temp *= pow44 - pow2920; + temp *= pow44 - pow2921; + temp *= pow44 - pow2922; + temp *= pow44 - pow2923; + temp *= pow44 - pow2924; + temp *= pow44 - pow2925; + temp *= pow44 - pow2926; + temp *= pow44 - pow2927; + temp *= pow44 - pow2928; + temp *= pow44 - pow2929; + temp *= pow44 - pow2930; + temp *= pow44 - pow2931; + temp *= pow44 - pow2932; + temp *= pow44 - pow2933; + temp *= pow44 - pow2934; + temp *= pow44 - pow2935; + temp *= pow44 - pow2936; + temp *= pow44 - pow2937; + temp *= pow44 - pow2938; + temp *= pow44 - pow2939; + temp *= pow44 - pow2940; + temp *= pow44 - pow2941; + temp *= pow44 - pow2942; + temp *= pow44 - pow2943; + temp *= pow44 - pow2946; + temp *= pow44 - pow2947; + temp *= pow44 - pow2948; + temp *= pow44 - pow2949; + temp *= pow44 - pow2950; + temp *= pow44 - pow2951; + temp *= pow44 - pow2952; + temp *= pow44 - pow2953; + temp *= pow44 - pow2954; + temp *= pow44 - pow2955; + temp *= pow44 - pow2956; + temp *= pow44 - pow2957; + temp *= pow44 - pow2958; + temp *= pow44 - pow2959; + temp *= pow44 - pow2960; + temp *= pow44 - pow2961; + temp *= pow44 - pow2962; + temp *= pow44 - pow2963; + temp *= pow44 - pow2964; + temp *= pow44 - pow2965; + temp *= pow44 - pow2966; + temp *= pow44 - pow2967; + temp *= pow44 - pow2968; + temp *= pow44 - pow2969; + temp *= pow44 - pow2970; + temp *= pow44 - pow2971; + temp *= pow44 - pow2972; + temp *= pow44 - pow2973; + temp *= pow44 - pow2976; + temp *= pow44 - pow2977; + temp *= pow44 - pow2978; + temp *= pow44 - pow2979; + temp *= pow44 - pow2980; + temp *= pow44 - pow2981; + temp *= pow44 - pow2982; + temp *= pow44 - pow2983; + temp *= pow44 - pow2984; + temp *= pow44 - pow2985; + temp *= pow44 - pow2986; + temp *= pow44 - pow2987; + temp *= pow44 - pow2988; + temp *= pow44 - pow2989; + temp *= pow44 - pow2990; + temp *= pow44 - pow2991; + temp *= pow44 - pow2992; + temp *= pow44 - pow2993; + temp *= pow44 - pow2994; + temp *= pow44 - pow2995; + temp *= pow44 - pow2996; + temp *= pow44 - pow2997; + temp *= pow44 - pow2998; + temp *= pow44 - pow2999; + temp *= pow44 - pow3000; + temp *= pow44 - pow3001; + temp *= pow44 - pow3002; + temp *= pow44 - pow3003; + temp *= pow44 - pow3006; + temp *= pow44 - pow3007; + temp *= pow44 - pow3008; + temp *= pow44 - pow3009; + temp *= pow44 - pow3010; + temp *= pow44 - pow3011; + temp *= pow44 - pow3012; + temp *= pow44 - pow3013; + temp *= pow44 - pow3014; + temp *= pow44 - pow3015; + temp *= pow44 - pow3016; + temp *= pow44 - pow3017; + temp *= pow44 - pow3018; + temp *= pow44 - pow3019; + temp *= pow44 - pow3020; + temp *= pow44 - pow3021; + temp *= pow44 - pow3022; + temp *= pow44 - pow3023; + temp *= pow44 - pow3024; + temp *= pow44 - pow3025; + temp *= pow44 - pow3026; + temp *= pow44 - pow3027; + temp *= pow44 - pow3028; + temp *= pow44 - pow3029; + temp *= pow44 - pow3030; + temp *= pow44 - pow3031; + temp *= pow44 - pow3032; + temp *= pow44 - pow3033; + temp *= pow44 - pow3036; + temp *= pow44 - pow3037; + temp *= pow44 - pow3038; + temp *= pow44 - pow3039; + temp *= pow44 - pow3040; + temp *= pow44 - pow3041; + temp *= pow44 - pow3042; + temp *= pow44 - pow3043; + temp *= pow44 - pow3044; + temp *= pow44 - pow3045; + temp *= pow44 - pow3046; + temp *= pow44 - pow3047; + temp *= pow44 - pow3048; + temp *= pow44 - pow3049; + temp *= pow44 - pow3050; + temp *= pow44 - pow3051; + temp *= pow44 - pow3052; + temp *= pow44 - pow3053; + temp *= pow44 - pow3054; + temp *= pow44 - pow3055; + temp *= pow44 - pow3056; + temp *= pow44 - pow3057; + temp *= pow44 - pow3058; + temp *= pow44 - pow3059; + temp *= pow44 - pow3060; + temp *= pow44 - pow3061; + temp *= pow44 - pow3062; + temp *= pow44 - pow3063; + temp *= pow44 - pow3066; + temp *= pow44 - pow3067; + temp *= pow44 - pow3068; + temp *= pow44 - pow3069; + temp *= pow44 - pow3070; + temp *= pow44 - pow3071; + temp *= pow44 - pow3072; + temp *= pow44 - pow3073; + temp *= pow44 - pow3074; + temp *= pow44 - pow3075; + temp *= pow44 - pow3076; + temp *= pow44 - pow3077; + temp *= pow44 - pow3078; + temp *= pow44 - pow3079; + temp *= pow44 - pow3080; + temp *= pow44 - pow3081; + temp *= pow44 - pow3082; + temp *= pow44 - pow3083; + temp *= pow44 - pow3084; + temp *= pow44 - pow3085; + temp *= pow44 - pow3086; + temp *= pow44 - pow3087; + temp *= pow44 - pow3088; + temp *= pow44 - pow3089; + temp *= pow44 - pow3090; + temp *= pow44 - pow3091; + temp *= pow44 - pow3092; + temp *= pow44 - pow3093; + temp *= pow44 - pow3096; + temp *= pow44 - pow3097; + temp *= pow44 - pow3098; + temp *= pow44 - pow3099; + temp *= pow44 - pow3100; + temp *= pow44 - pow3101; + temp *= pow44 - pow3102; + temp *= pow44 - pow3103; + temp *= pow44 - pow3104; + temp *= pow44 - pow3105; + temp *= pow44 - pow3106; + temp *= pow44 - pow3107; + temp *= pow44 - pow3108; + temp *= pow44 - pow3109; + temp *= pow44 - pow3110; + temp *= pow44 - pow3111; + temp *= pow44 - pow3112; + temp *= pow44 - pow3113; + temp *= pow44 - pow3114; + temp *= pow44 - pow3115; + temp *= pow44 - pow3116; + temp *= pow44 - pow3117; + temp *= pow44 - pow3118; + temp *= pow44 - pow3119; + temp *= pow44 - pow3120; + temp *= pow44 - pow3121; + temp *= pow44 - pow3122; + temp *= pow44 - pow3123; + temp *= pow44 - pow3126; + temp *= pow44 - pow3127; + temp *= pow44 - pow3128; + temp *= pow44 - pow3129; + temp *= pow44 - pow3130; + temp *= pow44 - pow3131; + temp *= pow44 - pow3132; + temp *= pow44 - pow3133; + temp *= pow44 - pow3134; + temp *= pow44 - pow3135; + temp *= pow44 - pow3136; + temp *= pow44 - pow3137; + temp *= pow44 - pow3138; + temp *= pow44 - pow3139; + temp *= pow44 - pow3140; + temp *= pow44 - pow3141; + temp *= pow44 - pow3142; + temp *= pow44 - pow3143; + temp *= pow44 - pow3144; + temp *= pow44 - pow3145; + temp *= pow44 - pow3146; + temp *= pow44 - pow3147; + temp *= pow44 - pow3148; + temp *= pow44 - pow3149; + temp *= pow44 - pow3150; + temp *= pow44 - pow3151; + temp *= pow44 - pow3152; + temp *= pow44 - pow3153; + temp *= pow44 - pow3156; + temp *= pow44 - pow3157; + temp *= pow44 - pow3158; + temp *= pow44 - pow3159; + temp *= pow44 - pow3160; + temp *= pow44 - pow3161; + temp *= pow44 - pow3162; + temp *= pow44 - pow3163; + temp *= pow44 - pow3164; + temp *= pow44 - pow3165; + temp *= pow44 - pow3166; + temp *= pow44 - pow3167; + temp *= pow44 - pow3168; + temp *= pow44 - pow3169; + temp *= pow44 - pow3170; + temp *= pow44 - pow3171; + temp *= pow44 - pow3172; + temp *= pow44 - pow3173; + temp *= pow44 - pow3174; + temp *= pow44 - pow3175; + temp *= pow44 - pow3176; + temp *= pow44 - pow3177; + temp *= pow44 - pow3178; + temp *= pow44 - pow3179; + temp *= pow44 - pow3180; + temp *= pow44 - pow3181; + temp *= pow44 - pow3182; + temp *= pow44 - pow3183; + temp *= pow44 - pow3186; + temp *= pow44 - pow3187; + temp *= pow44 - pow3188; + temp *= pow44 - pow3189; + temp *= pow44 - pow3190; + temp *= pow44 - pow3191; + temp *= pow44 - pow3192; + temp *= pow44 - pow3193; + temp *= pow44 - pow3194; + temp *= pow44 - pow3195; + temp *= pow44 - pow3196; + temp *= pow44 - pow3197; + temp *= pow44 - pow3198; + temp *= pow44 - pow3199; + temp *= pow44 - pow3200; + temp *= pow44 - pow3201; + temp *= pow44 - pow3202; + temp *= pow44 - pow3203; + temp *= pow44 - pow3204; + temp *= pow44 - pow3205; + temp *= pow44 - pow3206; + temp *= pow44 - pow3207; + temp *= pow44 - pow3208; + temp *= pow44 - pow3209; + temp *= pow44 - pow3210; + temp *= pow44 - pow3211; + temp *= pow44 - pow3212; + temp *= pow44 - pow3213; + temp *= pow44 - pow3216; + temp *= pow44 - pow3217; + temp *= pow44 - pow3218; + temp *= pow44 - pow3219; + temp *= pow44 - pow3220; + temp *= pow44 - pow3221; + temp *= pow44 - pow3222; + temp *= pow44 - pow3223; + temp *= pow44 - pow3224; + temp *= pow44 - pow3225; + temp *= pow44 - pow3226; + temp *= pow44 - pow3227; + temp *= pow44 - pow3228; + temp *= pow44 - pow3229; + temp *= pow44 - pow3230; + temp *= pow44 - pow3231; + temp *= pow44 - pow3232; + temp *= pow44 - pow3233; + temp *= pow44 - pow3234; + temp *= pow44 - pow3235; + temp *= pow44 - pow3236; + temp *= pow44 - pow3237; + temp *= pow44 - pow3238; + temp *= pow44 - pow3239; + temp *= pow44 - pow3240; + temp *= pow44 - pow3241; + temp *= pow44 - pow3242; + temp *= pow44 - pow3243; + temp *= pow44 - pow3246; + temp *= pow44 - pow3247; + temp *= pow44 - pow3248; + temp *= pow44 - pow3249; + temp *= pow44 - pow3250; + temp *= pow44 - pow3251; + temp *= pow44 - pow3252; + temp *= pow44 - pow3253; + temp *= pow44 - pow3254; + temp *= pow44 - pow3255; + temp *= pow44 - pow3256; + temp *= pow44 - pow3257; + temp *= pow44 - pow3258; + temp *= pow44 - pow3259; + temp *= pow44 - pow3260; + temp *= pow44 - pow3261; + temp *= pow44 - pow3262; + temp *= pow44 - pow3263; + temp *= pow44 - pow3264; + temp *= pow44 - pow3265; + temp *= pow44 - pow3266; + temp *= pow44 - pow3267; + temp *= pow44 - pow3268; + temp *= pow44 - pow3269; + temp *= pow44 - pow3270; + temp *= pow44 - pow3271; + temp *= pow44 - pow3272; + temp *= pow44 - pow3273; + temp *= pow44 - pow3276; + temp *= pow44 - pow3277; + temp *= pow44 - pow3278; + temp *= pow44 - pow3279; + temp *= pow44 - pow3280; + temp *= pow44 - pow3281; + temp *= pow44 - pow3282; + temp *= pow44 - pow3283; + temp *= pow44 - pow3284; + temp *= pow44 - pow3285; + temp *= pow44 - pow3286; + temp *= pow44 - pow3287; + temp *= pow44 - pow3288; + temp *= pow44 - pow3289; + temp *= pow44 - pow3290; + temp *= pow44 - pow3291; + temp *= pow44 - pow3292; + temp *= pow44 - pow3293; + temp *= pow44 - pow3294; + temp *= pow44 - pow3295; + temp *= pow44 - pow3296; + temp *= pow44 - pow3297; + temp *= pow44 - pow3298; + temp *= pow44 - pow3299; + temp *= pow44 - pow3300; + temp *= pow44 - pow3301; + temp *= pow44 - pow3302; + temp *= pow44 - pow3303; + temp *= pow44 - pow3306; + temp *= pow44 - pow3307; + temp *= pow44 - pow3308; + temp *= pow44 - pow3309; + temp *= pow44 - pow3310; + temp *= pow44 - pow3311; + temp *= pow44 - pow3312; + temp *= pow44 - pow3313; + temp *= pow44 - pow3314; + temp *= pow44 - pow3315; + temp *= pow44 - pow3316; + temp *= pow44 - pow3317; + temp *= pow44 - pow3318; + temp *= pow44 - pow3319; + temp *= pow44 - pow3320; + temp *= pow44 - pow3321; + temp *= pow44 - pow3322; + temp *= pow44 - pow3323; + temp *= pow44 - pow3324; + temp *= pow44 - pow3325; + temp *= pow44 - pow3326; + temp *= pow44 - pow3327; + temp *= pow44 - pow3328; + temp *= pow44 - pow3329; + temp *= pow44 - pow3330; + temp *= pow44 - pow3331; + temp *= pow44 - pow3332; + temp *= pow44 - pow3333; + temp *= pow44 - pow3336; + temp *= pow44 - pow3337; + temp *= pow44 - pow3338; + temp *= pow44 - pow3339; + temp *= pow44 - pow3340; + temp *= pow44 - pow3341; + temp *= pow44 - pow3342; + temp *= pow44 - pow3343; + temp *= pow44 - pow3344; + temp *= pow44 - pow3345; + temp *= pow44 - pow3346; + temp *= pow44 - pow3347; + temp *= pow44 - pow3348; + temp *= pow44 - pow3349; + temp *= pow44 - pow3350; + temp *= pow44 - pow3351; + temp *= pow44 - pow3352; + temp *= pow44 - pow3353; + temp *= pow44 - pow3354; + temp *= pow44 - pow3355; + temp *= pow44 - pow3356; + temp *= pow44 - pow3357; + temp *= pow44 - pow3358; + temp *= pow44 - pow3359; + temp *= pow44 - pow3360; + temp *= pow44 - pow3361; + temp *= pow44 - pow3362; + temp *= pow44 - pow3363; + temp *= pow44 - pow3366; + temp *= pow44 - pow3367; + temp *= pow44 - pow3368; + temp *= pow44 - pow3369; + temp *= pow44 - pow3370; + temp *= pow44 - pow3371; + temp *= pow44 - pow3372; + temp *= pow44 - pow3373; + temp *= pow44 - pow3374; + temp *= pow44 - pow3375; + temp *= pow44 - pow3376; + temp *= pow44 - pow3377; + temp *= pow44 - pow3378; + temp *= pow44 - pow3379; + temp *= pow44 - pow3380; + temp *= pow44 - pow3381; + temp *= pow44 - pow3382; + temp *= pow44 - pow3383; + temp *= pow44 - pow3384; + temp *= pow44 - pow3385; + temp *= pow44 - pow3386; + temp *= pow44 - pow3387; + temp *= pow44 - pow3388; + temp *= pow44 - pow3389; + temp *= pow44 - pow3390; + temp *= pow44 - pow3391; + temp *= pow44 - pow3392; + temp *= pow44 - pow3393; + temp *= domain61; + domain64 = temp * (domain63); + temp = pow46 - pow2147; + domain65 = temp * (domain59); + temp = domain58; + domain66 = temp * (domain60); + temp = domain63; + domain67 = temp * (domain66); + domain68 = pow44 - pow819; + temp = pow44 - pow820; + temp *= pow44 - pow821; + temp *= pow44 - pow822; + temp *= pow44 - pow823; + temp *= pow44 - pow824; + temp *= pow44 - pow825; + temp *= pow44 - pow826; + domain69 = temp * (domain68); + temp = pow44 - pow827; + temp *= pow44 - pow828; + temp *= pow44 - pow829; + temp *= pow44 - pow830; + temp *= pow44 - pow831; + temp *= pow44 - pow832; + temp *= pow44 - pow833; + temp *= pow44 - pow834; + temp *= pow44 - pow835; + temp *= pow44 - pow836; + temp *= pow44 - pow837; + temp *= pow44 - pow838; + temp *= pow44 - pow839; + temp *= pow44 - pow840; + temp *= pow44 - pow841; + temp *= pow44 - pow842; + temp *= domain50; + domain70 = temp * (domain69); + temp = pow44 - pow2575; + temp *= pow44 - pow2576; + temp *= pow44 - pow2577; + temp *= pow44 - pow2578; + temp *= pow44 - pow2579; + temp *= pow44 - pow2580; + temp *= pow44 - pow2581; + domain71 = temp * (pow44 - pow2582); + temp = pow44 - pow2583; + temp *= pow44 - pow2584; + temp *= pow44 - pow2585; + temp *= pow44 - pow2586; + temp *= pow44 - pow2587; + temp *= pow44 - pow2588; + temp *= pow44 - pow2589; + temp *= pow44 - pow2590; + temp *= pow44 - pow2591; + temp *= pow44 - pow2592; + temp *= pow44 - pow2593; + temp *= pow44 - pow2594; + temp *= pow44 - pow2595; + temp *= pow44 - pow2596; + temp *= pow44 - pow2597; + temp *= pow44 - pow2598; + temp *= domain67; + domain72 = temp * (domain71); + temp = pow44 - pow2538; + temp *= pow44 - pow2539; + temp *= pow44 - pow2540; + temp *= pow44 - pow2541; + temp *= pow44 - pow2542; + temp *= pow44 - pow2543; + temp *= pow44 - pow2544; + domain73 = temp * (pow44 - pow2545); + temp = pow44 - pow2423; + temp *= pow44 - pow2424; + temp *= pow44 - pow2425; + temp *= pow44 - pow2426; + temp *= pow44 - pow2427; + temp *= pow44 - pow2428; + temp *= pow44 - pow2429; + temp *= pow44 - pow2430; + temp *= pow44 - pow2462; + temp *= pow44 - pow2463; + temp *= pow44 - pow2464; + temp *= pow44 - pow2465; + temp *= pow44 - pow2466; + temp *= pow44 - pow2467; + temp *= pow44 - pow2468; + temp *= pow44 - pow2469; + temp *= pow44 - pow2499; + temp *= pow44 - pow2500; + temp *= pow44 - pow2501; + temp *= pow44 - pow2502; + temp *= pow44 - pow2503; + temp *= pow44 - pow2504; + temp *= pow44 - pow2505; + temp *= pow44 - pow2506; + domain74 = temp * (domain73); + temp = pow44 - pow2546; + temp *= pow44 - pow2547; + temp *= pow44 - pow2548; + temp *= pow44 - pow2549; + temp *= pow44 - pow2550; + temp *= pow44 - pow2551; + temp *= pow44 - pow2552; + temp *= pow44 - pow2553; + temp *= pow44 - pow2554; + temp *= pow44 - pow2555; + temp *= pow44 - pow2556; + temp *= pow44 - pow2557; + temp *= pow44 - pow2558; + temp *= pow44 - pow2559; + temp *= pow44 - pow2560; + temp *= pow44 - pow2561; + domain75 = temp * (domain72); + temp = pow44 - pow2431; + temp *= pow44 - pow2432; + temp *= pow44 - pow2433; + temp *= pow44 - pow2434; + temp *= pow44 - pow2435; + temp *= pow44 - pow2436; + temp *= pow44 - pow2437; + temp *= pow44 - pow2438; + temp *= pow44 - pow2439; + temp *= pow44 - pow2440; + temp *= pow44 - pow2441; + temp *= pow44 - pow2442; + temp *= pow44 - pow2443; + temp *= pow44 - pow2444; + temp *= pow44 - pow2445; + temp *= pow44 - pow2446; + temp *= pow44 - pow2470; + temp *= pow44 - pow2471; + temp *= pow44 - pow2472; + temp *= pow44 - pow2473; + temp *= pow44 - pow2474; + temp *= pow44 - pow2475; + temp *= pow44 - pow2476; + temp *= pow44 - pow2477; + temp *= pow44 - pow2478; + temp *= pow44 - pow2479; + temp *= pow44 - pow2480; + temp *= pow44 - pow2481; + temp *= pow44 - pow2482; + temp *= pow44 - pow2483; + temp *= pow44 - pow2484; + temp *= pow44 - pow2485; + temp *= pow44 - pow2507; + temp *= pow44 - pow2508; + temp *= pow44 - pow2509; + temp *= pow44 - pow2510; + temp *= pow44 - pow2511; + temp *= pow44 - pow2512; + temp *= pow44 - pow2513; + temp *= pow44 - pow2514; + temp *= pow44 - pow2515; + temp *= pow44 - pow2516; + temp *= pow44 - pow2517; + temp *= pow44 - pow2518; + temp *= pow44 - pow2519; + temp *= pow44 - pow2520; + temp *= pow44 - pow2521; + temp *= pow44 - pow2522; + temp *= domain74; + domain76 = temp * (domain75); + temp = pow44 - pow2347; + temp *= pow44 - pow2348; + temp *= pow44 - pow2349; + temp *= pow44 - pow2350; + temp *= pow44 - pow2351; + temp *= pow44 - pow2352; + temp *= pow44 - pow2353; + temp *= pow44 - pow2354; + temp *= pow44 - pow2386; + temp *= pow44 - pow2387; + temp *= pow44 - pow2388; + temp *= pow44 - pow2389; + temp *= pow44 - pow2390; + temp *= pow44 - pow2391; + temp *= pow44 - pow2392; + domain77 = temp * (pow44 - pow2393); + temp = pow44 - pow2310; + temp *= pow44 - pow2311; + temp *= pow44 - pow2312; + temp *= pow44 - pow2313; + temp *= pow44 - pow2314; + temp *= pow44 - pow2315; + temp *= pow44 - pow2316; + temp *= pow44 - pow2317; + domain78 = temp * (domain77); + temp = pow44 - pow2271; + temp *= pow44 - pow2272; + temp *= pow44 - pow2273; + temp *= pow44 - pow2274; + temp *= pow44 - pow2275; + temp *= pow44 - pow2276; + temp *= pow44 - pow2277; + temp *= pow44 - pow2278; + domain79 = temp * (domain78); + temp = pow44 - pow2355; + temp *= pow44 - pow2356; + temp *= pow44 - pow2357; + temp *= pow44 - pow2358; + temp *= pow44 - pow2359; + temp *= pow44 - pow2360; + temp *= pow44 - pow2361; + temp *= pow44 - pow2362; + temp *= pow44 - pow2363; + temp *= pow44 - pow2364; + temp *= pow44 - pow2365; + temp *= pow44 - pow2366; + temp *= pow44 - pow2367; + temp *= pow44 - pow2368; + temp *= pow44 - pow2369; + temp *= pow44 - pow2370; + temp *= pow44 - pow2394; + temp *= pow44 - pow2395; + temp *= pow44 - pow2396; + temp *= pow44 - pow2397; + temp *= pow44 - pow2398; + temp *= pow44 - pow2399; + temp *= pow44 - pow2400; + temp *= pow44 - pow2401; + temp *= pow44 - pow2402; + temp *= pow44 - pow2403; + temp *= pow44 - pow2404; + temp *= pow44 - pow2405; + temp *= pow44 - pow2406; + temp *= pow44 - pow2407; + temp *= pow44 - pow2408; + temp *= pow44 - pow2409; + domain80 = temp * (domain76); + temp = pow44 - pow2279; + temp *= pow44 - pow2280; + temp *= pow44 - pow2281; + temp *= pow44 - pow2282; + temp *= pow44 - pow2283; + temp *= pow44 - pow2284; + temp *= pow44 - pow2285; + temp *= pow44 - pow2286; + temp *= pow44 - pow2287; + temp *= pow44 - pow2288; + temp *= pow44 - pow2289; + temp *= pow44 - pow2290; + temp *= pow44 - pow2291; + temp *= pow44 - pow2292; + temp *= pow44 - pow2293; + temp *= pow44 - pow2294; + temp *= pow44 - pow2318; + temp *= pow44 - pow2319; + temp *= pow44 - pow2320; + temp *= pow44 - pow2321; + temp *= pow44 - pow2322; + temp *= pow44 - pow2323; + temp *= pow44 - pow2324; + temp *= pow44 - pow2325; + temp *= pow44 - pow2326; + temp *= pow44 - pow2327; + temp *= pow44 - pow2328; + temp *= pow44 - pow2329; + temp *= pow44 - pow2330; + temp *= pow44 - pow2331; + temp *= pow44 - pow2332; + temp *= pow44 - pow2333; + temp *= domain79; + domain81 = temp * (domain80); + temp = pow44 - pow2147; + temp *= pow44 - pow2150; + temp *= pow44 - pow2153; + temp *= pow44 - pow2156; + temp *= pow44 - pow2159; + temp *= pow44 - pow2162; + temp *= pow44 - pow2165; + temp *= pow44 - pow2168; + temp *= pow44 - pow2148; + temp *= pow44 - pow2151; + temp *= pow44 - pow2154; + temp *= pow44 - pow2157; + temp *= pow44 - pow2160; + temp *= pow44 - pow2163; + temp *= pow44 - pow2166; + temp *= pow44 - pow2185; + temp *= pow44 - pow2149; + temp *= pow44 - pow2152; + temp *= pow44 - pow2155; + temp *= pow44 - pow2158; + temp *= pow44 - pow2161; + temp *= pow44 - pow2164; + temp *= pow44 - pow2167; + temp *= pow44 - pow2202; + temp *= pow44 - pow2234; + temp *= pow44 - pow2235; + temp *= pow44 - pow2236; + temp *= pow44 - pow2237; + temp *= pow44 - pow2238; + temp *= pow44 - pow2239; + temp *= pow44 - pow2240; + domain82 = temp * (pow44 - pow2241); + temp = pow44 - pow2069; + temp *= pow44 - pow2070; + temp *= pow44 - pow2071; + temp *= pow44 - pow2072; + temp *= pow44 - pow2073; + temp *= pow44 - pow2074; + temp *= pow44 - pow2129; + temp *= pow44 - pow2130; + domain83 = temp * (domain82); + temp = pow44 - pow2051; + temp *= pow44 - pow2054; + temp *= pow44 - pow2057; + temp *= pow44 - pow2060; + temp *= pow44 - pow2063; + temp *= pow44 - pow2066; + temp *= pow44 - pow2075; + temp *= pow44 - pow2078; + temp *= pow44 - pow2052; + temp *= pow44 - pow2055; + temp *= pow44 - pow2058; + temp *= pow44 - pow2061; + temp *= pow44 - pow2064; + temp *= pow44 - pow2067; + temp *= pow44 - pow2076; + temp *= pow44 - pow2095; + temp *= pow44 - pow2053; + temp *= pow44 - pow2056; + temp *= pow44 - pow2059; + temp *= pow44 - pow2062; + temp *= pow44 - pow2065; + temp *= pow44 - pow2068; + temp *= pow44 - pow2077; + temp *= pow44 - pow2112; + domain84 = temp * (domain83); + temp = pow44 - pow2020; + temp *= pow44 - pow2021; + temp *= pow44 - pow2022; + temp *= pow44 - pow2023; + temp *= pow44 - pow2024; + temp *= pow44 - pow2025; + temp *= pow44 - pow2026; + temp *= pow44 - pow2027; + domain85 = temp * (domain84); + temp = pow44 - pow1981; + temp *= pow44 - pow1982; + temp *= pow44 - pow1983; + temp *= pow44 - pow1984; + temp *= pow44 - pow1985; + temp *= pow44 - pow1986; + temp *= pow44 - pow1987; + temp *= pow44 - pow1988; + domain86 = temp * (domain85); + temp = pow44 - pow2169; + temp *= pow44 - pow2170; + temp *= pow44 - pow2171; + temp *= pow44 - pow2172; + temp *= pow44 - pow2173; + temp *= pow44 - pow2174; + temp *= pow44 - pow2175; + temp *= pow44 - pow2176; + temp *= pow44 - pow2177; + temp *= pow44 - pow2178; + temp *= pow44 - pow2179; + temp *= pow44 - pow2180; + temp *= pow44 - pow2181; + temp *= pow44 - pow2182; + temp *= pow44 - pow2183; + temp *= pow44 - pow2184; + temp *= pow44 - pow2186; + temp *= pow44 - pow2187; + temp *= pow44 - pow2188; + temp *= pow44 - pow2189; + temp *= pow44 - pow2190; + temp *= pow44 - pow2191; + temp *= pow44 - pow2192; + temp *= pow44 - pow2193; + temp *= pow44 - pow2194; + temp *= pow44 - pow2195; + temp *= pow44 - pow2196; + temp *= pow44 - pow2197; + temp *= pow44 - pow2198; + temp *= pow44 - pow2199; + temp *= pow44 - pow2200; + temp *= pow44 - pow2201; + temp *= pow44 - pow2203; + temp *= pow44 - pow2204; + temp *= pow44 - pow2205; + temp *= pow44 - pow2206; + temp *= pow44 - pow2207; + temp *= pow44 - pow2208; + temp *= pow44 - pow2209; + temp *= pow44 - pow2210; + temp *= pow44 - pow2211; + temp *= pow44 - pow2212; + temp *= pow44 - pow2213; + temp *= pow44 - pow2214; + temp *= pow44 - pow2215; + temp *= pow44 - pow2216; + temp *= pow44 - pow2217; + temp *= pow44 - pow2218; + temp *= pow44 - pow2242; + temp *= pow44 - pow2243; + temp *= pow44 - pow2244; + temp *= pow44 - pow2245; + temp *= pow44 - pow2246; + temp *= pow44 - pow2247; + temp *= pow44 - pow2248; + temp *= pow44 - pow2249; + temp *= pow44 - pow2250; + temp *= pow44 - pow2251; + temp *= pow44 - pow2252; + temp *= pow44 - pow2253; + temp *= pow44 - pow2254; + temp *= pow44 - pow2255; + temp *= pow44 - pow2256; + temp *= pow44 - pow2257; + domain87 = temp * (domain81); + temp = pow44 - pow2131; + temp *= pow44 - pow2132; + temp *= pow44 - pow2133; + temp *= pow44 - pow2134; + temp *= pow44 - pow2135; + temp *= pow44 - pow2136; + temp *= pow44 - pow2137; + temp *= pow44 - pow2138; + temp *= pow44 - pow2139; + temp *= pow44 - pow2140; + temp *= pow44 - pow2141; + temp *= pow44 - pow2142; + temp *= pow44 - pow2143; + temp *= pow44 - pow2144; + temp *= pow44 - pow2145; + temp *= pow44 - pow2146; + domain88 = temp * (domain87); + temp = pow44 - pow2079; + temp *= pow44 - pow2080; + temp *= pow44 - pow2081; + temp *= pow44 - pow2082; + temp *= pow44 - pow2083; + temp *= pow44 - pow2084; + temp *= pow44 - pow2085; + temp *= pow44 - pow2086; + temp *= pow44 - pow2087; + temp *= pow44 - pow2088; + temp *= pow44 - pow2089; + temp *= pow44 - pow2090; + temp *= pow44 - pow2091; + temp *= pow44 - pow2092; + temp *= pow44 - pow2093; + temp *= pow44 - pow2094; + temp *= pow44 - pow2096; + temp *= pow44 - pow2097; + temp *= pow44 - pow2098; + temp *= pow44 - pow2099; + temp *= pow44 - pow2100; + temp *= pow44 - pow2101; + temp *= pow44 - pow2102; + temp *= pow44 - pow2103; + temp *= pow44 - pow2104; + temp *= pow44 - pow2105; + temp *= pow44 - pow2106; + temp *= pow44 - pow2107; + temp *= pow44 - pow2108; + temp *= pow44 - pow2109; + temp *= pow44 - pow2110; + temp *= pow44 - pow2111; + temp *= pow44 - pow2113; + temp *= pow44 - pow2114; + temp *= pow44 - pow2115; + temp *= pow44 - pow2116; + temp *= pow44 - pow2117; + temp *= pow44 - pow2118; + temp *= pow44 - pow2119; + temp *= pow44 - pow2120; + temp *= pow44 - pow2121; + temp *= pow44 - pow2122; + temp *= pow44 - pow2123; + temp *= pow44 - pow2124; + temp *= pow44 - pow2125; + temp *= pow44 - pow2126; + temp *= pow44 - pow2127; + temp *= pow44 - pow2128; + domain89 = temp * (domain88); + temp = pow44 - pow2028; + temp *= pow44 - pow2029; + temp *= pow44 - pow2030; + temp *= pow44 - pow2031; + temp *= pow44 - pow2032; + temp *= pow44 - pow2033; + temp *= pow44 - pow2034; + temp *= pow44 - pow2035; + temp *= pow44 - pow2036; + temp *= pow44 - pow2037; + temp *= pow44 - pow2038; + temp *= pow44 - pow2039; + temp *= pow44 - pow2040; + temp *= pow44 - pow2041; + temp *= pow44 - pow2042; + temp *= pow44 - pow2043; + domain90 = temp * (domain89); + temp = pow44 - pow1989; + temp *= pow44 - pow1990; + temp *= pow44 - pow1991; + temp *= pow44 - pow1992; + temp *= pow44 - pow1993; + temp *= pow44 - pow1994; + temp *= pow44 - pow1995; + temp *= pow44 - pow1996; + temp *= pow44 - pow1997; + temp *= pow44 - pow1998; + temp *= pow44 - pow1999; + temp *= pow44 - pow2000; + temp *= pow44 - pow2001; + temp *= pow44 - pow2002; + temp *= pow44 - pow2003; + temp *= pow44 - pow2004; + temp *= domain86; + domain91 = temp * (domain90); + temp = pow44 - pow1950; + temp *= pow44 - pow1951; + temp *= pow44 - pow1952; + temp *= pow44 - pow1953; + temp *= pow44 - pow1954; + temp *= pow44 - pow1955; + temp *= pow44 - pow1956; + domain92 = temp * (pow44 - pow1957); + temp = pow44 - pow1958; + temp *= pow44 - pow1959; + temp *= pow44 - pow1960; + temp *= pow44 - pow1961; + temp *= pow44 - pow1962; + temp *= pow44 - pow1963; + temp *= pow44 - pow1964; + temp *= pow44 - pow1965; + temp *= pow44 - pow1966; + temp *= pow44 - pow1967; + temp *= pow44 - pow1968; + temp *= pow44 - pow1969; + temp *= pow44 - pow1970; + temp *= pow44 - pow1971; + temp *= pow44 - pow1972; + temp *= pow44 - pow1973; + temp *= domain91; + domain93 = temp * (domain92); + temp = pow44 - pow1880; + temp *= pow44 - pow1881; + temp *= pow44 - pow1882; + temp *= pow44 - pow1883; + temp *= pow44 - pow1884; + temp *= pow44 - pow1885; + temp *= pow44 - pow1886; + temp *= pow44 - pow1887; + temp *= pow44 - pow1911; + temp *= pow44 - pow1912; + temp *= pow44 - pow1913; + temp *= pow44 - pow1914; + temp *= pow44 - pow1915; + temp *= pow44 - pow1916; + temp *= pow44 - pow1917; + domain94 = temp * (pow44 - pow1918); + temp = pow44 - pow1817; + temp *= pow44 - pow1818; + temp *= pow44 - pow1819; + temp *= pow44 - pow1820; + temp *= pow44 - pow1821; + temp *= pow44 - pow1822; + temp *= pow44 - pow1823; + temp *= pow44 - pow1824; + temp *= pow44 - pow1841; + temp *= pow44 - pow1842; + temp *= pow44 - pow1843; + temp *= pow44 - pow1844; + temp *= pow44 - pow1845; + temp *= pow44 - pow1846; + temp *= pow44 - pow1847; + temp *= pow44 - pow1848; + domain95 = temp * (domain94); + temp = pow44 - pow1825; + temp *= pow44 - pow1826; + temp *= pow44 - pow1827; + temp *= pow44 - pow1828; + temp *= pow44 - pow1829; + temp *= pow44 - pow1830; + temp *= pow44 - pow1831; + temp *= pow44 - pow1832; + temp *= pow44 - pow1833; + temp *= pow44 - pow1834; + temp *= pow44 - pow1835; + temp *= pow44 - pow1836; + temp *= pow44 - pow1837; + temp *= pow44 - pow1838; + temp *= pow44 - pow1839; + temp *= pow44 - pow1840; + temp *= pow44 - pow1849; + temp *= pow44 - pow1850; + temp *= pow44 - pow1851; + temp *= pow44 - pow1852; + temp *= pow44 - pow1853; + temp *= pow44 - pow1854; + temp *= pow44 - pow1855; + temp *= pow44 - pow1856; + temp *= pow44 - pow1857; + temp *= pow44 - pow1858; + temp *= pow44 - pow1859; + temp *= pow44 - pow1860; + temp *= pow44 - pow1861; + temp *= pow44 - pow1862; + temp *= pow44 - pow1863; + temp *= pow44 - pow1864; + temp *= pow44 - pow1888; + temp *= pow44 - pow1889; + temp *= pow44 - pow1890; + temp *= pow44 - pow1891; + temp *= pow44 - pow1892; + temp *= pow44 - pow1893; + temp *= pow44 - pow1894; + temp *= pow44 - pow1895; + temp *= pow44 - pow1896; + temp *= pow44 - pow1897; + temp *= pow44 - pow1898; + temp *= pow44 - pow1899; + temp *= pow44 - pow1900; + temp *= pow44 - pow1901; + temp *= pow44 - pow1902; + temp *= pow44 - pow1903; + temp *= pow44 - pow1919; + temp *= pow44 - pow1920; + temp *= pow44 - pow1921; + temp *= pow44 - pow1922; + temp *= pow44 - pow1923; + temp *= pow44 - pow1924; + temp *= pow44 - pow1925; + temp *= pow44 - pow1926; + temp *= pow44 - pow1927; + temp *= pow44 - pow1928; + temp *= pow44 - pow1929; + temp *= pow44 - pow1930; + temp *= pow44 - pow1931; + temp *= pow44 - pow1932; + temp *= pow44 - pow1933; + temp *= pow44 - pow1934; + temp *= domain93; + domain96 = temp * (domain95); + temp = pow44 - pow1769; + temp *= pow44 - pow1770; + temp *= pow44 - pow1771; + temp *= pow44 - pow1772; + temp *= pow44 - pow1773; + temp *= pow44 - pow1774; + temp *= pow44 - pow1775; + temp *= pow44 - pow1776; + temp *= pow44 - pow1777; + temp *= pow44 - pow1778; + temp *= pow44 - pow1779; + temp *= pow44 - pow1780; + temp *= pow44 - pow1781; + temp *= pow44 - pow1782; + temp *= pow44 - pow1783; + temp *= pow44 - pow1784; + temp *= pow44 - pow1785; + temp *= pow44 - pow1786; + temp *= pow44 - pow1787; + temp *= pow44 - pow1788; + temp *= pow44 - pow1789; + temp *= pow44 - pow1790; + temp *= pow44 - pow1791; + temp *= pow44 - pow1792; + temp *= pow44 - pow1793; + temp *= pow44 - pow1794; + temp *= pow44 - pow1795; + temp *= pow44 - pow1796; + temp *= pow44 - pow1797; + temp *= pow44 - pow1798; + temp *= pow44 - pow1799; + temp *= pow44 - pow1800; + temp *= pow44 - pow1801; + temp *= pow44 - pow1802; + temp *= pow44 - pow1803; + temp *= pow44 - pow1804; + temp *= pow44 - pow1805; + temp *= pow44 - pow1806; + temp *= pow44 - pow1807; + temp *= pow44 - pow1808; + temp *= pow44 - pow1809; + temp *= pow44 - pow1810; + temp *= pow44 - pow1811; + temp *= pow44 - pow1812; + temp *= pow44 - pow1813; + temp *= pow44 - pow1814; + temp *= pow44 - pow1815; + temp *= pow44 - pow1816; + domain97 = temp * (domain96); + temp = pow44 - pow1745; + temp *= pow44 - pow1746; + temp *= pow44 - pow1747; + temp *= pow44 - pow1748; + temp *= pow44 - pow1749; + temp *= pow44 - pow1750; + temp *= pow44 - pow1751; + temp *= pow44 - pow1752; + temp *= pow44 - pow1753; + temp *= pow44 - pow1754; + temp *= pow44 - pow1755; + temp *= pow44 - pow1756; + temp *= pow44 - pow1757; + temp *= pow44 - pow1758; + temp *= pow44 - pow1759; + temp *= pow44 - pow1760; + temp *= pow44 - pow1761; + temp *= pow44 - pow1762; + temp *= pow44 - pow1763; + temp *= pow44 - pow1764; + temp *= pow44 - pow1765; + temp *= pow44 - pow1766; + temp *= pow44 - pow1767; + temp *= pow44 - pow1768; + domain98 = temp * (domain97); + temp = pow44 - pow850; + temp *= pow44 - pow851; + temp *= pow44 - pow852; + temp *= pow44 - pow853; + temp *= pow44 - pow854; + temp *= pow44 - pow855; + temp *= pow44 - pow856; + domain99 = temp * (pow44 - pow857); + domain100 = pow44 - pow889; + temp = pow44 - pow890; + temp *= pow44 - pow891; + temp *= pow44 - pow892; + temp *= pow44 - pow893; + temp *= pow44 - pow894; + temp *= pow44 - pow895; + temp *= pow44 - pow896; + temp *= pow44 - pow920; + temp *= pow44 - pow921; + temp *= pow44 - pow922; + temp *= pow44 - pow923; + temp *= pow44 - pow924; + temp *= pow44 - pow925; + temp *= pow44 - pow926; + temp *= pow44 - pow927; + temp *= pow44 - pow959; + temp *= pow44 - pow960; + temp *= pow44 - pow961; + temp *= pow44 - pow962; + temp *= pow44 - pow963; + temp *= pow44 - pow964; + temp *= pow44 - pow965; + temp *= pow44 - pow966; + temp *= domain99; + domain101 = temp * (domain100); + temp = pow44 - pow858; + temp *= pow44 - pow859; + temp *= pow44 - pow860; + temp *= pow44 - pow861; + temp *= pow44 - pow862; + temp *= pow44 - pow863; + temp *= pow44 - pow864; + temp *= pow44 - pow865; + temp *= pow44 - pow866; + temp *= pow44 - pow867; + temp *= pow44 - pow868; + temp *= pow44 - pow869; + temp *= pow44 - pow870; + temp *= pow44 - pow871; + temp *= pow44 - pow872; + temp *= pow44 - pow873; + domain102 = temp * (domain70); + temp = pow44 - pow897; + temp *= pow44 - pow898; + temp *= pow44 - pow899; + temp *= pow44 - pow900; + temp *= pow44 - pow901; + temp *= pow44 - pow902; + temp *= pow44 - pow903; + temp *= pow44 - pow904; + temp *= pow44 - pow905; + temp *= pow44 - pow906; + temp *= pow44 - pow907; + temp *= pow44 - pow908; + temp *= pow44 - pow909; + temp *= pow44 - pow910; + temp *= pow44 - pow911; + temp *= pow44 - pow912; + temp *= pow44 - pow928; + temp *= pow44 - pow929; + temp *= pow44 - pow930; + temp *= pow44 - pow931; + temp *= pow44 - pow932; + temp *= pow44 - pow933; + temp *= pow44 - pow934; + temp *= pow44 - pow935; + temp *= pow44 - pow936; + temp *= pow44 - pow937; + temp *= pow44 - pow938; + temp *= pow44 - pow939; + temp *= pow44 - pow940; + temp *= pow44 - pow941; + temp *= pow44 - pow942; + temp *= pow44 - pow943; + temp *= pow44 - pow967; + temp *= pow44 - pow968; + temp *= pow44 - pow969; + temp *= pow44 - pow970; + temp *= pow44 - pow971; + temp *= pow44 - pow972; + temp *= pow44 - pow973; + temp *= pow44 - pow974; + temp *= pow44 - pow975; + temp *= pow44 - pow976; + temp *= pow44 - pow977; + temp *= pow44 - pow978; + temp *= pow44 - pow979; + temp *= pow44 - pow980; + temp *= pow44 - pow981; + temp *= pow44 - pow982; + temp *= domain101; + domain103 = temp * (domain102); + domain104 = pow44 - pow1014; + temp = pow44 - pow990; + temp *= pow44 - pow991; + temp *= pow44 - pow992; + temp *= pow44 - pow993; + temp *= pow44 - pow994; + temp *= pow44 - pow995; + temp *= pow44 - pow996; + temp *= pow44 - pow997; + temp *= pow44 - pow1017; + temp *= pow44 - pow1020; + temp *= pow44 - pow1023; + temp *= pow44 - pow1026; + temp *= pow44 - pow1029; + temp *= pow44 - pow1032; + temp *= pow44 - pow1035; + domain105 = temp * (domain104); + temp = pow44 - pow1015; + temp *= pow44 - pow1018; + temp *= pow44 - pow1021; + temp *= pow44 - pow1024; + temp *= pow44 - pow1027; + temp *= pow44 - pow1030; + temp *= pow44 - pow1033; + temp *= pow44 - pow1052; + domain106 = temp * (domain105); + temp = pow44 - pow1016; + temp *= pow44 - pow1019; + temp *= pow44 - pow1022; + temp *= pow44 - pow1025; + temp *= pow44 - pow1028; + temp *= pow44 - pow1031; + temp *= pow44 - pow1034; + temp *= pow44 - pow1069; + domain107 = temp * (domain106); + temp = pow44 - pow998; + temp *= pow44 - pow999; + temp *= pow44 - pow1000; + temp *= pow44 - pow1001; + temp *= pow44 - pow1002; + temp *= pow44 - pow1003; + temp *= pow44 - pow1004; + temp *= pow44 - pow1005; + temp *= pow44 - pow1006; + temp *= pow44 - pow1007; + temp *= pow44 - pow1008; + temp *= pow44 - pow1009; + temp *= pow44 - pow1010; + temp *= pow44 - pow1011; + temp *= pow44 - pow1012; + temp *= pow44 - pow1013; + temp *= pow44 - pow1036; + temp *= pow44 - pow1037; + temp *= pow44 - pow1038; + temp *= pow44 - pow1039; + temp *= pow44 - pow1040; + temp *= pow44 - pow1041; + temp *= pow44 - pow1042; + temp *= pow44 - pow1043; + temp *= pow44 - pow1044; + temp *= pow44 - pow1045; + temp *= pow44 - pow1046; + temp *= pow44 - pow1047; + temp *= pow44 - pow1048; + temp *= pow44 - pow1049; + temp *= pow44 - pow1050; + temp *= pow44 - pow1051; + domain108 = temp * (domain103); + temp = pow44 - pow1053; + temp *= pow44 - pow1054; + temp *= pow44 - pow1055; + temp *= pow44 - pow1056; + temp *= pow44 - pow1057; + temp *= pow44 - pow1058; + temp *= pow44 - pow1059; + temp *= pow44 - pow1060; + temp *= pow44 - pow1061; + temp *= pow44 - pow1062; + temp *= pow44 - pow1063; + temp *= pow44 - pow1064; + temp *= pow44 - pow1065; + temp *= pow44 - pow1066; + temp *= pow44 - pow1067; + temp *= pow44 - pow1068; + temp *= pow44 - pow1070; + temp *= pow44 - pow1071; + temp *= pow44 - pow1072; + temp *= pow44 - pow1073; + temp *= pow44 - pow1074; + temp *= pow44 - pow1075; + temp *= pow44 - pow1076; + temp *= pow44 - pow1077; + temp *= pow44 - pow1078; + temp *= pow44 - pow1079; + temp *= pow44 - pow1080; + temp *= pow44 - pow1081; + temp *= pow44 - pow1082; + temp *= pow44 - pow1083; + temp *= pow44 - pow1084; + temp *= pow44 - pow1085; + temp *= domain107; + domain109 = temp * (domain108); + temp = pow44 - pow1086; + temp *= pow44 - pow1087; + temp *= pow44 - pow1088; + temp *= pow44 - pow1089; + temp *= pow44 - pow1090; + temp *= pow44 - pow1091; + temp *= pow44 - pow1092; + temp *= pow44 - pow1093; + temp *= pow44 - pow1125; + temp *= pow44 - pow1126; + temp *= pow44 - pow1127; + temp *= pow44 - pow1128; + temp *= pow44 - pow1129; + temp *= pow44 - pow1130; + temp *= pow44 - pow1131; + temp *= pow44 - pow1132; + temp *= pow44 - pow1156; + temp *= pow44 - pow1157; + temp *= pow44 - pow1158; + temp *= pow44 - pow1159; + temp *= pow44 - pow1160; + temp *= pow44 - pow1161; + temp *= pow44 - pow1162; + temp *= pow44 - pow1163; + temp *= pow44 - pow1195; + temp *= pow44 - pow1196; + temp *= pow44 - pow1197; + temp *= pow44 - pow1198; + temp *= pow44 - pow1199; + temp *= pow44 - pow1200; + temp *= pow44 - pow1201; + domain110 = temp * (pow44 - pow1202); + temp = pow44 - pow1226; + temp *= pow44 - pow1227; + temp *= pow44 - pow1228; + temp *= pow44 - pow1229; + temp *= pow44 - pow1230; + temp *= pow44 - pow1231; + temp *= pow44 - pow1232; + temp *= pow44 - pow1233; + domain111 = temp * (domain110); + domain112 = pow44 - pow1265; + temp = pow44 - pow1266; + temp *= pow44 - pow1267; + temp *= pow44 - pow1268; + temp *= pow44 - pow1269; + temp *= pow44 - pow1270; + temp *= pow44 - pow1271; + temp *= pow44 - pow1272; + temp *= pow44 - pow1296; + temp *= pow44 - pow1300; + temp *= pow44 - pow1304; + temp *= pow44 - pow1308; + temp *= pow44 - pow1312; + temp *= pow44 - pow1316; + temp *= pow44 - pow1320; + temp *= pow44 - pow1324; + temp *= pow44 - pow1297; + temp *= pow44 - pow1301; + temp *= pow44 - pow1305; + temp *= pow44 - pow1309; + temp *= pow44 - pow1313; + temp *= pow44 - pow1317; + temp *= pow44 - pow1321; + temp *= pow44 - pow1326; + temp *= domain111; + domain113 = temp * (domain112); + temp = pow44 - pow1298; + temp *= pow44 - pow1302; + temp *= pow44 - pow1306; + temp *= pow44 - pow1310; + temp *= pow44 - pow1314; + temp *= pow44 - pow1318; + temp *= pow44 - pow1322; + temp *= pow44 - pow1328; + domain114 = temp * (domain113); + temp = pow44 - pow1299; + temp *= pow44 - pow1303; + temp *= pow44 - pow1307; + temp *= pow44 - pow1311; + temp *= pow44 - pow1315; + temp *= pow44 - pow1319; + temp *= pow44 - pow1323; + temp *= pow44 - pow1330; + domain115 = temp * (domain114); + temp = pow44 - pow1094; + temp *= pow44 - pow1095; + temp *= pow44 - pow1096; + temp *= pow44 - pow1097; + temp *= pow44 - pow1098; + temp *= pow44 - pow1099; + temp *= pow44 - pow1100; + temp *= pow44 - pow1101; + temp *= pow44 - pow1102; + temp *= pow44 - pow1103; + temp *= pow44 - pow1104; + temp *= pow44 - pow1105; + temp *= pow44 - pow1106; + temp *= pow44 - pow1107; + temp *= pow44 - pow1108; + temp *= pow44 - pow1109; + temp *= pow44 - pow1133; + temp *= pow44 - pow1134; + temp *= pow44 - pow1135; + temp *= pow44 - pow1136; + temp *= pow44 - pow1137; + temp *= pow44 - pow1138; + temp *= pow44 - pow1139; + temp *= pow44 - pow1140; + temp *= pow44 - pow1141; + temp *= pow44 - pow1142; + temp *= pow44 - pow1143; + temp *= pow44 - pow1144; + temp *= pow44 - pow1145; + temp *= pow44 - pow1146; + temp *= pow44 - pow1147; + temp *= pow44 - pow1148; + temp *= pow44 - pow1164; + temp *= pow44 - pow1165; + temp *= pow44 - pow1166; + temp *= pow44 - pow1167; + temp *= pow44 - pow1168; + temp *= pow44 - pow1169; + temp *= pow44 - pow1170; + temp *= pow44 - pow1171; + temp *= pow44 - pow1172; + temp *= pow44 - pow1173; + temp *= pow44 - pow1174; + temp *= pow44 - pow1175; + temp *= pow44 - pow1176; + temp *= pow44 - pow1177; + temp *= pow44 - pow1178; + temp *= pow44 - pow1179; + temp *= pow44 - pow1203; + temp *= pow44 - pow1204; + temp *= pow44 - pow1205; + temp *= pow44 - pow1206; + temp *= pow44 - pow1207; + temp *= pow44 - pow1208; + temp *= pow44 - pow1209; + temp *= pow44 - pow1210; + temp *= pow44 - pow1211; + temp *= pow44 - pow1212; + temp *= pow44 - pow1213; + temp *= pow44 - pow1214; + temp *= pow44 - pow1215; + temp *= pow44 - pow1216; + temp *= pow44 - pow1217; + temp *= pow44 - pow1218; + domain116 = temp * (domain109); + temp = pow44 - pow1234; + temp *= pow44 - pow1235; + temp *= pow44 - pow1236; + temp *= pow44 - pow1237; + temp *= pow44 - pow1238; + temp *= pow44 - pow1239; + temp *= pow44 - pow1240; + temp *= pow44 - pow1241; + temp *= pow44 - pow1242; + temp *= pow44 - pow1243; + temp *= pow44 - pow1244; + temp *= pow44 - pow1245; + temp *= pow44 - pow1246; + temp *= pow44 - pow1247; + temp *= pow44 - pow1248; + temp *= pow44 - pow1249; + domain117 = temp * (domain116); + temp = pow44 - pow1273; + temp *= pow44 - pow1274; + temp *= pow44 - pow1275; + temp *= pow44 - pow1276; + temp *= pow44 - pow1277; + temp *= pow44 - pow1278; + temp *= pow44 - pow1279; + temp *= pow44 - pow1280; + temp *= pow44 - pow1281; + temp *= pow44 - pow1282; + temp *= pow44 - pow1283; + temp *= pow44 - pow1284; + temp *= pow44 - pow1285; + temp *= pow44 - pow1286; + temp *= pow44 - pow1287; + temp *= pow44 - pow1288; + temp *= pow44 - pow1325; + temp *= pow44 - pow1332; + temp *= pow44 - pow1336; + temp *= pow44 - pow1340; + temp *= pow44 - pow1344; + temp *= pow44 - pow1348; + temp *= pow44 - pow1352; + temp *= pow44 - pow1356; + temp *= pow44 - pow1360; + temp *= pow44 - pow1364; + temp *= pow44 - pow1368; + temp *= pow44 - pow1372; + temp *= pow44 - pow1376; + temp *= pow44 - pow1380; + temp *= pow44 - pow1384; + temp *= pow44 - pow1388; + temp *= pow44 - pow1327; + temp *= pow44 - pow1333; + temp *= pow44 - pow1337; + temp *= pow44 - pow1341; + temp *= pow44 - pow1345; + temp *= pow44 - pow1349; + temp *= pow44 - pow1353; + temp *= pow44 - pow1357; + temp *= pow44 - pow1361; + temp *= pow44 - pow1365; + temp *= pow44 - pow1369; + temp *= pow44 - pow1373; + temp *= pow44 - pow1377; + temp *= pow44 - pow1381; + temp *= pow44 - pow1385; + temp *= pow44 - pow1389; + domain118 = temp * (domain117); + temp = pow44 - pow1329; + temp *= pow44 - pow1334; + temp *= pow44 - pow1338; + temp *= pow44 - pow1342; + temp *= pow44 - pow1346; + temp *= pow44 - pow1350; + temp *= pow44 - pow1354; + temp *= pow44 - pow1358; + temp *= pow44 - pow1362; + temp *= pow44 - pow1366; + temp *= pow44 - pow1370; + temp *= pow44 - pow1374; + temp *= pow44 - pow1378; + temp *= pow44 - pow1382; + temp *= pow44 - pow1386; + temp *= pow44 - pow1390; + domain119 = temp * (domain118); + temp = pow44 - pow1331; + temp *= pow44 - pow1335; + temp *= pow44 - pow1339; + temp *= pow44 - pow1343; + temp *= pow44 - pow1347; + temp *= pow44 - pow1351; + temp *= pow44 - pow1355; + temp *= pow44 - pow1359; + temp *= pow44 - pow1363; + temp *= pow44 - pow1367; + temp *= pow44 - pow1371; + temp *= pow44 - pow1375; + temp *= pow44 - pow1379; + temp *= pow44 - pow1383; + temp *= pow44 - pow1387; + temp *= pow44 - pow1391; + temp *= domain115; + domain120 = temp * (domain119); + temp = pow44 - pow1392; + temp *= pow44 - pow1393; + temp *= pow44 - pow1394; + temp *= pow44 - pow1395; + temp *= pow44 - pow1396; + temp *= pow44 - pow1397; + temp *= pow44 - pow1398; + domain121 = temp * (pow44 - pow1399); + temp = pow44 - pow1400; + temp *= pow44 - pow1401; + temp *= pow44 - pow1402; + temp *= pow44 - pow1403; + temp *= pow44 - pow1404; + temp *= pow44 - pow1405; + temp *= pow44 - pow1406; + temp *= pow44 - pow1407; + temp *= pow44 - pow1408; + temp *= pow44 - pow1409; + temp *= pow44 - pow1410; + temp *= pow44 - pow1411; + temp *= pow44 - pow1412; + temp *= pow44 - pow1413; + temp *= pow44 - pow1414; + temp *= pow44 - pow1415; + temp *= domain120; + domain122 = temp * (domain121); + temp = pow44 - pow1431; + temp *= pow44 - pow1432; + temp *= pow44 - pow1433; + temp *= pow44 - pow1434; + temp *= pow44 - pow1435; + temp *= pow44 - pow1436; + temp *= pow44 - pow1437; + temp *= pow44 - pow1438; + temp *= pow44 - pow1462; + temp *= pow44 - pow1463; + temp *= pow44 - pow1464; + temp *= pow44 - pow1465; + temp *= pow44 - pow1466; + temp *= pow44 - pow1467; + temp *= pow44 - pow1468; + domain123 = temp * (pow44 - pow1469); + temp = pow44 - pow1501; + temp *= pow44 - pow1502; + temp *= pow44 - pow1503; + temp *= pow44 - pow1504; + temp *= pow44 - pow1505; + temp *= pow44 - pow1506; + temp *= pow44 - pow1507; + temp *= pow44 - pow1508; + temp *= pow44 - pow1532; + temp *= pow44 - pow1533; + temp *= pow44 - pow1534; + temp *= pow44 - pow1535; + temp *= pow44 - pow1536; + temp *= pow44 - pow1537; + temp *= pow44 - pow1538; + temp *= pow44 - pow1539; + domain124 = temp * (domain123); + temp = pow44 - pow1439; + temp *= pow44 - pow1440; + temp *= pow44 - pow1441; + temp *= pow44 - pow1442; + temp *= pow44 - pow1443; + temp *= pow44 - pow1444; + temp *= pow44 - pow1445; + temp *= pow44 - pow1446; + temp *= pow44 - pow1447; + temp *= pow44 - pow1448; + temp *= pow44 - pow1449; + temp *= pow44 - pow1450; + temp *= pow44 - pow1451; + temp *= pow44 - pow1452; + temp *= pow44 - pow1453; + temp *= pow44 - pow1454; + temp *= pow44 - pow1470; + temp *= pow44 - pow1471; + temp *= pow44 - pow1472; + temp *= pow44 - pow1473; + temp *= pow44 - pow1474; + temp *= pow44 - pow1475; + temp *= pow44 - pow1476; + temp *= pow44 - pow1477; + temp *= pow44 - pow1478; + temp *= pow44 - pow1479; + temp *= pow44 - pow1480; + temp *= pow44 - pow1481; + temp *= pow44 - pow1482; + temp *= pow44 - pow1483; + temp *= pow44 - pow1484; + temp *= pow44 - pow1485; + temp *= pow44 - pow1509; + temp *= pow44 - pow1510; + temp *= pow44 - pow1511; + temp *= pow44 - pow1512; + temp *= pow44 - pow1513; + temp *= pow44 - pow1514; + temp *= pow44 - pow1515; + temp *= pow44 - pow1516; + temp *= pow44 - pow1517; + temp *= pow44 - pow1518; + temp *= pow44 - pow1519; + temp *= pow44 - pow1520; + temp *= pow44 - pow1521; + temp *= pow44 - pow1522; + temp *= pow44 - pow1523; + temp *= pow44 - pow1524; + temp *= pow44 - pow1540; + temp *= pow44 - pow1541; + temp *= pow44 - pow1542; + temp *= pow44 - pow1543; + temp *= pow44 - pow1544; + temp *= pow44 - pow1545; + temp *= pow44 - pow1546; + temp *= pow44 - pow1547; + temp *= pow44 - pow1548; + temp *= pow44 - pow1549; + temp *= pow44 - pow1550; + temp *= pow44 - pow1551; + temp *= pow44 - pow1552; + temp *= pow44 - pow1553; + temp *= pow44 - pow1554; + temp *= pow44 - pow1555; + temp *= domain122; + domain125 = temp * (domain124); + temp = pow44 - pow1571; + temp *= pow44 - pow1572; + temp *= pow44 - pow1573; + temp *= pow44 - pow1574; + temp *= pow44 - pow1575; + temp *= pow44 - pow1576; + temp *= pow44 - pow1577; + temp *= pow44 - pow1578; + temp *= pow44 - pow1579; + temp *= pow44 - pow1580; + temp *= pow44 - pow1581; + temp *= pow44 - pow1582; + temp *= pow44 - pow1583; + temp *= pow44 - pow1584; + temp *= pow44 - pow1585; + temp *= pow44 - pow1586; + temp *= pow44 - pow1587; + temp *= pow44 - pow1588; + temp *= pow44 - pow1589; + temp *= pow44 - pow1590; + temp *= pow44 - pow1591; + temp *= pow44 - pow1592; + temp *= pow44 - pow1593; + temp *= pow44 - pow1594; + temp *= pow44 - pow1602; + temp *= pow44 - pow1604; + temp *= pow44 - pow1606; + temp *= pow44 - pow1608; + temp *= pow44 - pow1610; + temp *= pow44 - pow1612; + temp *= pow44 - pow1614; + temp *= pow44 - pow1616; + temp *= pow44 - pow1618; + temp *= pow44 - pow1619; + temp *= pow44 - pow1620; + temp *= pow44 - pow1621; + temp *= pow44 - pow1622; + temp *= pow44 - pow1623; + temp *= pow44 - pow1624; + temp *= pow44 - pow1625; + temp *= pow44 - pow1626; + temp *= pow44 - pow1627; + temp *= pow44 - pow1628; + temp *= pow44 - pow1629; + temp *= pow44 - pow1630; + temp *= pow44 - pow1631; + temp *= pow44 - pow1632; + temp *= pow44 - pow1633; + domain126 = temp * (domain125); + temp = pow44 - pow1603; + temp *= pow44 - pow1605; + temp *= pow44 - pow1607; + temp *= pow44 - pow1609; + temp *= pow44 - pow1611; + temp *= pow44 - pow1613; + temp *= pow44 - pow1615; + temp *= pow44 - pow1617; + temp *= pow44 - pow1634; + temp *= pow44 - pow1635; + temp *= pow44 - pow1636; + temp *= pow44 - pow1637; + temp *= pow44 - pow1638; + temp *= pow44 - pow1639; + temp *= pow44 - pow1640; + temp *= pow44 - pow1641; + temp *= pow44 - pow1642; + temp *= pow44 - pow1643; + temp *= pow44 - pow1644; + temp *= pow44 - pow1645; + temp *= pow44 - pow1646; + temp *= pow44 - pow1647; + temp *= pow44 - pow1648; + temp *= pow44 - pow1649; + domain127 = temp * (domain126); + temp = domain49; + domain128 = temp * (domain69); + temp = domain101; + domain129 = temp * (domain128); + temp = domain106; + domain130 = temp * (domain129); + temp = domain62; + temp *= domain66; + domain131 = temp * (domain71); + temp = domain74; + domain132 = temp * (domain131); + temp = domain78; + domain133 = temp * (domain132); + temp = domain73; + domain134 = temp * (domain75); + temp = domain99; + domain135 = temp * (domain102); + temp = domain107; + temp *= domain115; + temp *= domain121; + domain136 = temp * (domain129); + temp = domain124; + domain137 = temp * (domain136); + temp = domain79; + temp *= domain86; + temp *= domain92; + domain138 = temp * (domain132); + temp = domain95; + domain139 = temp * (domain138); + temp = domain123; + domain140 = temp * (domain136); + temp = domain94; + domain141 = temp * (domain138); + temp = domain114; + domain142 = temp * (domain119); + temp = domain85; + domain143 = temp * (domain90); + temp = domain83; + domain144 = temp * (domain88); + temp = domain111; + domain145 = temp * (domain117); + temp = domain77; + domain146 = temp * (domain80); + temp = domain105; + domain147 = temp * (domain108); + temp = domain84; + domain148 = temp * (domain89); + temp = domain113; + domain149 = temp * (domain118); + temp = domain82; + domain150 = temp * (domain87); + temp = domain110; + domain151 = temp * (domain116); + temp = pow44 - pow820; + temp *= pow44 - pow821; + temp *= pow44 - pow822; + temp *= pow44 - pow823; + temp *= pow44 - pow824; + temp *= pow44 - pow825; + temp *= pow44 - pow826; + temp *= pow44 - pow827; + temp *= pow44 - pow828; + temp *= pow44 - pow829; + temp *= pow44 - pow830; + temp *= pow44 - pow831; + temp *= pow44 - pow832; + temp *= pow44 - pow833; + temp *= pow44 - pow834; + temp *= pow44 - pow835; + temp *= pow44 - pow836; + temp *= pow44 - pow837; + temp *= pow44 - pow838; + temp *= pow44 - pow839; + temp *= pow44 - pow840; + temp *= pow44 - pow841; + temp *= pow44 - pow842; + temp *= pow44 - pow890; + temp *= pow44 - pow891; + temp *= pow44 - pow892; + temp *= pow44 - pow893; + temp *= pow44 - pow894; + temp *= pow44 - pow895; + temp *= pow44 - pow896; + temp *= pow44 - pow897; + temp *= pow44 - pow898; + temp *= pow44 - pow899; + temp *= pow44 - pow900; + temp *= pow44 - pow901; + temp *= pow44 - pow902; + temp *= pow44 - pow903; + temp *= pow44 - pow904; + temp *= pow44 - pow905; + temp *= pow44 - pow906; + temp *= pow44 - pow907; + temp *= pow44 - pow908; + temp *= pow44 - pow909; + temp *= pow44 - pow910; + temp *= pow44 - pow911; + temp *= pow44 - pow912; + temp *= pow44 - pow1017; + temp *= pow44 - pow1020; + temp *= pow44 - pow1023; + temp *= pow44 - pow1026; + temp *= pow44 - pow1029; + temp *= pow44 - pow1032; + temp *= pow44 - pow1035; + temp *= pow44 - pow1036; + temp *= pow44 - pow1037; + temp *= pow44 - pow1038; + temp *= pow44 - pow1039; + temp *= pow44 - pow1040; + temp *= pow44 - pow1041; + temp *= pow44 - pow1042; + temp *= pow44 - pow1043; + temp *= pow44 - pow1044; + temp *= pow44 - pow1045; + temp *= pow44 - pow1046; + temp *= pow44 - pow1047; + temp *= pow44 - pow1048; + temp *= pow44 - pow1049; + temp *= pow44 - pow1050; + temp *= pow44 - pow1051; + temp *= pow44 - pow1266; + temp *= pow44 - pow1267; + temp *= pow44 - pow1268; + temp *= pow44 - pow1269; + temp *= pow44 - pow1270; + temp *= pow44 - pow1271; + temp *= pow44 - pow1272; + temp *= pow44 - pow1273; + temp *= pow44 - pow1274; + temp *= pow44 - pow1275; + temp *= pow44 - pow1276; + temp *= pow44 - pow1277; + temp *= pow44 - pow1278; + temp *= pow44 - pow1279; + temp *= pow44 - pow1280; + temp *= pow44 - pow1281; + temp *= pow44 - pow1282; + temp *= pow44 - pow1283; + temp *= pow44 - pow1284; + temp *= pow44 - pow1285; + temp *= pow44 - pow1286; + temp *= pow44 - pow1287; + temp *= pow44 - pow1288; + temp *= pow44 - pow1666; + temp *= pow44 - pow1667; + temp *= pow44 - pow1668; + temp *= pow44 - pow1669; + temp *= pow44 - pow1670; + temp *= pow44 - pow1671; + temp *= pow44 - pow1672; + temp *= pow44 - pow1673; + temp *= pow44 - pow1674; + temp *= pow44 - pow1675; + temp *= pow44 - pow1676; + temp *= pow44 - pow1677; + temp *= pow44 - pow1678; + temp *= pow44 - pow1679; + temp *= pow44 - pow1680; + temp *= pow44 - pow1681; + temp *= pow44 - pow1682; + temp *= pow44 - pow1683; + temp *= pow44 - pow1684; + temp *= pow44 - pow1685; + temp *= pow44 - pow1686; + temp *= pow44 - pow1687; + temp *= pow44 - pow1688; + temp *= pow44 - pow1689; + temp *= pow44 - pow2615; + temp *= pow44 - pow2616; + temp *= pow44 - pow2617; + temp *= pow44 - pow2618; + temp *= pow44 - pow2619; + temp *= pow44 - pow2620; + temp *= pow44 - pow2621; + temp *= pow44 - pow2622; + temp *= pow44 - pow2623; + temp *= pow44 - pow2624; + temp *= pow44 - pow2625; + temp *= pow44 - pow2626; + temp *= pow44 - pow2627; + temp *= pow44 - pow2628; + temp *= pow44 - pow2629; + temp *= pow44 - pow2630; + temp *= pow44 - pow2631; + temp *= pow44 - pow2632; + temp *= pow44 - pow2633; + temp *= pow44 - pow2634; + temp *= pow44 - pow2635; + temp *= pow44 - pow2636; + temp *= pow44 - pow2637; + temp *= domain50; + temp *= domain58; + temp *= domain68; + temp *= domain100; + temp *= domain104; + domain152 = temp * (domain112); + domain153 = point - 1; + domain154 = point - pow50; + }; + let pow3395; + let pow3396; + if uses_mul_mod_builtin != 0 { + let temp3395 = point.pow_felt(&(safe_div(global_values.trace_length, mul_mod_row_ratio)?)); + pow3395 = temp3395; + let temp3396 = trace_generator.pow_felt(&(global_values.trace_length - mul_mod_row_ratio)); + pow3396 = temp3396; + domain155 = pow3395 - 1; + domain156 = point - 1; + domain157 = point - pow3396; + }; + let pow3397; + let pow3398; + let pow3399; + let pow3400; + let pow3401; + let pow3402; + let pow3403; + if uses_pedersen_builtin != 0 { + let temp3397 = + point.pow_felt(&(safe_div(global_values.trace_length, pedersen_builtin_row_ratio)?)); + pow3397 = temp3397; + pow3398 = pow3397 * pow3397; // pow(point, &(safe_div(((2 * global_values.trace_length)), pedersen_builtin_row_ratio))). + let temp3399 = point.pow_felt( + &(safe_div(FELT_512 * global_values.trace_length, pedersen_builtin_row_ratio)?), + ); + pow3399 = temp3399; + let temp3400 = + trace_generator.pow_felt(&(global_values.trace_length - pedersen_builtin_row_ratio)); + pow3400 = temp3400; + let temp3401 = trace_generator.pow_felt(&(safe_div(global_values.trace_length, FELT_2)?)); + pow3401 = temp3401; + let temp3402 = + trace_generator.pow_felt(&(safe_div(FELT_63 * global_values.trace_length, FELT_64)?)); + pow3402 = temp3402; + let temp3403 = + trace_generator.pow_felt(&(safe_div(FELT_255 * global_values.trace_length, FELT_256)?)); + pow3403 = temp3403; + + domain158 = pow3399 - 1; + domain159 = pow3398 - 1; + domain160 = pow3398 - pow3403; + domain161 = pow3398 - pow3402; + domain162 = pow3397 - pow3401; + domain163 = pow3397 - 1; + domain164 = point - pow3400; + domain165 = point - 1; + }; + let pow3404; + let pow3405; + let pow3406; + let pow3407; + let pow3408; + let pow3409; + let pow3410; + let pow3411; + let pow3412; + let pow3413; + let pow3414; + let pow3415; + let pow3416; + let pow3417; + let pow3418; + let pow3419; + let pow3420; + let pow3421; + let pow3422; + let pow3423; + let pow3424; + if uses_poseidon_builtin != 0 { + let temp3404 = point.pow_felt(&(safe_div(global_values.trace_length, poseidon_row_ratio)?)); + pow3404 = temp3404; + pow3405 = pow3404 * pow3404; // pow(point, &(safe_div(((2 * global_values.trace_length)), poseidon_row_ratio))). + let temp3406 = + point.pow_felt(&(safe_div(FELT_8 * global_values.trace_length, poseidon_row_ratio)?)); + pow3406 = temp3406; + let temp3407 = + point.pow_felt(&(safe_div(FELT_32 * global_values.trace_length, poseidon_row_ratio)?)); + pow3407 = temp3407; + pow3408 = pow3407 * pow3407; // pow(point, &(safe_div(((64 * global_values.trace_length)), poseidon_row_ratio))). + let temp3409 = trace_generator + .pow_felt(&(global_values.trace_length - (safe_div(poseidon_row_ratio, FELT_2)?))); + pow3409 = temp3409; + let temp3410 = + trace_generator.pow_felt(&(safe_div(FELT_21 * global_values.trace_length, FELT_32)?)); + pow3410 = temp3410; + let temp3411 = + trace_generator.pow_felt(&(safe_div(FELT_5 * global_values.trace_length, FELT_8)?)); + pow3411 = temp3411; + let temp3412 = + trace_generator.pow_felt(&(safe_div(FELT_19 * global_values.trace_length, FELT_32)?)); + pow3412 = temp3412; + let temp3413 = + trace_generator.pow_felt(&(safe_div(FELT_63 * global_values.trace_length, FELT_64)?)); + pow3413 = temp3413; + let temp3414 = + trace_generator.pow_felt(&(safe_div(FELT_61 * global_values.trace_length, FELT_64)?)); + pow3414 = temp3414; + let temp3415 = + trace_generator.pow_felt(&(safe_div(FELT_15 * global_values.trace_length, FELT_16)?)); + pow3415 = temp3415; + let temp3416 = + trace_generator.pow_felt(&(safe_div(FELT_29 * global_values.trace_length, FELT_32)?)); + pow3416 = temp3416; + let temp3417 = + trace_generator.pow_felt(&(safe_div(FELT_7 * global_values.trace_length, FELT_8)?)); + pow3417 = temp3417; + let temp3418 = + trace_generator.pow_felt(&(safe_div(FELT_27 * global_values.trace_length, FELT_32)?)); + pow3418 = temp3418; + let temp3419 = + trace_generator.pow_felt(&(safe_div(FELT_13 * global_values.trace_length, FELT_16)?)); + pow3419 = temp3419; + let temp3420 = + trace_generator.pow_felt(&(safe_div(FELT_25 * global_values.trace_length, FELT_32)?)); + pow3420 = temp3420; + let temp3421 = + trace_generator.pow_felt(&(safe_div(FELT_23 * global_values.trace_length, FELT_32)?)); + pow3421 = temp3421; + let temp3422 = + trace_generator.pow_felt(&(safe_div(FELT_11 * global_values.trace_length, FELT_16)?)); + pow3422 = temp3422; + let temp3423 = + trace_generator.pow_felt(&(safe_div(FELT_31 * global_values.trace_length, FELT_32)?)); + pow3423 = temp3423; + let temp3424 = + trace_generator.pow_felt(&(safe_div(FELT_3 * global_values.trace_length, FELT_4)?)); + pow3424 = temp3424; + + domain166 = pow3408 - 1; + domain167 = pow3407 - 1; + domain168 = pow3406 - 1; + domain169 = pow3405 - 1; + domain170 = pow3405 - pow3424; + domain171 = pow3404 - pow3423; + let mut temp = pow3404 - pow3422; + temp *= pow3404 - pow3421; + temp *= pow3404 - pow3424; + temp *= pow3404 - pow3420; + temp *= pow3404 - pow3419; + temp *= pow3404 - pow3418; + temp *= pow3404 - pow3417; + temp *= pow3404 - pow3416; + temp *= pow3404 - pow3415; + domain172 = temp * (domain171); + domain173 = pow3404 - 1; + temp = pow3404 - pow3414; + temp *= pow3404 - pow3413; + domain174 = temp * (domain171); + temp = pow3404 - pow3412; + temp *= pow3404 - pow3411; + temp *= pow3404 - pow3410; + domain175 = temp * (domain172); + domain176 = point - 1; + domain177 = point - pow3409; + }; + let pow3425; + let pow3426; + if uses_range_check96_builtin != 0 { + let temp3425 = point + .pow_felt(&(safe_div(global_values.trace_length, range_check96_builtin_row_ratio)?)); + pow3425 = temp3425; + let temp3426 = trace_generator + .pow_felt(&(global_values.trace_length - range_check96_builtin_row_ratio)); + pow3426 = temp3426; + + domain178 = pow3425 - 1; + domain179 = point - pow3426; + domain180 = point - 1; + }; + let pow3427; + let pow3428; + if uses_range_check_builtin != 0 { + let temp3427 = + point.pow_felt(&(safe_div(global_values.trace_length, range_check_builtin_row_ratio)?)); + pow3427 = temp3427; + let temp3428 = + trace_generator.pow_felt(&(global_values.trace_length - range_check_builtin_row_ratio)); + pow3428 = temp3428; + + domain181 = pow3427 - 1; + domain182 = point - pow3428; + domain183 = point - 1; + }; + + // Fetch mask variables. + let cpu_decode_opcode_range_check_column_column_row_expr0 = mask_values[0]; + let cpu_decode_opcode_range_check_column_column_row_expr680 = mask_values[1]; + let mem_pool_value_column_row_expr1 = mask_values[2]; + let range_check16_pool_column_row_expr2 = mask_values[3]; + let range_check16_pool_column_row_expr3 = mask_values[4]; + let range_check16_pool_column_row_expr4 = mask_values[5]; + let cpu_decode_opcode_range_check_column_column_row_expr681 = mask_values[6]; + let cpu_decode_opcode_range_check_column_column_row_expr682 = mask_values[7]; + let cpu_decode_opcode_range_check_column_column_row_expr683 = mask_values[8]; + let cpu_decode_opcode_range_check_column_column_row_expr684 = mask_values[9]; + let cpu_decode_opcode_range_check_column_column_row_expr685 = mask_values[10]; + let cpu_decode_opcode_range_check_column_column_row_expr686 = mask_values[11]; + let cpu_decode_opcode_range_check_column_column_row_expr687 = mask_values[12]; + let cpu_decode_opcode_range_check_column_column_row_expr688 = mask_values[13]; + let cpu_decode_opcode_range_check_column_column_row_expr689 = mask_values[14]; + let cpu_decode_opcode_range_check_column_column_row_expr690 = mask_values[15]; + let cpu_decode_opcode_range_check_column_column_row_expr691 = mask_values[16]; + let cpu_decode_opcode_range_check_column_column_row_expr692 = mask_values[17]; + let cpu_decode_opcode_range_check_column_column_row_expr693 = mask_values[18]; + let cpu_decode_opcode_range_check_column_column_row_expr694 = mask_values[19]; + let cpu_decode_opcode_range_check_column_column_row_expr695 = mask_values[20]; + let cpu_decode_opcode_range_check_column_column_row_expr696 = mask_values[21]; + let cpu_decode_opcode_range_check_column_column_row_expr697 = mask_values[22]; + let cpu_decode_opcode_range_check_column_column_row_expr698 = mask_values[23]; + let cpu_decode_opcode_range_check_column_column_row_expr699 = mask_values[24]; + let cpu_decode_opcode_range_check_column_column_row_expr700 = mask_values[25]; + let mem_pool_addr_column_row_expr5 = mask_values[26]; + let cpu_registers_fp_column_row_expr6 = mask_values[27]; + let cpu_registers_ap_column_row_expr7 = mask_values[28]; + let mem_pool_addr_column_row_expr8 = mask_values[29]; + let cpu_decode_opcode_range_check_column_column_row_expr701 = mask_values[30]; + let mem_pool_addr_column_row_expr9 = mask_values[31]; + let mem_pool_addr_column_row_expr10 = mask_values[32]; + let mem_pool_value_column_row_expr11 = mask_values[33]; + let cpu_operands_ops_mul_column_row_expr12 = mask_values[34]; + let mem_pool_value_column_row_expr13 = mask_values[35]; + let cpu_operands_res_column_row_expr14 = mask_values[36]; + let cpu_update_registers_update_pc_tmp0_column_row_expr15 = mask_values[37]; + let mem_pool_value_column_row_expr16 = mask_values[38]; + let cpu_update_registers_update_pc_tmp1_column_row_expr17 = mask_values[39]; + let mem_pool_addr_column_row_expr18 = mask_values[40]; + let cpu_registers_ap_column_row_expr19 = mask_values[41]; + let cpu_decode_opcode_range_check_column_column_row_expr702 = mask_values[42]; + let cpu_decode_opcode_range_check_column_column_row_expr703 = mask_values[43]; + let cpu_decode_opcode_range_check_column_column_row_expr704 = mask_values[44]; + let cpu_decode_opcode_range_check_column_column_row_expr705 = mask_values[45]; + let cpu_registers_fp_column_row_expr20 = mask_values[46]; + let cpu_decode_opcode_range_check_column_column_row_expr706 = mask_values[47]; + let cpu_decode_opcode_range_check_column_column_row_expr707 = mask_values[48]; + let memory_sorted_addr_column_row_expr21 = mask_values[49]; + let memory_sorted_value_column_row_expr22 = mask_values[50]; + let mem_pool_addr_column_row_expr24 = mask_values[51]; + let mem_pool_value_column_row_expr25 = mask_values[52]; + let memory_sorted_addr_column_row_expr26 = mask_values[53]; + let memory_sorted_value_column_row_expr27 = mask_values[54]; + let mem_pool_addr_column_row_expr29 = mask_values[55]; + let mem_pool_value_column_row_expr30 = mask_values[56]; + let mem_pool_addr_column_row_expr31 = mask_values[57]; + let mem_pool_value_column_row_expr32 = mask_values[58]; + let range_check16_sorted_column_row_expr33 = mask_values[59]; + let range_check16_pool_column_row_expr35 = mask_values[60]; + let range_check16_sorted_column_row_expr36 = mask_values[61]; + let range_check16_pool_column_row_expr38 = mask_values[62]; + let diluted_check_permuted_values_column_row_expr39 = mask_values[63]; + let diluted_pool_column_row_expr41 = mask_values[64]; + let diluted_check_permuted_values_column_row_expr42 = mask_values[65]; + let diluted_pool_column_row_expr44 = mask_values[66]; + let pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr47 = mask_values[67]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr48 = mask_values[68]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr49 = mask_values[69]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr50 = mask_values[70]; + let pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr51 = mask_values[71]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr52 = mask_values[72]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr53 = mask_values[73]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr54 = mask_values[74]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr55 = mask_values[75]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr56 = mask_values[76]; + let pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr59 = mask_values[77]; + let pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr57 = mask_values[78]; + let pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr60 = mask_values[79]; + let pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr61 = mask_values[80]; + let pedersen_hash0_ec_subset_sum_slope_column_row_expr58 = mask_values[81]; + let pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr63 = mask_values[82]; + let pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr65 = mask_values[83]; + let pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr62 = mask_values[84]; + let pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr64 = mask_values[85]; + let mem_pool_value_column_row_expr66 = mask_values[86]; + let mem_pool_addr_column_row_expr67 = mask_values[87]; + let mem_pool_addr_column_row_expr68 = mask_values[88]; + let mem_pool_addr_column_row_expr69 = mask_values[89]; + let pedersen_hash0_ec_subset_sum_selector_column_row_expr71 = mask_values[90]; + let mem_pool_value_column_row_expr70 = mask_values[91]; + let mem_pool_addr_column_row_expr72 = mask_values[92]; + let mem_pool_value_column_row_expr73 = mask_values[93]; + let pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr74 = mask_values[94]; + let mem_pool_value_column_row_expr75 = mask_values[95]; + let range_check16_pool_column_row_expr708 = mask_values[96]; + let range_check16_pool_column_row_expr709 = mask_values[97]; + let range_check16_pool_column_row_expr710 = mask_values[98]; + let range_check16_pool_column_row_expr711 = mask_values[99]; + let range_check16_pool_column_row_expr712 = mask_values[100]; + let range_check16_pool_column_row_expr713 = mask_values[101]; + let range_check16_pool_column_row_expr714 = mask_values[102]; + let range_check16_pool_column_row_expr715 = mask_values[103]; + let mem_pool_addr_column_row_expr76 = mask_values[104]; + let mem_pool_addr_column_row_expr77 = mask_values[105]; + let ecdsa_signature0_key_points_x_column_row_expr80 = mask_values[106]; + let ecdsa_signature0_key_points_y_column_row_expr78 = mask_values[107]; + let ecdsa_signature0_key_points_x_column_row_expr81 = mask_values[108]; + let ecdsa_signature0_key_points_y_column_row_expr82 = mask_values[109]; + let ecdsa_signature0_doubling_slope_column_row_expr79 = mask_values[110]; + let ecdsa_signature0_exponentiate_generator_selector_column_row_expr83 = mask_values[111]; + let ecdsa_signature0_exponentiate_generator_selector_column_row_expr716 = mask_values[112]; + let ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86 = mask_values[113]; + let ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr84 = mask_values[114]; + let ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr87 = mask_values[115]; + let ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr88 = mask_values[116]; + let ecdsa_signature0_exponentiate_generator_slope_column_row_expr85 = mask_values[117]; + let ecdsa_signature0_exponentiate_generator_x_diff_inv_column_row_expr89 = mask_values[118]; + let ecdsa_signature0_exponentiate_key_selector_column_row_expr90 = mask_values[119]; + let ecdsa_signature0_exponentiate_key_selector_column_row_expr717 = mask_values[120]; + let ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93 = mask_values[121]; + let ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr91 = mask_values[122]; + let ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr94 = mask_values[123]; + let ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr95 = mask_values[124]; + let ecdsa_signature0_exponentiate_key_slope_column_row_expr92 = mask_values[125]; + let ecdsa_signature0_exponentiate_key_x_diff_inv_column_row_expr96 = mask_values[126]; + let ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr100 = mask_values[127]; + let ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr97 = mask_values[128]; + let ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr101 = mask_values[129]; + let ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr98 = mask_values[130]; + let ecdsa_signature0_key_points_x_column_row_expr102 = mask_values[131]; + let ecdsa_signature0_key_points_y_column_row_expr103 = mask_values[132]; + let ecdsa_signature0_add_results_slope_column_row_expr99 = mask_values[133]; + let ecdsa_signature0_add_results_inv_column_row_expr104 = mask_values[134]; + let ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr107 = mask_values[135]; + let ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr105 = mask_values[136]; + let ecdsa_signature0_extract_r_slope_column_row_expr106 = mask_values[137]; + let ecdsa_signature0_extract_r_inv_column_row_expr108 = mask_values[138]; + let ecdsa_signature0_z_inv_column_row_expr109 = mask_values[139]; + let ecdsa_signature0_r_w_inv_column_row_expr110 = mask_values[140]; + let ecdsa_signature0_q_x_squared_column_row_expr111 = mask_values[141]; + let mem_pool_addr_column_row_expr112 = mask_values[142]; + let mem_pool_addr_column_row_expr113 = mask_values[143]; + let mem_pool_addr_column_row_expr114 = mask_values[144]; + let mem_pool_value_column_row_expr115 = mask_values[145]; + let mem_pool_value_column_row_expr116 = mask_values[146]; + let mem_pool_addr_column_row_expr117 = mask_values[147]; + let mem_pool_addr_column_row_expr118 = mask_values[148]; + let mem_pool_addr_column_row_expr119 = mask_values[149]; + let mem_pool_addr_column_row_expr120 = mask_values[150]; + let mem_pool_addr_column_row_expr121 = mask_values[151]; + let mem_pool_value_column_row_expr122 = mask_values[152]; + let diluted_pool_column_row_expr126 = mask_values[153]; + let diluted_pool_column_row_expr718 = mask_values[154]; + let diluted_pool_column_row_expr719 = mask_values[155]; + let diluted_pool_column_row_expr720 = mask_values[156]; + let diluted_pool_column_row_expr721 = mask_values[157]; + let diluted_pool_column_row_expr722 = mask_values[158]; + let diluted_pool_column_row_expr723 = mask_values[159]; + let diluted_pool_column_row_expr724 = mask_values[160]; + let diluted_pool_column_row_expr725 = mask_values[161]; + let diluted_pool_column_row_expr726 = mask_values[162]; + let diluted_pool_column_row_expr727 = mask_values[163]; + let diluted_pool_column_row_expr728 = mask_values[164]; + let diluted_pool_column_row_expr729 = mask_values[165]; + let diluted_pool_column_row_expr730 = mask_values[166]; + let diluted_pool_column_row_expr731 = mask_values[167]; + let diluted_pool_column_row_expr732 = mask_values[168]; + let mem_pool_value_column_row_expr123 = mask_values[169]; + let mem_pool_value_column_row_expr124 = mask_values[170]; + let mem_pool_value_column_row_expr125 = mask_values[171]; + let diluted_pool_column_row_expr129 = mask_values[172]; + let diluted_pool_column_row_expr127 = mask_values[173]; + let diluted_pool_column_row_expr128 = mask_values[174]; + let diluted_pool_column_row_expr132 = mask_values[175]; + let diluted_pool_column_row_expr130 = mask_values[176]; + let diluted_pool_column_row_expr131 = mask_values[177]; + let diluted_pool_column_row_expr135 = mask_values[178]; + let diluted_pool_column_row_expr133 = mask_values[179]; + let diluted_pool_column_row_expr134 = mask_values[180]; + let diluted_pool_column_row_expr138 = mask_values[181]; + let diluted_pool_column_row_expr136 = mask_values[182]; + let diluted_pool_column_row_expr137 = mask_values[183]; + let diluted_pool_column_row_expr141 = mask_values[184]; + let diluted_pool_column_row_expr139 = mask_values[185]; + let diluted_pool_column_row_expr140 = mask_values[186]; + let mem_pool_addr_column_row_expr142 = mask_values[187]; + let mem_pool_addr_column_row_expr143 = mask_values[188]; + let mem_pool_addr_column_row_expr144 = mask_values[189]; + let mem_pool_addr_column_row_expr145 = mask_values[190]; + let mem_pool_addr_column_row_expr146 = mask_values[191]; + let mem_pool_addr_column_row_expr147 = mask_values[192]; + let mem_pool_addr_column_row_expr148 = mask_values[193]; + let mem_pool_addr_column_row_expr149 = mask_values[194]; + let ec_op_doubling_slope_column_row_expr151 = mask_values[195]; + let ec_op_doubled_points_x_column_row_expr152 = mask_values[196]; + let ec_op_doubled_points_y_column_row_expr150 = mask_values[197]; + let ec_op_doubled_points_x_column_row_expr153 = mask_values[198]; + let ec_op_doubled_points_y_column_row_expr154 = mask_values[199]; + let mem_pool_value_column_row_expr155 = mask_values[200]; + let mem_pool_value_column_row_expr156 = mask_values[201]; + let ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr157 = mask_values[202]; + let ec_op_ec_subset_sum_selector_column_row_expr158 = mask_values[203]; + let ec_op_ec_subset_sum_selector_column_row_expr159 = mask_values[204]; + let ec_op_ec_subset_sum_selector_column_row_expr160 = mask_values[205]; + let ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr161 = mask_values[206]; + let ec_op_ec_subset_sum_selector_column_row_expr162 = mask_values[207]; + let ec_op_ec_subset_sum_selector_column_row_expr163 = mask_values[208]; + let ec_op_ec_subset_sum_selector_column_row_expr164 = mask_values[209]; + let ec_op_ec_subset_sum_selector_column_row_expr165 = mask_values[210]; + let ec_op_ec_subset_sum_selector_column_row_expr166 = mask_values[211]; + let ec_op_ec_subset_sum_partial_sum_x_column_row_expr169 = mask_values[212]; + let ec_op_ec_subset_sum_partial_sum_y_column_row_expr167 = mask_values[213]; + let ec_op_ec_subset_sum_partial_sum_x_column_row_expr170 = mask_values[214]; + let ec_op_ec_subset_sum_partial_sum_y_column_row_expr171 = mask_values[215]; + let ec_op_ec_subset_sum_slope_column_row_expr168 = mask_values[216]; + let ec_op_ec_subset_sum_x_diff_inv_column_row_expr172 = mask_values[217]; + let mem_pool_value_column_row_expr173 = mask_values[218]; + let mem_pool_value_column_row_expr174 = mask_values[219]; + let mem_pool_value_column_row_expr175 = mask_values[220]; + let mem_pool_value_column_row_expr176 = mask_values[221]; + let ec_op_ec_subset_sum_partial_sum_x_column_row_expr177 = mask_values[222]; + let mem_pool_value_column_row_expr178 = mask_values[223]; + let ec_op_ec_subset_sum_partial_sum_y_column_row_expr179 = mask_values[224]; + let mem_pool_addr_column_row_expr180 = mask_values[225]; + let mem_pool_addr_column_row_expr181 = mask_values[226]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr183 = mask_values[227]; + let mem_pool_value_column_row_expr182 = mask_values[228]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr185 = mask_values[229]; + let mem_pool_value_column_row_expr184 = mask_values[230]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr187 = mask_values[231]; + let mem_pool_value_column_row_expr186 = mask_values[232]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr189 = mask_values[233]; + let mem_pool_value_column_row_expr188 = mask_values[234]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr191 = mask_values[235]; + let mem_pool_value_column_row_expr190 = mask_values[236]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr193 = mask_values[237]; + let mem_pool_value_column_row_expr192 = mask_values[238]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr195 = mask_values[239]; + let mem_pool_value_column_row_expr194 = mask_values[240]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr197 = mask_values[241]; + let mem_pool_value_column_row_expr196 = mask_values[242]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr199 = mask_values[243]; + let mem_pool_value_column_row_expr198 = mask_values[244]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr201 = mask_values[245]; + let mem_pool_value_column_row_expr200 = mask_values[246]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr203 = mask_values[247]; + let mem_pool_value_column_row_expr202 = mask_values[248]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr205 = mask_values[249]; + let mem_pool_value_column_row_expr204 = mask_values[250]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr207 = mask_values[251]; + let mem_pool_value_column_row_expr206 = mask_values[252]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr209 = mask_values[253]; + let mem_pool_value_column_row_expr208 = mask_values[254]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr211 = mask_values[255]; + let mem_pool_value_column_row_expr210 = mask_values[256]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr213 = mask_values[257]; + let mem_pool_value_column_row_expr212 = mask_values[258]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr214 = mask_values[259]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr216 = mask_values[260]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr215 = mask_values[261]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr218 = mask_values[262]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr217 = mask_values[263]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr220 = mask_values[264]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr219 = mask_values[265]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr222 = mask_values[266]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr221 = mask_values[267]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr224 = mask_values[268]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr223 = mask_values[269]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr226 = mask_values[270]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr225 = mask_values[271]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr228 = mask_values[272]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr227 = mask_values[273]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr230 = mask_values[274]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr229 = mask_values[275]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr232 = mask_values[276]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr231 = mask_values[277]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr234 = mask_values[278]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr233 = mask_values[279]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr236 = mask_values[280]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr235 = mask_values[281]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr238 = mask_values[282]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr237 = mask_values[283]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr240 = mask_values[284]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr239 = mask_values[285]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr242 = mask_values[286]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr241 = mask_values[287]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr244 = mask_values[288]; + let keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr243 = mask_values[289]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr245 = mask_values[290]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr733 = mask_values[291]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr734 = mask_values[292]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr735 = mask_values[293]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr736 = mask_values[294]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr737 = mask_values[295]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr246 = mask_values[296]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr738 = mask_values[297]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr247 = mask_values[298]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr739 = mask_values[299]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr248 = mask_values[300]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr740 = mask_values[301]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr249 = mask_values[302]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr741 = mask_values[303]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr250 = mask_values[304]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr742 = mask_values[305]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr251 = mask_values[306]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr743 = mask_values[307]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr252 = mask_values[308]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr744 = mask_values[309]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr253 = mask_values[310]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr745 = mask_values[311]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr254 = mask_values[312]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr746 = mask_values[313]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr255 = mask_values[314]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr747 = mask_values[315]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr256 = mask_values[316]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr748 = mask_values[317]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr257 = mask_values[318]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr258 = mask_values[319]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr749 = mask_values[320]; + let keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr259 = mask_values[321]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr750 = mask_values[322]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr751 = mask_values[323]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr752 = mask_values[324]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr753 = mask_values[325]; + let diluted_pool_column_row_expr260 = mask_values[326]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr754 = mask_values[327]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr755 = mask_values[328]; + let diluted_pool_column_row_expr261 = mask_values[329]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr756 = mask_values[330]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr757 = mask_values[331]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr758 = mask_values[332]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr759 = mask_values[333]; + let diluted_pool_column_row_expr262 = mask_values[334]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr760 = mask_values[335]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr761 = mask_values[336]; + let diluted_pool_column_row_expr263 = mask_values[337]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr762 = mask_values[338]; + let keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr763 = mask_values[339]; + let diluted_pool_column_row_expr268 = mask_values[340]; + let diluted_pool_column_row_expr264 = mask_values[341]; + let diluted_pool_column_row_expr265 = mask_values[342]; + let diluted_pool_column_row_expr266 = mask_values[343]; + let diluted_pool_column_row_expr267 = mask_values[344]; + let diluted_pool_column_row_expr269 = mask_values[345]; + let diluted_pool_column_row_expr270 = mask_values[346]; + let diluted_pool_column_row_expr276 = mask_values[347]; + let diluted_pool_column_row_expr271 = mask_values[348]; + let diluted_pool_column_row_expr272 = mask_values[349]; + let diluted_pool_column_row_expr273 = mask_values[350]; + let diluted_pool_column_row_expr274 = mask_values[351]; + let diluted_pool_column_row_expr275 = mask_values[352]; + let diluted_pool_column_row_expr277 = mask_values[353]; + let diluted_pool_column_row_expr278 = mask_values[354]; + let diluted_pool_column_row_expr284 = mask_values[355]; + let diluted_pool_column_row_expr279 = mask_values[356]; + let diluted_pool_column_row_expr280 = mask_values[357]; + let diluted_pool_column_row_expr281 = mask_values[358]; + let diluted_pool_column_row_expr282 = mask_values[359]; + let diluted_pool_column_row_expr283 = mask_values[360]; + let diluted_pool_column_row_expr285 = mask_values[361]; + let diluted_pool_column_row_expr286 = mask_values[362]; + let diluted_pool_column_row_expr292 = mask_values[363]; + let diluted_pool_column_row_expr287 = mask_values[364]; + let diluted_pool_column_row_expr288 = mask_values[365]; + let diluted_pool_column_row_expr289 = mask_values[366]; + let diluted_pool_column_row_expr290 = mask_values[367]; + let diluted_pool_column_row_expr291 = mask_values[368]; + let diluted_pool_column_row_expr293 = mask_values[369]; + let diluted_pool_column_row_expr294 = mask_values[370]; + let diluted_pool_column_row_expr300 = mask_values[371]; + let diluted_pool_column_row_expr295 = mask_values[372]; + let diluted_pool_column_row_expr296 = mask_values[373]; + let diluted_pool_column_row_expr297 = mask_values[374]; + let diluted_pool_column_row_expr298 = mask_values[375]; + let diluted_pool_column_row_expr299 = mask_values[376]; + let diluted_pool_column_row_expr301 = mask_values[377]; + let diluted_pool_column_row_expr302 = mask_values[378]; + let keccak_keccak_rotated_parity0_column_row_expr305 = mask_values[379]; + let keccak_keccak_rotated_parity0_column_row_expr303 = mask_values[380]; + let diluted_pool_column_row_expr304 = mask_values[381]; + let keccak_keccak_rotated_parity1_column_row_expr308 = mask_values[382]; + let keccak_keccak_rotated_parity1_column_row_expr306 = mask_values[383]; + let diluted_pool_column_row_expr307 = mask_values[384]; + let keccak_keccak_rotated_parity2_column_row_expr311 = mask_values[385]; + let keccak_keccak_rotated_parity2_column_row_expr309 = mask_values[386]; + let diluted_pool_column_row_expr310 = mask_values[387]; + let keccak_keccak_rotated_parity3_column_row_expr314 = mask_values[388]; + let keccak_keccak_rotated_parity3_column_row_expr312 = mask_values[389]; + let diluted_pool_column_row_expr313 = mask_values[390]; + let keccak_keccak_rotated_parity4_column_row_expr317 = mask_values[391]; + let keccak_keccak_rotated_parity4_column_row_expr315 = mask_values[392]; + let diluted_pool_column_row_expr316 = mask_values[393]; + let diluted_pool_column_row_expr318 = mask_values[394]; + let diluted_pool_column_row_expr319 = mask_values[395]; + let diluted_pool_column_row_expr323 = mask_values[396]; + let diluted_pool_column_row_expr320 = mask_values[397]; + let diluted_pool_column_row_expr321 = mask_values[398]; + let keccak_keccak_rotated_parity2_column_row_expr764 = mask_values[399]; + let diluted_pool_column_row_expr322 = mask_values[400]; + let diluted_pool_column_row_expr324 = mask_values[401]; + let diluted_pool_column_row_expr328 = mask_values[402]; + let diluted_pool_column_row_expr325 = mask_values[403]; + let diluted_pool_column_row_expr326 = mask_values[404]; + let diluted_pool_column_row_expr765 = mask_values[405]; + let keccak_keccak_rotated_parity3_column_row_expr766 = mask_values[406]; + let diluted_pool_column_row_expr327 = mask_values[407]; + let diluted_pool_column_row_expr329 = mask_values[408]; + let diluted_pool_column_row_expr333 = mask_values[409]; + let diluted_pool_column_row_expr330 = mask_values[410]; + let diluted_pool_column_row_expr331 = mask_values[411]; + let diluted_pool_column_row_expr767 = mask_values[412]; + let keccak_keccak_rotated_parity4_column_row_expr768 = mask_values[413]; + let diluted_pool_column_row_expr332 = mask_values[414]; + let diluted_pool_column_row_expr334 = mask_values[415]; + let diluted_pool_column_row_expr338 = mask_values[416]; + let diluted_pool_column_row_expr335 = mask_values[417]; + let diluted_pool_column_row_expr336 = mask_values[418]; + let diluted_pool_column_row_expr769 = mask_values[419]; + let keccak_keccak_rotated_parity0_column_row_expr770 = mask_values[420]; + let diluted_pool_column_row_expr337 = mask_values[421]; + let diluted_pool_column_row_expr339 = mask_values[422]; + let diluted_pool_column_row_expr343 = mask_values[423]; + let diluted_pool_column_row_expr340 = mask_values[424]; + let diluted_pool_column_row_expr341 = mask_values[425]; + let diluted_pool_column_row_expr771 = mask_values[426]; + let keccak_keccak_rotated_parity1_column_row_expr772 = mask_values[427]; + let diluted_pool_column_row_expr342 = mask_values[428]; + let diluted_pool_column_row_expr344 = mask_values[429]; + let diluted_pool_column_row_expr348 = mask_values[430]; + let diluted_pool_column_row_expr345 = mask_values[431]; + let diluted_pool_column_row_expr346 = mask_values[432]; + let diluted_pool_column_row_expr773 = mask_values[433]; + let keccak_keccak_rotated_parity2_column_row_expr774 = mask_values[434]; + let diluted_pool_column_row_expr347 = mask_values[435]; + let diluted_pool_column_row_expr349 = mask_values[436]; + let diluted_pool_column_row_expr353 = mask_values[437]; + let diluted_pool_column_row_expr350 = mask_values[438]; + let diluted_pool_column_row_expr351 = mask_values[439]; + let diluted_pool_column_row_expr775 = mask_values[440]; + let keccak_keccak_rotated_parity3_column_row_expr776 = mask_values[441]; + let diluted_pool_column_row_expr352 = mask_values[442]; + let diluted_pool_column_row_expr354 = mask_values[443]; + let diluted_pool_column_row_expr370 = mask_values[444]; + let diluted_pool_column_row_expr355 = mask_values[445]; + let diluted_pool_column_row_expr356 = mask_values[446]; + let diluted_pool_column_row_expr777 = mask_values[447]; + let keccak_keccak_rotated_parity4_column_row_expr778 = mask_values[448]; + let diluted_pool_column_row_expr357 = mask_values[449]; + let diluted_pool_column_row_expr358 = mask_values[450]; + let diluted_pool_column_row_expr359 = mask_values[451]; + let diluted_pool_column_row_expr779 = mask_values[452]; + let keccak_keccak_rotated_parity4_column_row_expr780 = mask_values[453]; + let diluted_pool_column_row_expr360 = mask_values[454]; + let diluted_pool_column_row_expr361 = mask_values[455]; + let diluted_pool_column_row_expr362 = mask_values[456]; + let diluted_pool_column_row_expr781 = mask_values[457]; + let keccak_keccak_rotated_parity4_column_row_expr782 = mask_values[458]; + let diluted_pool_column_row_expr363 = mask_values[459]; + let diluted_pool_column_row_expr364 = mask_values[460]; + let diluted_pool_column_row_expr365 = mask_values[461]; + let diluted_pool_column_row_expr783 = mask_values[462]; + let keccak_keccak_rotated_parity4_column_row_expr784 = mask_values[463]; + let diluted_pool_column_row_expr366 = mask_values[464]; + let diluted_pool_column_row_expr367 = mask_values[465]; + let diluted_pool_column_row_expr368 = mask_values[466]; + let diluted_pool_column_row_expr785 = mask_values[467]; + let keccak_keccak_rotated_parity4_column_row_expr786 = mask_values[468]; + let diluted_pool_column_row_expr369 = mask_values[469]; + let diluted_pool_column_row_expr371 = mask_values[470]; + let diluted_pool_column_row_expr375 = mask_values[471]; + let diluted_pool_column_row_expr372 = mask_values[472]; + let diluted_pool_column_row_expr373 = mask_values[473]; + let diluted_pool_column_row_expr787 = mask_values[474]; + let keccak_keccak_rotated_parity0_column_row_expr788 = mask_values[475]; + let diluted_pool_column_row_expr374 = mask_values[476]; + let diluted_pool_column_row_expr376 = mask_values[477]; + let diluted_pool_column_row_expr380 = mask_values[478]; + let diluted_pool_column_row_expr377 = mask_values[479]; + let diluted_pool_column_row_expr378 = mask_values[480]; + let diluted_pool_column_row_expr789 = mask_values[481]; + let keccak_keccak_rotated_parity1_column_row_expr790 = mask_values[482]; + let diluted_pool_column_row_expr379 = mask_values[483]; + let diluted_pool_column_row_expr381 = mask_values[484]; + let diluted_pool_column_row_expr385 = mask_values[485]; + let diluted_pool_column_row_expr382 = mask_values[486]; + let diluted_pool_column_row_expr383 = mask_values[487]; + let diluted_pool_column_row_expr791 = mask_values[488]; + let keccak_keccak_rotated_parity2_column_row_expr792 = mask_values[489]; + let diluted_pool_column_row_expr384 = mask_values[490]; + let diluted_pool_column_row_expr386 = mask_values[491]; + let diluted_pool_column_row_expr390 = mask_values[492]; + let diluted_pool_column_row_expr387 = mask_values[493]; + let diluted_pool_column_row_expr388 = mask_values[494]; + let diluted_pool_column_row_expr793 = mask_values[495]; + let keccak_keccak_rotated_parity3_column_row_expr794 = mask_values[496]; + let diluted_pool_column_row_expr389 = mask_values[497]; + let diluted_pool_column_row_expr391 = mask_values[498]; + let diluted_pool_column_row_expr395 = mask_values[499]; + let diluted_pool_column_row_expr392 = mask_values[500]; + let diluted_pool_column_row_expr393 = mask_values[501]; + let diluted_pool_column_row_expr795 = mask_values[502]; + let keccak_keccak_rotated_parity4_column_row_expr796 = mask_values[503]; + let diluted_pool_column_row_expr394 = mask_values[504]; + let diluted_pool_column_row_expr396 = mask_values[505]; + let diluted_pool_column_row_expr412 = mask_values[506]; + let diluted_pool_column_row_expr397 = mask_values[507]; + let diluted_pool_column_row_expr398 = mask_values[508]; + let diluted_pool_column_row_expr797 = mask_values[509]; + let keccak_keccak_rotated_parity0_column_row_expr798 = mask_values[510]; + let diluted_pool_column_row_expr399 = mask_values[511]; + let diluted_pool_column_row_expr400 = mask_values[512]; + let diluted_pool_column_row_expr401 = mask_values[513]; + let diluted_pool_column_row_expr799 = mask_values[514]; + let keccak_keccak_rotated_parity0_column_row_expr800 = mask_values[515]; + let diluted_pool_column_row_expr402 = mask_values[516]; + let diluted_pool_column_row_expr403 = mask_values[517]; + let diluted_pool_column_row_expr404 = mask_values[518]; + let diluted_pool_column_row_expr801 = mask_values[519]; + let keccak_keccak_rotated_parity0_column_row_expr802 = mask_values[520]; + let diluted_pool_column_row_expr405 = mask_values[521]; + let diluted_pool_column_row_expr406 = mask_values[522]; + let diluted_pool_column_row_expr407 = mask_values[523]; + let diluted_pool_column_row_expr803 = mask_values[524]; + let keccak_keccak_rotated_parity0_column_row_expr804 = mask_values[525]; + let diluted_pool_column_row_expr408 = mask_values[526]; + let diluted_pool_column_row_expr409 = mask_values[527]; + let diluted_pool_column_row_expr410 = mask_values[528]; + let diluted_pool_column_row_expr805 = mask_values[529]; + let keccak_keccak_rotated_parity0_column_row_expr806 = mask_values[530]; + let diluted_pool_column_row_expr411 = mask_values[531]; + let diluted_pool_column_row_expr413 = mask_values[532]; + let diluted_pool_column_row_expr429 = mask_values[533]; + let diluted_pool_column_row_expr414 = mask_values[534]; + let diluted_pool_column_row_expr415 = mask_values[535]; + let diluted_pool_column_row_expr807 = mask_values[536]; + let keccak_keccak_rotated_parity1_column_row_expr808 = mask_values[537]; + let diluted_pool_column_row_expr416 = mask_values[538]; + let diluted_pool_column_row_expr417 = mask_values[539]; + let diluted_pool_column_row_expr418 = mask_values[540]; + let diluted_pool_column_row_expr809 = mask_values[541]; + let keccak_keccak_rotated_parity1_column_row_expr810 = mask_values[542]; + let diluted_pool_column_row_expr419 = mask_values[543]; + let diluted_pool_column_row_expr420 = mask_values[544]; + let diluted_pool_column_row_expr421 = mask_values[545]; + let diluted_pool_column_row_expr811 = mask_values[546]; + let keccak_keccak_rotated_parity1_column_row_expr812 = mask_values[547]; + let diluted_pool_column_row_expr422 = mask_values[548]; + let diluted_pool_column_row_expr423 = mask_values[549]; + let diluted_pool_column_row_expr424 = mask_values[550]; + let diluted_pool_column_row_expr813 = mask_values[551]; + let keccak_keccak_rotated_parity1_column_row_expr814 = mask_values[552]; + let diluted_pool_column_row_expr425 = mask_values[553]; + let diluted_pool_column_row_expr426 = mask_values[554]; + let diluted_pool_column_row_expr427 = mask_values[555]; + let diluted_pool_column_row_expr815 = mask_values[556]; + let keccak_keccak_rotated_parity1_column_row_expr816 = mask_values[557]; + let diluted_pool_column_row_expr428 = mask_values[558]; + let diluted_pool_column_row_expr430 = mask_values[559]; + let diluted_pool_column_row_expr434 = mask_values[560]; + let diluted_pool_column_row_expr431 = mask_values[561]; + let diluted_pool_column_row_expr432 = mask_values[562]; + let diluted_pool_column_row_expr817 = mask_values[563]; + let keccak_keccak_rotated_parity2_column_row_expr818 = mask_values[564]; + let diluted_pool_column_row_expr433 = mask_values[565]; + let diluted_pool_column_row_expr435 = mask_values[566]; + let diluted_pool_column_row_expr439 = mask_values[567]; + let diluted_pool_column_row_expr436 = mask_values[568]; + let diluted_pool_column_row_expr437 = mask_values[569]; + let diluted_pool_column_row_expr819 = mask_values[570]; + let keccak_keccak_rotated_parity3_column_row_expr820 = mask_values[571]; + let diluted_pool_column_row_expr438 = mask_values[572]; + let diluted_pool_column_row_expr440 = mask_values[573]; + let diluted_pool_column_row_expr444 = mask_values[574]; + let diluted_pool_column_row_expr441 = mask_values[575]; + let diluted_pool_column_row_expr442 = mask_values[576]; + let diluted_pool_column_row_expr821 = mask_values[577]; + let keccak_keccak_rotated_parity4_column_row_expr822 = mask_values[578]; + let diluted_pool_column_row_expr443 = mask_values[579]; + let diluted_pool_column_row_expr445 = mask_values[580]; + let diluted_pool_column_row_expr449 = mask_values[581]; + let diluted_pool_column_row_expr446 = mask_values[582]; + let diluted_pool_column_row_expr447 = mask_values[583]; + let diluted_pool_column_row_expr823 = mask_values[584]; + let keccak_keccak_rotated_parity0_column_row_expr824 = mask_values[585]; + let diluted_pool_column_row_expr448 = mask_values[586]; + let diluted_pool_column_row_expr450 = mask_values[587]; + let diluted_pool_column_row_expr454 = mask_values[588]; + let diluted_pool_column_row_expr451 = mask_values[589]; + let diluted_pool_column_row_expr452 = mask_values[590]; + let diluted_pool_column_row_expr825 = mask_values[591]; + let keccak_keccak_rotated_parity1_column_row_expr826 = mask_values[592]; + let diluted_pool_column_row_expr453 = mask_values[593]; + let diluted_pool_column_row_expr455 = mask_values[594]; + let diluted_pool_column_row_expr471 = mask_values[595]; + let diluted_pool_column_row_expr456 = mask_values[596]; + let diluted_pool_column_row_expr457 = mask_values[597]; + let diluted_pool_column_row_expr827 = mask_values[598]; + let keccak_keccak_rotated_parity2_column_row_expr828 = mask_values[599]; + let diluted_pool_column_row_expr458 = mask_values[600]; + let diluted_pool_column_row_expr459 = mask_values[601]; + let diluted_pool_column_row_expr460 = mask_values[602]; + let diluted_pool_column_row_expr829 = mask_values[603]; + let keccak_keccak_rotated_parity2_column_row_expr830 = mask_values[604]; + let diluted_pool_column_row_expr461 = mask_values[605]; + let diluted_pool_column_row_expr462 = mask_values[606]; + let diluted_pool_column_row_expr463 = mask_values[607]; + let diluted_pool_column_row_expr831 = mask_values[608]; + let keccak_keccak_rotated_parity2_column_row_expr832 = mask_values[609]; + let diluted_pool_column_row_expr464 = mask_values[610]; + let diluted_pool_column_row_expr465 = mask_values[611]; + let diluted_pool_column_row_expr466 = mask_values[612]; + let diluted_pool_column_row_expr833 = mask_values[613]; + let keccak_keccak_rotated_parity2_column_row_expr834 = mask_values[614]; + let diluted_pool_column_row_expr467 = mask_values[615]; + let diluted_pool_column_row_expr468 = mask_values[616]; + let diluted_pool_column_row_expr469 = mask_values[617]; + let diluted_pool_column_row_expr835 = mask_values[618]; + let keccak_keccak_rotated_parity2_column_row_expr836 = mask_values[619]; + let diluted_pool_column_row_expr470 = mask_values[620]; + let diluted_pool_column_row_expr472 = mask_values[621]; + let diluted_pool_column_row_expr476 = mask_values[622]; + let diluted_pool_column_row_expr473 = mask_values[623]; + let diluted_pool_column_row_expr474 = mask_values[624]; + let diluted_pool_column_row_expr837 = mask_values[625]; + let keccak_keccak_rotated_parity3_column_row_expr838 = mask_values[626]; + let diluted_pool_column_row_expr475 = mask_values[627]; + let diluted_pool_column_row_expr477 = mask_values[628]; + let diluted_pool_column_row_expr481 = mask_values[629]; + let diluted_pool_column_row_expr478 = mask_values[630]; + let diluted_pool_column_row_expr479 = mask_values[631]; + let diluted_pool_column_row_expr839 = mask_values[632]; + let keccak_keccak_rotated_parity4_column_row_expr840 = mask_values[633]; + let diluted_pool_column_row_expr480 = mask_values[634]; + let diluted_pool_column_row_expr482 = mask_values[635]; + let diluted_pool_column_row_expr486 = mask_values[636]; + let diluted_pool_column_row_expr483 = mask_values[637]; + let diluted_pool_column_row_expr484 = mask_values[638]; + let diluted_pool_column_row_expr841 = mask_values[639]; + let keccak_keccak_rotated_parity0_column_row_expr842 = mask_values[640]; + let diluted_pool_column_row_expr485 = mask_values[641]; + let diluted_pool_column_row_expr487 = mask_values[642]; + let diluted_pool_column_row_expr489 = mask_values[643]; + let diluted_pool_column_row_expr488 = mask_values[644]; + let diluted_pool_column_row_expr490 = mask_values[645]; + let diluted_pool_column_row_expr494 = mask_values[646]; + let diluted_pool_column_row_expr491 = mask_values[647]; + let diluted_pool_column_row_expr843 = mask_values[648]; + let diluted_pool_column_row_expr492 = mask_values[649]; + let diluted_pool_column_row_expr493 = mask_values[650]; + let diluted_pool_column_row_expr495 = mask_values[651]; + let diluted_pool_column_row_expr499 = mask_values[652]; + let diluted_pool_column_row_expr496 = mask_values[653]; + let diluted_pool_column_row_expr844 = mask_values[654]; + let diluted_pool_column_row_expr497 = mask_values[655]; + let diluted_pool_column_row_expr498 = mask_values[656]; + let diluted_pool_column_row_expr500 = mask_values[657]; + let diluted_pool_column_row_expr504 = mask_values[658]; + let diluted_pool_column_row_expr501 = mask_values[659]; + let diluted_pool_column_row_expr845 = mask_values[660]; + let diluted_pool_column_row_expr502 = mask_values[661]; + let diluted_pool_column_row_expr503 = mask_values[662]; + let diluted_pool_column_row_expr505 = mask_values[663]; + let diluted_pool_column_row_expr509 = mask_values[664]; + let diluted_pool_column_row_expr506 = mask_values[665]; + let diluted_pool_column_row_expr846 = mask_values[666]; + let diluted_pool_column_row_expr507 = mask_values[667]; + let diluted_pool_column_row_expr508 = mask_values[668]; + let diluted_pool_column_row_expr510 = mask_values[669]; + let diluted_pool_column_row_expr514 = mask_values[670]; + let diluted_pool_column_row_expr511 = mask_values[671]; + let diluted_pool_column_row_expr847 = mask_values[672]; + let diluted_pool_column_row_expr512 = mask_values[673]; + let diluted_pool_column_row_expr513 = mask_values[674]; + let diluted_pool_column_row_expr515 = mask_values[675]; + let diluted_pool_column_row_expr519 = mask_values[676]; + let diluted_pool_column_row_expr516 = mask_values[677]; + let diluted_pool_column_row_expr848 = mask_values[678]; + let diluted_pool_column_row_expr517 = mask_values[679]; + let diluted_pool_column_row_expr518 = mask_values[680]; + let diluted_pool_column_row_expr520 = mask_values[681]; + let diluted_pool_column_row_expr522 = mask_values[682]; + let diluted_pool_column_row_expr521 = mask_values[683]; + let diluted_pool_column_row_expr523 = mask_values[684]; + let diluted_pool_column_row_expr525 = mask_values[685]; + let diluted_pool_column_row_expr524 = mask_values[686]; + let diluted_pool_column_row_expr526 = mask_values[687]; + let mem_pool_addr_column_row_expr527 = mask_values[688]; + let mem_pool_addr_column_row_expr528 = mask_values[689]; + let mem_pool_addr_column_row_expr529 = mask_values[690]; + let mem_pool_addr_column_row_expr530 = mask_values[691]; + let mem_pool_addr_column_row_expr531 = mask_values[692]; + let mem_pool_addr_column_row_expr532 = mask_values[693]; + let poseidon_poseidon_full_rounds_state0_squared_column_row_expr534 = mask_values[694]; + let poseidon_poseidon_full_rounds_state0_column_row_expr533 = mask_values[695]; + let poseidon_poseidon_full_rounds_state1_squared_column_row_expr536 = mask_values[696]; + let poseidon_poseidon_full_rounds_state1_column_row_expr535 = mask_values[697]; + let poseidon_poseidon_full_rounds_state2_squared_column_row_expr538 = mask_values[698]; + let poseidon_poseidon_full_rounds_state2_column_row_expr537 = mask_values[699]; + let poseidon_poseidon_partial_rounds_state0_squared_column_row_expr540 = mask_values[700]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr539 = mask_values[701]; + let poseidon_poseidon_partial_rounds_state1_squared_column_row_expr542 = mask_values[702]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr541 = mask_values[703]; + let mem_pool_value_column_row_expr543 = mask_values[704]; + let mem_pool_value_column_row_expr544 = mask_values[705]; + let mem_pool_value_column_row_expr545 = mask_values[706]; + let poseidon_poseidon_full_rounds_state0_column_row_expr546 = mask_values[707]; + let poseidon_poseidon_full_rounds_state1_column_row_expr547 = mask_values[708]; + let poseidon_poseidon_full_rounds_state2_column_row_expr548 = mask_values[709]; + let mem_pool_value_column_row_expr549 = mask_values[710]; + let poseidon_poseidon_full_rounds_state0_column_row_expr849 = mask_values[711]; + let poseidon_poseidon_full_rounds_state0_squared_column_row_expr850 = mask_values[712]; + let poseidon_poseidon_full_rounds_state1_column_row_expr851 = mask_values[713]; + let poseidon_poseidon_full_rounds_state1_squared_column_row_expr852 = mask_values[714]; + let poseidon_poseidon_full_rounds_state2_column_row_expr853 = mask_values[715]; + let poseidon_poseidon_full_rounds_state2_squared_column_row_expr854 = mask_values[716]; + let mem_pool_value_column_row_expr550 = mask_values[717]; + let mem_pool_value_column_row_expr551 = mask_values[718]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr552 = mask_values[719]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr554 = mask_values[720]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr553 = mask_values[721]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr556 = mask_values[722]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr555 = mask_values[723]; + let poseidon_poseidon_full_rounds_state0_column_row_expr855 = mask_values[724]; + let poseidon_poseidon_full_rounds_state0_squared_column_row_expr856 = mask_values[725]; + let poseidon_poseidon_full_rounds_state1_column_row_expr857 = mask_values[726]; + let poseidon_poseidon_full_rounds_state1_squared_column_row_expr858 = mask_values[727]; + let poseidon_poseidon_full_rounds_state2_column_row_expr859 = mask_values[728]; + let poseidon_poseidon_full_rounds_state2_squared_column_row_expr860 = mask_values[729]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr557 = mask_values[730]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr558 = mask_values[731]; + let poseidon_poseidon_partial_rounds_state0_squared_column_row_expr861 = mask_values[732]; + let poseidon_poseidon_partial_rounds_state0_column_row_expr559 = mask_values[733]; + let poseidon_poseidon_partial_rounds_state0_squared_column_row_expr862 = mask_values[734]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr560 = mask_values[735]; + let poseidon_poseidon_partial_rounds_state1_squared_column_row_expr863 = mask_values[736]; + let poseidon_poseidon_partial_rounds_state1_squared_column_row_expr864 = mask_values[737]; + let poseidon_poseidon_full_rounds_state0_column_row_expr561 = mask_values[738]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr865 = mask_values[739]; + let poseidon_poseidon_partial_rounds_state1_squared_column_row_expr866 = mask_values[740]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr562 = mask_values[741]; + let poseidon_poseidon_partial_rounds_state1_squared_column_row_expr867 = mask_values[742]; + let poseidon_poseidon_partial_rounds_state1_column_row_expr563 = mask_values[743]; + let poseidon_poseidon_partial_rounds_state1_squared_column_row_expr868 = mask_values[744]; + let poseidon_poseidon_full_rounds_state1_column_row_expr564 = mask_values[745]; + let poseidon_poseidon_full_rounds_state2_column_row_expr565 = mask_values[746]; + let mem_pool_value_column_row_expr566 = mask_values[747]; + let range_check16_pool_column_row_expr869 = mask_values[748]; + let range_check16_pool_column_row_expr870 = mask_values[749]; + let range_check16_pool_column_row_expr871 = mask_values[750]; + let range_check16_pool_column_row_expr872 = mask_values[751]; + let range_check16_pool_column_row_expr873 = mask_values[752]; + let range_check16_pool_column_row_expr874 = mask_values[753]; + let mem_pool_addr_column_row_expr567 = mask_values[754]; + let mem_pool_addr_column_row_expr568 = mask_values[755]; + let mem_pool_addr_column_row_expr569 = mask_values[756]; + let mem_pool_addr_column_row_expr570 = mask_values[757]; + let mem_pool_addr_column_row_expr571 = mask_values[758]; + let mem_pool_addr_column_row_expr572 = mask_values[759]; + let mem_pool_addr_column_row_expr573 = mask_values[760]; + let mem_pool_addr_column_row_expr574 = mask_values[761]; + let mem_pool_addr_column_row_expr575 = mask_values[762]; + let mem_pool_addr_column_row_expr576 = mask_values[763]; + let mem_pool_value_column_row_expr577 = mask_values[764]; + let mem_pool_value_column_row_expr578 = mask_values[765]; + let mem_pool_value_column_row_expr579 = mask_values[766]; + let mem_pool_value_column_row_expr580 = mask_values[767]; + let mem_pool_value_column_row_expr581 = mask_values[768]; + let mem_pool_value_column_row_expr582 = mask_values[769]; + let mem_pool_value_column_row_expr583 = mask_values[770]; + let mem_pool_value_column_row_expr584 = mask_values[771]; + let mem_pool_value_column_row_expr585 = mask_values[772]; + let mem_pool_value_column_row_expr586 = mask_values[773]; + let mem_pool_value_column_row_expr587 = mask_values[774]; + let mem_pool_value_column_row_expr588 = mask_values[775]; + let mem_pool_value_column_row_expr589 = mask_values[776]; + let mem_pool_value_column_row_expr590 = mask_values[777]; + let mem_pool_addr_column_row_expr591 = mask_values[778]; + let mem_pool_addr_column_row_expr592 = mask_values[779]; + let mem_pool_addr_column_row_expr593 = mask_values[780]; + let mem_pool_addr_column_row_expr594 = mask_values[781]; + let mem_pool_value_column_row_expr595 = mask_values[782]; + let mem_pool_addr_column_row_expr596 = mask_values[783]; + let mem_pool_addr_column_row_expr597 = mask_values[784]; + let mem_pool_addr_column_row_expr598 = mask_values[785]; + let mem_pool_addr_column_row_expr599 = mask_values[786]; + let mem_pool_value_column_row_expr600 = mask_values[787]; + let mem_pool_addr_column_row_expr601 = mask_values[788]; + let mem_pool_addr_column_row_expr602 = mask_values[789]; + let mem_pool_addr_column_row_expr603 = mask_values[790]; + let mem_pool_addr_column_row_expr604 = mask_values[791]; + let mem_pool_value_column_row_expr605 = mask_values[792]; + let mem_pool_addr_column_row_expr606 = mask_values[793]; + let mem_pool_addr_column_row_expr607 = mask_values[794]; + let mem_pool_addr_column_row_expr608 = mask_values[795]; + let add_mod_sub_p_bit_column_row_expr609 = mask_values[796]; + let add_mod_carry1_bit_column_row_expr610 = mask_values[797]; + let add_mod_carry1_sign_column_row_expr611 = mask_values[798]; + let add_mod_carry2_bit_column_row_expr612 = mask_values[799]; + let add_mod_carry2_sign_column_row_expr613 = mask_values[800]; + let add_mod_carry3_bit_column_row_expr614 = mask_values[801]; + let add_mod_carry3_sign_column_row_expr615 = mask_values[802]; + let mem_pool_value_column_row_expr616 = mask_values[803]; + let mem_pool_value_column_row_expr617 = mask_values[804]; + let mem_pool_value_column_row_expr618 = mask_values[805]; + let mem_pool_value_column_row_expr619 = mask_values[806]; + let mem_pool_value_column_row_expr620 = mask_values[807]; + let mem_pool_value_column_row_expr621 = mask_values[808]; + let mem_pool_value_column_row_expr622 = mask_values[809]; + let mem_pool_value_column_row_expr623 = mask_values[810]; + let mem_pool_value_column_row_expr624 = mask_values[811]; + let mem_pool_value_column_row_expr625 = mask_values[812]; + let mem_pool_value_column_row_expr626 = mask_values[813]; + let mem_pool_value_column_row_expr627 = mask_values[814]; + let mem_pool_addr_column_row_expr628 = mask_values[815]; + let mem_pool_addr_column_row_expr629 = mask_values[816]; + let mem_pool_addr_column_row_expr630 = mask_values[817]; + let mem_pool_addr_column_row_expr631 = mask_values[818]; + let mem_pool_addr_column_row_expr632 = mask_values[819]; + let mem_pool_addr_column_row_expr633 = mask_values[820]; + let mem_pool_addr_column_row_expr634 = mask_values[821]; + let mem_pool_addr_column_row_expr635 = mask_values[822]; + let mem_pool_value_column_row_expr636 = mask_values[823]; + let mem_pool_value_column_row_expr637 = mask_values[824]; + let mem_pool_value_column_row_expr638 = mask_values[825]; + let mem_pool_value_column_row_expr639 = mask_values[826]; + let mem_pool_value_column_row_expr640 = mask_values[827]; + let mem_pool_value_column_row_expr641 = mask_values[828]; + let mem_pool_value_column_row_expr642 = mask_values[829]; + let mem_pool_value_column_row_expr643 = mask_values[830]; + let mem_pool_value_column_row_expr644 = mask_values[831]; + let mem_pool_value_column_row_expr645 = mask_values[832]; + let mem_pool_value_column_row_expr646 = mask_values[833]; + let mem_pool_value_column_row_expr647 = mask_values[834]; + let mem_pool_value_column_row_expr648 = mask_values[835]; + let mem_pool_value_column_row_expr649 = mask_values[836]; + let mem_pool_addr_column_row_expr650 = mask_values[837]; + let mem_pool_addr_column_row_expr651 = mask_values[838]; + let mem_pool_addr_column_row_expr652 = mask_values[839]; + let mem_pool_addr_column_row_expr653 = mask_values[840]; + let mem_pool_value_column_row_expr654 = mask_values[841]; + let mem_pool_addr_column_row_expr655 = mask_values[842]; + let mem_pool_addr_column_row_expr656 = mask_values[843]; + let mem_pool_addr_column_row_expr657 = mask_values[844]; + let mem_pool_addr_column_row_expr658 = mask_values[845]; + let mem_pool_value_column_row_expr659 = mask_values[846]; + let mem_pool_addr_column_row_expr660 = mask_values[847]; + let mem_pool_addr_column_row_expr661 = mask_values[848]; + let mem_pool_addr_column_row_expr662 = mask_values[849]; + let mem_pool_addr_column_row_expr663 = mask_values[850]; + let mem_pool_value_column_row_expr664 = mask_values[851]; + let mem_pool_addr_column_row_expr665 = mask_values[852]; + let mem_pool_addr_column_row_expr666 = mask_values[853]; + let mem_pool_addr_column_row_expr667 = mask_values[854]; + let mem_pool_value_column_row_expr668 = mask_values[855]; + let mem_pool_value_column_row_expr669 = mask_values[856]; + let mem_pool_value_column_row_expr670 = mask_values[857]; + let mem_pool_value_column_row_expr671 = mask_values[858]; + let mem_pool_value_column_row_expr672 = mask_values[859]; + let mem_pool_value_column_row_expr673 = mask_values[860]; + let mem_pool_value_column_row_expr674 = mask_values[861]; + let mem_pool_value_column_row_expr675 = mask_values[862]; + let mem_pool_value_column_row_expr676 = mask_values[863]; + let mem_pool_value_column_row_expr677 = mask_values[864]; + let mem_pool_value_column_row_expr678 = mask_values[865]; + let mem_pool_value_column_row_expr679 = mask_values[866]; + let range_check16_pool_column_row_expr875 = mask_values[867]; + let range_check16_pool_column_row_expr876 = mask_values[868]; + let range_check16_pool_column_row_expr877 = mask_values[869]; + let range_check16_pool_column_row_expr878 = mask_values[870]; + let range_check16_pool_column_row_expr879 = mask_values[871]; + let range_check16_pool_column_row_expr880 = mask_values[872]; + let range_check16_pool_column_row_expr881 = mask_values[873]; + let range_check16_pool_column_row_expr882 = mask_values[874]; + let range_check16_pool_column_row_expr883 = mask_values[875]; + let range_check16_pool_column_row_expr884 = mask_values[876]; + let range_check16_pool_column_row_expr885 = mask_values[877]; + let range_check16_pool_column_row_expr886 = mask_values[878]; + let range_check16_pool_column_row_expr887 = mask_values[879]; + let range_check16_pool_column_row_expr888 = mask_values[880]; + let range_check16_pool_column_row_expr889 = mask_values[881]; + let range_check16_pool_column_row_expr890 = mask_values[882]; + let range_check16_pool_column_row_expr891 = mask_values[883]; + let range_check16_pool_column_row_expr892 = mask_values[884]; + let range_check16_pool_column_row_expr893 = mask_values[885]; + let range_check16_pool_column_row_expr894 = mask_values[886]; + let range_check16_pool_column_row_expr895 = mask_values[887]; + let range_check16_pool_column_row_expr896 = mask_values[888]; + let range_check16_pool_column_row_expr897 = mask_values[889]; + let range_check16_pool_column_row_expr898 = mask_values[890]; + let range_check16_pool_column_row_expr899 = mask_values[891]; + let range_check16_pool_column_row_expr900 = mask_values[892]; + let range_check16_pool_column_row_expr901 = mask_values[893]; + let range_check16_pool_column_row_expr902 = mask_values[894]; + let range_check16_pool_column_row_expr903 = mask_values[895]; + let range_check16_pool_column_row_expr904 = mask_values[896]; + let range_check16_pool_column_row_expr905 = mask_values[897]; + let range_check16_pool_column_row_expr906 = mask_values[898]; + let range_check16_pool_column_row_expr907 = mask_values[899]; + let range_check16_pool_column_row_expr908 = mask_values[900]; + let range_check16_pool_column_row_expr909 = mask_values[901]; + let range_check16_pool_column_row_expr910 = mask_values[902]; + let range_check16_pool_column_row_expr911 = mask_values[903]; + let range_check16_pool_column_row_expr912 = mask_values[904]; + let range_check16_pool_column_row_expr913 = mask_values[905]; + let range_check16_pool_column_row_expr914 = mask_values[906]; + let range_check16_pool_column_row_expr915 = mask_values[907]; + let range_check16_pool_column_row_expr916 = mask_values[908]; + let range_check16_pool_column_row_expr917 = mask_values[909]; + let range_check16_pool_column_row_expr918 = mask_values[910]; + let range_check16_pool_column_row_expr919 = mask_values[911]; + let range_check16_pool_column_row_expr920 = mask_values[912]; + let range_check16_pool_column_row_expr921 = mask_values[913]; + let range_check16_pool_column_row_expr922 = mask_values[914]; + let range_check16_pool_column_row_expr923 = mask_values[915]; + let range_check16_pool_column_row_expr924 = mask_values[916]; + let range_check16_pool_column_row_expr925 = mask_values[917]; + let range_check16_pool_column_row_expr926 = mask_values[918]; + let range_check16_pool_column_row_expr927 = mask_values[919]; + let range_check16_pool_column_row_expr928 = mask_values[920]; + let range_check16_pool_column_row_expr929 = mask_values[921]; + let range_check16_pool_column_row_expr930 = mask_values[922]; + let range_check16_pool_column_row_expr931 = mask_values[923]; + let range_check16_pool_column_row_expr932 = mask_values[924]; + let range_check16_pool_column_row_expr933 = mask_values[925]; + let range_check16_pool_column_row_expr934 = mask_values[926]; + let range_check16_pool_column_row_expr935 = mask_values[927]; + let range_check16_pool_column_row_expr936 = mask_values[928]; + let range_check16_pool_column_row_expr937 = mask_values[929]; + let range_check16_pool_column_row_expr938 = mask_values[930]; + let range_check16_pool_column_row_expr939 = mask_values[931]; + let range_check16_pool_column_row_expr940 = mask_values[932]; + let memory_multi_column_perm_perm_cum_prod0_column_row_expr23 = mask_values[933]; + let memory_multi_column_perm_perm_cum_prod0_column_row_expr28 = mask_values[934]; + let range_check16_perm_cum_prod0_column_row_expr34 = mask_values[935]; + let range_check16_perm_cum_prod0_column_row_expr37 = mask_values[936]; + let diluted_check_permutation_cum_prod0_column_row_expr40 = mask_values[937]; + let diluted_check_permutation_cum_prod0_column_row_expr43 = mask_values[938]; + let diluted_check_cumulative_value_column_row_expr45 = mask_values[939]; + let diluted_check_cumulative_value_column_row_expr46 = mask_values[940]; + + // Compute intermediate values. + let cpu_decode_opcode_range_check_bit_0 = cpu_decode_opcode_range_check_column_column_row_expr0 + - (cpu_decode_opcode_range_check_column_column_row_expr680 + + cpu_decode_opcode_range_check_column_column_row_expr680); + let cpu_decode_opcode_range_check_bit_2 = + cpu_decode_opcode_range_check_column_column_row_expr681 + - (cpu_decode_opcode_range_check_column_column_row_expr682 + + cpu_decode_opcode_range_check_column_column_row_expr682); + let cpu_decode_opcode_range_check_bit_4 = + cpu_decode_opcode_range_check_column_column_row_expr683 + - (cpu_decode_opcode_range_check_column_column_row_expr684 + + cpu_decode_opcode_range_check_column_column_row_expr684); + let cpu_decode_opcode_range_check_bit_3 = + cpu_decode_opcode_range_check_column_column_row_expr685 + - (cpu_decode_opcode_range_check_column_column_row_expr686 + + cpu_decode_opcode_range_check_column_column_row_expr686); + let cpu_decode_flag_op1_base_op0_0 = FELT_1 + - (cpu_decode_opcode_range_check_bit_2 + + cpu_decode_opcode_range_check_bit_4 + + cpu_decode_opcode_range_check_bit_3); + let cpu_decode_opcode_range_check_bit_5 = + cpu_decode_opcode_range_check_column_column_row_expr687 + - (cpu_decode_opcode_range_check_column_column_row_expr688 + + cpu_decode_opcode_range_check_column_column_row_expr688); + let cpu_decode_opcode_range_check_bit_6 = + cpu_decode_opcode_range_check_column_column_row_expr689 + - (cpu_decode_opcode_range_check_column_column_row_expr690 + + cpu_decode_opcode_range_check_column_column_row_expr690); + let cpu_decode_opcode_range_check_bit_9 = + cpu_decode_opcode_range_check_column_column_row_expr691 + - (cpu_decode_opcode_range_check_column_column_row_expr692 + + cpu_decode_opcode_range_check_column_column_row_expr692); + let cpu_decode_flag_res_op1_0 = FELT_1 + - (cpu_decode_opcode_range_check_bit_5 + + cpu_decode_opcode_range_check_bit_6 + + cpu_decode_opcode_range_check_bit_9); + let cpu_decode_opcode_range_check_bit_7 = + cpu_decode_opcode_range_check_column_column_row_expr693 + - (cpu_decode_opcode_range_check_column_column_row_expr694 + + cpu_decode_opcode_range_check_column_column_row_expr694); + let cpu_decode_opcode_range_check_bit_8 = + cpu_decode_opcode_range_check_column_column_row_expr695 + - (cpu_decode_opcode_range_check_column_column_row_expr696 + + cpu_decode_opcode_range_check_column_column_row_expr696); + let cpu_decode_flag_pc_update_regular_0 = FELT_1 + - (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_8 + + cpu_decode_opcode_range_check_bit_9); + let cpu_decode_opcode_range_check_bit_12 = + cpu_decode_opcode_range_check_column_column_row_expr697 + - (cpu_decode_opcode_range_check_column_column_row_expr698 + + cpu_decode_opcode_range_check_column_column_row_expr698); + let cpu_decode_opcode_range_check_bit_13 = + cpu_decode_opcode_range_check_column_column_row_expr699 + - (cpu_decode_opcode_range_check_column_column_row_expr700 + + cpu_decode_opcode_range_check_column_column_row_expr700); + let cpu_decode_fp_update_regular_0 = + FELT_1 - (cpu_decode_opcode_range_check_bit_12 + cpu_decode_opcode_range_check_bit_13); + let cpu_decode_opcode_range_check_bit_1 = + cpu_decode_opcode_range_check_column_column_row_expr680 + - (cpu_decode_opcode_range_check_column_column_row_expr701 + + cpu_decode_opcode_range_check_column_column_row_expr701); + let npc_reg_0 = mem_pool_addr_column_row_expr10 + cpu_decode_opcode_range_check_bit_2 + FELT_1; + let cpu_decode_opcode_range_check_bit_10 = + cpu_decode_opcode_range_check_column_column_row_expr702 + - (cpu_decode_opcode_range_check_column_column_row_expr703 + + cpu_decode_opcode_range_check_column_column_row_expr703); + let cpu_decode_opcode_range_check_bit_11 = + cpu_decode_opcode_range_check_column_column_row_expr704 + - (cpu_decode_opcode_range_check_column_column_row_expr705 + + cpu_decode_opcode_range_check_column_column_row_expr705); + let cpu_decode_opcode_range_check_bit_14 = + cpu_decode_opcode_range_check_column_column_row_expr706 + - (cpu_decode_opcode_range_check_column_column_row_expr707 + + cpu_decode_opcode_range_check_column_column_row_expr707); + let memory_address_diff_0 = + memory_sorted_addr_column_row_expr26 - memory_sorted_addr_column_row_expr21; + let range_check16_diff_0 = + range_check16_sorted_column_row_expr36 - range_check16_sorted_column_row_expr33; + let pedersen_hash0_ec_subset_sum_bit_0 = pedersen_hash0_ec_subset_sum_selector_column_row_expr48 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr49 + + pedersen_hash0_ec_subset_sum_selector_column_row_expr49); + let pedersen_hash0_ec_subset_sum_bit_neg_0 = FELT_1 - pedersen_hash0_ec_subset_sum_bit_0; + let range_check_builtin_value0_0 = range_check16_pool_column_row_expr708; + let range_check_builtin_value1_0 = range_check_builtin_value0_0 * global_values.offset_size + + range_check16_pool_column_row_expr709; + let range_check_builtin_value2_0 = range_check_builtin_value1_0 * global_values.offset_size + + range_check16_pool_column_row_expr710; + let range_check_builtin_value3_0 = range_check_builtin_value2_0 * global_values.offset_size + + range_check16_pool_column_row_expr711; + let range_check_builtin_value4_0 = range_check_builtin_value3_0 * global_values.offset_size + + range_check16_pool_column_row_expr712; + let range_check_builtin_value5_0 = range_check_builtin_value4_0 * global_values.offset_size + + range_check16_pool_column_row_expr713; + let range_check_builtin_value6_0 = range_check_builtin_value5_0 * global_values.offset_size + + range_check16_pool_column_row_expr714; + let range_check_builtin_value7_0 = range_check_builtin_value6_0 * global_values.offset_size + + range_check16_pool_column_row_expr715; + let ecdsa_signature0_doubling_key_x_squared = ecdsa_signature0_key_points_x_column_row_expr80 + * ecdsa_signature0_key_points_x_column_row_expr80; + let ecdsa_signature0_exponentiate_generator_bit_0 = + ecdsa_signature0_exponentiate_generator_selector_column_row_expr83 + - (ecdsa_signature0_exponentiate_generator_selector_column_row_expr716 + + ecdsa_signature0_exponentiate_generator_selector_column_row_expr716); + let ecdsa_signature0_exponentiate_generator_bit_neg_0 = + FELT_1 - ecdsa_signature0_exponentiate_generator_bit_0; + let ecdsa_signature0_exponentiate_key_bit_0 = + ecdsa_signature0_exponentiate_key_selector_column_row_expr90 + - (ecdsa_signature0_exponentiate_key_selector_column_row_expr717 + + ecdsa_signature0_exponentiate_key_selector_column_row_expr717); + let ecdsa_signature0_exponentiate_key_bit_neg_0 = + FELT_1 - ecdsa_signature0_exponentiate_key_bit_0; + let bitwise_sum_var_0_0 = diluted_pool_column_row_expr126 + + diluted_pool_column_row_expr718 * FELT_2 + + diluted_pool_column_row_expr719 * FELT_4 + + diluted_pool_column_row_expr720 * FELT_8 + + diluted_pool_column_row_expr721 * FELT_18446744073709551616 + + diluted_pool_column_row_expr722 * FELT_36893488147419103232 + + diluted_pool_column_row_expr723 * FELT_73786976294838206464 + + diluted_pool_column_row_expr724 * FELT_147573952589676412928; + let bitwise_sum_var_8_0 = diluted_pool_column_row_expr725 + * FELT_340282366920938463463374607431768211456 + + diluted_pool_column_row_expr726 * FELT_680564733841876926926749214863536422912 + + diluted_pool_column_row_expr727 * FELT_1361129467683753853853498429727072845824 + + diluted_pool_column_row_expr728 * FELT_2722258935367507707706996859454145691648 + + diluted_pool_column_row_expr729 + * FELT_6277101735386680763835789423207666416102355444464034512896 + + diluted_pool_column_row_expr730 + * FELT_12554203470773361527671578846415332832204710888928069025792 + + diluted_pool_column_row_expr731 + * FELT_25108406941546723055343157692830665664409421777856138051584 + + diluted_pool_column_row_expr732 + * FELT_50216813883093446110686315385661331328818843555712276103168; + let ec_op_doubling_q_x_squared_0 = + ec_op_doubled_points_x_column_row_expr152 * ec_op_doubled_points_x_column_row_expr152; + let ec_op_ec_subset_sum_bit_0 = ec_op_ec_subset_sum_selector_column_row_expr158 + - (ec_op_ec_subset_sum_selector_column_row_expr159 + + ec_op_ec_subset_sum_selector_column_row_expr159); + let ec_op_ec_subset_sum_bit_neg_0 = FELT_1 - ec_op_ec_subset_sum_bit_0; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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 + * FELT_1606938044258990275541962092341162602522202993782792835301376; + let 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_expr751 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr751); + let 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_expr753 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr753); + let keccak_keccak_parse_to_diluted_bit_other1_0 = + keccak_keccak_parse_to_diluted_partial_diluted1_2 + - FELT_16 * keccak_keccak_parse_to_diluted_partial_diluted1_0; + let 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_expr755 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr755); + let 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_expr757 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr757); + let 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_expr758 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr758); + let 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_expr759 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr759); + let keccak_keccak_parse_to_diluted_bit_other0_0 = + keccak_keccak_parse_to_diluted_partial_diluted0_2 + - FELT_16 * keccak_keccak_parse_to_diluted_partial_diluted0_0; + let 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_expr761 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr761); + let 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_expr763 + + keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr763); + let keccak_keccak_sum_parities0_0 = + diluted_pool_column_row_expr300 + keccak_keccak_rotated_parity1_column_row_expr306; + let keccak_keccak_sum_parities1_0 = + diluted_pool_column_row_expr268 + keccak_keccak_rotated_parity2_column_row_expr309; + let keccak_keccak_sum_parities1_64512 = + diluted_pool_column_row_expr304 + keccak_keccak_rotated_parity2_column_row_expr764; + let keccak_keccak_sum_parities2_0 = + diluted_pool_column_row_expr276 + keccak_keccak_rotated_parity3_column_row_expr312; + let keccak_keccak_sum_parities2_2048 = + diluted_pool_column_row_expr765 + keccak_keccak_rotated_parity3_column_row_expr766; + let keccak_keccak_sum_parities3_0 = + diluted_pool_column_row_expr284 + keccak_keccak_rotated_parity4_column_row_expr315; + let keccak_keccak_sum_parities3_36864 = + diluted_pool_column_row_expr767 + keccak_keccak_rotated_parity4_column_row_expr768; + let keccak_keccak_sum_parities4_0 = + diluted_pool_column_row_expr292 + keccak_keccak_rotated_parity0_column_row_expr303; + let keccak_keccak_sum_parities4_37888 = + diluted_pool_column_row_expr769 + keccak_keccak_rotated_parity0_column_row_expr770; + let keccak_keccak_sum_parities0_28672 = + diluted_pool_column_row_expr771 + keccak_keccak_rotated_parity1_column_row_expr772; + let keccak_keccak_sum_parities1_20480 = + diluted_pool_column_row_expr773 + keccak_keccak_rotated_parity2_column_row_expr774; + let keccak_keccak_sum_parities2_59392 = + diluted_pool_column_row_expr775 + keccak_keccak_rotated_parity3_column_row_expr776; + let keccak_keccak_sum_parities3_8 = + diluted_pool_column_row_expr777 + keccak_keccak_rotated_parity4_column_row_expr778; + let keccak_keccak_sum_parities3_16 = + diluted_pool_column_row_expr779 + keccak_keccak_rotated_parity4_column_row_expr780; + let keccak_keccak_sum_parities3_9216 = + diluted_pool_column_row_expr781 + keccak_keccak_rotated_parity4_column_row_expr782; + let keccak_keccak_sum_parities3_9224 = + diluted_pool_column_row_expr783 + keccak_keccak_rotated_parity4_column_row_expr784; + let keccak_keccak_sum_parities3_9232 = + diluted_pool_column_row_expr785 + keccak_keccak_rotated_parity4_column_row_expr786; + let keccak_keccak_sum_parities4_45056 = + diluted_pool_column_row_expr787 + keccak_keccak_rotated_parity0_column_row_expr788; + let keccak_keccak_sum_parities0_62464 = + diluted_pool_column_row_expr789 + keccak_keccak_rotated_parity1_column_row_expr790; + let keccak_keccak_sum_parities1_55296 = + diluted_pool_column_row_expr791 + keccak_keccak_rotated_parity2_column_row_expr792; + let keccak_keccak_sum_parities2_21504 = + diluted_pool_column_row_expr793 + keccak_keccak_rotated_parity3_column_row_expr794; + let keccak_keccak_sum_parities3_39936 = + diluted_pool_column_row_expr795 + keccak_keccak_rotated_parity4_column_row_expr796; + let keccak_keccak_sum_parities4_8 = + diluted_pool_column_row_expr797 + keccak_keccak_rotated_parity0_column_row_expr798; + let keccak_keccak_sum_parities4_16 = + diluted_pool_column_row_expr799 + keccak_keccak_rotated_parity0_column_row_expr800; + let keccak_keccak_sum_parities4_25600 = + diluted_pool_column_row_expr801 + keccak_keccak_rotated_parity0_column_row_expr802; + let keccak_keccak_sum_parities4_25608 = + diluted_pool_column_row_expr803 + keccak_keccak_rotated_parity0_column_row_expr804; + let keccak_keccak_sum_parities4_25616 = + diluted_pool_column_row_expr805 + keccak_keccak_rotated_parity0_column_row_expr806; + let keccak_keccak_sum_parities0_8 = + diluted_pool_column_row_expr807 + keccak_keccak_rotated_parity1_column_row_expr808; + let keccak_keccak_sum_parities0_16 = + diluted_pool_column_row_expr809 + keccak_keccak_rotated_parity1_column_row_expr810; + let keccak_keccak_sum_parities0_23552 = + diluted_pool_column_row_expr811 + keccak_keccak_rotated_parity1_column_row_expr812; + let keccak_keccak_sum_parities0_23560 = + diluted_pool_column_row_expr813 + keccak_keccak_rotated_parity1_column_row_expr814; + let keccak_keccak_sum_parities0_23568 = + diluted_pool_column_row_expr815 + keccak_keccak_rotated_parity1_column_row_expr816; + let keccak_keccak_sum_parities1_19456 = + diluted_pool_column_row_expr817 + keccak_keccak_rotated_parity2_column_row_expr818; + let keccak_keccak_sum_parities2_50176 = + diluted_pool_column_row_expr819 + keccak_keccak_rotated_parity3_column_row_expr820; + let keccak_keccak_sum_parities3_44032 = + diluted_pool_column_row_expr821 + keccak_keccak_rotated_parity4_column_row_expr822; + let keccak_keccak_sum_parities4_57344 = + diluted_pool_column_row_expr823 + keccak_keccak_rotated_parity0_column_row_expr824; + let keccak_keccak_sum_parities0_47104 = + diluted_pool_column_row_expr825 + keccak_keccak_rotated_parity1_column_row_expr826; + let keccak_keccak_sum_parities1_8 = + diluted_pool_column_row_expr827 + keccak_keccak_rotated_parity2_column_row_expr828; + let keccak_keccak_sum_parities1_16 = + diluted_pool_column_row_expr829 + keccak_keccak_rotated_parity2_column_row_expr830; + let keccak_keccak_sum_parities1_63488 = + diluted_pool_column_row_expr831 + keccak_keccak_rotated_parity2_column_row_expr832; + let keccak_keccak_sum_parities1_63496 = + diluted_pool_column_row_expr833 + keccak_keccak_rotated_parity2_column_row_expr834; + let keccak_keccak_sum_parities1_63504 = + diluted_pool_column_row_expr835 + keccak_keccak_rotated_parity2_column_row_expr836; + let keccak_keccak_sum_parities2_3072 = + diluted_pool_column_row_expr837 + keccak_keccak_rotated_parity3_column_row_expr838; + let keccak_keccak_sum_parities3_8192 = + diluted_pool_column_row_expr839 + keccak_keccak_rotated_parity4_column_row_expr840; + let keccak_keccak_sum_parities4_51200 = + diluted_pool_column_row_expr841 + keccak_keccak_rotated_parity0_column_row_expr842; + let keccak_keccak_after_theta_rho_pi_xor_one_32 = + FELT_1229782938247303441 - diluted_pool_column_row_expr348; + let keccak_keccak_after_theta_rho_pi_xor_one_1056 = + FELT_1229782938247303441 - diluted_pool_column_row_expr843; + let keccak_keccak_after_theta_rho_pi_xor_one_3104 = + FELT_1229782938247303441 - diluted_pool_column_row_expr844; + let keccak_keccak_after_theta_rho_pi_xor_one_7200 = + FELT_1229782938247303441 - diluted_pool_column_row_expr845; + let keccak_keccak_after_theta_rho_pi_xor_one_15392 = + FELT_1229782938247303441 - diluted_pool_column_row_expr846; + let keccak_keccak_after_theta_rho_pi_xor_one_31776 = + FELT_1229782938247303441 - diluted_pool_column_row_expr847; + let keccak_keccak_after_theta_rho_pi_xor_one_64544 = + FELT_1229782938247303441 - diluted_pool_column_row_expr848; + let keccak_keccak_after_theta_rho_pi_xor_one_0 = + FELT_1229782938247303441 - diluted_pool_column_row_expr318; + let keccak_keccak_after_theta_rho_pi_xor_one_128 = + FELT_1229782938247303441 - diluted_pool_column_row_expr486; + let poseidon_poseidon_full_rounds_state0_cubed_0 = + poseidon_poseidon_full_rounds_state0_column_row_expr533 + * poseidon_poseidon_full_rounds_state0_squared_column_row_expr534; + let poseidon_poseidon_full_rounds_state1_cubed_0 = + poseidon_poseidon_full_rounds_state1_column_row_expr535 + * poseidon_poseidon_full_rounds_state1_squared_column_row_expr536; + let poseidon_poseidon_full_rounds_state2_cubed_0 = + poseidon_poseidon_full_rounds_state2_column_row_expr537 + * poseidon_poseidon_full_rounds_state2_squared_column_row_expr538; + let poseidon_poseidon_full_rounds_state0_cubed_7 = + poseidon_poseidon_full_rounds_state0_column_row_expr849 + * poseidon_poseidon_full_rounds_state0_squared_column_row_expr850; + let poseidon_poseidon_full_rounds_state1_cubed_7 = + poseidon_poseidon_full_rounds_state1_column_row_expr851 + * poseidon_poseidon_full_rounds_state1_squared_column_row_expr852; + let poseidon_poseidon_full_rounds_state2_cubed_7 = + poseidon_poseidon_full_rounds_state2_column_row_expr853 + * poseidon_poseidon_full_rounds_state2_squared_column_row_expr854; + let poseidon_poseidon_full_rounds_state0_cubed_3 = + poseidon_poseidon_full_rounds_state0_column_row_expr855 + * poseidon_poseidon_full_rounds_state0_squared_column_row_expr856; + let poseidon_poseidon_full_rounds_state1_cubed_3 = + poseidon_poseidon_full_rounds_state1_column_row_expr857 + * poseidon_poseidon_full_rounds_state1_squared_column_row_expr858; + let poseidon_poseidon_full_rounds_state2_cubed_3 = + poseidon_poseidon_full_rounds_state2_column_row_expr859 + * poseidon_poseidon_full_rounds_state2_squared_column_row_expr860; + let poseidon_poseidon_partial_rounds_state0_cubed_0 = + poseidon_poseidon_partial_rounds_state0_column_row_expr539 + * poseidon_poseidon_partial_rounds_state0_squared_column_row_expr540; + let poseidon_poseidon_partial_rounds_state0_cubed_1 = + poseidon_poseidon_partial_rounds_state0_column_row_expr557 + * poseidon_poseidon_partial_rounds_state0_squared_column_row_expr861; + let poseidon_poseidon_partial_rounds_state0_cubed_2 = + poseidon_poseidon_partial_rounds_state0_column_row_expr558 + * poseidon_poseidon_partial_rounds_state0_squared_column_row_expr862; + let poseidon_poseidon_partial_rounds_state1_cubed_0 = + poseidon_poseidon_partial_rounds_state1_column_row_expr541 + * poseidon_poseidon_partial_rounds_state1_squared_column_row_expr542; + let poseidon_poseidon_partial_rounds_state1_cubed_1 = + poseidon_poseidon_partial_rounds_state1_column_row_expr554 + * poseidon_poseidon_partial_rounds_state1_squared_column_row_expr863; + let poseidon_poseidon_partial_rounds_state1_cubed_2 = + poseidon_poseidon_partial_rounds_state1_column_row_expr556 + * poseidon_poseidon_partial_rounds_state1_squared_column_row_expr864; + let poseidon_poseidon_partial_rounds_state1_cubed_19 = + poseidon_poseidon_partial_rounds_state1_column_row_expr865 + * poseidon_poseidon_partial_rounds_state1_squared_column_row_expr866; + let poseidon_poseidon_partial_rounds_state1_cubed_20 = + poseidon_poseidon_partial_rounds_state1_column_row_expr562 + * poseidon_poseidon_partial_rounds_state1_squared_column_row_expr867; + let poseidon_poseidon_partial_rounds_state1_cubed_21 = + poseidon_poseidon_partial_rounds_state1_column_row_expr563 + * poseidon_poseidon_partial_rounds_state1_squared_column_row_expr868; + let range_check96_builtin_value0_0 = range_check16_pool_column_row_expr869; + let range_check96_builtin_value1_0 = range_check96_builtin_value0_0 * global_values.offset_size + + range_check16_pool_column_row_expr870; + let range_check96_builtin_value2_0 = range_check96_builtin_value1_0 * global_values.offset_size + + range_check16_pool_column_row_expr871; + let range_check96_builtin_value3_0 = range_check96_builtin_value2_0 * global_values.offset_size + + range_check16_pool_column_row_expr872; + let range_check96_builtin_value4_0 = range_check96_builtin_value3_0 * global_values.offset_size + + range_check16_pool_column_row_expr873; + let range_check96_builtin_value5_0 = range_check96_builtin_value4_0 * global_values.offset_size + + range_check16_pool_column_row_expr874; + let mul_mod_p_multiplier1_0 = range_check16_pool_column_row_expr875 + + FELT_65536 * range_check16_pool_column_row_expr876 + + FELT_4294967296 * range_check16_pool_column_row_expr877 + + FELT_281474976710656 * range_check16_pool_column_row_expr878 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr879 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr880; + let mul_mod_p_multiplier2_0 = range_check16_pool_column_row_expr881 + + FELT_65536 * range_check16_pool_column_row_expr882 + + FELT_4294967296 * range_check16_pool_column_row_expr883 + + FELT_281474976710656 * range_check16_pool_column_row_expr884 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr885 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr886; + let mul_mod_p_multiplier3_0 = range_check16_pool_column_row_expr887 + + FELT_65536 * range_check16_pool_column_row_expr888 + + FELT_4294967296 * range_check16_pool_column_row_expr889 + + FELT_281474976710656 * range_check16_pool_column_row_expr890 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr891 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr892; + let mul_mod_p_multiplier0_0 = range_check16_pool_column_row_expr893 + + FELT_65536 * range_check16_pool_column_row_expr894 + + FELT_4294967296 * range_check16_pool_column_row_expr895 + + FELT_281474976710656 * range_check16_pool_column_row_expr896 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr897 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr898; + let mul_mod_carry1_0 = range_check16_pool_column_row_expr899 + + FELT_65536 * range_check16_pool_column_row_expr900 + + FELT_4294967296 * range_check16_pool_column_row_expr901 + + FELT_281474976710656 * range_check16_pool_column_row_expr902 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr903 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr904 + + FELT_79228162514264337593543950336 * range_check16_pool_column_row_expr905; + let mul_mod_carry2_0 = range_check16_pool_column_row_expr906 + + FELT_65536 * range_check16_pool_column_row_expr907 + + FELT_4294967296 * range_check16_pool_column_row_expr908 + + FELT_281474976710656 * range_check16_pool_column_row_expr909 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr910 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr911 + + FELT_79228162514264337593543950336 * range_check16_pool_column_row_expr912; + let mul_mod_carry3_0 = range_check16_pool_column_row_expr913 + + FELT_65536 * range_check16_pool_column_row_expr914 + + FELT_4294967296 * range_check16_pool_column_row_expr915 + + FELT_281474976710656 * range_check16_pool_column_row_expr916 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr917 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr918 + + FELT_79228162514264337593543950336 * range_check16_pool_column_row_expr919; + let mul_mod_carry4_0 = range_check16_pool_column_row_expr920 + + FELT_65536 * range_check16_pool_column_row_expr921 + + FELT_4294967296 * range_check16_pool_column_row_expr922 + + FELT_281474976710656 * range_check16_pool_column_row_expr923 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr924 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr925 + + FELT_79228162514264337593543950336 * range_check16_pool_column_row_expr926; + let mul_mod_carry5_0 = range_check16_pool_column_row_expr927 + + FELT_65536 * range_check16_pool_column_row_expr928 + + FELT_4294967296 * range_check16_pool_column_row_expr929 + + FELT_281474976710656 * range_check16_pool_column_row_expr930 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr931 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr932 + + FELT_79228162514264337593543950336 * range_check16_pool_column_row_expr933; + let mul_mod_carry0_0 = range_check16_pool_column_row_expr934 + + FELT_65536 * range_check16_pool_column_row_expr935 + + FELT_4294967296 * range_check16_pool_column_row_expr936 + + FELT_281474976710656 * range_check16_pool_column_row_expr937 + + FELT_18446744073709551616 * range_check16_pool_column_row_expr938 + + FELT_1208925819614629174706176 * range_check16_pool_column_row_expr939 + + FELT_79228162514264337593543950336 * range_check16_pool_column_row_expr940; + + // Sum constraints. + + // Constraint: cpu/decode/opcode_range_check/bit. + let mut value: Felt = (cpu_decode_opcode_range_check_bit_0 + * cpu_decode_opcode_range_check_bit_0 + - cpu_decode_opcode_range_check_bit_0) + * domain1.field_div(&NonZeroFelt::try_from(domain0)?); + let mut total_sum: Felt = constraint_coefficients[0] * value; + + // Constraint: cpu/decode/opcode_range_check/zero. + value = (cpu_decode_opcode_range_check_column_column_row_expr0) + .field_div(&NonZeroFelt::try_from(domain1)?); + total_sum += constraint_coefficients[1] * value; + + // Constraint: cpu/decode/opcode_range_check_input. + value = (mem_pool_value_column_row_expr1 + - (((cpu_decode_opcode_range_check_column_column_row_expr0 * global_values.offset_size + + range_check16_pool_column_row_expr2) + * global_values.offset_size + + range_check16_pool_column_row_expr3) + * global_values.offset_size + + range_check16_pool_column_row_expr4)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[2] * value; + + // Constraint: cpu/decode/flag_op1_base_op0_bit. + value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 + - cpu_decode_flag_op1_base_op0_0) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[3] * value; + + // Constraint: cpu/decode/flag_res_op1_bit. + value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[4] * value; + + // Constraint: cpu/decode/flag_pc_update_regular_bit. + value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 + - cpu_decode_flag_pc_update_regular_0) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[5] * value; + + // Constraint: cpu/decode/fp_update_regular_bit. + value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 + - cpu_decode_fp_update_regular_0) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[6] * value; + + // Constraint: cpu/operands/mem_dst_addr. + value = (mem_pool_addr_column_row_expr5 + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_0 * cpu_registers_fp_column_row_expr6 + + (FELT_1 - cpu_decode_opcode_range_check_bit_0) * cpu_registers_ap_column_row_expr7 + + range_check16_pool_column_row_expr4)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[7] * value; + + // Constraint: cpu/operands/mem0_addr. + value = (mem_pool_addr_column_row_expr8 + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_1 * cpu_registers_fp_column_row_expr6 + + (FELT_1 - cpu_decode_opcode_range_check_bit_1) * cpu_registers_ap_column_row_expr7 + + range_check16_pool_column_row_expr3)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[8] * value; + + // Constraint: cpu/operands/mem1_addr. + value = (mem_pool_addr_column_row_expr9 + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_2 * mem_pool_addr_column_row_expr10 + + cpu_decode_opcode_range_check_bit_4 * cpu_registers_ap_column_row_expr7 + + cpu_decode_opcode_range_check_bit_3 * cpu_registers_fp_column_row_expr6 + + cpu_decode_flag_op1_base_op0_0 * mem_pool_value_column_row_expr11 + + range_check16_pool_column_row_expr2)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[9] * value; + + // Constraint: cpu/operands/ops_mul. + value = (cpu_operands_ops_mul_column_row_expr12 + - mem_pool_value_column_row_expr11 * mem_pool_value_column_row_expr13) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[10] * value; + + // Constraint: cpu/operands/res. + value = ((FELT_1 - cpu_decode_opcode_range_check_bit_9) * cpu_operands_res_column_row_expr14 + - (cpu_decode_opcode_range_check_bit_5 + * (mem_pool_value_column_row_expr11 + mem_pool_value_column_row_expr13) + + cpu_decode_opcode_range_check_bit_6 * cpu_operands_ops_mul_column_row_expr12 + + cpu_decode_flag_res_op1_0 * mem_pool_value_column_row_expr13)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[11] * value; + + // Constraint: cpu/update_registers/update_pc/tmp0. + value = (cpu_update_registers_update_pc_tmp0_column_row_expr15 + - cpu_decode_opcode_range_check_bit_9 * mem_pool_value_column_row_expr16) + * domain7.field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[12] * value; + + // Constraint: cpu/update_registers/update_pc/tmp1. + value = (cpu_update_registers_update_pc_tmp1_column_row_expr17 + - cpu_update_registers_update_pc_tmp0_column_row_expr15 + * cpu_operands_res_column_row_expr14) + * domain7.field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[13] * value; + + // Constraint: cpu/update_registers/update_pc/pc_cond_negative. + value = ((FELT_1 - cpu_decode_opcode_range_check_bit_9) * mem_pool_addr_column_row_expr18 + + cpu_update_registers_update_pc_tmp0_column_row_expr15 + * (mem_pool_addr_column_row_expr18 + - (mem_pool_addr_column_row_expr10 + mem_pool_value_column_row_expr13)) + - (cpu_decode_flag_pc_update_regular_0 * npc_reg_0 + + cpu_decode_opcode_range_check_bit_7 * cpu_operands_res_column_row_expr14 + + cpu_decode_opcode_range_check_bit_8 + * (mem_pool_addr_column_row_expr10 + cpu_operands_res_column_row_expr14))) + * domain7.field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[14] * value; + + // Constraint: cpu/update_registers/update_pc/pc_cond_positive. + value = ((cpu_update_registers_update_pc_tmp1_column_row_expr17 + - cpu_decode_opcode_range_check_bit_9) + * (mem_pool_addr_column_row_expr18 - npc_reg_0)) + * domain7.field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[15] * value; + + // Constraint: cpu/update_registers/update_ap/ap_update. + value = (cpu_registers_ap_column_row_expr19 + - (cpu_registers_ap_column_row_expr7 + + cpu_decode_opcode_range_check_bit_10 * cpu_operands_res_column_row_expr14 + + cpu_decode_opcode_range_check_bit_11 + + cpu_decode_opcode_range_check_bit_12 * FELT_2)) + * domain7.field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[16] * value; + + // Constraint: cpu/update_registers/update_fp/fp_update. + value = (cpu_registers_fp_column_row_expr20 + - (cpu_decode_fp_update_regular_0 * cpu_registers_fp_column_row_expr6 + + cpu_decode_opcode_range_check_bit_13 * mem_pool_value_column_row_expr16 + + cpu_decode_opcode_range_check_bit_12 * (cpu_registers_ap_column_row_expr7 + FELT_2))) + * domain7.field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[17] * value; + + // Constraint: cpu/opcodes/call/push_fp. + value = (cpu_decode_opcode_range_check_bit_12 + * (mem_pool_value_column_row_expr16 - cpu_registers_fp_column_row_expr6)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[18] * value; + + // Constraint: cpu/opcodes/call/push_pc. + value = (cpu_decode_opcode_range_check_bit_12 + * (mem_pool_value_column_row_expr11 + - (mem_pool_addr_column_row_expr10 + cpu_decode_opcode_range_check_bit_2 + FELT_1))) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[19] * value; + + // Constraint: cpu/opcodes/call/off0. + value = (cpu_decode_opcode_range_check_bit_12 + * (range_check16_pool_column_row_expr4 - global_values.half_offset_size)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[20] * value; + + // Constraint: cpu/opcodes/call/off1. + value = (cpu_decode_opcode_range_check_bit_12 + * (range_check16_pool_column_row_expr3 - (global_values.half_offset_size + FELT_1))) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[21] * value; + + // Constraint: cpu/opcodes/call/flags. + value = (cpu_decode_opcode_range_check_bit_12 + * (cpu_decode_opcode_range_check_bit_12 + + cpu_decode_opcode_range_check_bit_12 + + FELT_1 + + FELT_1 + - (cpu_decode_opcode_range_check_bit_0 + + cpu_decode_opcode_range_check_bit_1 + + FELT_4))) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[22] * value; + + // Constraint: cpu/opcodes/ret/off0. + value = (cpu_decode_opcode_range_check_bit_13 + * (range_check16_pool_column_row_expr4 + FELT_2 - global_values.half_offset_size)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[23] * value; + + // Constraint: cpu/opcodes/ret/off2. + value = (cpu_decode_opcode_range_check_bit_13 + * (range_check16_pool_column_row_expr2 + FELT_1 - global_values.half_offset_size)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[24] * value; + + // Constraint: cpu/opcodes/ret/flags. + value = (cpu_decode_opcode_range_check_bit_13 + * (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_0 + + cpu_decode_opcode_range_check_bit_3 + + cpu_decode_flag_res_op1_0 + - 4)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[25] * value; + + // Constraint: cpu/opcodes/assert_eq/assert_eq. + value = (cpu_decode_opcode_range_check_bit_14 + * (mem_pool_value_column_row_expr16 - cpu_operands_res_column_row_expr14)) + .field_div(&NonZeroFelt::try_from(domain2)?); + total_sum += constraint_coefficients[26] * value; + + // Constraint: initial_ap. + value = (cpu_registers_ap_column_row_expr7 - global_values.initial_ap) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[27] * value; + + // Constraint: initial_fp. + value = (cpu_registers_fp_column_row_expr6 - global_values.initial_ap) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[28] * value; + + // Constraint: initial_pc. + value = (mem_pool_addr_column_row_expr10 - global_values.initial_pc) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[29] * value; + + // Constraint: final_ap. + value = (cpu_registers_ap_column_row_expr7 - global_values.final_ap) + .field_div(&NonZeroFelt::try_from(domain7)?); + total_sum += constraint_coefficients[30] * value; + + // Constraint: final_fp. + value = (cpu_registers_fp_column_row_expr6 - global_values.initial_ap) + .field_div(&NonZeroFelt::try_from(domain7)?); + total_sum += constraint_coefficients[31] * value; + + // Constraint: final_pc. + value = (mem_pool_addr_column_row_expr10 - global_values.final_pc) + .field_div(&NonZeroFelt::try_from(domain7)?); + total_sum += constraint_coefficients[32] * value; + + // Constraint: memory/multi_column_perm/perm/init0. + value = ((global_values.memory_multi_column_perm_perm_interaction_elm + - (memory_sorted_addr_column_row_expr21 + + global_values.memory_multi_column_perm_hash_interaction_elm0 + * memory_sorted_value_column_row_expr22)) + * memory_multi_column_perm_perm_cum_prod0_column_row_expr23 + + mem_pool_addr_column_row_expr24 + + global_values.memory_multi_column_perm_hash_interaction_elm0 + * mem_pool_value_column_row_expr25 + - global_values.memory_multi_column_perm_perm_interaction_elm) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[33] * value; + + // Constraint: memory/multi_column_perm/perm/step0. + value = ((global_values.memory_multi_column_perm_perm_interaction_elm + - (memory_sorted_addr_column_row_expr26 + + global_values.memory_multi_column_perm_hash_interaction_elm0 + * memory_sorted_value_column_row_expr27)) + * memory_multi_column_perm_perm_cum_prod0_column_row_expr28 + - (global_values.memory_multi_column_perm_perm_interaction_elm + - (mem_pool_addr_column_row_expr29 + + global_values.memory_multi_column_perm_hash_interaction_elm0 + * mem_pool_value_column_row_expr30)) + * memory_multi_column_perm_perm_cum_prod0_column_row_expr23) + * domain9.field_div(&NonZeroFelt::try_from(domain4)?); + total_sum += constraint_coefficients[34] * value; + + // Constraint: memory/multi_column_perm/perm/last. + value = (memory_multi_column_perm_perm_cum_prod0_column_row_expr23 + - global_values.memory_multi_column_perm_perm_public_memory_prod) + .field_div(&NonZeroFelt::try_from(domain9)?); + total_sum += constraint_coefficients[35] * value; + + // Constraint: memory/diff_is_bit. + value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) + * domain9.field_div(&NonZeroFelt::try_from(domain4)?); + total_sum += constraint_coefficients[36] * value; + + // Constraint: memory/is_func. + value = ((memory_address_diff_0 - 1) + * (memory_sorted_value_column_row_expr22 - memory_sorted_value_column_row_expr27)) + * domain9.field_div(&NonZeroFelt::try_from(domain4)?); + total_sum += constraint_coefficients[37] * value; + + // Constraint: memory/initial_addr. + value = (memory_sorted_addr_column_row_expr21 - 1).field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[38] * value; + + // Constraint: public_memory_addr_zero. + value = (mem_pool_addr_column_row_expr31).field_div(&NonZeroFelt::try_from(domain5)?); + total_sum += constraint_coefficients[39] * value; + + // Constraint: public_memory_value_zero. + value = (mem_pool_value_column_row_expr32).field_div(&NonZeroFelt::try_from(domain5)?); + total_sum += constraint_coefficients[40] * value; + + // Constraint: range_check16/perm/init0. + value = ((global_values.range_check16_perm_interaction_elm + - range_check16_sorted_column_row_expr33) + * range_check16_perm_cum_prod0_column_row_expr34 + + range_check16_pool_column_row_expr35 + - global_values.range_check16_perm_interaction_elm) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[41] * value; + + // Constraint: range_check16/perm/step0. + value = ((global_values.range_check16_perm_interaction_elm + - range_check16_sorted_column_row_expr36) + * range_check16_perm_cum_prod0_column_row_expr37 + - (global_values.range_check16_perm_interaction_elm + - range_check16_pool_column_row_expr38) + * range_check16_perm_cum_prod0_column_row_expr34) + * domain10.field_div(&NonZeroFelt::try_from(domain6)?); + total_sum += constraint_coefficients[42] * value; + + // Constraint: range_check16/perm/last. + value = (range_check16_perm_cum_prod0_column_row_expr34 + - global_values.range_check16_perm_public_memory_prod) + .field_div(&NonZeroFelt::try_from(domain10)?); + total_sum += constraint_coefficients[43] * value; + + // Constraint: range_check16/diff_is_bit. + value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) + * domain10.field_div(&NonZeroFelt::try_from(domain6)?); + total_sum += constraint_coefficients[44] * value; + + // Constraint: range_check16/minimum. + value = (range_check16_sorted_column_row_expr33 - global_values.range_check_min) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[45] * value; + + // Constraint: range_check16/maximum. + value = (range_check16_sorted_column_row_expr33 - global_values.range_check_max) + .field_div(&NonZeroFelt::try_from(domain10)?); + total_sum += constraint_coefficients[46] * value; + + // Constraint: diluted_check/permutation/init0. + value = ((global_values.diluted_check_permutation_interaction_elm + - diluted_check_permuted_values_column_row_expr39) + * diluted_check_permutation_cum_prod0_column_row_expr40 + + diluted_pool_column_row_expr41 + - global_values.diluted_check_permutation_interaction_elm) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[47] * value; + + // Constraint: diluted_check/permutation/step0. + value = ((global_values.diluted_check_permutation_interaction_elm + - diluted_check_permuted_values_column_row_expr42) + * diluted_check_permutation_cum_prod0_column_row_expr43 + - (global_values.diluted_check_permutation_interaction_elm + - diluted_pool_column_row_expr44) + * diluted_check_permutation_cum_prod0_column_row_expr40) + * domain11.field_div(&NonZeroFelt::try_from(domain3)?); + total_sum += constraint_coefficients[48] * value; + + // Constraint: diluted_check/permutation/last. + value = (diluted_check_permutation_cum_prod0_column_row_expr40 + - global_values.diluted_check_permutation_public_memory_prod) + .field_div(&NonZeroFelt::try_from(domain11)?); + total_sum += constraint_coefficients[49] * value; + + // Constraint: diluted_check/init. + value = (diluted_check_cumulative_value_column_row_expr45 - 1) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[50] * value; + + // Constraint: diluted_check/first_element. + value = (diluted_check_permuted_values_column_row_expr39 + - global_values.diluted_check_first_elm) + .field_div(&NonZeroFelt::try_from(domain8)?); + total_sum += constraint_coefficients[51] * value; + + // Constraint: diluted_check/step. + value = (diluted_check_cumulative_value_column_row_expr46 + - (diluted_check_cumulative_value_column_row_expr45 + * (FELT_1 + + global_values.diluted_check_interaction_z + * (diluted_check_permuted_values_column_row_expr42 + - diluted_check_permuted_values_column_row_expr39)) + + global_values.diluted_check_interaction_alpha + * (diluted_check_permuted_values_column_row_expr42 + - diluted_check_permuted_values_column_row_expr39) + * (diluted_check_permuted_values_column_row_expr42 + - diluted_check_permuted_values_column_row_expr39))) + * domain11.field_div(&NonZeroFelt::try_from(domain3)?); + total_sum += constraint_coefficients[52] * value; + + // Constraint: diluted_check/last. + value = (diluted_check_cumulative_value_column_row_expr45 + - global_values.diluted_check_final_cum_val) + .field_div(&NonZeroFelt::try_from(domain11)?); + total_sum += constraint_coefficients[53] * value; + + if uses_pedersen_builtin != 0 { + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. + value = (pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr47 + * (pedersen_hash0_ec_subset_sum_selector_column_row_expr48 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr49 + + pedersen_hash0_ec_subset_sum_selector_column_row_expr49))) + .field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[54] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. + value = (pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr47 + * (pedersen_hash0_ec_subset_sum_selector_column_row_expr49 + - FELT_3138550867693340381917894711603833208051177722232017256448 + * pedersen_hash0_ec_subset_sum_selector_column_row_expr50)) + .field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[55] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. + value = (pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr47 + - pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr51 + * (pedersen_hash0_ec_subset_sum_selector_column_row_expr50 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr52 + + pedersen_hash0_ec_subset_sum_selector_column_row_expr52))) + .field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[56] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. + value = (pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr51 + * (pedersen_hash0_ec_subset_sum_selector_column_row_expr52 + - FELT_8 * pedersen_hash0_ec_subset_sum_selector_column_row_expr53)) + .field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[57] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. + value = (pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr51 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr54 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr55 + + pedersen_hash0_ec_subset_sum_selector_column_row_expr55)) + * (pedersen_hash0_ec_subset_sum_selector_column_row_expr53 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr56 + + pedersen_hash0_ec_subset_sum_selector_column_row_expr56))) + .field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[58] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. + value = ((pedersen_hash0_ec_subset_sum_selector_column_row_expr54 + - (pedersen_hash0_ec_subset_sum_selector_column_row_expr55 + + pedersen_hash0_ec_subset_sum_selector_column_row_expr55)) + * (pedersen_hash0_ec_subset_sum_selector_column_row_expr56 + - FELT_18014398509481984 + * pedersen_hash0_ec_subset_sum_selector_column_row_expr54)) + .field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[59] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. + value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) + * domain160.field_div(&NonZeroFelt::try_from(domain158)?); + total_sum += constraint_coefficients[60] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. + value = (pedersen_hash0_ec_subset_sum_selector_column_row_expr48) + .field_div(&NonZeroFelt::try_from(domain161)?); + total_sum += constraint_coefficients[61] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. + value = (pedersen_hash0_ec_subset_sum_selector_column_row_expr48) + .field_div(&NonZeroFelt::try_from(domain160)?); + total_sum += constraint_coefficients[62] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. + value = (pedersen_hash0_ec_subset_sum_bit_0 + * (pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr57 + - global_values.pedersen_points_y) + - pedersen_hash0_ec_subset_sum_slope_column_row_expr58 + * (pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr59 + - global_values.pedersen_points_x)) + * domain160.field_div(&NonZeroFelt::try_from(domain158)?); + total_sum += constraint_coefficients[63] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. + value = (pedersen_hash0_ec_subset_sum_slope_column_row_expr58 + * pedersen_hash0_ec_subset_sum_slope_column_row_expr58 + - pedersen_hash0_ec_subset_sum_bit_0 + * (pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr59 + + global_values.pedersen_points_x + + pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr60)) + * domain160.field_div(&NonZeroFelt::try_from(domain158)?); + total_sum += constraint_coefficients[64] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. + value = (pedersen_hash0_ec_subset_sum_bit_0 + * (pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr57 + + pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr61) + - pedersen_hash0_ec_subset_sum_slope_column_row_expr58 + * (pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr59 + - pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr60)) + * domain160.field_div(&NonZeroFelt::try_from(domain158)?); + total_sum += constraint_coefficients[65] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. + value = (pedersen_hash0_ec_subset_sum_bit_neg_0 + * (pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr60 + - pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr59)) + * domain160.field_div(&NonZeroFelt::try_from(domain158)?); + total_sum += constraint_coefficients[66] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. + value = (pedersen_hash0_ec_subset_sum_bit_neg_0 + * (pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr61 + - pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr57)) + * domain160.field_div(&NonZeroFelt::try_from(domain158)?); + total_sum += constraint_coefficients[67] * value; + + // Constraint: pedersen/hash0/copy_point/x. + value = (pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr62 + - pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr63) + * domain162.field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[68] * value; + + // Constraint: pedersen/hash0/copy_point/y. + value = (pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr64 + - pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr65) + * domain162.field_div(&NonZeroFelt::try_from(domain159)?); + total_sum += constraint_coefficients[69] * value; + + // Constraint: pedersen/hash0/init/x. + value = (pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr59 + - global_values.pedersen_shift_point.x) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[70] * value; + + // Constraint: pedersen/hash0/init/y. + value = (pedersen_hash0_ec_subset_sum_partial_sum_y_column_row_expr57 + - global_values.pedersen_shift_point.y) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[71] * value; + + // Constraint: pedersen/input0_value0. + value = (mem_pool_value_column_row_expr66 + - pedersen_hash0_ec_subset_sum_selector_column_row_expr48) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[72] * value; + + // Constraint: pedersen/input0_addr. + value = (mem_pool_addr_column_row_expr67 - (mem_pool_addr_column_row_expr68 + FELT_1)) + * domain164.field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[73] * value; + + // Constraint: pedersen/init_addr. + value = (mem_pool_addr_column_row_expr69 - global_values.initial_pedersen_addr) + .field_div(&NonZeroFelt::try_from(domain165)?); + total_sum += constraint_coefficients[74] * value; + + // Constraint: pedersen/input1_value0. + value = (mem_pool_value_column_row_expr70 + - pedersen_hash0_ec_subset_sum_selector_column_row_expr71) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[75] * value; + + // Constraint: pedersen/input1_addr. + value = (mem_pool_addr_column_row_expr72 - (mem_pool_addr_column_row_expr69 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[76] * value; + + // Constraint: pedersen/output_value0. + value = (mem_pool_value_column_row_expr73 + - pedersen_hash0_ec_subset_sum_partial_sum_x_column_row_expr74) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[77] * value; + + // Constraint: pedersen/output_addr. + value = (mem_pool_addr_column_row_expr68 - (mem_pool_addr_column_row_expr72 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain163)?); + total_sum += constraint_coefficients[78] * value; + } + if uses_range_check_builtin != 0 { + // Constraint: range_check_builtin/value. + value = (range_check_builtin_value7_0 - mem_pool_value_column_row_expr75) + .field_div(&NonZeroFelt::try_from(domain181)?); + total_sum += constraint_coefficients[79] * value; + + // Constraint: range_check_builtin/addr_step. + value = (mem_pool_addr_column_row_expr76 - (mem_pool_addr_column_row_expr77 + FELT_1)) + * domain182.field_div(&NonZeroFelt::try_from(domain181)?); + total_sum += constraint_coefficients[80] * value; + + // Constraint: range_check_builtin/init_addr. + value = (mem_pool_addr_column_row_expr77 - global_values.initial_range_check_addr) + .field_div(&NonZeroFelt::try_from(domain183)?); + total_sum += constraint_coefficients[81] * value; + } + if uses_ecdsa_builtin != 0 { + // Constraint: ecdsa/signature0/doubling_key/slope. + value = (ecdsa_signature0_doubling_key_x_squared + + ecdsa_signature0_doubling_key_x_squared + + ecdsa_signature0_doubling_key_x_squared + + global_values.ecdsa_sig_config.alpha + - (ecdsa_signature0_key_points_y_column_row_expr78 + + ecdsa_signature0_key_points_y_column_row_expr78) + * ecdsa_signature0_doubling_slope_column_row_expr79) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[82] * value; + + // Constraint: ecdsa/signature0/doubling_key/x. + value = (ecdsa_signature0_doubling_slope_column_row_expr79 + * ecdsa_signature0_doubling_slope_column_row_expr79 + - (ecdsa_signature0_key_points_x_column_row_expr80 + + ecdsa_signature0_key_points_x_column_row_expr80 + + ecdsa_signature0_key_points_x_column_row_expr81)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[83] * value; + + // Constraint: ecdsa/signature0/doubling_key/y. + value = (ecdsa_signature0_key_points_y_column_row_expr78 + + ecdsa_signature0_key_points_y_column_row_expr82 + - ecdsa_signature0_doubling_slope_column_row_expr79 + * (ecdsa_signature0_key_points_x_column_row_expr80 + - ecdsa_signature0_key_points_x_column_row_expr81)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[84] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. + value = (ecdsa_signature0_exponentiate_generator_bit_0 + * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[85] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. + value = (ecdsa_signature0_exponentiate_generator_selector_column_row_expr83) + .field_div(&NonZeroFelt::try_from(domain33)?); + total_sum += constraint_coefficients[86] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. + value = (ecdsa_signature0_exponentiate_generator_selector_column_row_expr83) + .field_div(&NonZeroFelt::try_from(domain32)?); + total_sum += constraint_coefficients[87] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. + value = (ecdsa_signature0_exponentiate_generator_bit_0 + * (ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr84 + - global_values.ecdsa_generator_points_y) + - ecdsa_signature0_exponentiate_generator_slope_column_row_expr85 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86 + - global_values.ecdsa_generator_points_x)) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[88] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. + value = (ecdsa_signature0_exponentiate_generator_slope_column_row_expr85 + * ecdsa_signature0_exponentiate_generator_slope_column_row_expr85 + - ecdsa_signature0_exponentiate_generator_bit_0 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86 + + global_values.ecdsa_generator_points_x + + ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr87)) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[89] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. + value = (ecdsa_signature0_exponentiate_generator_bit_0 + * (ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr84 + + ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr88) + - ecdsa_signature0_exponentiate_generator_slope_column_row_expr85 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86 + - ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr87)) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[90] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. + value = (ecdsa_signature0_exponentiate_generator_x_diff_inv_column_row_expr89 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86 + - global_values.ecdsa_generator_points_x) + - 1) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[91] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. + value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr87 + - ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86)) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[92] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. + value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 + * (ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr88 + - ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr84)) + * domain32.field_div(&NonZeroFelt::try_from(domain28)?); + total_sum += constraint_coefficients[93] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. + value = (ecdsa_signature0_exponentiate_key_bit_0 + * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[94] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. + value = (ecdsa_signature0_exponentiate_key_selector_column_row_expr90) + .field_div(&NonZeroFelt::try_from(domain30)?); + total_sum += constraint_coefficients[95] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. + value = (ecdsa_signature0_exponentiate_key_selector_column_row_expr90) + .field_div(&NonZeroFelt::try_from(domain29)?); + total_sum += constraint_coefficients[96] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. + value = (ecdsa_signature0_exponentiate_key_bit_0 + * (ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr91 + - ecdsa_signature0_key_points_y_column_row_expr78) + - ecdsa_signature0_exponentiate_key_slope_column_row_expr92 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93 + - ecdsa_signature0_key_points_x_column_row_expr80)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[97] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. + value = (ecdsa_signature0_exponentiate_key_slope_column_row_expr92 + * ecdsa_signature0_exponentiate_key_slope_column_row_expr92 + - ecdsa_signature0_exponentiate_key_bit_0 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93 + + ecdsa_signature0_key_points_x_column_row_expr80 + + ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr94)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[98] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. + value = (ecdsa_signature0_exponentiate_key_bit_0 + * (ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr91 + + ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr95) + - ecdsa_signature0_exponentiate_key_slope_column_row_expr92 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93 + - ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr94)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[99] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. + value = (ecdsa_signature0_exponentiate_key_x_diff_inv_column_row_expr96 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93 + - ecdsa_signature0_key_points_x_column_row_expr80) + - 1) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[100] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. + value = (ecdsa_signature0_exponentiate_key_bit_neg_0 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr94 + - ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[101] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. + value = (ecdsa_signature0_exponentiate_key_bit_neg_0 + * (ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr95 + - ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr91)) + * domain29.field_div(&NonZeroFelt::try_from(domain27)?); + total_sum += constraint_coefficients[102] * value; + + // Constraint: ecdsa/signature0/init_gen/x. + value = (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr86 + - global_values.ecdsa_sig_config.shift_point.x) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[103] * value; + + // Constraint: ecdsa/signature0/init_gen/y. + value = (ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr84 + + global_values.ecdsa_sig_config.shift_point.y) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[104] * value; + + // Constraint: ecdsa/signature0/init_key/x. + value = (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr93 + - global_values.ecdsa_sig_config.shift_point.x) + .field_div(&NonZeroFelt::try_from(domain31)?); + total_sum += constraint_coefficients[105] * value; + + // Constraint: ecdsa/signature0/init_key/y. + value = (ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr91 + - global_values.ecdsa_sig_config.shift_point.y) + .field_div(&NonZeroFelt::try_from(domain31)?); + total_sum += constraint_coefficients[106] * value; + + // Constraint: ecdsa/signature0/add_results/slope. + value = (ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr97 + - (ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr98 + + ecdsa_signature0_add_results_slope_column_row_expr99 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr100 + - ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr101))) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[107] * value; + + // Constraint: ecdsa/signature0/add_results/x. + value = (ecdsa_signature0_add_results_slope_column_row_expr99 + * ecdsa_signature0_add_results_slope_column_row_expr99 + - (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr100 + + ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr101 + + ecdsa_signature0_key_points_x_column_row_expr102)) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[108] * value; + + // Constraint: ecdsa/signature0/add_results/y. + value = (ecdsa_signature0_exponentiate_generator_partial_sum_y_column_row_expr97 + + ecdsa_signature0_key_points_y_column_row_expr103 + - ecdsa_signature0_add_results_slope_column_row_expr99 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr100 + - ecdsa_signature0_key_points_x_column_row_expr102)) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[109] * value; + + // Constraint: ecdsa/signature0/add_results/x_diff_inv. + value = (ecdsa_signature0_add_results_inv_column_row_expr104 + * (ecdsa_signature0_exponentiate_generator_partial_sum_x_column_row_expr100 + - ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr101) + - 1) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[110] * value; + + // Constraint: ecdsa/signature0/extract_r/slope. + value = (ecdsa_signature0_exponentiate_key_partial_sum_y_column_row_expr105 + + global_values.ecdsa_sig_config.shift_point.y + - ecdsa_signature0_extract_r_slope_column_row_expr106 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr107 + - global_values.ecdsa_sig_config.shift_point.x)) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[111] * value; + + // Constraint: ecdsa/signature0/extract_r/x. + value = (ecdsa_signature0_extract_r_slope_column_row_expr106 + * ecdsa_signature0_extract_r_slope_column_row_expr106 + - (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr107 + + global_values.ecdsa_sig_config.shift_point.x + + ecdsa_signature0_exponentiate_key_selector_column_row_expr90)) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[112] * value; + + // Constraint: ecdsa/signature0/extract_r/x_diff_inv. + value = (ecdsa_signature0_extract_r_inv_column_row_expr108 + * (ecdsa_signature0_exponentiate_key_partial_sum_x_column_row_expr107 + - global_values.ecdsa_sig_config.shift_point.x) + - 1) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[113] * value; + + // Constraint: ecdsa/signature0/z_nonzero. + value = (ecdsa_signature0_exponentiate_generator_selector_column_row_expr83 + * ecdsa_signature0_z_inv_column_row_expr109 + - 1) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[114] * value; + + // Constraint: ecdsa/signature0/r_and_w_nonzero. + value = (ecdsa_signature0_exponentiate_key_selector_column_row_expr90 + * ecdsa_signature0_r_w_inv_column_row_expr110 + - 1) + .field_div(&NonZeroFelt::try_from(domain31)?); + total_sum += constraint_coefficients[115] * value; + + // Constraint: ecdsa/signature0/q_on_curve/x_squared. + value = (ecdsa_signature0_q_x_squared_column_row_expr111 + - ecdsa_signature0_key_points_x_column_row_expr80 + * ecdsa_signature0_key_points_x_column_row_expr80) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[116] * value; + + // Constraint: ecdsa/signature0/q_on_curve/on_curve. + value = (ecdsa_signature0_key_points_y_column_row_expr78 + * ecdsa_signature0_key_points_y_column_row_expr78 + - (ecdsa_signature0_key_points_x_column_row_expr80 + * ecdsa_signature0_q_x_squared_column_row_expr111 + + global_values.ecdsa_sig_config.alpha + * ecdsa_signature0_key_points_x_column_row_expr80 + + global_values.ecdsa_sig_config.beta)) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[117] * value; + + // Constraint: ecdsa/init_addr. + value = (mem_pool_addr_column_row_expr112 - global_values.initial_ecdsa_addr) + .field_div(&NonZeroFelt::try_from(domain35)?); + total_sum += constraint_coefficients[118] * value; + + // Constraint: ecdsa/message_addr. + value = (mem_pool_addr_column_row_expr113 - (mem_pool_addr_column_row_expr112 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[119] * value; + + // Constraint: ecdsa/pubkey_addr. + value = (mem_pool_addr_column_row_expr114 - (mem_pool_addr_column_row_expr113 + FELT_1)) + * domain36.field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[120] * value; + + // Constraint: ecdsa/message_value0. + value = (mem_pool_value_column_row_expr115 + - ecdsa_signature0_exponentiate_generator_selector_column_row_expr83) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[121] * value; + + // Constraint: ecdsa/pubkey_value0. + value = (mem_pool_value_column_row_expr116 + - ecdsa_signature0_key_points_x_column_row_expr80) + .field_div(&NonZeroFelt::try_from(domain34)?); + total_sum += constraint_coefficients[122] * value; + } + if uses_bitwise_builtin != 0 { + // Constraint: bitwise/init_var_pool_addr. + value = (mem_pool_addr_column_row_expr117 - global_values.initial_bitwise_addr) + .field_div(&NonZeroFelt::try_from(domain19)?); + total_sum += constraint_coefficients[123] * value; + + // Constraint: bitwise/step_var_pool_addr. + value = (mem_pool_addr_column_row_expr118 - (mem_pool_addr_column_row_expr117 + FELT_1)) + * domain16.field_div(&NonZeroFelt::try_from(domain15)?); + total_sum += constraint_coefficients[124] * value; + + // Constraint: bitwise/x_or_y_addr. + value = (mem_pool_addr_column_row_expr119 - (mem_pool_addr_column_row_expr120 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[125] * value; + + // Constraint: bitwise/next_var_pool_addr. + value = (mem_pool_addr_column_row_expr121 - (mem_pool_addr_column_row_expr119 + FELT_1)) + * domain20.field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[126] * value; + + // Constraint: bitwise/partition. + value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - mem_pool_value_column_row_expr122) + .field_div(&NonZeroFelt::try_from(domain15)?); + total_sum += constraint_coefficients[127] * value; + + // Constraint: bitwise/or_is_and_plus_xor. + value = (mem_pool_value_column_row_expr123 + - (mem_pool_value_column_row_expr124 + mem_pool_value_column_row_expr125)) + .field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[128] * value; + + // Constraint: bitwise/addition_is_xor_with_and. + value = (diluted_pool_column_row_expr126 + diluted_pool_column_row_expr127 + - (diluted_pool_column_row_expr128 + + diluted_pool_column_row_expr129 + + diluted_pool_column_row_expr129)) + .field_div(&NonZeroFelt::try_from(domain18)?); + total_sum += constraint_coefficients[129] * value; + + // Constraint: bitwise/unique_unpacking192. + value = ((diluted_pool_column_row_expr130 + diluted_pool_column_row_expr131) * FELT_16 + - diluted_pool_column_row_expr132) + .field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[130] * value; + + // Constraint: bitwise/unique_unpacking193. + value = ((diluted_pool_column_row_expr133 + diluted_pool_column_row_expr134) * FELT_16 + - diluted_pool_column_row_expr135) + .field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[131] * value; + + // Constraint: bitwise/unique_unpacking194. + value = ((diluted_pool_column_row_expr136 + diluted_pool_column_row_expr137) * FELT_16 + - diluted_pool_column_row_expr138) + .field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[132] * value; + + // Constraint: bitwise/unique_unpacking195. + value = ((diluted_pool_column_row_expr139 + diluted_pool_column_row_expr140) * FELT_256 + - diluted_pool_column_row_expr141) + .field_div(&NonZeroFelt::try_from(domain17)?); + total_sum += constraint_coefficients[133] * value; + } + if uses_ec_op_builtin != 0 { + // Constraint: ec_op/init_addr. + value = (mem_pool_addr_column_row_expr142 - global_values.initial_ec_op_addr) + .field_div(&NonZeroFelt::try_from(domain25)?); + total_sum += constraint_coefficients[134] * value; + + // Constraint: ec_op/p_x_addr. + value = (mem_pool_addr_column_row_expr143 - (mem_pool_addr_column_row_expr142 + FELT_7)) + * domain26.field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[135] * value; + + // Constraint: ec_op/p_y_addr. + value = (mem_pool_addr_column_row_expr144 - (mem_pool_addr_column_row_expr142 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[136] * value; + + // Constraint: ec_op/q_x_addr. + value = (mem_pool_addr_column_row_expr145 - (mem_pool_addr_column_row_expr144 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[137] * value; + + // Constraint: ec_op/q_y_addr. + value = (mem_pool_addr_column_row_expr146 - (mem_pool_addr_column_row_expr145 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[138] * value; + + // Constraint: ec_op/m_addr. + value = (mem_pool_addr_column_row_expr147 - (mem_pool_addr_column_row_expr146 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[139] * value; + + // Constraint: ec_op/r_x_addr. + value = (mem_pool_addr_column_row_expr148 - (mem_pool_addr_column_row_expr147 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[140] * value; + + // Constraint: ec_op/r_y_addr. + value = (mem_pool_addr_column_row_expr149 - (mem_pool_addr_column_row_expr148 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[141] * value; + + // Constraint: ec_op/doubling_q/slope. + value = (ec_op_doubling_q_x_squared_0 + + ec_op_doubling_q_x_squared_0 + + ec_op_doubling_q_x_squared_0 + + global_values.ec_op_curve_config.alpha + - (ec_op_doubled_points_y_column_row_expr150 + + ec_op_doubled_points_y_column_row_expr150) + * ec_op_doubling_slope_column_row_expr151) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[142] * value; + + // Constraint: ec_op/doubling_q/x. + value = (ec_op_doubling_slope_column_row_expr151 * ec_op_doubling_slope_column_row_expr151 + - (ec_op_doubled_points_x_column_row_expr152 + + ec_op_doubled_points_x_column_row_expr152 + + ec_op_doubled_points_x_column_row_expr153)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[143] * value; + + // Constraint: ec_op/doubling_q/y. + value = (ec_op_doubled_points_y_column_row_expr150 + + ec_op_doubled_points_y_column_row_expr154 + - ec_op_doubling_slope_column_row_expr151 + * (ec_op_doubled_points_x_column_row_expr152 + - ec_op_doubled_points_x_column_row_expr153)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[144] * value; + + // Constraint: ec_op/get_q_x. + value = (mem_pool_value_column_row_expr155 - ec_op_doubled_points_x_column_row_expr152) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[145] * value; + + // Constraint: ec_op/get_q_y. + value = (mem_pool_value_column_row_expr156 - ec_op_doubled_points_y_column_row_expr150) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[146] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/last_one_is_zero. + value = (ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr157 + * (ec_op_ec_subset_sum_selector_column_row_expr158 + - (ec_op_ec_subset_sum_selector_column_row_expr159 + + ec_op_ec_subset_sum_selector_column_row_expr159))) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[147] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones0. + value = (ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr157 + * (ec_op_ec_subset_sum_selector_column_row_expr159 + - FELT_3138550867693340381917894711603833208051177722232017256448 + * ec_op_ec_subset_sum_selector_column_row_expr160)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[148] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit192. + value = (ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column_row_expr157 + - ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr161 + * (ec_op_ec_subset_sum_selector_column_row_expr160 + - (ec_op_ec_subset_sum_selector_column_row_expr162 + + ec_op_ec_subset_sum_selector_column_row_expr162))) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[149] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones192. + value = (ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr161 + * (ec_op_ec_subset_sum_selector_column_row_expr162 + - FELT_8 * ec_op_ec_subset_sum_selector_column_row_expr163)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[150] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit196. + value = (ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column_row_expr161 + - (ec_op_ec_subset_sum_selector_column_row_expr164 + - (ec_op_ec_subset_sum_selector_column_row_expr165 + + ec_op_ec_subset_sum_selector_column_row_expr165)) + * (ec_op_ec_subset_sum_selector_column_row_expr163 + - (ec_op_ec_subset_sum_selector_column_row_expr166 + + ec_op_ec_subset_sum_selector_column_row_expr166))) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[151] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones196. + value = ((ec_op_ec_subset_sum_selector_column_row_expr164 + - (ec_op_ec_subset_sum_selector_column_row_expr165 + + ec_op_ec_subset_sum_selector_column_row_expr165)) + * (ec_op_ec_subset_sum_selector_column_row_expr166 + - FELT_18014398509481984 * ec_op_ec_subset_sum_selector_column_row_expr164)) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[152] * value; + + // Constraint: ec_op/ec_subset_sum/booleanity_test. + value = (ec_op_ec_subset_sum_bit_0 * (ec_op_ec_subset_sum_bit_0 - 1)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[153] * value; + + // Constraint: ec_op/ec_subset_sum/bit_extraction_end. + value = (ec_op_ec_subset_sum_selector_column_row_expr158) + .field_div(&NonZeroFelt::try_from(domain24)?); + total_sum += constraint_coefficients[154] * value; + + // Constraint: ec_op/ec_subset_sum/zeros_tail. + value = (ec_op_ec_subset_sum_selector_column_row_expr158) + .field_div(&NonZeroFelt::try_from(domain23)?); + total_sum += constraint_coefficients[155] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/slope. + value = (ec_op_ec_subset_sum_bit_0 + * (ec_op_ec_subset_sum_partial_sum_y_column_row_expr167 + - ec_op_doubled_points_y_column_row_expr150) + - ec_op_ec_subset_sum_slope_column_row_expr168 + * (ec_op_ec_subset_sum_partial_sum_x_column_row_expr169 + - ec_op_doubled_points_x_column_row_expr152)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[156] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/x. + value = (ec_op_ec_subset_sum_slope_column_row_expr168 + * ec_op_ec_subset_sum_slope_column_row_expr168 + - ec_op_ec_subset_sum_bit_0 + * (ec_op_ec_subset_sum_partial_sum_x_column_row_expr169 + + ec_op_doubled_points_x_column_row_expr152 + + ec_op_ec_subset_sum_partial_sum_x_column_row_expr170)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[157] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/y. + value = (ec_op_ec_subset_sum_bit_0 + * (ec_op_ec_subset_sum_partial_sum_y_column_row_expr167 + + ec_op_ec_subset_sum_partial_sum_y_column_row_expr171) + - ec_op_ec_subset_sum_slope_column_row_expr168 + * (ec_op_ec_subset_sum_partial_sum_x_column_row_expr169 + - ec_op_ec_subset_sum_partial_sum_x_column_row_expr170)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[158] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/x_diff_inv. + value = (ec_op_ec_subset_sum_x_diff_inv_column_row_expr172 + * (ec_op_ec_subset_sum_partial_sum_x_column_row_expr169 + - ec_op_doubled_points_x_column_row_expr152) + - 1) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[159] * value; + + // Constraint: ec_op/ec_subset_sum/copy_point/x. + value = (ec_op_ec_subset_sum_bit_neg_0 + * (ec_op_ec_subset_sum_partial_sum_x_column_row_expr170 + - ec_op_ec_subset_sum_partial_sum_x_column_row_expr169)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[160] * value; + + // Constraint: ec_op/ec_subset_sum/copy_point/y. + value = (ec_op_ec_subset_sum_bit_neg_0 + * (ec_op_ec_subset_sum_partial_sum_y_column_row_expr171 + - ec_op_ec_subset_sum_partial_sum_y_column_row_expr167)) + * domain23.field_div(&NonZeroFelt::try_from(domain21)?); + total_sum += constraint_coefficients[161] * value; + + // Constraint: ec_op/get_m. + value = (ec_op_ec_subset_sum_selector_column_row_expr158 + - mem_pool_value_column_row_expr173) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[162] * value; + + // Constraint: ec_op/get_p_x. + value = (mem_pool_value_column_row_expr174 + - ec_op_ec_subset_sum_partial_sum_x_column_row_expr169) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[163] * value; + + // Constraint: ec_op/get_p_y. + value = (mem_pool_value_column_row_expr175 + - ec_op_ec_subset_sum_partial_sum_y_column_row_expr167) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[164] * value; + + // Constraint: ec_op/set_r_x. + value = (mem_pool_value_column_row_expr176 + - ec_op_ec_subset_sum_partial_sum_x_column_row_expr177) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[165] * value; + + // Constraint: ec_op/set_r_y. + value = (mem_pool_value_column_row_expr178 + - ec_op_ec_subset_sum_partial_sum_y_column_row_expr179) + .field_div(&NonZeroFelt::try_from(domain22)?); + total_sum += constraint_coefficients[166] * value; + } + if uses_keccak_builtin != 0 { + // Constraint: keccak/init_input_output_addr. + value = (mem_pool_addr_column_row_expr180 - global_values.initial_keccak_addr) + .field_div(&NonZeroFelt::try_from(domain153)?); + total_sum += constraint_coefficients[167] * value; + + // Constraint: keccak/addr_input_output_step. + value = (mem_pool_addr_column_row_expr181 - (mem_pool_addr_column_row_expr180 + FELT_1)) + * domain154.field_div(&NonZeroFelt::try_from(domain40)?); + total_sum += constraint_coefficients[168] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w0. + value = (mem_pool_value_column_row_expr182 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr183) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[169] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w1. + value = (mem_pool_value_column_row_expr184 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr185) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[170] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w2. + value = (mem_pool_value_column_row_expr186 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr187) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[171] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w3. + value = (mem_pool_value_column_row_expr188 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr189) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[172] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w4. + value = (mem_pool_value_column_row_expr190 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr191) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[173] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w5. + value = (mem_pool_value_column_row_expr192 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr193) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[174] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w6. + value = (mem_pool_value_column_row_expr194 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr195) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[175] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w7. + value = (mem_pool_value_column_row_expr196 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr197) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[176] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w0. + value = (mem_pool_value_column_row_expr198 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr199) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[177] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w1. + value = (mem_pool_value_column_row_expr200 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr201) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[178] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w2. + value = (mem_pool_value_column_row_expr202 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr203) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[179] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w3. + value = (mem_pool_value_column_row_expr204 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr205) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[180] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w4. + value = (mem_pool_value_column_row_expr206 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr207) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[181] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w5. + value = (mem_pool_value_column_row_expr208 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr209) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[182] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w6. + value = (mem_pool_value_column_row_expr210 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr211) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[183] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w7. + value = (mem_pool_value_column_row_expr212 + - keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr213) + .field_div(&NonZeroFelt::try_from(domain45)?); + total_sum += constraint_coefficients[184] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final0. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr183 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr214) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[185] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final1. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr215 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr216) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[186] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final2. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr217 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr218) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[187] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final3. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr219 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr220) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[188] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final4. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr221 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr222) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[189] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final5. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr223 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr224) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[190] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final6. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr225 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr226) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[191] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final7. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr227 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr228) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[192] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final8. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr229 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr230) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[193] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final9. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr231 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr232) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[194] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final10. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr233 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr234) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[195] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final11. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr235 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr236) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[196] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final12. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr237 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr238) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[197] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final13. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr239 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr240) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[198] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final14. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr241 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr242) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[199] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final15. + value = (keccak_keccak_parse_to_diluted_reshaped_intermediate_column_row_expr243 + - keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr244) + .field_div(&NonZeroFelt::try_from(domain48)?); + total_sum += constraint_coefficients[200] * value; + + // Constraint: keccak/keccak/parse_to_diluted/start_accumulation. + value = (keccak_keccak_parse_to_diluted_cumulative_sum_column_row_expr245) + .field_div(&NonZeroFelt::try_from(domain52)?); + total_sum += constraint_coefficients[201] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation0. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr214 + - keccak_keccak_parse_to_diluted_sum_words_over_instances0_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[202] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations0. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr216 + + keccak_keccak_parse_to_diluted_sum_words_over_instances0_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances0_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[203] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation1. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr246 + - keccak_keccak_parse_to_diluted_sum_words_over_instances1_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[204] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations1. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr247 + + keccak_keccak_parse_to_diluted_sum_words_over_instances1_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances1_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[205] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation2. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr248 + - keccak_keccak_parse_to_diluted_sum_words_over_instances2_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[206] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations2. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr249 + + keccak_keccak_parse_to_diluted_sum_words_over_instances2_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances2_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[207] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation3. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr250 + - keccak_keccak_parse_to_diluted_sum_words_over_instances3_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[208] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations3. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr251 + + keccak_keccak_parse_to_diluted_sum_words_over_instances3_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances3_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[209] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation4. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr252 + - keccak_keccak_parse_to_diluted_sum_words_over_instances4_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[210] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations4. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr253 + + keccak_keccak_parse_to_diluted_sum_words_over_instances4_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances4_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[211] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation5. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr254 + - keccak_keccak_parse_to_diluted_sum_words_over_instances5_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[212] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations5. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr255 + + keccak_keccak_parse_to_diluted_sum_words_over_instances5_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances5_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[213] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation6. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr256 + - keccak_keccak_parse_to_diluted_sum_words_over_instances6_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[214] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations6. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr257 + + keccak_keccak_parse_to_diluted_sum_words_over_instances6_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances6_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[215] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation7. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr258 + - keccak_keccak_parse_to_diluted_sum_words_over_instances7_0) + .field_div(&NonZeroFelt::try_from(domain47)?); + total_sum += constraint_coefficients[216] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations7. + value = (keccak_keccak_parse_to_diluted_final_reshaped_input_column_row_expr259 + + keccak_keccak_parse_to_diluted_sum_words_over_instances7_0 * FELT_16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances7_2) + .field_div(&NonZeroFelt::try_from(domain51)?); + total_sum += constraint_coefficients[217] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation1. + value = (keccak_keccak_parse_to_diluted_partial_diluted1_0 + * keccak_keccak_parse_to_diluted_partial_diluted1_0 + - keccak_keccak_parse_to_diluted_partial_diluted1_0) + .field_div(&NonZeroFelt::try_from(domain55)?); + total_sum += constraint_coefficients[218] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations1. + value = (keccak_keccak_parse_to_diluted_bit_other1_0 + * keccak_keccak_parse_to_diluted_bit_other1_0 + - keccak_keccak_parse_to_diluted_bit_other1_0) + .field_div(&NonZeroFelt::try_from(domain56)?); + total_sum += constraint_coefficients[219] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p1. + value = (keccak_keccak_parse_to_diluted_partial_diluted1_30 + - diluted_pool_column_row_expr260) + .field_div(&NonZeroFelt::try_from(domain57)?); + total_sum += constraint_coefficients[220] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p1. + value = (keccak_keccak_parse_to_diluted_partial_diluted1_31 + - diluted_pool_column_row_expr261) + .field_div(&NonZeroFelt::try_from(domain57)?); + total_sum += constraint_coefficients[221] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation0. + value = (keccak_keccak_parse_to_diluted_partial_diluted0_0 + * keccak_keccak_parse_to_diluted_partial_diluted0_0 + - keccak_keccak_parse_to_diluted_partial_diluted0_0) + * domain61.field_div(&NonZeroFelt::try_from(domain39)?); + total_sum += constraint_coefficients[222] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations0. + value = (keccak_keccak_parse_to_diluted_bit_other0_0 + * keccak_keccak_parse_to_diluted_bit_other0_0 + - keccak_keccak_parse_to_diluted_bit_other0_0) + * domain64.field_div(&NonZeroFelt::try_from(domain37)?); + total_sum += constraint_coefficients[223] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p0. + value = (keccak_keccak_parse_to_diluted_partial_diluted0_30 + - diluted_pool_column_row_expr262) + * domain65.field_div(&NonZeroFelt::try_from(domain38)?); + total_sum += constraint_coefficients[224] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p0. + value = (keccak_keccak_parse_to_diluted_partial_diluted0_31 + - diluted_pool_column_row_expr263) + * domain65.field_div(&NonZeroFelt::try_from(domain38)?); + total_sum += constraint_coefficients[225] * value; + + // Constraint: keccak/keccak/parity0. + value = (diluted_pool_column_row_expr262 + + diluted_pool_column_row_expr264 + + diluted_pool_column_row_expr265 + + diluted_pool_column_row_expr266 + + diluted_pool_column_row_expr267 + - (diluted_pool_column_row_expr268 + + diluted_pool_column_row_expr269 + + diluted_pool_column_row_expr269 + + diluted_pool_column_row_expr270 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[226] * value; + + // Constraint: keccak/keccak/parity1. + value = (diluted_pool_column_row_expr271 + + diluted_pool_column_row_expr272 + + diluted_pool_column_row_expr273 + + diluted_pool_column_row_expr274 + + diluted_pool_column_row_expr275 + - (diluted_pool_column_row_expr276 + + diluted_pool_column_row_expr277 + + diluted_pool_column_row_expr277 + + diluted_pool_column_row_expr278 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[227] * value; + + // Constraint: keccak/keccak/parity2. + value = (diluted_pool_column_row_expr279 + + diluted_pool_column_row_expr280 + + diluted_pool_column_row_expr281 + + diluted_pool_column_row_expr282 + + diluted_pool_column_row_expr283 + - (diluted_pool_column_row_expr284 + + diluted_pool_column_row_expr285 + + diluted_pool_column_row_expr285 + + diluted_pool_column_row_expr286 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[228] * value; + + // Constraint: keccak/keccak/parity3. + value = (diluted_pool_column_row_expr287 + + diluted_pool_column_row_expr288 + + diluted_pool_column_row_expr289 + + diluted_pool_column_row_expr290 + + diluted_pool_column_row_expr291 + - (diluted_pool_column_row_expr292 + + diluted_pool_column_row_expr293 + + diluted_pool_column_row_expr293 + + diluted_pool_column_row_expr294 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[229] * value; + + // Constraint: keccak/keccak/parity4. + value = (diluted_pool_column_row_expr295 + + diluted_pool_column_row_expr296 + + diluted_pool_column_row_expr297 + + diluted_pool_column_row_expr298 + + diluted_pool_column_row_expr299 + - (diluted_pool_column_row_expr300 + + diluted_pool_column_row_expr301 + + diluted_pool_column_row_expr301 + + diluted_pool_column_row_expr302 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[230] * value; + + // Constraint: keccak/keccak/rotate_parity0/n0. + value = (keccak_keccak_rotated_parity0_column_row_expr303 + - diluted_pool_column_row_expr304) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[231] * value; + + // Constraint: keccak/keccak/rotate_parity0/n1. + value = (keccak_keccak_rotated_parity0_column_row_expr305 + - diluted_pool_column_row_expr268) + * domain67.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[232] * value; + + // Constraint: keccak/keccak/rotate_parity1/n0. + value = (keccak_keccak_rotated_parity1_column_row_expr306 + - diluted_pool_column_row_expr307) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[233] * value; + + // Constraint: keccak/keccak/rotate_parity1/n1. + value = (keccak_keccak_rotated_parity1_column_row_expr308 + - diluted_pool_column_row_expr276) + * domain67.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[234] * value; + + // Constraint: keccak/keccak/rotate_parity2/n0. + value = (keccak_keccak_rotated_parity2_column_row_expr309 + - diluted_pool_column_row_expr310) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[235] * value; + + // Constraint: keccak/keccak/rotate_parity2/n1. + value = (keccak_keccak_rotated_parity2_column_row_expr311 + - diluted_pool_column_row_expr284) + * domain67.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[236] * value; + + // Constraint: keccak/keccak/rotate_parity3/n0. + value = (keccak_keccak_rotated_parity3_column_row_expr312 + - diluted_pool_column_row_expr313) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[237] * value; + + // Constraint: keccak/keccak/rotate_parity3/n1. + value = (keccak_keccak_rotated_parity3_column_row_expr314 + - diluted_pool_column_row_expr292) + * domain67.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[238] * value; + + // Constraint: keccak/keccak/rotate_parity4/n0. + value = (keccak_keccak_rotated_parity4_column_row_expr315 + - diluted_pool_column_row_expr316) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[239] * value; + + // Constraint: keccak/keccak/rotate_parity4/n1. + value = (keccak_keccak_rotated_parity4_column_row_expr317 + - diluted_pool_column_row_expr300) + * domain67.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[240] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j0. + value = (keccak_keccak_sum_parities0_0 + diluted_pool_column_row_expr262 + - (diluted_pool_column_row_expr318 + + diluted_pool_column_row_expr319 + + diluted_pool_column_row_expr319)) + .field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[241] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n0. + value = (keccak_keccak_sum_parities1_0 + diluted_pool_column_row_expr271 + - (diluted_pool_column_row_expr320 + + diluted_pool_column_row_expr321 + + diluted_pool_column_row_expr321)) + * domain67.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[242] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n1. + value = (keccak_keccak_sum_parities1_64512 + diluted_pool_column_row_expr322 + - (diluted_pool_column_row_expr323 + + diluted_pool_column_row_expr324 + + diluted_pool_column_row_expr324)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[243] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n0. + value = (keccak_keccak_sum_parities2_0 + diluted_pool_column_row_expr279 + - (diluted_pool_column_row_expr325 + + diluted_pool_column_row_expr326 + + diluted_pool_column_row_expr326)) + .field_div(&NonZeroFelt::try_from(domain70)?); + total_sum += constraint_coefficients[244] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n1. + value = (keccak_keccak_sum_parities2_2048 + diluted_pool_column_row_expr327 + - (diluted_pool_column_row_expr328 + + diluted_pool_column_row_expr329 + + diluted_pool_column_row_expr329)) + * domain72.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[245] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n0. + value = (keccak_keccak_sum_parities3_0 + diluted_pool_column_row_expr287 + - (diluted_pool_column_row_expr330 + + diluted_pool_column_row_expr331 + + diluted_pool_column_row_expr331)) + * domain98.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[246] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n1. + value = (keccak_keccak_sum_parities3_36864 + diluted_pool_column_row_expr332 + - (diluted_pool_column_row_expr333 + + diluted_pool_column_row_expr334 + + diluted_pool_column_row_expr334)) + .field_div(&NonZeroFelt::try_from(domain127)?); + total_sum += constraint_coefficients[247] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n0. + value = (keccak_keccak_sum_parities4_0 + diluted_pool_column_row_expr295 + - (diluted_pool_column_row_expr335 + + diluted_pool_column_row_expr336 + + diluted_pool_column_row_expr336)) + * domain97.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[248] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n1. + value = (keccak_keccak_sum_parities4_37888 + diluted_pool_column_row_expr337 + - (diluted_pool_column_row_expr338 + + diluted_pool_column_row_expr339 + + diluted_pool_column_row_expr339)) + .field_div(&NonZeroFelt::try_from(domain126)?); + total_sum += constraint_coefficients[249] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n0. + value = (keccak_keccak_sum_parities0_0 + diluted_pool_column_row_expr264 + - (diluted_pool_column_row_expr340 + + diluted_pool_column_row_expr341 + + diluted_pool_column_row_expr341)) + .field_div(&NonZeroFelt::try_from(domain127)?); + total_sum += constraint_coefficients[250] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n1. + value = (keccak_keccak_sum_parities0_28672 + diluted_pool_column_row_expr342 + - (diluted_pool_column_row_expr343 + + diluted_pool_column_row_expr344 + + diluted_pool_column_row_expr344)) + * domain98.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[251] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n0. + value = (keccak_keccak_sum_parities1_0 + diluted_pool_column_row_expr272 + - (diluted_pool_column_row_expr345 + + diluted_pool_column_row_expr346 + + diluted_pool_column_row_expr346)) + .field_div(&NonZeroFelt::try_from(domain120)?); + total_sum += constraint_coefficients[252] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n1. + value = (keccak_keccak_sum_parities1_20480 + diluted_pool_column_row_expr347 + - (diluted_pool_column_row_expr348 + + diluted_pool_column_row_expr349 + + diluted_pool_column_row_expr349)) + * domain91.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[253] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n0. + value = (keccak_keccak_sum_parities2_0 + diluted_pool_column_row_expr280 + - (diluted_pool_column_row_expr350 + + diluted_pool_column_row_expr351 + + diluted_pool_column_row_expr351)) + * domain76.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[254] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n1. + value = (keccak_keccak_sum_parities2_59392 + diluted_pool_column_row_expr352 + - (diluted_pool_column_row_expr353 + + diluted_pool_column_row_expr354 + + diluted_pool_column_row_expr354)) + .field_div(&NonZeroFelt::try_from(domain103)?); + total_sum += constraint_coefficients[255] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n0. + value = (keccak_keccak_sum_parities3_0 + diluted_pool_column_row_expr288 + - (diluted_pool_column_row_expr355 + + diluted_pool_column_row_expr356 + + diluted_pool_column_row_expr356)) + .field_div(&NonZeroFelt::try_from(domain130)?); + total_sum += constraint_coefficients[256] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n1. + value = (keccak_keccak_sum_parities3_8 + diluted_pool_column_row_expr357 + - (diluted_pool_column_row_expr358 + + diluted_pool_column_row_expr359 + + diluted_pool_column_row_expr359)) + .field_div(&NonZeroFelt::try_from(domain130)?); + total_sum += constraint_coefficients[257] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n2. + value = (keccak_keccak_sum_parities3_16 + diluted_pool_column_row_expr360 + - (diluted_pool_column_row_expr361 + + diluted_pool_column_row_expr362 + + diluted_pool_column_row_expr362)) + .field_div(&NonZeroFelt::try_from(domain130)?); + total_sum += constraint_coefficients[258] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n3. + value = (keccak_keccak_sum_parities3_9216 + diluted_pool_column_row_expr363 + - (diluted_pool_column_row_expr364 + + diluted_pool_column_row_expr365 + + diluted_pool_column_row_expr365)) + * domain133.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[259] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n4. + value = (keccak_keccak_sum_parities3_9224 + diluted_pool_column_row_expr366 + - (diluted_pool_column_row_expr367 + + diluted_pool_column_row_expr368 + + diluted_pool_column_row_expr368)) + * domain133.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[260] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n5. + value = (keccak_keccak_sum_parities3_9232 + diluted_pool_column_row_expr369 + - (diluted_pool_column_row_expr370 + + diluted_pool_column_row_expr371 + + diluted_pool_column_row_expr371)) + * domain133.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[261] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n0. + value = (keccak_keccak_sum_parities4_0 + diluted_pool_column_row_expr296 + - (diluted_pool_column_row_expr372 + + diluted_pool_column_row_expr373 + + diluted_pool_column_row_expr373)) + * domain91.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[262] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n1. + value = (keccak_keccak_sum_parities4_45056 + diluted_pool_column_row_expr374 + - (diluted_pool_column_row_expr375 + + diluted_pool_column_row_expr376 + + diluted_pool_column_row_expr376)) + .field_div(&NonZeroFelt::try_from(domain120)?); + total_sum += constraint_coefficients[263] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n0. + value = (keccak_keccak_sum_parities0_0 + diluted_pool_column_row_expr265 + - (diluted_pool_column_row_expr377 + + diluted_pool_column_row_expr378 + + diluted_pool_column_row_expr378)) + * domain134.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[264] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n1. + value = (keccak_keccak_sum_parities0_62464 + diluted_pool_column_row_expr379 + - (diluted_pool_column_row_expr380 + + diluted_pool_column_row_expr381 + + diluted_pool_column_row_expr381)) + .field_div(&NonZeroFelt::try_from(domain135)?); + total_sum += constraint_coefficients[265] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n0. + value = (keccak_keccak_sum_parities1_0 + diluted_pool_column_row_expr273 + - (diluted_pool_column_row_expr382 + + diluted_pool_column_row_expr383 + + diluted_pool_column_row_expr383)) + * domain81.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[266] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n1. + value = (keccak_keccak_sum_parities1_55296 + diluted_pool_column_row_expr384 + - (diluted_pool_column_row_expr385 + + diluted_pool_column_row_expr386 + + diluted_pool_column_row_expr386)) + .field_div(&NonZeroFelt::try_from(domain109)?); + total_sum += constraint_coefficients[267] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n0. + value = (keccak_keccak_sum_parities2_0 + diluted_pool_column_row_expr281 + - (diluted_pool_column_row_expr387 + + diluted_pool_column_row_expr388 + + diluted_pool_column_row_expr388)) + .field_div(&NonZeroFelt::try_from(domain122)?); + total_sum += constraint_coefficients[268] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n1. + value = (keccak_keccak_sum_parities2_21504 + diluted_pool_column_row_expr389 + - (diluted_pool_column_row_expr390 + + diluted_pool_column_row_expr391 + + diluted_pool_column_row_expr391)) + * domain93.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[269] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n0. + value = (keccak_keccak_sum_parities3_0 + diluted_pool_column_row_expr289 + - (diluted_pool_column_row_expr392 + + diluted_pool_column_row_expr393 + + diluted_pool_column_row_expr393)) + * domain96.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[270] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n1. + value = (keccak_keccak_sum_parities3_39936 + diluted_pool_column_row_expr394 + - (diluted_pool_column_row_expr395 + + diluted_pool_column_row_expr396 + + diluted_pool_column_row_expr396)) + .field_div(&NonZeroFelt::try_from(domain125)?); + total_sum += constraint_coefficients[271] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n0. + value = (keccak_keccak_sum_parities4_0 + diluted_pool_column_row_expr297 + - (diluted_pool_column_row_expr397 + + diluted_pool_column_row_expr398 + + diluted_pool_column_row_expr398)) + .field_div(&NonZeroFelt::try_from(domain137)?); + total_sum += constraint_coefficients[272] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n1. + value = (keccak_keccak_sum_parities4_8 + diluted_pool_column_row_expr399 + - (diluted_pool_column_row_expr400 + + diluted_pool_column_row_expr401 + + diluted_pool_column_row_expr401)) + .field_div(&NonZeroFelt::try_from(domain137)?); + total_sum += constraint_coefficients[273] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n2. + value = (keccak_keccak_sum_parities4_16 + diluted_pool_column_row_expr402 + - (diluted_pool_column_row_expr403 + + diluted_pool_column_row_expr404 + + diluted_pool_column_row_expr404)) + .field_div(&NonZeroFelt::try_from(domain137)?); + total_sum += constraint_coefficients[274] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n3. + value = (keccak_keccak_sum_parities4_25600 + diluted_pool_column_row_expr405 + - (diluted_pool_column_row_expr406 + + diluted_pool_column_row_expr407 + + diluted_pool_column_row_expr407)) + * domain139.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[275] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n4. + value = (keccak_keccak_sum_parities4_25608 + diluted_pool_column_row_expr408 + - (diluted_pool_column_row_expr409 + + diluted_pool_column_row_expr410 + + diluted_pool_column_row_expr410)) + * domain139.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[276] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n5. + value = (keccak_keccak_sum_parities4_25616 + diluted_pool_column_row_expr411 + - (diluted_pool_column_row_expr412 + + diluted_pool_column_row_expr413 + + diluted_pool_column_row_expr413)) + * domain139.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[277] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n0. + value = (keccak_keccak_sum_parities0_0 + diluted_pool_column_row_expr266 + - (diluted_pool_column_row_expr414 + + diluted_pool_column_row_expr415 + + diluted_pool_column_row_expr415)) + .field_div(&NonZeroFelt::try_from(domain140)?); + total_sum += constraint_coefficients[278] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n1. + value = (keccak_keccak_sum_parities0_8 + diluted_pool_column_row_expr416 + - (diluted_pool_column_row_expr417 + + diluted_pool_column_row_expr418 + + diluted_pool_column_row_expr418)) + .field_div(&NonZeroFelt::try_from(domain140)?); + total_sum += constraint_coefficients[279] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n2. + value = (keccak_keccak_sum_parities0_16 + diluted_pool_column_row_expr419 + - (diluted_pool_column_row_expr420 + + diluted_pool_column_row_expr421 + + diluted_pool_column_row_expr421)) + .field_div(&NonZeroFelt::try_from(domain140)?); + total_sum += constraint_coefficients[280] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n3. + value = (keccak_keccak_sum_parities0_23552 + diluted_pool_column_row_expr422 + - (diluted_pool_column_row_expr423 + + diluted_pool_column_row_expr424 + + diluted_pool_column_row_expr424)) + * domain141.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[281] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n4. + value = (keccak_keccak_sum_parities0_23560 + diluted_pool_column_row_expr425 + - (diluted_pool_column_row_expr426 + + diluted_pool_column_row_expr427 + + diluted_pool_column_row_expr427)) + * domain141.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[282] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n5. + value = (keccak_keccak_sum_parities0_23568 + diluted_pool_column_row_expr428 + - (diluted_pool_column_row_expr429 + + diluted_pool_column_row_expr430 + + diluted_pool_column_row_expr430)) + * domain141.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[283] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n0. + value = (keccak_keccak_sum_parities1_0 + diluted_pool_column_row_expr274 + - (diluted_pool_column_row_expr431 + + diluted_pool_column_row_expr432 + + diluted_pool_column_row_expr432)) + .field_div(&NonZeroFelt::try_from(domain142)?); + total_sum += constraint_coefficients[284] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n1. + value = (keccak_keccak_sum_parities1_19456 + diluted_pool_column_row_expr433 + - (diluted_pool_column_row_expr434 + + diluted_pool_column_row_expr435 + + diluted_pool_column_row_expr435)) + * domain143.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[285] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n0. + value = (keccak_keccak_sum_parities2_0 + diluted_pool_column_row_expr282 + - (diluted_pool_column_row_expr436 + + diluted_pool_column_row_expr437 + + diluted_pool_column_row_expr437)) + * domain144.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[286] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n1. + value = (keccak_keccak_sum_parities2_50176 + diluted_pool_column_row_expr438 + - (diluted_pool_column_row_expr439 + + diluted_pool_column_row_expr440 + + diluted_pool_column_row_expr440)) + .field_div(&NonZeroFelt::try_from(domain145)?); + total_sum += constraint_coefficients[287] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n0. + value = (keccak_keccak_sum_parities3_0 + diluted_pool_column_row_expr290 + - (diluted_pool_column_row_expr441 + + diluted_pool_column_row_expr442 + + diluted_pool_column_row_expr442)) + * domain93.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[288] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n1. + value = (keccak_keccak_sum_parities3_44032 + diluted_pool_column_row_expr443 + - (diluted_pool_column_row_expr444 + + diluted_pool_column_row_expr445 + + diluted_pool_column_row_expr445)) + .field_div(&NonZeroFelt::try_from(domain122)?); + total_sum += constraint_coefficients[289] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n0. + value = (keccak_keccak_sum_parities4_0 + diluted_pool_column_row_expr298 + - (diluted_pool_column_row_expr446 + + diluted_pool_column_row_expr447 + + diluted_pool_column_row_expr447)) + * domain146.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[290] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n1. + value = (keccak_keccak_sum_parities4_57344 + diluted_pool_column_row_expr448 + - (diluted_pool_column_row_expr449 + + diluted_pool_column_row_expr450 + + diluted_pool_column_row_expr450)) + .field_div(&NonZeroFelt::try_from(domain147)?); + total_sum += constraint_coefficients[291] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n0. + value = (keccak_keccak_sum_parities0_0 + diluted_pool_column_row_expr267 + - (diluted_pool_column_row_expr451 + + diluted_pool_column_row_expr452 + + diluted_pool_column_row_expr452)) + * domain148.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[292] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n1. + value = (keccak_keccak_sum_parities0_47104 + diluted_pool_column_row_expr453 + - (diluted_pool_column_row_expr454 + + diluted_pool_column_row_expr455 + + diluted_pool_column_row_expr455)) + .field_div(&NonZeroFelt::try_from(domain149)?); + total_sum += constraint_coefficients[293] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n0. + value = (keccak_keccak_sum_parities1_0 + diluted_pool_column_row_expr275 + - (diluted_pool_column_row_expr456 + + diluted_pool_column_row_expr457 + + diluted_pool_column_row_expr457)) + * domain131.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[294] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n1. + value = (keccak_keccak_sum_parities1_8 + diluted_pool_column_row_expr458 + - (diluted_pool_column_row_expr459 + + diluted_pool_column_row_expr460 + + diluted_pool_column_row_expr460)) + * domain131.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[295] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n2. + value = (keccak_keccak_sum_parities1_16 + diluted_pool_column_row_expr461 + - (diluted_pool_column_row_expr462 + + diluted_pool_column_row_expr463 + + diluted_pool_column_row_expr463)) + * domain131.field_div(&NonZeroFelt::try_from(domain41)?); + total_sum += constraint_coefficients[296] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n3. + value = (keccak_keccak_sum_parities1_63488 + diluted_pool_column_row_expr464 + - (diluted_pool_column_row_expr465 + + diluted_pool_column_row_expr466 + + diluted_pool_column_row_expr466)) + .field_div(&NonZeroFelt::try_from(domain128)?); + total_sum += constraint_coefficients[297] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n4. + value = (keccak_keccak_sum_parities1_63496 + diluted_pool_column_row_expr467 + - (diluted_pool_column_row_expr468 + + diluted_pool_column_row_expr469 + + diluted_pool_column_row_expr469)) + .field_div(&NonZeroFelt::try_from(domain128)?); + total_sum += constraint_coefficients[298] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n5. + value = (keccak_keccak_sum_parities1_63504 + diluted_pool_column_row_expr470 + - (diluted_pool_column_row_expr471 + + diluted_pool_column_row_expr472 + + diluted_pool_column_row_expr472)) + .field_div(&NonZeroFelt::try_from(domain128)?); + total_sum += constraint_coefficients[299] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n0. + value = (keccak_keccak_sum_parities2_0 + diluted_pool_column_row_expr283 + - (diluted_pool_column_row_expr473 + + diluted_pool_column_row_expr474 + + diluted_pool_column_row_expr474)) + .field_div(&NonZeroFelt::try_from(domain135)?); + total_sum += constraint_coefficients[300] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n1. + value = (keccak_keccak_sum_parities2_3072 + diluted_pool_column_row_expr475 + - (diluted_pool_column_row_expr476 + + diluted_pool_column_row_expr477 + + diluted_pool_column_row_expr477)) + * domain134.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[301] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n0. + value = (keccak_keccak_sum_parities3_0 + diluted_pool_column_row_expr291 + - (diluted_pool_column_row_expr478 + + diluted_pool_column_row_expr479 + + diluted_pool_column_row_expr479)) + .field_div(&NonZeroFelt::try_from(domain147)?); + total_sum += constraint_coefficients[302] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n1. + value = (keccak_keccak_sum_parities3_8192 + diluted_pool_column_row_expr480 + - (diluted_pool_column_row_expr481 + + diluted_pool_column_row_expr482 + + diluted_pool_column_row_expr482)) + * domain146.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[303] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n0. + value = (keccak_keccak_sum_parities4_0 + diluted_pool_column_row_expr299 + - (diluted_pool_column_row_expr483 + + diluted_pool_column_row_expr484 + + diluted_pool_column_row_expr484)) + * domain150.field_div(&NonZeroFelt::try_from(domain42)?); + total_sum += constraint_coefficients[304] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n1. + value = (keccak_keccak_sum_parities4_51200 + diluted_pool_column_row_expr485 + - (diluted_pool_column_row_expr486 + + diluted_pool_column_row_expr487 + + diluted_pool_column_row_expr487)) + .field_div(&NonZeroFelt::try_from(domain151)?); + total_sum += constraint_coefficients[305] * value; + + // Constraint: keccak/keccak/chi_iota0. + value = (global_values.keccak_keccak_keccak_round_key0 + + diluted_pool_column_row_expr318 + + diluted_pool_column_row_expr318 + + keccak_keccak_after_theta_rho_pi_xor_one_32 + + diluted_pool_column_row_expr390 + - (diluted_pool_column_row_expr488 + + diluted_pool_column_row_expr489 + + diluted_pool_column_row_expr489 + + diluted_pool_column_row_expr490 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[306] * value; + + // Constraint: keccak/keccak/chi_iota1. + value = (global_values.keccak_keccak_keccak_round_key1 + + diluted_pool_column_row_expr491 + + diluted_pool_column_row_expr491 + + keccak_keccak_after_theta_rho_pi_xor_one_1056 + + diluted_pool_column_row_expr492 + - (diluted_pool_column_row_expr493 + + diluted_pool_column_row_expr494 + + diluted_pool_column_row_expr494 + + diluted_pool_column_row_expr495 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[307] * value; + + // Constraint: keccak/keccak/chi_iota3. + value = (global_values.keccak_keccak_keccak_round_key3 + + diluted_pool_column_row_expr496 + + diluted_pool_column_row_expr496 + + keccak_keccak_after_theta_rho_pi_xor_one_3104 + + diluted_pool_column_row_expr497 + - (diluted_pool_column_row_expr498 + + diluted_pool_column_row_expr499 + + diluted_pool_column_row_expr499 + + diluted_pool_column_row_expr500 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[308] * value; + + // Constraint: keccak/keccak/chi_iota7. + value = (global_values.keccak_keccak_keccak_round_key7 + + diluted_pool_column_row_expr501 + + diluted_pool_column_row_expr501 + + keccak_keccak_after_theta_rho_pi_xor_one_7200 + + diluted_pool_column_row_expr502 + - (diluted_pool_column_row_expr503 + + diluted_pool_column_row_expr504 + + diluted_pool_column_row_expr504 + + diluted_pool_column_row_expr505 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[309] * value; + + // Constraint: keccak/keccak/chi_iota15. + value = (global_values.keccak_keccak_keccak_round_key15 + + diluted_pool_column_row_expr506 + + diluted_pool_column_row_expr506 + + keccak_keccak_after_theta_rho_pi_xor_one_15392 + + diluted_pool_column_row_expr507 + - (diluted_pool_column_row_expr508 + + diluted_pool_column_row_expr509 + + diluted_pool_column_row_expr509 + + diluted_pool_column_row_expr510 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[310] * value; + + // Constraint: keccak/keccak/chi_iota31. + value = (global_values.keccak_keccak_keccak_round_key31 + + diluted_pool_column_row_expr511 + + diluted_pool_column_row_expr511 + + keccak_keccak_after_theta_rho_pi_xor_one_31776 + + diluted_pool_column_row_expr512 + - (diluted_pool_column_row_expr513 + + diluted_pool_column_row_expr514 + + diluted_pool_column_row_expr514 + + diluted_pool_column_row_expr515 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[311] * value; + + // Constraint: keccak/keccak/chi_iota63. + value = (global_values.keccak_keccak_keccak_round_key63 + + diluted_pool_column_row_expr516 + + diluted_pool_column_row_expr516 + + keccak_keccak_after_theta_rho_pi_xor_one_64544 + + diluted_pool_column_row_expr517 + - (diluted_pool_column_row_expr518 + + diluted_pool_column_row_expr519 + + diluted_pool_column_row_expr519 + + diluted_pool_column_row_expr520 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain50)?); + total_sum += constraint_coefficients[312] * value; + + // Constraint: keccak/keccak/chi0. + value = (diluted_pool_column_row_expr318 + + diluted_pool_column_row_expr318 + + keccak_keccak_after_theta_rho_pi_xor_one_32 + + diluted_pool_column_row_expr390 + - (diluted_pool_column_row_expr488 + + diluted_pool_column_row_expr489 + + diluted_pool_column_row_expr489 + + diluted_pool_column_row_expr490 * FELT_4)) + * domain152.field_div(&NonZeroFelt::try_from(domain44)?); + total_sum += constraint_coefficients[313] * value; + + // Constraint: keccak/keccak/chi1. + value = (diluted_pool_column_row_expr486 + + diluted_pool_column_row_expr486 + + keccak_keccak_after_theta_rho_pi_xor_one_0 + + diluted_pool_column_row_expr348 + - (diluted_pool_column_row_expr521 + + diluted_pool_column_row_expr522 + + diluted_pool_column_row_expr522 + + diluted_pool_column_row_expr523 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain43)?); + total_sum += constraint_coefficients[314] * value; + + // Constraint: keccak/keccak/chi2. + value = (diluted_pool_column_row_expr444 + + diluted_pool_column_row_expr444 + + keccak_keccak_after_theta_rho_pi_xor_one_128 + + diluted_pool_column_row_expr318 + - (diluted_pool_column_row_expr524 + + diluted_pool_column_row_expr525 + + diluted_pool_column_row_expr525 + + diluted_pool_column_row_expr526 * FELT_4)) + .field_div(&NonZeroFelt::try_from(domain43)?); + total_sum += constraint_coefficients[315] * value; + } + if uses_poseidon_builtin != 0 { + // Constraint: poseidon/param_0/init_input_output_addr. + value = (mem_pool_addr_column_row_expr527 - global_values.initial_poseidon_addr) + .field_div(&NonZeroFelt::try_from(domain176)?); + total_sum += constraint_coefficients[316] * value; + + // Constraint: poseidon/param_0/addr_input_output_step. + value = (mem_pool_addr_column_row_expr528 - (mem_pool_addr_column_row_expr527 + FELT_3)) + * domain177.field_div(&NonZeroFelt::try_from(domain169)?); + total_sum += constraint_coefficients[317] * value; + + // Constraint: poseidon/param_1/init_input_output_addr. + value = (mem_pool_addr_column_row_expr529 - (global_values.initial_poseidon_addr + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain176)?); + total_sum += constraint_coefficients[318] * value; + + // Constraint: poseidon/param_1/addr_input_output_step. + value = (mem_pool_addr_column_row_expr530 - (mem_pool_addr_column_row_expr529 + FELT_3)) + * domain177.field_div(&NonZeroFelt::try_from(domain169)?); + total_sum += constraint_coefficients[319] * value; + + // Constraint: poseidon/param_2/init_input_output_addr. + value = (mem_pool_addr_column_row_expr531 - (global_values.initial_poseidon_addr + FELT_2)) + .field_div(&NonZeroFelt::try_from(domain176)?); + total_sum += constraint_coefficients[320] * value; + + // Constraint: poseidon/param_2/addr_input_output_step. + value = (mem_pool_addr_column_row_expr532 - (mem_pool_addr_column_row_expr531 + FELT_3)) + * domain177.field_div(&NonZeroFelt::try_from(domain169)?); + total_sum += constraint_coefficients[321] * value; + + // Constraint: poseidon/poseidon/full_rounds_state0_squaring. + value = (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) + .field_div(&NonZeroFelt::try_from(domain168)?); + total_sum += constraint_coefficients[322] * value; + + // Constraint: poseidon/poseidon/full_rounds_state1_squaring. + value = (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) + .field_div(&NonZeroFelt::try_from(domain168)?); + total_sum += constraint_coefficients[323] * value; + + // Constraint: poseidon/poseidon/full_rounds_state2_squaring. + value = (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) + .field_div(&NonZeroFelt::try_from(domain168)?); + total_sum += constraint_coefficients[324] * value; + + // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. + value = (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) + .field_div(&NonZeroFelt::try_from(domain166)?); + total_sum += constraint_coefficients[325] * value; + + // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. + value = (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) + * domain172.field_div(&NonZeroFelt::try_from(domain167)?); + total_sum += constraint_coefficients[326] * value; + + // Constraint: poseidon/poseidon/add_first_round_key0. + value = (mem_pool_value_column_row_expr543 + + FELT_2950795762459345168613727575620414179244544320470208355568817838579231751791 + - poseidon_poseidon_full_rounds_state0_column_row_expr533) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[327] * value; + + // Constraint: poseidon/poseidon/add_first_round_key1. + value = (mem_pool_value_column_row_expr544 + + FELT_1587446564224215276866294500450702039420286416111469274423465069420553242820 + - poseidon_poseidon_full_rounds_state1_column_row_expr535) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[328] * value; + + // Constraint: poseidon/poseidon/add_first_round_key2. + value = (mem_pool_value_column_row_expr545 + + FELT_1645965921169490687904413452218868659025437693527479459426157555728339600137 + - poseidon_poseidon_full_rounds_state2_column_row_expr537) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[329] * value; + + // Constraint: poseidon/poseidon/full_round0. + value = (poseidon_poseidon_full_rounds_state0_column_row_expr546 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state1_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + global_values.poseidon_poseidon_full_round_key0)) + * domain170.field_div(&NonZeroFelt::try_from(domain168)?); + total_sum += constraint_coefficients[330] * value; + + // Constraint: poseidon/poseidon/full_round1. + value = (poseidon_poseidon_full_rounds_state1_column_row_expr547 + + poseidon_poseidon_full_rounds_state1_cubed_0 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + global_values.poseidon_poseidon_full_round_key1)) + * domain170.field_div(&NonZeroFelt::try_from(domain168)?); + total_sum += constraint_coefficients[331] * value; + + // Constraint: poseidon/poseidon/full_round2. + value = (poseidon_poseidon_full_rounds_state2_column_row_expr548 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state1_cubed_0 + + global_values.poseidon_poseidon_full_round_key2)) + * domain170.field_div(&NonZeroFelt::try_from(domain168)?); + total_sum += constraint_coefficients[332] * value; + + // Constraint: poseidon/poseidon/last_full_round0. + value = (mem_pool_value_column_row_expr549 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state1_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[333] * value; + + // Constraint: poseidon/poseidon/last_full_round1. + value = (mem_pool_value_column_row_expr550 + poseidon_poseidon_full_rounds_state1_cubed_7 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[334] * value; + + // Constraint: poseidon/poseidon/last_full_round2. + value = (mem_pool_value_column_row_expr551 + + poseidon_poseidon_full_rounds_state2_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state1_cubed_7)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[335] * value; + + // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr552 + - poseidon_poseidon_partial_rounds_state1_column_row_expr541) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[336] * value; + + // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr553 + - poseidon_poseidon_partial_rounds_state1_column_row_expr554) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[337] * value; + + // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr555 + - poseidon_poseidon_partial_rounds_state1_column_row_expr556) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[338] * value; + + // Constraint: poseidon/poseidon/margin_full_to_partial0. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr539 + + poseidon_poseidon_full_rounds_state2_cubed_3 + + poseidon_poseidon_full_rounds_state2_cubed_3 + - (poseidon_poseidon_full_rounds_state0_cubed_3 + + poseidon_poseidon_full_rounds_state1_cubed_3 + + FELT_2121140748740143694053732746913428481442990369183417228688865837805149503386)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[339] * value; + + // Constraint: poseidon/poseidon/margin_full_to_partial1. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr557 + - (FELT_3618502788666131213697322783095070105623107215331596699973092056135872020477 + * poseidon_poseidon_full_rounds_state1_cubed_3 + + FELT_10 * poseidon_poseidon_full_rounds_state2_cubed_3 + + FELT_4 * poseidon_poseidon_partial_rounds_state0_column_row_expr539 + + FELT_3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_0 + + FELT_2006642341318481906727563724340978325665491359415674592697055778067937914672)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[340] * value; + + // Constraint: poseidon/poseidon/margin_full_to_partial2. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr558 + - (FELT_8 * poseidon_poseidon_full_rounds_state2_cubed_3 + + FELT_4 * poseidon_poseidon_partial_rounds_state0_column_row_expr539 + + FELT_6 * poseidon_poseidon_partial_rounds_state0_cubed_0 + + poseidon_poseidon_partial_rounds_state0_column_row_expr557 + + poseidon_poseidon_partial_rounds_state0_column_row_expr557 + + FELT_3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_1 + + FELT_427751140904099001132521606468025610873158555767197326325930641757709538586)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[341] * value; + + // Constraint: poseidon/poseidon/partial_round0. + value = (poseidon_poseidon_partial_rounds_state0_column_row_expr559 + - (FELT_8 * poseidon_poseidon_partial_rounds_state0_cubed_0 + + FELT_4 * poseidon_poseidon_partial_rounds_state0_column_row_expr557 + + FELT_6 * poseidon_poseidon_partial_rounds_state0_cubed_1 + + poseidon_poseidon_partial_rounds_state0_column_row_expr558 + + poseidon_poseidon_partial_rounds_state0_column_row_expr558 + + FELT_3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_2 + + global_values.poseidon_poseidon_partial_round_key0)) + * domain174.field_div(&NonZeroFelt::try_from(domain166)?); + total_sum += constraint_coefficients[342] * value; + + // Constraint: poseidon/poseidon/partial_round1. + value = (poseidon_poseidon_partial_rounds_state1_column_row_expr560 + - (FELT_8 * poseidon_poseidon_partial_rounds_state1_cubed_0 + + FELT_4 * poseidon_poseidon_partial_rounds_state1_column_row_expr554 + + FELT_6 * poseidon_poseidon_partial_rounds_state1_cubed_1 + + poseidon_poseidon_partial_rounds_state1_column_row_expr556 + + poseidon_poseidon_partial_rounds_state1_column_row_expr556 + + FELT_3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state1_cubed_2 + + global_values.poseidon_poseidon_partial_round_key1)) + * domain175.field_div(&NonZeroFelt::try_from(domain167)?); + total_sum += constraint_coefficients[343] * value; + + // Constraint: poseidon/poseidon/margin_partial_to_full0. + value = (poseidon_poseidon_full_rounds_state0_column_row_expr561 + - (FELT_16 * poseidon_poseidon_partial_rounds_state1_cubed_19 + + FELT_8 * poseidon_poseidon_partial_rounds_state1_column_row_expr562 + + FELT_16 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + FELT_6 * poseidon_poseidon_partial_rounds_state1_column_row_expr563 + + poseidon_poseidon_partial_rounds_state1_cubed_21 + + FELT_560279373700919169769089400651532183647886248799764942664266404650165812023)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[344] * value; + + // Constraint: poseidon/poseidon/margin_partial_to_full1. + value = (poseidon_poseidon_full_rounds_state1_column_row_expr564 + - (FELT_4 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + poseidon_poseidon_partial_rounds_state1_column_row_expr563 + + poseidon_poseidon_partial_rounds_state1_column_row_expr563 + + poseidon_poseidon_partial_rounds_state1_cubed_21 + + FELT_1401754474293352309994371631695783042590401941592571735921592823982231996415)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[345] * value; + + // Constraint: poseidon/poseidon/margin_partial_to_full2. + value = (poseidon_poseidon_full_rounds_state2_column_row_expr565 + - (FELT_8 * poseidon_poseidon_partial_rounds_state1_cubed_19 + + FELT_4 * poseidon_poseidon_partial_rounds_state1_column_row_expr562 + + FELT_6 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + poseidon_poseidon_partial_rounds_state1_column_row_expr563 + + poseidon_poseidon_partial_rounds_state1_column_row_expr563 + + FELT_3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state1_cubed_21 + + FELT_1246177936547655338400308396717835700699368047388302793172818304164989556526)) + .field_div(&NonZeroFelt::try_from(domain173)?); + total_sum += constraint_coefficients[346] * value; + } + if uses_range_check96_builtin != 0 { + // Constraint: range_check96_builtin/value. + value = (range_check96_builtin_value5_0 - mem_pool_value_column_row_expr566) + .field_div(&NonZeroFelt::try_from(domain178)?); + total_sum += constraint_coefficients[347] * value; + + // Constraint: range_check96_builtin/addr_step. + value = (mem_pool_addr_column_row_expr567 - (mem_pool_addr_column_row_expr568 + FELT_1)) + * domain179.field_div(&NonZeroFelt::try_from(domain178)?); + total_sum += constraint_coefficients[348] * value; + + // Constraint: range_check96_builtin/init_addr. + value = (mem_pool_addr_column_row_expr568 - global_values.initial_range_check96_addr) + .field_div(&NonZeroFelt::try_from(domain180)?); + total_sum += constraint_coefficients[349] * value; + } + if uses_add_mod_builtin != 0 { + // Constraint: add_mod/init_p0_address. + value = (mem_pool_addr_column_row_expr569 - global_values.add_mod_initial_mod_addr) + .field_div(&NonZeroFelt::try_from(domain13)?); + total_sum += constraint_coefficients[350] * value; + + // Constraint: add_mod/step_p1_addr. + value = (mem_pool_addr_column_row_expr570 - (mem_pool_addr_column_row_expr569 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[351] * value; + + // Constraint: add_mod/step_p2_addr. + value = (mem_pool_addr_column_row_expr571 - (mem_pool_addr_column_row_expr570 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[352] * value; + + // Constraint: add_mod/step_p3_addr. + value = (mem_pool_addr_column_row_expr572 - (mem_pool_addr_column_row_expr571 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[353] * value; + + // Constraint: add_mod/step_values_ptr_addr. + value = (mem_pool_addr_column_row_expr573 - (mem_pool_addr_column_row_expr572 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[354] * value; + + // Constraint: add_mod/step_offsets_ptr_addr. + value = (mem_pool_addr_column_row_expr574 - (mem_pool_addr_column_row_expr573 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[355] * value; + + // Constraint: add_mod/step_n_addr. + value = (mem_pool_addr_column_row_expr575 - (mem_pool_addr_column_row_expr574 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[356] * value; + + // Constraint: add_mod/step_p0_addr. + value = (mem_pool_addr_column_row_expr576 - (mem_pool_addr_column_row_expr575 + FELT_1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[357] * value; + + // Constraint: add_mod/step_p0_value. + value = ((mem_pool_value_column_row_expr577 - mem_pool_value_column_row_expr578) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[358] * value; + + // Constraint: add_mod/step_p1_value. + value = ((mem_pool_value_column_row_expr580 - mem_pool_value_column_row_expr581) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[359] * value; + + // Constraint: add_mod/step_p2_value. + value = ((mem_pool_value_column_row_expr582 - mem_pool_value_column_row_expr583) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[360] * value; + + // Constraint: add_mod/step_p3_value. + value = ((mem_pool_value_column_row_expr584 - mem_pool_value_column_row_expr585) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[361] * value; + + // Constraint: add_mod/step_values_ptr_value. + value = ((mem_pool_value_column_row_expr586 - mem_pool_value_column_row_expr587) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[362] * value; + + // Constraint: add_mod/step_offsets_ptr_value. + value = ((mem_pool_value_column_row_expr588 + - (mem_pool_value_column_row_expr589 + FELT_3)) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[363] * value; + + // Constraint: add_mod/step_n_value. + value = ((mem_pool_value_column_row_expr590 + FELT_1 - mem_pool_value_column_row_expr579) + * (mem_pool_value_column_row_expr579 - 1)) + * domain14.field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[364] * value; + + // Constraint: add_mod/a_offset0. + value = (mem_pool_addr_column_row_expr591 - mem_pool_value_column_row_expr589) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[365] * value; + + // Constraint: add_mod/b_offset. + value = (mem_pool_addr_column_row_expr592 - (mem_pool_addr_column_row_expr591 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[366] * value; + + // Constraint: add_mod/c_offset. + value = (mem_pool_addr_column_row_expr593 - (mem_pool_addr_column_row_expr592 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[367] * value; + + // Constraint: add_mod/a0_value_ind0. + value = (mem_pool_addr_column_row_expr594 + - (mem_pool_value_column_row_expr595 + mem_pool_value_column_row_expr587)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[368] * value; + + // Constraint: add_mod/a1_value. + value = (mem_pool_addr_column_row_expr596 - (mem_pool_addr_column_row_expr594 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[369] * value; + + // Constraint: add_mod/a2_value. + value = (mem_pool_addr_column_row_expr597 - (mem_pool_addr_column_row_expr596 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[370] * value; + + // Constraint: add_mod/a3_value. + value = (mem_pool_addr_column_row_expr598 - (mem_pool_addr_column_row_expr597 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[371] * value; + + // Constraint: add_mod/b0_value_ind0. + value = (mem_pool_addr_column_row_expr599 + - (mem_pool_value_column_row_expr600 + mem_pool_value_column_row_expr587)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[372] * value; + + // Constraint: add_mod/b1_value. + value = (mem_pool_addr_column_row_expr601 - (mem_pool_addr_column_row_expr599 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[373] * value; + + // Constraint: add_mod/b2_value. + value = (mem_pool_addr_column_row_expr602 - (mem_pool_addr_column_row_expr601 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[374] * value; + + // Constraint: add_mod/b3_value. + value = (mem_pool_addr_column_row_expr603 - (mem_pool_addr_column_row_expr602 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[375] * value; + + // Constraint: add_mod/c0_value_ind0. + value = (mem_pool_addr_column_row_expr604 + - (mem_pool_value_column_row_expr605 + mem_pool_value_column_row_expr587)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[376] * value; + + // Constraint: add_mod/c1_value. + value = (mem_pool_addr_column_row_expr606 - (mem_pool_addr_column_row_expr604 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[377] * value; + + // Constraint: add_mod/c2_value. + value = (mem_pool_addr_column_row_expr607 - (mem_pool_addr_column_row_expr606 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[378] * value; + + // Constraint: add_mod/c3_value. + value = (mem_pool_addr_column_row_expr608 - (mem_pool_addr_column_row_expr607 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[379] * value; + + // Constraint: add_mod/sub_p_bit. + value = (add_mod_sub_p_bit_column_row_expr609 * (add_mod_sub_p_bit_column_row_expr609 - 1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[380] * value; + + // Constraint: add_mod/carry1_bit. + value = (add_mod_carry1_bit_column_row_expr610 + * (add_mod_carry1_bit_column_row_expr610 - 1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[381] * value; + + // Constraint: add_mod/carry1_sign. + value = (add_mod_carry1_sign_column_row_expr611 * add_mod_carry1_sign_column_row_expr611 + - 1) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[382] * value; + + // Constraint: add_mod/carry2_bit. + value = (add_mod_carry2_bit_column_row_expr612 + * (add_mod_carry2_bit_column_row_expr612 - 1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[383] * value; + + // Constraint: add_mod/carry2_sign. + value = (add_mod_carry2_sign_column_row_expr613 * add_mod_carry2_sign_column_row_expr613 + - 1) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[384] * value; + + // Constraint: add_mod/carry3_bit. + value = (add_mod_carry3_bit_column_row_expr614 + * (add_mod_carry3_bit_column_row_expr614 - 1)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[385] * value; + + // Constraint: add_mod/carry3_sign. + value = (add_mod_carry3_sign_column_row_expr615 * add_mod_carry3_sign_column_row_expr615 + - 1) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[386] * value; + + // Constraint: add_mod/addition_constraint_0. + 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 - FELT_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)) + .field_div(&NonZeroFelt::try_from(domain12)?); + total_sum += constraint_coefficients[387] * value; + } + if uses_mul_mod_builtin != 0 { + // Constraint: mul_mod/init_p0_address. + value = (mem_pool_addr_column_row_expr628 - global_values.mul_mod_initial_mod_addr) + .field_div(&NonZeroFelt::try_from(domain156)?); + total_sum += constraint_coefficients[388] * value; + + // Constraint: mul_mod/step_p1_addr. + value = (mem_pool_addr_column_row_expr629 - (mem_pool_addr_column_row_expr628 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[389] * value; + + // Constraint: mul_mod/step_p2_addr. + value = (mem_pool_addr_column_row_expr630 - (mem_pool_addr_column_row_expr629 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[390] * value; + + // Constraint: mul_mod/step_p3_addr. + value = (mem_pool_addr_column_row_expr631 - (mem_pool_addr_column_row_expr630 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[391] * value; + + // Constraint: mul_mod/step_values_ptr_addr. + value = (mem_pool_addr_column_row_expr632 - (mem_pool_addr_column_row_expr631 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[392] * value; + + // Constraint: mul_mod/step_offsets_ptr_addr. + value = (mem_pool_addr_column_row_expr633 - (mem_pool_addr_column_row_expr632 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[393] * value; + + // Constraint: mul_mod/step_n_addr. + value = (mem_pool_addr_column_row_expr634 - (mem_pool_addr_column_row_expr633 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[394] * value; + + // Constraint: mul_mod/step_p0_addr. + value = (mem_pool_addr_column_row_expr635 - (mem_pool_addr_column_row_expr634 + FELT_1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[395] * value; + + // Constraint: mul_mod/step_p0_value. + value = ((mem_pool_value_column_row_expr636 - mem_pool_value_column_row_expr637) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[396] * value; + + // Constraint: mul_mod/step_p1_value. + value = ((mem_pool_value_column_row_expr639 - mem_pool_value_column_row_expr640) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[397] * value; + + // Constraint: mul_mod/step_p2_value. + value = ((mem_pool_value_column_row_expr641 - mem_pool_value_column_row_expr642) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[398] * value; + + // Constraint: mul_mod/step_p3_value. + value = ((mem_pool_value_column_row_expr643 - mem_pool_value_column_row_expr644) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[399] * value; + + // Constraint: mul_mod/step_values_ptr_value. + value = ((mem_pool_value_column_row_expr645 - mem_pool_value_column_row_expr646) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[400] * value; + + // Constraint: mul_mod/step_offsets_ptr_value. + value = ((mem_pool_value_column_row_expr647 + - (mem_pool_value_column_row_expr648 + FELT_3)) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[401] * value; + + // Constraint: mul_mod/step_n_value. + value = ((mem_pool_value_column_row_expr649 + FELT_1 - mem_pool_value_column_row_expr638) + * (mem_pool_value_column_row_expr638 - 1)) + * domain157.field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[402] * value; + + // Constraint: mul_mod/a_offset0. + value = (mem_pool_addr_column_row_expr650 - mem_pool_value_column_row_expr648) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[403] * value; + + // Constraint: mul_mod/b_offset. + value = (mem_pool_addr_column_row_expr651 - (mem_pool_addr_column_row_expr650 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[404] * value; + + // Constraint: mul_mod/c_offset. + value = (mem_pool_addr_column_row_expr652 - (mem_pool_addr_column_row_expr651 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[405] * value; + + // Constraint: mul_mod/a0_value_ind0. + value = (mem_pool_addr_column_row_expr653 + - (mem_pool_value_column_row_expr654 + mem_pool_value_column_row_expr646)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[406] * value; + + // Constraint: mul_mod/a1_value. + value = (mem_pool_addr_column_row_expr655 - (mem_pool_addr_column_row_expr653 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[407] * value; + + // Constraint: mul_mod/a2_value. + value = (mem_pool_addr_column_row_expr656 - (mem_pool_addr_column_row_expr655 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[408] * value; + + // Constraint: mul_mod/a3_value. + value = (mem_pool_addr_column_row_expr657 - (mem_pool_addr_column_row_expr656 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[409] * value; + + // Constraint: mul_mod/b0_value_ind0. + value = (mem_pool_addr_column_row_expr658 + - (mem_pool_value_column_row_expr659 + mem_pool_value_column_row_expr646)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[410] * value; + + // Constraint: mul_mod/b1_value. + value = (mem_pool_addr_column_row_expr660 - (mem_pool_addr_column_row_expr658 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[411] * value; + + // Constraint: mul_mod/b2_value. + value = (mem_pool_addr_column_row_expr661 - (mem_pool_addr_column_row_expr660 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[412] * value; + + // Constraint: mul_mod/b3_value. + value = (mem_pool_addr_column_row_expr662 - (mem_pool_addr_column_row_expr661 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[413] * value; + + // Constraint: mul_mod/c0_value_ind0. + value = (mem_pool_addr_column_row_expr663 + - (mem_pool_value_column_row_expr664 + mem_pool_value_column_row_expr646)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[414] * value; + + // Constraint: mul_mod/c1_value. + value = (mem_pool_addr_column_row_expr665 - (mem_pool_addr_column_row_expr663 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[415] * value; + + // Constraint: mul_mod/c2_value. + value = (mem_pool_addr_column_row_expr666 - (mem_pool_addr_column_row_expr665 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[416] * value; + + // Constraint: mul_mod/c3_value. + value = (mem_pool_addr_column_row_expr667 - (mem_pool_addr_column_row_expr666 + FELT_1)) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[417] * value; + + // Constraint: mul_mod/multiplication_constraint_0. + 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 - FELT_316912650057057350374175801344) + * global_values.mul_mod_interaction_elm + - FELT_316912650057057350374175801344) + * global_values.mul_mod_interaction_elm + - FELT_316912650057057350374175801344) + * global_values.mul_mod_interaction_elm + - FELT_316912650057057350374175801344) + * global_values.mul_mod_interaction_elm + - FELT_316912650057057350374175801344) + * global_values.mul_mod_interaction_elm + + mul_mod_carry0_0 + - FELT_316912650057057350374175801344) + * (global_values.mul_mod_interaction_elm - FELT_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))) + .field_div(&NonZeroFelt::try_from(domain155)?); + total_sum += constraint_coefficients[418] * value; + } + + Ok(total_sum) +} diff --git a/crates/air/src/layout/dynamic/autogenerated/autogenerated_oods.rs b/crates/air/src/layout/dynamic/autogenerated/autogenerated_oods.rs new file mode 100644 index 0000000..d842c26 --- /dev/null +++ b/crates/air/src/layout/dynamic/autogenerated/autogenerated_oods.rs @@ -0,0 +1,6071 @@ +use crate::{ + consts::*, + dynamic::DynamicParams, + layout::{safe_div, LayoutTrait, OodsPolyEvalError}, +}; +use starknet_crypto::Felt; +use starknet_types_core::felt::NonZeroFelt; + +pub fn eval_oods_polynomial_inner( + column_values: &[Felt], + oods_values: &[Felt], + constraint_coefficients: &[Felt], + point: &Felt, + oods_point: &Felt, + trace_generator: &Felt, + dynamic_params: &DynamicParams, +) -> Result { + // Fetch dynamic params. + let add_mod_a0_suboffset = Felt::from(dynamic_params.add_mod_a0_suboffset); + let add_mod_a1_suboffset = Felt::from(dynamic_params.add_mod_a1_suboffset); + let add_mod_a2_suboffset = Felt::from(dynamic_params.add_mod_a2_suboffset); + let add_mod_a3_suboffset = Felt::from(dynamic_params.add_mod_a3_suboffset); + let add_mod_a_offset_suboffset = Felt::from(dynamic_params.add_mod_a_offset_suboffset); + let add_mod_b0_suboffset = Felt::from(dynamic_params.add_mod_b0_suboffset); + let add_mod_b1_suboffset = Felt::from(dynamic_params.add_mod_b1_suboffset); + let add_mod_b2_suboffset = Felt::from(dynamic_params.add_mod_b2_suboffset); + let add_mod_b3_suboffset = Felt::from(dynamic_params.add_mod_b3_suboffset); + let add_mod_b_offset_suboffset = Felt::from(dynamic_params.add_mod_b_offset_suboffset); + let add_mod_c0_suboffset = Felt::from(dynamic_params.add_mod_c0_suboffset); + let add_mod_c1_suboffset = Felt::from(dynamic_params.add_mod_c1_suboffset); + let add_mod_c2_suboffset = Felt::from(dynamic_params.add_mod_c2_suboffset); + let add_mod_c3_suboffset = Felt::from(dynamic_params.add_mod_c3_suboffset); + let add_mod_c_offset_suboffset = Felt::from(dynamic_params.add_mod_c_offset_suboffset); + let add_mod_carry1_bit_offset = Felt::from(dynamic_params.add_mod_carry1_bit_offset); + let add_mod_carry1_sign_offset = Felt::from(dynamic_params.add_mod_carry1_sign_offset); + let add_mod_carry2_bit_offset = Felt::from(dynamic_params.add_mod_carry2_bit_offset); + let add_mod_carry2_sign_offset = Felt::from(dynamic_params.add_mod_carry2_sign_offset); + let add_mod_carry3_bit_offset = Felt::from(dynamic_params.add_mod_carry3_bit_offset); + let add_mod_carry3_sign_offset = Felt::from(dynamic_params.add_mod_carry3_sign_offset); + let add_mod_n_suboffset = Felt::from(dynamic_params.add_mod_n_suboffset); + let add_mod_offsets_ptr_suboffset = Felt::from(dynamic_params.add_mod_offsets_ptr_suboffset); + let add_mod_p0_suboffset = Felt::from(dynamic_params.add_mod_p0_suboffset); + let add_mod_p1_suboffset = Felt::from(dynamic_params.add_mod_p1_suboffset); + let add_mod_p2_suboffset = Felt::from(dynamic_params.add_mod_p2_suboffset); + let add_mod_p3_suboffset = Felt::from(dynamic_params.add_mod_p3_suboffset); + let add_mod_row_ratio = Felt::from(dynamic_params.add_mod_row_ratio); + let add_mod_sub_p_bit_offset = Felt::from(dynamic_params.add_mod_sub_p_bit_offset); + let add_mod_values_ptr_suboffset = Felt::from(dynamic_params.add_mod_values_ptr_suboffset); + let bitwise_diluted_var_pool_suboffset = + Felt::from(dynamic_params.bitwise_diluted_var_pool_suboffset); + let bitwise_row_ratio = Felt::from(dynamic_params.bitwise_row_ratio); + let bitwise_trim_unpacking192_suboffset = + Felt::from(dynamic_params.bitwise_trim_unpacking192_suboffset); + let bitwise_trim_unpacking193_suboffset = + Felt::from(dynamic_params.bitwise_trim_unpacking193_suboffset); + let bitwise_trim_unpacking194_suboffset = + Felt::from(dynamic_params.bitwise_trim_unpacking194_suboffset); + let bitwise_trim_unpacking195_suboffset = + Felt::from(dynamic_params.bitwise_trim_unpacking195_suboffset); + let bitwise_var_pool_suboffset = Felt::from(dynamic_params.bitwise_var_pool_suboffset); + let bitwise_x_or_y_suboffset = Felt::from(dynamic_params.bitwise_x_or_y_suboffset); + let cpu_decode_mem_inst_suboffset = Felt::from(dynamic_params.cpu_decode_mem_inst_suboffset); + let cpu_decode_off0_suboffset = Felt::from(dynamic_params.cpu_decode_off0_suboffset); + let cpu_decode_off1_suboffset = Felt::from(dynamic_params.cpu_decode_off1_suboffset); + let cpu_decode_off2_suboffset = Felt::from(dynamic_params.cpu_decode_off2_suboffset); + let cpu_decode_opcode_range_check_column_offset = + Felt::from(dynamic_params.cpu_decode_opcode_range_check_column_offset); + let cpu_operands_mem_dst_suboffset = Felt::from(dynamic_params.cpu_operands_mem_dst_suboffset); + let cpu_operands_mem_op0_suboffset = Felt::from(dynamic_params.cpu_operands_mem_op0_suboffset); + let cpu_operands_mem_op1_suboffset = Felt::from(dynamic_params.cpu_operands_mem_op1_suboffset); + let cpu_operands_ops_mul_offset = Felt::from(dynamic_params.cpu_operands_ops_mul_offset); + let cpu_operands_res_offset = Felt::from(dynamic_params.cpu_operands_res_offset); + let cpu_registers_ap_offset = Felt::from(dynamic_params.cpu_registers_ap_offset); + let cpu_registers_fp_offset = Felt::from(dynamic_params.cpu_registers_fp_offset); + let cpu_update_registers_update_pc_tmp0_offset = + Felt::from(dynamic_params.cpu_update_registers_update_pc_tmp0_offset); + let cpu_update_registers_update_pc_tmp1_offset = + Felt::from(dynamic_params.cpu_update_registers_update_pc_tmp1_offset); + let cpu_component_step = Felt::from(dynamic_params.cpu_component_step); + let diluted_check_cumulative_value_offset = + Felt::from(dynamic_params.diluted_check_cumulative_value_offset); + let diluted_check_permutation_cum_prod0_offset = + Felt::from(dynamic_params.diluted_check_permutation_cum_prod0_offset); + let diluted_check_permuted_values_offset = + Felt::from(dynamic_params.diluted_check_permuted_values_offset); + let diluted_pool_offset = Felt::from(dynamic_params.diluted_pool_offset); + let diluted_units_row_ratio = Felt::from(dynamic_params.diluted_units_row_ratio); + let ec_op_doubled_points_x_offset = Felt::from(dynamic_params.ec_op_doubled_points_x_offset); + let ec_op_doubled_points_y_offset = Felt::from(dynamic_params.ec_op_doubled_points_y_offset); + let ec_op_doubling_slope_offset = Felt::from(dynamic_params.ec_op_doubling_slope_offset); + let ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset); + let ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset); + let ec_op_ec_subset_sum_partial_sum_x_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_partial_sum_x_offset); + let ec_op_ec_subset_sum_partial_sum_y_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_partial_sum_y_offset); + let ec_op_ec_subset_sum_selector_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_selector_offset); + let ec_op_ec_subset_sum_slope_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_slope_offset); + let ec_op_ec_subset_sum_x_diff_inv_offset = + Felt::from(dynamic_params.ec_op_ec_subset_sum_x_diff_inv_offset); + let ec_op_m_suboffset = Felt::from(dynamic_params.ec_op_m_suboffset); + let ec_op_p_x_suboffset = Felt::from(dynamic_params.ec_op_p_x_suboffset); + let ec_op_p_y_suboffset = Felt::from(dynamic_params.ec_op_p_y_suboffset); + let ec_op_q_x_suboffset = Felt::from(dynamic_params.ec_op_q_x_suboffset); + let ec_op_q_y_suboffset = Felt::from(dynamic_params.ec_op_q_y_suboffset); + let ec_op_r_x_suboffset = Felt::from(dynamic_params.ec_op_r_x_suboffset); + let ec_op_r_y_suboffset = Felt::from(dynamic_params.ec_op_r_y_suboffset); + let ec_op_builtin_row_ratio = Felt::from(dynamic_params.ec_op_builtin_row_ratio); + let ecdsa_message_suboffset = Felt::from(dynamic_params.ecdsa_message_suboffset); + let ecdsa_pubkey_suboffset = Felt::from(dynamic_params.ecdsa_pubkey_suboffset); + let ecdsa_signature0_add_results_inv_offset = + Felt::from(dynamic_params.ecdsa_signature0_add_results_inv_offset); + let ecdsa_signature0_add_results_slope_offset = + Felt::from(dynamic_params.ecdsa_signature0_add_results_slope_offset); + let ecdsa_signature0_doubling_slope_offset = + Felt::from(dynamic_params.ecdsa_signature0_doubling_slope_offset); + let ecdsa_signature0_exponentiate_generator_partial_sum_x_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_offset); + let ecdsa_signature0_exponentiate_generator_partial_sum_y_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_offset); + let ecdsa_signature0_exponentiate_generator_selector_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_generator_selector_offset); + let ecdsa_signature0_exponentiate_generator_slope_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_generator_slope_offset); + let ecdsa_signature0_exponentiate_generator_x_diff_inv_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_generator_x_diff_inv_offset); + let ecdsa_signature0_exponentiate_key_partial_sum_x_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_offset); + let ecdsa_signature0_exponentiate_key_partial_sum_y_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_offset); + let ecdsa_signature0_exponentiate_key_selector_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_key_selector_offset); + let ecdsa_signature0_exponentiate_key_slope_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_key_slope_offset); + let ecdsa_signature0_exponentiate_key_x_diff_inv_offset = + Felt::from(dynamic_params.ecdsa_signature0_exponentiate_key_x_diff_inv_offset); + let ecdsa_signature0_extract_r_inv_offset = + Felt::from(dynamic_params.ecdsa_signature0_extract_r_inv_offset); + let ecdsa_signature0_extract_r_slope_offset = + Felt::from(dynamic_params.ecdsa_signature0_extract_r_slope_offset); + let ecdsa_signature0_key_points_x_offset = + Felt::from(dynamic_params.ecdsa_signature0_key_points_x_offset); + let ecdsa_signature0_key_points_y_offset = + Felt::from(dynamic_params.ecdsa_signature0_key_points_y_offset); + let ecdsa_signature0_q_x_squared_offset = + Felt::from(dynamic_params.ecdsa_signature0_q_x_squared_offset); + let ecdsa_signature0_r_w_inv_offset = + Felt::from(dynamic_params.ecdsa_signature0_r_w_inv_offset); + let ecdsa_signature0_z_inv_offset = Felt::from(dynamic_params.ecdsa_signature0_z_inv_offset); + let ecdsa_builtin_row_ratio = Felt::from(dynamic_params.ecdsa_builtin_row_ratio); + let keccak_input_output_suboffset = Felt::from(dynamic_params.keccak_input_output_suboffset); + let keccak_keccak_diluted_column0_suboffset = + Felt::from(dynamic_params.keccak_keccak_diluted_column0_suboffset); + let keccak_keccak_diluted_column1_suboffset = + Felt::from(dynamic_params.keccak_keccak_diluted_column1_suboffset); + let keccak_keccak_diluted_column2_suboffset = + Felt::from(dynamic_params.keccak_keccak_diluted_column2_suboffset); + let keccak_keccak_diluted_column3_suboffset = + Felt::from(dynamic_params.keccak_keccak_diluted_column3_suboffset); + let keccak_keccak_parse_to_diluted_cumulative_sum_offset = + Felt::from(dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_offset); + let keccak_keccak_parse_to_diluted_final_reshaped_input_offset = + Felt::from(dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_offset); + let keccak_keccak_parse_to_diluted_reshaped_intermediate_offset = + Felt::from(dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_offset); + let keccak_keccak_rotated_parity0_offset = + Felt::from(dynamic_params.keccak_keccak_rotated_parity0_offset); + let keccak_keccak_rotated_parity1_offset = + Felt::from(dynamic_params.keccak_keccak_rotated_parity1_offset); + let keccak_keccak_rotated_parity2_offset = + Felt::from(dynamic_params.keccak_keccak_rotated_parity2_offset); + let keccak_keccak_rotated_parity3_offset = + Felt::from(dynamic_params.keccak_keccak_rotated_parity3_offset); + let keccak_keccak_rotated_parity4_offset = + Felt::from(dynamic_params.keccak_keccak_rotated_parity4_offset); + let keccak_row_ratio = Felt::from(dynamic_params.keccak_row_ratio); + let mem_pool_addr_offset = Felt::from(dynamic_params.mem_pool_addr_offset); + let mem_pool_value_offset = Felt::from(dynamic_params.mem_pool_value_offset); + let memory_multi_column_perm_perm_cum_prod0_offset = + Felt::from(dynamic_params.memory_multi_column_perm_perm_cum_prod0_offset); + let memory_sorted_addr_offset = Felt::from(dynamic_params.memory_sorted_addr_offset); + let memory_sorted_value_offset = Felt::from(dynamic_params.memory_sorted_value_offset); + let memory_units_row_ratio = Felt::from(dynamic_params.memory_units_row_ratio); + let mul_mod_a0_suboffset = Felt::from(dynamic_params.mul_mod_a0_suboffset); + let mul_mod_a1_suboffset = Felt::from(dynamic_params.mul_mod_a1_suboffset); + let mul_mod_a2_suboffset = Felt::from(dynamic_params.mul_mod_a2_suboffset); + let mul_mod_a3_suboffset = Felt::from(dynamic_params.mul_mod_a3_suboffset); + let mul_mod_a_offset_suboffset = Felt::from(dynamic_params.mul_mod_a_offset_suboffset); + let mul_mod_b0_suboffset = Felt::from(dynamic_params.mul_mod_b0_suboffset); + let mul_mod_b1_suboffset = Felt::from(dynamic_params.mul_mod_b1_suboffset); + let mul_mod_b2_suboffset = Felt::from(dynamic_params.mul_mod_b2_suboffset); + let mul_mod_b3_suboffset = Felt::from(dynamic_params.mul_mod_b3_suboffset); + let mul_mod_b_offset_suboffset = Felt::from(dynamic_params.mul_mod_b_offset_suboffset); + let mul_mod_c0_suboffset = Felt::from(dynamic_params.mul_mod_c0_suboffset); + let mul_mod_c1_suboffset = Felt::from(dynamic_params.mul_mod_c1_suboffset); + let mul_mod_c2_suboffset = Felt::from(dynamic_params.mul_mod_c2_suboffset); + let mul_mod_c3_suboffset = Felt::from(dynamic_params.mul_mod_c3_suboffset); + let mul_mod_c_offset_suboffset = Felt::from(dynamic_params.mul_mod_c_offset_suboffset); + let mul_mod_carry0_part0_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part0_suboffset); + let mul_mod_carry0_part1_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part1_suboffset); + let mul_mod_carry0_part2_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part2_suboffset); + let mul_mod_carry0_part3_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part3_suboffset); + let mul_mod_carry0_part4_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part4_suboffset); + let mul_mod_carry0_part5_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part5_suboffset); + let mul_mod_carry0_part6_suboffset = Felt::from(dynamic_params.mul_mod_carry0_part6_suboffset); + let mul_mod_carry1_part0_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part0_suboffset); + let mul_mod_carry1_part1_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part1_suboffset); + let mul_mod_carry1_part2_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part2_suboffset); + let mul_mod_carry1_part3_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part3_suboffset); + let mul_mod_carry1_part4_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part4_suboffset); + let mul_mod_carry1_part5_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part5_suboffset); + let mul_mod_carry1_part6_suboffset = Felt::from(dynamic_params.mul_mod_carry1_part6_suboffset); + let mul_mod_carry2_part0_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part0_suboffset); + let mul_mod_carry2_part1_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part1_suboffset); + let mul_mod_carry2_part2_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part2_suboffset); + let mul_mod_carry2_part3_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part3_suboffset); + let mul_mod_carry2_part4_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part4_suboffset); + let mul_mod_carry2_part5_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part5_suboffset); + let mul_mod_carry2_part6_suboffset = Felt::from(dynamic_params.mul_mod_carry2_part6_suboffset); + let mul_mod_carry3_part0_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part0_suboffset); + let mul_mod_carry3_part1_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part1_suboffset); + let mul_mod_carry3_part2_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part2_suboffset); + let mul_mod_carry3_part3_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part3_suboffset); + let mul_mod_carry3_part4_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part4_suboffset); + let mul_mod_carry3_part5_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part5_suboffset); + let mul_mod_carry3_part6_suboffset = Felt::from(dynamic_params.mul_mod_carry3_part6_suboffset); + let mul_mod_carry4_part0_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part0_suboffset); + let mul_mod_carry4_part1_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part1_suboffset); + let mul_mod_carry4_part2_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part2_suboffset); + let mul_mod_carry4_part3_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part3_suboffset); + let mul_mod_carry4_part4_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part4_suboffset); + let mul_mod_carry4_part5_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part5_suboffset); + let mul_mod_carry4_part6_suboffset = Felt::from(dynamic_params.mul_mod_carry4_part6_suboffset); + let mul_mod_carry5_part0_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part0_suboffset); + let mul_mod_carry5_part1_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part1_suboffset); + let mul_mod_carry5_part2_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part2_suboffset); + let mul_mod_carry5_part3_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part3_suboffset); + let mul_mod_carry5_part4_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part4_suboffset); + let mul_mod_carry5_part5_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part5_suboffset); + let mul_mod_carry5_part6_suboffset = Felt::from(dynamic_params.mul_mod_carry5_part6_suboffset); + let mul_mod_n_suboffset = Felt::from(dynamic_params.mul_mod_n_suboffset); + let mul_mod_offsets_ptr_suboffset = Felt::from(dynamic_params.mul_mod_offsets_ptr_suboffset); + let mul_mod_p0_suboffset = Felt::from(dynamic_params.mul_mod_p0_suboffset); + let mul_mod_p1_suboffset = Felt::from(dynamic_params.mul_mod_p1_suboffset); + let mul_mod_p2_suboffset = Felt::from(dynamic_params.mul_mod_p2_suboffset); + let mul_mod_p3_suboffset = Felt::from(dynamic_params.mul_mod_p3_suboffset); + let mul_mod_p_multiplier0_part0_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier0_part0_suboffset); + let mul_mod_p_multiplier0_part1_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier0_part1_suboffset); + let mul_mod_p_multiplier0_part2_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier0_part2_suboffset); + let mul_mod_p_multiplier0_part3_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier0_part3_suboffset); + let mul_mod_p_multiplier0_part4_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier0_part4_suboffset); + let mul_mod_p_multiplier0_part5_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier0_part5_suboffset); + let mul_mod_p_multiplier1_part0_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier1_part0_suboffset); + let mul_mod_p_multiplier1_part1_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier1_part1_suboffset); + let mul_mod_p_multiplier1_part2_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier1_part2_suboffset); + let mul_mod_p_multiplier1_part3_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier1_part3_suboffset); + let mul_mod_p_multiplier1_part4_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier1_part4_suboffset); + let mul_mod_p_multiplier1_part5_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier1_part5_suboffset); + let mul_mod_p_multiplier2_part0_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier2_part0_suboffset); + let mul_mod_p_multiplier2_part1_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier2_part1_suboffset); + let mul_mod_p_multiplier2_part2_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier2_part2_suboffset); + let mul_mod_p_multiplier2_part3_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier2_part3_suboffset); + let mul_mod_p_multiplier2_part4_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier2_part4_suboffset); + let mul_mod_p_multiplier2_part5_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier2_part5_suboffset); + let mul_mod_p_multiplier3_part0_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier3_part0_suboffset); + let mul_mod_p_multiplier3_part1_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier3_part1_suboffset); + let mul_mod_p_multiplier3_part2_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier3_part2_suboffset); + let mul_mod_p_multiplier3_part3_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier3_part3_suboffset); + let mul_mod_p_multiplier3_part4_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier3_part4_suboffset); + let mul_mod_p_multiplier3_part5_suboffset = + Felt::from(dynamic_params.mul_mod_p_multiplier3_part5_suboffset); + let mul_mod_row_ratio = Felt::from(dynamic_params.mul_mod_row_ratio); + let mul_mod_values_ptr_suboffset = Felt::from(dynamic_params.mul_mod_values_ptr_suboffset); + let orig_public_memory_suboffset = Felt::from(dynamic_params.orig_public_memory_suboffset); + let pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset = + Felt::from(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset); + let pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset = + Felt::from(dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset); + let pedersen_hash0_ec_subset_sum_partial_sum_x_offset = + Felt::from(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_offset); + let pedersen_hash0_ec_subset_sum_partial_sum_y_offset = + Felt::from(dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_offset); + let pedersen_hash0_ec_subset_sum_selector_offset = + Felt::from(dynamic_params.pedersen_hash0_ec_subset_sum_selector_offset); + let pedersen_hash0_ec_subset_sum_slope_offset = + Felt::from(dynamic_params.pedersen_hash0_ec_subset_sum_slope_offset); + let pedersen_input0_suboffset = Felt::from(dynamic_params.pedersen_input0_suboffset); + let pedersen_input1_suboffset = Felt::from(dynamic_params.pedersen_input1_suboffset); + let pedersen_output_suboffset = Felt::from(dynamic_params.pedersen_output_suboffset); + let pedersen_builtin_row_ratio = Felt::from(dynamic_params.pedersen_builtin_row_ratio); + let poseidon_param_0_input_output_suboffset = + Felt::from(dynamic_params.poseidon_param_0_input_output_suboffset); + let poseidon_param_1_input_output_suboffset = + Felt::from(dynamic_params.poseidon_param_1_input_output_suboffset); + let poseidon_param_2_input_output_suboffset = + Felt::from(dynamic_params.poseidon_param_2_input_output_suboffset); + let poseidon_poseidon_full_rounds_state0_offset = + Felt::from(dynamic_params.poseidon_poseidon_full_rounds_state0_offset); + let poseidon_poseidon_full_rounds_state0_squared_offset = + Felt::from(dynamic_params.poseidon_poseidon_full_rounds_state0_squared_offset); + let poseidon_poseidon_full_rounds_state1_offset = + Felt::from(dynamic_params.poseidon_poseidon_full_rounds_state1_offset); + let poseidon_poseidon_full_rounds_state1_squared_offset = + Felt::from(dynamic_params.poseidon_poseidon_full_rounds_state1_squared_offset); + let poseidon_poseidon_full_rounds_state2_offset = + Felt::from(dynamic_params.poseidon_poseidon_full_rounds_state2_offset); + let poseidon_poseidon_full_rounds_state2_squared_offset = + Felt::from(dynamic_params.poseidon_poseidon_full_rounds_state2_squared_offset); + let poseidon_poseidon_partial_rounds_state0_offset = + Felt::from(dynamic_params.poseidon_poseidon_partial_rounds_state0_offset); + let poseidon_poseidon_partial_rounds_state0_squared_offset = + Felt::from(dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_offset); + let poseidon_poseidon_partial_rounds_state1_offset = + Felt::from(dynamic_params.poseidon_poseidon_partial_rounds_state1_offset); + let poseidon_poseidon_partial_rounds_state1_squared_offset = + Felt::from(dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_offset); + let poseidon_row_ratio = Felt::from(dynamic_params.poseidon_row_ratio); + let range_check16_perm_cum_prod0_offset = + Felt::from(dynamic_params.range_check16_perm_cum_prod0_offset); + let range_check16_sorted_offset = Felt::from(dynamic_params.range_check16_sorted_offset); + let range_check16_pool_offset = Felt::from(dynamic_params.range_check16_pool_offset); + let range_check96_builtin_inner_range_check0_suboffset = + Felt::from(dynamic_params.range_check96_builtin_inner_range_check0_suboffset); + let range_check96_builtin_inner_range_check1_suboffset = + Felt::from(dynamic_params.range_check96_builtin_inner_range_check1_suboffset); + let range_check96_builtin_inner_range_check2_suboffset = + Felt::from(dynamic_params.range_check96_builtin_inner_range_check2_suboffset); + let range_check96_builtin_inner_range_check3_suboffset = + Felt::from(dynamic_params.range_check96_builtin_inner_range_check3_suboffset); + let range_check96_builtin_inner_range_check4_suboffset = + Felt::from(dynamic_params.range_check96_builtin_inner_range_check4_suboffset); + let range_check96_builtin_inner_range_check5_suboffset = + Felt::from(dynamic_params.range_check96_builtin_inner_range_check5_suboffset); + let range_check96_builtin_mem_suboffset = + Felt::from(dynamic_params.range_check96_builtin_mem_suboffset); + let range_check96_builtin_row_ratio = + Felt::from(dynamic_params.range_check96_builtin_row_ratio); + let range_check_builtin_inner_range_check_suboffset = + Felt::from(dynamic_params.range_check_builtin_inner_range_check_suboffset); + let range_check_builtin_mem_suboffset = + Felt::from(dynamic_params.range_check_builtin_mem_suboffset); + let range_check_builtin_row_ratio = Felt::from(dynamic_params.range_check_builtin_row_ratio); + let range_check_units_row_ratio = Felt::from(dynamic_params.range_check_units_row_ratio); + + // Compute powers. + let pow0 = trace_generator.pow_felt(&mul_mod_row_ratio); + let pow1 = trace_generator.pow_felt(&add_mod_row_ratio); + let pow2 = trace_generator.pow_felt(&range_check96_builtin_row_ratio); + let pow3 = trace_generator.pow_felt(&(safe_div(bitwise_row_ratio, FELT_64)?)); + let pow4 = pow3 * pow3; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 32))). + let pow5 = pow3 * pow4; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 64))). + let pow6 = pow3 * pow5; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 16))). + let pow7 = pow3 * pow6; // pow(trace_generator, &(safe_div((5* bitwise_row_ratio), 64))). + let pow8 = pow3 * pow7; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 32))). + let pow9 = pow3 * pow8; // pow(trace_generator, &(safe_div((7* bitwise_row_ratio), 64))). + let pow10 = pow3 * pow9; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 8))). + let pow11 = pow3 * pow10; // pow(trace_generator, &(safe_div((9* bitwise_row_ratio), 64))). + let pow12 = pow3 * pow11; // pow(trace_generator, &(safe_div((5* bitwise_row_ratio), 32))). + let pow13 = pow3 * pow12; // pow(trace_generator, &(safe_div((11* bitwise_row_ratio), 64))). + let pow14 = pow3 * pow13; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 16))). + let pow15 = pow3 * pow14; // pow(trace_generator, &(safe_div((13* bitwise_row_ratio), 64))). + let pow16 = pow3 * pow15; // pow(trace_generator, &(safe_div((7* bitwise_row_ratio), 32))). + let pow17 = pow3 * pow16; // pow(trace_generator, &(safe_div((15* bitwise_row_ratio), 64))). + let pow18 = pow3 * pow17; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 4))). + let pow19 = pow18 * pow18; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 2))). + let pow30 = trace_generator.pow_felt(&(safe_div(range_check_builtin_row_ratio, FELT_8)?)); + let pow31 = pow30 * pow30; // pow(trace_generator, &(safe_div(range_check_builtin_row_ratio, 4))). + let pow32 = pow30 * pow31; // pow(trace_generator, &(safe_div((3* range_check_builtin_row_ratio), 8))). + let pow33 = pow30 * pow32; // pow(trace_generator, &(safe_div(range_check_builtin_row_ratio, 2))). + let pow34 = pow30 * pow33; // pow(trace_generator, &(safe_div((5* range_check_builtin_row_ratio), 8))). + let pow35 = pow30 * pow34; // pow(trace_generator, &(safe_div((3* range_check_builtin_row_ratio), 4))). + let pow36 = pow30 * pow35; // pow(trace_generator, &(safe_div((7* range_check_builtin_row_ratio), 8))). + let pow37 = pow30 * pow36; // pow(trace_generator, range_check_builtin_row_ratio). + let pow38 = + trace_generator.pow_felt(&(mul_mod_carry0_part6_suboffset * range_check_units_row_ratio)); + let pow39 = + trace_generator.pow_felt(&(mul_mod_carry0_part5_suboffset * range_check_units_row_ratio)); + let pow40 = + trace_generator.pow_felt(&(mul_mod_carry0_part4_suboffset * range_check_units_row_ratio)); + let pow41 = + trace_generator.pow_felt(&(mul_mod_carry0_part3_suboffset * range_check_units_row_ratio)); + let pow42 = + trace_generator.pow_felt(&(mul_mod_carry0_part2_suboffset * range_check_units_row_ratio)); + let pow43 = + trace_generator.pow_felt(&(mul_mod_carry0_part1_suboffset * range_check_units_row_ratio)); + let pow44 = + trace_generator.pow_felt(&(mul_mod_carry0_part0_suboffset * range_check_units_row_ratio)); + let pow45 = + trace_generator.pow_felt(&(mul_mod_carry5_part6_suboffset * range_check_units_row_ratio)); + let pow46 = + trace_generator.pow_felt(&(mul_mod_carry5_part5_suboffset * range_check_units_row_ratio)); + let pow47 = + trace_generator.pow_felt(&(mul_mod_carry5_part4_suboffset * range_check_units_row_ratio)); + let pow48 = + trace_generator.pow_felt(&(mul_mod_carry5_part3_suboffset * range_check_units_row_ratio)); + let pow49 = + trace_generator.pow_felt(&(mul_mod_carry5_part2_suboffset * range_check_units_row_ratio)); + let pow50 = + trace_generator.pow_felt(&(mul_mod_carry5_part1_suboffset * range_check_units_row_ratio)); + let pow51 = + trace_generator.pow_felt(&(mul_mod_carry5_part0_suboffset * range_check_units_row_ratio)); + let pow52 = + trace_generator.pow_felt(&(mul_mod_carry4_part6_suboffset * range_check_units_row_ratio)); + let pow53 = + trace_generator.pow_felt(&(mul_mod_carry4_part5_suboffset * range_check_units_row_ratio)); + let pow54 = + trace_generator.pow_felt(&(mul_mod_carry4_part4_suboffset * range_check_units_row_ratio)); + let pow55 = + trace_generator.pow_felt(&(mul_mod_carry4_part3_suboffset * range_check_units_row_ratio)); + let pow56 = + trace_generator.pow_felt(&(mul_mod_carry4_part2_suboffset * range_check_units_row_ratio)); + let pow57 = + trace_generator.pow_felt(&(mul_mod_carry4_part1_suboffset * range_check_units_row_ratio)); + let pow58 = + trace_generator.pow_felt(&(mul_mod_carry4_part0_suboffset * range_check_units_row_ratio)); + let pow59 = + trace_generator.pow_felt(&(mul_mod_carry3_part6_suboffset * range_check_units_row_ratio)); + let pow60 = + trace_generator.pow_felt(&(mul_mod_carry3_part5_suboffset * range_check_units_row_ratio)); + let pow61 = + trace_generator.pow_felt(&(mul_mod_carry3_part4_suboffset * range_check_units_row_ratio)); + let pow62 = + trace_generator.pow_felt(&(mul_mod_carry3_part3_suboffset * range_check_units_row_ratio)); + let pow63 = + trace_generator.pow_felt(&(mul_mod_carry3_part2_suboffset * range_check_units_row_ratio)); + let pow64 = + trace_generator.pow_felt(&(mul_mod_carry3_part1_suboffset * range_check_units_row_ratio)); + let pow65 = + trace_generator.pow_felt(&(mul_mod_carry3_part0_suboffset * range_check_units_row_ratio)); + let pow66 = + trace_generator.pow_felt(&(mul_mod_carry2_part6_suboffset * range_check_units_row_ratio)); + let pow67 = + trace_generator.pow_felt(&(mul_mod_carry2_part5_suboffset * range_check_units_row_ratio)); + let pow68 = + trace_generator.pow_felt(&(mul_mod_carry2_part4_suboffset * range_check_units_row_ratio)); + let pow69 = + trace_generator.pow_felt(&(mul_mod_carry2_part3_suboffset * range_check_units_row_ratio)); + let pow70 = + trace_generator.pow_felt(&(mul_mod_carry2_part2_suboffset * range_check_units_row_ratio)); + let pow71 = + trace_generator.pow_felt(&(mul_mod_carry2_part1_suboffset * range_check_units_row_ratio)); + let pow72 = + trace_generator.pow_felt(&(mul_mod_carry2_part0_suboffset * range_check_units_row_ratio)); + let pow73 = + trace_generator.pow_felt(&(mul_mod_carry1_part6_suboffset * range_check_units_row_ratio)); + let pow74 = + trace_generator.pow_felt(&(mul_mod_carry1_part5_suboffset * range_check_units_row_ratio)); + let pow75 = + trace_generator.pow_felt(&(mul_mod_carry1_part4_suboffset * range_check_units_row_ratio)); + let pow76 = + trace_generator.pow_felt(&(mul_mod_carry1_part3_suboffset * range_check_units_row_ratio)); + let pow77 = + trace_generator.pow_felt(&(mul_mod_carry1_part2_suboffset * range_check_units_row_ratio)); + let pow78 = + trace_generator.pow_felt(&(mul_mod_carry1_part1_suboffset * range_check_units_row_ratio)); + let pow79 = + trace_generator.pow_felt(&(mul_mod_carry1_part0_suboffset * range_check_units_row_ratio)); + let pow80 = trace_generator + .pow_felt(&(mul_mod_p_multiplier0_part5_suboffset * range_check_units_row_ratio)); + let pow81 = trace_generator + .pow_felt(&(mul_mod_p_multiplier0_part4_suboffset * range_check_units_row_ratio)); + let pow82 = trace_generator + .pow_felt(&(mul_mod_p_multiplier0_part3_suboffset * range_check_units_row_ratio)); + let pow83 = trace_generator + .pow_felt(&(mul_mod_p_multiplier0_part2_suboffset * range_check_units_row_ratio)); + let pow84 = trace_generator + .pow_felt(&(mul_mod_p_multiplier0_part1_suboffset * range_check_units_row_ratio)); + let pow85 = trace_generator + .pow_felt(&(mul_mod_p_multiplier0_part0_suboffset * range_check_units_row_ratio)); + let pow86 = trace_generator + .pow_felt(&(mul_mod_p_multiplier3_part5_suboffset * range_check_units_row_ratio)); + let pow87 = trace_generator + .pow_felt(&(mul_mod_p_multiplier3_part4_suboffset * range_check_units_row_ratio)); + let pow88 = trace_generator + .pow_felt(&(mul_mod_p_multiplier3_part3_suboffset * range_check_units_row_ratio)); + let pow89 = trace_generator + .pow_felt(&(mul_mod_p_multiplier3_part2_suboffset * range_check_units_row_ratio)); + let pow90 = trace_generator + .pow_felt(&(mul_mod_p_multiplier3_part1_suboffset * range_check_units_row_ratio)); + let pow91 = trace_generator + .pow_felt(&(mul_mod_p_multiplier3_part0_suboffset * range_check_units_row_ratio)); + let pow92 = trace_generator + .pow_felt(&(mul_mod_p_multiplier2_part5_suboffset * range_check_units_row_ratio)); + let pow93 = trace_generator + .pow_felt(&(mul_mod_p_multiplier2_part4_suboffset * range_check_units_row_ratio)); + let pow94 = trace_generator + .pow_felt(&(mul_mod_p_multiplier2_part3_suboffset * range_check_units_row_ratio)); + let pow95 = trace_generator + .pow_felt(&(mul_mod_p_multiplier2_part2_suboffset * range_check_units_row_ratio)); + let pow96 = trace_generator + .pow_felt(&(mul_mod_p_multiplier2_part1_suboffset * range_check_units_row_ratio)); + let pow97 = trace_generator + .pow_felt(&(mul_mod_p_multiplier2_part0_suboffset * range_check_units_row_ratio)); + let pow98 = trace_generator + .pow_felt(&(mul_mod_p_multiplier1_part5_suboffset * range_check_units_row_ratio)); + let pow99 = trace_generator + .pow_felt(&(mul_mod_p_multiplier1_part4_suboffset * range_check_units_row_ratio)); + let pow100 = trace_generator + .pow_felt(&(mul_mod_p_multiplier1_part3_suboffset * range_check_units_row_ratio)); + let pow101 = trace_generator + .pow_felt(&(mul_mod_p_multiplier1_part2_suboffset * range_check_units_row_ratio)); + let pow102 = trace_generator + .pow_felt(&(mul_mod_p_multiplier1_part1_suboffset * range_check_units_row_ratio)); + let pow103 = trace_generator + .pow_felt(&(mul_mod_p_multiplier1_part0_suboffset * range_check_units_row_ratio)); + let pow104 = trace_generator.pow_felt(&(mul_mod_c3_suboffset * memory_units_row_ratio)); + let pow105 = trace_generator.pow_felt(&(mul_mod_c2_suboffset * memory_units_row_ratio)); + let pow106 = trace_generator.pow_felt(&(mul_mod_c1_suboffset * memory_units_row_ratio)); + let pow107 = trace_generator.pow_felt(&(mul_mod_c0_suboffset * memory_units_row_ratio)); + let pow108 = trace_generator.pow_felt(&(mul_mod_b3_suboffset * memory_units_row_ratio)); + let pow109 = trace_generator.pow_felt(&(mul_mod_b2_suboffset * memory_units_row_ratio)); + let pow110 = trace_generator.pow_felt(&(mul_mod_b1_suboffset * memory_units_row_ratio)); + let pow111 = trace_generator.pow_felt(&(mul_mod_b0_suboffset * memory_units_row_ratio)); + let pow112 = trace_generator.pow_felt(&(mul_mod_a3_suboffset * memory_units_row_ratio)); + let pow113 = trace_generator.pow_felt(&(mul_mod_a2_suboffset * memory_units_row_ratio)); + let pow114 = trace_generator.pow_felt(&(mul_mod_a1_suboffset * memory_units_row_ratio)); + let pow115 = trace_generator.pow_felt(&(mul_mod_a0_suboffset * memory_units_row_ratio)); + let pow116 = trace_generator.pow_felt(&(mul_mod_c_offset_suboffset * memory_units_row_ratio)); + let pow117 = trace_generator.pow_felt(&(mul_mod_b_offset_suboffset * memory_units_row_ratio)); + let pow118 = trace_generator.pow_felt(&(mul_mod_a_offset_suboffset * memory_units_row_ratio)); + let pow119 = trace_generator.pow_felt(&(mul_mod_n_suboffset * memory_units_row_ratio)); + let pow121 = + trace_generator.pow_felt(&(mul_mod_offsets_ptr_suboffset * memory_units_row_ratio)); + let pow123 = trace_generator.pow_felt(&(mul_mod_values_ptr_suboffset * memory_units_row_ratio)); + let pow125 = trace_generator.pow_felt(&(mul_mod_p3_suboffset * memory_units_row_ratio)); + let pow127 = trace_generator.pow_felt(&(mul_mod_p2_suboffset * memory_units_row_ratio)); + let pow129 = trace_generator.pow_felt(&(mul_mod_p1_suboffset * memory_units_row_ratio)); + let pow131 = trace_generator.pow_felt(&(mul_mod_p0_suboffset * memory_units_row_ratio)); + let pow133 = trace_generator.pow_felt(&(add_mod_c3_suboffset * memory_units_row_ratio)); + let pow134 = trace_generator.pow_felt(&(add_mod_c2_suboffset * memory_units_row_ratio)); + let pow135 = trace_generator.pow_felt(&(add_mod_c1_suboffset * memory_units_row_ratio)); + let pow136 = trace_generator.pow_felt(&(add_mod_c0_suboffset * memory_units_row_ratio)); + let pow137 = trace_generator.pow_felt(&(add_mod_b3_suboffset * memory_units_row_ratio)); + let pow138 = trace_generator.pow_felt(&(add_mod_b2_suboffset * memory_units_row_ratio)); + let pow139 = trace_generator.pow_felt(&(add_mod_b1_suboffset * memory_units_row_ratio)); + let pow140 = trace_generator.pow_felt(&(add_mod_b0_suboffset * memory_units_row_ratio)); + let pow141 = trace_generator.pow_felt(&(add_mod_a3_suboffset * memory_units_row_ratio)); + let pow142 = trace_generator.pow_felt(&(add_mod_a2_suboffset * memory_units_row_ratio)); + let pow143 = trace_generator.pow_felt(&(add_mod_a1_suboffset * memory_units_row_ratio)); + let pow144 = trace_generator.pow_felt(&(add_mod_a0_suboffset * memory_units_row_ratio)); + let pow145 = trace_generator.pow_felt(&(add_mod_c_offset_suboffset * memory_units_row_ratio)); + let pow146 = trace_generator.pow_felt(&(add_mod_b_offset_suboffset * memory_units_row_ratio)); + let pow147 = trace_generator.pow_felt(&(add_mod_a_offset_suboffset * memory_units_row_ratio)); + let pow148 = trace_generator.pow_felt(&(add_mod_n_suboffset * memory_units_row_ratio)); + let pow150 = + trace_generator.pow_felt(&(add_mod_offsets_ptr_suboffset * memory_units_row_ratio)); + let pow152 = trace_generator.pow_felt(&(add_mod_values_ptr_suboffset * memory_units_row_ratio)); + let pow154 = trace_generator.pow_felt(&(add_mod_p3_suboffset * memory_units_row_ratio)); + let pow156 = trace_generator.pow_felt(&(add_mod_p2_suboffset * memory_units_row_ratio)); + let pow158 = trace_generator.pow_felt(&(add_mod_p1_suboffset * memory_units_row_ratio)); + let pow160 = trace_generator.pow_felt(&(add_mod_p0_suboffset * memory_units_row_ratio)); + let pow162 = trace_generator.pow_felt( + &(range_check96_builtin_inner_range_check5_suboffset * range_check_units_row_ratio), + ); + let pow163 = trace_generator.pow_felt( + &(range_check96_builtin_inner_range_check4_suboffset * range_check_units_row_ratio), + ); + let pow164 = trace_generator.pow_felt( + &(range_check96_builtin_inner_range_check3_suboffset * range_check_units_row_ratio), + ); + let pow165 = trace_generator.pow_felt( + &(range_check96_builtin_inner_range_check2_suboffset * range_check_units_row_ratio), + ); + let pow166 = trace_generator.pow_felt( + &(range_check96_builtin_inner_range_check1_suboffset * range_check_units_row_ratio), + ); + let pow167 = trace_generator.pow_felt( + &(range_check96_builtin_inner_range_check0_suboffset * range_check_units_row_ratio), + ); + let pow168 = + trace_generator.pow_felt(&(range_check96_builtin_mem_suboffset * memory_units_row_ratio)); + let pow170 = trace_generator.pow_felt(&(safe_div(poseidon_row_ratio, FELT_64)?)); + let pow171 = trace_generator.pow_felt(&(safe_div(FELT_3 * poseidon_row_ratio, FELT_8)?)); + let pow172 = pow170 * pow170; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 32))). + let pow173 = pow170 * pow172; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 64))). + let pow174 = pow170 * pow173; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 16))). + let pow175 = pow172 * pow174; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 32))). + let pow176 = trace_generator.pow_felt(&(safe_div(FELT_61 * poseidon_row_ratio, FELT_64)?)); + let pow177 = pow172 * pow175; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 8))). + let pow178 = pow171 * pow177; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2))). + let pow179 = pow175 * pow178; // pow(trace_generator, &(safe_div((19* poseidon_row_ratio), 32))). + let pow185 = trace_generator + .pow_felt(&(poseidon_param_2_input_output_suboffset * memory_units_row_ratio)); + let pow187 = trace_generator + .pow_felt(&(poseidon_param_1_input_output_suboffset * memory_units_row_ratio)); + let pow189 = trace_generator + .pow_felt(&(poseidon_param_0_input_output_suboffset * memory_units_row_ratio)); + let pow191 = trace_generator + .pow_felt(&(keccak_keccak_diluted_column2_suboffset * diluted_units_row_ratio)); + let pow192 = trace_generator + .pow_felt(&(keccak_keccak_diluted_column1_suboffset * diluted_units_row_ratio)); + let pow193 = trace_generator + .pow_felt(&(keccak_keccak_diluted_column3_suboffset * diluted_units_row_ratio)); + let pow194 = trace_generator + .pow_felt(&(keccak_keccak_diluted_column0_suboffset * diluted_units_row_ratio)); + let pow195 = trace_generator.pow_felt(&(safe_div(keccak_row_ratio, FELT_32768)?)); + let pow196 = pow195 * pow195; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16384))). + let pow197 = pow195 * pow196; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 32768))). + let pow198 = pow195 * pow197; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8192))). + let pow199 = pow195 * pow198; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 32768))). + let pow200 = pow195 * pow199; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16384))). + let pow201 = pow195 * pow200; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 32768))). + let pow202 = pow195 * pow201; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096))). + let pow203 = pow195 * pow202; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div(keccak_row_ratio, 32768))). + let pow204 = pow195 * pow203; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div(keccak_row_ratio, 16384))). + let pow205 = pow195 * pow204; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((3* keccak_row_ratio), 32768))). + let pow206 = pow195 * pow205; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div(keccak_row_ratio, 8192))). + let pow207 = pow195 * pow206; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((5* keccak_row_ratio), 32768))). + let pow208 = pow195 * pow207; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((3* keccak_row_ratio), 16384))). + let pow209 = pow195 * pow208; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((7* keccak_row_ratio), 32768))). + let pow210 = pow195 * pow209; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048))). + let pow211 = pow195 * pow210; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div(keccak_row_ratio, 32768))). + let pow212 = pow195 * pow211; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div(keccak_row_ratio, 16384))). + let pow213 = pow195 * pow212; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((3* keccak_row_ratio), 32768))). + let pow214 = pow195 * pow213; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div(keccak_row_ratio, 8192))). + let pow215 = pow195 * pow214; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((5* keccak_row_ratio), 32768))). + let pow216 = pow195 * pow215; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((3* keccak_row_ratio), 16384))). + let pow217 = pow195 * pow216; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((7* keccak_row_ratio), 32768))). + let pow218 = pow203 * pow217; // pow(trace_generator, &(safe_div(keccak_row_ratio, 1024))). + let pow219 = pow210 * pow218; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 2048))). + let pow220 = pow210 * pow219; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512))). + let pow221 = pow210 * pow220; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 2048))). + let pow222 = pow210 * pow221; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 1024))). + let pow223 = pow210 * pow222; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2048))). + let pow224 = pow210 * pow223; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256))). + let pow225 = pow210 * pow224; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2048))). + let pow226 = pow210 * pow225; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 1024))). + let pow227 = pow210 * pow226; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 2048))). + let pow228 = pow210 * pow227; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512))). + let pow231 = pow210 * pow228; // pow(trace_generator, &(safe_div((13* keccak_row_ratio), 2048))). + let pow232 = pow210 * pow231; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 1024))). + let pow233 = pow210 * pow232; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048))). + let pow234 = pow202 * pow233; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096))). + let pow235 = pow202 * pow234; // pow(trace_generator, &(safe_div(keccak_row_ratio, 128))). + let pow237 = pow210 * pow235; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div(keccak_row_ratio, 128))). + let pow238 = pow219 * pow237; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow239 = pow220 * pow238; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow240 = pow220 * pow239; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 512))). + let pow242 = pow219 * pow240; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + &(safe_div(keccak_row_ratio, 128))). + let pow243 = pow202 * pow242; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096)) + &(safe_div(keccak_row_ratio, 128))). + let pow244 = pow202 * pow243; // pow(trace_generator, &(safe_div(keccak_row_ratio, 64))). + let pow245 = pow220 * pow244; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow247 = pow224 * pow245; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 512))). + let pow249 = pow220 * pow247; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 128))). + let pow254 = pow228 * pow249; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 512))). + let pow256 = pow220 * pow254; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32))). + let pow260 = pow224 * pow256; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow261 = pow202 * pow256; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32)) + &(safe_div(keccak_row_ratio, 4096))). + let pow262 = pow220 * pow260; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 512))). + let pow264 = pow220 * pow262; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 128))). + let pow265 = pow220 * pow264; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow266 = pow224 * pow265; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 512))). + let pow269 = pow220 * pow266; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 64))). + let pow270 = pow228 * pow269; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 512))). + let pow273 = pow220 * pow270; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 128))). + let pow274 = pow228 * pow273; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 512))). + let pow277 = pow220 * pow274; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16))). + let pow279 = pow220 * pow277; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div(keccak_row_ratio, 16))). + let pow280 = pow220 * pow279; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div(keccak_row_ratio, 16))). + let pow281 = pow220 * pow280; // pow(trace_generator, &(safe_div((35* keccak_row_ratio), 512))). + let pow283 = pow220 * pow281; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 128))). + let pow285 = pow228 * pow283; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 512))). + let pow287 = pow220 * pow285; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 64))). + let pow288 = pow228 * pow287; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 512))). + let pow291 = pow220 * pow288; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 128))). + let pow292 = pow228 * pow291; // pow(trace_generator, &(safe_div((47* keccak_row_ratio), 512))). + let pow295 = pow220 * pow292; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 32))). + let pow297 = pow235 * pow295; // pow(trace_generator, &(safe_div((13* keccak_row_ratio), 128))). + let pow299 = pow235 * pow297; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 64))). + let pow301 = pow220 * pow299; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((7* keccak_row_ratio), 64))). + let pow302 = pow220 * pow301; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((7* keccak_row_ratio), 64))). + let pow303 = pow224 * pow302; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 128))). + let pow304 = pow220 * pow303; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((15* keccak_row_ratio), 128))). + let pow305 = pow220 * pow304; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((15* keccak_row_ratio), 128))). + let pow307 = pow224 * pow305; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8))). + let pow309 = pow235 * pow307; // pow(trace_generator, &(safe_div((17* keccak_row_ratio), 128))). + let pow311 = pow235 * pow309; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 64))). + let pow313 = pow235 * pow311; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 128))). + let pow315 = pow235 * pow313; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 32))). + let pow317 = pow235 * pow315; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 128))). + let pow319 = pow220 * pow317; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((21* keccak_row_ratio), 128))). + let pow321 = pow220 * pow319; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((21* keccak_row_ratio), 128))). + let pow323 = pow224 * pow321; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 64))). + let pow325 = pow220 * pow323; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((11* keccak_row_ratio), 64))). + let pow327 = pow220 * pow325; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((11* keccak_row_ratio), 64))). + let pow329 = pow224 * pow327; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 128))). + let pow331 = pow220 * pow329; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((23* keccak_row_ratio), 128))). + let pow333 = pow220 * pow331; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((23* keccak_row_ratio), 128))). + let pow335 = pow224 * pow333; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16))). + let pow337 = pow220 * pow335; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 16))). + let pow339 = pow220 * pow337; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 16))). + let pow341 = pow224 * pow339; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 128))). + let pow345 = pow210 * pow341; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow346 = pow219 * pow345; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow348 = pow220 * pow346; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow350 = pow220 * pow348; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow352 = pow220 * pow350; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow353 = pow220 * pow352; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow354 = pow220 * pow353; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow356 = pow228 * pow354; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow358 = pow228 * pow356; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow360 = pow228 * pow358; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow361 = pow228 * pow360; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow362 = pow228 * pow361; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow363 = pow228 * pow362; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow364 = pow235 * pow363; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4))). + let pow365 = pow202 * pow364; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div(keccak_row_ratio, 4096))). + let pow366 = pow202 * pow365; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div(keccak_row_ratio, 4))). + let pow367 = pow227 * pow366; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow368 = pow219 * pow367; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + &(safe_div(keccak_row_ratio, 4))). + let pow369 = pow202 * pow368; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096)) + &(safe_div(keccak_row_ratio, 4))). + let pow370 = pow202 * pow369; // pow(trace_generator, &(safe_div((33* keccak_row_ratio), 128))). + let pow371 = pow224 * pow370; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow372 = pow224 * pow371; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div(keccak_row_ratio, 64))). + let pow373 = pow220 * pow372; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow374 = pow228 * pow373; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow375 = pow228 * pow374; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow378 = pow228 * pow375; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow379 = pow228 * pow378; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow391 = pow247 * pow379; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 16))). + let pow392 = pow244 * pow391; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((5* keccak_row_ratio), 64))). + let pow393 = pow269 * pow392; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 8))). + let pow394 = pow277 * pow393; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 16))). + let pow395 = pow301 * pow393; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow396 = pow240 * pow395; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2))). + let pow397 = pow220 * pow396; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 512))). + let pow398 = pow220 * pow397; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 256))). + let pow399 = pow239 * pow398; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 64))). + let pow400 = pow269 * pow399; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 16))). + let pow401 = pow240 * pow400; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((39* keccak_row_ratio), 512))). + let pow403 = pow235 * pow401; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((43* keccak_row_ratio), 512))). + let pow405 = pow265 * pow403; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 8))). + let pow406 = pow277 * pow405; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((3* keccak_row_ratio), 16))). + let pow407 = pow220 * pow406; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 16))). + let pow408 = pow220 * pow407; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 16))). + let pow409 = pow224 * pow408; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow410 = pow273 * pow409; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4))). + let pow412 = pow228 * pow410; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow415 = pow220 * pow412; // pow(trace_generator, &(safe_div((97* keccak_row_ratio), 128))). + let pow416 = pow235 * pow415; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64))). + let pow417 = pow264 * pow416; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((7* keccak_row_ratio), 128))). + let pow418 = pow235 * pow417; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((5* keccak_row_ratio), 16))). + let pow419 = pow277 * pow418; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((3* keccak_row_ratio), 8))). + let pow420 = pow269 * pow419; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((11* keccak_row_ratio), 64))). + let pow421 = pow244 * pow420; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((7* keccak_row_ratio), 16))). + let pow422 = pow235 * pow421; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow452 = pow273 * pow422; // pow(trace_generator, keccak_row_ratio). + let pow453 = pow396 * pow452; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 2))). + let pow456 = pow291 * pow453; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 2)) + &(safe_div((11* keccak_row_ratio), 128))). + let pow460 = pow317 * pow456; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4))). + let pow464 = pow202 * pow460; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096))). + let pow465 = pow234 * pow464; // pow(trace_generator, &(safe_div((225* keccak_row_ratio), 128))). + let pow466 = pow235 * pow465; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64))). + let pow469 = pow363 * pow465; // pow(trace_generator, (2* keccak_row_ratio)). + let pow470 = pow210 * pow469; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (2* keccak_row_ratio)). + let pow471 = pow227 * pow470; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512))). + let pow472 = pow228 * pow471; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow473 = pow228 * pow472; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow474 = pow228 * pow473; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 128))). + let pow475 = pow210 * pow474; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 128))). + let pow476 = pow227 * pow475; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow477 = pow228 * pow476; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow478 = pow228 * pow477; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow479 = pow228 * pow478; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow480 = pow273 * pow479; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((13* keccak_row_ratio), 128))). + let pow481 = pow287 * pow480; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((23* keccak_row_ratio), 128))). + let pow482 = pow244 * pow481; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((25* keccak_row_ratio), 128))). + let pow485 = pow269 * pow482; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow486 = pow235 * pow485; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 4))). + let pow487 = pow220 * pow486; // pow(trace_generator, &(safe_div((1153* keccak_row_ratio), 512))). + let pow490 = pow274 * pow487; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 16))). + let pow493 = pow309 * pow490; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow495 = pow220 * pow493; // pow(trace_generator, &(safe_div((1153* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow497 = pow270 * pow495; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 2))). + let pow509 = pow396 * pow497; // pow(trace_generator, (3* keccak_row_ratio)). + let pow510 = pow396 * pow509; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2))). + let pow511 = pow228 * pow510; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow512 = pow228 * pow511; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow513 = pow228 * pow512; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow514 = pow228 * pow513; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow515 = pow228 * pow514; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow516 = pow220 * pow515; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div(keccak_row_ratio, 32))). + let pow520 = pow358 * pow516; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4))). + let pow521 = pow228 * pow520; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow526 = pow220 * pow521; // pow(trace_generator, &(safe_div((481* keccak_row_ratio), 128))). + let pow527 = pow224 * pow526; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow528 = pow224 * pow527; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64))). + let pow529 = pow220 * pow528; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow530 = pow228 * pow529; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow533 = pow228 * pow530; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow534 = pow228 * pow533; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow535 = pow341 * pow534; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow537 = pow301 * pow533; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((9* keccak_row_ratio), 64))). + let pow539 = pow299 * pow537; // pow(trace_generator, (4* keccak_row_ratio)). + let pow540 = pow396 * pow539; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2))). + let pow541 = pow228 * pow540; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow542 = pow228 * pow541; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow543 = pow228 * pow542; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow544 = pow228 * pow543; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow545 = pow228 * pow544; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow546 = pow228 * pow545; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow547 = pow228 * pow546; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow549 = pow269 * pow539; // pow(trace_generator, (4* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 64))). + let pow551 = pow228 * pow547; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow552 = pow277 * pow551; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((7* keccak_row_ratio), 64))). + let pow554 = pow309 * pow552; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow556 = pow235 * pow554; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 4))). + let pow557 = pow307 * pow556; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 8))). + let pow558 = pow283 * pow557; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow559 = pow273 * pow558; // pow(trace_generator, (5* keccak_row_ratio)). + let pow560 = pow228 * pow559; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512))). + let pow561 = pow228 * pow560; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow562 = pow228 * pow561; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow563 = pow228 * pow562; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow564 = pow228 * pow563; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow565 = pow228 * pow564; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow566 = pow239 * pow565; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 64))). + let pow568 = pow313 * pow566; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((25* keccak_row_ratio), 128))). + let pow571 = pow273 * pow568; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4))). + let pow572 = pow396 * pow571; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4))). + let pow573 = pow220 * pow572; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512))). + let pow574 = pow220 * pow573; // pow(trace_generator, &(safe_div((1473* keccak_row_ratio), 256))). + let pow575 = pow220 * pow574; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow576 = pow249 * pow571; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 128))). + let pow577 = pow283 * pow576; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 32))). + let pow578 = pow297 * pow577; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow579 = pow220 * pow575; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow581 = pow299 * pow579; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4)) + &(safe_div((15* keccak_row_ratio), 128))). + let pow582 = pow220 * pow581; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512)) + &(safe_div((15* keccak_row_ratio), 128))). + let pow584 = pow288 * pow581; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow586 = pow220 * pow584; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow588 = pow220 * pow586; // pow(trace_generator, &(safe_div((1473* keccak_row_ratio), 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow593 = pow266 * pow588; // pow(trace_generator, (6* keccak_row_ratio)). + let pow594 = pow283 * pow593; // pow(trace_generator, (6* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 128))). + let pow595 = pow329 * pow594; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4))). + let pow596 = pow220 * pow595; // pow(trace_generator, &(safe_div((3201* keccak_row_ratio), 512))). + let pow597 = pow220 * pow596; // pow(trace_generator, &(safe_div((1601* keccak_row_ratio), 256))). + let pow598 = pow220 * pow597; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow600 = pow220 * pow598; // pow(trace_generator, &(safe_div((3201* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow601 = pow220 * pow600; // pow(trace_generator, &(safe_div((1601* keccak_row_ratio), 256)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow602 = pow220 * pow601; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow603 = pow228 * pow602; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow604 = pow228 * pow603; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow605 = pow228 * pow604; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow606 = pow228 * pow605; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow607 = pow228 * pow606; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow608 = pow228 * pow607; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow609 = pow269 * pow608; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 32))). + let pow610 = pow244 * pow609; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((7* keccak_row_ratio), 64))). + let pow613 = pow292 * pow610; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow614 = pow220 * pow613; // pow(trace_generator, &(safe_div((3201* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow615 = pow220 * pow614; // pow(trace_generator, &(safe_div((1601* keccak_row_ratio), 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow616 = pow262 * pow615; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow617 = pow370 * pow616; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4))). + let pow618 = pow228 * pow617; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow621 = pow228 * pow618; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow622 = pow228 * pow621; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow623 = pow341 * pow622; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow624 = pow262 * pow623; // pow(trace_generator, (7* keccak_row_ratio)). + let pow627 = pow410 * pow624; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4))). + let pow631 = pow202 * pow627; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096))). + let pow632 = pow234 * pow631; // pow(trace_generator, &(safe_div((993* keccak_row_ratio), 128))). + let pow636 = pow363 * pow632; // pow(trace_generator, (8* keccak_row_ratio)). + let pow638 = pow452 * pow636; // pow(trace_generator, (9* keccak_row_ratio)). + let pow639 = pow228 * pow638; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512))). + let pow640 = pow228 * pow639; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow643 = pow228 * pow640; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow645 = pow228 * pow643; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 128))). + let pow646 = pow297 * pow645; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div(keccak_row_ratio, 8))). + let pow648 = pow283 * pow646; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((25* keccak_row_ratio), 128))). + let pow655 = pow249 * pow648; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow656 = pow256 * pow655; // pow(trace_generator, &(safe_div((37* keccak_row_ratio), 4))). + let pow668 = pow396 * pow656; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4))). + let pow671 = pow254 * pow668; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((15* keccak_row_ratio), 512))). + let pow672 = pow235 * pow671; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((19* keccak_row_ratio), 512))). + let pow673 = pow235 * pow672; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((23* keccak_row_ratio), 512))). + let pow674 = pow279 * pow672; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((13* keccak_row_ratio), 128))). + let pow675 = pow283 * pow674; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((11* keccak_row_ratio), 64))). + let pow676 = pow220 * pow675; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((11* keccak_row_ratio), 64))). + let pow678 = pow247 * pow676; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow679 = pow273 * pow678; // pow(trace_generator, (10* keccak_row_ratio)). + let pow680 = pow303 * pow679; // pow(trace_generator, (10* keccak_row_ratio) + &(safe_div((15* keccak_row_ratio), 128))). + let pow681 = pow309 * pow680; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4))). + let pow690 = pow396 * pow681; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4))). + let pow691 = pow228 * pow690; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow692 = pow228 * pow691; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow693 = pow224 * pow692; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64))). + let pow695 = pow220 * pow693; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow696 = pow228 * pow695; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow697 = pow228 * pow696; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow698 = pow301 * pow697; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((9* keccak_row_ratio), 64))). + let pow699 = pow273 * pow698; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow701 = pow273 * pow699; // pow(trace_generator, (11* keccak_row_ratio)). + let pow702 = pow228 * pow701; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512))). + let pow703 = pow220 * pow702; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div(keccak_row_ratio, 128))). + let pow704 = pow224 * pow703; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow705 = pow228 * pow704; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow706 = pow228 * pow705; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow707 = pow228 * pow706; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow709 = pow265 * pow707; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 128))). + let pow730 = pow329 * pow709; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4))). + let pow731 = pow228 * pow730; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow732 = pow228 * pow731; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow733 = pow228 * pow732; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow734 = pow228 * pow733; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow735 = pow228 * pow734; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow736 = pow228 * pow735; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow737 = pow228 * pow736; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow738 = pow247 * pow737; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 16))). + let pow740 = pow325 * pow738; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow741 = pow240 * pow740; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 2))). + let pow746 = pow396 * pow741; // pow(trace_generator, (12* keccak_row_ratio)). + let pow747 = pow311 * pow746; // pow(trace_generator, (12* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 64))). + let pow748 = pow299 * pow747; // pow(trace_generator, &(safe_div((49* keccak_row_ratio), 4))). + let pow749 = pow309 * pow748; // pow(trace_generator, &(safe_div((49* keccak_row_ratio), 4)) + &(safe_div((17* keccak_row_ratio), 128))). + let pow750 = pow277 * pow749; // pow(trace_generator, &(safe_div((49* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow754 = pow273 * pow750; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 2))). + let pow755 = pow228 * pow754; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512))). + let pow756 = pow331 * pow755; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 16))). + let pow757 = pow391 * pow756; // pow(trace_generator, (13* keccak_row_ratio)). + let pow758 = pow396 * pow757; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 2))). + let pow759 = pow291 * pow758; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 2)) + &(safe_div((11* keccak_row_ratio), 128))). + let pow760 = pow299 * pow759; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 2)) + &(safe_div((25* keccak_row_ratio), 128))). + let pow761 = pow273 * pow760; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4))). + let pow770 = pow317 * pow761; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div((21* keccak_row_ratio), 128))). + let pow772 = pow220 * pow770; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((21* keccak_row_ratio), 128))). + let pow776 = pow288 * pow772; // pow(trace_generator, (14* keccak_row_ratio)). + let pow777 = pow396 * pow776; // pow(trace_generator, &(safe_div((29* keccak_row_ratio), 2))). + let pow779 = pow396 * pow777; // pow(trace_generator, (15* keccak_row_ratio)). + let pow780 = pow364 * pow779; // pow(trace_generator, &(safe_div((61* keccak_row_ratio), 4))). + let pow958 = + trace_generator.pow_felt(&(keccak_input_output_suboffset * memory_units_row_ratio)); + let pow974 = + trace_generator.pow_felt(&(safe_div(FELT_255 * ec_op_builtin_row_ratio, FELT_256)?)); + let pow975 = + trace_generator.pow_felt(&(safe_div(FELT_251 * ec_op_builtin_row_ratio, FELT_256)?)); + let pow976 = trace_generator.pow_felt(&(safe_div(FELT_49 * ec_op_builtin_row_ratio, FELT_64)?)); + let pow977 = trace_generator.pow_felt(&(safe_div(FELT_3 * ec_op_builtin_row_ratio, FELT_4)?)); + let pow978 = trace_generator.pow_felt(&(safe_div(ec_op_builtin_row_ratio, FELT_256)?)); + let pow979 = pow974 * pow978; // pow(trace_generator, ec_op_builtin_row_ratio). + let pow983 = trace_generator.pow_felt(&(ec_op_r_y_suboffset * memory_units_row_ratio)); + let pow984 = trace_generator.pow_felt(&(ec_op_r_x_suboffset * memory_units_row_ratio)); + let pow985 = trace_generator.pow_felt(&(ec_op_m_suboffset * memory_units_row_ratio)); + let pow986 = trace_generator.pow_felt(&(ec_op_q_y_suboffset * memory_units_row_ratio)); + let pow987 = trace_generator.pow_felt(&(ec_op_q_x_suboffset * memory_units_row_ratio)); + let pow988 = trace_generator.pow_felt(&(ec_op_p_y_suboffset * memory_units_row_ratio)); + let pow989 = trace_generator.pow_felt(&(ec_op_p_x_suboffset * memory_units_row_ratio)); + let pow991 = + trace_generator.pow_felt(&(bitwise_trim_unpacking195_suboffset * diluted_units_row_ratio)); + let pow992 = + trace_generator.pow_felt(&(bitwise_trim_unpacking194_suboffset * diluted_units_row_ratio)); + let pow993 = + trace_generator.pow_felt(&(bitwise_trim_unpacking193_suboffset * diluted_units_row_ratio)); + let pow994 = + trace_generator.pow_felt(&(bitwise_trim_unpacking192_suboffset * diluted_units_row_ratio)); + let pow995 = + trace_generator.pow_felt(&(bitwise_diluted_var_pool_suboffset * diluted_units_row_ratio)); + let pow1022 = trace_generator.pow_felt(&(bitwise_x_or_y_suboffset * memory_units_row_ratio)); + let pow1023 = trace_generator.pow_felt(&(bitwise_var_pool_suboffset * memory_units_row_ratio)); + let pow1028 = trace_generator.pow_felt(&(ecdsa_message_suboffset * memory_units_row_ratio)); + let pow1029 = trace_generator.pow_felt(&(ecdsa_pubkey_suboffset * memory_units_row_ratio)); + let pow1030 = + trace_generator.pow_felt(&(safe_div(FELT_255 * ecdsa_builtin_row_ratio, FELT_512)?)); + let pow1031 = pow1030 * pow1030; // pow(trace_generator, &(safe_div((255* ecdsa_builtin_row_ratio), 256))). + let pow1032 = trace_generator.pow_felt(&(safe_div(ecdsa_builtin_row_ratio, FELT_512)?)); + let pow1035 = pow1032 * pow1032; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 256))). + let pow1036 = pow1031 * pow1035; // pow(trace_generator, ecdsa_builtin_row_ratio). + let pow1038 = trace_generator + .pow_felt(&(range_check_builtin_inner_range_check_suboffset * range_check_units_row_ratio)); + let pow1046 = + trace_generator.pow_felt(&(range_check_builtin_mem_suboffset * memory_units_row_ratio)); + let pow1048 = trace_generator.pow_felt(&(pedersen_input1_suboffset * memory_units_row_ratio)); + let pow1049 = trace_generator.pow_felt(&(pedersen_output_suboffset * memory_units_row_ratio)); + let pow1050 = trace_generator.pow_felt(&(pedersen_input0_suboffset * memory_units_row_ratio)); + let pow1051 = + trace_generator.pow_felt(&(safe_div(FELT_255 * pedersen_builtin_row_ratio, FELT_512)?)); + let pow1052 = + trace_generator.pow_felt(&(safe_div(FELT_251 * pedersen_builtin_row_ratio, FELT_512)?)); + let pow1053 = + trace_generator.pow_felt(&(safe_div(FELT_49 * pedersen_builtin_row_ratio, FELT_128)?)); + let pow1054 = + trace_generator.pow_felt(&(safe_div(FELT_3 * pedersen_builtin_row_ratio, FELT_8)?)); + let pow1055 = trace_generator.pow_felt(&(safe_div(pedersen_builtin_row_ratio, FELT_512)?)); + let pow1057 = pow1051 * pow1055; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 2))). + let pow1058 = pow1051 * pow1057; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 2)) + &(safe_div((255* pedersen_builtin_row_ratio), 512))). + let pow1059 = pow1055 * pow1058; // pow(trace_generator, pedersen_builtin_row_ratio). + let pow1063 = trace_generator.pow_felt(&diluted_units_row_ratio); + let pow1064 = trace_generator.pow_felt(&range_check_units_row_ratio); + let pow1065 = + trace_generator.pow_felt(&(orig_public_memory_suboffset * memory_units_row_ratio)); + let pow1066 = trace_generator.pow_felt(&memory_units_row_ratio); + let pow1067 = + trace_generator.pow_felt(&(cpu_operands_mem_op1_suboffset * memory_units_row_ratio)); + let pow1068 = + trace_generator.pow_felt(&(cpu_operands_mem_op0_suboffset * memory_units_row_ratio)); + let pow1069 = + trace_generator.pow_felt(&(cpu_operands_mem_dst_suboffset * memory_units_row_ratio)); + let pow1070 = + trace_generator.pow_felt(&(cpu_decode_off0_suboffset * range_check_units_row_ratio)); + let pow1071 = + trace_generator.pow_felt(&(cpu_decode_off1_suboffset * range_check_units_row_ratio)); + let pow1072 = + trace_generator.pow_felt(&(cpu_decode_off2_suboffset * range_check_units_row_ratio)); + let pow1073 = + trace_generator.pow_felt(&(cpu_decode_mem_inst_suboffset * memory_units_row_ratio)); + let pow1074 = trace_generator.pow_felt(&cpu_component_step); + let pow1075 = pow1074 * pow1074; // pow(trace_generator, (2* cpu_component_step)). + let pow1076 = pow1074 * pow1075; // pow(trace_generator, (2* cpu_component_step) + cpu_component_step). + let pow1077 = pow1074 * pow1076; // pow(trace_generator, (4* cpu_component_step)). + let pow1078 = pow1074 * pow1077; // pow(trace_generator, (4* cpu_component_step) + cpu_component_step). + let pow1079 = pow1074 * pow1078; // pow(trace_generator, (5* cpu_component_step) + cpu_component_step). + let pow1080 = pow1074 * pow1079; // pow(trace_generator, (6* cpu_component_step) + cpu_component_step). + let pow1081 = pow1074 * pow1080; // pow(trace_generator, (7* cpu_component_step) + cpu_component_step). + let pow1082 = pow1074 * pow1081; // pow(trace_generator, (9* cpu_component_step)). + let pow1083 = pow1074 * pow1082; // pow(trace_generator, (9* cpu_component_step) + cpu_component_step). + let pow1084 = pow1074 * pow1083; // pow(trace_generator, (10* cpu_component_step) + cpu_component_step). + let pow1085 = pow1074 * pow1084; // pow(trace_generator, (12* cpu_component_step)). + let pow1086 = pow1074 * pow1085; // pow(trace_generator, (12* cpu_component_step) + cpu_component_step). + let pow1087 = pow1074 * pow1086; // pow(trace_generator, (13* cpu_component_step) + cpu_component_step). + let pow1088 = pow1074 * pow1087; // pow(trace_generator, (14* cpu_component_step) + cpu_component_step). + let pow1089 = pow1074 * pow1088; // pow(trace_generator, (16* cpu_component_step)). + let pow1091 = trace_generator.pow_felt(&diluted_check_cumulative_value_offset); + let pow1092 = pow1063 * pow1091; // pow(trace_generator, diluted_units_row_ratio + diluted_check_cumulative_value_offset). + let pow1093 = trace_generator.pow_felt(&diluted_check_permutation_cum_prod0_offset); + let pow1094 = pow1063 * pow1093; // pow(trace_generator, diluted_units_row_ratio + diluted_check_permutation_cum_prod0_offset). + let pow1095 = trace_generator.pow_felt(&range_check16_perm_cum_prod0_offset); + let pow1096 = pow1064 * pow1095; // pow(trace_generator, range_check_units_row_ratio + range_check16_perm_cum_prod0_offset). + let pow1097 = trace_generator.pow_felt(&memory_multi_column_perm_perm_cum_prod0_offset); + let pow1098 = pow1066 * pow1097; // pow(trace_generator, memory_units_row_ratio + memory_multi_column_perm_perm_cum_prod0_offset). + let pow1099 = trace_generator.pow_felt(&add_mod_carry3_sign_offset); + let pow1100 = trace_generator.pow_felt(&add_mod_carry3_bit_offset); + let pow1101 = trace_generator.pow_felt(&add_mod_carry2_sign_offset); + let pow1102 = trace_generator.pow_felt(&add_mod_carry2_bit_offset); + let pow1103 = trace_generator.pow_felt(&add_mod_carry1_sign_offset); + let pow1104 = trace_generator.pow_felt(&add_mod_carry1_bit_offset); + let pow1105 = trace_generator.pow_felt(&add_mod_sub_p_bit_offset); + let pow1106 = trace_generator.pow_felt(&poseidon_poseidon_partial_rounds_state1_offset); + let pow1107 = pow172 * pow1106; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 32)) + poseidon_poseidon_partial_rounds_state1_offset). + let pow1108 = pow172 * pow1107; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 16)) + poseidon_poseidon_partial_rounds_state1_offset). + let pow1109 = pow172 * pow1108; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 32)) + poseidon_poseidon_partial_rounds_state1_offset). + let pow1110 = pow178 * pow1109; // pow(trace_generator, &(safe_div((19* poseidon_row_ratio), 32)) + poseidon_poseidon_partial_rounds_state1_offset). + let pow1111 = pow172 * pow1110; // pow(trace_generator, &(safe_div((5* poseidon_row_ratio), 8)) + poseidon_poseidon_partial_rounds_state1_offset). + let pow1112 = pow172 * pow1111; // pow(trace_generator, &(safe_div((21* poseidon_row_ratio), 32)) + poseidon_poseidon_partial_rounds_state1_offset). + let pow1113 = trace_generator.pow_felt(&poseidon_poseidon_partial_rounds_state1_squared_offset); + let pow1114 = pow179 * pow1113; // pow(trace_generator, &(safe_div((19* poseidon_row_ratio), 32)) + poseidon_poseidon_partial_rounds_state1_squared_offset). + let pow1115 = pow172 * pow1113; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 32)) + poseidon_poseidon_partial_rounds_state1_squared_offset). + let pow1116 = pow172 * pow1115; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 16)) + poseidon_poseidon_partial_rounds_state1_squared_offset). + let pow1117 = pow172 * pow1114; // pow(trace_generator, &(safe_div((5* poseidon_row_ratio), 8)) + poseidon_poseidon_partial_rounds_state1_squared_offset). + let pow1118 = pow172 * pow1117; // pow(trace_generator, &(safe_div((21* poseidon_row_ratio), 32)) + poseidon_poseidon_partial_rounds_state1_squared_offset). + let pow1119 = trace_generator.pow_felt(&poseidon_poseidon_partial_rounds_state0_offset); + let pow1120 = pow170 * pow1119; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 64)) + poseidon_poseidon_partial_rounds_state0_offset). + let pow1121 = pow170 * pow1120; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 32)) + poseidon_poseidon_partial_rounds_state0_offset). + let pow1122 = pow170 * pow1121; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 64)) + poseidon_poseidon_partial_rounds_state0_offset). + let pow1123 = pow176 * pow1119; // pow(trace_generator, &(safe_div((61* poseidon_row_ratio), 64)) + poseidon_poseidon_partial_rounds_state0_offset). + let pow1124 = pow170 * pow1123; // pow(trace_generator, &(safe_div((31* poseidon_row_ratio), 32)) + poseidon_poseidon_partial_rounds_state0_offset). + let pow1125 = pow170 * pow1124; // pow(trace_generator, &(safe_div((63* poseidon_row_ratio), 64)) + poseidon_poseidon_partial_rounds_state0_offset). + let pow1126 = trace_generator.pow_felt(&poseidon_poseidon_partial_rounds_state0_squared_offset); + let pow1127 = pow170 * pow1126; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 64)) + poseidon_poseidon_partial_rounds_state0_squared_offset). + let pow1128 = pow170 * pow1127; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 32)) + poseidon_poseidon_partial_rounds_state0_squared_offset). + let pow1129 = trace_generator.pow_felt(&poseidon_poseidon_full_rounds_state2_offset); + let pow1130 = pow171 * pow1129; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state2_offset). + let pow1131 = pow177 * pow1129; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 8)) + poseidon_poseidon_full_rounds_state2_offset). + let pow1132 = pow171 * pow1131; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + poseidon_poseidon_full_rounds_state2_offset). + let pow1133 = pow171 * pow1132; // pow(trace_generator, &(safe_div((7* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state2_offset). + let pow1134 = trace_generator.pow_felt(&poseidon_poseidon_full_rounds_state2_squared_offset); + let pow1135 = pow171 * pow1134; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state2_squared_offset). + let pow1136 = pow178 * pow1135; // pow(trace_generator, &(safe_div((7* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state2_squared_offset). + let pow1137 = trace_generator.pow_felt(&poseidon_poseidon_full_rounds_state1_offset); + let pow1138 = pow177 * pow1137; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 8)) + poseidon_poseidon_full_rounds_state1_offset). + let pow1139 = pow171 * pow1137; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state1_offset). + let pow1140 = pow171 * pow1138; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + poseidon_poseidon_full_rounds_state1_offset). + let pow1141 = pow171 * pow1140; // pow(trace_generator, &(safe_div((7* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state1_offset). + let pow1142 = trace_generator.pow_felt(&poseidon_poseidon_full_rounds_state1_squared_offset); + let pow1143 = pow171 * pow1142; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state1_squared_offset). + let pow1144 = pow178 * pow1143; // pow(trace_generator, &(safe_div((7* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state1_squared_offset). + let pow1145 = trace_generator.pow_felt(&poseidon_poseidon_full_rounds_state0_offset); + let pow1146 = pow171 * pow1145; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state0_offset). + let pow1147 = pow177 * pow1145; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 8)) + poseidon_poseidon_full_rounds_state0_offset). + let pow1148 = pow171 * pow1147; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + poseidon_poseidon_full_rounds_state0_offset). + let pow1149 = pow171 * pow1148; // pow(trace_generator, &(safe_div((7* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state0_offset). + let pow1150 = trace_generator.pow_felt(&poseidon_poseidon_full_rounds_state0_squared_offset); + let pow1151 = pow171 * pow1150; // pow(trace_generator, &(safe_div((3* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state0_squared_offset). + let pow1152 = pow178 * pow1151; // pow(trace_generator, &(safe_div((7* poseidon_row_ratio), 8)) + poseidon_poseidon_full_rounds_state0_squared_offset). + let pow1153 = trace_generator.pow_felt(&keccak_keccak_rotated_parity4_offset); + let pow1154 = pow220 * pow1153; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + keccak_keccak_rotated_parity4_offset). + let pow1155 = pow220 * pow1154; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + keccak_keccak_rotated_parity4_offset). + let pow1156 = pow364 * pow1153; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_rotated_parity4_offset). + let pow1157 = pow460 * pow1156; // pow(trace_generator, (2* keccak_row_ratio) + keccak_keccak_rotated_parity4_offset). + let pow1158 = pow364 * pow1157; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity4_offset). + let pow1159 = pow220 * pow1158; // pow(trace_generator, &(safe_div((1153* keccak_row_ratio), 512)) + keccak_keccak_rotated_parity4_offset). + let pow1160 = pow220 * pow1159; // pow(trace_generator, &(safe_div((577* keccak_row_ratio), 256)) + keccak_keccak_rotated_parity4_offset). + let pow1161 = pow617 * pow1158; // pow(trace_generator, (9* keccak_row_ratio) + keccak_keccak_rotated_parity4_offset). + let pow1162 = pow410 * pow1161; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity4_offset). + let pow1163 = pow452 * pow1162; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity4_offset). + let pow1164 = trace_generator.pow_felt(&keccak_keccak_rotated_parity3_offset); + let pow1165 = pow364 * pow1164; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_rotated_parity3_offset). + let pow1166 = pow364 * pow1165; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + keccak_keccak_rotated_parity3_offset). + let pow1167 = pow364 * pow1166; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity3_offset). + let pow1168 = pow540 * pow1167; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity3_offset). + let pow1169 = pow624 * pow1168; // pow(trace_generator, &(safe_div((49* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity3_offset). + let pow1170 = pow486 * pow1169; // pow(trace_generator, &(safe_div((29* keccak_row_ratio), 2)) + keccak_keccak_rotated_parity3_offset). + let pow1171 = trace_generator.pow_felt(&keccak_keccak_rotated_parity2_offset); + let pow1172 = pow758 * pow1171; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 2)) + keccak_keccak_rotated_parity2_offset). + let pow1173 = pow220 * pow1171; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + keccak_keccak_rotated_parity2_offset). + let pow1174 = pow220 * pow1173; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + keccak_keccak_rotated_parity2_offset). + let pow1175 = pow364 * pow1171; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_rotated_parity2_offset). + let pow1176 = pow540 * pow1175; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity2_offset). + let pow1177 = pow364 * pow1176; // pow(trace_generator, (5* keccak_row_ratio) + keccak_keccak_rotated_parity2_offset). + let pow1178 = pow469 * pow1172; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 2)) + keccak_keccak_rotated_parity2_offset). + let pow1179 = pow220 * pow1178; // pow(trace_generator, &(safe_div((7937* keccak_row_ratio), 512)) + keccak_keccak_rotated_parity2_offset). + let pow1180 = pow220 * pow1179; // pow(trace_generator, &(safe_div((3969* keccak_row_ratio), 256)) + keccak_keccak_rotated_parity2_offset). + let pow1181 = pow364 * pow1178; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity2_offset). + let pow1182 = trace_generator.pow_felt(&keccak_keccak_rotated_parity1_offset); + let pow1183 = pow572 * pow1182; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity1_offset). + let pow1184 = pow220 * pow1182; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + keccak_keccak_rotated_parity1_offset). + let pow1185 = pow220 * pow1183; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512)) + keccak_keccak_rotated_parity1_offset). + let pow1186 = pow220 * pow1184; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + keccak_keccak_rotated_parity1_offset). + let pow1187 = pow220 * pow1185; // pow(trace_generator, &(safe_div((1473* keccak_row_ratio), 256)) + keccak_keccak_rotated_parity1_offset). + let pow1188 = pow364 * pow1182; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_rotated_parity1_offset). + let pow1189 = pow617 * pow1188; // pow(trace_generator, (7* keccak_row_ratio) + keccak_keccak_rotated_parity1_offset). + let pow1190 = pow540 * pow1189; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 2)) + keccak_keccak_rotated_parity1_offset). + let pow1191 = pow520 * pow1190; // pow(trace_generator, &(safe_div((61* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity1_offset). + let pow1192 = trace_generator.pow_felt(&keccak_keccak_rotated_parity0_offset); + let pow1193 = pow220 * pow1192; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + keccak_keccak_rotated_parity0_offset). + let pow1194 = pow220 * pow1193; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + keccak_keccak_rotated_parity0_offset). + let pow1195 = pow364 * pow1192; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_rotated_parity0_offset). + let pow1196 = pow593 * pow1195; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity0_offset). + let pow1197 = pow220 * pow1196; // pow(trace_generator, &(safe_div((3201* keccak_row_ratio), 512)) + keccak_keccak_rotated_parity0_offset). + let pow1198 = pow220 * pow1197; // pow(trace_generator, &(safe_div((1601* keccak_row_ratio), 256)) + keccak_keccak_rotated_parity0_offset). + let pow1199 = pow509 * pow1196; // pow(trace_generator, &(safe_div((37* keccak_row_ratio), 4)) + keccak_keccak_rotated_parity0_offset). + let pow1200 = pow460 * pow1199; // pow(trace_generator, (11* keccak_row_ratio) + keccak_keccak_rotated_parity0_offset). + let pow1201 = pow453 * pow1200; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 2)) + keccak_keccak_rotated_parity0_offset). + let pow1202 = pow453 * pow1201; // pow(trace_generator, (14* keccak_row_ratio) + keccak_keccak_rotated_parity0_offset). + let pow1203 = trace_generator.pow_felt(&keccak_keccak_parse_to_diluted_cumulative_sum_offset); + let pow1204 = pow210 * pow1203; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1205 = pow232 * pow1204; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1206 = pow202 * pow1205; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1207 = pow202 * pow1206; // pow(trace_generator, &(safe_div(keccak_row_ratio, 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let 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). + let pow1209 = pow232 * pow1208; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + &(safe_div(keccak_row_ratio, 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1210 = pow202 * pow1209; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096)) + &(safe_div(keccak_row_ratio, 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1211 = pow474 * pow1203; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1212 = pow474 * pow1211; // pow(trace_generator, (4* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 64)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1213 = pow474 * pow1212; // pow(trace_generator, (6* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1214 = pow210 * pow1211; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1215 = pow210 * pow1212; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (4* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 64)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1216 = pow474 * pow1213; // pow(trace_generator, (8* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 32)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1217 = pow210 * pow1213; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (6* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1218 = pow210 * pow1216; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (8* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 32)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1219 = pow335 * pow1207; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1220 = pow273 * pow1219; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1221 = pow474 * pow1216; // pow(trace_generator, (10* keccak_row_ratio) + &(safe_div((15* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1222 = pow474 * pow1221; // pow(trace_generator, (12* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 64)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1223 = pow474 * pow1222; // pow(trace_generator, (14* keccak_row_ratio) + &(safe_div((21* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1224 = pow456 * pow1223; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1225 = pow210 * pow1219; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((25* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1226 = pow210 * pow1221; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (10* keccak_row_ratio) + &(safe_div((15* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1227 = pow210 * pow1222; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (12* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 64)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let 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). + let pow1229 = pow232 * pow1228; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1230 = pow202 * pow1229; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096)) + &(safe_div(keccak_row_ratio, 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1231 = pow210 * pow1223; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + (14* keccak_row_ratio) + &(safe_div((21* keccak_row_ratio), 128)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1232 = pow210 * pow1224; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((63* keccak_row_ratio), 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1233 = pow232 * pow1232; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + &(safe_div((63* keccak_row_ratio), 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1234 = pow202 * pow1233; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4096)) + &(safe_div((63* keccak_row_ratio), 4)) + keccak_keccak_parse_to_diluted_cumulative_sum_offset). + let pow1235 = + trace_generator.pow_felt(&keccak_keccak_parse_to_diluted_final_reshaped_input_offset); + let pow1236 = pow195 * pow1235; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1237 = pow195 * pow1236; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16384)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1238 = pow195 * pow1237; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1239 = pow195 * pow1238; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8192)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1240 = pow195 * pow1239; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1241 = pow195 * pow1240; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16384)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1242 = pow195 * pow1241; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1243 = pow203 * pow1242; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let 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). + let 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). + let pow1246 = pow195 * pow1245; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((3* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let 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). + let pow1248 = pow195 * pow1247; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((5* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1249 = pow195 * pow1248; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((3* keccak_row_ratio), 16384)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1250 = pow195 * pow1249; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2048)) + &(safe_div((7* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1251 = pow203 * pow1250; // pow(trace_generator, &(safe_div(keccak_row_ratio, 1024)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1252 = pow210 * pow1251; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1253 = pow210 * pow1252; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1254 = pow210 * pow1253; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1255 = pow210 * pow1254; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 1024)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1256 = pow210 * pow1255; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1257 = pow210 * pow1256; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1258 = pow210 * pow1257; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1259 = pow210 * pow1258; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 1024)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1260 = pow210 * pow1259; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1261 = pow210 * pow1260; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1262 = pow210 * pow1261; // pow(trace_generator, &(safe_div((13* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1263 = pow210 * pow1262; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 1024)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1264 = pow210 * pow1263; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 2048)) + keccak_keccak_parse_to_diluted_final_reshaped_input_offset). + let pow1265 = + trace_generator.pow_felt(&keccak_keccak_parse_to_diluted_reshaped_intermediate_offset); + let pow1266 = pow452 * pow1265; // pow(trace_generator, keccak_row_ratio + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1267 = pow452 * pow1266; // pow(trace_generator, (2* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1268 = pow452 * pow1267; // pow(trace_generator, (3* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1269 = pow452 * pow1268; // pow(trace_generator, (4* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1270 = pow195 * pow1265; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1271 = pow195 * pow1270; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16384)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1272 = pow195 * pow1271; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1273 = pow195 * pow1272; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8192)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1274 = pow195 * pow1273; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1275 = pow195 * pow1274; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16384)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1276 = pow195 * pow1275; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1277 = pow195 * pow1276; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let 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). + let 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). + let pow1280 = pow195 * pow1279; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((3* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let 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). + let pow1282 = pow195 * pow1281; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((5* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1283 = pow195 * pow1282; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((3* keccak_row_ratio), 16384)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1284 = pow195 * pow1283; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + &(safe_div((7* keccak_row_ratio), 32768)) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1285 = pow452 * pow1269; // pow(trace_generator, (5* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1286 = pow452 * pow1285; // pow(trace_generator, (6* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1287 = pow452 * pow1286; // pow(trace_generator, (7* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1288 = pow452 * pow1287; // pow(trace_generator, (8* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1289 = pow452 * pow1288; // pow(trace_generator, (9* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1290 = pow452 * pow1289; // pow(trace_generator, (10* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1291 = pow452 * pow1290; // pow(trace_generator, (11* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1292 = pow452 * pow1291; // pow(trace_generator, (12* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1293 = pow452 * pow1292; // pow(trace_generator, (13* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1294 = pow452 * pow1293; // pow(trace_generator, (14* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1295 = pow452 * pow1294; // pow(trace_generator, (15* keccak_row_ratio) + keccak_keccak_parse_to_diluted_reshaped_intermediate_offset). + let pow1296 = trace_generator.pow_felt(&ec_op_ec_subset_sum_x_diff_inv_offset); + let pow1297 = trace_generator.pow_felt(&ec_op_ec_subset_sum_slope_offset); + let pow1298 = trace_generator.pow_felt(&ec_op_ec_subset_sum_partial_sum_y_offset); + let pow1299 = pow974 * pow1298; // pow(trace_generator, &(safe_div((255* ec_op_builtin_row_ratio), 256)) + ec_op_ec_subset_sum_partial_sum_y_offset). + let pow1300 = pow978 * pow1298; // pow(trace_generator, &(safe_div(ec_op_builtin_row_ratio, 256)) + ec_op_ec_subset_sum_partial_sum_y_offset). + let pow1301 = trace_generator.pow_felt(&ec_op_ec_subset_sum_partial_sum_x_offset); + let pow1302 = pow974 * pow1301; // pow(trace_generator, &(safe_div((255* ec_op_builtin_row_ratio), 256)) + ec_op_ec_subset_sum_partial_sum_x_offset). + let pow1303 = pow978 * pow1301; // pow(trace_generator, &(safe_div(ec_op_builtin_row_ratio, 256)) + ec_op_ec_subset_sum_partial_sum_x_offset). + let pow1304 = trace_generator.pow_felt(&ec_op_ec_subset_sum_bit_unpacking_prod_ones196_offset); + let pow1305 = trace_generator.pow_felt(&ec_op_ec_subset_sum_selector_offset); + let pow1306 = pow978 * pow1305; // pow(trace_generator, &(safe_div(ec_op_builtin_row_ratio, 256)) + ec_op_ec_subset_sum_selector_offset). + let pow1307 = pow975 * pow1305; // pow(trace_generator, &(safe_div((251* ec_op_builtin_row_ratio), 256)) + ec_op_ec_subset_sum_selector_offset). + let pow1308 = pow975 * pow1306; // pow(trace_generator, &(safe_div((63* ec_op_builtin_row_ratio), 64)) + ec_op_ec_subset_sum_selector_offset). + let pow1309 = pow976 * pow1305; // pow(trace_generator, &(safe_div((49* ec_op_builtin_row_ratio), 64)) + ec_op_ec_subset_sum_selector_offset). + let pow1310 = pow976 * pow1306; // pow(trace_generator, &(safe_div((197* ec_op_builtin_row_ratio), 256)) + ec_op_ec_subset_sum_selector_offset). + let pow1311 = pow977 * pow1305; // pow(trace_generator, &(safe_div((3* ec_op_builtin_row_ratio), 4)) + ec_op_ec_subset_sum_selector_offset). + let pow1312 = pow977 * pow1306; // pow(trace_generator, &(safe_div((193* ec_op_builtin_row_ratio), 256)) + ec_op_ec_subset_sum_selector_offset). + let pow1313 = trace_generator.pow_felt(&ec_op_ec_subset_sum_bit_unpacking_prod_ones192_offset); + let pow1314 = trace_generator.pow_felt(&ec_op_doubled_points_y_offset); + let pow1315 = pow978 * pow1314; // pow(trace_generator, &(safe_div(ec_op_builtin_row_ratio, 256)) + ec_op_doubled_points_y_offset). + let pow1316 = trace_generator.pow_felt(&ec_op_doubled_points_x_offset); + let pow1317 = pow978 * pow1316; // pow(trace_generator, &(safe_div(ec_op_builtin_row_ratio, 256)) + ec_op_doubled_points_x_offset). + let pow1318 = trace_generator.pow_felt(&ec_op_doubling_slope_offset); + let pow1319 = trace_generator.pow_felt(&ecdsa_signature0_q_x_squared_offset); + let pow1320 = trace_generator.pow_felt(&ecdsa_signature0_r_w_inv_offset); + let pow1321 = trace_generator.pow_felt(&ecdsa_signature0_z_inv_offset); + let pow1322 = trace_generator.pow_felt(&ecdsa_signature0_extract_r_inv_offset); + let pow1323 = trace_generator.pow_felt(&ecdsa_signature0_extract_r_slope_offset); + let pow1324 = trace_generator.pow_felt(&ecdsa_signature0_add_results_inv_offset); + let pow1325 = trace_generator.pow_felt(&ecdsa_signature0_add_results_slope_offset); + let pow1326 = trace_generator.pow_felt(&ecdsa_signature0_exponentiate_key_x_diff_inv_offset); + let pow1327 = trace_generator.pow_felt(&ecdsa_signature0_exponentiate_key_slope_offset); + let pow1328 = trace_generator.pow_felt(&ecdsa_signature0_exponentiate_key_partial_sum_y_offset); + let pow1329 = pow1032 * pow1328; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa_signature0_exponentiate_key_partial_sum_y_offset). + let pow1330 = pow1030 * pow1328; // pow(trace_generator, &(safe_div((255* ecdsa_builtin_row_ratio), 512)) + ecdsa_signature0_exponentiate_key_partial_sum_y_offset). + let pow1331 = pow1031 * pow1329; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 2)) + &(safe_div((255* ecdsa_builtin_row_ratio), 512)) + ecdsa_signature0_exponentiate_key_partial_sum_y_offset). + let pow1332 = trace_generator.pow_felt(&ecdsa_signature0_exponentiate_key_partial_sum_x_offset); + let pow1333 = pow1032 * pow1332; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa_signature0_exponentiate_key_partial_sum_x_offset). + let pow1334 = pow1030 * pow1332; // pow(trace_generator, &(safe_div((255* ecdsa_builtin_row_ratio), 512)) + ecdsa_signature0_exponentiate_key_partial_sum_x_offset). + let pow1335 = pow1031 * pow1333; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 2)) + &(safe_div((255* ecdsa_builtin_row_ratio), 512)) + ecdsa_signature0_exponentiate_key_partial_sum_x_offset). + let pow1336 = trace_generator.pow_felt(&ecdsa_signature0_exponentiate_key_selector_offset); + let pow1337 = pow1032 * pow1336; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa_signature0_exponentiate_key_selector_offset). + let pow1338 = + trace_generator.pow_felt(&ecdsa_signature0_exponentiate_generator_x_diff_inv_offset); + let pow1339 = trace_generator.pow_felt(&ecdsa_signature0_exponentiate_generator_slope_offset); + let pow1340 = + trace_generator.pow_felt(&ecdsa_signature0_exponentiate_generator_partial_sum_y_offset); + let pow1341 = pow1035 * pow1340; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa_signature0_exponentiate_generator_partial_sum_y_offset). + let pow1342 = pow1031 * pow1340; // pow(trace_generator, &(safe_div((255* ecdsa_builtin_row_ratio), 256)) + ecdsa_signature0_exponentiate_generator_partial_sum_y_offset). + let pow1343 = + trace_generator.pow_felt(&ecdsa_signature0_exponentiate_generator_partial_sum_x_offset); + let pow1344 = pow1035 * pow1343; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa_signature0_exponentiate_generator_partial_sum_x_offset). + let pow1345 = pow1031 * pow1343; // pow(trace_generator, &(safe_div((255* ecdsa_builtin_row_ratio), 256)) + ecdsa_signature0_exponentiate_generator_partial_sum_x_offset). + let pow1346 = + trace_generator.pow_felt(&ecdsa_signature0_exponentiate_generator_selector_offset); + let pow1347 = pow1035 * pow1346; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 256)) + ecdsa_signature0_exponentiate_generator_selector_offset). + let pow1348 = trace_generator.pow_felt(&ecdsa_signature0_doubling_slope_offset); + let pow1349 = trace_generator.pow_felt(&ecdsa_signature0_key_points_y_offset); + let pow1350 = pow1032 * pow1349; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa_signature0_key_points_y_offset). + let pow1351 = pow1030 * pow1350; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 2)) + ecdsa_signature0_key_points_y_offset). + let pow1352 = trace_generator.pow_felt(&ecdsa_signature0_key_points_x_offset); + let pow1353 = pow1032 * pow1352; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 512)) + ecdsa_signature0_key_points_x_offset). + let pow1354 = pow1030 * pow1353; // pow(trace_generator, &(safe_div(ecdsa_builtin_row_ratio, 2)) + ecdsa_signature0_key_points_x_offset). + let pow1355 = trace_generator.pow_felt(&pedersen_hash0_ec_subset_sum_slope_offset); + let pow1356 = trace_generator.pow_felt(&pedersen_hash0_ec_subset_sum_partial_sum_y_offset); + let pow1357 = pow1051 * pow1356; // pow(trace_generator, &(safe_div((255* pedersen_builtin_row_ratio), 512)) + pedersen_hash0_ec_subset_sum_partial_sum_y_offset). + let pow1358 = pow1055 * pow1356; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 512)) + pedersen_hash0_ec_subset_sum_partial_sum_y_offset). + let pow1359 = pow1051 * pow1358; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 2)) + pedersen_hash0_ec_subset_sum_partial_sum_y_offset). + let pow1360 = trace_generator.pow_felt(&pedersen_hash0_ec_subset_sum_partial_sum_x_offset); + let pow1361 = pow1051 * pow1360; // pow(trace_generator, &(safe_div((255* pedersen_builtin_row_ratio), 512)) + pedersen_hash0_ec_subset_sum_partial_sum_x_offset). + let pow1362 = pow1055 * pow1360; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 512)) + pedersen_hash0_ec_subset_sum_partial_sum_x_offset). + let pow1363 = pow1051 * pow1362; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 2)) + pedersen_hash0_ec_subset_sum_partial_sum_x_offset). + let pow1364 = pow1051 * pow1363; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 2)) + &(safe_div((255* pedersen_builtin_row_ratio), 512)) + pedersen_hash0_ec_subset_sum_partial_sum_x_offset). + let pow1365 = + trace_generator.pow_felt(&pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_offset); + let pow1366 = trace_generator.pow_felt(&pedersen_hash0_ec_subset_sum_selector_offset); + let pow1367 = pow1052 * pow1366; // pow(trace_generator, &(safe_div((251* pedersen_builtin_row_ratio), 512)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1368 = pow1053 * pow1366; // pow(trace_generator, &(safe_div((49* pedersen_builtin_row_ratio), 128)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1369 = pow1054 * pow1366; // pow(trace_generator, &(safe_div((3* pedersen_builtin_row_ratio), 8)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1370 = pow1055 * pow1366; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 512)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1371 = pow1053 * pow1370; // pow(trace_generator, &(safe_div((197* pedersen_builtin_row_ratio), 512)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1372 = pow1052 * pow1370; // pow(trace_generator, &(safe_div((63* pedersen_builtin_row_ratio), 128)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1373 = pow1054 * pow1370; // pow(trace_generator, &(safe_div((193* pedersen_builtin_row_ratio), 512)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1374 = pow1051 * pow1370; // pow(trace_generator, &(safe_div(pedersen_builtin_row_ratio, 2)) + pedersen_hash0_ec_subset_sum_selector_offset). + let pow1375 = + trace_generator.pow_felt(&pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_offset); + let pow1376 = trace_generator.pow_felt(&diluted_pool_offset); + let pow1377 = pow191 * pow1376; // pow(trace_generator, (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1378 = pow249 * pow1377; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1379 = pow235 * pow1378; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1380 = pow192 * pow1376; // pow(trace_generator, (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1381 = pow249 * pow1380; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1382 = pow235 * pow1381; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1383 = pow193 * pow1376; // pow(trace_generator, (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1384 = pow228 * pow1383; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1385 = pow220 * pow1384; // pow(trace_generator, &(safe_div(keccak_row_ratio, 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1386 = pow228 * pow1385; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1387 = pow220 * pow1386; // pow(trace_generator, &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1388 = pow228 * pow1387; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1389 = pow220 * pow1388; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1390 = pow228 * pow1389; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1391 = pow220 * pow1390; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1392 = pow228 * pow1391; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1393 = pow220 * pow1392; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1394 = pow228 * pow1393; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1395 = pow220 * pow1394; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1396 = pow228 * pow1395; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1397 = pow220 * pow1396; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1398 = pow228 * pow1397; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1399 = pow760 * pow1398; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1400 = pow220 * pow1398; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1401 = pow228 * pow1400; // pow(trace_generator, &(safe_div((35* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1402 = pow220 * pow1401; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1403 = pow228 * pow1402; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1404 = pow220 * pow1403; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1405 = pow228 * pow1404; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1406 = pow235 * pow1399; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div((7* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1407 = pow235 * pow1406; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div((11* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1408 = pow220 * pow1405; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1409 = pow228 * pow1408; // pow(trace_generator, &(safe_div((47* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1410 = pow220 * pow1409; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1411 = pow235 * pow1410; // pow(trace_generator, &(safe_div((13* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1412 = pow235 * pow1411; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1413 = pow540 * pow1412; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1414 = pow453 * pow1408; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 2)) + &(safe_div((11* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1415 = pow399 * pow1414; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((13* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1416 = pow235 * pow1412; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1417 = pow235 * pow1416; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1418 = pow235 * pow1417; // pow(trace_generator, &(safe_div((17* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1419 = pow235 * pow1418; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1420 = pow235 * pow1419; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1421 = pow235 * pow1420; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1422 = pow235 * pow1421; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1423 = pow220 * pow1422; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1424 = pow220 * pow1423; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1425 = pow224 * pow1424; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1426 = pow394 * pow1413; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1427 = pow557 * pow1426; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1428 = pow220 * pow1425; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1429 = pow220 * pow1427; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1430 = pow220 * pow1428; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1431 = pow224 * pow1430; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1432 = pow220 * pow1431; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1433 = pow220 * pow1432; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1434 = pow224 * pow1433; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1435 = pow220 * pow1434; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1436 = pow220 * pow1435; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1437 = pow224 * pow1436; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1438 = pow228 * pow1437; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1439 = pow393 * pow1438; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((39* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1440 = pow607 * pow1439; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4)) + &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1441 = pow228 * pow1438; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1442 = pow228 * pow1441; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1443 = pow228 * pow1442; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1444 = pow228 * pow1443; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1445 = pow228 * pow1444; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1446 = pow228 * pow1445; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1447 = pow228 * pow1446; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1448 = pow235 * pow1447; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1449 = pow235 * pow1448; // pow(trace_generator, &(safe_div((33* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1450 = pow235 * pow1449; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1451 = pow301 * pow1439; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1452 = pow220 * pow1451; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1453 = pow604 * pow1452; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1454 = pow220 * pow1452; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1455 = pow277 * pow1450; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((5* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1456 = pow759 * pow1455; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1457 = pow220 * pow1456; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1458 = pow235 * pow1439; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((43* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1459 = pow235 * pow1458; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((47* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1460 = pow573 * pow1459; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1461 = pow274 * pow1452; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1462 = pow350 * pow1461; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1463 = pow305 * pow1414; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1464 = pow235 * pow1461; // pow(trace_generator, &(safe_div((97* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1465 = pow235 * pow1464; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1466 = pow264 * pow1465; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((7* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1467 = pow317 * pow1414; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1468 = pow514 * pow1467; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1469 = pow323 * pow1468; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1470 = pow581 * pow1469; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1471 = pow235 * pow1467; // pow(trace_generator, &(safe_div((225* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1472 = pow419 * pow1471; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 2)) + &(safe_div((17* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1473 = pow616 * pow1472; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div(keccak_row_ratio, 8)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1474 = pow292 * pow1472; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1475 = pow220 * pow1429; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 256)) + &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1476 = pow220 * pow1457; // pow(trace_generator, &(safe_div((55* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 256)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1477 = pow235 * pow1471; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1478 = pow466 * pow1477; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div(keccak_row_ratio, 32)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1479 = pow358 * pow1478; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1480 = pow539 * pow1479; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1481 = pow476 * pow1480; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((15* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1482 = pow235 * pow1479; // pow(trace_generator, &(safe_div((481* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1483 = pow235 * pow1480; // pow(trace_generator, &(safe_div((993* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1484 = pow235 * pow1481; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((19* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1485 = pow582 * pow1484; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 2)) + &(safe_div((5* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1486 = pow399 * pow1484; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4)) + &(safe_div((27* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1487 = pow361 * pow1479; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1488 = pow235 * pow1482; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1489 = pow235 * pow1483; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1490 = pow307 * pow1488; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div((9* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1491 = pow285 * pow1453; // pow(trace_generator, (7* keccak_row_ratio) + &(safe_div((5* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1492 = pow295 * pow1473; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1493 = pow562 * pow1492; // pow(trace_generator, (14* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1494 = pow291 * pow1485; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1495 = pow235 * pow1484; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((23* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1496 = pow235 * pow1486; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4)) + &(safe_div((31* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1497 = pow235 * pow1496; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4)) + &(safe_div((35* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1498 = pow301 * pow1497; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4)) + &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1499 = pow220 * pow1498; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 512)) + &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1500 = pow220 * pow1499; // pow(trace_generator, &(safe_div((41* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 256)) + &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1501 = pow361 * pow1476; // pow(trace_generator, (14* keccak_row_ratio) + &(safe_div((19* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1502 = pow562 * pow1486; // pow(trace_generator, &(safe_div((61* keccak_row_ratio), 4)) + &(safe_div((9* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1503 = pow509 * pow1489; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1504 = pow363 * pow1503; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div(keccak_row_ratio, 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1505 = pow235 * pow1494; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1506 = pow235 * pow1505; // pow(trace_generator, &(safe_div((2017* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1507 = pow235 * pow1506; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column3_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1508 = pow317 * pow1379; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1509 = pow469 * pow1508; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1510 = pow220 * pow1508; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1511 = pow220 * pow1510; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1512 = pow317 * pow1382; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1513 = pow228 * pow1512; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1514 = pow220 * pow1513; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1515 = pow220 * pow1514; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1516 = pow220 * pow1515; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1517 = pow396 * pow1512; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1518 = pow228 * pow1516; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1519 = pow228 * pow1518; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1520 = pow228 * pow1519; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1521 = pow228 * pow1520; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1522 = pow228 * pow1521; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1523 = pow228 * pow1522; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1524 = pow235 * pow1523; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1525 = pow273 * pow1517; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1526 = pow341 * pow1525; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1527 = pow598 * pow1526; // pow(trace_generator, (7* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1528 = pow560 * pow1526; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1529 = pow220 * pow1528; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1530 = pow220 * pow1529; // pow(trace_generator, &(safe_div((1473* keccak_row_ratio), 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1531 = pow254 * pow1527; // pow(trace_generator, (7* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1532 = pow417 * pow1526; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1533 = pow469 * pow1532; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1534 = pow539 * pow1533; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1535 = pow636 * pow1534; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1536 = pow540 * pow1526; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1537 = pow616 * pow1529; // pow(trace_generator, &(safe_div((49* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1538 = pow341 * pow1535; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1539 = pow486 * pow1537; // pow(trace_generator, &(safe_div((29* keccak_row_ratio), 2)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1540 = pow540 * pow1527; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1541 = pow412 * pow1539; // pow(trace_generator, &(safe_div((61* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1542 = pow228 * pow1538; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1543 = pow469 * pow1523; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1544 = pow260 * pow1541; // pow(trace_generator, &(safe_div((61* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1545 = pow576 * pow1528; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column1_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1546 = pow220 * pow1511; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1547 = pow228 * pow1546; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1548 = pow228 * pow1547; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1549 = pow228 * pow1548; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1550 = pow228 * pow1549; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1551 = pow228 * pow1550; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1552 = pow559 * pow1551; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1553 = pow228 * pow1551; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1554 = pow228 * pow1553; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1555 = pow235 * pow1554; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1556 = pow396 * pow1555; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1557 = pow452 * pow1556; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1558 = pow364 * pow1509; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1559 = pow220 * pow1558; // pow(trace_generator, &(safe_div((1153* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1560 = pow220 * pow1559; // pow(trace_generator, &(safe_div((577* keccak_row_ratio), 256)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1561 = pow469 * pow1557; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1562 = pow578 * pow1561; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1563 = pow539 * pow1561; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1564 = pow410 * pow1562; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1565 = pow452 * pow1564; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1566 = pow540 * pow1554; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1567 = pow636 * pow1563; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1568 = pow341 * pow1567; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1569 = pow254 * pow1565; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1570 = pow362 * pow1555; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column2_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1571 = pow194 * pow1376; // pow(trace_generator, (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1572 = pow228 * pow1571; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1573 = pow202 * pow1571; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1574 = pow220 * pow1572; // pow(trace_generator, &(safe_div(keccak_row_ratio, 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1575 = pow235 * pow1574; // pow(trace_generator, &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1576 = pow235 * pow1575; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1577 = pow638 * pow1576; // pow(trace_generator, (9* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1578 = pow202 * pow1576; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 128)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1579 = pow234 * pow1578; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1580 = pow202 * pow1579; // pow(trace_generator, &(safe_div(keccak_row_ratio, 32)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1581 = pow234 * pow1580; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1582 = pow235 * pow1581; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1583 = pow235 * pow1582; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1584 = pow235 * pow1583; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1585 = pow220 * pow1584; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1586 = pow220 * pow1585; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1587 = pow224 * pow1586; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1588 = pow235 * pow1587; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1589 = pow780 * pow1588; // pow(trace_generator, &(safe_div((61* keccak_row_ratio), 4)) + &(safe_div((5* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1590 = pow235 * pow1588; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1591 = pow235 * pow1590; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1592 = pow235 * pow1591; // pow(trace_generator, &(safe_div((13* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1593 = pow235 * pow1592; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1594 = pow220 * pow1593; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1595 = pow220 * pow1594; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1596 = pow224 * pow1595; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1597 = pow220 * pow1596; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1598 = pow220 * pow1597; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1599 = pow224 * pow1598; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1600 = pow235 * pow1599; // pow(trace_generator, &(safe_div((17* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1601 = pow235 * pow1600; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1602 = pow235 * pow1601; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1603 = pow554 * pow1600; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 8)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1604 = pow235 * pow1602; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1605 = pow235 * pow1604; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1606 = pow220 * pow1605; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1607 = pow220 * pow1606; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1608 = pow224 * pow1607; // pow(trace_generator, &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1609 = pow235 * pow1608; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1610 = pow469 * pow1609; // pow(trace_generator, (2* keccak_row_ratio) + &(safe_div((23* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1611 = pow309 * pow1610; // pow(trace_generator, &(safe_div((9* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1612 = pow734 * pow1611; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 2)) + &(safe_div((11* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1613 = pow549 * pow1611; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1614 = pow235 * pow1609; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1615 = pow235 * pow1614; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1616 = pow299 * pow1612; // pow(trace_generator, &(safe_div((27* keccak_row_ratio), 2)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1617 = pow220 * pow1615; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1618 = pow220 * pow1617; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1619 = pow220 * pow1618; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1620 = pow220 * pow1619; // pow(trace_generator, &(safe_div(keccak_row_ratio, 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1621 = pow220 * pow1620; // pow(trace_generator, &(safe_div(keccak_row_ratio, 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1622 = pow220 * pow1621; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1623 = pow283 * pow1603; // pow(trace_generator, &(safe_div((19* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1624 = pow297 * pow1623; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1625 = pow313 * pow1624; // pow(trace_generator, (5* keccak_row_ratio) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1626 = pow313 * pow1625; // pow(trace_generator, &(safe_div((21* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1627 = pow228 * pow1622; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1628 = pow228 * pow1627; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1629 = pow228 * pow1628; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1630 = pow261 * pow1628; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1631 = pow396 * pow1630; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1632 = pow452 * pow1631; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1633 = pow469 * pow1632; // pow(trace_generator, &(safe_div((15* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1634 = pow539 * pow1633; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1635 = pow228 * pow1629; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1636 = pow408 * pow1635; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 4)) + &(safe_div((11* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1637 = pow420 * pow1623; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 4)) + &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1638 = pow220 * pow1637; // pow(trace_generator, &(safe_div((2945* keccak_row_ratio), 512)) + &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1639 = pow292 * pow1613; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1640 = pow509 * pow1639; // pow(trace_generator, &(safe_div((37* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1641 = pow460 * pow1640; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1642 = pow673 * pow1638; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 2)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1643 = pow510 * pow1635; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1644 = pow220 * pow1611; // pow(trace_generator, &(safe_div((1153* keccak_row_ratio), 512)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1645 = pow228 * pow1635; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1646 = pow378 * pow1641; // pow(trace_generator, &(safe_div((45* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1647 = pow228 * pow1645; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1648 = pow750 * pow1647; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1649 = pow240 * pow1648; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 2)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1650 = pow374 * pow1647; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1651 = pow220 * pow1644; // pow(trace_generator, &(safe_div((577* keccak_row_ratio), 256)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1652 = pow220 * pow1638; // pow(trace_generator, &(safe_div((1473* keccak_row_ratio), 256)) + &(safe_div((15* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1653 = pow535 * pow1652; // pow(trace_generator, &(safe_div((39* keccak_row_ratio), 4)) + &(safe_div((13* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1654 = pow220 * pow1642; // pow(trace_generator, &(safe_div((7937* keccak_row_ratio), 512)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1655 = pow220 * pow1654; // pow(trace_generator, &(safe_div((3969* keccak_row_ratio), 256)) + &(safe_div((21* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1656 = pow254 * pow1654; // pow(trace_generator, &(safe_div((31* keccak_row_ratio), 2)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1657 = pow220 * pow1656; // pow(trace_generator, &(safe_div((7937* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1658 = pow220 * pow1657; // pow(trace_generator, &(safe_div((3969* keccak_row_ratio), 256)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1659 = pow220 * pow1613; // pow(trace_generator, &(safe_div((3201* keccak_row_ratio), 512)) + &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1660 = pow220 * pow1639; // pow(trace_generator, &(safe_div((3201* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1661 = pow220 * pow1659; // pow(trace_generator, &(safe_div((1601* keccak_row_ratio), 256)) + &(safe_div((7* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1662 = pow220 * pow1660; // pow(trace_generator, &(safe_div((1601* keccak_row_ratio), 256)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1663 = pow403 * pow1662; // pow(trace_generator, (7* keccak_row_ratio) + &(safe_div((5* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1664 = pow577 * pow1663; // pow(trace_generator, &(safe_div((49* keccak_row_ratio), 4)) + &(safe_div((17* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1665 = pow400 * pow1612; // pow(trace_generator, (14* keccak_row_ratio) + &(safe_div((19* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1666 = pow270 * pow1665; // pow(trace_generator, (14* keccak_row_ratio) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1667 = pow370 * pow1577; // pow(trace_generator, &(safe_div((37* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 32)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1668 = pow576 * pow1667; // pow(trace_generator, &(safe_div((29* keccak_row_ratio), 2)) + &(safe_div((7* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1669 = pow262 * pow1662; // pow(trace_generator, &(safe_div((25* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1670 = pow545 * pow1659; // pow(trace_generator, &(safe_div((43* keccak_row_ratio), 4)) + &(safe_div((9* keccak_row_ratio), 64)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1671 = pow329 * pow1670; // pow(trace_generator, (11* keccak_row_ratio) + &(safe_div((9* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1672 = pow416 * pow1670; // pow(trace_generator, &(safe_div((23* keccak_row_ratio), 2)) + &(safe_div((5* keccak_row_ratio), 32)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1673 = pow270 * pow1657; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1674 = pow228 * pow1673; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1675 = pow202 * pow1673; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 4096)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1676 = pow220 * pow1674; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div(keccak_row_ratio, 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1677 = pow335 * pow1676; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1678 = pow228 * pow1677; // pow(trace_generator, &(safe_div((63* keccak_row_ratio), 4)) + &(safe_div((3* keccak_row_ratio), 512)) + &(safe_div((25* keccak_row_ratio), 128)) + (keccak_keccak_diluted_column0_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1679 = pow991 * pow1376; // pow(trace_generator, (bitwise_trim_unpacking195_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1680 = pow992 * pow1376; // pow(trace_generator, (bitwise_trim_unpacking194_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1681 = pow993 * pow1376; // pow(trace_generator, (bitwise_trim_unpacking193_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1682 = pow994 * pow1376; // pow(trace_generator, (bitwise_trim_unpacking192_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1683 = pow995 * pow1376; // pow(trace_generator, (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1684 = pow3 * pow1683; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1685 = pow3 * pow1684; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 32)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1686 = pow3 * pow1685; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1687 = pow3 * pow1686; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 16)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1688 = pow3 * pow1687; // pow(trace_generator, &(safe_div((5* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1689 = pow3 * pow1688; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 32)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1690 = pow3 * pow1689; // pow(trace_generator, &(safe_div((7* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1691 = pow3 * pow1690; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 8)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1692 = pow3 * pow1691; // pow(trace_generator, &(safe_div((9* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1693 = pow3 * pow1692; // pow(trace_generator, &(safe_div((5* bitwise_row_ratio), 32)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1694 = pow3 * pow1693; // pow(trace_generator, &(safe_div((11* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1695 = pow3 * pow1694; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 16)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1696 = pow3 * pow1695; // pow(trace_generator, &(safe_div((13* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1697 = pow3 * pow1696; // pow(trace_generator, &(safe_div((7* bitwise_row_ratio), 32)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1698 = pow3 * pow1697; // pow(trace_generator, &(safe_div((15* bitwise_row_ratio), 64)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1699 = pow3 * pow1698; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 4)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1700 = pow18 * pow1699; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 2)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1701 = pow14 * pow1700; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 16)) + &(safe_div(bitwise_row_ratio, 2)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1702 = pow3 * pow1701; // pow(trace_generator, &(safe_div((13* bitwise_row_ratio), 64)) + &(safe_div(bitwise_row_ratio, 2)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1703 = pow3 * pow1702; // pow(trace_generator, &(safe_div((7* bitwise_row_ratio), 32)) + &(safe_div(bitwise_row_ratio, 2)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1704 = pow3 * pow1703; // pow(trace_generator, &(safe_div((15* bitwise_row_ratio), 64)) + &(safe_div(bitwise_row_ratio, 2)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1705 = pow3 * pow1704; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1706 = pow14 * pow1705; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 16)) + &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1707 = pow3 * pow1706; // pow(trace_generator, &(safe_div((13* bitwise_row_ratio), 64)) + &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1708 = pow3 * pow1707; // pow(trace_generator, &(safe_div((7* bitwise_row_ratio), 32)) + &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1709 = pow3 * pow1708; // pow(trace_generator, &(safe_div((15* bitwise_row_ratio), 64)) + &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_diluted_var_pool_suboffset* diluted_units_row_ratio) + diluted_pool_offset). + let pow1710 = pow1063 * pow1376; // pow(trace_generator, diluted_units_row_ratio + diluted_pool_offset). + let pow1711 = trace_generator.pow_felt(&diluted_check_permuted_values_offset); + let pow1712 = pow1063 * pow1711; // pow(trace_generator, diluted_units_row_ratio + diluted_check_permuted_values_offset). + let pow1713 = trace_generator.pow_felt(&range_check16_pool_offset); + let pow1714 = pow38 * pow1713; // pow(trace_generator, (mul_mod_carry0_part6_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1715 = pow39 * pow1713; // pow(trace_generator, (mul_mod_carry0_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1716 = pow40 * pow1713; // pow(trace_generator, (mul_mod_carry0_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1717 = pow41 * pow1713; // pow(trace_generator, (mul_mod_carry0_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1718 = pow42 * pow1713; // pow(trace_generator, (mul_mod_carry0_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1719 = pow43 * pow1713; // pow(trace_generator, (mul_mod_carry0_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1720 = pow44 * pow1713; // pow(trace_generator, (mul_mod_carry0_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1721 = pow45 * pow1713; // pow(trace_generator, (mul_mod_carry5_part6_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1722 = pow46 * pow1713; // pow(trace_generator, (mul_mod_carry5_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1723 = pow47 * pow1713; // pow(trace_generator, (mul_mod_carry5_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1724 = pow48 * pow1713; // pow(trace_generator, (mul_mod_carry5_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1725 = pow49 * pow1713; // pow(trace_generator, (mul_mod_carry5_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1726 = pow50 * pow1713; // pow(trace_generator, (mul_mod_carry5_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1727 = pow51 * pow1713; // pow(trace_generator, (mul_mod_carry5_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1728 = pow52 * pow1713; // pow(trace_generator, (mul_mod_carry4_part6_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1729 = pow53 * pow1713; // pow(trace_generator, (mul_mod_carry4_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1730 = pow54 * pow1713; // pow(trace_generator, (mul_mod_carry4_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1731 = pow55 * pow1713; // pow(trace_generator, (mul_mod_carry4_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1732 = pow56 * pow1713; // pow(trace_generator, (mul_mod_carry4_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1733 = pow57 * pow1713; // pow(trace_generator, (mul_mod_carry4_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1734 = pow58 * pow1713; // pow(trace_generator, (mul_mod_carry4_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1735 = pow59 * pow1713; // pow(trace_generator, (mul_mod_carry3_part6_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1736 = pow60 * pow1713; // pow(trace_generator, (mul_mod_carry3_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1737 = pow61 * pow1713; // pow(trace_generator, (mul_mod_carry3_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1738 = pow62 * pow1713; // pow(trace_generator, (mul_mod_carry3_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1739 = pow63 * pow1713; // pow(trace_generator, (mul_mod_carry3_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1740 = pow64 * pow1713; // pow(trace_generator, (mul_mod_carry3_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1741 = pow65 * pow1713; // pow(trace_generator, (mul_mod_carry3_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1742 = pow66 * pow1713; // pow(trace_generator, (mul_mod_carry2_part6_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1743 = pow67 * pow1713; // pow(trace_generator, (mul_mod_carry2_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1744 = pow68 * pow1713; // pow(trace_generator, (mul_mod_carry2_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1745 = pow69 * pow1713; // pow(trace_generator, (mul_mod_carry2_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1746 = pow70 * pow1713; // pow(trace_generator, (mul_mod_carry2_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1747 = pow71 * pow1713; // pow(trace_generator, (mul_mod_carry2_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1748 = pow72 * pow1713; // pow(trace_generator, (mul_mod_carry2_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1749 = pow73 * pow1713; // pow(trace_generator, (mul_mod_carry1_part6_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1750 = pow74 * pow1713; // pow(trace_generator, (mul_mod_carry1_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1751 = pow75 * pow1713; // pow(trace_generator, (mul_mod_carry1_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1752 = pow76 * pow1713; // pow(trace_generator, (mul_mod_carry1_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1753 = pow77 * pow1713; // pow(trace_generator, (mul_mod_carry1_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1754 = pow78 * pow1713; // pow(trace_generator, (mul_mod_carry1_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1755 = pow79 * pow1713; // pow(trace_generator, (mul_mod_carry1_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1756 = pow80 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier0_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1757 = pow81 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier0_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1758 = pow82 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier0_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1759 = pow83 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier0_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1760 = pow84 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier0_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1761 = pow85 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier0_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1762 = pow86 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier3_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1763 = pow87 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier3_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1764 = pow88 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier3_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1765 = pow89 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier3_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1766 = pow90 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier3_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1767 = pow91 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier3_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1768 = pow92 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier2_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1769 = pow93 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier2_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1770 = pow94 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier2_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1771 = pow95 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier2_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1772 = pow96 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier2_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1773 = pow97 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier2_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1774 = pow98 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier1_part5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1775 = pow99 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier1_part4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1776 = pow100 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier1_part3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1777 = pow101 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier1_part2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1778 = pow102 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier1_part1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1779 = pow103 * pow1713; // pow(trace_generator, (mul_mod_p_multiplier1_part0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1780 = pow162 * pow1713; // pow(trace_generator, (range_check96_builtin_inner_range_check5_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1781 = pow163 * pow1713; // pow(trace_generator, (range_check96_builtin_inner_range_check4_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1782 = pow164 * pow1713; // pow(trace_generator, (range_check96_builtin_inner_range_check3_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1783 = pow165 * pow1713; // pow(trace_generator, (range_check96_builtin_inner_range_check2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1784 = pow166 * pow1713; // pow(trace_generator, (range_check96_builtin_inner_range_check1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1785 = pow167 * pow1713; // pow(trace_generator, (range_check96_builtin_inner_range_check0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1786 = pow1038 * pow1713; // pow(trace_generator, (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1787 = pow30 * pow1786; // pow(trace_generator, &(safe_div(range_check_builtin_row_ratio, 8)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1788 = pow30 * pow1787; // pow(trace_generator, &(safe_div(range_check_builtin_row_ratio, 4)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1789 = pow30 * pow1788; // pow(trace_generator, &(safe_div((3* range_check_builtin_row_ratio), 8)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1790 = pow30 * pow1789; // pow(trace_generator, &(safe_div(range_check_builtin_row_ratio, 2)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1791 = pow30 * pow1790; // pow(trace_generator, &(safe_div((5* range_check_builtin_row_ratio), 8)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1792 = pow30 * pow1791; // pow(trace_generator, &(safe_div((3* range_check_builtin_row_ratio), 4)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1793 = pow30 * pow1792; // pow(trace_generator, &(safe_div((7* range_check_builtin_row_ratio), 8)) + (range_check_builtin_inner_range_check_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow1794 = pow1064 * pow1713; // pow(trace_generator, range_check_units_row_ratio + range_check16_pool_offset). + let pow1795 = trace_generator.pow_felt(&range_check16_sorted_offset); + let pow1796 = pow1064 * pow1795; // pow(trace_generator, range_check_units_row_ratio + range_check16_sorted_offset). + let pow1797 = trace_generator.pow_felt(&mem_pool_value_offset); + let pow1798 = pow107 * pow1797; // pow(trace_generator, (mul_mod_c0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1799 = pow104 * pow1797; // pow(trace_generator, (mul_mod_c3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1800 = pow105 * pow1797; // pow(trace_generator, (mul_mod_c2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1801 = pow106 * pow1797; // pow(trace_generator, (mul_mod_c1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1802 = pow111 * pow1797; // pow(trace_generator, (mul_mod_b0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1803 = pow108 * pow1797; // pow(trace_generator, (mul_mod_b3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1804 = pow109 * pow1797; // pow(trace_generator, (mul_mod_b2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1805 = pow110 * pow1797; // pow(trace_generator, (mul_mod_b1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1806 = pow115 * pow1797; // pow(trace_generator, (mul_mod_a0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1807 = pow112 * pow1797; // pow(trace_generator, (mul_mod_a3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1808 = pow113 * pow1797; // pow(trace_generator, (mul_mod_a2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1809 = pow114 * pow1797; // pow(trace_generator, (mul_mod_a1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1810 = pow116 * pow1797; // pow(trace_generator, (mul_mod_c_offset_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1811 = pow117 * pow1797; // pow(trace_generator, (mul_mod_b_offset_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1812 = pow118 * pow1797; // pow(trace_generator, (mul_mod_a_offset_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1813 = pow121 * pow1797; // pow(trace_generator, (mul_mod_offsets_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1814 = pow0 * pow1813; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_offsets_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1815 = pow123 * pow1797; // pow(trace_generator, (mul_mod_values_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1816 = pow0 * pow1815; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_values_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1817 = pow125 * pow1797; // pow(trace_generator, (mul_mod_p3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1818 = pow0 * pow1817; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_p3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1819 = pow127 * pow1797; // pow(trace_generator, (mul_mod_p2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1820 = pow0 * pow1819; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_p2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1821 = pow129 * pow1797; // pow(trace_generator, (mul_mod_p1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1822 = pow0 * pow1821; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_p1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1823 = pow119 * pow1797; // pow(trace_generator, (mul_mod_n_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1824 = pow0 * pow1823; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_n_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1825 = pow131 * pow1797; // pow(trace_generator, (mul_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1826 = pow0 * pow1825; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1827 = pow136 * pow1797; // pow(trace_generator, (add_mod_c0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1828 = pow133 * pow1797; // pow(trace_generator, (add_mod_c3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1829 = pow134 * pow1797; // pow(trace_generator, (add_mod_c2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1830 = pow135 * pow1797; // pow(trace_generator, (add_mod_c1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1831 = pow140 * pow1797; // pow(trace_generator, (add_mod_b0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1832 = pow137 * pow1797; // pow(trace_generator, (add_mod_b3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1833 = pow138 * pow1797; // pow(trace_generator, (add_mod_b2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1834 = pow139 * pow1797; // pow(trace_generator, (add_mod_b1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1835 = pow144 * pow1797; // pow(trace_generator, (add_mod_a0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1836 = pow141 * pow1797; // pow(trace_generator, (add_mod_a3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1837 = pow142 * pow1797; // pow(trace_generator, (add_mod_a2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1838 = pow143 * pow1797; // pow(trace_generator, (add_mod_a1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1839 = pow145 * pow1797; // pow(trace_generator, (add_mod_c_offset_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1840 = pow146 * pow1797; // pow(trace_generator, (add_mod_b_offset_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1841 = pow147 * pow1797; // pow(trace_generator, (add_mod_a_offset_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1842 = pow150 * pow1797; // pow(trace_generator, (add_mod_offsets_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1843 = pow1 * pow1842; // pow(trace_generator, add_mod_row_ratio + (add_mod_offsets_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1844 = pow152 * pow1797; // pow(trace_generator, (add_mod_values_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1845 = pow1 * pow1844; // pow(trace_generator, add_mod_row_ratio + (add_mod_values_ptr_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1846 = pow154 * pow1797; // pow(trace_generator, (add_mod_p3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1847 = pow1 * pow1846; // pow(trace_generator, add_mod_row_ratio + (add_mod_p3_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1848 = pow156 * pow1797; // pow(trace_generator, (add_mod_p2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1849 = pow158 * pow1797; // pow(trace_generator, (add_mod_p1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1850 = pow1 * pow1849; // pow(trace_generator, add_mod_row_ratio + (add_mod_p1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1851 = pow148 * pow1797; // pow(trace_generator, (add_mod_n_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1852 = pow1 * pow1851; // pow(trace_generator, add_mod_row_ratio + (add_mod_n_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1853 = pow160 * pow1797; // pow(trace_generator, (add_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1854 = pow168 * pow1797; // pow(trace_generator, (range_check96_builtin_mem_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1855 = pow1 * pow1848; // pow(trace_generator, add_mod_row_ratio + (add_mod_p2_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1856 = pow958 * pow1797; // pow(trace_generator, (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1857 = pow277 * pow1856; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1858 = pow277 * pow1857; // pow(trace_generator, &(safe_div(keccak_row_ratio, 8)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1859 = pow277 * pow1858; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1860 = pow277 * pow1859; // pow(trace_generator, &(safe_div(keccak_row_ratio, 4)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1861 = pow277 * pow1860; // pow(trace_generator, &(safe_div((5* keccak_row_ratio), 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1862 = pow277 * pow1861; // pow(trace_generator, &(safe_div((3* keccak_row_ratio), 8)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1863 = pow277 * pow1862; // pow(trace_generator, &(safe_div((7* keccak_row_ratio), 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1864 = pow277 * pow1863; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1865 = pow277 * pow1864; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1866 = pow277 * pow1865; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 8)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1867 = pow277 * pow1866; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((3* keccak_row_ratio), 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1868 = pow277 * pow1867; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div(keccak_row_ratio, 4)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1869 = pow277 * pow1868; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((5* keccak_row_ratio), 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1870 = pow277 * pow1869; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((3* keccak_row_ratio), 8)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1871 = pow277 * pow1870; // pow(trace_generator, &(safe_div(keccak_row_ratio, 2)) + &(safe_div((7* keccak_row_ratio), 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1872 = pow983 * pow1797; // pow(trace_generator, (ec_op_r_y_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1873 = pow984 * pow1797; // pow(trace_generator, (ec_op_r_x_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1874 = pow988 * pow1797; // pow(trace_generator, (ec_op_p_y_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1875 = pow989 * pow1797; // pow(trace_generator, (ec_op_p_x_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1876 = pow985 * pow1797; // pow(trace_generator, (ec_op_m_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1877 = pow1 * pow1853; // pow(trace_generator, add_mod_row_ratio + (add_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1878 = pow986 * pow1797; // pow(trace_generator, (ec_op_q_y_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1879 = pow987 * pow1797; // pow(trace_generator, (ec_op_q_x_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1880 = pow185 * pow1797; // pow(trace_generator, (poseidon_param_2_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1881 = pow178 * pow1880; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + (poseidon_param_2_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1882 = pow187 * pow1797; // pow(trace_generator, (poseidon_param_1_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1883 = pow178 * pow1882; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + (poseidon_param_1_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1884 = pow189 * pow1797; // pow(trace_generator, (poseidon_param_0_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1885 = pow178 * pow1884; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + (poseidon_param_0_input_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1886 = pow1022 * pow1797; // pow(trace_generator, (bitwise_x_or_y_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1887 = pow1023 * pow1797; // pow(trace_generator, (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1888 = pow19 * pow1887; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 2)) + (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1889 = pow18 * pow1888; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1890 = pow1029 * pow1797; // pow(trace_generator, (ecdsa_pubkey_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1891 = pow1028 * pow1797; // pow(trace_generator, (ecdsa_message_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1892 = pow1046 * pow1797; // pow(trace_generator, (range_check_builtin_mem_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1893 = pow1049 * pow1797; // pow(trace_generator, (pedersen_output_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1894 = pow1048 * pow1797; // pow(trace_generator, (pedersen_input1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1895 = pow1050 * pow1797; // pow(trace_generator, (pedersen_input0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1896 = pow1065 * pow1797; // pow(trace_generator, (orig_public_memory_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1897 = pow1066 * pow1797; // pow(trace_generator, memory_units_row_ratio + mem_pool_value_offset). + let pow1898 = trace_generator.pow_felt(&mem_pool_addr_offset); + let pow1899 = pow104 * pow1898; // pow(trace_generator, (mul_mod_c3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1900 = pow105 * pow1898; // pow(trace_generator, (mul_mod_c2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1901 = pow106 * pow1898; // pow(trace_generator, (mul_mod_c1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1902 = pow107 * pow1898; // pow(trace_generator, (mul_mod_c0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1903 = pow108 * pow1898; // pow(trace_generator, (mul_mod_b3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1904 = pow109 * pow1898; // pow(trace_generator, (mul_mod_b2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1905 = pow110 * pow1898; // pow(trace_generator, (mul_mod_b1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1906 = pow111 * pow1898; // pow(trace_generator, (mul_mod_b0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1907 = pow112 * pow1898; // pow(trace_generator, (mul_mod_a3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1908 = pow113 * pow1898; // pow(trace_generator, (mul_mod_a2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1909 = pow114 * pow1898; // pow(trace_generator, (mul_mod_a1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1910 = pow115 * pow1898; // pow(trace_generator, (mul_mod_a0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1911 = pow116 * pow1898; // pow(trace_generator, (mul_mod_c_offset_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1912 = pow117 * pow1898; // pow(trace_generator, (mul_mod_b_offset_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1913 = pow118 * pow1898; // pow(trace_generator, (mul_mod_a_offset_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1914 = pow119 * pow1898; // pow(trace_generator, (mul_mod_n_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1915 = pow121 * pow1898; // pow(trace_generator, (mul_mod_offsets_ptr_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1916 = pow123 * pow1898; // pow(trace_generator, (mul_mod_values_ptr_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1917 = pow125 * pow1898; // pow(trace_generator, (mul_mod_p3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1918 = pow127 * pow1898; // pow(trace_generator, (mul_mod_p2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1919 = pow129 * pow1898; // pow(trace_generator, (mul_mod_p1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1920 = pow131 * pow1898; // pow(trace_generator, (mul_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1921 = pow0 * pow1920; // pow(trace_generator, mul_mod_row_ratio + (mul_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1922 = pow133 * pow1898; // pow(trace_generator, (add_mod_c3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1923 = pow134 * pow1898; // pow(trace_generator, (add_mod_c2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1924 = pow135 * pow1898; // pow(trace_generator, (add_mod_c1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1925 = pow136 * pow1898; // pow(trace_generator, (add_mod_c0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1926 = pow137 * pow1898; // pow(trace_generator, (add_mod_b3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1927 = pow138 * pow1898; // pow(trace_generator, (add_mod_b2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1928 = pow139 * pow1898; // pow(trace_generator, (add_mod_b1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1929 = pow140 * pow1898; // pow(trace_generator, (add_mod_b0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1930 = pow141 * pow1898; // pow(trace_generator, (add_mod_a3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1931 = pow142 * pow1898; // pow(trace_generator, (add_mod_a2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1932 = pow143 * pow1898; // pow(trace_generator, (add_mod_a1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1933 = pow144 * pow1898; // pow(trace_generator, (add_mod_a0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1934 = pow145 * pow1898; // pow(trace_generator, (add_mod_c_offset_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1935 = pow146 * pow1898; // pow(trace_generator, (add_mod_b_offset_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1936 = pow147 * pow1898; // pow(trace_generator, (add_mod_a_offset_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1937 = pow148 * pow1898; // pow(trace_generator, (add_mod_n_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1938 = pow150 * pow1898; // pow(trace_generator, (add_mod_offsets_ptr_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1939 = pow152 * pow1898; // pow(trace_generator, (add_mod_values_ptr_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1940 = pow154 * pow1898; // pow(trace_generator, (add_mod_p3_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1941 = pow156 * pow1898; // pow(trace_generator, (add_mod_p2_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1942 = pow158 * pow1898; // pow(trace_generator, (add_mod_p1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1943 = pow160 * pow1898; // pow(trace_generator, (add_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1944 = pow1 * pow1943; // pow(trace_generator, add_mod_row_ratio + (add_mod_p0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1945 = pow168 * pow1898; // pow(trace_generator, (range_check96_builtin_mem_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1946 = pow2 * pow1945; // pow(trace_generator, range_check96_builtin_row_ratio + (range_check96_builtin_mem_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1947 = pow958 * pow1898; // pow(trace_generator, (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1948 = pow277 * pow1947; // pow(trace_generator, &(safe_div(keccak_row_ratio, 16)) + (keccak_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1949 = pow983 * pow1898; // pow(trace_generator, (ec_op_r_y_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1950 = pow984 * pow1898; // pow(trace_generator, (ec_op_r_x_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1951 = pow985 * pow1898; // pow(trace_generator, (ec_op_m_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1952 = pow986 * pow1898; // pow(trace_generator, (ec_op_q_y_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1953 = pow987 * pow1898; // pow(trace_generator, (ec_op_q_x_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1954 = pow988 * pow1898; // pow(trace_generator, (ec_op_p_y_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1955 = pow989 * pow1898; // pow(trace_generator, (ec_op_p_x_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1956 = pow979 * pow1955; // pow(trace_generator, ec_op_builtin_row_ratio + (ec_op_p_x_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1957 = pow185 * pow1898; // pow(trace_generator, (poseidon_param_2_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1958 = pow178 * pow1957; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + (poseidon_param_2_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1959 = pow187 * pow1898; // pow(trace_generator, (poseidon_param_1_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1960 = pow178 * pow1959; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + (poseidon_param_1_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1961 = pow189 * pow1898; // pow(trace_generator, (poseidon_param_0_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1962 = pow178 * pow1961; // pow(trace_generator, &(safe_div(poseidon_row_ratio, 2)) + (poseidon_param_0_input_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1963 = pow1022 * pow1898; // pow(trace_generator, (bitwise_x_or_y_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1964 = pow1023 * pow1898; // pow(trace_generator, (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1965 = pow18 * pow1964; // pow(trace_generator, &(safe_div(bitwise_row_ratio, 4)) + (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1966 = pow19 * pow1965; // pow(trace_generator, &(safe_div((3* bitwise_row_ratio), 4)) + (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1967 = pow18 * pow1966; // pow(trace_generator, bitwise_row_ratio + (bitwise_var_pool_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1968 = pow1028 * pow1898; // pow(trace_generator, (ecdsa_message_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1969 = pow1029 * pow1898; // pow(trace_generator, (ecdsa_pubkey_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1970 = pow1036 * pow1969; // pow(trace_generator, ecdsa_builtin_row_ratio + (ecdsa_pubkey_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1971 = pow1046 * pow1898; // pow(trace_generator, (range_check_builtin_mem_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1972 = pow37 * pow1971; // pow(trace_generator, range_check_builtin_row_ratio + (range_check_builtin_mem_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1973 = pow1048 * pow1898; // pow(trace_generator, (pedersen_input1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1974 = pow1050 * pow1898; // pow(trace_generator, (pedersen_input0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1975 = pow1049 * pow1898; // pow(trace_generator, (pedersen_output_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1976 = pow1059 * pow1974; // pow(trace_generator, pedersen_builtin_row_ratio + (pedersen_input0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1977 = pow1065 * pow1898; // pow(trace_generator, (orig_public_memory_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1978 = pow1066 * pow1898; // pow(trace_generator, memory_units_row_ratio + mem_pool_addr_offset). + let pow1979 = trace_generator.pow_felt(&memory_sorted_value_offset); + let pow1980 = pow1066 * pow1979; // pow(trace_generator, memory_units_row_ratio + memory_sorted_value_offset). + let pow1981 = trace_generator.pow_felt(&memory_sorted_addr_offset); + let pow1982 = pow1066 * pow1981; // pow(trace_generator, memory_units_row_ratio + memory_sorted_addr_offset). + let pow1983 = trace_generator.pow_felt(&cpu_update_registers_update_pc_tmp1_offset); + let pow1984 = pow1069 * pow1797; // pow(trace_generator, (cpu_operands_mem_dst_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1985 = trace_generator.pow_felt(&cpu_update_registers_update_pc_tmp0_offset); + let pow1986 = trace_generator.pow_felt(&cpu_operands_res_offset); + let pow1987 = pow1067 * pow1797; // pow(trace_generator, (cpu_operands_mem_op1_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1988 = trace_generator.pow_felt(&cpu_operands_ops_mul_offset); + let pow1989 = pow1068 * pow1797; // pow(trace_generator, (cpu_operands_mem_op0_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow1990 = pow1073 * pow1898; // pow(trace_generator, (cpu_decode_mem_inst_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1991 = pow1089 * pow1990; // pow(trace_generator, (16* cpu_component_step) + (cpu_decode_mem_inst_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1992 = pow1067 * pow1898; // pow(trace_generator, (cpu_operands_mem_op1_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1993 = pow1068 * pow1898; // pow(trace_generator, (cpu_operands_mem_op0_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1994 = trace_generator.pow_felt(&cpu_registers_ap_offset); + let pow1995 = pow1089 * pow1994; // pow(trace_generator, (16* cpu_component_step) + cpu_registers_ap_offset). + let pow1996 = trace_generator.pow_felt(&cpu_registers_fp_offset); + let pow1997 = pow1089 * pow1996; // pow(trace_generator, (16* cpu_component_step) + cpu_registers_fp_offset). + let pow1998 = pow1069 * pow1898; // pow(trace_generator, (cpu_operands_mem_dst_suboffset* memory_units_row_ratio) + mem_pool_addr_offset). + let pow1999 = pow1070 * pow1713; // pow(trace_generator, (cpu_decode_off0_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow2000 = pow1071 * pow1713; // pow(trace_generator, (cpu_decode_off1_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow2001 = pow1072 * pow1713; // pow(trace_generator, (cpu_decode_off2_suboffset* range_check_units_row_ratio) + range_check16_pool_offset). + let pow2002 = pow1073 * pow1797; // pow(trace_generator, (cpu_decode_mem_inst_suboffset* memory_units_row_ratio) + mem_pool_value_offset). + let pow2003 = trace_generator.pow_felt(&cpu_decode_opcode_range_check_column_offset); + let pow2004 = pow1074 * pow2003; // pow(trace_generator, cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2005 = pow1074 * pow2004; // pow(trace_generator, (2* cpu_component_step) + cpu_decode_opcode_range_check_column_offset). + let pow2006 = pow1074 * pow2005; // pow(trace_generator, (2* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2007 = pow1074 * pow2006; // pow(trace_generator, (4* cpu_component_step) + cpu_decode_opcode_range_check_column_offset). + let pow2008 = pow1074 * pow2007; // pow(trace_generator, (4* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2009 = pow1074 * pow2008; // pow(trace_generator, (5* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2010 = pow1074 * pow2009; // pow(trace_generator, (6* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2011 = pow1074 * pow2010; // pow(trace_generator, (7* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2012 = pow1074 * pow2011; // pow(trace_generator, (9* cpu_component_step) + cpu_decode_opcode_range_check_column_offset). + let pow2013 = pow1074 * pow2012; // pow(trace_generator, (9* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2014 = pow1074 * pow2013; // pow(trace_generator, (10* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2015 = pow1074 * pow2014; // pow(trace_generator, (12* cpu_component_step) + cpu_decode_opcode_range_check_column_offset). + let pow2016 = pow1074 * pow2015; // pow(trace_generator, (12* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2017 = pow1074 * pow2016; // pow(trace_generator, (13* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + let pow2018 = pow1074 * pow2017; // pow(trace_generator, (14* cpu_component_step) + cpu_component_step + cpu_decode_opcode_range_check_column_offset). + + // Sum the OODS constraints on the trace polynomials. + let mut value: Felt = (column_values + [dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[0]) + .field_div(&NonZeroFelt::try_from(point - pow2003 * oods_point)?); + let mut total_sum: Felt = constraint_coefficients[0] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[1]) + .field_div(&NonZeroFelt::try_from(point - pow2004 * oods_point)?); + total_sum += constraint_coefficients[1] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[2]) + .field_div(&NonZeroFelt::try_from(point - pow2002 * oods_point)?); + total_sum += constraint_coefficients[2] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[3]) + .field_div(&NonZeroFelt::try_from(point - pow2001 * oods_point)?); + total_sum += constraint_coefficients[3] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[4]) + .field_div(&NonZeroFelt::try_from(point - pow2000 * oods_point)?); + total_sum += constraint_coefficients[4] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[5]) + .field_div(&NonZeroFelt::try_from(point - pow1999 * oods_point)?); + total_sum += constraint_coefficients[5] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[6]) + .field_div(&NonZeroFelt::try_from(point - pow2005 * oods_point)?); + total_sum += constraint_coefficients[6] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[7]) + .field_div(&NonZeroFelt::try_from(point - pow2006 * oods_point)?); + total_sum += constraint_coefficients[7] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[8]) + .field_div(&NonZeroFelt::try_from(point - pow2007 * oods_point)?); + total_sum += constraint_coefficients[8] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[9]) + .field_div(&NonZeroFelt::try_from(point - pow2008 * oods_point)?); + total_sum += constraint_coefficients[9] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[10]) + .field_div(&NonZeroFelt::try_from(point - pow2006 * oods_point)?); + total_sum += constraint_coefficients[10] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[11]) + .field_div(&NonZeroFelt::try_from(point - pow2007 * oods_point)?); + total_sum += constraint_coefficients[11] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[12]) + .field_div(&NonZeroFelt::try_from(point - pow2008 * oods_point)?); + total_sum += constraint_coefficients[12] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[13]) + .field_div(&NonZeroFelt::try_from(point - pow2009 * oods_point)?); + total_sum += constraint_coefficients[13] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[14]) + .field_div(&NonZeroFelt::try_from(point - pow2009 * oods_point)?); + total_sum += constraint_coefficients[14] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[15]) + .field_div(&NonZeroFelt::try_from(point - pow2010 * oods_point)?); + total_sum += constraint_coefficients[15] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[16]) + .field_div(&NonZeroFelt::try_from(point - pow2012 * oods_point)?); + total_sum += constraint_coefficients[16] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[17]) + .field_div(&NonZeroFelt::try_from(point - pow2013 * oods_point)?); + total_sum += constraint_coefficients[17] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[18]) + .field_div(&NonZeroFelt::try_from(point - pow2010 * oods_point)?); + total_sum += constraint_coefficients[18] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[19]) + .field_div(&NonZeroFelt::try_from(point - pow2011 * oods_point)?); + total_sum += constraint_coefficients[19] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[20]) + .field_div(&NonZeroFelt::try_from(point - pow2011 * oods_point)?); + total_sum += constraint_coefficients[20] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[21]) + .field_div(&NonZeroFelt::try_from(point - pow2012 * oods_point)?); + total_sum += constraint_coefficients[21] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[22]) + .field_div(&NonZeroFelt::try_from(point - pow2015 * oods_point)?); + total_sum += constraint_coefficients[22] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[23]) + .field_div(&NonZeroFelt::try_from(point - pow2016 * oods_point)?); + total_sum += constraint_coefficients[23] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[24]) + .field_div(&NonZeroFelt::try_from(point - pow2016 * oods_point)?); + total_sum += constraint_coefficients[24] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[25]) + .field_div(&NonZeroFelt::try_from(point - pow2017 * oods_point)?); + total_sum += constraint_coefficients[25] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[26]) + .field_div(&NonZeroFelt::try_from(point - pow1998 * oods_point)?); + total_sum += constraint_coefficients[26] * value; + + value = (column_values[dynamic_params.cpu_registers_fp_column] - oods_values[27]) + .field_div(&NonZeroFelt::try_from(point - pow1996 * oods_point)?); + total_sum += constraint_coefficients[27] * value; + + value = (column_values[dynamic_params.cpu_registers_ap_column] - oods_values[28]) + .field_div(&NonZeroFelt::try_from(point - pow1994 * oods_point)?); + total_sum += constraint_coefficients[28] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[29]) + .field_div(&NonZeroFelt::try_from(point - pow1993 * oods_point)?); + total_sum += constraint_coefficients[29] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[30]) + .field_div(&NonZeroFelt::try_from(point - pow2005 * oods_point)?); + total_sum += constraint_coefficients[30] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[31]) + .field_div(&NonZeroFelt::try_from(point - pow1992 * oods_point)?); + total_sum += constraint_coefficients[31] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[32]) + .field_div(&NonZeroFelt::try_from(point - pow1990 * oods_point)?); + total_sum += constraint_coefficients[32] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[33]) + .field_div(&NonZeroFelt::try_from(point - pow1989 * oods_point)?); + total_sum += constraint_coefficients[33] * value; + + value = (column_values[dynamic_params.cpu_operands_ops_mul_column] - oods_values[34]) + .field_div(&NonZeroFelt::try_from(point - pow1988 * oods_point)?); + total_sum += constraint_coefficients[34] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[35]) + .field_div(&NonZeroFelt::try_from(point - pow1987 * oods_point)?); + total_sum += constraint_coefficients[35] * value; + + value = (column_values[dynamic_params.cpu_operands_res_column] - oods_values[36]) + .field_div(&NonZeroFelt::try_from(point - pow1986 * oods_point)?); + total_sum += constraint_coefficients[36] * value; + + value = (column_values[dynamic_params.cpu_update_registers_update_pc_tmp0_column] + - oods_values[37]) + .field_div(&NonZeroFelt::try_from(point - pow1985 * oods_point)?); + total_sum += constraint_coefficients[37] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[38]) + .field_div(&NonZeroFelt::try_from(point - pow1984 * oods_point)?); + total_sum += constraint_coefficients[38] * value; + + value = (column_values[dynamic_params.cpu_update_registers_update_pc_tmp1_column] + - oods_values[39]) + .field_div(&NonZeroFelt::try_from(point - pow1983 * oods_point)?); + total_sum += constraint_coefficients[39] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[40]) + .field_div(&NonZeroFelt::try_from(point - pow1991 * oods_point)?); + total_sum += constraint_coefficients[40] * value; + + value = (column_values[dynamic_params.cpu_registers_ap_column] - oods_values[41]) + .field_div(&NonZeroFelt::try_from(point - pow1995 * oods_point)?); + total_sum += constraint_coefficients[41] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[42]) + .field_div(&NonZeroFelt::try_from(point - pow2013 * oods_point)?); + total_sum += constraint_coefficients[42] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[43]) + .field_div(&NonZeroFelt::try_from(point - pow2014 * oods_point)?); + total_sum += constraint_coefficients[43] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[44]) + .field_div(&NonZeroFelt::try_from(point - pow2014 * oods_point)?); + total_sum += constraint_coefficients[44] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[45]) + .field_div(&NonZeroFelt::try_from(point - pow2015 * oods_point)?); + total_sum += constraint_coefficients[45] * value; + + value = (column_values[dynamic_params.cpu_registers_fp_column] - oods_values[46]) + .field_div(&NonZeroFelt::try_from(point - pow1997 * oods_point)?); + total_sum += constraint_coefficients[46] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[47]) + .field_div(&NonZeroFelt::try_from(point - pow2017 * oods_point)?); + total_sum += constraint_coefficients[47] * value; + + value = (column_values[dynamic_params.cpu_decode_opcode_range_check_column_column] + - oods_values[48]) + .field_div(&NonZeroFelt::try_from(point - pow2018 * oods_point)?); + total_sum += constraint_coefficients[48] * value; + + value = (column_values[dynamic_params.memory_sorted_addr_column] - oods_values[49]) + .field_div(&NonZeroFelt::try_from(point - pow1981 * oods_point)?); + total_sum += constraint_coefficients[49] * value; + + value = (column_values[dynamic_params.memory_sorted_value_column] - oods_values[50]) + .field_div(&NonZeroFelt::try_from(point - pow1979 * oods_point)?); + total_sum += constraint_coefficients[50] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[51]) + .field_div(&NonZeroFelt::try_from(point - pow1898 * oods_point)?); + total_sum += constraint_coefficients[51] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[52]) + .field_div(&NonZeroFelt::try_from(point - pow1797 * oods_point)?); + total_sum += constraint_coefficients[52] * value; + + value = (column_values[dynamic_params.memory_sorted_addr_column] - oods_values[53]) + .field_div(&NonZeroFelt::try_from(point - pow1982 * oods_point)?); + total_sum += constraint_coefficients[53] * value; + + value = (column_values[dynamic_params.memory_sorted_value_column] - oods_values[54]) + .field_div(&NonZeroFelt::try_from(point - pow1980 * oods_point)?); + total_sum += constraint_coefficients[54] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[55]) + .field_div(&NonZeroFelt::try_from(point - pow1978 * oods_point)?); + total_sum += constraint_coefficients[55] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[56]) + .field_div(&NonZeroFelt::try_from(point - pow1897 * oods_point)?); + total_sum += constraint_coefficients[56] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[57]) + .field_div(&NonZeroFelt::try_from(point - pow1977 * oods_point)?); + total_sum += constraint_coefficients[57] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[58]) + .field_div(&NonZeroFelt::try_from(point - pow1896 * oods_point)?); + total_sum += constraint_coefficients[58] * value; + + value = (column_values[dynamic_params.range_check16_sorted_column] - oods_values[59]) + .field_div(&NonZeroFelt::try_from(point - pow1795 * oods_point)?); + total_sum += constraint_coefficients[59] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[60]) + .field_div(&NonZeroFelt::try_from(point - pow1713 * oods_point)?); + total_sum += constraint_coefficients[60] * value; + + value = (column_values[dynamic_params.range_check16_sorted_column] - oods_values[61]) + .field_div(&NonZeroFelt::try_from(point - pow1796 * oods_point)?); + total_sum += constraint_coefficients[61] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[62]) + .field_div(&NonZeroFelt::try_from(point - pow1794 * oods_point)?); + total_sum += constraint_coefficients[62] * value; + + value = (column_values[dynamic_params.diluted_check_permuted_values_column] - oods_values[63]) + .field_div(&NonZeroFelt::try_from(point - pow1711 * oods_point)?); + total_sum += constraint_coefficients[63] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[64]) + .field_div(&NonZeroFelt::try_from(point - pow1376 * oods_point)?); + total_sum += constraint_coefficients[64] * value; + + value = (column_values[dynamic_params.diluted_check_permuted_values_column] - oods_values[65]) + .field_div(&NonZeroFelt::try_from(point - pow1712 * oods_point)?); + total_sum += constraint_coefficients[65] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[66]) + .field_div(&NonZeroFelt::try_from(point - pow1710 * oods_point)?); + total_sum += constraint_coefficients[66] * value; + + value = (column_values + [dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones192_column] + - oods_values[67]) + .field_div(&NonZeroFelt::try_from(point - pow1375 * oods_point)?); + total_sum += constraint_coefficients[67] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[68]) + .field_div(&NonZeroFelt::try_from(point - pow1366 * oods_point)?); + total_sum += constraint_coefficients[68] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[69]) + .field_div(&NonZeroFelt::try_from(point - pow1370 * oods_point)?); + total_sum += constraint_coefficients[69] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[70]) + .field_div(&NonZeroFelt::try_from(point - pow1369 * oods_point)?); + total_sum += constraint_coefficients[70] * value; + + value = (column_values + [dynamic_params.pedersen_hash0_ec_subset_sum_bit_unpacking_prod_ones196_column] + - oods_values[71]) + .field_div(&NonZeroFelt::try_from(point - pow1365 * oods_point)?); + total_sum += constraint_coefficients[71] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[72]) + .field_div(&NonZeroFelt::try_from(point - pow1373 * oods_point)?); + total_sum += constraint_coefficients[72] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[73]) + .field_div(&NonZeroFelt::try_from(point - pow1368 * oods_point)?); + total_sum += constraint_coefficients[73] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[74]) + .field_div(&NonZeroFelt::try_from(point - pow1367 * oods_point)?); + total_sum += constraint_coefficients[74] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[75]) + .field_div(&NonZeroFelt::try_from(point - pow1372 * oods_point)?); + total_sum += constraint_coefficients[75] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[76]) + .field_div(&NonZeroFelt::try_from(point - pow1371 * oods_point)?); + total_sum += constraint_coefficients[76] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column] + - oods_values[77]) + .field_div(&NonZeroFelt::try_from(point - pow1360 * oods_point)?); + total_sum += constraint_coefficients[77] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_column] + - oods_values[78]) + .field_div(&NonZeroFelt::try_from(point - pow1356 * oods_point)?); + total_sum += constraint_coefficients[78] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column] + - oods_values[79]) + .field_div(&NonZeroFelt::try_from(point - pow1362 * oods_point)?); + total_sum += constraint_coefficients[79] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_column] + - oods_values[80]) + .field_div(&NonZeroFelt::try_from(point - pow1358 * oods_point)?); + total_sum += constraint_coefficients[80] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_slope_column] + - oods_values[81]) + .field_div(&NonZeroFelt::try_from(point - pow1355 * oods_point)?); + total_sum += constraint_coefficients[81] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column] + - oods_values[82]) + .field_div(&NonZeroFelt::try_from(point - pow1361 * oods_point)?); + total_sum += constraint_coefficients[82] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_column] + - oods_values[83]) + .field_div(&NonZeroFelt::try_from(point - pow1357 * oods_point)?); + total_sum += constraint_coefficients[83] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column] + - oods_values[84]) + .field_div(&NonZeroFelt::try_from(point - pow1363 * oods_point)?); + total_sum += constraint_coefficients[84] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_y_column] + - oods_values[85]) + .field_div(&NonZeroFelt::try_from(point - pow1359 * oods_point)?); + total_sum += constraint_coefficients[85] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[86]) + .field_div(&NonZeroFelt::try_from(point - pow1895 * oods_point)?); + total_sum += constraint_coefficients[86] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[87]) + .field_div(&NonZeroFelt::try_from(point - pow1976 * oods_point)?); + total_sum += constraint_coefficients[87] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[88]) + .field_div(&NonZeroFelt::try_from(point - pow1975 * oods_point)?); + total_sum += constraint_coefficients[88] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[89]) + .field_div(&NonZeroFelt::try_from(point - pow1974 * oods_point)?); + total_sum += constraint_coefficients[89] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_selector_column] + - oods_values[90]) + .field_div(&NonZeroFelt::try_from(point - pow1374 * oods_point)?); + total_sum += constraint_coefficients[90] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[91]) + .field_div(&NonZeroFelt::try_from(point - pow1894 * oods_point)?); + total_sum += constraint_coefficients[91] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[92]) + .field_div(&NonZeroFelt::try_from(point - pow1973 * oods_point)?); + total_sum += constraint_coefficients[92] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[93]) + .field_div(&NonZeroFelt::try_from(point - pow1893 * oods_point)?); + total_sum += constraint_coefficients[93] * value; + + value = (column_values[dynamic_params.pedersen_hash0_ec_subset_sum_partial_sum_x_column] + - oods_values[94]) + .field_div(&NonZeroFelt::try_from(point - pow1364 * oods_point)?); + total_sum += constraint_coefficients[94] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[95]) + .field_div(&NonZeroFelt::try_from(point - pow1892 * oods_point)?); + total_sum += constraint_coefficients[95] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[96]) + .field_div(&NonZeroFelt::try_from(point - pow1786 * oods_point)?); + total_sum += constraint_coefficients[96] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[97]) + .field_div(&NonZeroFelt::try_from(point - pow1787 * oods_point)?); + total_sum += constraint_coefficients[97] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[98]) + .field_div(&NonZeroFelt::try_from(point - pow1788 * oods_point)?); + total_sum += constraint_coefficients[98] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[99]) + .field_div(&NonZeroFelt::try_from(point - pow1789 * oods_point)?); + total_sum += constraint_coefficients[99] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[100]) + .field_div(&NonZeroFelt::try_from(point - pow1790 * oods_point)?); + total_sum += constraint_coefficients[100] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[101]) + .field_div(&NonZeroFelt::try_from(point - pow1791 * oods_point)?); + total_sum += constraint_coefficients[101] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[102]) + .field_div(&NonZeroFelt::try_from(point - pow1792 * oods_point)?); + total_sum += constraint_coefficients[102] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[103]) + .field_div(&NonZeroFelt::try_from(point - pow1793 * oods_point)?); + total_sum += constraint_coefficients[103] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[104]) + .field_div(&NonZeroFelt::try_from(point - pow1972 * oods_point)?); + total_sum += constraint_coefficients[104] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[105]) + .field_div(&NonZeroFelt::try_from(point - pow1971 * oods_point)?); + total_sum += constraint_coefficients[105] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_key_points_x_column] - oods_values[106]) + .field_div(&NonZeroFelt::try_from(point - pow1352 * oods_point)?); + total_sum += constraint_coefficients[106] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_key_points_y_column] - oods_values[107]) + .field_div(&NonZeroFelt::try_from(point - pow1349 * oods_point)?); + total_sum += constraint_coefficients[107] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_key_points_x_column] - oods_values[108]) + .field_div(&NonZeroFelt::try_from(point - pow1353 * oods_point)?); + total_sum += constraint_coefficients[108] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_key_points_y_column] - oods_values[109]) + .field_div(&NonZeroFelt::try_from(point - pow1350 * oods_point)?); + total_sum += constraint_coefficients[109] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_doubling_slope_column] + - oods_values[110]) + .field_div(&NonZeroFelt::try_from(point - pow1348 * oods_point)?); + total_sum += constraint_coefficients[110] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_generator_selector_column] + - oods_values[111]) + .field_div(&NonZeroFelt::try_from(point - pow1346 * oods_point)?); + total_sum += constraint_coefficients[111] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_generator_selector_column] + - oods_values[112]) + .field_div(&NonZeroFelt::try_from(point - pow1347 * oods_point)?); + total_sum += constraint_coefficients[112] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_column] + - oods_values[113]) + .field_div(&NonZeroFelt::try_from(point - pow1343 * oods_point)?); + total_sum += constraint_coefficients[113] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_column] + - oods_values[114]) + .field_div(&NonZeroFelt::try_from(point - pow1340 * oods_point)?); + total_sum += constraint_coefficients[114] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_column] + - oods_values[115]) + .field_div(&NonZeroFelt::try_from(point - pow1344 * oods_point)?); + total_sum += constraint_coefficients[115] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_column] + - oods_values[116]) + .field_div(&NonZeroFelt::try_from(point - pow1341 * oods_point)?); + total_sum += constraint_coefficients[116] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_generator_slope_column] + - oods_values[117]) + .field_div(&NonZeroFelt::try_from(point - pow1339 * oods_point)?); + total_sum += constraint_coefficients[117] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_x_diff_inv_column] + - oods_values[118]) + .field_div(&NonZeroFelt::try_from(point - pow1338 * oods_point)?); + total_sum += constraint_coefficients[118] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_selector_column] + - oods_values[119]) + .field_div(&NonZeroFelt::try_from(point - pow1336 * oods_point)?); + total_sum += constraint_coefficients[119] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_selector_column] + - oods_values[120]) + .field_div(&NonZeroFelt::try_from(point - pow1337 * oods_point)?); + total_sum += constraint_coefficients[120] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_column] + - oods_values[121]) + .field_div(&NonZeroFelt::try_from(point - pow1332 * oods_point)?); + total_sum += constraint_coefficients[121] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_column] + - oods_values[122]) + .field_div(&NonZeroFelt::try_from(point - pow1328 * oods_point)?); + total_sum += constraint_coefficients[122] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_column] + - oods_values[123]) + .field_div(&NonZeroFelt::try_from(point - pow1333 * oods_point)?); + total_sum += constraint_coefficients[123] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_column] + - oods_values[124]) + .field_div(&NonZeroFelt::try_from(point - pow1329 * oods_point)?); + total_sum += constraint_coefficients[124] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_slope_column] + - oods_values[125]) + .field_div(&NonZeroFelt::try_from(point - pow1327 * oods_point)?); + total_sum += constraint_coefficients[125] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_x_diff_inv_column] + - oods_values[126]) + .field_div(&NonZeroFelt::try_from(point - pow1326 * oods_point)?); + total_sum += constraint_coefficients[126] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_x_column] + - oods_values[127]) + .field_div(&NonZeroFelt::try_from(point - pow1345 * oods_point)?); + total_sum += constraint_coefficients[127] * value; + + value = (column_values + [dynamic_params.ecdsa_signature0_exponentiate_generator_partial_sum_y_column] + - oods_values[128]) + .field_div(&NonZeroFelt::try_from(point - pow1342 * oods_point)?); + total_sum += constraint_coefficients[128] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_column] + - oods_values[129]) + .field_div(&NonZeroFelt::try_from(point - pow1334 * oods_point)?); + total_sum += constraint_coefficients[129] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_column] + - oods_values[130]) + .field_div(&NonZeroFelt::try_from(point - pow1330 * oods_point)?); + total_sum += constraint_coefficients[130] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_key_points_x_column] - oods_values[131]) + .field_div(&NonZeroFelt::try_from(point - pow1354 * oods_point)?); + total_sum += constraint_coefficients[131] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_key_points_y_column] - oods_values[132]) + .field_div(&NonZeroFelt::try_from(point - pow1351 * oods_point)?); + total_sum += constraint_coefficients[132] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_add_results_slope_column] + - oods_values[133]) + .field_div(&NonZeroFelt::try_from(point - pow1325 * oods_point)?); + total_sum += constraint_coefficients[133] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_add_results_inv_column] + - oods_values[134]) + .field_div(&NonZeroFelt::try_from(point - pow1324 * oods_point)?); + total_sum += constraint_coefficients[134] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_x_column] + - oods_values[135]) + .field_div(&NonZeroFelt::try_from(point - pow1335 * oods_point)?); + total_sum += constraint_coefficients[135] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_exponentiate_key_partial_sum_y_column] + - oods_values[136]) + .field_div(&NonZeroFelt::try_from(point - pow1331 * oods_point)?); + total_sum += constraint_coefficients[136] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_extract_r_slope_column] + - oods_values[137]) + .field_div(&NonZeroFelt::try_from(point - pow1323 * oods_point)?); + total_sum += constraint_coefficients[137] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_extract_r_inv_column] + - oods_values[138]) + .field_div(&NonZeroFelt::try_from(point - pow1322 * oods_point)?); + total_sum += constraint_coefficients[138] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_z_inv_column] - oods_values[139]) + .field_div(&NonZeroFelt::try_from(point - pow1321 * oods_point)?); + total_sum += constraint_coefficients[139] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_r_w_inv_column] - oods_values[140]) + .field_div(&NonZeroFelt::try_from(point - pow1320 * oods_point)?); + total_sum += constraint_coefficients[140] * value; + + value = (column_values[dynamic_params.ecdsa_signature0_q_x_squared_column] - oods_values[141]) + .field_div(&NonZeroFelt::try_from(point - pow1319 * oods_point)?); + total_sum += constraint_coefficients[141] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[142]) + .field_div(&NonZeroFelt::try_from(point - pow1969 * oods_point)?); + total_sum += constraint_coefficients[142] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[143]) + .field_div(&NonZeroFelt::try_from(point - pow1968 * oods_point)?); + total_sum += constraint_coefficients[143] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[144]) + .field_div(&NonZeroFelt::try_from(point - pow1970 * oods_point)?); + total_sum += constraint_coefficients[144] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[145]) + .field_div(&NonZeroFelt::try_from(point - pow1891 * oods_point)?); + total_sum += constraint_coefficients[145] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[146]) + .field_div(&NonZeroFelt::try_from(point - pow1890 * oods_point)?); + total_sum += constraint_coefficients[146] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[147]) + .field_div(&NonZeroFelt::try_from(point - pow1964 * oods_point)?); + total_sum += constraint_coefficients[147] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[148]) + .field_div(&NonZeroFelt::try_from(point - pow1965 * oods_point)?); + total_sum += constraint_coefficients[148] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[149]) + .field_div(&NonZeroFelt::try_from(point - pow1963 * oods_point)?); + total_sum += constraint_coefficients[149] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[150]) + .field_div(&NonZeroFelt::try_from(point - pow1966 * oods_point)?); + total_sum += constraint_coefficients[150] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[151]) + .field_div(&NonZeroFelt::try_from(point - pow1967 * oods_point)?); + total_sum += constraint_coefficients[151] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[152]) + .field_div(&NonZeroFelt::try_from(point - pow1887 * oods_point)?); + total_sum += constraint_coefficients[152] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[153]) + .field_div(&NonZeroFelt::try_from(point - pow1683 * oods_point)?); + total_sum += constraint_coefficients[153] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[154]) + .field_div(&NonZeroFelt::try_from(point - pow1684 * oods_point)?); + total_sum += constraint_coefficients[154] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[155]) + .field_div(&NonZeroFelt::try_from(point - pow1685 * oods_point)?); + total_sum += constraint_coefficients[155] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[156]) + .field_div(&NonZeroFelt::try_from(point - pow1686 * oods_point)?); + total_sum += constraint_coefficients[156] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[157]) + .field_div(&NonZeroFelt::try_from(point - pow1687 * oods_point)?); + total_sum += constraint_coefficients[157] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[158]) + .field_div(&NonZeroFelt::try_from(point - pow1688 * oods_point)?); + total_sum += constraint_coefficients[158] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[159]) + .field_div(&NonZeroFelt::try_from(point - pow1689 * oods_point)?); + total_sum += constraint_coefficients[159] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[160]) + .field_div(&NonZeroFelt::try_from(point - pow1690 * oods_point)?); + total_sum += constraint_coefficients[160] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[161]) + .field_div(&NonZeroFelt::try_from(point - pow1691 * oods_point)?); + total_sum += constraint_coefficients[161] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[162]) + .field_div(&NonZeroFelt::try_from(point - pow1692 * oods_point)?); + total_sum += constraint_coefficients[162] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[163]) + .field_div(&NonZeroFelt::try_from(point - pow1693 * oods_point)?); + total_sum += constraint_coefficients[163] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[164]) + .field_div(&NonZeroFelt::try_from(point - pow1694 * oods_point)?); + total_sum += constraint_coefficients[164] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[165]) + .field_div(&NonZeroFelt::try_from(point - pow1695 * oods_point)?); + total_sum += constraint_coefficients[165] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[166]) + .field_div(&NonZeroFelt::try_from(point - pow1696 * oods_point)?); + total_sum += constraint_coefficients[166] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[167]) + .field_div(&NonZeroFelt::try_from(point - pow1697 * oods_point)?); + total_sum += constraint_coefficients[167] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[168]) + .field_div(&NonZeroFelt::try_from(point - pow1698 * oods_point)?); + total_sum += constraint_coefficients[168] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[169]) + .field_div(&NonZeroFelt::try_from(point - pow1886 * oods_point)?); + total_sum += constraint_coefficients[169] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[170]) + .field_div(&NonZeroFelt::try_from(point - pow1888 * oods_point)?); + total_sum += constraint_coefficients[170] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[171]) + .field_div(&NonZeroFelt::try_from(point - pow1889 * oods_point)?); + total_sum += constraint_coefficients[171] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[172]) + .field_div(&NonZeroFelt::try_from(point - pow1700 * oods_point)?); + total_sum += constraint_coefficients[172] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[173]) + .field_div(&NonZeroFelt::try_from(point - pow1699 * oods_point)?); + total_sum += constraint_coefficients[173] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[174]) + .field_div(&NonZeroFelt::try_from(point - pow1705 * oods_point)?); + total_sum += constraint_coefficients[174] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[175]) + .field_div(&NonZeroFelt::try_from(point - pow1682 * oods_point)?); + total_sum += constraint_coefficients[175] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[176]) + .field_div(&NonZeroFelt::try_from(point - pow1701 * oods_point)?); + total_sum += constraint_coefficients[176] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[177]) + .field_div(&NonZeroFelt::try_from(point - pow1706 * oods_point)?); + total_sum += constraint_coefficients[177] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[178]) + .field_div(&NonZeroFelt::try_from(point - pow1681 * oods_point)?); + total_sum += constraint_coefficients[178] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[179]) + .field_div(&NonZeroFelt::try_from(point - pow1702 * oods_point)?); + total_sum += constraint_coefficients[179] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[180]) + .field_div(&NonZeroFelt::try_from(point - pow1707 * oods_point)?); + total_sum += constraint_coefficients[180] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[181]) + .field_div(&NonZeroFelt::try_from(point - pow1680 * oods_point)?); + total_sum += constraint_coefficients[181] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[182]) + .field_div(&NonZeroFelt::try_from(point - pow1703 * oods_point)?); + total_sum += constraint_coefficients[182] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[183]) + .field_div(&NonZeroFelt::try_from(point - pow1708 * oods_point)?); + total_sum += constraint_coefficients[183] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[184]) + .field_div(&NonZeroFelt::try_from(point - pow1679 * oods_point)?); + total_sum += constraint_coefficients[184] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[185]) + .field_div(&NonZeroFelt::try_from(point - pow1704 * oods_point)?); + total_sum += constraint_coefficients[185] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[186]) + .field_div(&NonZeroFelt::try_from(point - pow1709 * oods_point)?); + total_sum += constraint_coefficients[186] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[187]) + .field_div(&NonZeroFelt::try_from(point - pow1955 * oods_point)?); + total_sum += constraint_coefficients[187] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[188]) + .field_div(&NonZeroFelt::try_from(point - pow1956 * oods_point)?); + total_sum += constraint_coefficients[188] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[189]) + .field_div(&NonZeroFelt::try_from(point - pow1954 * oods_point)?); + total_sum += constraint_coefficients[189] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[190]) + .field_div(&NonZeroFelt::try_from(point - pow1953 * oods_point)?); + total_sum += constraint_coefficients[190] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[191]) + .field_div(&NonZeroFelt::try_from(point - pow1952 * oods_point)?); + total_sum += constraint_coefficients[191] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[192]) + .field_div(&NonZeroFelt::try_from(point - pow1951 * oods_point)?); + total_sum += constraint_coefficients[192] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[193]) + .field_div(&NonZeroFelt::try_from(point - pow1950 * oods_point)?); + total_sum += constraint_coefficients[193] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[194]) + .field_div(&NonZeroFelt::try_from(point - pow1949 * oods_point)?); + total_sum += constraint_coefficients[194] * value; + + value = (column_values[dynamic_params.ec_op_doubling_slope_column] - oods_values[195]) + .field_div(&NonZeroFelt::try_from(point - pow1318 * oods_point)?); + total_sum += constraint_coefficients[195] * value; + + value = (column_values[dynamic_params.ec_op_doubled_points_x_column] - oods_values[196]) + .field_div(&NonZeroFelt::try_from(point - pow1316 * oods_point)?); + total_sum += constraint_coefficients[196] * value; + + value = (column_values[dynamic_params.ec_op_doubled_points_y_column] - oods_values[197]) + .field_div(&NonZeroFelt::try_from(point - pow1314 * oods_point)?); + total_sum += constraint_coefficients[197] * value; + + value = (column_values[dynamic_params.ec_op_doubled_points_x_column] - oods_values[198]) + .field_div(&NonZeroFelt::try_from(point - pow1317 * oods_point)?); + total_sum += constraint_coefficients[198] * value; + + value = (column_values[dynamic_params.ec_op_doubled_points_y_column] - oods_values[199]) + .field_div(&NonZeroFelt::try_from(point - pow1315 * oods_point)?); + total_sum += constraint_coefficients[199] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[200]) + .field_div(&NonZeroFelt::try_from(point - pow1879 * oods_point)?); + total_sum += constraint_coefficients[200] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[201]) + .field_div(&NonZeroFelt::try_from(point - pow1878 * oods_point)?); + total_sum += constraint_coefficients[201] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones192_column] + - oods_values[202]) + .field_div(&NonZeroFelt::try_from(point - pow1313 * oods_point)?); + total_sum += constraint_coefficients[202] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[203]) + .field_div(&NonZeroFelt::try_from(point - pow1305 * oods_point)?); + total_sum += constraint_coefficients[203] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[204]) + .field_div(&NonZeroFelt::try_from(point - pow1306 * oods_point)?); + total_sum += constraint_coefficients[204] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[205]) + .field_div(&NonZeroFelt::try_from(point - pow1311 * oods_point)?); + total_sum += constraint_coefficients[205] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_bit_unpacking_prod_ones196_column] + - oods_values[206]) + .field_div(&NonZeroFelt::try_from(point - pow1304 * oods_point)?); + total_sum += constraint_coefficients[206] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[207]) + .field_div(&NonZeroFelt::try_from(point - pow1312 * oods_point)?); + total_sum += constraint_coefficients[207] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[208]) + .field_div(&NonZeroFelt::try_from(point - pow1309 * oods_point)?); + total_sum += constraint_coefficients[208] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[209]) + .field_div(&NonZeroFelt::try_from(point - pow1307 * oods_point)?); + total_sum += constraint_coefficients[209] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[210]) + .field_div(&NonZeroFelt::try_from(point - pow1308 * oods_point)?); + total_sum += constraint_coefficients[210] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_selector_column] - oods_values[211]) + .field_div(&NonZeroFelt::try_from(point - pow1310 * oods_point)?); + total_sum += constraint_coefficients[211] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_partial_sum_x_column] + - oods_values[212]) + .field_div(&NonZeroFelt::try_from(point - pow1301 * oods_point)?); + total_sum += constraint_coefficients[212] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_partial_sum_y_column] + - oods_values[213]) + .field_div(&NonZeroFelt::try_from(point - pow1298 * oods_point)?); + total_sum += constraint_coefficients[213] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_partial_sum_x_column] + - oods_values[214]) + .field_div(&NonZeroFelt::try_from(point - pow1303 * oods_point)?); + total_sum += constraint_coefficients[214] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_partial_sum_y_column] + - oods_values[215]) + .field_div(&NonZeroFelt::try_from(point - pow1300 * oods_point)?); + total_sum += constraint_coefficients[215] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_slope_column] - oods_values[216]) + .field_div(&NonZeroFelt::try_from(point - pow1297 * oods_point)?); + total_sum += constraint_coefficients[216] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_x_diff_inv_column] + - oods_values[217]) + .field_div(&NonZeroFelt::try_from(point - pow1296 * oods_point)?); + total_sum += constraint_coefficients[217] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[218]) + .field_div(&NonZeroFelt::try_from(point - pow1876 * oods_point)?); + total_sum += constraint_coefficients[218] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[219]) + .field_div(&NonZeroFelt::try_from(point - pow1875 * oods_point)?); + total_sum += constraint_coefficients[219] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[220]) + .field_div(&NonZeroFelt::try_from(point - pow1874 * oods_point)?); + total_sum += constraint_coefficients[220] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[221]) + .field_div(&NonZeroFelt::try_from(point - pow1873 * oods_point)?); + total_sum += constraint_coefficients[221] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_partial_sum_x_column] + - oods_values[222]) + .field_div(&NonZeroFelt::try_from(point - pow1302 * oods_point)?); + total_sum += constraint_coefficients[222] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[223]) + .field_div(&NonZeroFelt::try_from(point - pow1872 * oods_point)?); + total_sum += constraint_coefficients[223] * value; + + value = (column_values[dynamic_params.ec_op_ec_subset_sum_partial_sum_y_column] + - oods_values[224]) + .field_div(&NonZeroFelt::try_from(point - pow1299 * oods_point)?); + total_sum += constraint_coefficients[224] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[225]) + .field_div(&NonZeroFelt::try_from(point - pow1947 * oods_point)?); + total_sum += constraint_coefficients[225] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[226]) + .field_div(&NonZeroFelt::try_from(point - pow1948 * oods_point)?); + total_sum += constraint_coefficients[226] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[227]) + .field_div(&NonZeroFelt::try_from(point - pow1265 * oods_point)?); + total_sum += constraint_coefficients[227] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[228]) + .field_div(&NonZeroFelt::try_from(point - pow1856 * oods_point)?); + total_sum += constraint_coefficients[228] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[229]) + .field_div(&NonZeroFelt::try_from(point - pow1270 * oods_point)?); + total_sum += constraint_coefficients[229] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[230]) + .field_div(&NonZeroFelt::try_from(point - pow1857 * oods_point)?); + total_sum += constraint_coefficients[230] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[231]) + .field_div(&NonZeroFelt::try_from(point - pow1271 * oods_point)?); + total_sum += constraint_coefficients[231] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[232]) + .field_div(&NonZeroFelt::try_from(point - pow1858 * oods_point)?); + total_sum += constraint_coefficients[232] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[233]) + .field_div(&NonZeroFelt::try_from(point - pow1272 * oods_point)?); + total_sum += constraint_coefficients[233] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[234]) + .field_div(&NonZeroFelt::try_from(point - pow1859 * oods_point)?); + total_sum += constraint_coefficients[234] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[235]) + .field_div(&NonZeroFelt::try_from(point - pow1273 * oods_point)?); + total_sum += constraint_coefficients[235] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[236]) + .field_div(&NonZeroFelt::try_from(point - pow1860 * oods_point)?); + total_sum += constraint_coefficients[236] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[237]) + .field_div(&NonZeroFelt::try_from(point - pow1274 * oods_point)?); + total_sum += constraint_coefficients[237] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[238]) + .field_div(&NonZeroFelt::try_from(point - pow1861 * oods_point)?); + total_sum += constraint_coefficients[238] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[239]) + .field_div(&NonZeroFelt::try_from(point - pow1275 * oods_point)?); + total_sum += constraint_coefficients[239] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[240]) + .field_div(&NonZeroFelt::try_from(point - pow1862 * oods_point)?); + total_sum += constraint_coefficients[240] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[241]) + .field_div(&NonZeroFelt::try_from(point - pow1276 * oods_point)?); + total_sum += constraint_coefficients[241] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[242]) + .field_div(&NonZeroFelt::try_from(point - pow1863 * oods_point)?); + total_sum += constraint_coefficients[242] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[243]) + .field_div(&NonZeroFelt::try_from(point - pow1277 * oods_point)?); + total_sum += constraint_coefficients[243] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[244]) + .field_div(&NonZeroFelt::try_from(point - pow1864 * oods_point)?); + total_sum += constraint_coefficients[244] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[245]) + .field_div(&NonZeroFelt::try_from(point - pow1278 * oods_point)?); + total_sum += constraint_coefficients[245] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[246]) + .field_div(&NonZeroFelt::try_from(point - pow1865 * oods_point)?); + total_sum += constraint_coefficients[246] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[247]) + .field_div(&NonZeroFelt::try_from(point - pow1279 * oods_point)?); + total_sum += constraint_coefficients[247] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[248]) + .field_div(&NonZeroFelt::try_from(point - pow1866 * oods_point)?); + total_sum += constraint_coefficients[248] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[249]) + .field_div(&NonZeroFelt::try_from(point - pow1280 * oods_point)?); + total_sum += constraint_coefficients[249] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[250]) + .field_div(&NonZeroFelt::try_from(point - pow1867 * oods_point)?); + total_sum += constraint_coefficients[250] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[251]) + .field_div(&NonZeroFelt::try_from(point - pow1281 * oods_point)?); + total_sum += constraint_coefficients[251] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[252]) + .field_div(&NonZeroFelt::try_from(point - pow1868 * oods_point)?); + total_sum += constraint_coefficients[252] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[253]) + .field_div(&NonZeroFelt::try_from(point - pow1282 * oods_point)?); + total_sum += constraint_coefficients[253] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[254]) + .field_div(&NonZeroFelt::try_from(point - pow1869 * oods_point)?); + total_sum += constraint_coefficients[254] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[255]) + .field_div(&NonZeroFelt::try_from(point - pow1283 * oods_point)?); + total_sum += constraint_coefficients[255] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[256]) + .field_div(&NonZeroFelt::try_from(point - pow1870 * oods_point)?); + total_sum += constraint_coefficients[256] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[257]) + .field_div(&NonZeroFelt::try_from(point - pow1284 * oods_point)?); + total_sum += constraint_coefficients[257] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[258]) + .field_div(&NonZeroFelt::try_from(point - pow1871 * oods_point)?); + total_sum += constraint_coefficients[258] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[259]) + .field_div(&NonZeroFelt::try_from(point - pow1235 * oods_point)?); + total_sum += constraint_coefficients[259] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[260]) + .field_div(&NonZeroFelt::try_from(point - pow1243 * oods_point)?); + total_sum += constraint_coefficients[260] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[261]) + .field_div(&NonZeroFelt::try_from(point - pow1266 * oods_point)?); + total_sum += constraint_coefficients[261] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[262]) + .field_div(&NonZeroFelt::try_from(point - pow1251 * oods_point)?); + total_sum += constraint_coefficients[262] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[263]) + .field_div(&NonZeroFelt::try_from(point - pow1267 * oods_point)?); + total_sum += constraint_coefficients[263] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[264]) + .field_div(&NonZeroFelt::try_from(point - pow1252 * oods_point)?); + total_sum += constraint_coefficients[264] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[265]) + .field_div(&NonZeroFelt::try_from(point - pow1268 * oods_point)?); + total_sum += constraint_coefficients[265] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[266]) + .field_div(&NonZeroFelt::try_from(point - pow1253 * oods_point)?); + total_sum += constraint_coefficients[266] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[267]) + .field_div(&NonZeroFelt::try_from(point - pow1269 * oods_point)?); + total_sum += constraint_coefficients[267] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[268]) + .field_div(&NonZeroFelt::try_from(point - pow1254 * oods_point)?); + total_sum += constraint_coefficients[268] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[269]) + .field_div(&NonZeroFelt::try_from(point - pow1285 * oods_point)?); + total_sum += constraint_coefficients[269] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[270]) + .field_div(&NonZeroFelt::try_from(point - pow1255 * oods_point)?); + total_sum += constraint_coefficients[270] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[271]) + .field_div(&NonZeroFelt::try_from(point - pow1286 * oods_point)?); + total_sum += constraint_coefficients[271] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[272]) + .field_div(&NonZeroFelt::try_from(point - pow1256 * oods_point)?); + total_sum += constraint_coefficients[272] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[273]) + .field_div(&NonZeroFelt::try_from(point - pow1287 * oods_point)?); + total_sum += constraint_coefficients[273] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[274]) + .field_div(&NonZeroFelt::try_from(point - pow1257 * oods_point)?); + total_sum += constraint_coefficients[274] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[275]) + .field_div(&NonZeroFelt::try_from(point - pow1288 * oods_point)?); + total_sum += constraint_coefficients[275] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[276]) + .field_div(&NonZeroFelt::try_from(point - pow1258 * oods_point)?); + total_sum += constraint_coefficients[276] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[277]) + .field_div(&NonZeroFelt::try_from(point - pow1289 * oods_point)?); + total_sum += constraint_coefficients[277] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[278]) + .field_div(&NonZeroFelt::try_from(point - pow1259 * oods_point)?); + total_sum += constraint_coefficients[278] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[279]) + .field_div(&NonZeroFelt::try_from(point - pow1290 * oods_point)?); + total_sum += constraint_coefficients[279] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[280]) + .field_div(&NonZeroFelt::try_from(point - pow1260 * oods_point)?); + total_sum += constraint_coefficients[280] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[281]) + .field_div(&NonZeroFelt::try_from(point - pow1291 * oods_point)?); + total_sum += constraint_coefficients[281] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[282]) + .field_div(&NonZeroFelt::try_from(point - pow1261 * oods_point)?); + total_sum += constraint_coefficients[282] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[283]) + .field_div(&NonZeroFelt::try_from(point - pow1292 * oods_point)?); + total_sum += constraint_coefficients[283] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[284]) + .field_div(&NonZeroFelt::try_from(point - pow1262 * oods_point)?); + total_sum += constraint_coefficients[284] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[285]) + .field_div(&NonZeroFelt::try_from(point - pow1293 * oods_point)?); + total_sum += constraint_coefficients[285] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[286]) + .field_div(&NonZeroFelt::try_from(point - pow1263 * oods_point)?); + total_sum += constraint_coefficients[286] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[287]) + .field_div(&NonZeroFelt::try_from(point - pow1294 * oods_point)?); + total_sum += constraint_coefficients[287] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[288]) + .field_div(&NonZeroFelt::try_from(point - pow1264 * oods_point)?); + total_sum += constraint_coefficients[288] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_reshaped_intermediate_column] + - oods_values[289]) + .field_div(&NonZeroFelt::try_from(point - pow1295 * oods_point)?); + total_sum += constraint_coefficients[289] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[290]) + .field_div(&NonZeroFelt::try_from(point - pow1219 * oods_point)?); + total_sum += constraint_coefficients[290] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[291]) + .field_div(&NonZeroFelt::try_from(point - pow1203 * oods_point)?); + total_sum += constraint_coefficients[291] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[292]) + .field_div(&NonZeroFelt::try_from(point - pow1211 * oods_point)?); + total_sum += constraint_coefficients[292] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[293]) + .field_div(&NonZeroFelt::try_from(point - pow1204 * oods_point)?); + total_sum += constraint_coefficients[293] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[294]) + .field_div(&NonZeroFelt::try_from(point - pow1214 * oods_point)?); + total_sum += constraint_coefficients[294] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[295]) + .field_div(&NonZeroFelt::try_from(point - pow1212 * oods_point)?); + total_sum += constraint_coefficients[295] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[296]) + .field_div(&NonZeroFelt::try_from(point - pow1236 * oods_point)?); + total_sum += constraint_coefficients[296] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[297]) + .field_div(&NonZeroFelt::try_from(point - pow1215 * oods_point)?); + total_sum += constraint_coefficients[297] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[298]) + .field_div(&NonZeroFelt::try_from(point - pow1244 * oods_point)?); + total_sum += constraint_coefficients[298] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[299]) + .field_div(&NonZeroFelt::try_from(point - pow1213 * oods_point)?); + total_sum += constraint_coefficients[299] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[300]) + .field_div(&NonZeroFelt::try_from(point - pow1237 * oods_point)?); + total_sum += constraint_coefficients[300] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[301]) + .field_div(&NonZeroFelt::try_from(point - pow1217 * oods_point)?); + total_sum += constraint_coefficients[301] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[302]) + .field_div(&NonZeroFelt::try_from(point - pow1245 * oods_point)?); + total_sum += constraint_coefficients[302] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[303]) + .field_div(&NonZeroFelt::try_from(point - pow1216 * oods_point)?); + total_sum += constraint_coefficients[303] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[304]) + .field_div(&NonZeroFelt::try_from(point - pow1238 * oods_point)?); + total_sum += constraint_coefficients[304] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[305]) + .field_div(&NonZeroFelt::try_from(point - pow1218 * oods_point)?); + total_sum += constraint_coefficients[305] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[306]) + .field_div(&NonZeroFelt::try_from(point - pow1246 * oods_point)?); + total_sum += constraint_coefficients[306] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[307]) + .field_div(&NonZeroFelt::try_from(point - pow1221 * oods_point)?); + total_sum += constraint_coefficients[307] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[308]) + .field_div(&NonZeroFelt::try_from(point - pow1239 * oods_point)?); + total_sum += constraint_coefficients[308] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[309]) + .field_div(&NonZeroFelt::try_from(point - pow1226 * oods_point)?); + total_sum += constraint_coefficients[309] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[310]) + .field_div(&NonZeroFelt::try_from(point - pow1247 * oods_point)?); + total_sum += constraint_coefficients[310] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[311]) + .field_div(&NonZeroFelt::try_from(point - pow1222 * oods_point)?); + total_sum += constraint_coefficients[311] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[312]) + .field_div(&NonZeroFelt::try_from(point - pow1240 * oods_point)?); + total_sum += constraint_coefficients[312] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[313]) + .field_div(&NonZeroFelt::try_from(point - pow1227 * oods_point)?); + total_sum += constraint_coefficients[313] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[314]) + .field_div(&NonZeroFelt::try_from(point - pow1248 * oods_point)?); + total_sum += constraint_coefficients[314] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[315]) + .field_div(&NonZeroFelt::try_from(point - pow1223 * oods_point)?); + total_sum += constraint_coefficients[315] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[316]) + .field_div(&NonZeroFelt::try_from(point - pow1241 * oods_point)?); + total_sum += constraint_coefficients[316] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[317]) + .field_div(&NonZeroFelt::try_from(point - pow1231 * oods_point)?); + total_sum += constraint_coefficients[317] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[318]) + .field_div(&NonZeroFelt::try_from(point - pow1249 * oods_point)?); + total_sum += constraint_coefficients[318] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[319]) + .field_div(&NonZeroFelt::try_from(point - pow1242 * oods_point)?); + total_sum += constraint_coefficients[319] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[320]) + .field_div(&NonZeroFelt::try_from(point - pow1225 * oods_point)?); + total_sum += constraint_coefficients[320] * value; + + value = (column_values + [dynamic_params.keccak_keccak_parse_to_diluted_final_reshaped_input_column] + - oods_values[321]) + .field_div(&NonZeroFelt::try_from(point - pow1250 * oods_point)?); + total_sum += constraint_coefficients[321] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[322]) + .field_div(&NonZeroFelt::try_from(point - pow1224 * oods_point)?); + total_sum += constraint_coefficients[322] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[323]) + .field_div(&NonZeroFelt::try_from(point - pow1207 * oods_point)?); + total_sum += constraint_coefficients[323] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[324]) + .field_div(&NonZeroFelt::try_from(point - pow1232 * oods_point)?); + total_sum += constraint_coefficients[324] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[325]) + .field_div(&NonZeroFelt::try_from(point - pow1208 * oods_point)?); + total_sum += constraint_coefficients[325] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[326]) + .field_div(&NonZeroFelt::try_from(point - pow1673 * oods_point)?); + total_sum += constraint_coefficients[326] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[327]) + .field_div(&NonZeroFelt::try_from(point - pow1233 * oods_point)?); + total_sum += constraint_coefficients[327] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[328]) + .field_div(&NonZeroFelt::try_from(point - pow1209 * oods_point)?); + total_sum += constraint_coefficients[328] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[329]) + .field_div(&NonZeroFelt::try_from(point - pow1674 * oods_point)?); + total_sum += constraint_coefficients[329] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[330]) + .field_div(&NonZeroFelt::try_from(point - pow1234 * oods_point)?); + total_sum += constraint_coefficients[330] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[331]) + .field_div(&NonZeroFelt::try_from(point - pow1210 * oods_point)?); + total_sum += constraint_coefficients[331] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[332]) + .field_div(&NonZeroFelt::try_from(point - pow1220 * oods_point)?); + total_sum += constraint_coefficients[332] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[333]) + .field_div(&NonZeroFelt::try_from(point - pow1228 * oods_point)?); + total_sum += constraint_coefficients[333] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[334]) + .field_div(&NonZeroFelt::try_from(point - pow1571 * oods_point)?); + total_sum += constraint_coefficients[334] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[335]) + .field_div(&NonZeroFelt::try_from(point - pow1205 * oods_point)?); + total_sum += constraint_coefficients[335] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[336]) + .field_div(&NonZeroFelt::try_from(point - pow1229 * oods_point)?); + total_sum += constraint_coefficients[336] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[337]) + .field_div(&NonZeroFelt::try_from(point - pow1572 * oods_point)?); + total_sum += constraint_coefficients[337] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[338]) + .field_div(&NonZeroFelt::try_from(point - pow1206 * oods_point)?); + total_sum += constraint_coefficients[338] * value; + + value = (column_values[dynamic_params.keccak_keccak_parse_to_diluted_cumulative_sum_column] + - oods_values[339]) + .field_div(&NonZeroFelt::try_from(point - pow1230 * oods_point)?); + total_sum += constraint_coefficients[339] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[340]) + .field_div(&NonZeroFelt::try_from(point - pow1615 * oods_point)?); + total_sum += constraint_coefficients[340] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[341]) + .field_div(&NonZeroFelt::try_from(point - pow1581 * oods_point)?); + total_sum += constraint_coefficients[341] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[342]) + .field_div(&NonZeroFelt::try_from(point - pow1588 * oods_point)?); + total_sum += constraint_coefficients[342] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[343]) + .field_div(&NonZeroFelt::try_from(point - pow1596 * oods_point)?); + total_sum += constraint_coefficients[343] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[344]) + .field_div(&NonZeroFelt::try_from(point - pow1604 * oods_point)?); + total_sum += constraint_coefficients[344] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[345]) + .field_div(&NonZeroFelt::try_from(point - pow1546 * oods_point)?); + total_sum += constraint_coefficients[345] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[346]) + .field_div(&NonZeroFelt::try_from(point - pow1518 * oods_point)?); + total_sum += constraint_coefficients[346] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[347]) + .field_div(&NonZeroFelt::try_from(point - pow1512 * oods_point)?); + total_sum += constraint_coefficients[347] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[348]) + .field_div(&NonZeroFelt::try_from(point - pow1574 * oods_point)?); + total_sum += constraint_coefficients[348] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[349]) + .field_div(&NonZeroFelt::try_from(point - pow1582 * oods_point)?); + total_sum += constraint_coefficients[349] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[350]) + .field_div(&NonZeroFelt::try_from(point - pow1590 * oods_point)?); + total_sum += constraint_coefficients[350] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[351]) + .field_div(&NonZeroFelt::try_from(point - pow1599 * oods_point)?); + total_sum += constraint_coefficients[351] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[352]) + .field_div(&NonZeroFelt::try_from(point - pow1605 * oods_point)?); + total_sum += constraint_coefficients[352] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[353]) + .field_div(&NonZeroFelt::try_from(point - pow1622 * oods_point)?); + total_sum += constraint_coefficients[353] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[354]) + .field_div(&NonZeroFelt::try_from(point - pow1548 * oods_point)?); + total_sum += constraint_coefficients[354] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[355]) + .field_div(&NonZeroFelt::try_from(point - pow1508 * oods_point)?); + total_sum += constraint_coefficients[355] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[356]) + .field_div(&NonZeroFelt::try_from(point - pow1575 * oods_point)?); + total_sum += constraint_coefficients[356] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[357]) + .field_div(&NonZeroFelt::try_from(point - pow1583 * oods_point)?); + total_sum += constraint_coefficients[357] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[358]) + .field_div(&NonZeroFelt::try_from(point - pow1591 * oods_point)?); + total_sum += constraint_coefficients[358] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[359]) + .field_div(&NonZeroFelt::try_from(point - pow1600 * oods_point)?); + total_sum += constraint_coefficients[359] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[360]) + .field_div(&NonZeroFelt::try_from(point - pow1608 * oods_point)?); + total_sum += constraint_coefficients[360] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[361]) + .field_div(&NonZeroFelt::try_from(point - pow1516 * oods_point)?); + total_sum += constraint_coefficients[361] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[362]) + .field_div(&NonZeroFelt::try_from(point - pow1628 * oods_point)?); + total_sum += constraint_coefficients[362] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[363]) + .field_div(&NonZeroFelt::try_from(point - pow1619 * oods_point)?); + total_sum += constraint_coefficients[363] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[364]) + .field_div(&NonZeroFelt::try_from(point - pow1576 * oods_point)?); + total_sum += constraint_coefficients[364] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[365]) + .field_div(&NonZeroFelt::try_from(point - pow1584 * oods_point)?); + total_sum += constraint_coefficients[365] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[366]) + .field_div(&NonZeroFelt::try_from(point - pow1592 * oods_point)?); + total_sum += constraint_coefficients[366] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[367]) + .field_div(&NonZeroFelt::try_from(point - pow1601 * oods_point)?); + total_sum += constraint_coefficients[367] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[368]) + .field_div(&NonZeroFelt::try_from(point - pow1609 * oods_point)?); + total_sum += constraint_coefficients[368] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[369]) + .field_div(&NonZeroFelt::try_from(point - pow1547 * oods_point)?); + total_sum += constraint_coefficients[369] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[370]) + .field_div(&NonZeroFelt::try_from(point - pow1519 * oods_point)?); + total_sum += constraint_coefficients[370] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[371]) + .field_div(&NonZeroFelt::try_from(point - pow1513 * oods_point)?); + total_sum += constraint_coefficients[371] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[372]) + .field_div(&NonZeroFelt::try_from(point - pow1579 * oods_point)?); + total_sum += constraint_coefficients[372] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[373]) + .field_div(&NonZeroFelt::try_from(point - pow1587 * oods_point)?); + total_sum += constraint_coefficients[373] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[374]) + .field_div(&NonZeroFelt::try_from(point - pow1593 * oods_point)?); + total_sum += constraint_coefficients[374] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[375]) + .field_div(&NonZeroFelt::try_from(point - pow1602 * oods_point)?); + total_sum += constraint_coefficients[375] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[376]) + .field_div(&NonZeroFelt::try_from(point - pow1614 * oods_point)?); + total_sum += constraint_coefficients[376] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[377]) + .field_div(&NonZeroFelt::try_from(point - pow1627 * oods_point)?); + total_sum += constraint_coefficients[377] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[378]) + .field_div(&NonZeroFelt::try_from(point - pow1549 * oods_point)?); + total_sum += constraint_coefficients[378] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[379]) + .field_div(&NonZeroFelt::try_from(point - pow1195 * oods_point)?); + total_sum += constraint_coefficients[379] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[380]) + .field_div(&NonZeroFelt::try_from(point - pow1192 * oods_point)?); + total_sum += constraint_coefficients[380] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[381]) + .field_div(&NonZeroFelt::try_from(point - pow1677 * oods_point)?); + total_sum += constraint_coefficients[381] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[382]) + .field_div(&NonZeroFelt::try_from(point - pow1188 * oods_point)?); + total_sum += constraint_coefficients[382] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[383]) + .field_div(&NonZeroFelt::try_from(point - pow1182 * oods_point)?); + total_sum += constraint_coefficients[383] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[384]) + .field_div(&NonZeroFelt::try_from(point - pow1538 * oods_point)?); + total_sum += constraint_coefficients[384] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[385]) + .field_div(&NonZeroFelt::try_from(point - pow1175 * oods_point)?); + total_sum += constraint_coefficients[385] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[386]) + .field_div(&NonZeroFelt::try_from(point - pow1171 * oods_point)?); + total_sum += constraint_coefficients[386] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[387]) + .field_div(&NonZeroFelt::try_from(point - pow1568 * oods_point)?); + total_sum += constraint_coefficients[387] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[388]) + .field_div(&NonZeroFelt::try_from(point - pow1165 * oods_point)?); + total_sum += constraint_coefficients[388] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[389]) + .field_div(&NonZeroFelt::try_from(point - pow1164 * oods_point)?); + total_sum += constraint_coefficients[389] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[390]) + .field_div(&NonZeroFelt::try_from(point - pow1678 * oods_point)?); + total_sum += constraint_coefficients[390] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[391]) + .field_div(&NonZeroFelt::try_from(point - pow1156 * oods_point)?); + total_sum += constraint_coefficients[391] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[392]) + .field_div(&NonZeroFelt::try_from(point - pow1153 * oods_point)?); + total_sum += constraint_coefficients[392] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[393]) + .field_div(&NonZeroFelt::try_from(point - pow1542 * oods_point)?); + total_sum += constraint_coefficients[393] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[394]) + .field_div(&NonZeroFelt::try_from(point - pow1383 * oods_point)?); + total_sum += constraint_coefficients[394] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[395]) + .field_div(&NonZeroFelt::try_from(point - pow1629 * oods_point)?); + total_sum += constraint_coefficients[395] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[396]) + .field_div(&NonZeroFelt::try_from(point - pow1404 * oods_point)?); + total_sum += constraint_coefficients[396] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[397]) + .field_div(&NonZeroFelt::try_from(point - pow1455 * oods_point)?); + total_sum += constraint_coefficients[397] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[398]) + .field_div(&NonZeroFelt::try_from(point - pow1570 * oods_point)?); + total_sum += constraint_coefficients[398] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[399]) + .field_div(&NonZeroFelt::try_from(point - pow1181 * oods_point)?); + total_sum += constraint_coefficients[399] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[400]) + .field_div(&NonZeroFelt::try_from(point - pow1676 * oods_point)?); + total_sum += constraint_coefficients[400] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[401]) + .field_div(&NonZeroFelt::try_from(point - pow1553 * oods_point)?); + total_sum += constraint_coefficients[401] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[402]) + .field_div(&NonZeroFelt::try_from(point - pow1421 * oods_point)?); + total_sum += constraint_coefficients[402] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[403]) + .field_div(&NonZeroFelt::try_from(point - pow1485 * oods_point)?); + total_sum += constraint_coefficients[403] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[404]) + .field_div(&NonZeroFelt::try_from(point - pow1494 * oods_point)?); + total_sum += constraint_coefficients[404] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[405]) + .field_div(&NonZeroFelt::try_from(point - pow1517 * oods_point)?); + total_sum += constraint_coefficients[405] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[406]) + .field_div(&NonZeroFelt::try_from(point - pow1166 * oods_point)?); + total_sum += constraint_coefficients[406] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[407]) + .field_div(&NonZeroFelt::try_from(point - pow1650 * oods_point)?); + total_sum += constraint_coefficients[407] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[408]) + .field_div(&NonZeroFelt::try_from(point - pow1447 * oods_point)?); + total_sum += constraint_coefficients[408] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[409]) + .field_div(&NonZeroFelt::try_from(point - pow1393 * oods_point)?); + total_sum += constraint_coefficients[409] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[410]) + .field_div(&NonZeroFelt::try_from(point - pow1491 * oods_point)?); + total_sum += constraint_coefficients[410] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[411]) + .field_div(&NonZeroFelt::try_from(point - pow1531 * oods_point)?); + total_sum += constraint_coefficients[411] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[412]) + .field_div(&NonZeroFelt::try_from(point - pow1562 * oods_point)?); + total_sum += constraint_coefficients[412] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[413]) + .field_div(&NonZeroFelt::try_from(point - pow1161 * oods_point)?); + total_sum += constraint_coefficients[413] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[414]) + .field_div(&NonZeroFelt::try_from(point - pow1577 * oods_point)?); + total_sum += constraint_coefficients[414] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[415]) + .field_div(&NonZeroFelt::try_from(point - pow1521 * oods_point)?); + total_sum += constraint_coefficients[415] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[416]) + .field_div(&NonZeroFelt::try_from(point - pow1416 * oods_point)?); + total_sum += constraint_coefficients[416] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[417]) + .field_div(&NonZeroFelt::try_from(point - pow1440 * oods_point)?); + total_sum += constraint_coefficients[417] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[418]) + .field_div(&NonZeroFelt::try_from(point - pow1453 * oods_point)?); + total_sum += constraint_coefficients[418] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[419]) + .field_div(&NonZeroFelt::try_from(point - pow1640 * oods_point)?); + total_sum += constraint_coefficients[419] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[420]) + .field_div(&NonZeroFelt::try_from(point - pow1199 * oods_point)?); + total_sum += constraint_coefficients[420] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[421]) + .field_div(&NonZeroFelt::try_from(point - pow1667 * oods_point)?); + total_sum += constraint_coefficients[421] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[422]) + .field_div(&NonZeroFelt::try_from(point - pow1442 * oods_point)?); + total_sum += constraint_coefficients[422] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[423]) + .field_div(&NonZeroFelt::try_from(point - pow1417 * oods_point)?); + total_sum += constraint_coefficients[423] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[424]) + .field_div(&NonZeroFelt::try_from(point - pow1473 * oods_point)?); + total_sum += constraint_coefficients[424] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[425]) + .field_div(&NonZeroFelt::try_from(point - pow1492 * oods_point)?); + total_sum += constraint_coefficients[425] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[426]) + .field_div(&NonZeroFelt::try_from(point - pow1527 * oods_point)?); + total_sum += constraint_coefficients[426] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[427]) + .field_div(&NonZeroFelt::try_from(point - pow1189 * oods_point)?); + total_sum += constraint_coefficients[427] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[428]) + .field_div(&NonZeroFelt::try_from(point - pow1663 * oods_point)?); + total_sum += constraint_coefficients[428] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[429]) + .field_div(&NonZeroFelt::try_from(point - pow1443 * oods_point)?); + total_sum += constraint_coefficients[429] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[430]) + .field_div(&NonZeroFelt::try_from(point - pow1385 * oods_point)?); + total_sum += constraint_coefficients[430] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[431]) + .field_div(&NonZeroFelt::try_from(point - pow1504 * oods_point)?); + total_sum += constraint_coefficients[431] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[432]) + .field_div(&NonZeroFelt::try_from(point - pow1545 * oods_point)?); + total_sum += constraint_coefficients[432] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[433]) + .field_div(&NonZeroFelt::try_from(point - pow1625 * oods_point)?); + total_sum += constraint_coefficients[433] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[434]) + .field_div(&NonZeroFelt::try_from(point - pow1177 * oods_point)?); + total_sum += constraint_coefficients[434] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[435]) + .field_div(&NonZeroFelt::try_from(point - pow1624 * oods_point)?); + total_sum += constraint_coefficients[435] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[436]) + .field_div(&NonZeroFelt::try_from(point - pow1520 * oods_point)?); + total_sum += constraint_coefficients[436] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[437]) + .field_div(&NonZeroFelt::try_from(point - pow1408 * oods_point)?); + total_sum += constraint_coefficients[437] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[438]) + .field_div(&NonZeroFelt::try_from(point - pow1414 * oods_point)?); + total_sum += constraint_coefficients[438] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[439]) + .field_div(&NonZeroFelt::try_from(point - pow1463 * oods_point)?); + total_sum += constraint_coefficients[439] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[440]) + .field_div(&NonZeroFelt::try_from(point - pow1539 * oods_point)?); + total_sum += constraint_coefficients[440] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[441]) + .field_div(&NonZeroFelt::try_from(point - pow1170 * oods_point)?); + total_sum += constraint_coefficients[441] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[442]) + .field_div(&NonZeroFelt::try_from(point - pow1668 * oods_point)?); + total_sum += constraint_coefficients[442] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[443]) + .field_div(&NonZeroFelt::try_from(point - pow1441 * oods_point)?); + total_sum += constraint_coefficients[443] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[444]) + .field_div(&NonZeroFelt::try_from(point - pow1424 * oods_point)?); + total_sum += constraint_coefficients[444] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[445]) + .field_div(&NonZeroFelt::try_from(point - pow1456 * oods_point)?); + total_sum += constraint_coefficients[445] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[446]) + .field_div(&NonZeroFelt::try_from(point - pow1399 * oods_point)?); + total_sum += constraint_coefficients[446] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[447]) + .field_div(&NonZeroFelt::try_from(point - pow1510 * oods_point)?); + total_sum += constraint_coefficients[447] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[448]) + .field_div(&NonZeroFelt::try_from(point - pow1154 * oods_point)?); + total_sum += constraint_coefficients[448] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[449]) + .field_div(&NonZeroFelt::try_from(point - pow1585 * oods_point)?); + total_sum += constraint_coefficients[449] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[450]) + .field_div(&NonZeroFelt::try_from(point - pow1457 * oods_point)?); + total_sum += constraint_coefficients[450] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[451]) + .field_div(&NonZeroFelt::try_from(point - pow1406 * oods_point)?); + total_sum += constraint_coefficients[451] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[452]) + .field_div(&NonZeroFelt::try_from(point - pow1511 * oods_point)?); + total_sum += constraint_coefficients[452] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[453]) + .field_div(&NonZeroFelt::try_from(point - pow1155 * oods_point)?); + total_sum += constraint_coefficients[453] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[454]) + .field_div(&NonZeroFelt::try_from(point - pow1586 * oods_point)?); + total_sum += constraint_coefficients[454] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[455]) + .field_div(&NonZeroFelt::try_from(point - pow1476 * oods_point)?); + total_sum += constraint_coefficients[455] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[456]) + .field_div(&NonZeroFelt::try_from(point - pow1407 * oods_point)?); + total_sum += constraint_coefficients[456] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[457]) + .field_div(&NonZeroFelt::try_from(point - pow1558 * oods_point)?); + total_sum += constraint_coefficients[457] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[458]) + .field_div(&NonZeroFelt::try_from(point - pow1158 * oods_point)?); + total_sum += constraint_coefficients[458] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[459]) + .field_div(&NonZeroFelt::try_from(point - pow1611 * oods_point)?); + total_sum += constraint_coefficients[459] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[460]) + .field_div(&NonZeroFelt::try_from(point - pow1422 * oods_point)?); + total_sum += constraint_coefficients[460] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[461]) + .field_div(&NonZeroFelt::try_from(point - pow1384 * oods_point)?); + total_sum += constraint_coefficients[461] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[462]) + .field_div(&NonZeroFelt::try_from(point - pow1559 * oods_point)?); + total_sum += constraint_coefficients[462] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[463]) + .field_div(&NonZeroFelt::try_from(point - pow1159 * oods_point)?); + total_sum += constraint_coefficients[463] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[464]) + .field_div(&NonZeroFelt::try_from(point - pow1644 * oods_point)?); + total_sum += constraint_coefficients[464] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[465]) + .field_div(&NonZeroFelt::try_from(point - pow1423 * oods_point)?); + total_sum += constraint_coefficients[465] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[466]) + .field_div(&NonZeroFelt::try_from(point - pow1386 * oods_point)?); + total_sum += constraint_coefficients[466] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[467]) + .field_div(&NonZeroFelt::try_from(point - pow1560 * oods_point)?); + total_sum += constraint_coefficients[467] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[468]) + .field_div(&NonZeroFelt::try_from(point - pow1160 * oods_point)?); + total_sum += constraint_coefficients[468] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[469]) + .field_div(&NonZeroFelt::try_from(point - pow1651 * oods_point)?); + total_sum += constraint_coefficients[469] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[470]) + .field_div(&NonZeroFelt::try_from(point - pow1388 * oods_point)?); + total_sum += constraint_coefficients[470] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[471]) + .field_div(&NonZeroFelt::try_from(point - pow1395 * oods_point)?); + total_sum += constraint_coefficients[471] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[472]) + .field_div(&NonZeroFelt::try_from(point - pow1426 * oods_point)?); + total_sum += constraint_coefficients[472] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[473]) + .field_div(&NonZeroFelt::try_from(point - pow1552 * oods_point)?); + total_sum += constraint_coefficients[473] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[474]) + .field_div(&NonZeroFelt::try_from(point - pow1641 * oods_point)?); + total_sum += constraint_coefficients[474] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[475]) + .field_div(&NonZeroFelt::try_from(point - pow1200 * oods_point)?); + total_sum += constraint_coefficients[475] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[476]) + .field_div(&NonZeroFelt::try_from(point - pow1671 * oods_point)?); + total_sum += constraint_coefficients[476] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[477]) + .field_div(&NonZeroFelt::try_from(point - pow1551 * oods_point)?); + total_sum += constraint_coefficients[477] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[478]) + .field_div(&NonZeroFelt::try_from(point - pow1397 * oods_point)?); + total_sum += constraint_coefficients[478] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[479]) + .field_div(&NonZeroFelt::try_from(point - pow1466 * oods_point)?); + total_sum += constraint_coefficients[479] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[480]) + .field_div(&NonZeroFelt::try_from(point - pow1462 * oods_point)?); + total_sum += constraint_coefficients[480] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[481]) + .field_div(&NonZeroFelt::try_from(point - pow1541 * oods_point)?); + total_sum += constraint_coefficients[481] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[482]) + .field_div(&NonZeroFelt::try_from(point - pow1191 * oods_point)?); + total_sum += constraint_coefficients[482] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[483]) + .field_div(&NonZeroFelt::try_from(point - pow1589 * oods_point)?); + total_sum += constraint_coefficients[483] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[484]) + .field_div(&NonZeroFelt::try_from(point - pow1438 * oods_point)?); + total_sum += constraint_coefficients[484] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[485]) + .field_div(&NonZeroFelt::try_from(point - pow1418 * oods_point)?); + total_sum += constraint_coefficients[485] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[486]) + .field_div(&NonZeroFelt::try_from(point - pow1472 * oods_point)?); + total_sum += constraint_coefficients[486] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[487]) + .field_div(&NonZeroFelt::try_from(point - pow1474 * oods_point)?); + total_sum += constraint_coefficients[487] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[488]) + .field_div(&NonZeroFelt::try_from(point - pow1616 * oods_point)?); + total_sum += constraint_coefficients[488] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[489]) + .field_div(&NonZeroFelt::try_from(point - pow1172 * oods_point)?); + total_sum += constraint_coefficients[489] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[490]) + .field_div(&NonZeroFelt::try_from(point - pow1612 * oods_point)?); + total_sum += constraint_coefficients[490] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[491]) + .field_div(&NonZeroFelt::try_from(point - pow1444 * oods_point)?); + total_sum += constraint_coefficients[491] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[492]) + .field_div(&NonZeroFelt::try_from(point - pow1387 * oods_point)?); + total_sum += constraint_coefficients[492] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[493]) + .field_div(&NonZeroFelt::try_from(point - pow1503 * oods_point)?); + total_sum += constraint_coefficients[493] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[494]) + .field_div(&NonZeroFelt::try_from(point - pow1569 * oods_point)?); + total_sum += constraint_coefficients[494] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[495]) + .field_div(&NonZeroFelt::try_from(point - pow1536 * oods_point)?); + total_sum += constraint_coefficients[495] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[496]) + .field_div(&NonZeroFelt::try_from(point - pow1168 * oods_point)?); + total_sum += constraint_coefficients[496] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[497]) + .field_div(&NonZeroFelt::try_from(point - pow1626 * oods_point)?); + total_sum += constraint_coefficients[497] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[498]) + .field_div(&NonZeroFelt::try_from(point - pow1550 * oods_point)?); + total_sum += constraint_coefficients[498] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[499]) + .field_div(&NonZeroFelt::try_from(point - pow1410 * oods_point)?); + total_sum += constraint_coefficients[499] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[500]) + .field_div(&NonZeroFelt::try_from(point - pow1460 * oods_point)?); + total_sum += constraint_coefficients[500] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[501]) + .field_div(&NonZeroFelt::try_from(point - pow1669 * oods_point)?); + total_sum += constraint_coefficients[501] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[502]) + .field_div(&NonZeroFelt::try_from(point - pow1564 * oods_point)?); + total_sum += constraint_coefficients[502] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[503]) + .field_div(&NonZeroFelt::try_from(point - pow1162 * oods_point)?); + total_sum += constraint_coefficients[503] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[504]) + .field_div(&NonZeroFelt::try_from(point - pow1653 * oods_point)?); + total_sum += constraint_coefficients[504] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[505]) + .field_div(&NonZeroFelt::try_from(point - pow1647 * oods_point)?); + total_sum += constraint_coefficients[505] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[506]) + .field_div(&NonZeroFelt::try_from(point - pow1430 * oods_point)?); + total_sum += constraint_coefficients[506] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[507]) + .field_div(&NonZeroFelt::try_from(point - pow1427 * oods_point)?); + total_sum += constraint_coefficients[507] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[508]) + .field_div(&NonZeroFelt::try_from(point - pow1481 * oods_point)?); + total_sum += constraint_coefficients[508] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[509]) + .field_div(&NonZeroFelt::try_from(point - pow1620 * oods_point)?); + total_sum += constraint_coefficients[509] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[510]) + .field_div(&NonZeroFelt::try_from(point - pow1193 * oods_point)?); + total_sum += constraint_coefficients[510] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[511]) + .field_div(&NonZeroFelt::try_from(point - pow1594 * oods_point)?); + total_sum += constraint_coefficients[511] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[512]) + .field_div(&NonZeroFelt::try_from(point - pow1429 * oods_point)?); + total_sum += constraint_coefficients[512] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[513]) + .field_div(&NonZeroFelt::try_from(point - pow1484 * oods_point)?); + total_sum += constraint_coefficients[513] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[514]) + .field_div(&NonZeroFelt::try_from(point - pow1621 * oods_point)?); + total_sum += constraint_coefficients[514] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[515]) + .field_div(&NonZeroFelt::try_from(point - pow1194 * oods_point)?); + total_sum += constraint_coefficients[515] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[516]) + .field_div(&NonZeroFelt::try_from(point - pow1595 * oods_point)?); + total_sum += constraint_coefficients[516] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[517]) + .field_div(&NonZeroFelt::try_from(point - pow1475 * oods_point)?); + total_sum += constraint_coefficients[517] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[518]) + .field_div(&NonZeroFelt::try_from(point - pow1495 * oods_point)?); + total_sum += constraint_coefficients[518] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[519]) + .field_div(&NonZeroFelt::try_from(point - pow1639 * oods_point)?); + total_sum += constraint_coefficients[519] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[520]) + .field_div(&NonZeroFelt::try_from(point - pow1196 * oods_point)?); + total_sum += constraint_coefficients[520] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[521]) + .field_div(&NonZeroFelt::try_from(point - pow1613 * oods_point)?); + total_sum += constraint_coefficients[521] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[522]) + .field_div(&NonZeroFelt::try_from(point - pow1425 * oods_point)?); + total_sum += constraint_coefficients[522] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[523]) + .field_div(&NonZeroFelt::try_from(point - pow1390 * oods_point)?); + total_sum += constraint_coefficients[523] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[524]) + .field_div(&NonZeroFelt::try_from(point - pow1660 * oods_point)?); + total_sum += constraint_coefficients[524] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[525]) + .field_div(&NonZeroFelt::try_from(point - pow1197 * oods_point)?); + total_sum += constraint_coefficients[525] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[526]) + .field_div(&NonZeroFelt::try_from(point - pow1659 * oods_point)?); + total_sum += constraint_coefficients[526] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[527]) + .field_div(&NonZeroFelt::try_from(point - pow1428 * oods_point)?); + total_sum += constraint_coefficients[527] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[528]) + .field_div(&NonZeroFelt::try_from(point - pow1392 * oods_point)?); + total_sum += constraint_coefficients[528] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[529]) + .field_div(&NonZeroFelt::try_from(point - pow1662 * oods_point)?); + total_sum += constraint_coefficients[529] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[530]) + .field_div(&NonZeroFelt::try_from(point - pow1198 * oods_point)?); + total_sum += constraint_coefficients[530] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[531]) + .field_div(&NonZeroFelt::try_from(point - pow1661 * oods_point)?); + total_sum += constraint_coefficients[531] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[532]) + .field_div(&NonZeroFelt::try_from(point - pow1394 * oods_point)?); + total_sum += constraint_coefficients[532] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[533]) + .field_div(&NonZeroFelt::try_from(point - pow1433 * oods_point)?); + total_sum += constraint_coefficients[533] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[534]) + .field_div(&NonZeroFelt::try_from(point - pow1498 * oods_point)?); + total_sum += constraint_coefficients[534] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[535]) + .field_div(&NonZeroFelt::try_from(point - pow1486 * oods_point)?); + total_sum += constraint_coefficients[535] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[536]) + .field_div(&NonZeroFelt::try_from(point - pow1514 * oods_point)?); + total_sum += constraint_coefficients[536] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[537]) + .field_div(&NonZeroFelt::try_from(point - pow1184 * oods_point)?); + total_sum += constraint_coefficients[537] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[538]) + .field_div(&NonZeroFelt::try_from(point - pow1597 * oods_point)?); + total_sum += constraint_coefficients[538] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[539]) + .field_div(&NonZeroFelt::try_from(point - pow1499 * oods_point)?); + total_sum += constraint_coefficients[539] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[540]) + .field_div(&NonZeroFelt::try_from(point - pow1496 * oods_point)?); + total_sum += constraint_coefficients[540] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[541]) + .field_div(&NonZeroFelt::try_from(point - pow1515 * oods_point)?); + total_sum += constraint_coefficients[541] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[542]) + .field_div(&NonZeroFelt::try_from(point - pow1186 * oods_point)?); + total_sum += constraint_coefficients[542] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[543]) + .field_div(&NonZeroFelt::try_from(point - pow1598 * oods_point)?); + total_sum += constraint_coefficients[543] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[544]) + .field_div(&NonZeroFelt::try_from(point - pow1500 * oods_point)?); + total_sum += constraint_coefficients[544] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[545]) + .field_div(&NonZeroFelt::try_from(point - pow1497 * oods_point)?); + total_sum += constraint_coefficients[545] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[546]) + .field_div(&NonZeroFelt::try_from(point - pow1528 * oods_point)?); + total_sum += constraint_coefficients[546] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[547]) + .field_div(&NonZeroFelt::try_from(point - pow1183 * oods_point)?); + total_sum += constraint_coefficients[547] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[548]) + .field_div(&NonZeroFelt::try_from(point - pow1637 * oods_point)?); + total_sum += constraint_coefficients[548] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[549]) + .field_div(&NonZeroFelt::try_from(point - pow1431 * oods_point)?); + total_sum += constraint_coefficients[549] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[550]) + .field_div(&NonZeroFelt::try_from(point - pow1396 * oods_point)?); + total_sum += constraint_coefficients[550] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[551]) + .field_div(&NonZeroFelt::try_from(point - pow1529 * oods_point)?); + total_sum += constraint_coefficients[551] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[552]) + .field_div(&NonZeroFelt::try_from(point - pow1185 * oods_point)?); + total_sum += constraint_coefficients[552] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[553]) + .field_div(&NonZeroFelt::try_from(point - pow1638 * oods_point)?); + total_sum += constraint_coefficients[553] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[554]) + .field_div(&NonZeroFelt::try_from(point - pow1432 * oods_point)?); + total_sum += constraint_coefficients[554] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[555]) + .field_div(&NonZeroFelt::try_from(point - pow1398 * oods_point)?); + total_sum += constraint_coefficients[555] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[556]) + .field_div(&NonZeroFelt::try_from(point - pow1530 * oods_point)?); + total_sum += constraint_coefficients[556] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[557]) + .field_div(&NonZeroFelt::try_from(point - pow1187 * oods_point)?); + total_sum += constraint_coefficients[557] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[558]) + .field_div(&NonZeroFelt::try_from(point - pow1652 * oods_point)?); + total_sum += constraint_coefficients[558] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[559]) + .field_div(&NonZeroFelt::try_from(point - pow1401 * oods_point)?); + total_sum += constraint_coefficients[559] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[560]) + .field_div(&NonZeroFelt::try_from(point - pow1400 * oods_point)?); + total_sum += constraint_coefficients[560] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[561]) + .field_div(&NonZeroFelt::try_from(point - pow1470 * oods_point)?); + total_sum += constraint_coefficients[561] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[562]) + .field_div(&NonZeroFelt::try_from(point - pow1646 * oods_point)?); + total_sum += constraint_coefficients[562] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[563]) + .field_div(&NonZeroFelt::try_from(point - pow1623 * oods_point)?); + total_sum += constraint_coefficients[563] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[564]) + .field_div(&NonZeroFelt::try_from(point - pow1176 * oods_point)?); + total_sum += constraint_coefficients[564] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[565]) + .field_div(&NonZeroFelt::try_from(point - pow1603 * oods_point)?); + total_sum += constraint_coefficients[565] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[566]) + .field_div(&NonZeroFelt::try_from(point - pow1645 * oods_point)?); + total_sum += constraint_coefficients[566] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[567]) + .field_div(&NonZeroFelt::try_from(point - pow1419 * oods_point)?); + total_sum += constraint_coefficients[567] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[568]) + .field_div(&NonZeroFelt::try_from(point - pow1490 * oods_point)?); + total_sum += constraint_coefficients[568] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[569]) + .field_div(&NonZeroFelt::try_from(point - pow1487 * oods_point)?); + total_sum += constraint_coefficients[569] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[570]) + .field_div(&NonZeroFelt::try_from(point - pow1537 * oods_point)?); + total_sum += constraint_coefficients[570] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[571]) + .field_div(&NonZeroFelt::try_from(point - pow1169 * oods_point)?); + total_sum += constraint_coefficients[571] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[572]) + .field_div(&NonZeroFelt::try_from(point - pow1664 * oods_point)?); + total_sum += constraint_coefficients[572] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[573]) + .field_div(&NonZeroFelt::try_from(point - pow1445 * oods_point)?); + total_sum += constraint_coefficients[573] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[574]) + .field_div(&NonZeroFelt::try_from(point - pow1389 * oods_point)?); + total_sum += constraint_coefficients[574] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[575]) + .field_div(&NonZeroFelt::try_from(point - pow1468 * oods_point)?); + total_sum += constraint_coefficients[575] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[576]) + .field_div(&NonZeroFelt::try_from(point - pow1469 * oods_point)?); + total_sum += constraint_coefficients[576] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[577]) + .field_div(&NonZeroFelt::try_from(point - pow1565 * oods_point)?); + total_sum += constraint_coefficients[577] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[578]) + .field_div(&NonZeroFelt::try_from(point - pow1163 * oods_point)?); + total_sum += constraint_coefficients[578] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[579]) + .field_div(&NonZeroFelt::try_from(point - pow1670 * oods_point)?); + total_sum += constraint_coefficients[579] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[580]) + .field_div(&NonZeroFelt::try_from(point - pow1437 * oods_point)?); + total_sum += constraint_coefficients[580] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[581]) + .field_div(&NonZeroFelt::try_from(point - pow1411 * oods_point)?); + total_sum += constraint_coefficients[581] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[582]) + .field_div(&NonZeroFelt::try_from(point - pow1415 * oods_point)?); + total_sum += constraint_coefficients[582] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[583]) + .field_div(&NonZeroFelt::try_from(point - pow1543 * oods_point)?); + total_sum += constraint_coefficients[583] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[584]) + .field_div(&NonZeroFelt::try_from(point - pow1666 * oods_point)?); + total_sum += constraint_coefficients[584] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[585]) + .field_div(&NonZeroFelt::try_from(point - pow1202 * oods_point)?); + total_sum += constraint_coefficients[585] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[586]) + .field_div(&NonZeroFelt::try_from(point - pow1665 * oods_point)?); + total_sum += constraint_coefficients[586] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[587]) + .field_div(&NonZeroFelt::try_from(point - pow1523 * oods_point)?); + total_sum += constraint_coefficients[587] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[588]) + .field_div(&NonZeroFelt::try_from(point - pow1412 * oods_point)?); + total_sum += constraint_coefficients[588] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[589]) + .field_div(&NonZeroFelt::try_from(point - pow1413 * oods_point)?); + total_sum += constraint_coefficients[589] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[590]) + .field_div(&NonZeroFelt::try_from(point - pow1566 * oods_point)?); + total_sum += constraint_coefficients[590] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[591]) + .field_div(&NonZeroFelt::try_from(point - pow1540 * oods_point)?); + total_sum += constraint_coefficients[591] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity1_column] - oods_values[592]) + .field_div(&NonZeroFelt::try_from(point - pow1190 * oods_point)?); + total_sum += constraint_coefficients[592] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[593]) + .field_div(&NonZeroFelt::try_from(point - pow1672 * oods_point)?); + total_sum += constraint_coefficients[593] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[594]) + .field_div(&NonZeroFelt::try_from(point - pow1554 * oods_point)?); + total_sum += constraint_coefficients[594] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[595]) + .field_div(&NonZeroFelt::try_from(point - pow1436 * oods_point)?); + total_sum += constraint_coefficients[595] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[596]) + .field_div(&NonZeroFelt::try_from(point - pow1451 * oods_point)?); + total_sum += constraint_coefficients[596] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[597]) + .field_div(&NonZeroFelt::try_from(point - pow1439 * oods_point)?); + total_sum += constraint_coefficients[597] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[598]) + .field_div(&NonZeroFelt::try_from(point - pow1617 * oods_point)?); + total_sum += constraint_coefficients[598] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[599]) + .field_div(&NonZeroFelt::try_from(point - pow1173 * oods_point)?); + total_sum += constraint_coefficients[599] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[600]) + .field_div(&NonZeroFelt::try_from(point - pow1606 * oods_point)?); + total_sum += constraint_coefficients[600] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[601]) + .field_div(&NonZeroFelt::try_from(point - pow1452 * oods_point)?); + total_sum += constraint_coefficients[601] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[602]) + .field_div(&NonZeroFelt::try_from(point - pow1458 * oods_point)?); + total_sum += constraint_coefficients[602] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[603]) + .field_div(&NonZeroFelt::try_from(point - pow1618 * oods_point)?); + total_sum += constraint_coefficients[603] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[604]) + .field_div(&NonZeroFelt::try_from(point - pow1174 * oods_point)?); + total_sum += constraint_coefficients[604] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[605]) + .field_div(&NonZeroFelt::try_from(point - pow1607 * oods_point)?); + total_sum += constraint_coefficients[605] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[606]) + .field_div(&NonZeroFelt::try_from(point - pow1454 * oods_point)?); + total_sum += constraint_coefficients[606] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[607]) + .field_div(&NonZeroFelt::try_from(point - pow1459 * oods_point)?); + total_sum += constraint_coefficients[607] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[608]) + .field_div(&NonZeroFelt::try_from(point - pow1656 * oods_point)?); + total_sum += constraint_coefficients[608] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[609]) + .field_div(&NonZeroFelt::try_from(point - pow1178 * oods_point)?); + total_sum += constraint_coefficients[609] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[610]) + .field_div(&NonZeroFelt::try_from(point - pow1642 * oods_point)?); + total_sum += constraint_coefficients[610] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[611]) + .field_div(&NonZeroFelt::try_from(point - pow1434 * oods_point)?); + total_sum += constraint_coefficients[611] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[612]) + .field_div(&NonZeroFelt::try_from(point - pow1403 * oods_point)?); + total_sum += constraint_coefficients[612] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[613]) + .field_div(&NonZeroFelt::try_from(point - pow1657 * oods_point)?); + total_sum += constraint_coefficients[613] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[614]) + .field_div(&NonZeroFelt::try_from(point - pow1179 * oods_point)?); + total_sum += constraint_coefficients[614] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[615]) + .field_div(&NonZeroFelt::try_from(point - pow1654 * oods_point)?); + total_sum += constraint_coefficients[615] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[616]) + .field_div(&NonZeroFelt::try_from(point - pow1435 * oods_point)?); + total_sum += constraint_coefficients[616] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[617]) + .field_div(&NonZeroFelt::try_from(point - pow1405 * oods_point)?); + total_sum += constraint_coefficients[617] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[618]) + .field_div(&NonZeroFelt::try_from(point - pow1658 * oods_point)?); + total_sum += constraint_coefficients[618] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity2_column] - oods_values[619]) + .field_div(&NonZeroFelt::try_from(point - pow1180 * oods_point)?); + total_sum += constraint_coefficients[619] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[620]) + .field_div(&NonZeroFelt::try_from(point - pow1655 * oods_point)?); + total_sum += constraint_coefficients[620] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[621]) + .field_div(&NonZeroFelt::try_from(point - pow1409 * oods_point)?); + total_sum += constraint_coefficients[621] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[622]) + .field_div(&NonZeroFelt::try_from(point - pow1402 * oods_point)?); + total_sum += constraint_coefficients[622] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[623]) + .field_div(&NonZeroFelt::try_from(point - pow1502 * oods_point)?); + total_sum += constraint_coefficients[623] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[624]) + .field_div(&NonZeroFelt::try_from(point - pow1544 * oods_point)?); + total_sum += constraint_coefficients[624] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[625]) + .field_div(&NonZeroFelt::try_from(point - pow1526 * oods_point)?); + total_sum += constraint_coefficients[625] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity3_column] - oods_values[626]) + .field_div(&NonZeroFelt::try_from(point - pow1167 * oods_point)?); + total_sum += constraint_coefficients[626] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[627]) + .field_div(&NonZeroFelt::try_from(point - pow1636 * oods_point)?); + total_sum += constraint_coefficients[627] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[628]) + .field_div(&NonZeroFelt::try_from(point - pow1522 * oods_point)?); + total_sum += constraint_coefficients[628] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[629]) + .field_div(&NonZeroFelt::try_from(point - pow1420 * oods_point)?); + total_sum += constraint_coefficients[629] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[630]) + .field_div(&NonZeroFelt::try_from(point - pow1501 * oods_point)?); + total_sum += constraint_coefficients[630] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[631]) + .field_div(&NonZeroFelt::try_from(point - pow1493 * oods_point)?); + total_sum += constraint_coefficients[631] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[632]) + .field_div(&NonZeroFelt::try_from(point - pow1509 * oods_point)?); + total_sum += constraint_coefficients[632] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity4_column] - oods_values[633]) + .field_div(&NonZeroFelt::try_from(point - pow1157 * oods_point)?); + total_sum += constraint_coefficients[633] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[634]) + .field_div(&NonZeroFelt::try_from(point - pow1610 * oods_point)?); + total_sum += constraint_coefficients[634] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[635]) + .field_div(&NonZeroFelt::try_from(point - pow1446 * oods_point)?); + total_sum += constraint_coefficients[635] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[636]) + .field_div(&NonZeroFelt::try_from(point - pow1391 * oods_point)?); + total_sum += constraint_coefficients[636] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[637]) + .field_div(&NonZeroFelt::try_from(point - pow1478 * oods_point)?); + total_sum += constraint_coefficients[637] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[638]) + .field_div(&NonZeroFelt::try_from(point - pow1643 * oods_point)?); + total_sum += constraint_coefficients[638] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[639]) + .field_div(&NonZeroFelt::try_from(point - pow1649 * oods_point)?); + total_sum += constraint_coefficients[639] * value; + + value = (column_values[dynamic_params.keccak_keccak_rotated_parity0_column] - oods_values[640]) + .field_div(&NonZeroFelt::try_from(point - pow1201 * oods_point)?); + total_sum += constraint_coefficients[640] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[641]) + .field_div(&NonZeroFelt::try_from(point - pow1648 * oods_point)?); + total_sum += constraint_coefficients[641] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[642]) + .field_div(&NonZeroFelt::try_from(point - pow1635 * oods_point)?); + total_sum += constraint_coefficients[642] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[643]) + .field_div(&NonZeroFelt::try_from(point - pow1573 * oods_point)?); + total_sum += constraint_coefficients[643] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[644]) + .field_div(&NonZeroFelt::try_from(point - pow1380 * oods_point)?); + total_sum += constraint_coefficients[644] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[645]) + .field_div(&NonZeroFelt::try_from(point - pow1377 * oods_point)?); + total_sum += constraint_coefficients[645] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[646]) + .field_div(&NonZeroFelt::try_from(point - pow1630 * oods_point)?); + total_sum += constraint_coefficients[646] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[647]) + .field_div(&NonZeroFelt::try_from(point - pow1448 * oods_point)?); + total_sum += constraint_coefficients[647] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[648]) + .field_div(&NonZeroFelt::try_from(point - pow1449 * oods_point)?); + total_sum += constraint_coefficients[648] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[649]) + .field_div(&NonZeroFelt::try_from(point - pow1450 * oods_point)?); + total_sum += constraint_coefficients[649] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[650]) + .field_div(&NonZeroFelt::try_from(point - pow1524 * oods_point)?); + total_sum += constraint_coefficients[650] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[651]) + .field_div(&NonZeroFelt::try_from(point - pow1555 * oods_point)?); + total_sum += constraint_coefficients[651] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[652]) + .field_div(&NonZeroFelt::try_from(point - pow1631 * oods_point)?); + total_sum += constraint_coefficients[652] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[653]) + .field_div(&NonZeroFelt::try_from(point - pow1461 * oods_point)?); + total_sum += constraint_coefficients[653] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[654]) + .field_div(&NonZeroFelt::try_from(point - pow1464 * oods_point)?); + total_sum += constraint_coefficients[654] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[655]) + .field_div(&NonZeroFelt::try_from(point - pow1465 * oods_point)?); + total_sum += constraint_coefficients[655] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[656]) + .field_div(&NonZeroFelt::try_from(point - pow1525 * oods_point)?); + total_sum += constraint_coefficients[656] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[657]) + .field_div(&NonZeroFelt::try_from(point - pow1556 * oods_point)?); + total_sum += constraint_coefficients[657] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[658]) + .field_div(&NonZeroFelt::try_from(point - pow1632 * oods_point)?); + total_sum += constraint_coefficients[658] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[659]) + .field_div(&NonZeroFelt::try_from(point - pow1467 * oods_point)?); + total_sum += constraint_coefficients[659] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[660]) + .field_div(&NonZeroFelt::try_from(point - pow1471 * oods_point)?); + total_sum += constraint_coefficients[660] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[661]) + .field_div(&NonZeroFelt::try_from(point - pow1477 * oods_point)?); + total_sum += constraint_coefficients[661] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[662]) + .field_div(&NonZeroFelt::try_from(point - pow1532 * oods_point)?); + total_sum += constraint_coefficients[662] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[663]) + .field_div(&NonZeroFelt::try_from(point - pow1557 * oods_point)?); + total_sum += constraint_coefficients[663] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[664]) + .field_div(&NonZeroFelt::try_from(point - pow1633 * oods_point)?); + total_sum += constraint_coefficients[664] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[665]) + .field_div(&NonZeroFelt::try_from(point - pow1479 * oods_point)?); + total_sum += constraint_coefficients[665] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[666]) + .field_div(&NonZeroFelt::try_from(point - pow1482 * oods_point)?); + total_sum += constraint_coefficients[666] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[667]) + .field_div(&NonZeroFelt::try_from(point - pow1488 * oods_point)?); + total_sum += constraint_coefficients[667] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[668]) + .field_div(&NonZeroFelt::try_from(point - pow1533 * oods_point)?); + total_sum += constraint_coefficients[668] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[669]) + .field_div(&NonZeroFelt::try_from(point - pow1561 * oods_point)?); + total_sum += constraint_coefficients[669] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[670]) + .field_div(&NonZeroFelt::try_from(point - pow1634 * oods_point)?); + total_sum += constraint_coefficients[670] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[671]) + .field_div(&NonZeroFelt::try_from(point - pow1480 * oods_point)?); + total_sum += constraint_coefficients[671] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[672]) + .field_div(&NonZeroFelt::try_from(point - pow1483 * oods_point)?); + total_sum += constraint_coefficients[672] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[673]) + .field_div(&NonZeroFelt::try_from(point - pow1489 * oods_point)?); + total_sum += constraint_coefficients[673] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[674]) + .field_div(&NonZeroFelt::try_from(point - pow1534 * oods_point)?); + total_sum += constraint_coefficients[674] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[675]) + .field_div(&NonZeroFelt::try_from(point - pow1563 * oods_point)?); + total_sum += constraint_coefficients[675] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[676]) + .field_div(&NonZeroFelt::try_from(point - pow1675 * oods_point)?); + total_sum += constraint_coefficients[676] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[677]) + .field_div(&NonZeroFelt::try_from(point - pow1505 * oods_point)?); + total_sum += constraint_coefficients[677] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[678]) + .field_div(&NonZeroFelt::try_from(point - pow1506 * oods_point)?); + total_sum += constraint_coefficients[678] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[679]) + .field_div(&NonZeroFelt::try_from(point - pow1507 * oods_point)?); + total_sum += constraint_coefficients[679] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[680]) + .field_div(&NonZeroFelt::try_from(point - pow1535 * oods_point)?); + total_sum += constraint_coefficients[680] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[681]) + .field_div(&NonZeroFelt::try_from(point - pow1567 * oods_point)?); + total_sum += constraint_coefficients[681] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[682]) + .field_div(&NonZeroFelt::try_from(point - pow1580 * oods_point)?); + total_sum += constraint_coefficients[682] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[683]) + .field_div(&NonZeroFelt::try_from(point - pow1382 * oods_point)?); + total_sum += constraint_coefficients[683] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[684]) + .field_div(&NonZeroFelt::try_from(point - pow1379 * oods_point)?); + total_sum += constraint_coefficients[684] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[685]) + .field_div(&NonZeroFelt::try_from(point - pow1578 * oods_point)?); + total_sum += constraint_coefficients[685] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[686]) + .field_div(&NonZeroFelt::try_from(point - pow1381 * oods_point)?); + total_sum += constraint_coefficients[686] * value; + + value = (column_values[dynamic_params.diluted_pool_column] - oods_values[687]) + .field_div(&NonZeroFelt::try_from(point - pow1378 * oods_point)?); + total_sum += constraint_coefficients[687] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[688]) + .field_div(&NonZeroFelt::try_from(point - pow1961 * oods_point)?); + total_sum += constraint_coefficients[688] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[689]) + .field_div(&NonZeroFelt::try_from(point - pow1962 * oods_point)?); + total_sum += constraint_coefficients[689] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[690]) + .field_div(&NonZeroFelt::try_from(point - pow1959 * oods_point)?); + total_sum += constraint_coefficients[690] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[691]) + .field_div(&NonZeroFelt::try_from(point - pow1960 * oods_point)?); + total_sum += constraint_coefficients[691] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[692]) + .field_div(&NonZeroFelt::try_from(point - pow1957 * oods_point)?); + total_sum += constraint_coefficients[692] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[693]) + .field_div(&NonZeroFelt::try_from(point - pow1958 * oods_point)?); + total_sum += constraint_coefficients[693] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_squared_column] + - oods_values[694]) + .field_div(&NonZeroFelt::try_from(point - pow1150 * oods_point)?); + total_sum += constraint_coefficients[694] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_column] + - oods_values[695]) + .field_div(&NonZeroFelt::try_from(point - pow1145 * oods_point)?); + total_sum += constraint_coefficients[695] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_squared_column] + - oods_values[696]) + .field_div(&NonZeroFelt::try_from(point - pow1142 * oods_point)?); + total_sum += constraint_coefficients[696] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_column] + - oods_values[697]) + .field_div(&NonZeroFelt::try_from(point - pow1137 * oods_point)?); + total_sum += constraint_coefficients[697] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_squared_column] + - oods_values[698]) + .field_div(&NonZeroFelt::try_from(point - pow1134 * oods_point)?); + total_sum += constraint_coefficients[698] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_column] + - oods_values[699]) + .field_div(&NonZeroFelt::try_from(point - pow1129 * oods_point)?); + total_sum += constraint_coefficients[699] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_column] + - oods_values[700]) + .field_div(&NonZeroFelt::try_from(point - pow1126 * oods_point)?); + total_sum += constraint_coefficients[700] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[701]) + .field_div(&NonZeroFelt::try_from(point - pow1119 * oods_point)?); + total_sum += constraint_coefficients[701] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column] + - oods_values[702]) + .field_div(&NonZeroFelt::try_from(point - pow1113 * oods_point)?); + total_sum += constraint_coefficients[702] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[703]) + .field_div(&NonZeroFelt::try_from(point - pow1106 * oods_point)?); + total_sum += constraint_coefficients[703] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[704]) + .field_div(&NonZeroFelt::try_from(point - pow1884 * oods_point)?); + total_sum += constraint_coefficients[704] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[705]) + .field_div(&NonZeroFelt::try_from(point - pow1882 * oods_point)?); + total_sum += constraint_coefficients[705] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[706]) + .field_div(&NonZeroFelt::try_from(point - pow1880 * oods_point)?); + total_sum += constraint_coefficients[706] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_column] + - oods_values[707]) + .field_div(&NonZeroFelt::try_from(point - pow1147 * oods_point)?); + total_sum += constraint_coefficients[707] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_column] + - oods_values[708]) + .field_div(&NonZeroFelt::try_from(point - pow1138 * oods_point)?); + total_sum += constraint_coefficients[708] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_column] + - oods_values[709]) + .field_div(&NonZeroFelt::try_from(point - pow1131 * oods_point)?); + total_sum += constraint_coefficients[709] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[710]) + .field_div(&NonZeroFelt::try_from(point - pow1885 * oods_point)?); + total_sum += constraint_coefficients[710] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_column] + - oods_values[711]) + .field_div(&NonZeroFelt::try_from(point - pow1149 * oods_point)?); + total_sum += constraint_coefficients[711] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_squared_column] + - oods_values[712]) + .field_div(&NonZeroFelt::try_from(point - pow1152 * oods_point)?); + total_sum += constraint_coefficients[712] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_column] + - oods_values[713]) + .field_div(&NonZeroFelt::try_from(point - pow1141 * oods_point)?); + total_sum += constraint_coefficients[713] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_squared_column] + - oods_values[714]) + .field_div(&NonZeroFelt::try_from(point - pow1144 * oods_point)?); + total_sum += constraint_coefficients[714] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_column] + - oods_values[715]) + .field_div(&NonZeroFelt::try_from(point - pow1133 * oods_point)?); + total_sum += constraint_coefficients[715] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_squared_column] + - oods_values[716]) + .field_div(&NonZeroFelt::try_from(point - pow1136 * oods_point)?); + total_sum += constraint_coefficients[716] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[717]) + .field_div(&NonZeroFelt::try_from(point - pow1883 * oods_point)?); + total_sum += constraint_coefficients[717] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[718]) + .field_div(&NonZeroFelt::try_from(point - pow1881 * oods_point)?); + total_sum += constraint_coefficients[718] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[719]) + .field_div(&NonZeroFelt::try_from(point - pow1123 * oods_point)?); + total_sum += constraint_coefficients[719] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[720]) + .field_div(&NonZeroFelt::try_from(point - pow1107 * oods_point)?); + total_sum += constraint_coefficients[720] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[721]) + .field_div(&NonZeroFelt::try_from(point - pow1124 * oods_point)?); + total_sum += constraint_coefficients[721] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[722]) + .field_div(&NonZeroFelt::try_from(point - pow1108 * oods_point)?); + total_sum += constraint_coefficients[722] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[723]) + .field_div(&NonZeroFelt::try_from(point - pow1125 * oods_point)?); + total_sum += constraint_coefficients[723] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_column] + - oods_values[724]) + .field_div(&NonZeroFelt::try_from(point - pow1146 * oods_point)?); + total_sum += constraint_coefficients[724] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_squared_column] + - oods_values[725]) + .field_div(&NonZeroFelt::try_from(point - pow1151 * oods_point)?); + total_sum += constraint_coefficients[725] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_column] + - oods_values[726]) + .field_div(&NonZeroFelt::try_from(point - pow1139 * oods_point)?); + total_sum += constraint_coefficients[726] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_squared_column] + - oods_values[727]) + .field_div(&NonZeroFelt::try_from(point - pow1143 * oods_point)?); + total_sum += constraint_coefficients[727] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_column] + - oods_values[728]) + .field_div(&NonZeroFelt::try_from(point - pow1130 * oods_point)?); + total_sum += constraint_coefficients[728] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_squared_column] + - oods_values[729]) + .field_div(&NonZeroFelt::try_from(point - pow1135 * oods_point)?); + total_sum += constraint_coefficients[729] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[730]) + .field_div(&NonZeroFelt::try_from(point - pow1120 * oods_point)?); + total_sum += constraint_coefficients[730] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[731]) + .field_div(&NonZeroFelt::try_from(point - pow1121 * oods_point)?); + total_sum += constraint_coefficients[731] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_column] + - oods_values[732]) + .field_div(&NonZeroFelt::try_from(point - pow1127 * oods_point)?); + total_sum += constraint_coefficients[732] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_column] + - oods_values[733]) + .field_div(&NonZeroFelt::try_from(point - pow1122 * oods_point)?); + total_sum += constraint_coefficients[733] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state0_squared_column] + - oods_values[734]) + .field_div(&NonZeroFelt::try_from(point - pow1128 * oods_point)?); + total_sum += constraint_coefficients[734] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[735]) + .field_div(&NonZeroFelt::try_from(point - pow1109 * oods_point)?); + total_sum += constraint_coefficients[735] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column] + - oods_values[736]) + .field_div(&NonZeroFelt::try_from(point - pow1115 * oods_point)?); + total_sum += constraint_coefficients[736] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column] + - oods_values[737]) + .field_div(&NonZeroFelt::try_from(point - pow1116 * oods_point)?); + total_sum += constraint_coefficients[737] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state0_column] + - oods_values[738]) + .field_div(&NonZeroFelt::try_from(point - pow1148 * oods_point)?); + total_sum += constraint_coefficients[738] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[739]) + .field_div(&NonZeroFelt::try_from(point - pow1110 * oods_point)?); + total_sum += constraint_coefficients[739] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column] + - oods_values[740]) + .field_div(&NonZeroFelt::try_from(point - pow1114 * oods_point)?); + total_sum += constraint_coefficients[740] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[741]) + .field_div(&NonZeroFelt::try_from(point - pow1111 * oods_point)?); + total_sum += constraint_coefficients[741] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column] + - oods_values[742]) + .field_div(&NonZeroFelt::try_from(point - pow1117 * oods_point)?); + total_sum += constraint_coefficients[742] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_column] + - oods_values[743]) + .field_div(&NonZeroFelt::try_from(point - pow1112 * oods_point)?); + total_sum += constraint_coefficients[743] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_partial_rounds_state1_squared_column] + - oods_values[744]) + .field_div(&NonZeroFelt::try_from(point - pow1118 * oods_point)?); + total_sum += constraint_coefficients[744] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state1_column] + - oods_values[745]) + .field_div(&NonZeroFelt::try_from(point - pow1140 * oods_point)?); + total_sum += constraint_coefficients[745] * value; + + value = (column_values[dynamic_params.poseidon_poseidon_full_rounds_state2_column] + - oods_values[746]) + .field_div(&NonZeroFelt::try_from(point - pow1132 * oods_point)?); + total_sum += constraint_coefficients[746] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[747]) + .field_div(&NonZeroFelt::try_from(point - pow1854 * oods_point)?); + total_sum += constraint_coefficients[747] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[748]) + .field_div(&NonZeroFelt::try_from(point - pow1785 * oods_point)?); + total_sum += constraint_coefficients[748] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[749]) + .field_div(&NonZeroFelt::try_from(point - pow1784 * oods_point)?); + total_sum += constraint_coefficients[749] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[750]) + .field_div(&NonZeroFelt::try_from(point - pow1783 * oods_point)?); + total_sum += constraint_coefficients[750] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[751]) + .field_div(&NonZeroFelt::try_from(point - pow1782 * oods_point)?); + total_sum += constraint_coefficients[751] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[752]) + .field_div(&NonZeroFelt::try_from(point - pow1781 * oods_point)?); + total_sum += constraint_coefficients[752] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[753]) + .field_div(&NonZeroFelt::try_from(point - pow1780 * oods_point)?); + total_sum += constraint_coefficients[753] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[754]) + .field_div(&NonZeroFelt::try_from(point - pow1946 * oods_point)?); + total_sum += constraint_coefficients[754] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[755]) + .field_div(&NonZeroFelt::try_from(point - pow1945 * oods_point)?); + total_sum += constraint_coefficients[755] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[756]) + .field_div(&NonZeroFelt::try_from(point - pow1943 * oods_point)?); + total_sum += constraint_coefficients[756] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[757]) + .field_div(&NonZeroFelt::try_from(point - pow1942 * oods_point)?); + total_sum += constraint_coefficients[757] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[758]) + .field_div(&NonZeroFelt::try_from(point - pow1941 * oods_point)?); + total_sum += constraint_coefficients[758] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[759]) + .field_div(&NonZeroFelt::try_from(point - pow1940 * oods_point)?); + total_sum += constraint_coefficients[759] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[760]) + .field_div(&NonZeroFelt::try_from(point - pow1939 * oods_point)?); + total_sum += constraint_coefficients[760] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[761]) + .field_div(&NonZeroFelt::try_from(point - pow1938 * oods_point)?); + total_sum += constraint_coefficients[761] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[762]) + .field_div(&NonZeroFelt::try_from(point - pow1937 * oods_point)?); + total_sum += constraint_coefficients[762] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[763]) + .field_div(&NonZeroFelt::try_from(point - pow1944 * oods_point)?); + total_sum += constraint_coefficients[763] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[764]) + .field_div(&NonZeroFelt::try_from(point - pow1877 * oods_point)?); + total_sum += constraint_coefficients[764] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[765]) + .field_div(&NonZeroFelt::try_from(point - pow1853 * oods_point)?); + total_sum += constraint_coefficients[765] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[766]) + .field_div(&NonZeroFelt::try_from(point - pow1851 * oods_point)?); + total_sum += constraint_coefficients[766] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[767]) + .field_div(&NonZeroFelt::try_from(point - pow1850 * oods_point)?); + total_sum += constraint_coefficients[767] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[768]) + .field_div(&NonZeroFelt::try_from(point - pow1849 * oods_point)?); + total_sum += constraint_coefficients[768] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[769]) + .field_div(&NonZeroFelt::try_from(point - pow1855 * oods_point)?); + total_sum += constraint_coefficients[769] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[770]) + .field_div(&NonZeroFelt::try_from(point - pow1848 * oods_point)?); + total_sum += constraint_coefficients[770] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[771]) + .field_div(&NonZeroFelt::try_from(point - pow1847 * oods_point)?); + total_sum += constraint_coefficients[771] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[772]) + .field_div(&NonZeroFelt::try_from(point - pow1846 * oods_point)?); + total_sum += constraint_coefficients[772] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[773]) + .field_div(&NonZeroFelt::try_from(point - pow1845 * oods_point)?); + total_sum += constraint_coefficients[773] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[774]) + .field_div(&NonZeroFelt::try_from(point - pow1844 * oods_point)?); + total_sum += constraint_coefficients[774] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[775]) + .field_div(&NonZeroFelt::try_from(point - pow1843 * oods_point)?); + total_sum += constraint_coefficients[775] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[776]) + .field_div(&NonZeroFelt::try_from(point - pow1842 * oods_point)?); + total_sum += constraint_coefficients[776] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[777]) + .field_div(&NonZeroFelt::try_from(point - pow1852 * oods_point)?); + total_sum += constraint_coefficients[777] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[778]) + .field_div(&NonZeroFelt::try_from(point - pow1936 * oods_point)?); + total_sum += constraint_coefficients[778] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[779]) + .field_div(&NonZeroFelt::try_from(point - pow1935 * oods_point)?); + total_sum += constraint_coefficients[779] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[780]) + .field_div(&NonZeroFelt::try_from(point - pow1934 * oods_point)?); + total_sum += constraint_coefficients[780] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[781]) + .field_div(&NonZeroFelt::try_from(point - pow1933 * oods_point)?); + total_sum += constraint_coefficients[781] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[782]) + .field_div(&NonZeroFelt::try_from(point - pow1841 * oods_point)?); + total_sum += constraint_coefficients[782] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[783]) + .field_div(&NonZeroFelt::try_from(point - pow1932 * oods_point)?); + total_sum += constraint_coefficients[783] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[784]) + .field_div(&NonZeroFelt::try_from(point - pow1931 * oods_point)?); + total_sum += constraint_coefficients[784] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[785]) + .field_div(&NonZeroFelt::try_from(point - pow1930 * oods_point)?); + total_sum += constraint_coefficients[785] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[786]) + .field_div(&NonZeroFelt::try_from(point - pow1929 * oods_point)?); + total_sum += constraint_coefficients[786] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[787]) + .field_div(&NonZeroFelt::try_from(point - pow1840 * oods_point)?); + total_sum += constraint_coefficients[787] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[788]) + .field_div(&NonZeroFelt::try_from(point - pow1928 * oods_point)?); + total_sum += constraint_coefficients[788] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[789]) + .field_div(&NonZeroFelt::try_from(point - pow1927 * oods_point)?); + total_sum += constraint_coefficients[789] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[790]) + .field_div(&NonZeroFelt::try_from(point - pow1926 * oods_point)?); + total_sum += constraint_coefficients[790] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[791]) + .field_div(&NonZeroFelt::try_from(point - pow1925 * oods_point)?); + total_sum += constraint_coefficients[791] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[792]) + .field_div(&NonZeroFelt::try_from(point - pow1839 * oods_point)?); + total_sum += constraint_coefficients[792] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[793]) + .field_div(&NonZeroFelt::try_from(point - pow1924 * oods_point)?); + total_sum += constraint_coefficients[793] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[794]) + .field_div(&NonZeroFelt::try_from(point - pow1923 * oods_point)?); + total_sum += constraint_coefficients[794] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[795]) + .field_div(&NonZeroFelt::try_from(point - pow1922 * oods_point)?); + total_sum += constraint_coefficients[795] * value; + + value = (column_values[dynamic_params.add_mod_sub_p_bit_column] - oods_values[796]) + .field_div(&NonZeroFelt::try_from(point - pow1105 * oods_point)?); + total_sum += constraint_coefficients[796] * value; + + value = (column_values[dynamic_params.add_mod_carry1_bit_column] - oods_values[797]) + .field_div(&NonZeroFelt::try_from(point - pow1104 * oods_point)?); + total_sum += constraint_coefficients[797] * value; + + value = (column_values[dynamic_params.add_mod_carry1_sign_column] - oods_values[798]) + .field_div(&NonZeroFelt::try_from(point - pow1103 * oods_point)?); + total_sum += constraint_coefficients[798] * value; + + value = (column_values[dynamic_params.add_mod_carry2_bit_column] - oods_values[799]) + .field_div(&NonZeroFelt::try_from(point - pow1102 * oods_point)?); + total_sum += constraint_coefficients[799] * value; + + value = (column_values[dynamic_params.add_mod_carry2_sign_column] - oods_values[800]) + .field_div(&NonZeroFelt::try_from(point - pow1101 * oods_point)?); + total_sum += constraint_coefficients[800] * value; + + value = (column_values[dynamic_params.add_mod_carry3_bit_column] - oods_values[801]) + .field_div(&NonZeroFelt::try_from(point - pow1100 * oods_point)?); + total_sum += constraint_coefficients[801] * value; + + value = (column_values[dynamic_params.add_mod_carry3_sign_column] - oods_values[802]) + .field_div(&NonZeroFelt::try_from(point - pow1099 * oods_point)?); + total_sum += constraint_coefficients[802] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[803]) + .field_div(&NonZeroFelt::try_from(point - pow1838 * oods_point)?); + total_sum += constraint_coefficients[803] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[804]) + .field_div(&NonZeroFelt::try_from(point - pow1837 * oods_point)?); + total_sum += constraint_coefficients[804] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[805]) + .field_div(&NonZeroFelt::try_from(point - pow1836 * oods_point)?); + total_sum += constraint_coefficients[805] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[806]) + .field_div(&NonZeroFelt::try_from(point - pow1835 * oods_point)?); + total_sum += constraint_coefficients[806] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[807]) + .field_div(&NonZeroFelt::try_from(point - pow1834 * oods_point)?); + total_sum += constraint_coefficients[807] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[808]) + .field_div(&NonZeroFelt::try_from(point - pow1833 * oods_point)?); + total_sum += constraint_coefficients[808] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[809]) + .field_div(&NonZeroFelt::try_from(point - pow1832 * oods_point)?); + total_sum += constraint_coefficients[809] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[810]) + .field_div(&NonZeroFelt::try_from(point - pow1831 * oods_point)?); + total_sum += constraint_coefficients[810] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[811]) + .field_div(&NonZeroFelt::try_from(point - pow1830 * oods_point)?); + total_sum += constraint_coefficients[811] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[812]) + .field_div(&NonZeroFelt::try_from(point - pow1829 * oods_point)?); + total_sum += constraint_coefficients[812] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[813]) + .field_div(&NonZeroFelt::try_from(point - pow1828 * oods_point)?); + total_sum += constraint_coefficients[813] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[814]) + .field_div(&NonZeroFelt::try_from(point - pow1827 * oods_point)?); + total_sum += constraint_coefficients[814] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[815]) + .field_div(&NonZeroFelt::try_from(point - pow1920 * oods_point)?); + total_sum += constraint_coefficients[815] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[816]) + .field_div(&NonZeroFelt::try_from(point - pow1919 * oods_point)?); + total_sum += constraint_coefficients[816] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[817]) + .field_div(&NonZeroFelt::try_from(point - pow1918 * oods_point)?); + total_sum += constraint_coefficients[817] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[818]) + .field_div(&NonZeroFelt::try_from(point - pow1917 * oods_point)?); + total_sum += constraint_coefficients[818] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[819]) + .field_div(&NonZeroFelt::try_from(point - pow1916 * oods_point)?); + total_sum += constraint_coefficients[819] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[820]) + .field_div(&NonZeroFelt::try_from(point - pow1915 * oods_point)?); + total_sum += constraint_coefficients[820] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[821]) + .field_div(&NonZeroFelt::try_from(point - pow1914 * oods_point)?); + total_sum += constraint_coefficients[821] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[822]) + .field_div(&NonZeroFelt::try_from(point - pow1921 * oods_point)?); + total_sum += constraint_coefficients[822] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[823]) + .field_div(&NonZeroFelt::try_from(point - pow1826 * oods_point)?); + total_sum += constraint_coefficients[823] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[824]) + .field_div(&NonZeroFelt::try_from(point - pow1825 * oods_point)?); + total_sum += constraint_coefficients[824] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[825]) + .field_div(&NonZeroFelt::try_from(point - pow1823 * oods_point)?); + total_sum += constraint_coefficients[825] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[826]) + .field_div(&NonZeroFelt::try_from(point - pow1822 * oods_point)?); + total_sum += constraint_coefficients[826] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[827]) + .field_div(&NonZeroFelt::try_from(point - pow1821 * oods_point)?); + total_sum += constraint_coefficients[827] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[828]) + .field_div(&NonZeroFelt::try_from(point - pow1820 * oods_point)?); + total_sum += constraint_coefficients[828] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[829]) + .field_div(&NonZeroFelt::try_from(point - pow1819 * oods_point)?); + total_sum += constraint_coefficients[829] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[830]) + .field_div(&NonZeroFelt::try_from(point - pow1818 * oods_point)?); + total_sum += constraint_coefficients[830] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[831]) + .field_div(&NonZeroFelt::try_from(point - pow1817 * oods_point)?); + total_sum += constraint_coefficients[831] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[832]) + .field_div(&NonZeroFelt::try_from(point - pow1816 * oods_point)?); + total_sum += constraint_coefficients[832] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[833]) + .field_div(&NonZeroFelt::try_from(point - pow1815 * oods_point)?); + total_sum += constraint_coefficients[833] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[834]) + .field_div(&NonZeroFelt::try_from(point - pow1814 * oods_point)?); + total_sum += constraint_coefficients[834] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[835]) + .field_div(&NonZeroFelt::try_from(point - pow1813 * oods_point)?); + total_sum += constraint_coefficients[835] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[836]) + .field_div(&NonZeroFelt::try_from(point - pow1824 * oods_point)?); + total_sum += constraint_coefficients[836] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[837]) + .field_div(&NonZeroFelt::try_from(point - pow1913 * oods_point)?); + total_sum += constraint_coefficients[837] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[838]) + .field_div(&NonZeroFelt::try_from(point - pow1912 * oods_point)?); + total_sum += constraint_coefficients[838] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[839]) + .field_div(&NonZeroFelt::try_from(point - pow1911 * oods_point)?); + total_sum += constraint_coefficients[839] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[840]) + .field_div(&NonZeroFelt::try_from(point - pow1910 * oods_point)?); + total_sum += constraint_coefficients[840] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[841]) + .field_div(&NonZeroFelt::try_from(point - pow1812 * oods_point)?); + total_sum += constraint_coefficients[841] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[842]) + .field_div(&NonZeroFelt::try_from(point - pow1909 * oods_point)?); + total_sum += constraint_coefficients[842] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[843]) + .field_div(&NonZeroFelt::try_from(point - pow1908 * oods_point)?); + total_sum += constraint_coefficients[843] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[844]) + .field_div(&NonZeroFelt::try_from(point - pow1907 * oods_point)?); + total_sum += constraint_coefficients[844] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[845]) + .field_div(&NonZeroFelt::try_from(point - pow1906 * oods_point)?); + total_sum += constraint_coefficients[845] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[846]) + .field_div(&NonZeroFelt::try_from(point - pow1811 * oods_point)?); + total_sum += constraint_coefficients[846] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[847]) + .field_div(&NonZeroFelt::try_from(point - pow1905 * oods_point)?); + total_sum += constraint_coefficients[847] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[848]) + .field_div(&NonZeroFelt::try_from(point - pow1904 * oods_point)?); + total_sum += constraint_coefficients[848] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[849]) + .field_div(&NonZeroFelt::try_from(point - pow1903 * oods_point)?); + total_sum += constraint_coefficients[849] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[850]) + .field_div(&NonZeroFelt::try_from(point - pow1902 * oods_point)?); + total_sum += constraint_coefficients[850] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[851]) + .field_div(&NonZeroFelt::try_from(point - pow1810 * oods_point)?); + total_sum += constraint_coefficients[851] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[852]) + .field_div(&NonZeroFelt::try_from(point - pow1901 * oods_point)?); + total_sum += constraint_coefficients[852] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[853]) + .field_div(&NonZeroFelt::try_from(point - pow1900 * oods_point)?); + total_sum += constraint_coefficients[853] * value; + + value = (column_values[dynamic_params.mem_pool_addr_column] - oods_values[854]) + .field_div(&NonZeroFelt::try_from(point - pow1899 * oods_point)?); + total_sum += constraint_coefficients[854] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[855]) + .field_div(&NonZeroFelt::try_from(point - pow1809 * oods_point)?); + total_sum += constraint_coefficients[855] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[856]) + .field_div(&NonZeroFelt::try_from(point - pow1808 * oods_point)?); + total_sum += constraint_coefficients[856] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[857]) + .field_div(&NonZeroFelt::try_from(point - pow1807 * oods_point)?); + total_sum += constraint_coefficients[857] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[858]) + .field_div(&NonZeroFelt::try_from(point - pow1806 * oods_point)?); + total_sum += constraint_coefficients[858] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[859]) + .field_div(&NonZeroFelt::try_from(point - pow1805 * oods_point)?); + total_sum += constraint_coefficients[859] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[860]) + .field_div(&NonZeroFelt::try_from(point - pow1804 * oods_point)?); + total_sum += constraint_coefficients[860] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[861]) + .field_div(&NonZeroFelt::try_from(point - pow1803 * oods_point)?); + total_sum += constraint_coefficients[861] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[862]) + .field_div(&NonZeroFelt::try_from(point - pow1802 * oods_point)?); + total_sum += constraint_coefficients[862] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[863]) + .field_div(&NonZeroFelt::try_from(point - pow1801 * oods_point)?); + total_sum += constraint_coefficients[863] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[864]) + .field_div(&NonZeroFelt::try_from(point - pow1800 * oods_point)?); + total_sum += constraint_coefficients[864] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[865]) + .field_div(&NonZeroFelt::try_from(point - pow1799 * oods_point)?); + total_sum += constraint_coefficients[865] * value; + + value = (column_values[dynamic_params.mem_pool_value_column] - oods_values[866]) + .field_div(&NonZeroFelt::try_from(point - pow1798 * oods_point)?); + total_sum += constraint_coefficients[866] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[867]) + .field_div(&NonZeroFelt::try_from(point - pow1779 * oods_point)?); + total_sum += constraint_coefficients[867] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[868]) + .field_div(&NonZeroFelt::try_from(point - pow1778 * oods_point)?); + total_sum += constraint_coefficients[868] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[869]) + .field_div(&NonZeroFelt::try_from(point - pow1777 * oods_point)?); + total_sum += constraint_coefficients[869] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[870]) + .field_div(&NonZeroFelt::try_from(point - pow1776 * oods_point)?); + total_sum += constraint_coefficients[870] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[871]) + .field_div(&NonZeroFelt::try_from(point - pow1775 * oods_point)?); + total_sum += constraint_coefficients[871] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[872]) + .field_div(&NonZeroFelt::try_from(point - pow1774 * oods_point)?); + total_sum += constraint_coefficients[872] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[873]) + .field_div(&NonZeroFelt::try_from(point - pow1773 * oods_point)?); + total_sum += constraint_coefficients[873] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[874]) + .field_div(&NonZeroFelt::try_from(point - pow1772 * oods_point)?); + total_sum += constraint_coefficients[874] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[875]) + .field_div(&NonZeroFelt::try_from(point - pow1771 * oods_point)?); + total_sum += constraint_coefficients[875] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[876]) + .field_div(&NonZeroFelt::try_from(point - pow1770 * oods_point)?); + total_sum += constraint_coefficients[876] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[877]) + .field_div(&NonZeroFelt::try_from(point - pow1769 * oods_point)?); + total_sum += constraint_coefficients[877] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[878]) + .field_div(&NonZeroFelt::try_from(point - pow1768 * oods_point)?); + total_sum += constraint_coefficients[878] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[879]) + .field_div(&NonZeroFelt::try_from(point - pow1767 * oods_point)?); + total_sum += constraint_coefficients[879] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[880]) + .field_div(&NonZeroFelt::try_from(point - pow1766 * oods_point)?); + total_sum += constraint_coefficients[880] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[881]) + .field_div(&NonZeroFelt::try_from(point - pow1765 * oods_point)?); + total_sum += constraint_coefficients[881] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[882]) + .field_div(&NonZeroFelt::try_from(point - pow1764 * oods_point)?); + total_sum += constraint_coefficients[882] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[883]) + .field_div(&NonZeroFelt::try_from(point - pow1763 * oods_point)?); + total_sum += constraint_coefficients[883] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[884]) + .field_div(&NonZeroFelt::try_from(point - pow1762 * oods_point)?); + total_sum += constraint_coefficients[884] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[885]) + .field_div(&NonZeroFelt::try_from(point - pow1761 * oods_point)?); + total_sum += constraint_coefficients[885] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[886]) + .field_div(&NonZeroFelt::try_from(point - pow1760 * oods_point)?); + total_sum += constraint_coefficients[886] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[887]) + .field_div(&NonZeroFelt::try_from(point - pow1759 * oods_point)?); + total_sum += constraint_coefficients[887] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[888]) + .field_div(&NonZeroFelt::try_from(point - pow1758 * oods_point)?); + total_sum += constraint_coefficients[888] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[889]) + .field_div(&NonZeroFelt::try_from(point - pow1757 * oods_point)?); + total_sum += constraint_coefficients[889] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[890]) + .field_div(&NonZeroFelt::try_from(point - pow1756 * oods_point)?); + total_sum += constraint_coefficients[890] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[891]) + .field_div(&NonZeroFelt::try_from(point - pow1755 * oods_point)?); + total_sum += constraint_coefficients[891] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[892]) + .field_div(&NonZeroFelt::try_from(point - pow1754 * oods_point)?); + total_sum += constraint_coefficients[892] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[893]) + .field_div(&NonZeroFelt::try_from(point - pow1753 * oods_point)?); + total_sum += constraint_coefficients[893] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[894]) + .field_div(&NonZeroFelt::try_from(point - pow1752 * oods_point)?); + total_sum += constraint_coefficients[894] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[895]) + .field_div(&NonZeroFelt::try_from(point - pow1751 * oods_point)?); + total_sum += constraint_coefficients[895] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[896]) + .field_div(&NonZeroFelt::try_from(point - pow1750 * oods_point)?); + total_sum += constraint_coefficients[896] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[897]) + .field_div(&NonZeroFelt::try_from(point - pow1749 * oods_point)?); + total_sum += constraint_coefficients[897] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[898]) + .field_div(&NonZeroFelt::try_from(point - pow1748 * oods_point)?); + total_sum += constraint_coefficients[898] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[899]) + .field_div(&NonZeroFelt::try_from(point - pow1747 * oods_point)?); + total_sum += constraint_coefficients[899] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[900]) + .field_div(&NonZeroFelt::try_from(point - pow1746 * oods_point)?); + total_sum += constraint_coefficients[900] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[901]) + .field_div(&NonZeroFelt::try_from(point - pow1745 * oods_point)?); + total_sum += constraint_coefficients[901] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[902]) + .field_div(&NonZeroFelt::try_from(point - pow1744 * oods_point)?); + total_sum += constraint_coefficients[902] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[903]) + .field_div(&NonZeroFelt::try_from(point - pow1743 * oods_point)?); + total_sum += constraint_coefficients[903] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[904]) + .field_div(&NonZeroFelt::try_from(point - pow1742 * oods_point)?); + total_sum += constraint_coefficients[904] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[905]) + .field_div(&NonZeroFelt::try_from(point - pow1741 * oods_point)?); + total_sum += constraint_coefficients[905] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[906]) + .field_div(&NonZeroFelt::try_from(point - pow1740 * oods_point)?); + total_sum += constraint_coefficients[906] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[907]) + .field_div(&NonZeroFelt::try_from(point - pow1739 * oods_point)?); + total_sum += constraint_coefficients[907] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[908]) + .field_div(&NonZeroFelt::try_from(point - pow1738 * oods_point)?); + total_sum += constraint_coefficients[908] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[909]) + .field_div(&NonZeroFelt::try_from(point - pow1737 * oods_point)?); + total_sum += constraint_coefficients[909] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[910]) + .field_div(&NonZeroFelt::try_from(point - pow1736 * oods_point)?); + total_sum += constraint_coefficients[910] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[911]) + .field_div(&NonZeroFelt::try_from(point - pow1735 * oods_point)?); + total_sum += constraint_coefficients[911] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[912]) + .field_div(&NonZeroFelt::try_from(point - pow1734 * oods_point)?); + total_sum += constraint_coefficients[912] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[913]) + .field_div(&NonZeroFelt::try_from(point - pow1733 * oods_point)?); + total_sum += constraint_coefficients[913] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[914]) + .field_div(&NonZeroFelt::try_from(point - pow1732 * oods_point)?); + total_sum += constraint_coefficients[914] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[915]) + .field_div(&NonZeroFelt::try_from(point - pow1731 * oods_point)?); + total_sum += constraint_coefficients[915] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[916]) + .field_div(&NonZeroFelt::try_from(point - pow1730 * oods_point)?); + total_sum += constraint_coefficients[916] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[917]) + .field_div(&NonZeroFelt::try_from(point - pow1729 * oods_point)?); + total_sum += constraint_coefficients[917] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[918]) + .field_div(&NonZeroFelt::try_from(point - pow1728 * oods_point)?); + total_sum += constraint_coefficients[918] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[919]) + .field_div(&NonZeroFelt::try_from(point - pow1727 * oods_point)?); + total_sum += constraint_coefficients[919] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[920]) + .field_div(&NonZeroFelt::try_from(point - pow1726 * oods_point)?); + total_sum += constraint_coefficients[920] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[921]) + .field_div(&NonZeroFelt::try_from(point - pow1725 * oods_point)?); + total_sum += constraint_coefficients[921] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[922]) + .field_div(&NonZeroFelt::try_from(point - pow1724 * oods_point)?); + total_sum += constraint_coefficients[922] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[923]) + .field_div(&NonZeroFelt::try_from(point - pow1723 * oods_point)?); + total_sum += constraint_coefficients[923] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[924]) + .field_div(&NonZeroFelt::try_from(point - pow1722 * oods_point)?); + total_sum += constraint_coefficients[924] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[925]) + .field_div(&NonZeroFelt::try_from(point - pow1721 * oods_point)?); + total_sum += constraint_coefficients[925] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[926]) + .field_div(&NonZeroFelt::try_from(point - pow1720 * oods_point)?); + total_sum += constraint_coefficients[926] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[927]) + .field_div(&NonZeroFelt::try_from(point - pow1719 * oods_point)?); + total_sum += constraint_coefficients[927] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[928]) + .field_div(&NonZeroFelt::try_from(point - pow1718 * oods_point)?); + total_sum += constraint_coefficients[928] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[929]) + .field_div(&NonZeroFelt::try_from(point - pow1717 * oods_point)?); + total_sum += constraint_coefficients[929] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[930]) + .field_div(&NonZeroFelt::try_from(point - pow1716 * oods_point)?); + total_sum += constraint_coefficients[930] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[931]) + .field_div(&NonZeroFelt::try_from(point - pow1715 * oods_point)?); + total_sum += constraint_coefficients[931] * value; + + value = (column_values[dynamic_params.range_check16_pool_column] - oods_values[932]) + .field_div(&NonZeroFelt::try_from(point - pow1714 * oods_point)?); + total_sum += constraint_coefficients[932] * value; + + value = (column_values[dynamic_params.memory_multi_column_perm_perm_cum_prod0_column] + - oods_values[933]) + .field_div(&NonZeroFelt::try_from(point - pow1097 * oods_point)?); + total_sum += constraint_coefficients[933] * value; + + value = (column_values[dynamic_params.memory_multi_column_perm_perm_cum_prod0_column] + - oods_values[934]) + .field_div(&NonZeroFelt::try_from(point - pow1098 * oods_point)?); + total_sum += constraint_coefficients[934] * value; + + value = (column_values[dynamic_params.range_check16_perm_cum_prod0_column] - oods_values[935]) + .field_div(&NonZeroFelt::try_from(point - pow1095 * oods_point)?); + total_sum += constraint_coefficients[935] * value; + + value = (column_values[dynamic_params.range_check16_perm_cum_prod0_column] - oods_values[936]) + .field_div(&NonZeroFelt::try_from(point - pow1096 * oods_point)?); + total_sum += constraint_coefficients[936] * value; + + value = (column_values[dynamic_params.diluted_check_permutation_cum_prod0_column] + - oods_values[937]) + .field_div(&NonZeroFelt::try_from(point - pow1093 * oods_point)?); + total_sum += constraint_coefficients[937] * value; + + value = (column_values[dynamic_params.diluted_check_permutation_cum_prod0_column] + - oods_values[938]) + .field_div(&NonZeroFelt::try_from(point - pow1094 * oods_point)?); + total_sum += constraint_coefficients[938] * value; + + value = (column_values[dynamic_params.diluted_check_cumulative_value_column] + - oods_values[939]) + .field_div(&NonZeroFelt::try_from(point - pow1091 * oods_point)?); + total_sum += constraint_coefficients[939] * value; + + value = (column_values[dynamic_params.diluted_check_cumulative_value_column] + - oods_values[940]) + .field_div(&NonZeroFelt::try_from(point - pow1092 * oods_point)?); + total_sum += constraint_coefficients[940] * value; + + // Sum the OODS boundary constraints on the composition polynomials. + let oods_point_to_deg = oods_point.pow_felt(&Felt::from(Layout::CONSTRAINT_DEGREE)); + + value = (column_values[dynamic_params.num_columns_first + dynamic_params.num_columns_second] + - oods_values[941]) + .field_div(&NonZeroFelt::try_from(point - oods_point_to_deg)?); + total_sum += constraint_coefficients[941] * value; + + value = (column_values + [dynamic_params.num_columns_first + dynamic_params.num_columns_second + 1] + - oods_values[942]) + .field_div(&NonZeroFelt::try_from(point - oods_point_to_deg)?); + total_sum += constraint_coefficients[942] * value; + + Ok(total_sum) +} diff --git a/crates/air/src/layout/dynamic/global_values.rs b/crates/air/src/layout/dynamic/global_values.rs new file mode 100644 index 0000000..f56e549 --- /dev/null +++ b/crates/air/src/layout/dynamic/global_values.rs @@ -0,0 +1,366 @@ +use serde::{Deserialize, Serialize}; +use serde_with::serde_as; +use starknet_crypto::Felt; +use swiftness_transcript::transcript::Transcript; + +#[serde_as] +#[derive(Debug, PartialEq, Serialize, Deserialize)] +pub struct EcPoint { + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub x: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub y: Felt, +} + +#[serde_as] +#[derive(Debug, PartialEq, Serialize, Deserialize)] +pub struct CurveConfig { + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub alpha: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub beta: Felt, +} + +#[serde_as] +#[derive(Debug, PartialEq, Serialize, Deserialize)] +pub struct EcdsaSigConfig { + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub alpha: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub beta: Felt, + pub shift_point: EcPoint, +} + +// Accumulation of member expressions for auto generated composition polynomial code. +#[serde_as] +#[derive(Debug, PartialEq, Serialize, Deserialize)] +pub struct GlobalValues { + // Public input. + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub trace_length: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_pc: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub final_pc: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_ap: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub final_ap: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_pedersen_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_range_check_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_ecdsa_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_bitwise_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_ec_op_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_keccak_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_poseidon_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub initial_range_check96_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub add_mod_initial_mod_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub mul_mod_initial_mod_addr: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub range_check_min: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub range_check_max: Felt, + // Constants. + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub offset_size: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub half_offset_size: Felt, + pub pedersen_shift_point: EcPoint, + pub ecdsa_sig_config: EcdsaSigConfig, + pub ec_op_curve_config: CurveConfig, + // Periodic columns. + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub pedersen_points_x: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub pedersen_points_y: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub ecdsa_generator_points_x: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub ecdsa_generator_points_y: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key0: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key1: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key3: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key7: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key15: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key31: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub keccak_keccak_keccak_round_key63: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub poseidon_poseidon_full_round_key0: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub poseidon_poseidon_full_round_key1: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub poseidon_poseidon_full_round_key2: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub poseidon_poseidon_partial_round_key0: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub poseidon_poseidon_partial_round_key1: Felt, + // Interaction elements. + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub memory_multi_column_perm_perm_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub memory_multi_column_perm_hash_interaction_elm0: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub range_check16_perm_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_permutation_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_interaction_z: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_interaction_alpha: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub add_mod_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub mul_mod_interaction_elm: Felt, + // Permutation products. + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub memory_multi_column_perm_perm_public_memory_prod: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub range_check16_perm_public_memory_prod: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_first_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_permutation_public_memory_prod: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_final_cum_val: Felt, +} + +// Elements that are sent from the prover after the commitment on the original trace. +// Used for components after the first interaction, e.g., memory and range check. +#[serde_as] +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct InteractionElements { + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub memory_multi_column_perm_perm_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub memory_multi_column_perm_hash_interaction_elm0: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub range_check16_perm_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_permutation_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_interaction_z: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub diluted_check_interaction_alpha: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub add_mod_interaction_elm: Felt, + #[cfg_attr( + feature = "std", + serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") + )] + pub mul_mod_interaction_elm: Felt, +} + +impl InteractionElements { + pub fn new(transcript: &mut Transcript) -> Self { + Self { + memory_multi_column_perm_perm_interaction_elm: transcript.random_felt_to_prover(), + memory_multi_column_perm_hash_interaction_elm0: transcript.random_felt_to_prover(), + range_check16_perm_interaction_elm: transcript.random_felt_to_prover(), + diluted_check_permutation_interaction_elm: transcript.random_felt_to_prover(), + diluted_check_interaction_z: transcript.random_felt_to_prover(), + diluted_check_interaction_alpha: transcript.random_felt_to_prover(), + add_mod_interaction_elm: transcript.random_felt_to_prover(), + mul_mod_interaction_elm: transcript.random_felt_to_prover(), + } + } +} diff --git a/crates/air/src/layout/dynamic/mod.rs b/crates/air/src/layout/dynamic/mod.rs new file mode 100644 index 0000000..2f79f82 --- /dev/null +++ b/crates/air/src/layout/dynamic/mod.rs @@ -0,0 +1,802 @@ +pub mod autogenerated; +pub mod global_values; + +use crate::{ + alloc::borrow::ToOwned, + consts::*, + diluted::get_diluted_product, + layout::{safe_div, stark_curve}, + periodic_columns::{ + eval_ecdsa_x, eval_ecdsa_y, eval_keccak_round_key0, eval_keccak_round_key1, + eval_keccak_round_key15, eval_keccak_round_key3, eval_keccak_round_key31, + eval_keccak_round_key63, eval_keccak_round_key7, eval_pedersen_x, eval_pedersen_y, + eval_poseidon_poseidon_full_round_key0, eval_poseidon_poseidon_full_round_key1, + eval_poseidon_poseidon_full_round_key2, eval_poseidon_poseidon_partial_round_key0, + eval_poseidon_poseidon_partial_round_key1, + }, + public_memory::{PublicInput, INITIAL_PC, MAX_ADDRESS, MAX_LOG_N_STEPS, MAX_RANGE_CHECK}, +}; +use alloc::vec; +use alloc::vec::Vec; +use global_values::{CurveConfig, EcPoint, EcdsaSigConfig, GlobalValues, InteractionElements}; +use starknet_core::types::NonZeroFelt; +use starknet_crypto::{pedersen_hash, Felt}; +use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; +use swiftness_transcript::ensure; + +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, +}; + +pub const N_DYNAMIC_PARAMS: usize = 340; +pub const N_CONSTRAINTS: usize = 419; +pub const MASK_SIZE: usize = 941; +pub const CPU_COMPONENT_HEIGHT: usize = 16; +pub const PUBLIC_MEMORY_FRACTION: usize = 8; +pub const HAS_DILUTED_POOL: usize = 1; +pub const DILUTED_SPACING: usize = 4; +pub const DILUTED_N_BITS: usize = 16; +pub const PEDERSEN_BUILTIN_REPETITIONS: usize = 1; +pub const RANGE_CHECK_N_PARTS: usize = 8; +pub const ECDSA_BUILTIN_REPETITIONS: usize = 1; +pub const ECDSA_ELEMENT_BITS: usize = 251; +pub const ECDSA_ELEMENT_HEIGHT: usize = 256; +pub const BITWISE_TOTAL_N_BITS: usize = 251; +pub const EC_OP_SCALAR_HEIGHT: usize = 256; +pub const EC_OP_N_BITS: usize = 252; +pub const POSEIDON_M: usize = 3; +pub const POSEIDON_ROUNDS_FULL: usize = 8; +pub const POSEIDON_ROUNDS_PARTIAL: usize = 83; +pub const RANGE_CHECK96_N_PARTS: usize = 6; +pub const ADD_MOD_WORD_BIT_LEN: usize = 96; +pub const ADD_MOD_N_WORDS: usize = 4; +pub const ADD_MOD_BATCH_SIZE: usize = 1; +pub const MUL_MOD_WORD_BIT_LEN: usize = 96; +pub const MUL_MOD_N_WORDS: usize = 4; +pub const MUL_MOD_BATCH_SIZE: usize = 1; +pub const HAS_OUTPUT_BUILTIN: usize = 1; +pub const HAS_PEDERSEN_BUILTIN: usize = 1; +pub const HAS_RANGE_CHECK_BUILTIN: usize = 1; +pub const HAS_ECDSA_BUILTIN: usize = 1; +pub const HAS_BITWISE_BUILTIN: usize = 1; +pub const HAS_EC_OP_BUILTIN: usize = 1; +pub const HAS_KECCAK_BUILTIN: usize = 1; +pub const HAS_POSEIDON_BUILTIN: usize = 1; +pub const HAS_RANGE_CHECK96_BUILTIN: usize = 1; +pub const HAS_ADD_MOD_BUILTIN: usize = 1; +pub const HAS_MUL_MOD_BUILTIN: usize = 1; +pub const LAYOUT_CODE: Felt = Felt::from_hex_unchecked("0x64796e616d6963"); +pub const CONSTRAINT_DEGREE: usize = 2; +pub const IS_DYNAMIC_AIR: usize = 1; +pub const KECCAK_PERMUTATIONS_PER_INSTANCE: usize = DILUTED_N_BITS; + +pub mod segments { + pub const ADD_MOD: usize = 11; + pub const BITWISE: usize = 6; + pub const EC_OP: usize = 7; + pub const ECDSA: usize = 5; + pub const EXECUTION: usize = 1; + pub const KECCAK: usize = 8; + pub const MUL_MOD: usize = 12; + pub const N_SEGMENTS: usize = 13; + pub const OUTPUT: usize = 2; + pub const PEDERSEN: usize = 3; + pub const POSEIDON: usize = 9; + pub const PROGRAM: usize = 0; + pub const RANGE_CHECK: usize = 4; + pub const RANGE_CHECK96: usize = 10; +} + +pub mod builtins { + use starknet_crypto::Felt; + + pub const OUTPUT: Felt = Felt::from_hex_unchecked("0x6F7574707574"); + pub const PEDERSEN: Felt = Felt::from_hex_unchecked("0x706564657273656E"); + pub const RANGE_CHECK: Felt = Felt::from_hex_unchecked("0x72616E67655F636865636B"); + pub const ECDSA: Felt = Felt::from_hex_unchecked("0x6563647361"); + pub const BITWISE: Felt = Felt::from_hex_unchecked("0x62697477697365"); + pub const EC_OP: Felt = Felt::from_hex_unchecked("0x65635F6F70"); + pub const KECCAK: Felt = Felt::from_hex_unchecked("0x6B656363616B"); + pub const POSEIDON: Felt = Felt::from_hex_unchecked("0x706F736569646F6E"); + pub const RANGE_CHECK96: Felt = Felt::from_hex_unchecked("0x72616E67655F636865636B3936"); + pub const ADD_MOD: Felt = Felt::from_hex_unchecked("0x6164645F6D6F64"); + pub const MUL_MOD: Felt = Felt::from_hex_unchecked("0x6D756C5F6D6F64"); +} + +// Pedersen builtin +pub const SHIFT_POINT_X: Felt = + Felt::from_hex_unchecked("0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804"); +pub const SHIFT_POINT_Y: Felt = + Felt::from_hex_unchecked("0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a"); + +pub const BUILTINS: [Felt; 11] = [ + builtins::OUTPUT, + builtins::PEDERSEN, + builtins::RANGE_CHECK, + builtins::ECDSA, + builtins::BITWISE, + builtins::EC_OP, + builtins::KECCAK, + builtins::POSEIDON, + builtins::RANGE_CHECK96, + builtins::ADD_MOD, + builtins::MUL_MOD, +]; + +pub struct Layout {} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(public_input: &PublicInput) -> Option { + public_input.dynamic_params.as_ref().map(|d| d.num_columns_first) + } + fn get_num_columns_second(public_input: &PublicInput) -> Option { + public_input.dynamic_params.as_ref().map(|d| d.num_columns_second) + } +} + +impl LayoutTrait for Layout { + const CONSTRAINT_DEGREE: usize = 2; + const MASK_SIZE: usize = 941; + const N_CONSTRAINTS: usize = 419; + type InteractionElements = InteractionElements; + + fn eval_composition_polynomial( + interaction_elements: &Self::InteractionElements, + public_input: &PublicInput, + mask_values: &[Felt], + constraint_coefficients: &[Felt], + point: &Felt, + trace_domain_size: &Felt, + trace_generator: &Felt, + ) -> Result { + let dynamic_params = public_input + .dynamic_params + .to_owned() + .ok_or(CompositionPolyEvalError::DynamicParamsMissing)?; + let memory_z = interaction_elements.memory_multi_column_perm_perm_interaction_elm; + let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; + + // Public memory + let public_memory_column_size = trace_domain_size.field_div(&NonZeroFelt::try_from( + Felt::from(dynamic_params.memory_units_row_ratio) * Felt::from(PUBLIC_MEMORY_FRACTION), + )?); + ensure!( + public_memory_column_size < u128::MAX.into(), + CompositionPolyEvalError::ValueOutOfRange + ); + let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( + memory_z, + memory_alpha, + public_memory_column_size, + ); + + // Diluted + let diluted_z = interaction_elements.diluted_check_interaction_z; + let diluted_alpha = interaction_elements.diluted_check_interaction_alpha; + let diluted_prod = get_diluted_product( + DILUTED_N_BITS.into(), + DILUTED_SPACING.into(), + diluted_z, + diluted_alpha, + ); + + // Periodic columns + let (pedersen_points_x, pedersen_points_y) = if dynamic_params.uses_pedersen_builtin == 0 { + (FELT_0, FELT_0) + } else { + let n_pedersen_hash_copies = trace_domain_size.field_div(&NonZeroFelt::try_from( + Felt::from(dynamic_params.pedersen_builtin_row_ratio) + * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); + ensure!( + n_pedersen_hash_copies < u128::MAX.into(), + CompositionPolyEvalError::ValueOutOfRange + ); + let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); + (eval_pedersen_x(pedersen_point), eval_pedersen_y(pedersen_point)) + }; + + let (ecdsa_generator_points_x, ecdsa_generator_points_y) = + if dynamic_params.uses_ecdsa_builtin == 0 { + (FELT_0, FELT_0) + } else { + let n_ecdsa_signature_copies = trace_domain_size.field_div(&NonZeroFelt::try_from( + Felt::from(dynamic_params.ecdsa_builtin_row_ratio) + * Felt::from(ECDSA_BUILTIN_REPETITIONS), + )?); + ensure!( + n_ecdsa_signature_copies < u128::MAX.into(), + CompositionPolyEvalError::ValueOutOfRange + ); + let ecdsa_point = point.pow_felt(&n_ecdsa_signature_copies); + (eval_ecdsa_x(ecdsa_point), eval_ecdsa_y(ecdsa_point)) + }; + + let ( + keccak_keccak_keccak_round_key0, + keccak_keccak_keccak_round_key1, + keccak_keccak_keccak_round_key3, + keccak_keccak_keccak_round_key7, + keccak_keccak_keccak_round_key15, + keccak_keccak_keccak_round_key31, + keccak_keccak_keccak_round_key63, + ) = if dynamic_params.uses_keccak_builtin == 0 { + (FELT_0, FELT_0, FELT_0, FELT_0, FELT_0, FELT_0, FELT_0) + } else { + let n_keccak_component_copies = trace_domain_size.field_div(&NonZeroFelt::try_from( + Felt::from(dynamic_params.keccak_row_ratio) + * Felt::from(KECCAK_PERMUTATIONS_PER_INSTANCE), + )?); + ensure!( + n_keccak_component_copies < u128::MAX.into(), + CompositionPolyEvalError::ValueOutOfRange + ); + let n_keccak_periodic_columns_copies = Felt::from(2048) * n_keccak_component_copies; + let keccak_point = point.pow_felt(&n_keccak_periodic_columns_copies); + ( + eval_keccak_round_key0(keccak_point), + eval_keccak_round_key1(keccak_point), + eval_keccak_round_key3(keccak_point), + eval_keccak_round_key7(keccak_point), + eval_keccak_round_key15(keccak_point), + eval_keccak_round_key31(keccak_point), + eval_keccak_round_key63(keccak_point), + ) + }; + + let ( + poseidon_poseidon_full_round_key0, + poseidon_poseidon_full_round_key1, + poseidon_poseidon_full_round_key2, + poseidon_poseidon_partial_round_key0, + poseidon_poseidon_partial_round_key1, + ) = if dynamic_params.uses_poseidon_builtin == 0 { + (FELT_0, FELT_0, FELT_0, FELT_0, FELT_0) + } else { + let n_poseidon_copies = trace_domain_size + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.poseidon_row_ratio))?); + ensure!( + n_poseidon_copies < u128::MAX.into(), + CompositionPolyEvalError::ValueOutOfRange + ); + let poseidon_point = point.pow_felt(&n_poseidon_copies); + ( + eval_poseidon_poseidon_full_round_key0(poseidon_point), + eval_poseidon_poseidon_full_round_key1(poseidon_point), + eval_poseidon_poseidon_full_round_key2(poseidon_point), + eval_poseidon_poseidon_partial_round_key0(poseidon_point), + eval_poseidon_poseidon_partial_round_key1(poseidon_point), + ) + }; + + let global_values = GlobalValues { + trace_length: *trace_domain_size, + initial_pc: public_input + .segments + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? + .begin_addr, + final_pc: public_input + .segments + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? + .stop_ptr, + initial_ap: public_input + .segments + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? + .begin_addr, + final_ap: public_input + .segments + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? + .stop_ptr, + initial_pedersen_addr: public_input + .segments + .get(segments::PEDERSEN) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PEDERSEN })? + .begin_addr, + initial_range_check_addr: public_input + .segments + .get(segments::RANGE_CHECK) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::RANGE_CHECK })? + .begin_addr, + initial_ecdsa_addr: public_input + .segments + .get(segments::ECDSA) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::ECDSA })? + .begin_addr, + initial_bitwise_addr: public_input + .segments + .get(segments::BITWISE) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::BITWISE })? + .begin_addr, + initial_ec_op_addr: public_input + .segments + .get(segments::EC_OP) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EC_OP })? + .begin_addr, + initial_keccak_addr: public_input + .segments + .get(segments::KECCAK) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::KECCAK })? + .begin_addr, + initial_poseidon_addr: public_input + .segments + .get(segments::POSEIDON) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::POSEIDON })? + .begin_addr, + initial_range_check96_addr: public_input + .segments + .get(segments::RANGE_CHECK96) + .ok_or(CompositionPolyEvalError::SegmentMissing { + segment: segments::RANGE_CHECK96, + })? + .begin_addr, + add_mod_initial_mod_addr: public_input + .segments + .get(segments::ADD_MOD) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::ADD_MOD })? + .begin_addr, + mul_mod_initial_mod_addr: public_input + .segments + .get(segments::MUL_MOD) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::MUL_MOD })? + .begin_addr, + range_check_min: public_input.range_check_min, + range_check_max: public_input.range_check_max, + offset_size: FELT_65536, + half_offset_size: FELT_32768, + pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, + ecdsa_sig_config: EcdsaSigConfig { + alpha: stark_curve::ALPHA, + beta: stark_curve::BETA, + shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, + }, + ec_op_curve_config: CurveConfig { alpha: stark_curve::ALPHA, beta: stark_curve::BETA }, + pedersen_points_x, + pedersen_points_y, + ecdsa_generator_points_x, + ecdsa_generator_points_y, + keccak_keccak_keccak_round_key0, + keccak_keccak_keccak_round_key1, + keccak_keccak_keccak_round_key3, + keccak_keccak_keccak_round_key7, + keccak_keccak_keccak_round_key15, + keccak_keccak_keccak_round_key31, + keccak_keccak_keccak_round_key63, + poseidon_poseidon_full_round_key0, + poseidon_poseidon_full_round_key1, + poseidon_poseidon_full_round_key2, + poseidon_poseidon_partial_round_key0, + poseidon_poseidon_partial_round_key1, + memory_multi_column_perm_perm_interaction_elm: memory_z, + memory_multi_column_perm_hash_interaction_elm0: memory_alpha, + range_check16_perm_interaction_elm: interaction_elements + .range_check16_perm_interaction_elm, + diluted_check_permutation_interaction_elm: interaction_elements + .diluted_check_permutation_interaction_elm, + 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: FELT_1, + diluted_check_first_elm: FELT_0, + diluted_check_permutation_public_memory_prod: FELT_1, + diluted_check_final_cum_val: diluted_prod, + }; + + autogenerated::eval_composition_polynomial_inner( + mask_values, + constraint_coefficients, + point, + trace_generator, + &global_values, + &dynamic_params, + ) + } + fn eval_oods_polynomial( + public_input: &PublicInput, + column_values: &[Felt], + oods_values: &[Felt], + constraint_coefficients: &[Felt], + point: &Felt, + oods_point: &Felt, + trace_generator: &Felt, + ) -> Result { + let dynamic_params = public_input + .dynamic_params + .to_owned() + .ok_or(OodsPolyEvalError::DynamicParamsMissing)?; + autogenerated::eval_oods_polynomial_inner::( + column_values, + oods_values, + constraint_coefficients, + point, + oods_point, + trace_generator, + &dynamic_params, + ) + } + fn traces_commit( + transcript: &mut swiftness_transcript::transcript::Transcript, + unsent_commitment: &crate::trace::UnsentCommitment, + config: crate::trace::config::Config, + ) -> crate::trace::Commitment { + // Read original commitment. + let original_commitment = + table_commit(transcript, unsent_commitment.original, config.original); + + // Generate interaction elements for the first interaction. + let interaction_elements = Self::InteractionElements::new(transcript); + + // Read interaction commitment. + let interaction_commitment = + table_commit(transcript, unsent_commitment.interaction, config.interaction); + + crate::trace::Commitment { + original: original_commitment, + interaction_elements, + interaction: interaction_commitment, + } + } + fn traces_decommit( + queries: &[Felt], + commitment: crate::trace::Commitment, + decommitment: crate::trace::Decommitment, + witness: crate::trace::Witness, + ) -> Result<(), crate::trace::decommit::Error> { + Ok(table_decommit(commitment.original, queries, decommitment.original, witness.original) + .and(table_decommit( + commitment.interaction, + queries, + decommitment.interaction, + witness.interaction, + ))?) + } + fn validate_public_input( + public_input: &PublicInput, + stark_domains: &crate::domains::StarkDomains, + ) -> Result<(), PublicInputError> { + let dynamic_params = + public_input.dynamic_params.to_owned().ok_or(PublicInputError::DynamicParamsMissing)?; + ensure!(public_input.log_n_steps < MAX_LOG_N_STEPS, PublicInputError::MaxSteps); + + let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); + let trace_length = stark_domains.trace_domain_size; + ensure!( + n_steps + * Felt::from(CPU_COMPONENT_HEIGHT) + * Felt::from(dynamic_params.cpu_component_step) + == trace_length, + PublicInputError::TraceLengthInvalid + ); + + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.range_check_min < public_input.range_check_max, + PublicInputError::RangeCheckInvalid + ); + ensure!( + public_input.range_check_max <= MAX_RANGE_CHECK, + PublicInputError::RangeCheckInvalid + ); + + ensure!(public_input.layout == LAYOUT_CODE, PublicInputError::LayoutCodeInvalid); + + let output_uses = public_input + .segments + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? + .stop_ptr + - public_input + .segments + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? + .begin_addr; + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); + + let pedersen_copies = if dynamic_params.uses_pedersen_builtin == 0 { + FELT_0 + } else { + trace_length.field_div(&NonZeroFelt::try_from(Felt::from( + dynamic_params.pedersen_builtin_row_ratio, + ))?) + }; + let pedersen_uses = (public_input + .segments + .get(segments::PEDERSEN) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? + .stop_ptr + - public_input + .segments + .get(segments::PEDERSEN) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); + + let range_check_copies = if dynamic_params.uses_range_check_builtin == 0 { + FELT_0 + } else { + trace_length.field_div(&NonZeroFelt::try_from(Felt::from( + dynamic_params.range_check_builtin_row_ratio, + ))?) + }; + let range_check_uses = public_input + .segments + .get(segments::RANGE_CHECK) + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? + .stop_ptr + - public_input + .segments + .get(segments::RANGE_CHECK) + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? + .begin_addr; + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); + + let ecdsa_copies = if dynamic_params.uses_ecdsa_builtin == 0 { + FELT_0 + } else { + trace_length.field_div(&NonZeroFelt::try_from(Felt::from( + dynamic_params.ecdsa_builtin_row_ratio, + ))?) + }; + let ecdsa_uses = (public_input + .segments + .get(segments::ECDSA) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? + .stop_ptr + - public_input + .segments + .get(segments::ECDSA) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_2)); + ensure!(ecdsa_uses <= ecdsa_copies, PublicInputError::UsesInvalid); + + let bitwise_copies = if dynamic_params.uses_bitwise_builtin == 0 { + FELT_0 + } else { + trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.bitwise_row_ratio))?) + }; + let bitwise_uses = (public_input + .segments + .get(segments::BITWISE) + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? + .stop_ptr + - public_input + .segments + .get(segments::BITWISE) + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_5)); + ensure!(bitwise_uses <= bitwise_copies, PublicInputError::UsesInvalid); + + let ec_op_copies = if dynamic_params.uses_ec_op_builtin == 0 { + FELT_0 + } else { + trace_length.field_div(&NonZeroFelt::try_from(Felt::from( + dynamic_params.ec_op_builtin_row_ratio, + ))?) + }; + let ec_op_uses = (public_input + .segments + .get(segments::EC_OP) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EC_OP })? + .stop_ptr + - public_input + .segments + .get(segments::EC_OP) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EC_OP })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_7)); + ensure!(ec_op_uses <= ec_op_copies, PublicInputError::UsesInvalid); + + let keccak_copies = if dynamic_params.uses_keccak_builtin == 0 { + FELT_0 + } else { + trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.keccak_row_ratio))?) + }; + let keccak_uses = (public_input + .segments + .get(segments::KECCAK) + .ok_or(PublicInputError::SegmentMissing { segment: segments::KECCAK })? + .stop_ptr + - public_input + .segments + .get(segments::KECCAK) + .ok_or(PublicInputError::SegmentMissing { segment: segments::KECCAK })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_16)); + ensure!(keccak_uses <= keccak_copies, PublicInputError::UsesInvalid); + + let poseidon_copies = if dynamic_params.uses_poseidon_builtin == 0 { + FELT_0 + } else { + trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.poseidon_row_ratio))?) + }; + let poseidon_uses = (public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? + .stop_ptr + - public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_6)); + ensure!(poseidon_uses <= poseidon_copies, PublicInputError::UsesInvalid); + + let range_check96_copies = if dynamic_params.uses_range_check96_builtin == 0 { + FELT_0 + } else { + trace_length.field_div(&NonZeroFelt::try_from(Felt::from( + dynamic_params.range_check96_builtin_row_ratio, + ))?) + }; + let range_check96_uses = public_input + .segments + .get(segments::RANGE_CHECK96) + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK96 })? + .stop_ptr + - public_input + .segments + .get(segments::RANGE_CHECK96) + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK96 })? + .begin_addr; + ensure!(range_check96_uses <= range_check96_copies, PublicInputError::UsesInvalid); + + let add_mod_copies = if dynamic_params.uses_add_mod_builtin == 0 { + FELT_0 + } else { + trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.add_mod_row_ratio))?) + }; + let add_mod_uses = (public_input + .segments + .get(segments::ADD_MOD) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ADD_MOD })? + .stop_ptr + - public_input + .segments + .get(segments::ADD_MOD) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ADD_MOD })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_7)); + ensure!(add_mod_uses <= add_mod_copies, PublicInputError::UsesInvalid); + + let mul_mod_copies = if dynamic_params.uses_mul_mod_builtin == 0 { + FELT_0 + } else { + trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.mul_mod_row_ratio))?) + }; + let mul_mod_uses = (public_input + .segments + .get(segments::MUL_MOD) + .ok_or(PublicInputError::SegmentMissing { segment: segments::MUL_MOD })? + .stop_ptr + - public_input + .segments + .get(segments::MUL_MOD) + .ok_or(PublicInputError::SegmentMissing { segment: segments::MUL_MOD })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_7)); + ensure!(mul_mod_uses <= mul_mod_copies, PublicInputError::UsesInvalid); + + let memory_units = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.memory_units_row_ratio))?); + ensure!( + FELT_4 * n_steps + + safe_div(memory_units, PUBLIC_MEMORY_FRACTION.into())? + + FELT_3 * pedersen_copies + + FELT_1 * range_check_copies + + FELT_2 * ecdsa_copies + + FELT_5 * bitwise_copies + + FELT_7 * ec_op_copies + + FELT_16 * keccak_copies + + FELT_6 * poseidon_copies + + FELT_1 * range_check96_copies + + FELT_7 * add_mod_copies + + FELT_7 * mul_mod_copies + <= memory_units, + PublicInputError::CopiesInvalid + ); + + let rc_units = trace_length.field_div(&NonZeroFelt::try_from(Felt::from( + dynamic_params.range_check_units_row_ratio, + ))?); + ensure!( + FELT_3 * n_steps + + FELT_8 * range_check_copies + + FELT_6 * range_check96_copies + + FELT_66 * mul_mod_copies + <= rc_units, + PublicInputError::CopiesInvalid + ); + + let diluted_units = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(dynamic_params.diluted_units_row_ratio))?); + ensure!( + FELT_68 * bitwise_copies + FELT_16384 * keccak_copies <= diluted_units, + PublicInputError::CopiesInvalid + ); + + Ok(autogenerated::check_asserts(&dynamic_params, stark_domains)?) + } + + fn verify_public_input(public_input: &PublicInput) -> Result<(Felt, Felt), PublicInputError> { + let public_segments = &public_input.segments; + + let initial_pc = public_segments + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? + .begin_addr; + let final_pc = public_segments + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? + .stop_ptr; + let initial_ap = public_segments + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? + .begin_addr; + let initial_fp = initial_ap; + let final_ap = public_segments + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? + .stop_ptr; + let output_start = public_segments + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? + .begin_addr; + let output_stop = public_segments + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? + .stop_ptr; + + ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); + ensure!(final_ap < MAX_ADDRESS, PublicInputError::MaxSteps); + + // TODO support more pages? + ensure!(public_input.continuous_page_headers.is_empty(), PublicInputError::MaxSteps); + + let memory = &public_input + .main_page + .iter() + .flat_map(|v| vec![v.address, v.value]) + .collect::>(); + + ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); + + let program_end_pc = initial_fp - FELT_2; + + let program: Vec<&Felt> = memory + .iter() + .skip(initial_pc.to_bigint().try_into()?) + .step_by(2) + .take((program_end_pc - FELT_1).to_bigint().try_into()?) + .collect(); + + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); + let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); + + let output_len: usize = (output_stop - output_start).to_bigint().try_into()?; + let output = &memory[memory.len() - output_len * 2..]; + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); + let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); + + Ok((program_hash, output_hash)) + } +} diff --git a/crates/air/src/layout/mod.rs b/crates/air/src/layout/mod.rs index 1a5a04c..3fb8aaf 100644 --- a/crates/air/src/layout/mod.rs +++ b/crates/air/src/layout/mod.rs @@ -1,8 +1,12 @@ use crate::{domains::StarkDomains, public_memory::PublicInput}; +use num_bigint::{BigInt, TryFromBigIntError}; +use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; +use starknet_types_core::felt::FeltIsZeroError; use swiftness_transcript::transcript::Transcript; pub mod dex; +pub mod dynamic; pub mod recursive; pub mod recursive_with_poseidon; pub mod small; @@ -13,7 +17,7 @@ pub mod starknet_with_keccak; pub mod stark_curve { use starknet_crypto::Felt; - pub const ALPHA: Felt = Felt::from_hex_unchecked("1"); + pub const ALPHA: Felt = Felt::from_hex_unchecked("0x1"); pub const BETA: Felt = Felt::from_hex_unchecked( "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", ); @@ -32,8 +36,6 @@ pub trait LayoutTrait { type InteractionElements; const CONSTRAINT_DEGREE: usize; - const NUM_COLUMNS_FIRST: usize; - const NUM_COLUMNS_SECOND: usize; const N_CONSTRAINTS: usize; const MASK_SIZE: usize; @@ -48,13 +50,14 @@ pub trait LayoutTrait { ) -> Result; fn eval_oods_polynomial( + public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt; + ) -> Result; fn validate_public_input( public_input: &PublicInput, @@ -77,6 +80,29 @@ pub trait LayoutTrait { fn verify_public_input(public_input: &PublicInput) -> Result<(Felt, Felt), PublicInputError>; } +pub trait StaticLayoutTrait { + const NUM_COLUMNS_FIRST: usize; + const NUM_COLUMNS_SECOND: usize; +} + +pub trait GenericLayoutTrait { + fn get_num_columns_first(public_input: &PublicInput) -> Option; + fn get_num_columns_second(public_input: &PublicInput) -> Option; +} + +pub fn safe_div(value: Felt, divisor: Felt) -> Result { + Ok(value.floor_div(&NonZeroFelt::try_from(divisor)?)) +} + +pub fn safe_mult(value: Felt, multiplier: Felt) -> Result { + let mul = value.to_bigint() * multiplier.to_bigint(); + let felt_mul = value * multiplier; + match felt_mul.to_bigint().cmp(&mul) { + core::cmp::Ordering::Equal => Ok(felt_mul), + _ => Err(SafeMultError::Overflow { actual: felt_mul.to_bigint(), expected: mul }), + } +} + #[cfg(feature = "std")] use thiserror::Error; @@ -85,6 +111,25 @@ use thiserror::Error; pub enum CompositionPolyEvalError { #[error("segment not present {segment}")] SegmentMissing { segment: usize }, + + #[error("value out of range")] + ValueOutOfRange, + + #[error("dynamic params missing")] + DynamicParamsMissing, + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), +} + +#[cfg(feature = "std")] +#[derive(Error, Debug)] +pub enum OodsPolyEvalError { + #[error("dynamic params missing")] + DynamicParamsMissing, + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), } #[cfg(feature = "std")] @@ -107,6 +152,53 @@ pub enum PublicInputError { #[error("invalid number of builtin uses")] UsesInvalid, + + #[error("invalid number of builtin copies")] + CopiesInvalid, + + #[error("invalid number of segments")] + InvalidSegments, + + #[error("dynamic params missing")] + DynamicParamsMissing, + + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), + + #[error("dynamic params check failed")] + CheckAsserts(#[from] CheckAssertsError), +} + +#[cfg(feature = "std")] +#[derive(Error, Debug)] +pub enum CheckAssertsError { + #[error("value is not power of two")] + NotPowerOfTwo, + + #[error("value out of range")] + OutOfRange, + + #[error("value not boolean")] + NotBoolean, + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), + + #[error("field multiplication fail")] + SafeMult(#[from] SafeMultError), + + #[error("segment not present {segment}")] + SegmentMissing { segment: usize }, +} + +#[cfg(feature = "std")] +#[derive(Error, Debug)] +pub enum SafeMultError { + #[error("value multiplication overflowed actual {actual}, expected {expected}")] + Overflow { actual: BigInt, expected: BigInt }, } #[cfg(not(feature = "std"))] @@ -117,6 +209,25 @@ use thiserror_no_std::Error; pub enum CompositionPolyEvalError { #[error("segment not present {segment}")] SegmentMissing { segment: usize }, + + #[error("value out of range")] + ValueOutOfRange, + + #[error("dynamic params missing")] + DynamicParamsMissing, + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), +} + +#[cfg(not(feature = "std"))] +#[derive(Error, Debug)] +pub enum OodsPolyEvalError { + #[error("dynamic params missing")] + DynamicParamsMissing, + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), } #[cfg(not(feature = "std"))] @@ -139,10 +250,51 @@ pub enum PublicInputError { #[error("invalid number of builtin uses")] UsesInvalid, + + #[error("invalid number of builtin copies")] + CopiesInvalid, + + #[error("invalid number of segments")] + InvalidSegments, + + #[error("dynamic params missing")] + DynamicParamsMissing, + + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), + + #[error("dynamic params check failed")] + CheckAsserts(#[from] CheckAssertsError), } -pub mod segments { - pub const EXECUTION: usize = 1; - pub const OUTPUT: usize = 2; - pub const PROGRAM: usize = 0; +#[cfg(not(feature = "std"))] +#[derive(Error, Debug)] +pub enum CheckAssertsError { + #[error("value is not power of two")] + NotPowerOfTwo, + + #[error("value out of range")] + OutOfRange, + + #[error("value not boolean")] + NotBoolean, + + #[error("field element is zero")] + FeltIsZero(#[from] FeltIsZeroError), + + #[error("field multiplication fail")] + SafeMult(#[from] SafeMultError), + + #[error("segment not present {segment}")] + SegmentMissing { segment: usize }, +} + +#[cfg(not(feature = "std"))] +#[derive(Error, Debug)] +pub enum SafeMultError { + #[error("value multiplication overflowed actual {actual}, expected {expected}")] + Overflow { actual: BigInt, expected: BigInt }, } diff --git a/crates/air/src/layout/recursive/autogenerated.rs b/crates/air/src/layout/recursive/autogenerated.rs index 30632e0..3b453c9 100644 --- a/crates/air/src/layout/recursive/autogenerated.rs +++ b/crates/air/src/layout/recursive/autogenerated.rs @@ -1,5 +1,5 @@ use super::global_values::GlobalValues; -use crate::layout::LayoutTrait; +use crate::layout::{LayoutTrait, StaticLayoutTrait}; use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; @@ -862,7 +862,7 @@ pub fn eval_composition_polynomial_inner( total_sum } -pub fn eval_oods_polynomial_inner( +pub fn eval_oods_polynomial_inner( column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], diff --git a/crates/air/src/layout/recursive/mod.rs b/crates/air/src/layout/recursive/mod.rs index 1647143..52eaadb 100644 --- a/crates/air/src/layout/recursive/mod.rs +++ b/crates/air/src/layout/recursive/mod.rs @@ -2,6 +2,7 @@ pub mod autogenerated; pub mod global_values; use crate::{ + consts::*, diluted::get_diluted_product, periodic_columns::{eval_pedersen_x, eval_pedersen_y}, public_memory::{PublicInput, INITIAL_PC, MAX_ADDRESS, MAX_LOG_N_STEPS, MAX_RANGE_CHECK}, @@ -14,7 +15,10 @@ use starknet_crypto::{pedersen_hash, Felt}; use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; use swiftness_transcript::ensure; -use super::{CompositionPolyEvalError, LayoutTrait, PublicInputError}; +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, + StaticLayoutTrait, +}; pub const BITWISE_RATIO: usize = 8; pub const BITWISE_ROW_RATIO: usize = 128; @@ -47,8 +51,11 @@ pub const RANGE_CHECK_N_PARTS: usize = 8; pub mod segments { pub const BITWISE: usize = 5; + pub const EXECUTION: usize = 1; pub const N_SEGMENTS: usize = 6; + pub const OUTPUT: usize = 2; pub const PEDERSEN: usize = 3; + pub const PROGRAM: usize = 0; pub const RANGE_CHECK: usize = 4; } @@ -72,12 +79,24 @@ pub const BUILTINS: [Felt; 4] = pub struct Layout {} +impl StaticLayoutTrait for Layout { + const NUM_COLUMNS_FIRST: usize = 7; + const NUM_COLUMNS_SECOND: usize = 3; +} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_FIRST) + } + fn get_num_columns_second(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_SECOND) + } +} + impl LayoutTrait for Layout { const CONSTRAINT_DEGREE: usize = 2; const MASK_SIZE: usize = 133; const N_CONSTRAINTS: usize = 93; - const NUM_COLUMNS_FIRST: usize = 7; - const NUM_COLUMNS_SECOND: usize = 3; type InteractionElements = InteractionElements; fn eval_composition_polynomial( @@ -93,8 +112,8 @@ impl LayoutTrait for Layout { let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; // Public memory - let public_memory_column_size = trace_domain_size - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PUBLIC_MEMORY_STEP))); + let public_memory_column_size = + trace_domain_size.field_div(&NonZeroFelt::try_from(Felt::from(PUBLIC_MEMORY_STEP))?); assert!(public_memory_column_size < u128::MAX.into()); let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( memory_z, @@ -114,9 +133,9 @@ impl LayoutTrait for Layout { // Periodic columns let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); - let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS), - )); + let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(PEDERSEN_BUILTIN_RATIO) * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); let pedersen_points_x = eval_pedersen_x(pedersen_point); @@ -126,31 +145,23 @@ impl LayoutTrait for Layout { trace_length: *trace_domain_size, initial_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr, final_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr, initial_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr, final_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr, initial_pedersen_addr: public_input .segments @@ -169,8 +180,8 @@ impl LayoutTrait for Layout { .begin_addr, range_check_min: public_input.range_check_min, range_check_max: public_input.range_check_max, - offset_size: Felt::from(0x10000), // 2**16 - half_offset_size: Felt::from(0x8000), // 2**15 + offset_size: FELT_65536, + half_offset_size: FELT_32768, pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, pedersen_points_x, pedersen_points_y, @@ -183,9 +194,9 @@ impl LayoutTrait for Layout { diluted_check_interaction_z: diluted_z, diluted_check_interaction_alpha: diluted_alpha, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - range_check16_perm_public_memory_prod: Felt::from(1), - diluted_check_first_elm: Felt::from(0), - diluted_check_permutation_public_memory_prod: Felt::from(1), + range_check16_perm_public_memory_prod: FELT_1, + diluted_check_first_elm: FELT_0, + diluted_check_permutation_public_memory_prod: FELT_1, diluted_check_final_cum_val: diluted_prod, }; @@ -198,21 +209,22 @@ impl LayoutTrait for Layout { )) } fn eval_oods_polynomial( + _public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt { - autogenerated::eval_oods_polynomial_inner::( + ) -> Result { + Ok(autogenerated::eval_oods_polynomial_inner::( column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, - ) + )) } fn traces_commit( transcript: &mut swiftness_transcript::transcript::Transcript, @@ -264,7 +276,12 @@ impl LayoutTrait for Layout { PublicInputError::TraceLengthInvalid ); - ensure!(Felt::ZERO <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); ensure!( public_input.range_check_min < public_input.range_check_max, PublicInputError::RangeCheckInvalid @@ -278,68 +295,59 @@ impl LayoutTrait for Layout { let output_uses = public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; - ensure!(output_uses < u128::MAX.into(), PublicInputError::UsesInvalid); + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); - let pedersen_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))); + let pedersen_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))?); let pedersen_uses = (public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .stop_ptr - public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::THREE)); - ensure!(pedersen_uses < pedersen_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); - let range_check_copies = trace_length.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO), - )); + let range_check_copies = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO))?); let range_check_uses = public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .stop_ptr - public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .begin_addr; - ensure!(range_check_uses < range_check_copies, PublicInputError::UsesInvalid); + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); - let bitwise_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(BITWISE_ROW_RATIO))); + let bitwise_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(BITWISE_ROW_RATIO))?); let bitwise_uses = (public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? .stop_ptr - public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(0x5))); - ensure!(bitwise_uses < bitwise_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_5)); + ensure!(bitwise_uses <= bitwise_copies, PublicInputError::UsesInvalid); Ok(()) } @@ -347,29 +355,29 @@ impl LayoutTrait for Layout { let public_segments = &public_input.segments; let initial_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr; let final_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr; let initial_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr; let initial_fp = initial_ap; let final_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr; let output_start = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; let output_stop = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr; ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); @@ -385,24 +393,23 @@ impl LayoutTrait for Layout { .collect::>(); ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); - ensure!(final_pc == INITIAL_PC + 4, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); - let program_end_pc = initial_fp - 2; + let program_end_pc = initial_fp - FELT_2; let program: Vec<&Felt> = memory .iter() - .skip(initial_pc.to_bigint().try_into().unwrap()) + .skip(initial_pc.to_bigint().try_into()?) .step_by(2) - .take((program_end_pc - Felt::ONE).to_bigint().try_into().unwrap()) + .take((program_end_pc - FELT_1).to_bigint().try_into()?) .collect(); - let hash = program.iter().fold(Felt::ZERO, |acc, &e| pedersen_hash(&acc, e)); + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); - let output_len: usize = (output_stop - output_start).to_bigint().try_into().unwrap(); + let output_len: usize = (output_stop - output_start).to_bigint().try_into()?; let output = &memory[memory.len() - output_len * 2..]; - let hash = - output.iter().skip(1).step_by(2).fold(Felt::ZERO, |acc, e| pedersen_hash(&acc, e)); + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); Ok((program_hash, output_hash)) diff --git a/crates/air/src/layout/recursive_with_poseidon/autogenerated.rs b/crates/air/src/layout/recursive_with_poseidon/autogenerated.rs index 5de4590..5af8d7e 100644 --- a/crates/air/src/layout/recursive_with_poseidon/autogenerated.rs +++ b/crates/air/src/layout/recursive_with_poseidon/autogenerated.rs @@ -1,5 +1,5 @@ use super::global_values::GlobalValues; -use crate::layout::LayoutTrait; +use crate::layout::{LayoutTrait, StaticLayoutTrait}; use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; @@ -1236,7 +1236,7 @@ pub fn eval_composition_polynomial_inner( total_sum } -pub fn eval_oods_polynomial_inner( +pub fn eval_oods_polynomial_inner( column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], diff --git a/crates/air/src/layout/recursive_with_poseidon/mod.rs b/crates/air/src/layout/recursive_with_poseidon/mod.rs index e42aa2d..e6be9c5 100644 --- a/crates/air/src/layout/recursive_with_poseidon/mod.rs +++ b/crates/air/src/layout/recursive_with_poseidon/mod.rs @@ -2,6 +2,7 @@ pub mod autogenerated; pub mod global_values; use crate::{ + consts::*, diluted::get_diluted_product, periodic_columns::{ eval_pedersen_x, eval_pedersen_y, eval_poseidon_poseidon_full_round_key0, @@ -18,7 +19,10 @@ use starknet_crypto::{pedersen_hash, Felt}; use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; use swiftness_transcript::ensure; -use super::{CompositionPolyEvalError, LayoutTrait, PublicInputError}; +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, + StaticLayoutTrait, +}; pub const BITWISE_RATIO: usize = 16; pub const BITWISE_ROW_RATIO: usize = 256; @@ -57,9 +61,12 @@ pub const RANGE_CHECK_N_PARTS: usize = 8; pub mod segments { pub const BITWISE: usize = 5; + pub const EXECUTION: usize = 1; pub const N_SEGMENTS: usize = 7; + pub const OUTPUT: usize = 2; pub const PEDERSEN: usize = 3; pub const POSEIDON: usize = 6; + pub const PROGRAM: usize = 0; pub const RANGE_CHECK: usize = 4; } @@ -89,12 +96,24 @@ pub const BUILTINS: [Felt; 5] = [ pub struct Layout {} +impl StaticLayoutTrait for Layout { + const NUM_COLUMNS_FIRST: usize = 6; + const NUM_COLUMNS_SECOND: usize = 2; +} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_FIRST) + } + fn get_num_columns_second(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_SECOND) + } +} + impl LayoutTrait for Layout { const CONSTRAINT_DEGREE: usize = 2; const MASK_SIZE: usize = 192; const N_CONSTRAINTS: usize = 124; - const NUM_COLUMNS_FIRST: usize = 6; - const NUM_COLUMNS_SECOND: usize = 2; type InteractionElements = InteractionElements; fn eval_composition_polynomial( @@ -110,8 +129,8 @@ impl LayoutTrait for Layout { let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; // Public memory - let public_memory_column_size = trace_domain_size - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PUBLIC_MEMORY_STEP))); + let public_memory_column_size = + trace_domain_size.field_div(&NonZeroFelt::try_from(Felt::from(PUBLIC_MEMORY_STEP))?); assert!(public_memory_column_size < u128::MAX.into()); let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( memory_z, @@ -130,17 +149,17 @@ impl LayoutTrait for Layout { ); // Periodic columns - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); - let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS), - )); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); + let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(PEDERSEN_BUILTIN_RATIO) * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); let pedersen_points_x = eval_pedersen_x(pedersen_point); let pedersen_points_y = eval_pedersen_y(pedersen_point); let n_poseidon_copies = - n_steps.field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(POSEIDON_RATIO))); + n_steps.field_div(&NonZeroFelt::try_from(Felt::from(POSEIDON_RATIO))?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let poseidon_point = point.pow_felt(&n_poseidon_copies); let poseidon_poseidon_full_round_key0 = @@ -158,31 +177,23 @@ impl LayoutTrait for Layout { trace_length: *trace_domain_size, initial_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr, final_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr, initial_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr, final_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr, initial_pedersen_addr: public_input .segments @@ -206,8 +217,8 @@ impl LayoutTrait for Layout { .begin_addr, range_check_min: public_input.range_check_min, range_check_max: public_input.range_check_max, - offset_size: Felt::from(0x10000), // 2**16 - half_offset_size: Felt::from(0x8000), // 2**15 + offset_size: FELT_65536, + half_offset_size: FELT_32768, pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, pedersen_points_x, pedersen_points_y, @@ -225,9 +236,9 @@ impl LayoutTrait for Layout { diluted_check_interaction_z: diluted_z, diluted_check_interaction_alpha: diluted_alpha, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - range_check16_perm_public_memory_prod: Felt::from(1), - diluted_check_first_elm: Felt::from(0), - diluted_check_permutation_public_memory_prod: Felt::from(1), + range_check16_perm_public_memory_prod: FELT_1, + diluted_check_first_elm: FELT_0, + diluted_check_permutation_public_memory_prod: FELT_1, diluted_check_final_cum_val: diluted_prod, }; @@ -240,21 +251,22 @@ impl LayoutTrait for Layout { )) } fn eval_oods_polynomial( + _public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt { - autogenerated::eval_oods_polynomial_inner::( + ) -> Result { + Ok(autogenerated::eval_oods_polynomial_inner::( column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, - ) + )) } fn traces_commit( transcript: &mut swiftness_transcript::transcript::Transcript, @@ -298,7 +310,7 @@ impl LayoutTrait for Layout { ) -> Result<(), PublicInputError> { ensure!(public_input.log_n_steps < MAX_LOG_N_STEPS, PublicInputError::MaxSteps); - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); let trace_length = stark_domains.trace_domain_size; ensure!( n_steps * Felt::from(CPU_COMPONENT_HEIGHT) * Felt::from(CPU_COMPONENT_STEP) @@ -306,7 +318,12 @@ impl LayoutTrait for Layout { PublicInputError::TraceLengthInvalid ); - ensure!(Felt::ZERO <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); ensure!( public_input.range_check_min < public_input.range_check_max, PublicInputError::RangeCheckInvalid @@ -320,68 +337,74 @@ impl LayoutTrait for Layout { let output_uses = public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; - ensure!(output_uses < u128::MAX.into(), PublicInputError::UsesInvalid); + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); - let pedersen_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))); + let pedersen_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))?); let pedersen_uses = (public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::THREE)); - ensure!(pedersen_uses < pedersen_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); - let range_check_copies = trace_length.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO), - )); + let range_check_copies = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO))?); let range_check_uses = public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .stop_ptr - public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .begin_addr; - ensure!(range_check_uses < range_check_copies, PublicInputError::UsesInvalid); + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); - let bitwise_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(BITWISE_ROW_RATIO))); + let bitwise_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(BITWISE_ROW_RATIO))?); let bitwise_uses = (public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? .stop_ptr - public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_5)); + ensure!(bitwise_uses <= bitwise_copies, PublicInputError::UsesInvalid); + + let poseidon_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(POSEIDON_ROW_RATIO))?); + let poseidon_uses = (public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? + .stop_ptr + - public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(0x5))); - ensure!(bitwise_uses < bitwise_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_6)); + ensure!(poseidon_uses <= poseidon_copies, PublicInputError::UsesInvalid); Ok(()) } @@ -389,29 +412,29 @@ impl LayoutTrait for Layout { let public_segments = &public_input.segments; let initial_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr; let final_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr; let initial_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr; let initial_fp = initial_ap; let final_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr; let output_start = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; let output_stop = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr; ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); @@ -427,24 +450,23 @@ impl LayoutTrait for Layout { .collect::>(); ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); - ensure!(final_pc == INITIAL_PC + 4, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); - let program_end_pc = initial_fp - 2; + let program_end_pc = initial_fp - FELT_2; let program: Vec<&Felt> = memory .iter() - .skip(initial_pc.to_bigint().try_into().unwrap()) + .skip(initial_pc.to_bigint().try_into()?) .step_by(2) - .take((program_end_pc - Felt::ONE).to_bigint().try_into().unwrap()) + .take((program_end_pc - FELT_1).to_bigint().try_into()?) .collect(); - let hash = program.iter().fold(Felt::ZERO, |acc, &e| pedersen_hash(&acc, e)); + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); - let output_len: usize = (output_stop - output_start).to_bigint().try_into().unwrap(); + let output_len: usize = (output_stop - output_start).to_bigint().try_into()?; let output = &memory[memory.len() - output_len * 2..]; - let hash = - output.iter().skip(1).step_by(2).fold(Felt::ZERO, |acc, e| pedersen_hash(&acc, e)); + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); Ok((program_hash, output_hash)) diff --git a/crates/air/src/layout/small/autogenerated.rs b/crates/air/src/layout/small/autogenerated.rs index 94378a3..dd10926 100644 --- a/crates/air/src/layout/small/autogenerated.rs +++ b/crates/air/src/layout/small/autogenerated.rs @@ -1,5 +1,5 @@ use super::global_values::GlobalValues; -use crate::layout::LayoutTrait; +use crate::layout::{LayoutTrait, StaticLayoutTrait}; use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; @@ -1372,7 +1372,7 @@ pub fn eval_composition_polynomial_inner( total_sum } -pub fn eval_oods_polynomial_inner( +pub fn eval_oods_polynomial_inner( column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], diff --git a/crates/air/src/layout/small/mod.rs b/crates/air/src/layout/small/mod.rs index 308a923..16ff990 100644 --- a/crates/air/src/layout/small/mod.rs +++ b/crates/air/src/layout/small/mod.rs @@ -2,6 +2,7 @@ pub mod autogenerated; pub mod global_values; use crate::{ + consts::*, layout::stark_curve, periodic_columns::{eval_ecdsa_x, eval_ecdsa_y, eval_pedersen_x, eval_pedersen_y}, public_memory::{PublicInput, INITIAL_PC, MAX_ADDRESS, MAX_LOG_N_STEPS, MAX_RANGE_CHECK}, @@ -14,7 +15,10 @@ use starknet_crypto::{pedersen_hash, Felt}; use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; use swiftness_transcript::ensure; -use super::{CompositionPolyEvalError, LayoutTrait, PublicInputError}; +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, + StaticLayoutTrait, +}; pub const CPU_COMPONENT_HEIGHT: usize = 16; pub const CPU_COMPONENT_STEP: usize = 1; @@ -47,8 +51,11 @@ pub const RANGE_CHECK_N_PARTS: usize = 8; pub mod segments { pub const ECDSA: usize = 5; + pub const EXECUTION: usize = 1; pub const N_SEGMENTS: usize = 6; + pub const OUTPUT: usize = 2; pub const PEDERSEN: usize = 3; + pub const PROGRAM: usize = 0; pub const RANGE_CHECK: usize = 4; } @@ -72,12 +79,24 @@ pub const BUILTINS: [Felt; 4] = pub struct Layout {} +impl StaticLayoutTrait for Layout { + const NUM_COLUMNS_FIRST: usize = 23; + const NUM_COLUMNS_SECOND: usize = 2; +} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_FIRST) + } + fn get_num_columns_second(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_SECOND) + } +} + impl LayoutTrait for Layout { const CONSTRAINT_DEGREE: usize = 2; const MASK_SIZE: usize = 201; const N_CONSTRAINTS: usize = 179; - const NUM_COLUMNS_FIRST: usize = 23; - const NUM_COLUMNS_SECOND: usize = 2; type InteractionElements = InteractionElements; fn eval_composition_polynomial( @@ -93,8 +112,8 @@ impl LayoutTrait for Layout { let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; // Public memory - let public_memory_column_size = trace_domain_size - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PUBLIC_MEMORY_STEP))); + let public_memory_column_size = + trace_domain_size.field_div(&NonZeroFelt::try_from(Felt::from(PUBLIC_MEMORY_STEP))?); assert!(public_memory_column_size < u128::MAX.into()); let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( memory_z, @@ -103,19 +122,19 @@ impl LayoutTrait for Layout { ); // Periodic columns - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); - let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS), - )); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); + let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(PEDERSEN_BUILTIN_RATIO) * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); // TODO fix to ensure! assert!(n_pedersen_hash_copies < u128::MAX.into()); let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); let pedersen_points_x = eval_pedersen_x(pedersen_point); let pedersen_points_y = eval_pedersen_y(pedersen_point); - let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(ECDSA_BUILTIN_RATIO * ECDSA_BUILTIN_REPETITIONS), - )); + let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(ECDSA_BUILTIN_RATIO) * Felt::from(ECDSA_BUILTIN_REPETITIONS), + )?); assert!(n_ecdsa_signature_copies < u128::MAX.into()); let ecdsa_point = point.pow_felt(&n_ecdsa_signature_copies); let ecdsa_generator_points_x = eval_ecdsa_x(ecdsa_point); @@ -125,31 +144,23 @@ impl LayoutTrait for Layout { trace_length: *trace_domain_size, initial_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr, final_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr, initial_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr, final_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr, initial_pedersen_addr: public_input .segments @@ -168,8 +179,8 @@ impl LayoutTrait for Layout { .begin_addr, range_check_min: public_input.range_check_min, range_check_max: public_input.range_check_max, - offset_size: Felt::from(0x10000), // 2**16 - half_offset_size: Felt::from(0x8000), // 2**15 + offset_size: FELT_65536, + half_offset_size: FELT_32768, pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, ecdsa_sig_config: EcdsaSigConfig { alpha: stark_curve::ALPHA, @@ -185,7 +196,7 @@ impl LayoutTrait for Layout { range_check16_perm_interaction_elm: interaction_elements .range_check16_perm_interaction_elm, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - range_check16_perm_public_memory_prod: Felt::from(1), + range_check16_perm_public_memory_prod: FELT_1, }; Ok(autogenerated::eval_composition_polynomial_inner( @@ -197,21 +208,22 @@ impl LayoutTrait for Layout { )) } fn eval_oods_polynomial( + _public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt { - autogenerated::eval_oods_polynomial_inner::( + ) -> Result { + Ok(autogenerated::eval_oods_polynomial_inner::( column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, - ) + )) } fn traces_commit( transcript: &mut swiftness_transcript::transcript::Transcript, @@ -255,7 +267,7 @@ impl LayoutTrait for Layout { ) -> Result<(), PublicInputError> { ensure!(public_input.log_n_steps < MAX_LOG_N_STEPS, PublicInputError::MaxSteps); - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); let trace_length = stark_domains.trace_domain_size; ensure!( n_steps * Felt::from(CPU_COMPONENT_HEIGHT) * Felt::from(CPU_COMPONENT_STEP) @@ -263,7 +275,12 @@ impl LayoutTrait for Layout { PublicInputError::TraceLengthInvalid ); - ensure!(Felt::ZERO <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); ensure!( public_input.range_check_min < public_input.range_check_max, PublicInputError::RangeCheckInvalid @@ -277,20 +294,18 @@ impl LayoutTrait for Layout { let output_uses = public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; - ensure!(output_uses < u128::MAX.into(), PublicInputError::UsesInvalid); + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); - let pedersen_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))); + let pedersen_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))?); let pedersen_uses = (public_input .segments .get(segments::PEDERSEN) @@ -301,12 +316,11 @@ impl LayoutTrait for Layout { .get(segments::PEDERSEN) .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::THREE)); - ensure!(pedersen_uses < pedersen_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); - let range_check_copies = trace_length.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO), - )); + let range_check_copies = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO))?); let range_check_uses = public_input .segments .get(segments::RANGE_CHECK) @@ -317,10 +331,10 @@ impl LayoutTrait for Layout { .get(segments::RANGE_CHECK) .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .begin_addr; - ensure!(range_check_uses < range_check_copies, PublicInputError::UsesInvalid); + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); - let ecdsa_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(ECDSA_BUILTIN_ROW_RATIO))); + let ecdsa_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(ECDSA_BUILTIN_ROW_RATIO))?); let ecdsa_uses = (public_input .segments .get(segments::ECDSA) @@ -329,12 +343,10 @@ impl LayoutTrait for Layout { - public_input .segments .get(segments::ECDSA) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::TWO)); - ensure!(ecdsa_uses < ecdsa_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_2)); + ensure!(ecdsa_uses <= ecdsa_copies, PublicInputError::UsesInvalid); Ok(()) } @@ -342,29 +354,29 @@ impl LayoutTrait for Layout { let public_segments = &public_input.segments; let initial_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr; let final_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr; let initial_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr; let initial_fp = initial_ap; let final_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr; let output_start = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; let output_stop = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr; ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); @@ -380,24 +392,23 @@ impl LayoutTrait for Layout { .collect::>(); ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); - ensure!(final_pc == INITIAL_PC + 4, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); - let program_end_pc = initial_fp - 2; + let program_end_pc = initial_fp - FELT_2; let program: Vec<&Felt> = memory .iter() - .skip(initial_pc.to_bigint().try_into().unwrap()) + .skip(initial_pc.to_bigint().try_into()?) .step_by(2) - .take((program_end_pc - Felt::ONE).to_bigint().try_into().unwrap()) + .take((program_end_pc - FELT_1).to_bigint().try_into()?) .collect(); - let hash = program.iter().fold(Felt::ZERO, |acc, &e| pedersen_hash(&acc, e)); + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); - let output_len: usize = (output_stop - output_start).to_bigint().try_into().unwrap(); + let output_len: usize = (output_stop - output_start).to_bigint().try_into()?; let output = &memory[memory.len() - output_len * 2..]; - let hash = - output.iter().skip(1).step_by(2).fold(Felt::ZERO, |acc, e| pedersen_hash(&acc, e)); + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); Ok((program_hash, output_hash)) diff --git a/crates/air/src/layout/starknet/autogenerated.rs b/crates/air/src/layout/starknet/autogenerated.rs index af220c5..cfcf5ed 100644 --- a/crates/air/src/layout/starknet/autogenerated.rs +++ b/crates/air/src/layout/starknet/autogenerated.rs @@ -1,5 +1,5 @@ use super::global_values::GlobalValues; -use crate::layout::LayoutTrait; +use crate::layout::{LayoutTrait, StaticLayoutTrait}; use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; @@ -1734,7 +1734,7 @@ pub fn eval_composition_polynomial_inner( total_sum } -pub fn eval_oods_polynomial_inner( +pub fn eval_oods_polynomial_inner( column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], diff --git a/crates/air/src/layout/starknet/mod.rs b/crates/air/src/layout/starknet/mod.rs index e369bf3..b9bd328 100644 --- a/crates/air/src/layout/starknet/mod.rs +++ b/crates/air/src/layout/starknet/mod.rs @@ -2,6 +2,7 @@ pub mod autogenerated; pub mod global_values; use crate::{ + consts::*, diluted::get_diluted_product, layout::stark_curve, periodic_columns::{ @@ -20,7 +21,10 @@ use starknet_crypto::{pedersen_hash, Felt}; use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; use swiftness_transcript::ensure; -use super::{CompositionPolyEvalError, LayoutTrait, PublicInputError}; +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, + StaticLayoutTrait, +}; pub const BITWISE_RATIO: usize = 64; pub const BITWISE_ROW_RATIO: usize = 1024; @@ -69,9 +73,12 @@ pub mod segments { pub const BITWISE: usize = 6; pub const EC_OP: usize = 7; pub const ECDSA: usize = 5; + pub const EXECUTION: usize = 1; pub const N_SEGMENTS: usize = 9; + pub const OUTPUT: usize = 2; pub const PEDERSEN: usize = 3; pub const POSEIDON: usize = 8; + pub const PROGRAM: usize = 0; pub const RANGE_CHECK: usize = 4; } @@ -105,12 +112,24 @@ pub const BUILTINS: [Felt; 7] = [ pub struct Layout {} +impl StaticLayoutTrait for Layout { + const NUM_COLUMNS_FIRST: usize = 9; + const NUM_COLUMNS_SECOND: usize = 1; +} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_FIRST) + } + fn get_num_columns_second(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_SECOND) + } +} + impl LayoutTrait for Layout { const CONSTRAINT_DEGREE: usize = 2; const MASK_SIZE: usize = 271; const N_CONSTRAINTS: usize = 198; - const NUM_COLUMNS_FIRST: usize = 9; - const NUM_COLUMNS_SECOND: usize = 1; type InteractionElements = InteractionElements; fn eval_composition_polynomial( @@ -126,8 +145,8 @@ impl LayoutTrait for Layout { let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; // Public memory - let public_memory_column_size = trace_domain_size - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PUBLIC_MEMORY_STEP))); + let public_memory_column_size = + trace_domain_size.field_div(&NonZeroFelt::try_from(Felt::from(PUBLIC_MEMORY_STEP))?); assert!(public_memory_column_size < u128::MAX.into()); let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( memory_z, @@ -146,25 +165,25 @@ impl LayoutTrait for Layout { ); // Periodic columns - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); - let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS), - )); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); + let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(PEDERSEN_BUILTIN_RATIO) * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); let pedersen_points_x = eval_pedersen_x(pedersen_point); let pedersen_points_y = eval_pedersen_y(pedersen_point); - let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(ECDSA_BUILTIN_RATIO * ECDSA_BUILTIN_REPETITIONS), - )); + let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(ECDSA_BUILTIN_RATIO) * Felt::from(ECDSA_BUILTIN_REPETITIONS), + )?); assert!(n_ecdsa_signature_copies < u128::MAX.into()); let ecdsa_point = point.pow_felt(&n_ecdsa_signature_copies); let ecdsa_generator_points_x = eval_ecdsa_x(ecdsa_point); let ecdsa_generator_points_y = eval_ecdsa_y(ecdsa_point); let n_poseidon_copies = - n_steps.field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(POSEIDON_RATIO))); + n_steps.field_div(&NonZeroFelt::try_from(Felt::from(POSEIDON_RATIO))?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let poseidon_point = point.pow_felt(&n_poseidon_copies); let poseidon_poseidon_full_round_key0 = @@ -182,31 +201,23 @@ impl LayoutTrait for Layout { trace_length: *trace_domain_size, initial_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr, final_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr, initial_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr, final_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr, initial_pedersen_addr: public_input .segments @@ -240,8 +251,8 @@ impl LayoutTrait for Layout { .begin_addr, range_check_min: public_input.range_check_min, range_check_max: public_input.range_check_max, - offset_size: Felt::from(0x10000), // 2**16 - half_offset_size: Felt::from(0x8000), // 2**15 + offset_size: FELT_65536, + half_offset_size: FELT_32768, pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, ecdsa_sig_config: EcdsaSigConfig { alpha: stark_curve::ALPHA, @@ -267,9 +278,9 @@ impl LayoutTrait for Layout { diluted_check_interaction_z: diluted_z, diluted_check_interaction_alpha: diluted_alpha, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - range_check16_perm_public_memory_prod: Felt::from(1), - diluted_check_first_elm: Felt::from(0), - diluted_check_permutation_public_memory_prod: Felt::from(1), + range_check16_perm_public_memory_prod: FELT_1, + diluted_check_first_elm: FELT_0, + diluted_check_permutation_public_memory_prod: FELT_1, diluted_check_final_cum_val: diluted_prod, }; @@ -282,21 +293,22 @@ impl LayoutTrait for Layout { )) } fn eval_oods_polynomial( + _public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt { - autogenerated::eval_oods_polynomial_inner::( + ) -> Result { + Ok(autogenerated::eval_oods_polynomial_inner::( column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, - ) + )) } fn traces_commit( transcript: &mut swiftness_transcript::transcript::Transcript, @@ -340,7 +352,7 @@ impl LayoutTrait for Layout { ) -> Result<(), PublicInputError> { ensure!(public_input.log_n_steps < MAX_LOG_N_STEPS, PublicInputError::MaxSteps); - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); let trace_length = stark_domains.trace_domain_size; ensure!( n_steps * Felt::from(CPU_COMPONENT_HEIGHT) * Felt::from(CPU_COMPONENT_STEP) @@ -348,7 +360,12 @@ impl LayoutTrait for Layout { PublicInputError::TraceLengthInvalid ); - ensure!(Felt::ZERO <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); ensure!( public_input.range_check_min < public_input.range_check_max, PublicInputError::RangeCheckInvalid @@ -362,68 +379,104 @@ impl LayoutTrait for Layout { let output_uses = public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; - ensure!(output_uses < u128::MAX.into(), PublicInputError::UsesInvalid); + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); - let pedersen_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))); + let pedersen_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))?); let pedersen_uses = (public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .stop_ptr - public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::THREE)); - ensure!(pedersen_uses < pedersen_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); - let range_check_copies = trace_length.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO), - )); + let range_check_copies = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO))?); let range_check_uses = public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .stop_ptr - public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .begin_addr; - ensure!(range_check_uses < range_check_copies, PublicInputError::UsesInvalid); + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); + + let ecdsa_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(ECDSA_BUILTIN_ROW_RATIO))?); + let ecdsa_uses = (public_input + .segments + .get(segments::ECDSA) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? + .stop_ptr + - public_input + .segments + .get(segments::ECDSA) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_2)); + ensure!(ecdsa_uses <= ecdsa_copies, PublicInputError::UsesInvalid); - let bitwise_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(BITWISE_ROW_RATIO))); + let bitwise_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(BITWISE_ROW_RATIO))?); let bitwise_uses = (public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? .stop_ptr - public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_5)); + ensure!(bitwise_uses <= bitwise_copies, PublicInputError::UsesInvalid); + + let ec_op_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(EC_OP_BUILTIN_ROW_RATIO))?); + let ec_op_uses = (public_input + .segments + .get(segments::EC_OP) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EC_OP })? + .stop_ptr + - public_input + .segments + .get(segments::EC_OP) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EC_OP })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_7)); + ensure!(ec_op_uses <= ec_op_copies, PublicInputError::UsesInvalid); + + let poseidon_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(POSEIDON_ROW_RATIO))?); + let poseidon_uses = (public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? + .stop_ptr + - public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(0x5))); - ensure!(bitwise_uses < bitwise_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_6)); + ensure!(poseidon_uses <= poseidon_copies, PublicInputError::UsesInvalid); Ok(()) } @@ -431,29 +484,29 @@ impl LayoutTrait for Layout { let public_segments = &public_input.segments; let initial_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr; let final_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr; let initial_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr; let initial_fp = initial_ap; let final_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr; let output_start = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; let output_stop = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr; ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); @@ -469,24 +522,23 @@ impl LayoutTrait for Layout { .collect::>(); ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); - ensure!(final_pc == INITIAL_PC + 4, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); - let program_end_pc = initial_fp - 2; + let program_end_pc = initial_fp - FELT_2; let program: Vec<&Felt> = memory .iter() - .skip(initial_pc.to_bigint().try_into().unwrap()) + .skip(initial_pc.to_bigint().try_into()?) .step_by(2) - .take((program_end_pc - Felt::ONE).to_bigint().try_into().unwrap()) + .take((program_end_pc - FELT_1).to_bigint().try_into()?) .collect(); - let hash = program.iter().fold(Felt::ZERO, |acc, &e| pedersen_hash(&acc, e)); + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); - let output_len: usize = (output_stop - output_start).to_bigint().try_into().unwrap(); + let output_len: usize = (output_stop - output_start).to_bigint().try_into()?; let output = &memory[memory.len() - output_len * 2..]; - let hash = - output.iter().skip(1).step_by(2).fold(Felt::ZERO, |acc, e| pedersen_hash(&acc, e)); + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); Ok((program_hash, output_hash)) diff --git a/crates/air/src/layout/starknet_with_keccak/autogenerated.rs b/crates/air/src/layout/starknet_with_keccak/autogenerated.rs index 857bd4a..23494c5 100644 --- a/crates/air/src/layout/starknet_with_keccak/autogenerated.rs +++ b/crates/air/src/layout/starknet_with_keccak/autogenerated.rs @@ -1,5 +1,5 @@ use super::global_values::GlobalValues; -use crate::layout::LayoutTrait; +use crate::layout::{LayoutTrait, StaticLayoutTrait}; use starknet_core::types::NonZeroFelt; use starknet_crypto::Felt; @@ -10128,7 +10128,7 @@ pub fn eval_composition_polynomial_inner( total_sum } -pub fn eval_oods_polynomial_inner( +pub fn eval_oods_polynomial_inner( column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], diff --git a/crates/air/src/layout/starknet_with_keccak/mod.rs b/crates/air/src/layout/starknet_with_keccak/mod.rs index fe22501..fcf5b2d 100644 --- a/crates/air/src/layout/starknet_with_keccak/mod.rs +++ b/crates/air/src/layout/starknet_with_keccak/mod.rs @@ -2,6 +2,7 @@ pub mod autogenerated; pub mod global_values; use crate::{ + consts::*, diluted::get_diluted_product, layout::stark_curve, periodic_columns::{ @@ -22,7 +23,10 @@ use starknet_crypto::{pedersen_hash, Felt}; use swiftness_commitment::table::{commit::table_commit, decommit::table_decommit}; use swiftness_transcript::ensure; -use super::{CompositionPolyEvalError, LayoutTrait, PublicInputError}; +use super::{ + CompositionPolyEvalError, GenericLayoutTrait, LayoutTrait, OodsPolyEvalError, PublicInputError, + StaticLayoutTrait, +}; pub const BITWISE_RATIO: usize = 64; pub const BITWISE_ROW_RATIO: usize = 1024; @@ -74,10 +78,13 @@ pub mod segments { pub const BITWISE: usize = 6; pub const EC_OP: usize = 7; pub const ECDSA: usize = 5; + pub const EXECUTION: usize = 1; + pub const KECCAK: usize = 8; pub const N_SEGMENTS: usize = 10; + pub const OUTPUT: usize = 2; pub const PEDERSEN: usize = 3; pub const POSEIDON: usize = 9; - pub const KECCAK: usize = 8; + pub const PROGRAM: usize = 0; pub const RANGE_CHECK: usize = 4; } @@ -113,12 +120,24 @@ pub const BUILTINS: [Felt; 8] = [ pub struct Layout {} +impl StaticLayoutTrait for Layout { + const NUM_COLUMNS_FIRST: usize = 12; + const NUM_COLUMNS_SECOND: usize = 3; +} + +impl GenericLayoutTrait for Layout { + fn get_num_columns_first(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_FIRST) + } + fn get_num_columns_second(_public_input: &PublicInput) -> Option { + Some(Self::NUM_COLUMNS_SECOND) + } +} + impl LayoutTrait for Layout { const CONSTRAINT_DEGREE: usize = 2; const MASK_SIZE: usize = 734; const N_CONSTRAINTS: usize = 347; - const NUM_COLUMNS_FIRST: usize = 12; - const NUM_COLUMNS_SECOND: usize = 3; type InteractionElements = InteractionElements; fn eval_composition_polynomial( @@ -134,8 +153,8 @@ impl LayoutTrait for Layout { let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; // Public memory - let public_memory_column_size = trace_domain_size - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PUBLIC_MEMORY_STEP))); + let public_memory_column_size = + trace_domain_size.field_div(&NonZeroFelt::try_from(Felt::from(PUBLIC_MEMORY_STEP))?); assert!(public_memory_column_size < u128::MAX.into()); let public_memory_prod_ratio = public_input.get_public_memory_product_ratio( memory_z, @@ -154,26 +173,26 @@ impl LayoutTrait for Layout { ); // Periodic columns - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); - let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS), - )); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); + let n_pedersen_hash_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(PEDERSEN_BUILTIN_RATIO) * Felt::from(PEDERSEN_BUILTIN_REPETITIONS), + )?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let pedersen_point = point.pow_felt(&n_pedersen_hash_copies); let pedersen_points_x = eval_pedersen_x(pedersen_point); let pedersen_points_y = eval_pedersen_y(pedersen_point); - let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(ECDSA_BUILTIN_RATIO * ECDSA_BUILTIN_REPETITIONS), - )); + let n_ecdsa_signature_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(ECDSA_BUILTIN_RATIO) * Felt::from(ECDSA_BUILTIN_REPETITIONS), + )?); assert!(n_ecdsa_signature_copies < u128::MAX.into()); let ecdsa_point = point.pow_felt(&n_ecdsa_signature_copies); let ecdsa_generator_points_x = eval_ecdsa_x(ecdsa_point); let ecdsa_generator_points_y = eval_ecdsa_y(ecdsa_point); - let n_keccak_component_copies = n_steps.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(DILUTED_N_BITS * KECCAK_RATIO), - )); + let n_keccak_component_copies = n_steps.field_div(&NonZeroFelt::try_from( + Felt::from(DILUTED_N_BITS) * Felt::from(KECCAK_RATIO), + )?); assert!(n_keccak_component_copies < u128::MAX.into()); let n_keccak_periodic_columns_copies = Felt::from(2048) * n_keccak_component_copies; let keccak_point = point.pow_felt(&n_keccak_periodic_columns_copies); @@ -186,7 +205,7 @@ impl LayoutTrait for Layout { let keccak_keccak_keccak_round_key63 = eval_keccak_round_key63(keccak_point); let n_poseidon_copies = - n_steps.field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(POSEIDON_RATIO))); + n_steps.field_div(&NonZeroFelt::try_from(Felt::from(POSEIDON_RATIO))?); assert!(n_pedersen_hash_copies < u128::MAX.into()); let poseidon_point = point.pow_felt(&n_poseidon_copies); let poseidon_poseidon_full_round_key0 = @@ -204,31 +223,23 @@ impl LayoutTrait for Layout { trace_length: *trace_domain_size, initial_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr, final_pc: public_input .segments - .get(crate::layout::segments::PROGRAM) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::PROGRAM, - })? + .get(segments::PROGRAM) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr, initial_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr, final_ap: public_input .segments - .get(crate::layout::segments::EXECUTION) - .ok_or(CompositionPolyEvalError::SegmentMissing { - segment: crate::layout::segments::EXECUTION, - })? + .get(segments::EXECUTION) + .ok_or(CompositionPolyEvalError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr, initial_pedersen_addr: public_input .segments @@ -267,8 +278,8 @@ impl LayoutTrait for Layout { .begin_addr, range_check_min: public_input.range_check_min, range_check_max: public_input.range_check_max, - offset_size: Felt::from(0x10000), // 2**16 - half_offset_size: Felt::from(0x8000), // 2**15 + offset_size: FELT_65536, + half_offset_size: FELT_32768, pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, ecdsa_sig_config: EcdsaSigConfig { alpha: stark_curve::ALPHA, @@ -301,9 +312,9 @@ impl LayoutTrait for Layout { diluted_check_interaction_z: diluted_z, diluted_check_interaction_alpha: diluted_alpha, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - range_check16_perm_public_memory_prod: Felt::from(1), - diluted_check_first_elm: Felt::from(0), - diluted_check_permutation_public_memory_prod: Felt::from(1), + range_check16_perm_public_memory_prod: FELT_1, + diluted_check_first_elm: FELT_0, + diluted_check_permutation_public_memory_prod: FELT_1, diluted_check_final_cum_val: diluted_prod, }; @@ -316,21 +327,22 @@ impl LayoutTrait for Layout { )) } fn eval_oods_polynomial( + _public_input: &PublicInput, column_values: &[Felt], oods_values: &[Felt], constraint_coefficients: &[Felt], point: &Felt, oods_point: &Felt, trace_generator: &Felt, - ) -> Felt { - autogenerated::eval_oods_polynomial_inner::( + ) -> Result { + Ok(autogenerated::eval_oods_polynomial_inner::( column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, - ) + )) } fn traces_commit( transcript: &mut swiftness_transcript::transcript::Transcript, @@ -374,7 +386,7 @@ impl LayoutTrait for Layout { ) -> Result<(), PublicInputError> { ensure!(public_input.log_n_steps < MAX_LOG_N_STEPS, PublicInputError::MaxSteps); - let n_steps = Felt::TWO.pow_felt(&public_input.log_n_steps); + let n_steps = FELT_2.pow_felt(&public_input.log_n_steps); let trace_length = stark_domains.trace_domain_size; ensure!( n_steps * Felt::from(CPU_COMPONENT_HEIGHT) * Felt::from(CPU_COMPONENT_STEP) @@ -382,7 +394,12 @@ impl LayoutTrait for Layout { PublicInputError::TraceLengthInvalid ); - ensure!(Felt::ZERO <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); + ensure!( + public_input.segments.len() == segments::N_SEGMENTS, + PublicInputError::InvalidSegments + ); + + ensure!(FELT_0 <= public_input.range_check_min, PublicInputError::RangeCheckInvalid); ensure!( public_input.range_check_min < public_input.range_check_max, PublicInputError::RangeCheckInvalid @@ -396,68 +413,119 @@ impl LayoutTrait for Layout { let output_uses = public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr - public_input .segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; - ensure!(output_uses < u128::MAX.into(), PublicInputError::UsesInvalid); + ensure!(output_uses <= u128::MAX.into(), PublicInputError::UsesInvalid); - let pedersen_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))); + let pedersen_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(PEDERSEN_BUILTIN_ROW_RATIO))?); let pedersen_uses = (public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .stop_ptr - public_input .segments .get(segments::PEDERSEN) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::PEDERSEN })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::THREE)); - ensure!(pedersen_uses < pedersen_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_3)); + ensure!(pedersen_uses <= pedersen_copies, PublicInputError::UsesInvalid); - let range_check_copies = trace_length.field_div(&NonZeroFelt::from_felt_unchecked( - Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO), - )); + let range_check_copies = trace_length + .field_div(&NonZeroFelt::try_from(Felt::from(RANGE_CHECK_BUILTIN_ROW_RATIO))?); let range_check_uses = public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .stop_ptr - public_input .segments .get(segments::RANGE_CHECK) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::RANGE_CHECK })? .begin_addr; - ensure!(range_check_uses < range_check_copies, PublicInputError::UsesInvalid); + ensure!(range_check_uses <= range_check_copies, PublicInputError::UsesInvalid); - let bitwise_copies = trace_length - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(BITWISE_ROW_RATIO))); + let ecdsa_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(ECDSA_BUILTIN_ROW_RATIO))?); + let ecdsa_uses = (public_input + .segments + .get(segments::ECDSA) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? + .stop_ptr + - public_input + .segments + .get(segments::ECDSA) + .ok_or(PublicInputError::SegmentMissing { segment: segments::ECDSA })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_2)); + ensure!(ecdsa_uses <= ecdsa_copies, PublicInputError::UsesInvalid); + + let bitwise_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(BITWISE_ROW_RATIO))?); let bitwise_uses = (public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::OUTPUT })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? .stop_ptr - public_input .segments .get(segments::BITWISE) - .ok_or(PublicInputError::SegmentMissing { - segment: crate::layout::segments::OUTPUT, - })? + .ok_or(PublicInputError::SegmentMissing { segment: segments::BITWISE })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_5)); + ensure!(bitwise_uses <= bitwise_copies, PublicInputError::UsesInvalid); + + let ec_op_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(EC_OP_BUILTIN_ROW_RATIO))?); + let ec_op_uses = (public_input + .segments + .get(segments::EC_OP) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EC_OP })? + .stop_ptr + - public_input + .segments + .get(segments::EC_OP) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EC_OP })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_7)); + ensure!(ec_op_uses <= ec_op_copies, PublicInputError::UsesInvalid); + + let keccak_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(KECCAK_ROW_RATIO))?); + let keccak_uses = (public_input + .segments + .get(segments::KECCAK) + .ok_or(PublicInputError::SegmentMissing { segment: segments::KECCAK })? + .stop_ptr + - public_input + .segments + .get(segments::KECCAK) + .ok_or(PublicInputError::SegmentMissing { segment: segments::KECCAK })? + .begin_addr) + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_16)); + ensure!(keccak_uses <= keccak_copies, PublicInputError::UsesInvalid); + + let poseidon_copies = + trace_length.field_div(&NonZeroFelt::try_from(Felt::from(POSEIDON_ROW_RATIO))?); + let poseidon_uses = (public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? + .stop_ptr + - public_input + .segments + .get(segments::POSEIDON) + .ok_or(PublicInputError::SegmentMissing { segment: segments::POSEIDON })? .begin_addr) - .field_div(&NonZeroFelt::from_felt_unchecked(Felt::from(0x5))); - ensure!(bitwise_uses < bitwise_copies, PublicInputError::UsesInvalid); + .field_div(&NonZeroFelt::from_felt_unchecked(FELT_6)); + ensure!(poseidon_uses <= poseidon_copies, PublicInputError::UsesInvalid); Ok(()) } @@ -465,29 +533,29 @@ impl LayoutTrait for Layout { let public_segments = &public_input.segments; let initial_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .begin_addr; let final_pc = public_segments - .get(crate::layout::segments::PROGRAM) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::PROGRAM) + .ok_or(PublicInputError::SegmentMissing { segment: segments::PROGRAM })? .stop_ptr; let initial_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .begin_addr; let initial_fp = initial_ap; let final_ap = public_segments - .get(crate::layout::segments::EXECUTION) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::EXECUTION) + .ok_or(PublicInputError::SegmentMissing { segment: segments::EXECUTION })? .stop_ptr; let output_start = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .begin_addr; let output_stop = public_segments - .get(crate::layout::segments::OUTPUT) - .ok_or(PublicInputError::SegmentMissing { segment: crate::layout::segments::PROGRAM })? + .get(segments::OUTPUT) + .ok_or(PublicInputError::SegmentMissing { segment: segments::OUTPUT })? .stop_ptr; ensure!(initial_ap < MAX_ADDRESS, PublicInputError::MaxSteps); @@ -503,24 +571,23 @@ impl LayoutTrait for Layout { .collect::>(); ensure!(initial_pc == INITIAL_PC, PublicInputError::MaxSteps); - ensure!(final_pc == INITIAL_PC + 4, PublicInputError::MaxSteps); + ensure!(final_pc == INITIAL_PC + FELT_4, PublicInputError::MaxSteps); - let program_end_pc = initial_fp - 2; + let program_end_pc = initial_fp - FELT_2; let program: Vec<&Felt> = memory .iter() .skip(initial_pc.to_bigint().try_into().unwrap()) .step_by(2) - .take((program_end_pc - Felt::ONE).to_bigint().try_into().unwrap()) + .take((program_end_pc - FELT_1).to_bigint().try_into().unwrap()) .collect(); - let hash = program.iter().fold(Felt::ZERO, |acc, &e| pedersen_hash(&acc, e)); + let hash = program.iter().fold(FELT_0, |acc, &e| pedersen_hash(&acc, e)); let program_hash = pedersen_hash(&hash, &Felt::from(program.len())); let output_len: usize = (output_stop - output_start).to_bigint().try_into().unwrap(); let output = &memory[memory.len() - output_len * 2..]; - let hash = - output.iter().skip(1).step_by(2).fold(Felt::ZERO, |acc, e| pedersen_hash(&acc, e)); + let hash = output.iter().skip(1).step_by(2).fold(FELT_0, |acc, e| pedersen_hash(&acc, e)); let output_hash = pedersen_hash(&hash, &Felt::from(output_len)); Ok((program_hash, output_hash)) diff --git a/crates/air/src/lib.rs b/crates/air/src/lib.rs index 44b1578..4698f76 100644 --- a/crates/air/src/lib.rs +++ b/crates/air/src/lib.rs @@ -5,8 +5,10 @@ extern crate alloc; #[cfg(feature = "std")] extern crate std; +pub mod consts; pub mod diluted; pub mod domains; +pub mod dynamic; pub mod fixtures; pub mod layout; pub mod periodic_columns; diff --git a/crates/air/src/periodic_columns.rs b/crates/air/src/periodic_columns.rs index 916136c..38cbafb 100644 --- a/crates/air/src/periodic_columns.rs +++ b/crates/air/src/periodic_columns.rs @@ -1,3 +1,4 @@ +use crate::consts::FELT_0; use starknet_crypto::Felt; // Evaluates a periodic column at a point. @@ -5,7 +6,7 @@ use starknet_crypto::Felt; // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_pedersen_x(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x43869b387c2d0eab20661ebdfaca58b4b23feac014e1e1d9413164312e77da", @@ -2062,7 +2063,7 @@ pub fn eval_pedersen_x(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_pedersen_y(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x62b07622f501888a668440d9b856be4b0c3bf12a401fc2bebaeab4a7e1684ad", @@ -4119,7 +4120,7 @@ pub fn eval_pedersen_y(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_ecdsa_x(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x22aac295d2c9dd7e94269a4a72b2fb3c3af04a0cb42ed1f66cfd446fc505ee2", @@ -5152,7 +5153,7 @@ pub fn eval_ecdsa_x(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_ecdsa_y(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x23a2994e807cd40717d68f37e1d765f4354a81b12374c82f481f09f9faff31a", @@ -6185,7 +6186,7 @@ pub fn eval_ecdsa_y(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key0(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x25257ecfcf301b18da64254e59b151a549668b8c150b39f71eb3e3508224fbb", @@ -6319,7 +6320,7 @@ pub fn eval_keccak_round_key0(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key1(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x46c20a61e3dd5f8e8d4085bfcf8e52c9c50152285742b9ba783a4edb6608353", @@ -6453,7 +6454,7 @@ pub fn eval_keccak_round_key1(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key3(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x4a025b231a318123295e4fc2ad69f9552eec69c64066fac264b1cfcdd7d3158", @@ -6587,7 +6588,7 @@ pub fn eval_keccak_round_key3(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key7(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x279b1137fbe58a227ed345e6b3136ea36aa5eabb7ebaac5f226c318ef599e60", @@ -6721,7 +6722,7 @@ pub fn eval_keccak_round_key7(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key15(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x24ec7e1a7b8bcb5b138102f4131d7fa12dd5fc5278251892aa929a46b50dec4", @@ -6858,7 +6859,7 @@ pub fn eval_keccak_round_key15(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key31(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x5852cb7312b6299275e11e7bf04e6a604038b1398d93ed46cdfa41cb9503116", @@ -6995,7 +6996,7 @@ pub fn eval_keccak_round_key31(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_keccak_round_key63(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x13c65642d180be37bf6db1ca47e2884a87a9c17aaa35744910c1b0fccc4c50f", @@ -7132,7 +7133,7 @@ pub fn eval_keccak_round_key63(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_poseidon_poseidon_full_round_key0(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x7ed6ec4a18e23340489e4e36db8f4fcebf6b6ebd56185c29397344c5deea4c8", @@ -7173,7 +7174,7 @@ pub fn eval_poseidon_poseidon_full_round_key0(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_poseidon_poseidon_full_round_key1(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x143ce163d9e857b549efa236512d839954411bc04e888aa114215f991ee8a57", @@ -7214,7 +7215,7 @@ pub fn eval_poseidon_poseidon_full_round_key1(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_poseidon_poseidon_full_round_key2(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x565a88ff293c0a9c48cb67be157ad800604990d390e1b173e9bdc09abf9f788", @@ -7255,7 +7256,7 @@ pub fn eval_poseidon_poseidon_full_round_key2(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_poseidon_poseidon_partial_round_key0(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x3413bee8966e47edad4d25455e74664d547713650ae8ef6f7f4bd1d56077b55", @@ -7520,7 +7521,7 @@ pub fn eval_poseidon_poseidon_partial_round_key0(point: Felt) -> Felt { // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. pub fn eval_poseidon_poseidon_partial_round_key1(point: Felt) -> Felt { - let mut res = Felt::ZERO; + let mut res = FELT_0; res = res * point + Felt::from_hex_unchecked( "0x26f2aa4059eb10ba60302d001cdf4a5482d43e2d7d05bd2b5486cd8c52ab9be", diff --git a/crates/air/src/public_memory.rs b/crates/air/src/public_memory.rs index 99963af..f1d2b0f 100644 --- a/crates/air/src/public_memory.rs +++ b/crates/air/src/public_memory.rs @@ -1,4 +1,8 @@ -use crate::types::{ContinuousPageHeader, Page, SegmentInfo}; +use crate::{ + consts::{FELT_0, FELT_1, FELT_2}, + dynamic::DynamicParams, + types::{ContinuousPageHeader, Page, SegmentInfo}, +}; use alloc::vec; use alloc::vec::Vec; use serde::{Deserialize, Serialize}; @@ -6,7 +10,7 @@ use serde_with::serde_as; use starknet_core::types::NonZeroFelt; use starknet_crypto::{pedersen_hash, poseidon_hash_many, Felt}; -pub const MAX_LOG_N_STEPS: Felt = Felt::from_hex_unchecked("50"); +pub const MAX_LOG_N_STEPS: Felt = Felt::from_hex_unchecked("0x50"); pub const MAX_RANGE_CHECK: Felt = Felt::from_hex_unchecked("0xffff"); pub const MAX_ADDRESS: Felt = Felt::from_hex_unchecked("0xffffffffffffffff"); pub const INITIAL_PC: Felt = Felt::from_hex_unchecked("0x1"); @@ -34,11 +38,8 @@ pub struct PublicInput { serde_as(as = "starknet_core::serde::unsigned_field_element::UfeHex") )] pub layout: Felt, - #[cfg_attr( - feature = "std", - serde_as(as = "Vec") - )] - pub dynamic_params: Vec, + #[serde(skip_serializing_if = "Option::is_none")] + pub dynamic_params: Option, pub segments: Vec, #[cfg_attr( feature = "std", @@ -56,7 +57,7 @@ pub struct PublicInput { impl PublicInput { // Returns the ratio between the product of all public memory cells and z^|public_memory|. - // This is the value that needs to be at the memory__multi_column_perm__perm__public_memory_prod + // This is the value that needs to be at the memory_multi_column_perm_perm_public_memory_prod // member expression. pub fn get_public_memory_product_ratio( &self, @@ -90,18 +91,38 @@ impl PublicInput { (prod, total_length) } - pub fn get_hash(&self) -> Felt { - let mut main_page_hash = Felt::ZERO; + #[cfg_attr(feature = "stone5", allow(unused_variables))] + pub fn get_hash(&self, n_verifier_friendly_commitment_layers: Felt) -> Felt { + let mut main_page_hash = FELT_0; for memory in self.main_page.iter() { main_page_hash = pedersen_hash(&main_page_hash, &memory.address); main_page_hash = pedersen_hash(&main_page_hash, &memory.value); } main_page_hash = - pedersen_hash(&main_page_hash, &(Felt::TWO * Felt::from(self.main_page.len()))); - - let mut hash_data = - vec![self.log_n_steps, self.range_check_min, self.range_check_max, self.layout]; - hash_data.extend(self.dynamic_params.iter()); + pedersen_hash(&main_page_hash, &(FELT_2 * Felt::from(self.main_page.len()))); + + let mut hash_data = { + #[cfg(feature = "stone5")] + { + vec![self.log_n_steps, self.range_check_min, self.range_check_max, self.layout] + } + #[cfg(feature = "stone6")] + { + vec![ + n_verifier_friendly_commitment_layers, + self.log_n_steps, + self.range_check_min, + self.range_check_max, + self.layout, + ] + } + }; + + if let Some(dynamic_params) = &self.dynamic_params { + let dynamic_params_vec: Vec = dynamic_params.clone().into(); + + hash_data.extend(dynamic_params_vec.into_iter().map(Felt::from).collect::>()); + } // Segments. hash_data.extend(self.segments.iter().flat_map(|s| vec![s.begin_addr, s.stop_ptr])); @@ -124,8 +145,8 @@ impl PublicInput { } fn get_continuous_pages_product(page_headers: &[ContinuousPageHeader]) -> (Felt, Felt) { - let mut res = Felt::ONE; - let mut total_length = Felt::ZERO; + let mut res = FELT_1; + let mut total_length = FELT_0; for header in page_headers { res *= header.prod; diff --git a/crates/air/src/tests/public_input.rs b/crates/air/src/tests/public_input.rs index 349c3b8..bf61321 100644 --- a/crates/air/src/tests/public_input.rs +++ b/crates/air/src/tests/public_input.rs @@ -4,10 +4,19 @@ use starknet_crypto::Felt; #[test] fn test_public_input_hash() { let public_input = get(); - assert_eq!( - public_input.get_hash(), - Felt::from_hex_unchecked( - "0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52" - ) - ); + let expected = { + #[cfg(feature = "stone5")] + { + Felt::from_hex_unchecked( + "0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52", + ) + } + #[cfg(feature = "stone6")] + { + Felt::from_hex_unchecked( + "0x78995ef92826448325c224646b2904b3ede3d36fdf35c3d12839c2bbff6d2e7", + ) + } + }; + assert_eq!(public_input.get_hash(Felt::ZERO), expected); } diff --git a/crates/air/src/trace/config.rs b/crates/air/src/trace/config.rs index 85d4ee3..b1816bb 100644 --- a/crates/air/src/trace/config.rs +++ b/crates/air/src/trace/config.rs @@ -1,4 +1,3 @@ -use crate::layout::LayoutTrait; use serde::{Deserialize, Serialize}; use starknet_crypto::Felt; use swiftness_commitment::vector; @@ -13,10 +12,12 @@ pub struct Config { } impl Config { - pub fn validate( + pub fn validate( &self, log_eval_domain_size: Felt, n_verifier_friendly_commitment_layers: Felt, + n_columns_original: Felt, + n_columns_interaction: Felt, ) -> Result<(), Error> { if self.original.n_columns < Felt::ONE || self.original.n_columns > MAX_N_COLUMNS { return Err(Error::OutOfBounds { min: Felt::ONE, max: MAX_N_COLUMNS }); @@ -25,11 +26,11 @@ impl Config { return Err(Error::OutOfBounds { min: Felt::ONE, max: MAX_N_COLUMNS }); } - if self.original.n_columns != Layout::NUM_COLUMNS_FIRST.into() { + if self.original.n_columns != n_columns_original { return Err(Error::ColumnsNumInvalid); } - if self.interaction.n_columns != Layout::NUM_COLUMNS_SECOND.into() { + if self.interaction.n_columns != n_columns_interaction { return Err(Error::ColumnsNumInvalid); } diff --git a/crates/commitment/Cargo.toml b/crates/commitment/Cargo.toml index 480a2d8..c18efc3 100644 --- a/crates/commitment/Cargo.toml +++ b/crates/commitment/Cargo.toml @@ -8,24 +8,27 @@ repository.workspace = true version.workspace = true [features] -default = ["std", "keccak"] +default = ["std", "keccak_160_lsb"] std = [ "dep:thiserror", "swiftness_transcript/std", "starknet-crypto/std", ] -keccak = [] -blake2s = [] +keccak_160_lsb = [] +keccak_248_lsb = [] +blake2s_160_lsb = [] +blake2s_248_lsb = [] [dependencies] +blake2.workspace = true +num-bigint.workspace = true serde_with.workspace = true serde.workspace = true sha3.workspace = true starknet-core.workspace = true -starknet-types-core.workspace = true starknet-crypto.workspace = true +starknet-types-core.workspace = true thiserror = { optional = true, workspace = true } thiserror-no-std.workspace = true -blake2.workspace = true swiftness_transcript.workspace = true diff --git a/crates/commitment/src/table/decommit.rs b/crates/commitment/src/table/decommit.rs index 2361491..0902f1a 100644 --- a/crates/commitment/src/table/decommit.rs +++ b/crates/commitment/src/table/decommit.rs @@ -1,18 +1,13 @@ +use super::types::{Commitment, Decommitment, Witness}; use crate::vector::{decommit::vector_commitment_decommit, types::Query}; use alloc::vec::Vec; +#[cfg(any(feature = "blake2s_160_lsb", feature = "blake2s_248_lsb"))] +use blake2::{Blake2s256, Digest}; +use num_bigint::{BigInt, TryFromBigIntError}; +#[cfg(any(feature = "keccak_160_lsb", feature = "keccak_248_lsb"))] +use sha3::{Digest, Keccak256}; use starknet_crypto::{poseidon_hash_many, Felt}; -#[cfg(feature = "blake2s")] -use blake2::Blake2s256; -#[cfg(feature = "blake2s")] -use blake2::Digest; -#[cfg(feature = "keccak")] -use sha3::Digest; -#[cfg(feature = "keccak")] -use sha3::Keccak256; - -use super::types::{Commitment, Decommitment, Witness}; - const MONTGOMERY_R: Felt = Felt::from_hex_unchecked("0x7FFFFFFFFFFFDF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1"); @@ -32,7 +27,7 @@ pub fn table_decommit( commitment.vector_commitment.config.n_verifier_friendly_commitment_layers >= bottom_layer_depth; - let n_columns: u32 = commitment.config.n_columns.to_bigint().try_into().unwrap(); + let n_columns: u32 = commitment.config.n_columns.to_bigint().try_into()?; if n_columns as usize * queries.len() != decommitment.values.len() { return Err(Error::DecommitmentLength); } @@ -70,13 +65,30 @@ fn generate_vector_queries( let mut data = Vec::new(); data.extend(slice.iter().flat_map(|x| x.to_bytes_be().to_vec())); - #[cfg(feature = "keccak")] - let mut hasher = Keccak256::new(); - #[cfg(feature = "blake2s")] - let mut hasher = Blake2s256::new(); + let mut hasher = { + #[cfg(any(feature = "keccak_160_lsb", feature = "keccak_248_lsb"))] + { + Keccak256::new() + } + #[cfg(any(feature = "blake2s_160_lsb", feature = "blake2s_248_lsb"))] + { + Blake2s256::new() + } + }; hasher.update(&data); - Felt::from_bytes_be_slice(&hasher.finalize().to_vec().as_slice()[12..32]) + + { + #[cfg(any(feature = "keccak_160_lsb", feature = "blake2s_160_lsb"))] + { + Felt::from_bytes_be_slice(&hasher.finalize().as_slice()[12..32]) + } + + #[cfg(any(feature = "keccak_248_lsb", feature = "blake2s_248_lsb"))] + { + Felt::from_bytes_be_slice(&hasher.finalize().as_slice()[1..32]) + } + } }; vector_queries.push(Query { index: queries[i], value: hash }) @@ -96,6 +108,9 @@ pub enum Error { #[error("Vector Error")] Vector(#[from] crate::vector::decommit::Error), + + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), } #[cfg(not(feature = "std"))] @@ -109,4 +124,7 @@ pub enum Error { #[error("Vector Error")] Vector(#[from] crate::vector::decommit::Error), + + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), } diff --git a/crates/commitment/src/vector/decommit.rs b/crates/commitment/src/vector/decommit.rs index 97d142d..756d537 100644 --- a/crates/commitment/src/vector/decommit.rs +++ b/crates/commitment/src/vector/decommit.rs @@ -1,13 +1,9 @@ use super::types::{Commitment, Query, QueryWithDepth, Witness}; use alloc::vec::Vec; -#[cfg(feature = "blake2s")] -use blake2::Blake2s256; -#[cfg(feature = "blake2s")] -use blake2::Digest; -#[cfg(feature = "keccak")] -use sha3::Digest; -#[cfg(feature = "keccak")] -use sha3::Keccak256; +#[cfg(any(feature = "blake2s_160_lsb", feature = "blake2s_248_lsb"))] +use blake2::{Blake2s256, Digest}; +#[cfg(any(feature = "keccak_160_lsb", feature = "keccak_248_lsb"))] +use sha3::{Digest, Keccak256}; use starknet_core::types::NonZeroFelt; use starknet_crypto::{poseidon_hash, Felt}; @@ -115,13 +111,30 @@ fn hash_friendly_unfriendly(x: Felt, y: Felt, is_verifier_friendly: bool) -> Fel hash_data.extend(&x.to_bytes_be()); hash_data.extend(&y.to_bytes_be()); - #[cfg(feature = "keccak")] - let mut hasher = Keccak256::new(); - #[cfg(feature = "blake2s")] - let mut hasher = Blake2s256::new(); + let mut hasher = { + #[cfg(any(feature = "keccak_160_lsb", feature = "keccak_248_lsb"))] + { + Keccak256::new() + } + #[cfg(any(feature = "blake2s_160_lsb", feature = "blake2s_248_lsb"))] + { + Blake2s256::new() + } + }; hasher.update(&hash_data); - Felt::from_bytes_be_slice(&hasher.finalize().to_vec().as_slice()[12..32]) + + { + #[cfg(any(feature = "keccak_160_lsb", feature = "blake2s_160_lsb"))] + { + Felt::from_bytes_be_slice(&hasher.finalize().as_slice()[12..32]) + } + + #[cfg(any(feature = "keccak_248_lsb", feature = "blake2s_248_lsb"))] + { + Felt::from_bytes_be_slice(&hasher.finalize().as_slice()[1..32]) + } + } } } diff --git a/crates/fri/Cargo.toml b/crates/fri/Cargo.toml index 678de0d..0846515 100644 --- a/crates/fri/Cargo.toml +++ b/crates/fri/Cargo.toml @@ -8,7 +8,7 @@ repository.workspace = true version.workspace = true [features] -default = ["std", "keccak"] +default = ["std", "keccak_160_lsb"] std = [ "dep:thiserror", "swiftness_commitment/std", @@ -16,14 +16,13 @@ std = [ "starknet-core/std", "starknet-crypto/std", ] -keccak = [ - "swiftness_commitment/keccak", -] -blake2s = [ - "swiftness_commitment/blake2s", -] +keccak_160_lsb = ["swiftness_commitment/keccak_160_lsb"] +keccak_248_lsb = ["swiftness_commitment/keccak_248_lsb"] +blake2s_160_lsb = ["swiftness_commitment/blake2s_160_lsb"] +blake2s_248_lsb = ["swiftness_commitment/blake2s_248_lsb"] [dependencies] +num-bigint.workspace = true serde_with.workspace = true serde.workspace = true sha3.workspace = true diff --git a/crates/fri/src/config.rs b/crates/fri/src/config.rs index 47f0e54..f9b8c63 100644 --- a/crates/fri/src/config.rs +++ b/crates/fri/src/config.rs @@ -1,4 +1,5 @@ use alloc::vec::Vec; +use num_bigint::{BigInt, TryFromBigIntError}; use serde::{Deserialize, Serialize}; use serde_with::serde_as; use starknet_crypto::Felt; @@ -59,7 +60,7 @@ impl Config { return Err(Error::FirstFriStepInvalid); } - let n_layers: usize = self.n_layers.to_bigint().try_into().unwrap(); + let n_layers: usize = self.n_layers.to_bigint().try_into()?; let mut sum_of_step_sizes = Felt::ZERO; let mut log_input_size = self.log_input_size; @@ -72,7 +73,7 @@ impl Config { if fri_step < MIN_FRI_STEP.into() || fri_step > MAX_FRI_STEP.into() { return Err(Error::OutOfBounds { min: MIN_FRI_STEP, max: MAX_FRI_STEP }); } - let fri_step: u64 = fri_step.to_bigint().try_into().unwrap(); + let fri_step: u64 = fri_step.to_bigint().try_into()?; let expected_n_columns = Felt::from(2).pow(fri_step); if table_commitment.n_columns != expected_n_columns { return Err(Error::InvalidColumnCount { @@ -88,7 +89,7 @@ impl Config { let log_expected_input_degree = sum_of_step_sizes + self.log_last_layer_degree_bound; if log_expected_input_degree + log_n_cosets != self.log_input_size { return Err(Error::LogInputSizeMismatch { - expected: log_expected_input_degree, + expected: log_expected_input_degree + log_n_cosets, actual: self.log_input_size, }); } @@ -113,6 +114,8 @@ pub enum Error { LogInputSizeMismatch { expected: Felt, actual: Felt }, #[error("vector validation failed: {0}")] VectorValidationFailed(#[from] swiftness_commitment::vector::config::Error), + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), } #[cfg(not(feature = "std"))] @@ -131,4 +134,6 @@ pub enum Error { LogInputSizeMismatch { expected: Felt, actual: Felt }, #[error("vector validation failed: {0}")] VectorValidationFailed(#[from] swiftness_commitment::vector::config::Error), + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), } diff --git a/crates/fri/src/formula.rs b/crates/fri/src/formula.rs index 5980258..73f4c0f 100644 --- a/crates/fri/src/formula.rs +++ b/crates/fri/src/formula.rs @@ -1,4 +1,5 @@ use alloc::vec::Vec; +use num_bigint::{BigUint, TryFromBigIntError}; use starknet_crypto::Felt; // Constants representing primitive roots of unity for orders 2, 4, 8, and 16. @@ -76,7 +77,7 @@ pub fn fri_formula( x_inv: Felt, coset_size: Felt, ) -> Result { - let coset_size: u64 = coset_size.to_biguint().try_into().unwrap(); + let coset_size: u64 = coset_size.to_biguint().try_into()?; // Sort by usage frequency. match coset_size { 2 => { @@ -98,4 +99,6 @@ use thiserror_no_std::Error; pub enum Error { #[error("Invalid values length: expected {expected}, got {got}")] InvalidValuesLength { expected: usize, got: usize }, + #[error("BigInt conversion Error")] + TryFromBigInt(#[from] TryFromBigIntError), } diff --git a/crates/pow/Cargo.toml b/crates/pow/Cargo.toml index 07b9eac..20838a4 100644 --- a/crates/pow/Cargo.toml +++ b/crates/pow/Cargo.toml @@ -18,12 +18,12 @@ keccak = [] blake2s = [] [dependencies] +blake2.workspace = true serde.workspace = true sha3.workspace = true starknet-crypto.workspace = true starknet-types-core.workspace = true thiserror = { optional = true, workspace = true } thiserror-no-std.workspace = true -blake2.workspace = true swiftness_transcript.workspace = true \ No newline at end of file diff --git a/crates/stark/Cargo.toml b/crates/stark/Cargo.toml index ec82da5..20fe297 100644 --- a/crates/stark/Cargo.toml +++ b/crates/stark/Cargo.toml @@ -8,7 +8,7 @@ repository.workspace = true version.workspace = true [features] -default = ["std", "recursive", "keccak"] +default = ["std", "recursive", "keccak_160_lsb"] std = [ "dep:thiserror", "starknet-core/std", @@ -27,16 +27,25 @@ recursive_with_poseidon = [ ] small = ["swiftness_air/small"] starknet = ["swiftness_air/starknet"] -starknet_with_keccak = [ - "swiftness_air/starknet_with_keccak", +starknet_with_keccak = ["swiftness_air/starknet_with_keccak"] +dynamic = ["swiftness_air/dynamic"] +stone5 = ["swiftness_air/stone5"] +stone6 = ["swiftness_air/stone6"] +keccak_160_lsb = [ + "swiftness_pow/keccak", + "swiftness_commitment/keccak_160_lsb" ] -keccak = [ +keccak_248_lsb = [ "swiftness_pow/keccak", - "swiftness_commitment/keccak", + "swiftness_commitment/keccak_248_lsb" +] +blake2s_160_lsb = [ + "swiftness_pow/blake2s", + "swiftness_commitment/blake2s_160_lsb" ] -blake2s = [ +blake2s_248_lsb = [ "swiftness_pow/blake2s", - "swiftness_commitment/blake2s", + "swiftness_commitment/blake2s_248_lsb" ] [dependencies] diff --git a/crates/stark/src/config.rs b/crates/stark/src/config.rs index 5224508..7984fbe 100644 --- a/crates/stark/src/config.rs +++ b/crates/stark/src/config.rs @@ -1,6 +1,7 @@ use serde::{Deserialize, Serialize}; use serde_with::serde_as; use starknet_crypto::Felt; +use swiftness_commitment::vector; #[serde_as] #[derive(Debug, PartialEq, Serialize, Deserialize)] @@ -41,15 +42,24 @@ impl StarkConfig { self.n_queries * self.log_n_cosets + Felt::from(self.proof_of_work.n_bits) } - pub fn validate(&self, security_bits: Felt) -> Result<(), Error> { + pub fn validate( + &self, + security_bits: Felt, + num_columns_first: Felt, + num_columns_second: Felt, + ) -> Result<(), Error> { self.proof_of_work.validate()?; - assert!(security_bits <= self.security_bits()); + ensure!(security_bits <= self.security_bits(), Error::InsufficientSecurity); // Validate traces config. let log_eval_domain_size = self.log_trace_domain_size + self.log_n_cosets; - self.traces - .validate::(log_eval_domain_size, self.n_verifier_friendly_commitment_layers)?; + self.traces.validate( + log_eval_domain_size, + self.n_verifier_friendly_commitment_layers, + num_columns_first, + num_columns_second, + )?; // Validate composition config. self.composition @@ -62,9 +72,7 @@ impl StarkConfig { } } -use swiftness_air::layout::LayoutTrait; -use swiftness_commitment::vector; - +use swiftness_transcript::ensure; #[cfg(feature = "std")] use thiserror::Error; @@ -79,6 +87,10 @@ pub enum Error { Pow(#[from] swiftness_pow::config::Error), #[error("Trace Error")] Trace(#[from] swiftness_air::trace::config::Error), + #[error("dynamic params missing")] + DynamicParamsMissing, + #[error("insufficient number ofsecurity bits")] + InsufficientSecurity, } #[cfg(not(feature = "std"))] @@ -95,4 +107,8 @@ pub enum Error { Pow(#[from] swiftness_pow::config::Error), #[error("Trace Error")] Trace(#[from] swiftness_air::trace::config::Error), + #[error("dynamic params missing")] + DynamicParamsMissing, + #[error("insufficient number ofsecurity bits")] + InsufficientSecurity, } diff --git a/crates/stark/src/lib.rs b/crates/stark/src/lib.rs index 10409b6..4c754b1 100644 --- a/crates/stark/src/lib.rs +++ b/crates/stark/src/lib.rs @@ -5,14 +5,30 @@ extern crate alloc; #[cfg(feature = "std")] extern crate std; -pub mod commit; +macro_rules! import_module_if_layout { + ($mod_name:ident) => { + #[cfg(any( + feature = "dex", + feature = "recursive", + feature = "recursive_with_poseidon", + feature = "small", + feature = "starknet", + feature = "starknet_with_keccak", + feature = "dynamic" + ))] + pub mod $mod_name; + }; +} + +import_module_if_layout!(commit); +import_module_if_layout!(oods); +import_module_if_layout!(stark); +import_module_if_layout!(verify); +import_module_if_layout!(fixtures); + pub mod config; -pub mod fixtures; -pub mod oods; pub mod queries; -pub mod stark; pub mod types; -pub mod verify; #[cfg(test)] pub mod tests; diff --git a/crates/stark/src/oods.rs b/crates/stark/src/oods.rs index 8cea1dd..678f5dc 100644 --- a/crates/stark/src/oods.rs +++ b/crates/stark/src/oods.rs @@ -75,10 +75,11 @@ pub enum OodsVerifyError { pub fn eval_oods_boundary_poly_at_points( n_original_columns: usize, n_interaction_columns: usize, - eval_info: OodsEvaluationInfo, + public_input: &PublicInput, + eval_info: &OodsEvaluationInfo, points: &[Felt], - decommitment: trace::Decommitment, - composition_decommitment: table::types::Decommitment, + decommitment: &trace::Decommitment, + composition_decommitment: &table::types::Decommitment, ) -> Vec { assert!( decommitment.original.values.len() == points.len() * n_original_columns, @@ -113,13 +114,14 @@ pub fn eval_oods_boundary_poly_at_points( ); evaluations.push(Layout::eval_oods_polynomial( + public_input, &column_values, &eval_info.oods_values, &eval_info.constraint_coefficients, &point, &eval_info.oods_point, &eval_info.trace_generator, - )); + ).unwrap()); } evaluations diff --git a/crates/stark/src/queries.rs b/crates/stark/src/queries.rs index 9d2475e..a85f0fd 100644 --- a/crates/stark/src/queries.rs +++ b/crates/stark/src/queries.rs @@ -5,6 +5,8 @@ use swiftness_air::domains::StarkDomains; use swiftness_transcript::transcript::Transcript; const FIELD_GENERATOR: Felt = Felt::from_hex_unchecked("0x3"); +const DIVISOR: Felt = Felt::from_hex_unchecked("0x100000000000000000000000000000000"); +const MAX_DOMAIN_SIZE: Felt = Felt::from_hex_unchecked("0x40"); pub fn generate_queries( transcript: &mut Transcript, @@ -15,10 +17,8 @@ pub fn generate_queries( let mut samples: Vec = (0..n) .map(|_| { let res = transcript.random_felt_to_prover(); - let (_, low) = res.div_rem(&NonZeroFelt::from_felt_unchecked( - Felt::from_hex_unchecked("0x100000000000000000000000000000000"), - )); - let (_, sample) = low.div_rem(&NonZeroFelt::from_felt_unchecked(query_upper_bound)); + let (_, low) = res.div_rem(&NonZeroFelt::from_felt_unchecked(DIVISOR)); + let (_, sample) = low.div_rem(&NonZeroFelt::try_from(query_upper_bound).unwrap()); sample }) .collect(); @@ -31,11 +31,11 @@ pub fn queries_to_points(queries: &[Felt], stark_domains: &StarkDomains) -> Vec< let mut points = Vec::::new(); // Evaluation domains of size greater than 2**64 are not supported - assert!((stark_domains.log_eval_domain_size) <= Felt::from(64)); + assert!((stark_domains.log_eval_domain_size) <= MAX_DOMAIN_SIZE); // A 'log_eval_domain_size' bits index can be bit reversed using bit_reverse_u64 if it is // multiplied by 2**(64 - log_eval_domain_size) first. - let shift = Felt::TWO.pow_felt(&(Felt::from(64) - stark_domains.log_eval_domain_size)); + let shift = Felt::TWO.pow_felt(&(MAX_DOMAIN_SIZE - stark_domains.log_eval_domain_size)); for query in queries { let index: u64 = (query * shift).to_bigint().try_into().unwrap(); diff --git a/crates/stark/src/stark.rs b/crates/stark/src/stark.rs index 89e2b42..52d7dd4 100644 --- a/crates/stark/src/stark.rs +++ b/crates/stark/src/stark.rs @@ -1,10 +1,28 @@ use crate::{ commit::stark_commit, queries::generate_queries, types::StarkProof, verify::stark_verify, }; +use starknet_crypto::Felt; +use swiftness_air::{ + domains::StarkDomains, + layout::{GenericLayoutTrait, LayoutTrait, PublicInputError}, +}; +use swiftness_transcript::transcript::Transcript; impl StarkProof { - pub fn verify(&self, security_bits: Felt) -> Result<(Felt, Felt), Error> { - self.config.validate::(security_bits)?; + pub fn verify( + &self, + security_bits: Felt, + ) -> Result<(Felt, Felt), Error> { + let n_original_columns = + Layout::get_num_columns_first(&self.public_input).ok_or(Error::ColumnMissing)?; + let n_interaction_columns = + Layout::get_num_columns_second(&self.public_input).ok_or(Error::ColumnMissing)?; + + self.config.validate( + security_bits, + n_original_columns.into(), + n_interaction_columns.into(), + )?; // Validate the public input. let stark_domains = @@ -13,7 +31,7 @@ impl StarkProof { Layout::validate_public_input(&self.public_input, &stark_domains)?; // Compute the initial hash seed for the Fiat-Shamir transcript. - let digest = self.public_input.get_hash(); + let digest = self.public_input.get_hash(self.config.n_verifier_friendly_commitment_layers); // Construct the transcript. let mut transcript = Transcript::new(digest); @@ -35,8 +53,9 @@ impl StarkProof { // STARK verify phase. stark_verify::( - Layout::NUM_COLUMNS_FIRST, - Layout::NUM_COLUMNS_SECOND, + n_original_columns, + n_interaction_columns, + &self.public_input, &queries, stark_commitment, &self.witness, @@ -47,13 +66,6 @@ impl StarkProof { } } -use starknet_crypto::Felt; -use swiftness_air::{ - domains::StarkDomains, - layout::{LayoutTrait, PublicInputError}, -}; -use swiftness_transcript::transcript::Transcript; - #[cfg(feature = "std")] use thiserror::Error; @@ -71,6 +83,9 @@ pub enum Error { #[error("Verify Error")] Verify(#[from] crate::verify::Error), + + #[error("Column missing")] + ColumnMissing, } #[cfg(not(feature = "std"))] @@ -90,4 +105,7 @@ pub enum Error { #[error("Verify Error")] Verify(#[from] crate::verify::Error), + + #[error("Column missing")] + ColumnMissing, } diff --git a/crates/stark/src/tests/mod.rs b/crates/stark/src/tests/mod.rs index afe27a6..d5768eb 100644 --- a/crates/stark/src/tests/mod.rs +++ b/crates/stark/src/tests/mod.rs @@ -1,3 +1,2 @@ pub mod commit; -pub mod proof; pub mod verify; diff --git a/crates/stark/src/tests/verify.rs b/crates/stark/src/tests/verify.rs index 6adef96..e9535c3 100644 --- a/crates/stark/src/tests/verify.rs +++ b/crates/stark/src/tests/verify.rs @@ -2,11 +2,15 @@ use crate::{ fixtures::{commitment, domains, witness}, verify::stark_verify, }; -use swiftness_air::layout::{recursive::Layout, LayoutTrait}; +use swiftness_air::{ + fixtures::public_input, + layout::{recursive::Layout, StaticLayoutTrait}, +}; use swiftness_fri::fixtures::queries; #[test] pub fn test_stark_verify() { + let public_input = public_input::get(); let queries = queries::get(); let commitment = commitment::get(); let witness = witness::get(); @@ -15,6 +19,7 @@ pub fn test_stark_verify() { stark_verify::( Layout::NUM_COLUMNS_FIRST, Layout::NUM_COLUMNS_SECOND, + &public_input, &queries, commitment, &witness, diff --git a/crates/stark/src/verify.rs b/crates/stark/src/verify.rs index f272efd..dcba729 100644 --- a/crates/stark/src/verify.rs +++ b/crates/stark/src/verify.rs @@ -1,6 +1,6 @@ use alloc::borrow::ToOwned; use starknet_crypto::Felt; -use swiftness_air::{domains::StarkDomains, layout::LayoutTrait}; +use swiftness_air::{domains::StarkDomains, layout::LayoutTrait, public_memory::PublicInput}; use swiftness_commitment::table::decommit::table_decommit; use swiftness_fri::{ fri::{self, fri_verify}, @@ -17,6 +17,7 @@ use crate::{ pub fn stark_verify( n_original_columns: usize, n_interaction_columns: usize, + public_input: &PublicInput, queries: &[Felt], commitment: StarkCommitment, witness: &StarkWitness, @@ -50,10 +51,11 @@ pub fn stark_verify( let oods_poly_evals = eval_oods_boundary_poly_at_points::( n_original_columns, n_interaction_columns, - eval_info, + public_input, + &eval_info, &points, - witness.traces_decommitment.to_owned(), - witness.composition_decommitment.to_owned(), + &witness.traces_decommitment, + &witness.composition_decommitment, ); // Decommit FRI. diff --git a/crates/transcript/Cargo.toml b/crates/transcript/Cargo.toml index aadb56e..cb8eb32 100644 --- a/crates/transcript/Cargo.toml +++ b/crates/transcript/Cargo.toml @@ -12,6 +12,4 @@ starknet-crypto.workspace = true [features] default = ["std"] -std = [ - "starknet-crypto/std", -] +std = ["starknet-crypto/std"] diff --git a/crates/transcript/src/lib.rs b/crates/transcript/src/lib.rs index 9ed0638..5c53206 100644 --- a/crates/transcript/src/lib.rs +++ b/crates/transcript/src/lib.rs @@ -26,3 +26,10 @@ macro_rules! assure { } }; } + +#[macro_export] +macro_rules! felt { + ($from:expr) => { + Felt::from($from) + }; +} diff --git a/examples/no_std_build/Cargo.lock b/examples/no_std_build/Cargo.lock new file mode 100644 index 0000000..14b2a33 --- /dev/null +++ b/examples/no_std_build/Cargo.lock @@ -0,0 +1,722 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "num-traits", + "serde", +] + +[[package]] +name = "const-default" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" + +[[package]] +name = "cpufeatures" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +dependencies = [ + "libc", +] + +[[package]] +name = "critical-section" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.77", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "embedded-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" +dependencies = [ + "const-default", + "critical-section", + "linked_list_allocator", + "rlsf", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lambdaworks-math" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "358e172628e713b80a530a59654154bfc45783a6ed70ea284839800cebdf8f97" + +[[package]] +name = "libc" +version = "0.2.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" + +[[package]] +name = "linked_list_allocator" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "no_std_build" +version = "0.1.0" +dependencies = [ + "embedded-alloc", + "swiftness_air", + "swiftness_commitment", + "swiftness_fri", + "swiftness_pow", + "swiftness_stark", + "swiftness_transcript", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "rlsf" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" +dependencies = [ + "cfg-if", + "const-default", + "libc", + "svgbobdoc", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "serde_json" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_json_pythonic" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62212da9872ca2a0cad0093191ee33753eddff9266cbbc1b4a602d13a3a768db" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "base64 0.13.1", + "chrono", + "hex", + "serde", + "serde_json", + "serde_with_macros 2.3.3", + "time", +] + +[[package]] +name = "serde_with" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +dependencies = [ + "serde", + "serde_derive", + "serde_with_macros 3.9.0", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "serde_with_macros" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest", + "keccak", +] + +[[package]] +name = "starknet-core" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d506e02a4083290d13b427dfe437fd95aa8b56315c455bb2f9cdeca76620d457" +dependencies = [ + "base64 0.21.7", + "crypto-bigint", + "hex", + "serde", + "serde_json", + "serde_json_pythonic", + "serde_with 2.3.3", + "sha3", + "starknet-crypto", + "starknet-types-core", +] + +[[package]] +name = "starknet-crypto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2a821ad8d98c6c3e4d0e5097f3fe6e2ed120ada9d32be87cd1330c7923a2f0" +dependencies = [ + "crypto-bigint", + "hex", + "hmac", + "num-bigint", + "num-integer", + "num-traits", + "rfc6979", + "sha2", + "starknet-crypto-codegen", + "starknet-curve", + "starknet-types-core", + "zeroize", +] + +[[package]] +name = "starknet-crypto-codegen" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e179dedc3fa6da064e56811d3e05d446aa2f7459e4eb0e3e49378a337235437" +dependencies = [ + "starknet-curve", + "starknet-types-core", + "syn 2.0.77", +] + +[[package]] +name = "starknet-curve" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56935b306dcf0b8f14bb2a1257164b8478bb8be4801dfae0923f5b266d1b457c" +dependencies = [ + "starknet-types-core", +] + +[[package]] +name = "starknet-types-core" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6bacf0ba19bc721e518bc4bf389ff13daa8a7c5db5fd320600473b8aa9fcbd" +dependencies = [ + "lambdaworks-math", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "svgbobdoc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" +dependencies = [ + "base64 0.13.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-width", +] + +[[package]] +name = "swiftness_air" +version = "0.0.8" +dependencies = [ + "num-bigint", + "serde", + "serde_with 3.9.0", + "starknet-core", + "starknet-crypto", + "starknet-types-core", + "swiftness_commitment", + "swiftness_transcript", + "thiserror-no-std", +] + +[[package]] +name = "swiftness_commitment" +version = "0.0.8" +dependencies = [ + "blake2", + "num-bigint", + "serde", + "serde_with 3.9.0", + "sha3", + "starknet-core", + "starknet-crypto", + "starknet-types-core", + "swiftness_transcript", + "thiserror-no-std", +] + +[[package]] +name = "swiftness_fri" +version = "0.0.8" +dependencies = [ + "num-bigint", + "serde", + "serde_with 3.9.0", + "sha3", + "starknet-core", + "starknet-crypto", + "swiftness_commitment", + "swiftness_transcript", + "thiserror-no-std", +] + +[[package]] +name = "swiftness_pow" +version = "0.0.8" +dependencies = [ + "blake2", + "serde", + "sha3", + "starknet-crypto", + "starknet-types-core", + "swiftness_transcript", + "thiserror-no-std", +] + +[[package]] +name = "swiftness_stark" +version = "0.0.8" +dependencies = [ + "serde", + "serde_with 3.9.0", + "starknet-core", + "starknet-crypto", + "swiftness_air", + "swiftness_commitment", + "swiftness_fri", + "swiftness_pow", + "swiftness_transcript", + "thiserror-no-std", +] + +[[package]] +name = "swiftness_transcript" +version = "0.0.8" +dependencies = [ + "starknet-crypto", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror-impl-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "thiserror-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" +dependencies = [ + "thiserror-impl-no-std", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/examples/no_std_build/Cargo.toml b/examples/no_std_build/Cargo.toml index 543a11f..bf17569 100644 --- a/examples/no_std_build/Cargo.toml +++ b/examples/no_std_build/Cargo.toml @@ -4,21 +4,18 @@ version = "0.1.0" edition = "2021" [dependencies] +embedded-alloc = "0.6.0" swiftness_air = { path = "../../crates/air", default-features = false } -swiftness_stark = { path = "../../crates/stark", default-features = false } swiftness_commitment = { path = "../../crates/commitment", default-features = false } -swiftness_pow = { path = "../../crates/pow", default-features = false } swiftness_fri = { path = "../../crates/fri", default-features = false } +swiftness_pow = { path = "../../crates/pow", default-features = false } +swiftness_stark = { path = "../../crates/stark", default-features = false } swiftness_transcript = { path = "../../crates/transcript", default-features = false } -embedded-alloc = "0.5.1" [features] -default = ["recursive", "blake2s"] +default = ["recursive", "keccak_160_lsb", "stone5"] dex = ["swiftness_air/dex", "swiftness_stark/dex"] -recursive = [ - "swiftness_air/recursive", - "swiftness_stark/recursive", -] +recursive = ["swiftness_air/recursive", "swiftness_stark/recursive"] recursive_with_poseidon = [ "swiftness_air/recursive_with_poseidon", "swiftness_stark/recursive_with_poseidon", @@ -29,13 +26,43 @@ starknet_with_keccak = [ "swiftness_air/starknet_with_keccak", "swiftness_stark/starknet_with_keccak", ] -keccak = [ - "swiftness_commitment/keccak", +dynamic = [ + "swiftness_air/dynamic", + "swiftness_stark/dynamic", +] +stone5 = [ + "swiftness_air/stone5", + "swiftness_stark/stone5", +] +stone6 = [ + "swiftness_air/stone6", + "swiftness_stark/stone6", +] +keccak_160_lsb = [ + "swiftness_pow/keccak", + "swiftness_air/keccak_160_lsb", + "swiftness_fri/keccak_160_lsb", + "swiftness_stark/keccak_160_lsb", + "swiftness_commitment/keccak_160_lsb", +] +keccak_248_lsb = [ "swiftness_pow/keccak", - "swiftness_fri/keccak", + "swiftness_air/keccak_248_lsb", + "swiftness_fri/keccak_248_lsb", + "swiftness_stark/keccak_248_lsb", + "swiftness_commitment/keccak_248_lsb", +] +blake2s_160_lsb = [ + "swiftness_pow/blake2s", + "swiftness_air/blake2s_160_lsb", + "swiftness_fri/blake2s_160_lsb", + "swiftness_stark/blake2s_160_lsb", + "swiftness_commitment/blake2s_160_lsb", ] -blake2s = [ - "swiftness_commitment/blake2s", +blake2s_248_lsb = [ "swiftness_pow/blake2s", - "swiftness_fri/blake2s", + "swiftness_air/blake2s_248_lsb", + "swiftness_fri/blake2s_248_lsb", + "swiftness_stark/blake2s_248_lsb", + "swiftness_commitment/blake2s_248_lsb", ] \ No newline at end of file diff --git a/examples/no_std_build/src/main.rs b/examples/no_std_build/src/main.rs index 603c503..455b389 100644 --- a/examples/no_std_build/src/main.rs +++ b/examples/no_std_build/src/main.rs @@ -2,7 +2,7 @@ #![no_main] use core::panic::PanicInfo; -use embedded_alloc::Heap; +use embedded_alloc::LlffHeap as Heap; /// This function is called on panic. #[panic_handler] diff --git a/examples/proofs/dex/cairo0_example_proof.json b/examples/proofs/dex/cairo0_stone5_example_proof.json similarity index 100% rename from examples/proofs/dex/cairo0_example_proof.json rename to examples/proofs/dex/cairo0_stone5_example_proof.json diff --git a/examples/proofs/dynamic/cairo0_stone6_example_proof.json b/examples/proofs/dynamic/cairo0_stone6_example_proof.json new file mode 100644 index 0000000..661e386 --- /dev/null +++ b/examples/proofs/dynamic/cairo0_stone6_example_proof.json @@ -0,0 +1,6513 @@ +{ + "annotations": [ + "title cpu air Proof Protocol", + "", + "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x82b2b04e6847cc5db94ce40fe26c769cb52048218009712c682ace4816eb38)", + "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x5e34c20c75219585e8a4cc904131880934e8335482e881f6291b340440bab7c)", + "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x2bc7ee935b49e80a223e38148ee958cc3149785f30f89c3946e16bf016845f7)", + "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x4bd9e5c097844b8ac5d5dfa2683e6b82452a59d169f16e1c59cdd991a792e2b)", + "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0x106bb493f8901564493e165892afc0e6ac6737695e89473ac7cce5241af2dcb)", + "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x102f78d2d6a0ef4235ebeadf1c985aa6b19d93995d37d3e5cb83b0a7f48428b)", + "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x53a9aeb9bef67981977c0278be03f4688343b60c36c866aafacc5cf8b8ea064)", + "V->P: /cpu air/STARK/Interaction: Interaction element #6: Field Element(0x14f0227edab9233c60ebcf6e0704c6655a8142408cf4a8779ca4a470dcb5c30)", + "V->P: /cpu air/STARK/Interaction: Interaction element #7: Field Element(0x14c3f97215f56799573f4881541acfd34889b109424201cae41fac6906f879e)", + "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x66d12f94a2b10d4ef451936110ac35f62cac35e19e56ddfc82ff69ac3f886e8)", + "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x49aa2986454634ea6e9d04e541c5ade889d831d1f567c09c07ec3e3bb0280bb)", + "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x2ee6134282a5cad040523fa65715af22deac01539ab6e9f90d2670ab2b8f5c0)", + "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x62059255826a199eaafc64e0e7b82ed6cc6b3043802c9ecf2925093c01b9340)", + "P->V[96:30272]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0xc3a6ba68911af16fa41bb9bc6ffa78d9c0186609f5789a718a34ffa4dc682c, 0x106be45689117c2ed9267069d812f3de8bef4a3a9b86ef3143839d27af7ac32, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x7c330653ccff4ca0540c4b8761474c855ff1c2b8e80c5f376403a9ecc1774ae, 0x452dc6329b7036c268dc0165c5cf14fd577029a2dfae42df1c68689679b6909, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0xa9fd454a1132b8b5e0b4b3bb2341d32446ba3a4129182949a96a45f9c20852, 0x72ca3913e0c3a78b062efc6726b9095a8f7bc019388455e2c08dc8fa3432b18, 0x36d7fbb80de24432bd8fdd75391e75eac17e72ec7069c3c12a2c0ce3aebaa7f, 0x54e5c8afc4942da442b3cf91dfd089e0a821992c041443f5db752c0508176ca, 0x72ca3913e0c3a78b062efc6726b9095a8f7bc019388455e2c08dc8fa3432b18, 0x36d7fbb80de24432bd8fdd75391e75eac17e72ec7069c3c12a2c0ce3aebaa7f, 0x54e5c8afc4942da442b3cf91dfd089e0a821992c041443f5db752c0508176ca, 0x5aff41b717f436811dadc46b839294f9fef033ec67d0caff65f45dee01dc31e, 0x5aff41b717f436811dadc46b839294f9fef033ec67d0caff65f45dee01dc31e, 0x5d58f81d0667cc5dafcfb09fa755e865332743b43752a653a4332540c6ede94, 0x3fc0dc82bca27e3f6777647ff56d720e78ea2f93e096659196c75322afb4068, 0x271dea9dc650805863f2f154fcf3255802db1af825e29d36eb0b1a2a54133e8, 0x5d58f81d0667cc5dafcfb09fa755e865332743b43752a653a4332540c6ede94, 0x1058624a923d2971a70217fb8995c20971bb58c40af744f35f3fa0fb57eae2a, 0x1058624a923d2971a70217fb8995c20971bb58c40af744f35f3fa0fb57eae2a, 0x3fc0dc82bca27e3f6777647ff56d720e78ea2f93e096659196c75322afb4068, 0x14bdbda8978bc9d552efa14b36084d9fa21176178d729f7e5a9b7e15df77b01, 0x76ab478cd550e58a548b7068d71ae7edcaa18fce68e1eef463d971b0176994f, 0x76ab478cd550e58a548b7068d71ae7edcaa18fce68e1eef463d971b0176994f, 0x20cd02ed7b9adee8109f0952cbdbc072821188fdb838400b7d51ea47d0f9f3c, 0x3e20e8c423b578c0a7b965c3af7cd5f40c58714feaff187ef3b2b44dffd5ede, 0x2683fb062c2d67e3001000e08a7d52e5281e3fae61dae38cc31d7b0ea762761, 0xbee55f2349f3a1724a3788b91dbe437c5894a94e952510239d2e89956d3f4c, 0x537e6c31dd447aca4e81282d2be7106557cc7c81ecde57e9e30b1ab8c259091, 0xa9fd454a1132b8b5e0b4b3bb2341d32446ba3a4129182949a96a45f9c20852, 0x248cbaed9e720be34bd41e619a8a2c623f94086036d7ead89f22d014b0aae9, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x4e5f2e50ed4027034d661a86e785a8a8f42df3380cbc71cd8045ecf915aa4b8, 0x3b558ffa78f22252979c0993b42873b234754dec4c64afe1888f99d1f400656, 0x3fef0f405fbe90cf04734d62db04192eb0b8ea6791df70357c8ebf74bcd14c8, 0x75c54a339b6145c3ec3234ab7bab59a9e5e50ea035ace877e718c3af9323954, 0x35ac21d190426acecc0a8e130d80717b19a548a7b2d3178085b92c4a3110d5b, 0x1897b49340eb3048bda830ec6256568dd9e9732f9b2b9695f46447a105e9178, 0x1270d17c91920f6ad8d51c3f2d24aa5e06469b9b4facca4779c56cc6110aa9c, 0x5950ad7158359786ab660305ada248245163c041a19c5bc760ec0e4534e18a, 0x6e29cfe1e2945ceb59bcce56ccd67574b0da6d5c595bf8607319b3fbb1b23b, 0x271dea9dc650805863f2f154fcf3255802db1af825e29d36eb0b1a2a54133e8, 0x153038d7427863447d08216b191e6fd1792c74820de72c15791546fce1c33e6, 0x153038d7427863447d08216b191e6fd1792c74820de72c15791546fce1c33e6, 0x14bdbda8978bc9d552efa14b36084d9fa21176178d729f7e5a9b7e15df77b01, 0x2b35b76f56b8d7a8c3e6c2204845968680c3d0e64b28525ba2d818f9ff6e10c, 0x20cd02ed7b9adee8109f0952cbdbc072821188fdb838400b7d51ea47d0f9f3c, 0x1e8b37082d155dcde64d40affe0ed980cdfd49eadc5d8f631fddd542016c654, 0x623057ef8b4e5990fda34c8e31286e6f5ed500ba029e101531ca6e2b77d9c09, 0x51c39d6df3ec7f0916203c1ba05c56fff2b234c47ddb8d3917b8f0f477db63b, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x43f0072eefbd56b5e3f45466322405eca185c504bcaa6c4e8080d7cca4e8670, 0x1b1da7be929c0e64bc11626e0ab9119b1183aad30d4cbd62611564cc1f4e01, 0x708d861f1ddbc0a47278afd1f192ce666f50c3af1600c1b6b49b19c00aa9694, 0x72203b2eecac125df058964c42362f8354512bd5d6c4a443b9e62b61ec2a237, 0x708d861f1ddbc0a47278afd1f192ce666f50c3af1600c1b6b49b19c00aa9694, 0x72203b2eecac125df058964c42362f8354512bd5d6c4a443b9e62b61ec2a237, 0x4cc5cb49b5c682a678c00e2a0239867245a520b038c27463726241dca10fe5, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x2e811fbe55f59427c1e94d801d59d60f8ed9e80533047a36f445ec018882e29, 0xb55a85155c2ee0def7b0e9f80002ac5a76512f6392b8b2e2addae210710e09, 0x1c5ca5357cb8cbee72d3df88a73a59ec25a2e055cf8c6bf60dd85d182d698c0, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x54c5f04b6b65e041dcb44689ca0dd556c03b65f5023f3d5d90f309eb42745cf, 0xe4209589d0e4725b9e91095da7a1b5b9f0f96650a23e11c80cecf4d683b5a0, 0x723ceafe2d9fe0f924cf7f3c20970a6806691403e214b3bc8a2e5ebd87817f9, 0x7ea978554dd741cfe59cc1b047565958c9ce1c146af47fde39ca17989f67251, 0x1f5152bdcb11373c0183a85670a32c5641e87daf2000a405346f8b8c55bda18, 0x146bf1b164d294b97eeca2794d0774bb77c40710a9aac9c04e099fcbc8787a2, 0x4808f8df17f0ea478dc6ea425bed40a9e13a3caf19a737a52d5d2e3b05cc7d2, 0x1ed8444efe0bf40a36dfef9faca38033dca1892300a009f4799a334083726b1, 0x32e279a8219f942de74072ee9751afecaf13c03960648ae68872e8b9ee18a34, 0x3b0bd97279e0c5c295f268aa89720fb604fc2fa05ad1b4621175c155b841111, 0x478f5bdf083f6611a3ed89b963a1c37cc556072d4e6559ac6d2c92235850b79, 0x1ee5b076dc787bc97c78993baa5a905a026ce9234cfa21d34f6fd4eb3449d59, 0x51ae1f40232c0e9fc59324ebc1c13ca978ef2cb46f7e81b0f309a54ef6c5839, 0x779d9d48cbb243ef7669d8a0f9393af66318ffcb85323d628805e07e45a4176, 0x1225ad0e7b45f2ee0a07c8403273d67253dbe0847bc855c3eac2a13ad869583, 0x106792ca92cad53a99fbc9a6c74202ff39940fb8d789404fba8fe2aca3bcf7d, 0x479c2ac3e1c92e74f3c108cee6bf813a238907a05c2c3d81d83ab131220da4b, 0x690d8dd1b552c19c187c35715a8cbb09dab26405fe58fe2683a76226bb2357, 0x65059e9fcb4d0eb59bdd6d0ed855c82a8f6adf90854bf8a04ac98a7635467ee, 0x3164bb51c55887ab460790195353a3fdeee511785fcab117b6bcb918ffa8d99, 0xab0d07a1538231abee8d6c82cdeca43b1874289398fb249f42595bf8d3bdce, 0x15659a14aa84bf3eb9f1cab637ba2c96a1604d4c7556fabdec1a2e3f3a407a3, 0x2a10ebbb306b69d4cb658582450e85c3756a1de6eafaac553fa1077b5e0f866, 0x701dd4d0eae7ca3baff38f7e7422f965659570782d4f7d765003e30caca8ff2, 0x4d55d813838808fe6e923f4fb03f1b219796e2a194efbae051bb79ad39a3be8, 0x258ad3c49c25a1ef5b681e6e70f09e048b171f503c95162481e3802700b9942, 0x7ed729e1ec7a1daf7be09f2a782e1742785d7ff9e720ea81513a071b911cfd2, 0x6d7d004b5bd9eb334a750f49df0eba48029b2208a514ef431041f61ee6f05fd, 0x24499d8d8697d86c3cee8e60c6718fc34c7c4a2172236594c8c07a659dc60c0, 0x30cdfc7831b9362b447e930f20cbc03cf48d5fc9ab16b06153d70b05bd2642b, 0x72b44729a90d221df55326fd2011fb0e34c36f939193eca6f74ed9bf7d8086c, 0x5a9c79b5aab1bc49dbdd4d0c8da27e0595c1fe44a92828ca63f2d31616940c1, 0x2d8a2457f0a0ff99ca29756ee966f919148137c8c98baa1915081355e57bd6b, 0x6f244f04e7366c432cc388f12c1e8a024d2d444d91abc9f4d53eb801ea504b5, 0x33609329ce1d9f8baafd3418a753801cdda4e78e62a1abe6e45f1c8f2e85bd8, 0x1a2deffaa080c18df1e3a93ce38b189af2dcac55fb30e41f2dab4f28cb18695, 0x31c24ce5468c546bdd3f9656bfa7c488b00a20d3ae47c5032c2271bc0eac805, 0x20c04d249f49d2f68d7c1f79b7293be32e3dbe52c179ccc2586d4094e20f2f3, 0x8049e0c6ef8c705fe2770e04c89539091db2ce3d58984878e9ca836337858d, 0xd07cc3b9945903b8bf16c9b027c3cbaf8e62c6ba65b39ead846df51fea2ba1, 0x239693ccd4b125d03a731666c466fc1dfaf65abc6fdabdef3bbb5f9b7813608, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0x7d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0xc751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x3e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x76ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2, 0x54bd9d773136b5ad1341fa750ec0954c0435dfcaaff115e6413338e83d31748, 0x6cc8055b2ac28fed01cf367ae821a8b2ec3d78400ba3321b8f01c9a80bb4bba, 0x2cbcd62ef35b748d5a918dcf76616c6caf36d1713d238a518e27bd447fcd7b1, 0x18090f550aaf6b525148871beb4325a0f988a2385a269e2aaedf9e990181e00, 0x7d5741dc7a70d2d7f21397bd07446f5acd72192e9e2a1a79df13811b0e1e009, 0x1c9ffd973ad1b85699acd922822b95bbad5a299ecd9c688649914d4b3906e5f, 0x4d1caa33a19efe0216aa7d8861c38ca4ef520dc0c60963a364f9d03929e4e6e, 0x5e7c34a89f2c22e0f311eb73dccd3363dfab5e79aab1e01c74c3b76977c9d26, 0x43b33097e6107fc8dfc43f36b1729735cbf6f713eef1d42d6eeafd61dbca68a, 0x631257a67ddcaeeaff22e6f7eeb363d4662980bb5e8292ff444f0f032016c31)", + "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0x44d2e33a9b8632bca0d719e53f8ed3c4e8e02a3000e5b1134dc4c90df3b570a)", + "P->V[30272:30304]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x5fa119001ce4b29869cf8f228c24525a6e79187b44786e3522dc9a3185d7b6d)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x2c19ddf2d951954c80cff3ec2542218f01424d765fce1fa1191f9f391c58294)", + "P->V[30304:30336]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x77926f27a26f2857e861cc872af7bb919cb727f065459b8b0ad6bf001977c65)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x3736d7a441b34a8aceb89394d9914028b1f5f2e7c1e12dffd6ebf43b95d29e)", + "P->V[30336:30368]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x6ab60a52f628dcbd92d25b14344203be7ac2323e457b7f7733aff14ee4d8113)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x4c0cc8c394a68afa67c54ba93d8704a5d80881f0cac5aef4112f2ef1b967c7e)", + "P->V[30368:30400]: /cpu air/STARK/FRI/Commitment/Layer 4: Commitment: Hash(0x5443665de02c03cb4c9c549842a0100b2e3affa8ba9048b871a365f290fcdec)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 5: Evaluation point: Field Element(0x3539b9d59e1caf1460f8966ee576558a12a88add72c7e883036b4f4ffc12d19)", + "P->V[30400:32448]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x3282d0a5e9addefcd2396f954fd13d732d48e8e4f3c1aeb1e72d05972cac302, 0x5e0bd4a1f3ec9a347aa100094c53a6d12a8424900f2077144549f94897a5b4f, 0x40956ca097f81d25cdc51c93b2ed6c9f1c84524cc91548348cfc24167cc03ac, 0x1558419cb6bd7845bc5317796cbbd72ed38c78a4c7ded8613bea485586dbfe0, 0x5e132bbff75f5a69f2adc75271dd4a925662e33c3f2e719348548492454f28, 0x3e7f14a0c85d85b234a789e8b225b246345c982c218ab36963a7eaef1cabf3b, 0x331fc19804bd74da7726a8291bb6af8c596a50ff61da98600a8b20361e65a23, 0x3e959fd0793163ad0f252c8fc253664ed779010f875cb91dd57318876cd2d7b, 0x5c254a9f53601b6fd96ceed3a1db06a4139c88daeca1bcbeeb0d6124de1909e, 0x1d2834d4cda876a32092d56147ef7fcf2ec691f391989889c04579c21722e53, 0x668978071fa867ddbc360a0987e448003fc49abeac10f44e9a1a5ecf2c0d847, 0x7e486e3b23d75af9f2fe44b0039a281dc81afb2a3aae89b632c62c47cbc2fd8, 0x6525661416622613b14d81b6116c58c58d27cc70f47e84a93f4daabebfb549c, 0x7fc71146a74645d4a908ecdc29f4ba0124e6f171e63a79a5402aa9fffce8e07, 0x5c4ecbfbb4e3c8af715c48e66383ab3eb50fb56696a2b2aa470c6f054be2668, 0x5ebe15a05f70ccaa94f7b0f402cd794957c8f805830677a33089a9a6440686d, 0x201eae76c13d009f90d3a9c8bb19bbfff6a9f79d766711b122e4f6065c6cb81, 0x58dddc4b16c3cc6f820bfc022006750d21e83c60659e291f6e1522d2d7ed544, 0x76877768ca3938d8156cbe9721f657b9580d5765fcf927999a915d49fc7f332, 0x25c544ca75320518d470e29d231496fab84e12fca50dad925535f2d6f8627ad, 0x5bc4ae1ede4a0e5d27c2c5d700a854ca2faa7df816004f213ccb8241db343dd, 0x249646285a37f0a45fa7fa98755b1d414de9ffaab9ed8e3f10a4c7a87584dd5, 0x4f62f43f591324d3fdc41126be1d53d026143e0e2ee5c245192a3eebdc9ffe5, 0x6eb635c646274b8b7820ad3a87d6c994bbebb32a437fff43812eb3d90488882, 0x6fcbb0baae308c81f50358f2bbf8c5630677b00a5ff0f089bdddefff558809b, 0x5e5a0c2e385763de767fc06d9c69cfea3d29ad1d584e11d008a5ac22e8eb137, 0x6a7a2c5646254df514da1baf35dc943e7bed526a92519e8f70bea539136e00f, 0x3a3022e1b57d378944c17701aad1febfaed250185976eded70b92e02d34c178, 0x7429c5bd943805580fcdefc948927937019fa2efeaadcdf0874ce7ff7080389, 0x1c1c5182dd7093e7e1683a8225ac2e70f5ebb8b0a984307304f382cdbcb07cc, 0x9fa533dd9125a11a3bebb961f3316f18597ea23c3dce4968978f222888a9a7, 0x7f1f5dada20aebdb530e329fa34d65d15315d9bbedf25f11dbd5224ec71cd17, 0x68997799698de66d953c67924096f04c54aeea5a456be85145b556e787a5a55, 0x3e971f8a6e1a5730b619e98f016b00a70d2772c6842e3d1c46feb90b37a270c, 0x736744f047a118562396523d6ff23a64065948317c421a80ccc20e667076a2d, 0x4ffe873b2d766dd5a45888a573d89c9858a48feb18ad98ab0e42696da53d31d, 0x594170c682061b613893c568c09501b0a7c18c14addde30f3131ba3820436c1, 0x43658a91bbb260a5b12550392862a5637e568de1532f87cc12c0b4baf437594, 0x73b1e8a625f8cb4d2650c0224b7bd69b6eae928b243a91475aa6287998bd519, 0x7826a2cfefb331b55ad7892730214f93e517c6db65f76ec3cd555d5abf513a4, 0x79d99143c29ac1e2b276dc8f78c06297f9b2cecbbf1e025c125e12090753cf7, 0x24f988bba5ac47e3f82845ee7db60b64e16d45030e521752152b34d13f6814a, 0x7f13bef1bd2e94a2b853e9e7e5ea67af89977c8bd0aa811f172bb05fc0571c9, 0x30a16e5bf3f592642da6fe126f122ce15be839b538b090f17db91eb91a21410, 0x1d1b577beac192015243e75194146fdeb2a027d86282acd2c77d4b8c94fc68a, 0x450006c569204d3bbe05e1eb3556958637568691d203069af8c7ba4742ac713, 0x7d1e0d50ab9348228d8f3f2296beed1e2b427b9005115b630c50e739d430eff, 0x6542393429d3a292ffca6163dd4c6d566e4a71111938ac44f8ee90de0332764, 0x4f15c457c08642c567f85081389dbbafd6fa37c227124728ceaa70e102bf146, 0x7fa6f3131012c8b6a01d5a92e107d928758a242354ba34b4a951d4ed8710708, 0x7ffa38fcbf3a015eadbbef8d7cb9e34337bc3c36b4c2960b15a60153412221, 0x186dff8dd60153719bc52c203ccea94f01c1e9b53b0978a308036e5672a5cb1, 0x5a0f60edd2a9451563b9368a48b128c49df7c4fa70230d468b9675aba39ed75, 0x31e9744394b3c60ae2ae058533e16944ebc6f2190f50cbbeff16cae15767d9c, 0x646147f2e06a117cde8906f7658c8f5b7ad8b32480885a072268fb7ac9612a2, 0x6f52aba561c4e805c6d93fc2fe172eaa6e01bcf71c7a8619ee8b3dc91bb697f, 0x47fc720039d576fb921f7dbbc6322a113fcceb7ecd6675f36bfb91c765c355d, 0x239afb874780ebc139e3752380f752331c337620b4fa28628436f610a5ec3e, 0x6d4bd3c7e9ec65e3a6382ea4d81d1d181e0f2174b9b6e6c07a71a10545ddef7, 0x2f2ba4511e11aa84500b63ca3a9d7228aac2c2764756a38e5094af35e335b5b, 0x27534fb89e88791488f17607e9192b321939b14fce4a8c57efbd19c168232ef, 0x27d825e3b1399aa029aadf93762f669e308699fb90411fdd8b4d60f58cf18d5, 0x39d0f46b50a2db6c2a15ad03d60dcc40a1825c6cdb74bc2c77f413d92fec232, 0x60d56a00bb016ad7c7a591d87930d39bb5070f6274c04d5730b14d71ff20964)", + "P->V[32448:32480]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x22ad3717e)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(291205)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(111287)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 2: Number(414746)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 3: Number(341468)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 4: Number(492471)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 5: Number(303856)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 6: Number(249097)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 7: Number(433154)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 8: Number(289965)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 9: Number(424138)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 10: Number(196619)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 11: Number(327009)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 12: Number(420315)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 13: Number(282737)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 14: Number(111062)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 15: Number(319248)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 16: Number(213614)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 17: Number(416469)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 18: Number(458224)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 19: Number(47788)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 20: Number(337022)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 21: Number(292904)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 22: Number(498960)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 23: Number(9986)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 24: Number(446875)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 25: Number(443663)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 26: Number(13694)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 27: Number(486108)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 28: Number(358972)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 29: Number(295598)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 30: Number(207747)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 31: Number(520375)", + "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9986, Column 0: Field Element(0x1db202679d4053261a8672faa9fad739dffe8b6783e0d67475f226f2f5007bb)", + "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9986, Column 1: Field Element(0x6075224e2e1cbe1766a9f7bbed0ba7d221886eea6d3f8704423617b3acf66d9)", + "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9986, Column 2: Field Element(0x1e250b9f110abc8a7a92bd0912d575e81e21c9fa37b59eca7ada599d3e57b22)", + "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9986, Column 3: Field Element(0x79c37be6fa0bd3ad65c8e922f642887e7064f834af6aca5aa478163613a5a22)", + "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 9986, Column 4: Field Element(0xab1ab4f1bb049343a73beeb4455487d9c120bc1de91cd4e036a2364d3dd094)", + "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13694, Column 0: Field Element(0x63ef661944860ccb38b0a95ec58e2c423b673c0c1d48b6b39006267afc0ec6b)", + "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13694, Column 1: Field Element(0x466f95152544bbe4d9eec047e5f82ae38ba4ca1e2d0dea8f53647234644f102)", + "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13694, Column 2: Field Element(0x71b386d040531649df5363eb1bc4027a7c0874bf8b6ac7b2437ee6a71279b1e)", + "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13694, Column 3: Field Element(0x47556992a98c6c61fc54b7ad7f9c66357225a9acff210e611b59cc0df7a6937)", + "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 13694, Column 4: Field Element(0x311d3899d20d454571c261d8ffa85db613d323a0f9e5ee4539acf5c4a39958a)", + "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 47788, Column 0: Field Element(0x463a114c2739f1223db52474837fbf145173fcb9562a978e9ebd858c5098482)", + "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 47788, Column 1: Field Element(0x33399484238087d5ae012cb3b5e9f3f6afd9318feea267df868eea1398cf571)", + "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 47788, Column 2: Field Element(0x2e7da590746303e7cb89080594df300a6410b0a6f6ed05fa8e4623bad4d1f50)", + "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 47788, Column 3: Field Element(0xe76eb61af3d74b90084945a8861e4dfc36a6a5d9b340208dbe37d4b0473e8b)", + "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 47788, Column 4: Field Element(0x3ae052c79bac0b2b1a895520c475eca79a86f56e7c4d6d6ca59e068ce655f10)", + "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111062, Column 0: Field Element(0x5f59894cde8e1b74c74b1ad00563e76b86ce6aa6da54be68bd424efdc21998e)", + "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111062, Column 1: Field Element(0x39b80955cc3db72be3ec382d0821f2bb76aa4e9d3467437014824c8848d14cd)", + "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111062, Column 2: Field Element(0xdf5476adea1ced524524a0ae9452ee39c543de576df257b015084e7bfad355)", + "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111062, Column 3: Field Element(0xd5b3c0752cb8f253cb89840c47c68a4383d1e2eb5ef1dd2eb84e827776a565)", + "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111062, Column 4: Field Element(0x7695131f558664234a1424a2e9a2f407f61bc8f3437766d7bd3d97c889888ae)", + "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111287, Column 0: Field Element(0x3c38a1956afb4eac79515a7c6f4d2b0a2dad07aaa3c04b932bbb644d8cd50fc)", + "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111287, Column 1: Field Element(0x196b544dcb3c0f2e6796b1531214b400fcbc5de155860ab062b7b1dc8c7f05d)", + "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111287, Column 2: Field Element(0x61243406da602514b7038b29b6edc2983df19573760aec8040cc0b95b46f8c7)", + "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111287, Column 3: Field Element(0x5d80751e063da8ad77aa7b51d308861ca59f9086f3c5702f9eb744e10f2e069)", + "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 111287, Column 4: Field Element(0x16daca681b1b60e5554737582f037ba11ac4d0991860f962eb2fc02840dce7)", + "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 196619, Column 0: Field Element(0x6e56dabf9fc5623fe4cf5ec235844473f5c56450bae52dbad824f8569592ddf)", + "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 196619, Column 1: Field Element(0x1f120c3fd3b239c2560329fa439a40b0fec90d2ff57f444ec9940e83b37ff38)", + "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 196619, Column 2: Field Element(0xef16119eca003c6eea01fc41933b9e8bcc354df48d7161da588e5a377ddaf9)", + "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 196619, Column 3: Field Element(0x5f163b8f53464cc60321d5a92ff19628acfb30cf1f4549f5341b022b2e4c912)", + "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 196619, Column 4: Field Element(0x6f8ac59d7efbbc26dd11bc89f8708507af45235d455b79ee6a0817f0907b9fb)", + "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 207747, Column 0: Field Element(0x77e5cae13837f9f5f95cd42f48e1d1cf0aae4457d51afe32e70bc7be7c0da74)", + "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 207747, Column 1: Field Element(0x206f81e7fdc6423d3bc056f32dc5c541fb73619b2b53a8000fafa7c69605e1e)", + "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 207747, Column 2: Field Element(0x7b71c3947f13f17914e3f43b23eb7d0aaa8353b3c7777bc4d9d79b236432ec9)", + "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 207747, Column 3: Field Element(0x179db7394687f0990e92adb388f025b1fd48f0df089e6997f4597329f34b636)", + "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 207747, Column 4: Field Element(0x67f7ba3e32afebb9f9d3fd0aeb851cb02dbb228bc4ba1d006e5571fb18a43d2)", + "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 213614, Column 0: Field Element(0x114624f151c6f07d31ff10863a737db116c3f1b57fd376742c051829206699f)", + "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 213614, Column 1: Field Element(0x6c0324945f7e764d0b12702a447ea556da7a2585e38a0776c2751af1e4a97c6)", + "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 213614, Column 2: Field Element(0x30e6f60539a482db7920349b0a8561718223aa83a0c9afeb2d469e2bffb9792)", + "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 213614, Column 3: Field Element(0x358a1781c694b3cabf75ec57d25c06d24c61d0ffff9e93a4ff1c2bd91d6068a)", + "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 213614, Column 4: Field Element(0xb5fd8e72727b3b53c471795d11b0969a3f53cc2c632aca404db30d1248eed8)", + "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 249097, Column 0: Field Element(0x4f1a6b66d803d0be09d61fe867bcaf768fc01bc9ac823fe7372c8bddae2d90e)", + "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 249097, Column 1: Field Element(0x1b110b03751fe3c8ff388a68388508e1dc6a2b3879b6bdadad202a37919a99c)", + "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 249097, Column 2: Field Element(0x3dda1c2c1bfa00ec0fc8d108737bbbf5a04d944e2a8756c2acf3cbc7577ed1e)", + "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 249097, Column 3: Field Element(0x322aca9e41fb09ebd84eca51e40b762af3d2c8ead3791ef80cf0c9f0fb759a3)", + "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 249097, Column 4: Field Element(0xb1c5a50d7650e3412a4b5193107b2110a1d69481910d18d7c3cb096fca0563)", + "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 282737, Column 0: Field Element(0x4e7cac76133688bfd8f04de6944810e094c0020e2967316367b84486afb01c3)", + "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 282737, Column 1: Field Element(0x4afe3039651185df64c032e69054335f974271e52062ae1b29dd20e5dbf8e7c)", + "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 282737, Column 2: Field Element(0x3e2b9c8cb3c3db60f7a2986dd86845d4ab86f1a73729bff84d69d1d8aea4f8a)", + "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 282737, Column 3: Field Element(0x3effb746fe4ec7eb54397f32f1e64ea65c7bf7c3effe2b96d334144e4313d2e)", + "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 282737, Column 4: Field Element(0x72de201d92d9d77da0358c43de5f20cc68cabe9a1f9006f380592ad6b3b3059)", + "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 289965, Column 0: Field Element(0x75c4544abcb230d30d3e1ba46abc1ed7a177e9ddb0a12cec224f59b875568b6)", + "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 289965, Column 1: Field Element(0x4a46b2903662a44f4eec142fa0468836ec77e5bda83ec4ce0ddf0540c1f9cb7)", + "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 289965, Column 2: Field Element(0x38859632a222f5b843e798c74340a105fed03f00dd67817152a14c19221ac0)", + "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 289965, Column 3: Field Element(0x72e693f3fe7e60ad635ca06ce8282cfd37125dce4db3b16cf9956e2c08aa87b)", + "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 289965, Column 4: Field Element(0x316b1363af9d2a392259048aab8b6adcb210e1a8382070183d319116b64b974)", + "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 291205, Column 0: Field Element(0x22c6ba738372ed3e9cf263f0cc2e522cfee68c0fbbc0029eb53eb53b6149870)", + "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 291205, Column 1: Field Element(0x11a18198bfa827e5d5f5ed59955da0b885e7d3cd97ab11b9f73bbc1b2badd09)", + "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 291205, Column 2: Field Element(0x75891e62568c16dfb8cdad03d47846e7b41da1d7a217e60dab1684646580447)", + "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 291205, Column 3: Field Element(0x2f890b543b07da3c32d8be8c48d7a8bc9bebac3a0416a555bb7de3a50b1f4fc)", + "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 291205, Column 4: Field Element(0x1be8c537eab48f9fead64b830906a294c60be374d766a478ade34d1ec5ac79a)", + "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 292904, Column 0: Field Element(0x7fb9922d33564e04f5d34c3d35a0ba6bc92bca20c0ece65cce028952de19357)", + "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 292904, Column 1: Field Element(0x721736fd676a02275eb87ae33a5482704145e375b9ba638195054b7375ead51)", + "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 292904, Column 2: Field Element(0x1662bdc15131f415174289083701fb63fca51089d1db71a4f3560370b63617b)", + "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 292904, Column 3: Field Element(0x39775b4348b2c742ba429982cf51530a1a345f578f5f03f807c7657da558fbc)", + "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 292904, Column 4: Field Element(0x5c1c048b3eb9551bf2cb2159efbacb4f2d67484d776d052402a97dc9d6a9dc3)", + "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 295598, Column 0: Field Element(0x494ab5be453ba4fecc4528501cec5c6eb32431847fe7dae502f4b9d96052c0d)", + "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 295598, Column 1: Field Element(0x6e984ec8959bfc140d1d5746539ca51448245df0418c3436582cdc8f67368e7)", + "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 295598, Column 2: Field Element(0x4943eaa1d7b232f9fe8ae03cd7cd17f81349fc149c1c7654255fe68d02014e4)", + "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 295598, Column 3: Field Element(0x5d1e5ddb362fcbe475980c10d47ba13ad206344541a868f86b97dec903249e5)", + "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 295598, Column 4: Field Element(0x78764374fa29b6dbd1b6ae1d7564beefa079cf6c2b86dfb1da7d90aeab71724)", + "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 303856, Column 0: Field Element(0x5a8892eb20d92df56a6b0b9cac10d275f10c10953f193954b6823d60dd79681)", + "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 303856, Column 1: Field Element(0x42d1a2b207bb00a764c4ceb71cabfeb053bdec12ac24d00905267513295bdec)", + "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 303856, Column 2: Field Element(0x1cd9ede1a1d28c4e7aba5f04625928ce2b8909843f9fca94bf3578229763c31)", + "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 303856, Column 3: Field Element(0x295cde9495785c03a5aa8af36bc83668cda5b8c54163c6f8e7d93e516cd4422)", + "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 303856, Column 4: Field Element(0x6339ca60303cc36d7608313b8e81aabb84bf31375073ec20d7113c143605ac)", + "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 319248, Column 0: Field Element(0x4a5c4357a350980aa3a114b2bb54133de0594940ad38cae0da74ada8442673f)", + "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 319248, Column 1: Field Element(0x4e5ce33c039daac7ce7ffacab3e2afb22b1c687dd37727e03227c78aaae9baa)", + "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 319248, Column 2: Field Element(0x1da2a6f40ac2fe3618763d2c10f3325ae2780dd178ad6b2f1c0131f9cfce82d)", + "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 319248, Column 3: Field Element(0x79aba9c769254bf9cdf83365e120b343bed15ff55ebb38a5a3abf2a0bb0ed7d)", + "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 319248, Column 4: Field Element(0x7f53200dfb045eb2850739a8294a084a0a7e13c6262a8a829bf13ddbec80031)", + "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327009, Column 0: Field Element(0xf0a50c107873b73fb60753f0d73e7bc7b2badb7b496eb7a03e9d2bcec735a1)", + "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327009, Column 1: Field Element(0x260ed1a1994ca79d1251dcfe0a9c5cef49b474e068ef652ecd213a185cdb89a)", + "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327009, Column 2: Field Element(0x716a45906e134f50660c1bfb66691666ea043d2f450ca3296e460e6ab271ea0)", + "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327009, Column 3: Field Element(0x39ca61fd779b7b899597efa9050a7771c1a251fba00e4b3192031823e38f166)", + "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 327009, Column 4: Field Element(0x8daac530fd7f80b48bc25f19bae9db0f07f853647838b08b5650e5d3ff6a6)", + "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 337022, Column 0: Field Element(0x6edaf0ed361b7a7ca811df52561de924e5be7b9ce821f3a5c23584b91aae93b)", + "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 337022, Column 1: Field Element(0x34191fe76d4d821d037dd96d891164aa544547646cf3a3c5082c3d668f390ac)", + "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 337022, Column 2: Field Element(0x23a075c0c0e1c0296ae16f0a8f2c5245d3012721a97bda447af518aaa0320c3)", + "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 337022, Column 3: Field Element(0x60250f1521b138763f3f39118ee8015e19a8cc80bb87cbb5b9218dce6c346ec)", + "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 337022, Column 4: Field Element(0x560a6d6d8a198d8c013c517c4979d1d74e352d307de0de19dceaf98dd5355ef)", + "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 341468, Column 0: Field Element(0x6cb9dcc0c593fff1d171b4c62cff6c4fc8c012afb9594bbebd175b713fb2b88)", + "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 341468, Column 1: Field Element(0x4b88a77b6288569effe7ec2a9ae6327f77c8daf57bda3a3372852e58ec8c867)", + "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 341468, Column 2: Field Element(0x6daddd564c1b86b3cb5dd4e57cea1377d3d6afe12234286bccba57d6059c55c)", + "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 341468, Column 3: Field Element(0x619fd6ed2a8ff549375f6e8665ea0c8a82f788abac6948324acc77c0d2e16e2)", + "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 341468, Column 4: Field Element(0x363ae56f00ad17e88dbd0f53bb233a2b9f89387871f9658cfc1ecd2699cb947)", + "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 358972, Column 0: Field Element(0x3c361c207d3ed7067b55bdb47e88991a48b70bcfdf3e60b2742c80b1e5374dd)", + "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 358972, Column 1: Field Element(0x27d012470ffda3f1346c39ca8b2bb7ffbdda47ccf1319906803ad381229f243)", + "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 358972, Column 2: Field Element(0x70fda944d59130670bbd2cc28d9f00b637a1c5091d411557431ca6af80acbcd)", + "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 358972, Column 3: Field Element(0x38dfbb6fda79fa58f68bdbb8e8852dc473f1a6e3f165dd8b152315e8b93983b)", + "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 358972, Column 4: Field Element(0x1f2cf009a1eb37a45ddf1afbde753599bd81fa4d85367d3750cbae646db608b)", + "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 414746, Column 0: Field Element(0x1361e4b45f222295246b3207c5bcdc6cee274d9c888c21ef34dfe6de582029a)", + "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 414746, Column 1: Field Element(0x5287ca45c42941816197a748337b0a9d64ea8a954613bb002100a2d26976704)", + "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 414746, Column 2: Field Element(0x5bcd8c04dd526564027b315314db2f518a726f9c8dc930dfd3916580916272a)", + "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 414746, Column 3: Field Element(0x4dd88eac82b0a2c6ce185f958bf809f48c7d4a82e4c47c79734a6818775f60a)", + "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 414746, Column 4: Field Element(0x2a3895f56fce0b7e30ece84191453c85ab11a652b6f746ac0b32490e93244df)", + "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 416469, Column 0: Field Element(0x585ba5c259a88b868dfba8185df90cdb3e2a524a13f2338c3426bffe706171e)", + "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 416469, Column 1: Field Element(0x4f2ca89f096567f66c3c05d0dd63ab4107d41f2e49ed002bb1e4ed7fbee31c7)", + "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 416469, Column 2: Field Element(0x239bdfe4cda56af2335f1b02def16352d4c10a040d11bc376ca034e0e2279cb)", + "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 416469, Column 3: Field Element(0x28065485e701ccc9b22f92c78ae08c74cc2d50446f98a0d227349c2d62e974f)", + "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 416469, Column 4: Field Element(0x15d72670ccf3d04b06f52f0db2424d0dc26807353d434db0727ddb2a358c200)", + "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 420315, Column 0: Field Element(0x6c14f333cada58c68e2d4f54ec975f0f2990b1c7a5630bdd87f9547b6c60d39)", + "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 420315, Column 1: Field Element(0x272667b001a4a2c7f0b935dc20c044ec0e1e2eacbda58082c3f105c1322e841)", + "P->V[36064:36096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 420315, Column 2: Field Element(0x77025aeb3cf0a9aaf4f090f3f00c1370c88cddcd407edeae8269624a97abe50)", + "P->V[36096:36128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 420315, Column 3: Field Element(0x3555b10230c4d307480f685760084e1eae3f81ac06c536e0938f777786306d4)", + "P->V[36128:36160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 420315, Column 4: Field Element(0x3d35da7e4fe9ef5b696045efaa5ab63a3d26090d072247518cce2b3a860c2c9)", + "P->V[36160:36192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 424138, Column 0: Field Element(0x57a613c64730c3099397694a99327930cce990c862722fc1b72a596b185e188)", + "P->V[36192:36224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 424138, Column 1: Field Element(0x555f9ea5e26ad0466829ef597868ce985ea7466ec1a00271b291390715f14ce)", + "P->V[36224:36256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 424138, Column 2: Field Element(0x518201a80e75640bf8e11be210d16a32ac65cbe49ba0ffd351108f5005f9a01)", + "P->V[36256:36288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 424138, Column 3: Field Element(0x5c3caa3eaacc9696b13431e8aec45f2cba57b2521f4f276c9801338209f0478)", + "P->V[36288:36320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 424138, Column 4: Field Element(0x11deeeb88eaead21e5d5d88b1cce0a1f32a575b700cb0c782a9d5c93bcb1896)", + "P->V[36320:36352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 433154, Column 0: Field Element(0x3c96fc21f28849ca59047e540d6cfbfc1a6827a699d9a6d33984804b71a8fcf)", + "P->V[36352:36384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 433154, Column 1: Field Element(0x287b49f7a064c568bc0d2fb5eb1aafc6d0e468fa11e51e867add608b849af6d)", + "P->V[36384:36416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 433154, Column 2: Field Element(0x6929abbfe747429b86aef6560b8252d75aefe19ee7e2f07e19db2587e0d4125)", + "P->V[36416:36448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 433154, Column 3: Field Element(0x6985a727a6bb989c5d4ba4694fbad3dff7030fa26e91786f0f454d0a855270c)", + "P->V[36448:36480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 433154, Column 4: Field Element(0x69bc6220aac76840677920b34cc076288d625d5a4c5ac0cd38627430b5d8501)", + "P->V[36480:36512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 443663, Column 0: Field Element(0x3a7fcbb0fb49f2d6124414dd9328ed8c61de0b9c4a2b0633403fc30c74348ee)", + "P->V[36512:36544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 443663, Column 1: Field Element(0x31696e76fd8cc4d45fe11b63c07f267d6712a6458438871149b2a1369a2aae8)", + "P->V[36544:36576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 443663, Column 2: Field Element(0x18cf01bff4bd19efa549ca65787b05bdd121e37af1558a2123ca4bdbae4cdd5)", + "P->V[36576:36608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 443663, Column 3: Field Element(0x4a1630822c63f23e163ed993ff751a54c0ffad09a34f78a56c906a16ddb226f)", + "P->V[36608:36640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 443663, Column 4: Field Element(0x7346c3d69b3bc1ed6cd6c0d1e72d295d2954db81783233271100a771b79a4bd)", + "P->V[36640:36672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 446875, Column 0: Field Element(0x54fea096a4ef41c9712126ca7e47a8e59efe564492710ca1db8cc1b3c0abe55)", + "P->V[36672:36704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 446875, Column 1: Field Element(0x1929630d6451c45d29cc70b6a7d37a64ab5dcf85804bfd8672e91a04b10352e)", + "P->V[36704:36736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 446875, Column 2: Field Element(0x6ef9224e99ed8045930e0346862e2a0371ad24f11b44620a8b4ec2838993d3a)", + "P->V[36736:36768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 446875, Column 3: Field Element(0xd7eb5224c60ee6a9623c8f8476ae6cf23c08f659504d910d90abf401ee446)", + "P->V[36768:36800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 446875, Column 4: Field Element(0x549af41a22c7545262d745a533ff421b1bb84716e1f2150505b3e57b113bbed)", + "P->V[36800:36832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 458224, Column 0: Field Element(0x4fa5c15e22db1991bfe8762ed35e6934546c3c655ba82af0ae6edd23ead7f26)", + "P->V[36832:36864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 458224, Column 1: Field Element(0x56966d9a04a4922f6ec841aa7ae7cad85d8d939cf254370c3a3f7c21b4ea714)", + "P->V[36864:36896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 458224, Column 2: Field Element(0x13ef750a046146fc95fc28afca758a510cbba088a9e7bab397f2cbb6bed454)", + "P->V[36896:36928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 458224, Column 3: Field Element(0x5b5b98dda31501b600b0590bd2008c583f08d175f43ad531bd57361e0f4c908)", + "P->V[36928:36960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 458224, Column 4: Field Element(0x684bf4d2e78599beb36a8dd4bc6648123e539e7b82983813891d62bfefef80b)", + "P->V[36960:36992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 486108, Column 0: Field Element(0x5c8737d40b6aa34875042e36440cb7565e7b1cace0c795a58858a018f1af50c)", + "P->V[36992:37024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 486108, Column 1: Field Element(0x5e5be3cf4ccbce626dcf6fbe3c5c4e1c66768c9304aff15651754e5286f8612)", + "P->V[37024:37056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 486108, Column 2: Field Element(0x30a5746784a8599662aaf55903449eb0b8276c8222be010e95072509f11fa1e)", + "P->V[37056:37088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 486108, Column 3: Field Element(0x6feebd0f5c9a9e2440f1a12ea1dbe20ee3f4dc627b82ea78a71e1577da87ea0)", + "P->V[37088:37120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 486108, Column 4: Field Element(0x4a31fb8ee829ca0991a5c1a943ff68c030076ff2a1466d7adcccb92906f4acc)", + "P->V[37120:37152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 492471, Column 0: Field Element(0x11f9633b795a84ce8783dcd47082db73f24780061d3e72f6e236bea6f08c132)", + "P->V[37152:37184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 492471, Column 1: Field Element(0x3669e835803cd73fc9da9d931367463a31d519b458a4ac1f8f2759f8e011e97)", + "P->V[37184:37216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 492471, Column 2: Field Element(0x71d5957138b5a7c6d197da93dbdc8d46080192ba8b64154877389923d64ca90)", + "P->V[37216:37248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 492471, Column 3: Field Element(0x7b40cc51a061471159b61260735cd8e4a54ba6d8ca65d58792d99a2531aee99)", + "P->V[37248:37280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 492471, Column 4: Field Element(0x5bc24bce7e29f28e2482f6c85734188c92831abfae4e35bf827a6c67653e509)", + "P->V[37280:37312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 498960, Column 0: Field Element(0xffd96dd3d352825e0e2e7f1cb49c1b54fe29327401721ffa0fcc17875ce4be)", + "P->V[37312:37344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 498960, Column 1: Field Element(0x7e9d536b013a13e14fe7cb041b5925361b3da977d13a31c0d74a6485a9c3c2c)", + "P->V[37344:37376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 498960, Column 2: Field Element(0xe607dfc1fde220c32fc871663d367e3f8b3f24a8a9beee53e346add97d9d37)", + "P->V[37376:37408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 498960, Column 3: Field Element(0x2b5af19faa069fcffacbc3c31f58cd724fd2277173eb3d49fb676b6e4e345bc)", + "P->V[37408:37440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 498960, Column 4: Field Element(0x3a1c9a11a47f14ad4eb0b3795ad7191068932274cb5c6621d8d71dbd1be13cc)", + "P->V[37440:37472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 520375, Column 0: Field Element(0x446b944c3af64c3cd4feb493f1565b9b9d28dc968c86b48d36903eedfa8c01a)", + "P->V[37472:37504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 520375, Column 1: Field Element(0x1578abf8a2887c43af47f9ad50049242f5bc24b5f4aae83b54398ccd80a488a)", + "P->V[37504:37536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 520375, Column 2: Field Element(0xee950dc2528e03552693adfa35a3d3322eb4ffba79f42dbe13f858b124ba9d)", + "P->V[37536:37568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 520375, Column 3: Field Element(0x59a39c7d1b61d3c233f601e1316fd15629b1461df1ff3295353b53b0284e9f8)", + "P->V[37568:37600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 520375, Column 4: Field Element(0x55b37b8d9263f44d63be8097e95d30292d1fa9b2f899c439fc0d9f2ff9929be)", + "P->V[37600:37632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 534275: Hash(0x3f9b6816e98b108ae61ac76925be07b35e0dea20efc92c46b4c5a94cd85b218)", + "P->V[37632:37664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 537983: Hash(0x4ced743456bff547ce554c4a613c2b0750b6f71279ffd7469ba047d72a66297)", + "P->V[37664:37696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 572077: Hash(0x1fc82d3093dfc58bd4d9e6f46e2b3ca6f08a88a9f8f7b0191cb1491c54a74d7)", + "P->V[37696:37728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 635351: Hash(0x2bf1622f184a9ea0fe0bcf794625762d0c67b1714a983d65806813708e2d7c2)", + "P->V[37728:37760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 635574: Hash(0x26b83f091c398569f03cd3104d621b73f5114bdad6e20fdf8c58de0296b1c36)", + "P->V[37760:37792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 720906: Hash(0x1c9c412bd68e4cd214e45aa25cac941dff14476a821d2382d20776153d437e8)", + "P->V[37792:37824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 732034: Hash(0x1c0774ce385f5d00dc6349011ce63d30d099c126d3dced3b726c484d22af5e5)", + "P->V[37824:37856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 737903: Hash(0x58f15385fd3a5e20a0311ef51920dd51689aa7e256adf62713442f0c4d1807b)", + "P->V[37856:37888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 773384: Hash(0xc23c307b9aa830604cd0f8703049e5767dcac5e3f94b6815c90c368edb433c)", + "P->V[37888:37920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 807024: Hash(0x5c21aee80f4d905637913793f7887e6afe0d58d2e1091b4ac85f6d5300b4993)", + "P->V[37920:37952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 814252: Hash(0xa8004a9507029b2e21c47a24eae70d1b6d4e021110a5bfb3ae435189d2db79)", + "P->V[37952:37984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 815492: Hash(0x5eaf2557651507a2ba93f707f2bd7ca1c32f640fb10cc45439efaa3b6be54dc)", + "P->V[37984:38016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 817193: Hash(0x29a23e70362422c27e6320d9325008bebd53b7f22ca2a7d1f0a6cd713d28aeb)", + "P->V[38016:38048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 819887: Hash(0x5346e3cb97e2ef95619c364d90f0c66db0bc18bb31711ade988cf9d3e3833ae)", + "P->V[38048:38080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 828145: Hash(0x709862f2c498b12b7dd5fce7c0672511458f97aaed8cb744adab53a32ee4504)", + "P->V[38080:38112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 843537: Hash(0x6afd152feffc16659456cce4ab068ff22aab7e95c4671fe96b62194ba4b99ae)", + "P->V[38112:38144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 851296: Hash(0x1556a2c37da0f0d75d2a2ccecb683ab8efc90510a76deb87e9cc026c7e8d9ea)", + "P->V[38144:38176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 861311: Hash(0x1127d29c525abfa1e036e7671471551ac25dec0c532782402ac00a0fe41f12f)", + "P->V[38176:38208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 865757: Hash(0x8ee82772743d10c62d7f6ec889438588815f7e2f59d682bdfcd847ad0b436a)", + "P->V[38208:38240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 883261: Hash(0x7b6fce7dc1ecda0bd64623f84f4459846aedb536c7d52d9540fe7a883f89ea9)", + "P->V[38240:38272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 939035: Hash(0x5f55876a2da526792cd45c333f46c00961766bfcc79cb04f876d46ca3cbdae8)", + "P->V[38272:38304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 940756: Hash(0x298dedddd528314d1cd4b947d4c77266befff7e0d1d3592e00e7a41b3fc64c6)", + "P->V[38304:38336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 944602: Hash(0x251fc06596673c704f202f117b8ba812a725dc2ef1d36bd73a4f00945c43fc9)", + "P->V[38336:38368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 948427: Hash(0x3e6fcfbd43f1544a071801b3ec678c66b4911e77f42239b8a3d71b39d30d08b)", + "P->V[38368:38400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 957443: Hash(0x5884da7dcc76b87df8ad6a83beb0a42de098e5c0a4f079c6de42cc0ee72af7d)", + "P->V[38400:38432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 967950: Hash(0x6081893d4bd162f97de22378c3251f1a032f643f1f403fcf2c08a0e3c5d7d8c)", + "P->V[38432:38464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 971162: Hash(0x20bbbcede27f5163d94be69033ae16be95b4e47424d1054ef88a7b11ca00d06)", + "P->V[38464:38496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 982513: Hash(0x2fff5e60edac5be284aea97cfcd17700c1a24d650cb9ecad3f295b45d861ad8)", + "P->V[38496:38528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1010397: Hash(0x5f4697749099c4838ab64598ac86742957d38b310ef0640608e5dc895ee7ac2)", + "P->V[38528:38560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1016758: Hash(0x74cfac608907fb5999255d6d73b882e8c1ee9cc79a174c3c134326a49485dc8)", + "P->V[38560:38592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1023249: Hash(0x3db66091ec889e374a564dbc16039c24cafe8867b7a16910a96c2d38407c173)", + "P->V[38592:38624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1044662: Hash(0x384f3844661b1d681a637bed6cc9ecb47bb6a112ae22a3906742f960a0a0759)", + "P->V[38624:38656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 267136: Hash(0x51f9170250c627ff78fddc441718f2b74b13f4bc8f99b86c3783812b52eb7c3)", + "P->V[38656:38688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 268990: Hash(0x7b933cb2f516bfdf627073eee9b3b516e9ba49e410922d89e2dce556bccf1a3)", + "P->V[38688:38720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 286039: Hash(0x417c3e723afa227db8e87c79a610ff2487f863a0f0756eaab2d89b8295fec6c)", + "P->V[38720:38752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 317674: Hash(0x13dda5c29085c0a0e893ec78f4cecf85fe992d2ee07f8a2967310a1acca8f7e)", + "P->V[38752:38784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 317786: Hash(0x1cd6e85ad133b86a4969185f05dea643dbabd899b619f97c81323046b57539c)", + "P->V[38784:38816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 360452: Hash(0x77919907d426d7cea5591846c8fbb50c90b15aef2859413bb6ed1e1d0ce4ea6)", + "P->V[38816:38848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 366016: Hash(0x286377b020bf3c50be798a08c2a1bccf50909d5618a9483a23c8ede7eb969d9)", + "P->V[38848:38880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 368950: Hash(0x46f29c901ed51191224c1b3602aaeea23e92286cf1be729b013b4ae8215d48d)", + "P->V[38880:38912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 386693: Hash(0x1770cf7af5cd484eeccb24a8aa71d5a9b536d847b829091b8d3a8f0b81de6ab)", + "P->V[38912:38944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 403513: Hash(0x49fa820c86aef56c00d45edfbfc04fa23fd862515e2950d545557cdc0d16690)", + "P->V[38944:38976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 407127: Hash(0x17960783170b22fa84f5213cf3319cdb18f5500051a5b15fb978771c83dae3c)", + "P->V[38976:39008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 407747: Hash(0x518e91d3cbaf85f937e0b7f6833a036a9e74b609301d2b63b5cb1462901b1b9)", + "P->V[39008:39040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 408597: Hash(0x5bac9014493d3e3d38e04667a4fee6f8295c3049026d69a1bf22e88330828a4)", + "P->V[39040:39072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 409942: Hash(0x62f4e32cb8fe32f40fca809806557056d522f248974da659414b1f844734d76)", + "P->V[39072:39104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 414073: Hash(0x57dcd0403a4cf0eb76d3f50ed7a9b89b186bb3b8e14af883622a32ad6430921)", + "P->V[39104:39136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 421769: Hash(0x65a0ef29673266134382b0602712ab0d8283f301e4645e2b7a38e6d08a997ad)", + "P->V[39136:39168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 425649: Hash(0x740eab8b0051112ce07e2f00102adb1f1031dffd842e47c14b0c25533a49287)", + "P->V[39168:39200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 430654: Hash(0x61a0f7712440b5bd62191fa68836ea3a342811f379a8ae61a856933590a7651)", + "P->V[39200:39232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 432879: Hash(0x16dd0ebeba4789836bdb9162c2e7144630de917d2dd7c689bb5a6ce9049d17)", + "P->V[39232:39264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 441631: Hash(0x207ae3311227da2dd072774a43afa8ec7820e25a9c6312faf6634a88ae2093d)", + "P->V[39264:39296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 469516: Hash(0x42449434bed506513bf61d9b4273a0f71df2a9945bc3a89b7c5f6cd458e31f8)", + "P->V[39296:39328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 470379: Hash(0x2c55a5cd6ebc234fdf56c900411f0e6f916d8b41c41c356506d7d12d184f5b1)", + "P->V[39328:39360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 472300: Hash(0x59202209f10a2f8984003a57f8dbabb8ab07e92d2847a09f7ca6f55b174ac64)", + "P->V[39360:39392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 474212: Hash(0x61e79d17009806b1c67e9ad0cb50436ccd44a554d1cdd75d0b0f9b965a785fa)", + "P->V[39392:39424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 478720: Hash(0x5bcfcfb7129ce10306f56c3a2768f0bb349f6a3948fafaa5e7547a538d6f35a)", + "P->V[39424:39456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 483974: Hash(0x36e969311f666c2217ace9c6f1b36f0b1afc34fa8554b1f75ee85775d53e591)", + "P->V[39456:39488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 485580: Hash(0x1aa205fbf217c6b8b368d3b7e466e6a489f5f627fc6678ed6d96196dbba6b16)", + "P->V[39488:39520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 491257: Hash(0x74c7ab44631c7a6719d2e48eb54472c81a556f9367ef9276f41abab640f0998)", + "P->V[39520:39552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 505199: Hash(0x10d18a043b0c486510035588d28e878bc996d570d2c04d2a410b51251a22b7)", + "P->V[39552:39584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 508378: Hash(0x384afa4a525c1b825bdb8ecc944f3af41fd297e2a520d5b3a7aafc9c5d34238)", + "P->V[39584:39616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 511625: Hash(0x2867566a1e5eb9bd1c8abd400804e5ddcfd305841a907948b6003efbf3c377)", + "P->V[39616:39648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 522330: Hash(0x3db2edbd517627cc53900de45d5e77a23e8d155e3240acd9a5a0175b16f271d)", + "P->V[39648:39680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 133569: Hash(0x7066ea653975bd189cbc93abe76ae94d90ad9cf0b694b0765c20704613c937b)", + "P->V[39680:39712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 134494: Hash(0x683d79423e242fd6dcb9166e085026a953c19d5d09ae38d60a74ed712902af9)", + "P->V[39712:39744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 143018: Hash(0x403fbfce9f1a7ac56dbdae0d27b2aa255e8065096272d61435e2dda632b1189)", + "P->V[39744:39776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 158836: Hash(0x772e60cb863bfb2b0cf47a66a6308b95b989a325eb89b678b53f3a6eeb7437a)", + "P->V[39776:39808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 158892: Hash(0x5d7a0937e09a2bcd53f36044d400d119c5710974e4c87f4b9ec5ccd2501cca4)", + "P->V[39808:39840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 180227: Hash(0x4e475f3ddbd3633b370a7862d1f08f8f0caa8d7f71b7b999860ef210eadf9a7)", + "P->V[39840:39872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 183009: Hash(0x45f26270397f500aaed63595cfaafbb0966a0e0dcdcee85126c7e926c00512a)", + "P->V[39872:39904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 184474: Hash(0xa62213446796fe2aa4375179d6552bf391e9a037f3384c94d29f77e989cd8b)", + "P->V[39904:39936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 193347: Hash(0x672629cc7be8ed8f4a760344797c3420739feab604da33402f8b84d6d2d5e24)", + "P->V[39936:39968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 201757: Hash(0x389d08f06b80f7c52e1bc55e6800615b7b7005681a4a4dcfa19a2ca842a85d7)", + "P->V[39968:40000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 203562: Hash(0x4a8dac4974cb9c6dc885688ea92a7d69fa2f7ee9e2d7156f0224536e81502e7)", + "P->V[40000:40032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 203872: Hash(0x7e9660feb7a5fc106de95674afc8c385d9b4679bbcabcb2ead826c0daff488d)", + "P->V[40032:40064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 204299: Hash(0x532b3824857ab1203bfd7bee90fff826e29d558f4968758c311885d1fa824b4)", + "P->V[40064:40096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 204970: Hash(0x41f69efaba6277bf8fac8913842a61756c30802f5eca20182b42f5b2fa2567)", + "P->V[40096:40128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 207037: Hash(0x2262ae9a806a7c1ce0e571c778c6b4ccc0daaf0c8430c31760e66d68218ff68)", + "P->V[40128:40160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 210885: Hash(0x3f17fabc0a9449c7004cfc00d47c890b1caaba0335d644e5a331980bf4294)", + "P->V[40160:40192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 212825: Hash(0x2536e88d740f2229dd8bb12590e8de2f525ee1831ed3260502870dd1876ff40)", + "P->V[40192:40224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 215326: Hash(0x6efd1936c9cfb27366cafccdb67514eedb358a5061464fabaaf339c902ea9bf)", + "P->V[40224:40256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 216438: Hash(0x7c61e4d0ba25e452a92ca866a6c60a066901abf23eb596ed73ef52e4007d1d2)", + "P->V[40256:40288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 220814: Hash(0x902d38a6850f49e8b829da6d4ee07f5ca00243b51de77a047e3e5f9ca71853)", + "P->V[40288:40320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 234759: Hash(0x448f5a4191f0fe83ef2b0b38992c8507a26272c93281b1cdb4930a0d5d9d7d1)", + "P->V[40320:40352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 235188: Hash(0x2fa230dad4bd5064b18a836e4f8bad8642a4dffc8ac9bcd60fd0a49e380266d)", + "P->V[40352:40384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 236151: Hash(0x7b036c047957b8f382be20a3fc5310ef8dcf8b3854d84ff71bb7fb2ca9b2b26)", + "P->V[40384:40416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 237107: Hash(0x2a20367e3c7db5db55a83989f63f4015db27e5f31bb3672fd18f15509714f71)", + "P->V[40416:40448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 239361: Hash(0x6415049b7c08b9090766bb9ce5c88ceeed04df39efa362cf43f1699902a0c87)", + "P->V[40448:40480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 241986: Hash(0x725e00f3b6d50618efd216791f07e4cd881c68471bb6c87ae11f925b4ef1ceb)", + "P->V[40480:40512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 242791: Hash(0x5ada39f8dced8fca75c040a01a7b595983347b842692a4bc0dffdde31d9cc78)", + "P->V[40512:40544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 245629: Hash(0x5f1199d50b28803fa2078075f694661ad5d9466705fc27523d8d40b4821372e)", + "P->V[40544:40576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 252598: Hash(0xb2772ccf7895603237168556b3d84d04c1e9ad3847e66079d4e2a785f31987)", + "P->V[40576:40608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 254188: Hash(0x1d30b184d17816ca76ce712ec6c5df670c061de2b641e2fcad8686178bd9d48)", + "P->V[40608:40640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 255813: Hash(0x4de684b7251da6bacdbafc6a1fb4791772d47a56927117069c826f2227a382d)", + "P->V[40640:40672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 261164: Hash(0x39f0b9352525d523c57507c137e71767cf16a9eab84c662556223edf07c9650)", + "P->V[40672:40704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 66785: Hash(0x629996c7d9596e55fdb3ef6fbec60cb68b074960a5c39908ab905d7f92f7d6e)", + "P->V[40704:40736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 67246: Hash(0x387315f70e7b83435738438346b19f06a055cb90ee5d155a6d905610faddf9b)", + "P->V[40736:40768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 71508: Hash(0x1499704ca951adf749c39662574db6d1ac6e9af20c5fad316038993943607f4)", + "P->V[40768:40800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 79419: Hash(0x35a1455c0354b9bddfa5403b0d0a6aa533d1d834f64371f3df088484f65d234)", + "P->V[40800:40832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 79447: Hash(0x460d72889bf64de2cc4fcb0814962e8b6d2f7b0f1187f7ed9d686e26b96f0da)", + "P->V[40832:40864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 90112: Hash(0x435057e316178f81c6c4211b715ca77e818294548338f1a33bf0e2401c36184)", + "P->V[40864:40896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 91505: Hash(0x54b670891e955d03be4fa13350337923dbacff289981ee737a9fa5e9053bf8d)", + "P->V[40896:40928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 92236: Hash(0x1b24f8b81c9cee100a57d9c67c7a9ebc64a3a6f16de8a8062946286f7edc0eb)", + "P->V[40928:40960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 96672: Hash(0x539b6673d7f7a7bd454bdb38428bb7b49909dfc9cab4552fc89210d153d59ca)", + "P->V[40960:40992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 100879: Hash(0x68ac7f739a1a20963bee035a4470fd0146c54d96ae708d0746b1a753f85fdc8)", + "P->V[40992:41024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 101780: Hash(0x37b035dd995a50662da133910ae2cae8c1951dc94520f95c13a67470fa6344f)", + "P->V[41024:41056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 101937: Hash(0x7b60918324660e1242a3ff2329b90c9653e29bcf31e6fe09b68302ab99876b9)", + "P->V[41056:41088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 102148: Hash(0x506fe87062d9a2a842a44616b8a769bf3d13497edd587c3fd6e0c25de6bc5f8)", + "P->V[41088:41120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 102484: Hash(0x15abf623723414242a5fbe69889b014664ad2d1617b52044dc8c04885c9aa1a)", + "P->V[41120:41152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 103519: Hash(0x725edc13ff6c31ec734e659f66e1bc6849ff3fc963eb96b6fd9d9cfb5f690ed)", + "P->V[41152:41184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 105443: Hash(0x6d6b2a930a5efd1658e8221cc954f0876da467db573925f2992023627dd383b)", + "P->V[41184:41216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 106413: Hash(0x53442c715c84900361e2f9b1fcbd8210400d3d1aaa9a59bc61d2aee455dd194)", + "P->V[41216:41248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 107662: Hash(0x4eaa7638c239cf8500bc9a8a1a0b6e7241c4784d68d30de984562a203fa881)", + "P->V[41248:41280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 108218: Hash(0x6fc1b29499502540931ff98199b86f0a48bd9d026f29a1c030a04d54cd8a11c)", + "P->V[41280:41312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 110406: Hash(0x209dd8515508d9f8fa9c402d08f7a5f7fb8c484983c3d2c7f7da35b735635f2)", + "P->V[41312:41344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 117378: Hash(0x6d8726423ae8771fccec0a159c9d587d1e3e63e3c01d22b22a6535df8ce58dd)", + "P->V[41344:41376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 117595: Hash(0x5a2519880a4c641cc47a98fb473e0e1e9afdcdf07d13af8572ec125476d6ac9)", + "P->V[41376:41408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 118074: Hash(0x514ce056c24caad7993cfa03ff82138188b32ae4c990c007c92c155d9f3218)", + "P->V[41408:41440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 118552: Hash(0x467d7d7979c58a69fe288af950464d212997018d7f29b0a0419d9c19cfd54e6)", + "P->V[41440:41472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 119681: Hash(0x284318cb674db79c0cbecd6f039bd636210c6500de27cd24e0135363cadedf3)", + "P->V[41472:41504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 120992: Hash(0x474d23be5bdd7d767f2ec3e5faeb999903bbf22d99f1cc0eb508787c213184)", + "P->V[41504:41536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 121394: Hash(0x98455a9f172bff26d4dd2ac6e7caa3d870b28edf32d6bce96f4804baedfa30)", + "P->V[41536:41568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 122815: Hash(0x35fde680ff11b9bef5f12dbeb0478c1242b6f59f65dba0d31bd6c51ab6746e3)", + "P->V[41568:41600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 126298: Hash(0x2017c1b75f57557880bc13675a104da08ed979588c5344dace70c158c40f433)", + "P->V[41600:41632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 127095: Hash(0xa6edb0688524207378ce50f0ae33bd71b903600eef3d7fe3683460e420fad9)", + "P->V[41632:41664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 127907: Hash(0x61e55da77128823223d35e226d130815518ab784d27156ae30679adc93b60d)", + "P->V[41664:41696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 130583: Hash(0x1e880c8c1f43cac9dab43f607f992704ac4721fe8a583a9e3512b5c7edf69ab)", + "P->V[41696:41728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33393: Hash(0x3cf3f7f3822f9ab4106023b05b7ca1b40da58f495ef9cc904e9598631eae943)", + "P->V[41728:41760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33622: Hash(0x7304acad753a66aa91cf9c60e12c57e0de05b452fa4166fcdbe78dd484c4c2f)", + "P->V[41760:41792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 35755: Hash(0x79de989f9ff27a9ac8f658f01ce67a808d93a36f61a4f78e9e40b0ec091a24c)", + "P->V[41792:41824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 39708: Hash(0x3c8423c537b4a1da3e40a4b6de31f8661a1f290675407a0b346a2765ba1478f)", + "P->V[41824:41856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 39722: Hash(0x7ad0143d62b8588e76a0ee0086d98bf8cae6efcfdc07722ca9171e30e2899c0)", + "P->V[41856:41888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45057: Hash(0x117c660f19287fd937712a713fa890f9dd0d66ae82d6adddc31601e13258f2c)", + "P->V[41888:41920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 45753: Hash(0x49049dc2fa8a9d5416193aae548e8274275c26938a9797f459e87d2fa5a1961)", + "P->V[41920:41952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 46119: Hash(0x69173eca87eab03b6e9d50f0686a01cfcc45a466b3389a4883f261e846f6adf)", + "P->V[41952:41984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 48337: Hash(0x558b97c8184a823a2ddf43e8cea70f10901767e55c31f743f65469b6d2749de)", + "P->V[41984:42016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 50438: Hash(0x1789abbb1ff05e7b87254989798f6e7a676c191666b0020b39b65bda2e36613)", + "P->V[42016:42048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 50891: Hash(0x38867d99def4d3f639f3af96bfeb5826fe4005db1629ce96bd20fe845f3934c)", + "P->V[42048:42080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 50969: Hash(0x4a36bbe2098e132dabe22fcdcad4648b63fc986a082e55da916156c86412e7b)", + "P->V[42080:42112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 51075: Hash(0x4b489ad3337ba5d02187dc878c87467c37c11ab33cc1a2e24e8a79c2f7ad19f)", + "P->V[42112:42144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 51243: Hash(0x55b8c3ffc3e69dc037dc0f7f3618d44b39443013cc0347878a61b78c22f4fa0)", + "P->V[42144:42176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 51758: Hash(0x76ac6525c7cd58b9b73a4c4e11b194eb1766a35c1907b314f5d45d2b60debc3)", + "P->V[42176:42208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 52720: Hash(0x57827d3997f4d8f5f7a026211c0952c5ef15015ad53dfb75eea7551d29e54d4)", + "P->V[42208:42240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53207: Hash(0x5400358bc86dfb8252eb718285789eb7ebeb1013e4f79b693fb1d7a791c5866)", + "P->V[42240:42272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53830: Hash(0x450b8f92ed465de6509d0fafeefb542ab6e054a15125e3d1226b1f4bf6cc099)", + "P->V[42272:42304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 54108: Hash(0x500b9692d4973cbd357906f065817fcd3f3304e923f9fcb1e797f31fddd83fe)", + "P->V[42304:42336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55202: Hash(0x29d25ceeab9db711f7c9e7d5b43939df39a1941627207c3253483d08c48081b)", + "P->V[42336:42368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 58688: Hash(0x15b2f9cf39bd8761ad6db3b69b47b63bc12eee6a28f88e81eed5a241b4156f0)", + "P->V[42368:42400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 58796: Hash(0x552639263bb75f793eff85e33f16c9eb1d5928282cc3f019867c7bd09f146e6)", + "P->V[42400:42432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 59036: Hash(0x62dbf515768414bf705fe6ab0656d4de7c51058cc872ee711fce12f8541e26c)", + "P->V[42432:42464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 59277: Hash(0x3baa05f64f495062b90f424c9f55e159a09aa9cb17abb6ec348788c76384781)", + "P->V[42464:42496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 59841: Hash(0x2b91054f8b07580aecab5f9198974914e9eb967258615e07c0d412eaae5fa91)", + "P->V[42496:42528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60497: Hash(0x641fd2e1a515f73f9dbbed016352d96d747d11ccb7fa136d6f3c7a9027dfef7)", + "P->V[42528:42560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60696: Hash(0x39a1bdf413c06a20f8639be5e177745eee954b4714aab9cc631fff59b905ea)", + "P->V[42560:42592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 61406: Hash(0x4d66a0709b285f5436fb07d923279e84a4265b0548708397eb61b54ec435c09)", + "P->V[42592:42624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 63148: Hash(0x6e1a10a043d729967135e90a8ceb019fe70d1c8db2c2b7f3a70349c88fb6f45)", + "P->V[42624:42656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 63546: Hash(0x511484b5c1c9ad5828beb0bdd765f1d42a63858712315c1d0215d39669f4f50)", + "P->V[42656:42688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 63952: Hash(0x133e74a75c343d6b269116df7c25eb0fe08d03971da6eb6c2702dbf49e481bd)", + "P->V[42688:42720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 65290: Hash(0x15c4b03e524476a34dd9750caef8bb06989af0cc8f99bd77921bf8d8769160b)", + "P->V[42720:42752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16697: Hash(0x250d58de9c854ced624b7249cc7bbb321953bee39905fbc0a3c16f1cb842670)", + "P->V[42752:42784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16810: Hash(0x453bf92442eceda8f6114472592a94f1f44e1cc3b20020ac72c735cbb425273)", + "P->V[42784:42816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17876: Hash(0xf42eef0a9c0a48c5d8d26ddd481c40bc2eb93cbba4a0b25bb2b9f4de1a66d)", + "P->V[42816:42848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19855: Hash(0x21599420d24cc4fe982965d1e29b3a1a765b64181b7b6ca42a7537c8c9feca)", + "P->V[42848:42880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19860: Hash(0x50e763af7e82ef0497aa2eab0e7ede1645bafb9db3f675ceea33cf80e8a9a01)", + "P->V[42880:42912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22529: Hash(0x614a812cfeae27032c271dfcec89bf1f1072a5fc193b0f5fa4bb93eb76224fa)", + "P->V[42912:42944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22877: Hash(0x3b451c0f31843bbdb689853adf5ee26002d8198a0b0b4d92a45a6bc880c9490)", + "P->V[42944:42976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 23058: Hash(0x209d57134e40ec7d83b98d4e0b702b6bc74985df3d5000e53637f9a7e41eaf0)", + "P->V[42976:43008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24169: Hash(0x318d4e1404556381e2c56c6a7347e1cc1993595b2e31490824ef0916298767c)", + "P->V[43008:43040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25218: Hash(0x460857f3c5954b664bce32511eb73174d5f37ff2367739a9518a501bd1572bc)", + "P->V[43040:43072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25444: Hash(0x1d92c7f82e386d7c49d5c36597c42148410b417f37601f11ce566a11de3714a)", + "P->V[43072:43104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25485: Hash(0x727d526f84e92c10bf993e83675d0437295b035d69a8440fa120c5b8f2d4805)", + "P->V[43104:43136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25536: Hash(0x794729dfcda61ea4cb4e31bea77f88af58695c42f8fcd37ceefb77d01614ba3)", + "P->V[43136:43168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25620: Hash(0x309a1e69af47c7a32de69da5122b1398361109ccfa37070fa848eea09a0ad93)", + "P->V[43168:43200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25878: Hash(0x1c4cb5dbbb4086256dd9f90779e532e3482acc61680716680bb75b94f62cfdd)", + "P->V[43200:43232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26361: Hash(0x4949e14c5c01eeb96058fc2f08f4da94cd6c6c801ec04af6c60376e02b5b19a)", + "P->V[43232:43264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26602: Hash(0x56b6a1d3d0d660e9fb5c0439f76fad6f916644ca5fb7bf514957500927facf)", + "P->V[43264:43296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26914: Hash(0x40b89fcf9dca4a31a83a30ba3c5d835f80cdf1b7353ff4f5e59dc87ed1cdfd3)", + "P->V[43296:43328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27055: Hash(0x2cf47fcc99593423f99a0e4766368b48c3ff472d09278b66c02b71773f48454)", + "P->V[43328:43360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27600: Hash(0x53552f01c9fc50c11a83272af19c8f90a0e74af6a69e0edd7422a59533aebeb)", + "P->V[43360:43392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29345: Hash(0x593d5f5304985c4c0711b3af993bd6e8ed4a5fac66b390cd62d1326961943cf)", + "P->V[43392:43424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29399: Hash(0x10e0362d513ec100f080f10f38717033c585e50f984b1418658fa19fd5d4007)", + "P->V[43424:43456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29519: Hash(0x60ca397fd0d4ac8171aae295a250a351481bf8d7948b79cb3d875181badbaef)", + "P->V[43456:43488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29639: Hash(0x10d61c656a13cf4474e0e43faf82dd9b7077b6ffc42283fa23db28aec1f2b12)", + "P->V[43488:43520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29921: Hash(0x4d73f0759892e245d0263a987022f773a61c2311e51a9acd87d96fe1205562f)", + "P->V[43520:43552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30249: Hash(0x3cf4f15be21950a20d2c4a52f1bed8b760188a61083d22c4b7c28f63b67b6e6)", + "P->V[43552:43584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30349: Hash(0x624d4bfefecbb13ca733a1e5cf5cbcc034a381df9ff43e6e60becd2c62be8d4)", + "P->V[43584:43616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30702: Hash(0x377ac16ec087514de2c22f8c6660e6f26ffcccbb3f06ded30dee1c1ed6eefc)", + "P->V[43616:43648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31575: Hash(0x6d50d864db6e18ad864f6ac04e9f9742f7634b86f5921edad14c95667fb4a01)", + "P->V[43648:43680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31772: Hash(0x1dc3b9ba3b34b15725c54f61307c5f19b99ee94daef40780aba50e56415b897)", + "P->V[43680:43712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31977: Hash(0x244fe25dbca37b49c488fe1725d9a8634c4bef84684f243a81b3c317035819f)", + "P->V[43712:43744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32644: Hash(0x5459c873dab9ced31e4e5e904f4129a837b3dbb88e7626f41a1a8243ee500ab)", + "P->V[43744:43776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8349: Hash(0x6784b0d7184805d1c859b8e4a9f94b983352721148e3729b47e7e3e2d6556bc)", + "P->V[43776:43808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8404: Hash(0x51d3ea5ad65f3e8be661d3741030e3faece0db0b18ac4d62dc65fcbfa4f98e9)", + "P->V[43808:43840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8939: Hash(0x39679ab73257083a028efb5713a5d71371d2880278b29f36f3af76ba520b412)", + "P->V[43840:43872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9926: Hash(0x79102497cc3ecac1ad92560a12f26f2172ea906acd0026e337a8e4f03f9e959)", + "P->V[43872:43904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9931: Hash(0x5052e5fd16af36b60c048eb6725e759da9e85eadb05845c154c4af2c01ec10)", + "P->V[43904:43936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11265: Hash(0x13efe35f238e8dfc98c74ef166efeb2bb1a83e634fa05dede6c531b344adaf8)", + "P->V[43936:43968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11439: Hash(0x12a71aea0de8a06f6fa3c3dc013ac1c99dbaa07205bd69393842a7bd0d6b0b9)", + "P->V[43968:44000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11528: Hash(0x6684d548c967f04fda25087070098fc15b9f54af87f648f4ef04d27607d837c)", + "P->V[44000:44032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12085: Hash(0x7875b63f4d796d8f7e8444e9086ab71ade5a0c98673992ea327cffdf295a62c)", + "P->V[44032:44064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12608: Hash(0x67a41e4cabd6504925263a243e3864c1f1bd0cc57d1e1494c356a9bc4acb0dd)", + "P->V[44064:44096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12723: Hash(0x6de48844807aa37fe601d924e49c1cb94c727f1e55404fafc898ebbfdfdb356)", + "P->V[44096:44128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12743: Hash(0x120042477236bff68eb6001ac6d18a5b67f490428f4faeab2f672d94fd5f71b)", + "P->V[44128:44160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12769: Hash(0x5400a5a602adcd464da97bf7f034d3d8ee99cd15aa4a64a2f23099b9fa5fd24)", + "P->V[44160:44192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12811: Hash(0x5fc95fc0d91a0c31b924ebdacb03d24a1b41e56246841229f4394984b16b24b)", + "P->V[44192:44224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12938: Hash(0x3df892e8e4a11be0aa87e80b8e4f634f7d9ff8bc20adef7a3e60e6a84ced932)", + "P->V[44224:44256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13181: Hash(0x7eaf5ad36941340833366343190acf74cabde123c37435636caca47100c3699)", + "P->V[44256:44288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13300: Hash(0x25280ff516ea131601e696da6dc9c5f096fd0e9f1a6ceb3f68eb94d10d2298)", + "P->V[44288:44320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13456: Hash(0x65da328da635fa5dcd767bed2607a524285bbfe78e1a20161dc1de012913146)", + "P->V[44320:44352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13526: Hash(0x4c8a3e2fbc102f85aa670d51af772197ef8d34a34d7462ad08f1b812a21e07e)", + "P->V[44352:44384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13801: Hash(0x33135a64db865dca25a162b8390c3afc2ee6ab348dbad98c81ccc21ea385cea)", + "P->V[44384:44416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14673: Hash(0x75e014fbc2558fcdcbc8dc215c177703eafeac84696ae54a4d7ba9cbbf0eb77)", + "P->V[44416:44448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14698: Hash(0x1d21aaa3d0af972d1768605eb1c0da1b8b5b10b502fdd86c399d340674aecd9)", + "P->V[44448:44480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14758: Hash(0x224f43bc10aa2b1bd4969b002c1bcc50636f818de0dd71797ca04ee3ad0ae4b)", + "P->V[44480:44512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14818: Hash(0x588b6146c6d560eb5892678a18aaa2cf0a6776531f58b963a92591da778ee79)", + "P->V[44512:44544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14961: Hash(0x64966ac095802f6b8b61c85df8dedf549e09e733b7fc1c56c85fb761e6f959e)", + "P->V[44544:44576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15125: Hash(0x5a70d540e9ee3cfd649140bed5a62fb866c990aaa9e396481098c63f8261a24)", + "P->V[44576:44608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15175: Hash(0x3150a75f846087b2cf433dc56ca7db7f458348627ed3325b9fb84eb5bf007d)", + "P->V[44608:44640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15350: Hash(0x2ce79598cc459e9b52789a29b6fff833da2e1e931c7fc1db6ca46130cf84b49)", + "P->V[44640:44672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15786: Hash(0x5bc3ad4616fe8ff443410410076a1e3548c94c479b1be8bc7f7539d469d6243)", + "P->V[44672:44704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15887: Hash(0x3a494b76e53efa2976074615c0aa7222225c94572550b757343805c7bc82b6f)", + "P->V[44704:44736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15989: Hash(0x1663f0f6ab857c488af52f001f11cc96a9316a1d2050230dba14a12351ea829)", + "P->V[44736:44768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16323: Hash(0x3a598657f49316587bdeac43a70b0fdbce08a0f290821baf011e41402deea62)", + "P->V[44768:44800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4175: Hash(0x26a8904cdae45a7b0337d71eb364a3f5e225f7237bd102c70bf14b89c97e7a4)", + "P->V[44800:44832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4203: Hash(0x408423bfee41b48dcb93365f40985ba4e4e53340adfb5f0c41dce61961a224)", + "P->V[44832:44864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4468: Hash(0x64f37f73430660a0026c59e15b41c597c2c079aa4acc28b91c01935356a9531)", + "P->V[44864:44896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4962: Hash(0x2ded00204a1bb4d166cce3300b2eb0069c6bae7129f0b432ed357a1164cb3a5)", + "P->V[44896:44928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4964: Hash(0x698e0cc484b806d214ce8b98d133927e19f94dc056e20f8e3ada24894f5a0cb)", + "P->V[44928:44960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5633: Hash(0x4ebae47fbf20d51f15b17955704549451e2aad6f05a3dea445f16dbfcb45f48)", + "P->V[44960:44992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5718: Hash(0x46c013fa2827470ec7b98a60ff1f2bf68702f4ba2b082621f462759d44f183a)", + "P->V[44992:45024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5765: Hash(0x37eec3dbbb143edf37c1a9d3b03fd1987d05be1160b755ea0d471739bc83312)", + "P->V[45024:45056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6043: Hash(0x3e06806180c0e86089226c2dc2c03c4be2555a5bb64af11a498434625cfcfcd)", + "P->V[45056:45088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6305: Hash(0x3428a4c96a205165de7365dcb4262d7bb5aa9e68e9889e3a17763063edc6c74)", + "P->V[45088:45120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6360: Hash(0x303f90139bd5ab3a2003081a9ae9d1c2b4d772e1cfc1be426593cbf65679423)", + "P->V[45120:45152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6370: Hash(0x2884f8ee44afa9c580ea4a5babe8603eee110d4900b362f0ec8f572e6a5e9a)", + "P->V[45152:45184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6385: Hash(0xe0992033202eb9ae415ba4944634bd24201499a55feccb30c770a3ae226099)", + "P->V[45184:45216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6404: Hash(0x5757167518ccf6da810081f8264e3a6401bbfc29395eb4b28131c8cb1c1dfcd)", + "P->V[45216:45248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6468: Hash(0x55cf15fc4fb3eb8a14bd2f4c80a7270f98956620ed480c2c9fb7face9202b24)", + "P->V[45248:45280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6591: Hash(0x7af972a87275a5c6cdbe49953428d6b14671faae14d547c017d596a63b9d5ed)", + "P->V[45280:45312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6651: Hash(0x667f1a49ebc4185dcf176272d209ddac041a64ebf94d77dffc64e978432f871)", + "P->V[45312:45344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6729: Hash(0xc477715ccc262205f902435bac51e9d94323a9ab8f87efdc4e965775d40918)", + "P->V[45344:45376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6762: Hash(0x2059c6348236d5926eba3b80d7740609ce3d13a03db3f1c66f425ab19906fe6)", + "P->V[45376:45408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6901: Hash(0x440f7592370c2dcc603d062fb99623214dc501551e7b509335c05644eebecda)", + "P->V[45408:45440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7337: Hash(0x3c3ec48d4f77095507f23e67d465b91645003e0ab8ede246b2c6e69f2a66e06)", + "P->V[45440:45472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7348: Hash(0x7f32abc9cac39291da5b976f6f10194da13eb1d442df8598bb1c8ee250d5d07)", + "P->V[45472:45504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7378: Hash(0x3b716a2cd556c6ca3cf1900b2a2573aa2bc2e5648849042b969c3ee23678ea)", + "P->V[45504:45536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7408: Hash(0x12d8a1a653e02430049794d4eccbd54e9ed3d9d40bafe2cc4b771d7124b54c5)", + "P->V[45536:45568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7481: Hash(0x21a825350206cbaa72e6bd77fe24b8afe3d8f6e0ee5366c9dc102dbdc1eb56)", + "P->V[45568:45600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7563: Hash(0x7c312581b6e5bd1c9ca7c08b5ac951653a43ac0776a3dacaf345c5dcb9f97bd)", + "P->V[45600:45632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7586: Hash(0x7c80d94a91c471186e515a4f613721e272193bee2503478553dfe85909cf02c)", + "P->V[45632:45664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7674: Hash(0x7ec7665700f6fe130f28bc902f2fcfa339f077fb511022c18b6530fcb643728)", + "P->V[45664:45696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7892: Hash(0x3309e1c571697f8691a2ac9510297816a4caafcbfb8f2fe1616ba3562834fc1)", + "P->V[45696:45728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7942: Hash(0xca4d4810367f3e3629ef93263f72fdb5bd740c902c134fe75edab8a09b0b25)", + "P->V[45728:45760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7995: Hash(0xbaa468cb410a17dac782092901c6ab332a05edbaa47229006e1e0f39489aa8)", + "P->V[45760:45792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8160: Hash(0xe1b6813c95ad4a2a8c781066052ccfd79f381d86697d5250a5cbeb85eb3ba9)", + "P->V[45792:45824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2086: Hash(0x3315f85d49deca11d119a18bc49e9f4c4fabc5a04786a304e3b0c728012ed52)", + "P->V[45824:45856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2100: Hash(0x5b6b8d96774747f87379d5eec09f3a93a891870b4025c1d9a32008bdf8453f9)", + "P->V[45856:45888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2235: Hash(0x7ec0b3665e046c6135dbffb0f1bb7a6edd6776eee4f538f260ae6e94a3e5fb0)", + "P->V[45888:45920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2480: Hash(0x77c13b211b51755bc2d90bcb5f86f888e33db74d40278404155bff026500b42)", + "P->V[45920:45952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2483: Hash(0x1e3403cb950c34470ca9cc295f608354f63e76d1ef31001c328a9bf84d9fbb3)", + "P->V[45952:45984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2817: Hash(0x39c19c20d6fb08bef2c9e2edeca7e1f50ddbc5e92141ba279d9af4dbdee687e)", + "P->V[45984:46016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2858: Hash(0x640e1144d151517f134fe88adc5a5aefcb50abdd83ce731d48ecb3b9e3527b7)", + "P->V[46016:46048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2883: Hash(0xb29c3ab060b98b5c8df70d9b4c3372230d4dfe7f1dd24face9057bd612568a)", + "P->V[46048:46080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3020: Hash(0x485d5d3a651f8f824cf91bf272ee24b74928f0c5c180595d7ba923676d5a213)", + "P->V[46080:46112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3153: Hash(0x11fc8661f4ec549ded648a152d36753f82fc6a1307516a9b1c5ae61af1882fb)", + "P->V[46112:46144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3181: Hash(0x2f425915fb7f99a44f4a74d6b0d4378bd5697095ed0788ecbdd5e90b31900da)", + "P->V[46144:46176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3184: Hash(0x6092f947009cfac31d7281320ec22c5f6ac1620bfb71d21a078bdefa36c65fa)", + "P->V[46176:46208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3193: Hash(0xdb3401bc6243aa0636b439adbc79b5b70df16bdc3edb05cade61a2e2819996)", + "P->V[46208:46240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3203: Hash(0x34fd67e4be2255ea40cc1659fd0da6e69f1ea3fd9077ada6ff63a2c4314bbc5)", + "P->V[46240:46272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3235: Hash(0x381bfb0a6b3f1a9aa94ed8b34ea11516882a39173ef65cf92b8bd0d049e095b)", + "P->V[46272:46304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3294: Hash(0x4ae2bde797d7ace7a51b9704da7032193bccd6905f3c720079cdb9c0cdc9914)", + "P->V[46304:46336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3324: Hash(0x6014c5979a9ee511a579f819848abb508d496983849a4aa8abdbb0086e668cd)", + "P->V[46336:46368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3365: Hash(0x58346e91bd255d42ba2445364ea1d1c7d5100d8d1dd9c01bd36fe5c5e032218)", + "P->V[46368:46400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3380: Hash(0x7b9a0e7799b9186c5fdfded7ee4198c701d794d8abcf7e13933fb42c72a7d70)", + "P->V[46400:46432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3451: Hash(0x701788cd3b41c4404878bfa73c6caf4f11ae6c02af76cc4c93cf51c312cdfa5)", + "P->V[46432:46464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3669: Hash(0x19a7f877d7f545cdf3bb402a790d445038bb1eb6cf9b504522f3e04e29d13e8)", + "P->V[46464:46496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3675: Hash(0x47345851e18e159fd11a274303420444b43c9eb5337c8cb0fd4315ce981823e)", + "P->V[46496:46528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3688: Hash(0x96f32513fb19e6ad24004450e4b2bebfb4e559890d93973dc9307fdb530e5f)", + "P->V[46528:46560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3705: Hash(0x246bae0a1addbf4d3012a6bcf51c2c70831edb0bafebfab7e8b15dc48b2b936)", + "P->V[46560:46592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3741: Hash(0x2d9ecfdb087be421cfea9498c5d27e660fdcb63f297e68abe7d4fded8963a8e)", + "P->V[46592:46624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3780: Hash(0x4777c7896f1a4eb57f326156dd3320b3fc3052823d6961c3c701502a00d85de)", + "P->V[46624:46656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3792: Hash(0x42f8f496358a27df826f175a410f2f50ba6e0ca023065f4432c7a8dbd850224)", + "P->V[46656:46688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3836: Hash(0x55312109b149efb20c18ae3ce558e7b4731fbaccd2c635f2ef5af00beb65552)", + "P->V[46688:46720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3947: Hash(0x67d29583a5cb90b2c62a2f5cb13decf59b27776e6f7d8d88f77f6ed49934881)", + "P->V[46720:46752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3970: Hash(0x63f558e8a233d19a01487952c89ea5786329aaf5e529f19a2e17259886ed3f9)", + "P->V[46752:46784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3996: Hash(0x4cb3c62db1aee65072f0d1d0fe014c37bf12eeed979b13c518465f614717860)", + "P->V[46784:46816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4081: Hash(0x1b18a5cf421155b9b1617c585afccc6a8278d764a8236172c2105ad488617a9)", + "P->V[46816:46848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1042: Hash(0x3cb4ea15509029f207c0c81a5095d01454df6f38805196ff3a502d63aaae889)", + "P->V[46848:46880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1051: Hash(0x6e045b30267d5f9c788a55e687e8144519fa3382fb6a607aa98c49f2dc8aeb6)", + "P->V[46880:46912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1116: Hash(0x3e2afc17cd5cacdd03ca76343d639f189fc41fa0e5ebe0bbb5408584f9f6975)", + "P->V[46912:46944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1409: Hash(0x4c793ec86029547d7d94f304a18d2be27cd162067d04d4318287e1ed56f9850)", + "P->V[46944:46976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1428: Hash(0x75a93cd05e6471f849db9876b4aff25ac1c0ac5620d921163db7b5d5113ddd8)", + "P->V[46976:47008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1440: Hash(0x36dae88c687c5097048d3dd533b873c9d039c09ca7c5ade74317edfc4fd2b64)", + "P->V[47008:47040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1511: Hash(0x256356c27cd479a789e227c5a945e6b001e9cc9160abb1869f539fd6d24b137)", + "P->V[47040:47072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1577: Hash(0x4fcb08252d98a8a235ef9e15d68ed825aaf4f1c906d8ddeac3b88107a8df14c)", + "P->V[47072:47104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1591: Hash(0x56372c8a6d477456b9490da576dcef45b4a9148ceaad462777476e1f109b374)", + "P->V[47104:47136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1593: Hash(0x60baa99c9f259d83bdd7407c3e86fa1b254d1fb5ae551648e7c4dcf38e55e4e)", + "P->V[47136:47168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1597: Hash(0x3536bd40e4b009f9dd856986c1e61307a794b9543d5ad00f335d4066db9491d)", + "P->V[47168:47200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1600: Hash(0x7e584a8a15d2f6aeceebd4dda691264769523e42b9c35fa8371e11454c93fa4)", + "P->V[47200:47232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1616: Hash(0x6950e9ec80f683e825f7a1aa63290da9eb48a32384df5b2d8a1810c324575b2)", + "P->V[47232:47264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1646: Hash(0x5c913c2127d288db3e99d75fb79973c8e6239f60f79b58c29e92b934c2abf8)", + "P->V[47264:47296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1663: Hash(0x63d70f4bd0a38f89ea90ac3e3585bd69135a64dad02d3cc85186145184d4f18)", + "P->V[47296:47328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1683: Hash(0x6c0ae43c9e3709e70dbf5affe8bf8d0310fac9edff7dc25e9a92c57d784453f)", + "P->V[47328:47360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1691: Hash(0x1d5ab8842cac10ada9586110d0166cb13e9ab7f892ae6f80e3ef5792d8aaab9)", + "P->V[47360:47392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1724: Hash(0x45b63981652a25058d96fabdee969923fb75b1f15e7466877d31c929720f603)", + "P->V[47392:47424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1835: Hash(0x48f732750c3ef60e7b1c7b7eb0f3f23679b6d03a48b42c8453dc0187f6f70ff)", + "P->V[47424:47456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1836: Hash(0x263aeb5f48795ffe08c1c8bc69185c54d52c21c4913509b7bae2901565a6dc4)", + "P->V[47456:47488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1845: Hash(0x5dd1635b7bed7f99ff96a8e4ba2d6945ea592b2addcc29060e9645c8386cd91)", + "P->V[47488:47520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1853: Hash(0x35dd1026059ed8563d2d81596e37ef34a640e001bbade514d03157a4083f644)", + "P->V[47520:47552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1871: Hash(0x75f1da8da156e7210224428b8fb7a4612a8b8da69d4283ce0cf43b3106a449a)", + "P->V[47552:47584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1891: Hash(0x43a082a710f75eb0302ccf2b2e96bc9a93858f26043491bd5e6ba96f9e32fd1)", + "P->V[47584:47616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1897: Hash(0x68811a83bdb0df59f36bed08448890f7aed9d2c7a452adf842659e7b5d4ca06)", + "P->V[47616:47648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1919: Hash(0x79ee3a8968c533b6bcbc43338fdb94a2bd8d433f79c3946bf73f54cf20234b8)", + "P->V[47648:47680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1972: Hash(0xb64532ae6ed02f5f862430777f495d35ba26871648d9628bd5fa712080315b)", + "P->V[47680:47712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1984: Hash(0x27b77a280097fc242966804a130fd5fd6e26a5c74379826a1c78ccf4a247707)", + "P->V[47712:47744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1999: Hash(0x687a67e759360da59a96fb0295a2dd742079263b9dbaa4aebe6e27ae907a369)", + "P->V[47744:47776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2041: Hash(0x320f7331e637f1c88e1a44fbe01e1e31b98f7322608f3e9c8f03a766da3aeb)", + "P->V[47776:47808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 520: Hash(0x310b64a7b31f5aa066916a414a54fdaf88548fb721157629b256eb94b1d28c1)", + "P->V[47808:47840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 524: Hash(0x31bf32f0594d22757526e7cdec84a79a9a439bd59ac080041ecd0dc2d9e992a)", + "P->V[47840:47872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 559: Hash(0x50179bc45e8379a6197c658682728e93928a1a52a07569b93771932c67869e2)", + "P->V[47872:47904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 621: Hash(0x32629bb08940af2c8dd4f393ff4b422149fb5b3da099e7a129152fba3483ce6)", + "P->V[47904:47936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 705: Hash(0x46fabe7a419a6dad86663e99fd149f8cb6aab76c77cc05753c2796ef904a524)", + "P->V[47936:47968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 715: Hash(0x7c85015efbeadc0d59e40faddf2043498a36722cf5c14b2d01925d00c33edf0)", + "P->V[47968:48000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 721: Hash(0x379e41eb85d1a69f2115853b736a40686b52129e26c606bec90c6e63ca47199)", + "P->V[48000:48032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 754: Hash(0x550efdbe4e188ba1750b37ca5b9df999f212432b05049b891a5921dc8b8283d)", + "P->V[48032:48064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 789: Hash(0x5b939aa87bc3eb08a03a2309a879a463e7be5e02c2ddda3b29a1a29d9d37d38)", + "P->V[48064:48096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 794: Hash(0x4d58bf4f09694d81a183a15e0d509c3952b783874f0c880c2ce5336b543e52b)", + "P->V[48096:48128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 797: Hash(0x7230a49aefb5ae548127eace4c1c64a66b286da625dc0d643efe36d0c895d3d)", + "P->V[48128:48160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 799: Hash(0x45306f76a9adab0454786518fe9eaa5f1b52eef8c4edd6076d90fe028135707)", + "P->V[48160:48192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 801: Hash(0x22bb44938bc76cce7c4fbbbd3051d5edf7dc2e2d716328b12c6a9291c5f7137)", + "P->V[48192:48224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 809: Hash(0x1bd4e847da487305a7cb0cb2884d2a166de008ece5d307ad54cad13adeda0db)", + "P->V[48224:48256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 822: Hash(0xaf6ce0b51af33077057b7ac8cf87c1354fbc75dd8642e6d45a51141bdfe13)", + "P->V[48256:48288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 830: Hash(0x3b984f753c7c8aa7ee4f25001338cab34daf69b319601a5deedae0fed7b84e1)", + "P->V[48288:48320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 840: Hash(0x5e6b4d037fc7841379174031a99da9b40197ac6d3311eb26bd7c2b0cf38ac14)", + "P->V[48320:48352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 844: Hash(0x1d2b51ce745bea724415ddc7f2848980b75fbf78807427f9a15337f0a8c9f72)", + "P->V[48352:48384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 863: Hash(0x393302efa4234562c64620bb7141a06b0efce322331ac44bcd8e44fd933d1e0)", + "P->V[48384:48416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 916: Hash(0x1f07f4a7d8758e08900f641d2ba3a301b20c949101a80a863a1a159b71ed1ec)", + "P->V[48416:48448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 919: Hash(0x1d88867324c0ce69a0352ac99364ae025ab51f31c224f28a892e01c0b51893f)", + "P->V[48448:48480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 923: Hash(0x49b2cafd100ff4a42bee56c0604ed39a6fb9568cb2e638f1091d8ffd49df5e7)", + "P->V[48480:48512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 927: Hash(0x647f957c02bd0e288b4f0f77d2194331cf9b4f95c6a829bede8303f01b44faa)", + "P->V[48512:48544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 934: Hash(0x17821ebb66195df1d85d1da9fa79246bb6f69744d89d9e27a974c55d4e45ec4)", + "P->V[48544:48576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 944: Hash(0x7ab3624c76e3bbc44e213b558fff6b98fb48bee9549e2014c23bb6371b12e8d)", + "P->V[48576:48608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 949: Hash(0x668611846086ee2a228f7e017b1bb76fbc6fc438368702e54f0cb7ead990ec6)", + "P->V[48608:48640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 958: Hash(0x7ea65ffb9461522a202695ae930b87ac1102d99ae4503ce2996b19bccfd53ae)", + "P->V[48640:48672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 987: Hash(0x6c74a200007177923218b039a8d5387b7ebe8f9ceb37365d0a5b03b8ca18e64)", + "P->V[48672:48704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 993: Hash(0x21449b863f2fb2560b9c9373fabb9157e818f055308fa236d3ccb71a4e6ef44)", + "P->V[48704:48736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 998: Hash(0x720c66f624486747a0919ed35e44a7688dfd6aee8647bc1c65d84a723605a9c)", + "P->V[48736:48768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1021: Hash(0x7077d89a1a9942f958e51abca2d2ef0d459535fa49f4a458529deb8c64ebdb0)", + "P->V[48768:48800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 261: Hash(0x73fe5b865b3ea9addab2e0346514eefa7690fd27deb63ab5261e0d86ab0fe5c)", + "P->V[48800:48832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 263: Hash(0x1ed1af6a19f996a8d1bb09e27f0b88079004d3516dd219ab4277ca46987d06b)", + "P->V[48832:48864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 278: Hash(0x4082031b4cc96fa0afce5133ea29c218e9c0c5eb29fbfca3cffb102adfb86f9)", + "P->V[48864:48896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 311: Hash(0x7ddab34779fb47cad4b5503926b8cfd966488949d5986b9de601cf9a05c2d86)", + "P->V[48896:48928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 353: Hash(0x1f641b3fb124321bba2a68953d7c4cc0fb4ce57be0bc7168252367d1c02de4a)", + "P->V[48928:48960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 356: Hash(0x276d1faf080fd94ddfc6fc438fdedf505b644308dc89ffbc94fcab0708e2c51)", + "P->V[48960:48992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 361: Hash(0x7eb58ddde747cfc0b1de736cc46feedd0f075ed16ae1f7c902e901ef2896bf2)", + "P->V[48992:49024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 376: Hash(0x3705e5cdbee377ab8e2a9eb72b2c62513a163dc2d163d7d18292907b636967b)", + "P->V[49024:49056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 395: Hash(0x10d9570c947517eff1cb322b607e89cd6e647e71364188ab62ab424a288721e)", + "P->V[49056:49088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 396: Hash(0x127612c9a8e06f3b77fead240ab6f99bbf39ae202339390045243f0cafba7f8)", + "P->V[49088:49120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 401: Hash(0x24fffd96f6f3347ca819fd66af2b467c2775c82843938982d75e0c1d7794e3c)", + "P->V[49120:49152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 405: Hash(0x62b41fe7f5b5391cc7076d55e3aa57391464d57b5d698868b6498e3f1e5a1fd)", + "P->V[49152:49184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 410: Hash(0x61d29167d741b3cc4187671f9b9fd3cacfdc22d9ca23d172e1957b40a496848)", + "P->V[49184:49216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 414: Hash(0x750fd286196c95265550994c518e57a2f89abe32212191d883bcdb6e5538653)", + "P->V[49216:49248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 421: Hash(0x1d4d005ed8ec1a098f5232bcbb3842ba8cdf07e19f7eb52667f705f29c4b80b)", + "P->V[49248:49280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 423: Hash(0xad58d78cf70f9bf3b78ce378a8c5b19d7e473a1360c47bffe809d885774863)", + "P->V[49280:49312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 430: Hash(0x679e3be0470a2e5d9a07121db9ec0c30f8f10f8d6ec76cf1d1807629e33cbdd)", + "P->V[49312:49344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 460: Hash(0x31b9c3fd5901aa3dda0e55e44eb873aeffa709b672d1cdf1f173c2599a3635b)", + "P->V[49344:49376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 462: Hash(0xbbb95a1dd8b37c831c77500c398dd0e3e457ce068cdae12893e3b462b11a79)", + "P->V[49376:49408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 466: Hash(0x59bf3b6718f96ef1ec03c6a485031e37ea0a4850a6df21d856ce87f1064e409)", + "P->V[49408:49440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 473: Hash(0x76662081460cb2f78c34c94fc70f182749c5b183833627a73f51b54c1dcb89)", + "P->V[49440:49472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 475: Hash(0x7932e8b0d68c05ce5c90109252f42c0cf3c45ef638e2e071b239431ab7113eb)", + "P->V[49472:49504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 478: Hash(0x4522cc7ed4ca1200e8db782d2e1a2d60a2dc3f91f3093eca522c77dd38a46d6)", + "P->V[49504:49536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 492: Hash(0x7ef020e13e727290f2323549b4756bc05883cb106cf0ef8e2f43dce975a3b3c)", + "P->V[49536:49568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 497: Hash(0x4925cfa34f7a4a62512b992011bc9c4b465e3be585f900bc14d7d91416e8e24)", + "P->V[49568:49600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 498: Hash(0x46f439e18424dea96acc832e9d1fc121909a461daabc499bd23e212c3391977)", + "P->V[49600:49632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 511: Hash(0x12248fd680ebbe1a9d0b5f602aa01c9f83cc6ced7e893482ace83eaa84b619f)", + "P->V[49632:49664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 138: Hash(0x5cf16ba629afde64b6ca866a8b113be33b624a6fa7c717b8dc1400499fbd037)", + "P->V[49664:49696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 154: Hash(0xebd16bdf9357ab46ff32455813f54f1d9d3cf9cb448b9b1c437fe71088e2ba)", + "P->V[49696:49728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 177: Hash(0x249e87f1dd3b3e3f18b415c25833e93366aa7810ba734fb5a43a8c2ea749376)", + "P->V[49728:49760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 179: Hash(0x1b960332153ccef897facadc988f91a45dabbd38a63375e9ee3c085073de6ab)", + "P->V[49760:49792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 181: Hash(0x8c85b0a6f91333933e5198d8835e54e6f6fc31bcde2b57e749cde80a60b2d)", + "P->V[49792:49824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 189: Hash(0x32f9c13ff30a96a13c475d3d100fe06394fa3cbae58dc483693f1b2b6e50814)", + "P->V[49824:49856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 196: Hash(0x2a6221739edaa50e2bcff73996c8f6f661e4bd3d51f73c6980d97fa633da48d)", + "P->V[49856:49888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 201: Hash(0x33a8b0f1afd3285b99850c68ef362aaa980bcba8ef3231b5a519bfe668afdc3)", + "P->V[49888:49920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 203: Hash(0x70be0309d7cc03e2880e6ecadfe488d97b74a52462aa51c7a102e30176af3b6)", + "P->V[49920:49952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 204: Hash(0x503e8852f6366aa8683990a0d1353e1385e3ebfc03dc40e6f69e2751989e265)", + "P->V[49952:49984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 206: Hash(0x6b3e3b0f82c987358f3254e78fbdb817af76f8faca9565f6284cc3243f9ff47)", + "P->V[49984:50016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 214: Hash(0x191457d63ab62b754a09a0c554b66bc29f7aee215bd095ade18077eaa0a038d)", + "P->V[50016:50048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 228: Hash(0x707ec22c3651486c4c6a851e12adb55ad8502d3155be8a5ca51f096ab149e61)", + "P->V[50048:50080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 232: Hash(0x233c8d8d40ae60c5b08d0df7106776cea1e73e09bd60e194f44765fd9eb9c65)", + "P->V[50080:50112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 238: Hash(0x32e82bbfe7fb032306a78996f90fcafbf7ce1353d94fd36c9adf8a654e6c2b3)", + "P->V[50112:50144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 247: Hash(0x4ff148861d56b411619e7cd23da8cd2bbb1a2dcea2ec83eb053adffff307348)", + "P->V[50144:50176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 254: Hash(0x5a7d1b8120719dadb0ce019e35c65dedf7c7d86654f5eb7dea43904ba64a952)", + "P->V[50176:50208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 64: Hash(0x6720d0ad83f954ef03d759567cdb53aab359b2cc10965e55c37b6fb605f98a5)", + "P->V[50208:50240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 68: Hash(0x1a9c7596db165c21e472cfc2d12a96207f1aaf6027ef3f1832368e99e42e157)", + "P->V[50240:50272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 76: Hash(0x106a86bfa3fcd8573cd1934ae5815d4bbfc8b809a8b4631af656f95919c5b5)", + "P->V[50272:50304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 91: Hash(0x416007f73be938d104de2583893b30dbba563064e9d59aa257ec89b5f016b82)", + "P->V[50304:50336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 95: Hash(0x350cf74c7af89121ad07cf4051e7d65357c7f3759384b549cb9b21f19fefdea)", + "P->V[50336:50368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 104: Hash(0x64668582e864758da12ecab8eb383d2969e6afcbc83fd93741e81338786f3a0)", + "P->V[50368:50400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 106: Hash(0xc748cbb7d337a2ec72c1859c525cbba68a933da590b8243e7b5958342910ef)", + "P->V[50400:50432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 117: Hash(0x4435c35b9f20eed89e1aecb424c676077ae34b8786945b9289478b4b3771e16)", + "P->V[50432:50464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 122: Hash(0x3cdc99b0014a3a2b771eeac26d25f34ba2fae3b17f54c4906cf96305df5a6c)", + "P->V[50464:50496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 125: Hash(0x1200918b3739fbb6bed651b2541cf252ffe7c25e72b8d99a29dd59224aa0005)", + "P->V[50496:50528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 126: Hash(0xa0314f468a45390227d73aef77d742be063b2f53873c20c9a1cbc68b10f0a7)", + "P->V[50528:50560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33: Hash(0x64e4d5461432b7a1b72af26944e9b80a6c7809e29012265d7619b4a6250fdf2)", + "P->V[50560:50592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 35: Hash(0x16ee15765d7fdc29fcd5cafc886480e871c44c14921063dc67aade80c73fa93)", + "P->V[50592:50624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 39: Hash(0xc42a641a18c3c3e2402804d84a426d40b3ba768b7122cf1f434479cce9f2a3)", + "P->V[50624:50656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 46: Hash(0x34a03137abb192553a85b31d61668e3fefdd3acfec5d4b6646e075c5e677940)", + "P->V[50656:50688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 48: Hash(0x3a96e0459831ff5cf2fa5ebed10e2139fd1ea58fc7ed86593a794239d4b863c)", + "P->V[50688:50720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56: Hash(0x686730314c897db79dfdf05b50fadfb55a4a27f0a588c223586fcd79f21bd9c)", + "P->V[50720:50752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60: Hash(0x41d92301577d3aa797b7696b50bbb88b3a0e5565194ba2a6a623489da90a7a6)", + "P->V[50752:50784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 18: Hash(0x6ff2f7d2eb303c356e36bfc58e782ab69dfff96c988dab893d707dd6d4d40a6)", + "P->V[50784:50816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27: Hash(0x6c11dd847dbeafd71779b6d4c7eb4bbf0546c204308e4efca1b1bcaad8f87eb)", + "P->V[50816:50848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 10: Hash(0x2c696104d6c80bad23b0f0aecb410059e557b8730ccdb179c4e7458038c370c)", + "P->V[50848:50880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9986, Column 0: Field Element(0x4f5fba84720a0d8d13a4fd50fa35f8eba63a4bf71b230fb842cfade8caf9512)", + "P->V[50880:50912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9986, Column 1: Field Element(0x242465339ec0ac1aed097191d9ba0ea0120be64ec6d70d2cf0debc486c4d94e)", + "P->V[50912:50944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 9986, Column 2: Field Element(0x606a0950f4529de86ca9fdbcb08b3175a30667842b4e97dcd4139a5c9f22fd6)", + "P->V[50944:50976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13694, Column 0: Field Element(0x73a6d4bbf30872ff1bae681fc3d96b78bd265779ae541c629114eeeadaf360f)", + "P->V[50976:51008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13694, Column 1: Field Element(0x4beeb73a869c03ea95af99ae987afbd1677063fbd74db880aba8a24968cde82)", + "P->V[51008:51040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 13694, Column 2: Field Element(0x6deae641ac9c49b29f7e5d80415ee9f0db27294c7b3ec9150b482883396a036)", + "P->V[51040:51072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 47788, Column 0: Field Element(0x20e03e0b9c6f4a789154f27d9c5cc80e029d503090e1f568528ba791548b798)", + "P->V[51072:51104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 47788, Column 1: Field Element(0x35ca2aa3f6d1aba142eea1250318d70f4fec700418c25fee73551f9bf3e2aac)", + "P->V[51104:51136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 47788, Column 2: Field Element(0x480b7e036e446067e5619575107fac075d2a5d68c3159564d307a95691f57a1)", + "P->V[51136:51168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 111062, Column 0: Field Element(0x3b1413e3ca80c1c326f4b2b9ed41c802dde5c52e0f45188778d99faca19bc0f)", + "P->V[51168:51200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 111062, Column 1: Field Element(0x76c8b9d6caf7fb74a8cc1f973ef94338aded89b3faedd00f38a474a885dd892)", + "P->V[51200:51232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 111062, Column 2: Field Element(0x491b31f9bde8368f5d0868ed2a3032ad74ab9d392b060c31c127f56ba0bbcb)", + "P->V[51232:51264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 111287, Column 0: Field Element(0x62d3ac67f13b75ae5d80476a9a6ff26b434dc79ddae3102ed1220a44f72c9be)", + "P->V[51264:51296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 111287, Column 1: Field Element(0x78a61266599210871935b9b37cda443131b85e1d28b191caf99efa6f1b11bf1)", + "P->V[51296:51328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 111287, Column 2: Field Element(0x403947e640508fc3494ee7ccaa2f5aeb95b9bdea28014c6ff6ff4eb2ea3ae30)", + "P->V[51328:51360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 196619, Column 0: Field Element(0x566f9b406f7ba4f792613a0bd3a503909d21a29918c28fbcf2c1ee73880965d)", + "P->V[51360:51392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 196619, Column 1: Field Element(0x291aa63c80255dfc8708f980a2e40810c94b3060ecc51e1af6d04aa035276cf)", + "P->V[51392:51424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 196619, Column 2: Field Element(0x7b1a5e85b8953a05e8860c0966bd90cb3646a0902ff65abfc8c3e152e7fe3a6)", + "P->V[51424:51456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 207747, Column 0: Field Element(0x2f9ac72ad41cd1bd2bccfd36b4c68b1e74a8148fd70503143b98e7b8f1f899b)", + "P->V[51456:51488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 207747, Column 1: Field Element(0x7a3d97f52a5921b0520d7ae03e7bb4fb693eacae8f3f3f89978cc558b43b354)", + "P->V[51488:51520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 207747, Column 2: Field Element(0x732358bc2f718a7495b811d3a094b32cae0199eb25f7b0c99253033761458fc)", + "P->V[51520:51552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 213614, Column 0: Field Element(0x2516f09f45247d6517140ee3c6539a516b4a7624dfeb1af195b0a5d97fdf240)", + "P->V[51552:51584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 213614, Column 1: Field Element(0x383a51aac61625f936f6b6ecb0211fa72c2a51369adce40badbc2177d9ce1b1)", + "P->V[51584:51616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 213614, Column 2: Field Element(0x63456ca9bae69c537c97dd2544f59e85bb680defe3faa9411ddc99992d61498)", + "P->V[51616:51648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 249097, Column 0: Field Element(0x6566b0d635f96f3af997a3f56563874eac5e1749ecaa884a884e83eaaaef1b9)", + "P->V[51648:51680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 249097, Column 1: Field Element(0x1cd922802bf8bcbefce0623c4cfc1aa51a269c9383b5acae1d9b120467fd9df)", + "P->V[51680:51712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 249097, Column 2: Field Element(0x5dcda6a1d31c4d9d7a7e7aa19a517b038b3043f7c18eed5576b07a8c4eb26db)", + "P->V[51712:51744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 282737, Column 0: Field Element(0x331bd1c37dc10b42ca920264d567c38526cdb8c8db23d6aa9bbd866863fe29d)", + "P->V[51744:51776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 282737, Column 1: Field Element(0x5fff03eb4d026e4ea9baac14ef2f3a7d8c64083e8dd17345898b6c67df73dc5)", + "P->V[51776:51808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 282737, Column 2: Field Element(0x646daf738053a4374917d967a44c6430281061df3cd9111b1afcf4909aa917e)", + "P->V[51808:51840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 289965, Column 0: Field Element(0x7cd7856c440012513b15a839e66f123ea3ea401064303604bff0e8920abc3f8)", + "P->V[51840:51872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 289965, Column 1: Field Element(0x54101ff19de65b23f15e607c46069b23d5e16a2c4135a51ca098a87ef2bdcb0)", + "P->V[51872:51904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 289965, Column 2: Field Element(0x4d415653f671f406babca30ed170dee75161a93db20251d97b374a528253c06)", + "P->V[51904:51936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 291205, Column 0: Field Element(0x6d28981cc32cf13fea10d2ecf676ed9046cd8abd465e367e1f3fb8bf22050bc)", + "P->V[51936:51968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 291205, Column 1: Field Element(0x2b40a1b260f3e7720dce327ab50d1cc3873e8dbc5ec4a2c6f27491665b5a09b)", + "P->V[51968:52000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 291205, Column 2: Field Element(0x58834f65978ebe279e057f7a8c2882f19055f3bcd9215b698ed13c0adf4b486)", + "P->V[52000:52032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 292904, Column 0: Field Element(0x7f08f524d182837baf5e8d043df77d75215dd3aad9269efdcaac3e32ce41ea0)", + "P->V[52032:52064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 292904, Column 1: Field Element(0x777e1080fa1f8ec6113927f07341c56126e3e9615ec31ade181636bc179b9ba)", + "P->V[52064:52096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 292904, Column 2: Field Element(0x43e596c2de159e4dfe08dd0ef726d756b249170e34c5ec824ab34cab5c48e71)", + "P->V[52096:52128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 295598, Column 0: Field Element(0x6ee8a077ddbfce167c74cc9eed864391b144208c1600309f33238e9a100470)", + "P->V[52128:52160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 295598, Column 1: Field Element(0x447273fd66f7d618c203b57e5eb39db454b8075f4fbb96ac289c968fa5e065a)", + "P->V[52160:52192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 295598, Column 2: Field Element(0x11c653c48d248c93f1d38a23c495c7b715b35656fa254358ed1da8e1f38e9f6)", + "P->V[52192:52224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 303856, Column 0: Field Element(0x70fc6b6e8f1bd4bff91c3bb31cde7c123e26d3e1574a37e86c508bd9fa7a971)", + "P->V[52224:52256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 303856, Column 1: Field Element(0x683e612dca38dde33bfcfd2bef4cf67cc410ed0492089cf9c328b6448142788)", + "P->V[52256:52288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 303856, Column 2: Field Element(0x441870e2dc8f4c1ef48674499a57f6df71e045e862c5ebbfbf95a68f763a3be)", + "P->V[52288:52320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 319248, Column 0: Field Element(0x481a1e57201d6bacfcb8b278e5bd549865d5aa58d947499a90aff8ee02e8b2b)", + "P->V[52320:52352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 319248, Column 1: Field Element(0x6ed4052d086e1164311cd35f8727a313e58ed23559dd09455db5a81e7753d6b)", + "P->V[52352:52384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 319248, Column 2: Field Element(0x7eb35a8bafaaad5e0c2e948bd084499388a623f7c0fece7c15e3128cb5c57fc)", + "P->V[52384:52416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 327009, Column 0: Field Element(0xc32accff781b9f6984f380fb4ba3e9c10b4fd4667537ab36acbae28d68db0b)", + "P->V[52416:52448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 327009, Column 1: Field Element(0xa0db9ced367b3496754624755f639521d4f18970cb35fac7da743f9963bc3a)", + "P->V[52448:52480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 327009, Column 2: Field Element(0xfcb7bfd0fd25b865e9d6d05c8601ce7cfae0916ee5f5b3651c5a039d910edb)", + "P->V[52480:52512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 337022, Column 0: Field Element(0x20a1708f7df09404bc1ce1241b6cac7ebf20d20dd302e035c7384072e085f05)", + "P->V[52512:52544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 337022, Column 1: Field Element(0x5c79f34d3ce2452f526913b529a7b113c6c8e6b6413d80f86dbff68688555c2)", + "P->V[52544:52576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 337022, Column 2: Field Element(0x6116307907a3290bf489acb6213a11fe3400418667c050b10f772f171ac59d6)", + "P->V[52576:52608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 341468, Column 0: Field Element(0x6a73f66da5c3793f4ac669b53fc8129e97df788a0b7f0643faa0977c8a0c050)", + "P->V[52608:52640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 341468, Column 1: Field Element(0x187ee55bdfe4b1c3f4da6eeb0560502a45afb7a2de1ae36f9d911e709ed6e)", + "P->V[52640:52672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 341468, Column 2: Field Element(0x62e09e89244d936aa40d794c2b05bf421002874cb6c721d9e390b8d1203340b)", + "P->V[52672:52704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 358972, Column 0: Field Element(0x28365e6345ef31b14f4884a93ef89467fdfefad50aee2565c5f20a75bf74468)", + "P->V[52704:52736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 358972, Column 1: Field Element(0x3a80fd905272030aec096df3cf23136192a56436cfb0d44a791ceffaec06d74)", + "P->V[52736:52768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 358972, Column 2: Field Element(0x3d1710ea48817725382fbc0c9033e19fa981ebfb5a49f79dcdc89e195c1e24)", + "P->V[52768:52800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 414746, Column 0: Field Element(0x455f2e0a8c9a8cb6504106074106b005981a16c841778cb57ceae9ad2c28d24)", + "P->V[52800:52832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 414746, Column 1: Field Element(0x69ed3be065e2749f6e894684d4e9f066ecd9cab89204aa860d1c937d9ae26ac)", + "P->V[52832:52864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 414746, Column 2: Field Element(0x376b8fa4bd1683499d8fd3492f047df2f4539ef2573d0d214b343d239be5f69)", + "P->V[52864:52896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 416469, Column 0: Field Element(0x15c64fe5b90b276120d2ac8f7736aa775994a64d4016b69e542aae69715009f)", + "P->V[52896:52928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 416469, Column 1: Field Element(0x71dce391396ba6b3d431726e358485ff2c1dc1d27e3c27f165d9021a5e7256e)", + "P->V[52928:52960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 416469, Column 2: Field Element(0x39272f643fe6216c4c68b47db8cfa9e92836edd449d13b45cd9a40016034da7)", + "P->V[52960:52992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 420315, Column 0: Field Element(0x59db73e36fc2b9898d65d3c25be08bdfaf6414b72aa25f244d2d6e657c776c9)", + "P->V[52992:53024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 420315, Column 1: Field Element(0x3321e9a405ad125bb4769c667649d4706b5eac86a4e022378b340fa25cdf3ce)", + "P->V[53024:53056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 420315, Column 2: Field Element(0x5c2e5895ffe9ef2fa6c44c98c5f0d987b2684954f27a9243de8b8a4b171cf60)", + "P->V[53056:53088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 424138, Column 0: Field Element(0x387f4d745ea49367398579735506a1151da7ef9da5011cee95d8175a721fbac)", + "P->V[53088:53120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 424138, Column 1: Field Element(0x708244d48ec6ed91c90a61a8ee4bef3d7bac532632dd8677dec9a21f7e74508)", + "P->V[53120:53152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 424138, Column 2: Field Element(0x480b16ef3c293eba676ba5ed4dd3d8f4493d94a8a08cabcfeb92298515c2f26)", + "P->V[53152:53184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 433154, Column 0: Field Element(0x56c71f64b24649c90c444e5d1f05176473f1153eb88e269185716357b3a5beb)", + "P->V[53184:53216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 433154, Column 1: Field Element(0x2052634e34f0d5aeab25a088e4602927983fb0ec5d890d867ed3019a6f8243c)", + "P->V[53216:53248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 433154, Column 2: Field Element(0x595e124014de47a1b346290bb281b43be98bcdf165b3faf217a0f9add6b4905)", + "P->V[53248:53280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 443663, Column 0: Field Element(0x29f5f51d2765beb7aa79f05d7663dd6bd58f64ba865497fb1ca7b7bfb99cc3c)", + "P->V[53280:53312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 443663, Column 1: Field Element(0x40c6b04128936652e7edb28f160aad9caf23a6309f3716b618fb12344bbbaa)", + "P->V[53312:53344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 443663, Column 2: Field Element(0x359edb65bbc0a79b06e60ff0dab9aa94082e38239078ff3bba045654c533540)", + "P->V[53344:53376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 446875, Column 0: Field Element(0x1b1d69bbe13724b753ca475f3b2a1d7580d0433e34f6723616c2c8e59be815b)", + "P->V[53376:53408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 446875, Column 1: Field Element(0x74aa3e56f5d156e0222133cc0bea6264070d58ba1402d4ae7721be7c4002419)", + "P->V[53408:53440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 446875, Column 2: Field Element(0x1e63713a5a2444c1023a6cfc3559a343df663ceac3e4e018cc28df0c8ef32c)", + "P->V[53440:53472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 458224, Column 0: Field Element(0x6beb92835b57388d9ef0c27b7017f5d0cd4bac944fe50d5acfd903beca491df)", + "P->V[53472:53504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 458224, Column 1: Field Element(0x255cf4b4d3781103a72215002a62e9032f32208f4151ab0080aa853ca077917)", + "P->V[53504:53536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 458224, Column 2: Field Element(0x7964637ba8b1389efafc93a586666ee66b9649a5bf8b1088a7292c8c663364e)", + "P->V[53536:53568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 486108, Column 0: Field Element(0x58fb5f8433c084aedd7d8aafbf8437b1c1f8b573b3ac1e36f86acb8c168ebce)", + "P->V[53568:53600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 486108, Column 1: Field Element(0x29d9fd096fb9ac51a047acada80b05744bb4b1e7e5ca8a6b93e074bc2f29ca8)", + "P->V[53600:53632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 486108, Column 2: Field Element(0x1674763c46130a590b4c2cb290f396ae7c32ac4bce8be120cb9c0aba2ab7875)", + "P->V[53632:53664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 492471, Column 0: Field Element(0x1bdd9c4c2f66c13c3fea9fedae502529daf42ebb6d0e92bc11117c498155f2c)", + "P->V[53664:53696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 492471, Column 1: Field Element(0x3608d6fc0059cb8f846f1af0421f2ab96621726b83230bc4265a77c96e4c338)", + "P->V[53696:53728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 492471, Column 2: Field Element(0x8d9e1a9ccb2f8a37b601f4895fd1d63e3fc6d72a20b860de8a0835f9f04b31)", + "P->V[53728:53760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 498960, Column 0: Field Element(0x26d0f1ec4a547aed8b8c705ae8eebab4dfaf40f21eca87e1816fece0c21bd12)", + "P->V[53760:53792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 498960, Column 1: Field Element(0xed73b0f47bd08f48f2d29549b92a5ebb0e045087bf248c2b37d4c8cb4be0ae)", + "P->V[53792:53824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 498960, Column 2: Field Element(0xd6992fd4959002ae79e5667b5e156f820e83f6d46ff1e8c860a4582e9bdf99)", + "P->V[53824:53856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 520375, Column 0: Field Element(0x238ba3b1ff69de2764cd6da16c8cba288ea1824685abebe15ac66de63b2763c)", + "P->V[53856:53888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 520375, Column 1: Field Element(0x3def49b7e3331c39ac5be41062ccea7d4990157844cc6b34cf7a68772f8635f)", + "P->V[53888:53920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 520375, Column 2: Field Element(0x18bd0470c22b20abcd99214ff9aba264360a736fb7d6299aa054dc4aff7385d)", + "P->V[53920:53952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 534275: Hash(0x4cf1b4347515d58988de9d76b1f6394b90c46ad2a714743bb8f32ed0208c663)", + "P->V[53952:53984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 537983: Hash(0x7d966a397b3cb432769796aaac6e6a5a7e1fd0e436bb7dd9de521422ab54490)", + "P->V[53984:54016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 572077: Hash(0x2e2759e419affe4d814c7909c1d33dfe9ed9a7b74e3e573b2e6f953d1b7fcc5)", + "P->V[54016:54048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 635351: Hash(0x41f4609d947b061f1db6faad40b3dee993624c34500bf5a19af47458af2e195)", + "P->V[54048:54080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 635574: Hash(0x65a7ae8a61906af14781806ed5717339317721156759268f2fc3cdf21f61c85)", + "P->V[54080:54112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 720906: Hash(0x6700dcc77b809a79e50e33a0c7b4de8a1afe20c10198f04e86a034b27989d0d)", + "P->V[54112:54144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 732034: Hash(0x7707b7bbf1ae55a9d03ed2ab2a631ef64c9214f7ecff30a718cc803d9ff80d)", + "P->V[54144:54176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 737903: Hash(0x2295af8c985ae1b5c0b2d058d6099980fa828c01316b4dc84671928bed63d63)", + "P->V[54176:54208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 773384: Hash(0x87b7c4dd13ceb0e72ce7445355a96e927de847d12a598de2f8df8fbcd01f9c)", + "P->V[54208:54240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 807024: Hash(0x4e00c80dbdd4bed7d382e55b64b75235d5d11688d73405f44da6b637e4c1ee1)", + "P->V[54240:54272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 814252: Hash(0x6aca61ddd9149c2bfafb38bb7636829ab64f12c4b40daccab66f0aa518ae929)", + "P->V[54272:54304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 815492: Hash(0x1e1136cc5af4a6a82d86a6f964e350760bed8f4110db8cce28167f27a67db4d)", + "P->V[54304:54336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 817193: Hash(0x1c9d1c8882759b78331289a53254aeacff4710b83fcfe061997c0d696060e84)", + "P->V[54336:54368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 819887: Hash(0x642fe6367cdca4e85f15e2a02b0098222359d8379b4bd650ee1dd624bdd83c0)", + "P->V[54368:54400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 828145: Hash(0x3594de22c0b182bb2e524636af444010a9f79b22d52efe89101abd87c1e5cea)", + "P->V[54400:54432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 843537: Hash(0x7d4d24f5db597b9b9490bf84683efb763385dcd22687fa1cb88827508461bc9)", + "P->V[54432:54464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 851296: Hash(0xd43165bddaf48174401dc477666c73c2cbfea807d42ed4dce3cefb86eaf4ba)", + "P->V[54464:54496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 861311: Hash(0xc4c7d0c8596d10d22a3cc8da13452060cc6bb4680754f5d81a61dea053fcd5)", + "P->V[54496:54528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 865757: Hash(0xa0163eab9daf99f4dc3ded311ca07b4837d58c7fdeddb3a09ce30485f0cfdf)", + "P->V[54528:54560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 883261: Hash(0x6608117d6fd071a307006d27824081328626256f67293978693fe1ed84dd12b)", + "P->V[54560:54592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 939035: Hash(0x34936ad56b68a4c99779005cbafb9da08302ebe8d4a44f98706cca5a26e2fd1)", + "P->V[54592:54624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 940756: Hash(0x205dc5beaf4f6c9ade43f55203e4eccca55656b234acd299a41f5ea8842242b)", + "P->V[54624:54656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 944602: Hash(0x6a6e263d7cb5f81b952fd3f1ecb95d4ef946f5bf4aab8c29e0b4d34596cab4c)", + "P->V[54656:54688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 948427: Hash(0x6ffa3a633ae3fb56bacb5c70ad1ff0dc3f02070e84a4a01984def747d702d36)", + "P->V[54688:54720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 957443: Hash(0x2aae0368b651eea2a2d67b7093252d6e701c601b7f564f28ab425343b20c01a)", + "P->V[54720:54752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 967950: Hash(0x50e89549358d8e7323a0a4762102276d50a90e9e6a40fb7b5234ff96f89b62)", + "P->V[54752:54784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 971162: Hash(0x573c1512d102adc71982669d6749e81f3da338bf1a0ac27d36f572fd094ba6a)", + "P->V[54784:54816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 982513: Hash(0x6c35c72d60043025cd0815e357e39544031c98d9f27dcaa306582b2291bf026)", + "P->V[54816:54848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1010397: Hash(0x42b76caa9f4f3368690fd9813d06082f933063389d78200f29c5f78cdd95f68)", + "P->V[54848:54880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1016758: Hash(0x3f5c2c550f666b0e10d5ea02081bdfb79bf9562ceb06943ccaccbb6c3ba8430)", + "P->V[54880:54912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1023249: Hash(0xa64f64d71609ecdd7eff3471139b5b0e5ef8cb419b950e857391cc2992f0c)", + "P->V[54912:54944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1044662: Hash(0x10c72532bc2600a407a15f55430a8d2c496c9f3f7441f1e4937194f76e66cb7)", + "P->V[54944:54976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 267136: Hash(0x6276480950266d90803c4cf7404671aa4d50804bc8d272b88d057224369b01f)", + "P->V[54976:55008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 268990: Hash(0x2a5111de264946efbc8c9407d584f1c48fb1d4a4db07844af6ed77e17b63e89)", + "P->V[55008:55040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 286039: Hash(0x4db87774bcf308f4d6156bc2cb0eff16e4ef6a957608d53fc6159fb4d1b1ddb)", + "P->V[55040:55072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 317674: Hash(0x726c3ca86ee3847dcf4b2255a83f10971746a49a0a5b6f92b03df6088805fdd)", + "P->V[55072:55104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 317786: Hash(0x6f08b44b3f58275afc7ffe6eef3bc0d0f1fc0fc82a188b6e7984eedefc3f3a7)", + "P->V[55104:55136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 360452: Hash(0x3cfe687dd35ce6fc5540866cb59f696ddada2e696449ba8a2406a0aab9e43cd)", + "P->V[55136:55168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 366016: Hash(0x7f956f7402df53a44e7e92744bfd56c2a5af3816a408798babdb831a5205873)", + "P->V[55168:55200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 368950: Hash(0x5ca7ae7a5b832364a08562375b968682131ab7bd91398934671bba5ca36139c)", + "P->V[55200:55232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 386693: Hash(0x59d1ed54e64b57fb2d6b77aecfbfc61171b6386c6df5cd2a06769d70700d954)", + "P->V[55232:55264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 403513: Hash(0x2f7480d1591934e41f0c2581d70c122ace1a5ec1d0769f36e359482e9178d4b)", + "P->V[55264:55296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 407127: Hash(0x77f79fe61b143e708cc08d707bd5d8733df3909459d5a0187acafe4469e8e77)", + "P->V[55296:55328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 407747: Hash(0x382a53dfc1009ac6074eddefe6d3d13f5764d6fa818794694567515c838f525)", + "P->V[55328:55360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 408597: Hash(0x2d73f3741a77e33ab9fa758963fabf3c84a13ad052f5bd9755eac18a61e3b3a)", + "P->V[55360:55392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 409942: Hash(0x50bf15a8d90cb0faee7a03aaa5687e8a281d00602e0452aabc9e81531425200)", + "P->V[55392:55424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 414073: Hash(0x302ac14e3a079ddd7e8b923518d2f9f299fc7dbfb2f149a99e817f0fd277d86)", + "P->V[55424:55456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 421769: Hash(0x7dd303206ecc04d197e13e60fa463292609f808fc80274b030eea169bc71077)", + "P->V[55456:55488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 425649: Hash(0x592a3ab8dacd67e5a03132289361f8f452976c31a1f55fd6b9e88773e9f66da)", + "P->V[55488:55520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 430654: Hash(0x4a7bc09f1af40775ee5465ad4bc36a00fa0daaf57268f71e979636687bfa98f)", + "P->V[55520:55552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 432879: Hash(0x7586392fc71e2d2418c64c67059fefc7116721812c36b58616e81310f22f084)", + "P->V[55552:55584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 441631: Hash(0x45636fb7aaabab690fe21fe9d32f60fc80dc05fd4023d5f09ab9d0a95490b61)", + "P->V[55584:55616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 469516: Hash(0x5b8ba9854dac961402a981b2a2272a13a4f360eb54873e5ad02c8a5b49ca5fb)", + "P->V[55616:55648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 470379: Hash(0x5120492c4431407513ec9b00e41aa0ae8b88f634fc89ccb5a55cdf4d2a16947)", + "P->V[55648:55680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 472300: Hash(0x5a6b14f93c09ebea6d9cc8a4d4351414a2e17000214733403fae8ea459504e8)", + "P->V[55680:55712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 474212: Hash(0x755936875d952acdd1629f149dd1bec1acff47976c9b37096a53bda0692f836)", + "P->V[55712:55744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 478720: Hash(0x15c0bcbf2bb3410473ab3b371915820ac68ed831a1018036471ef9f80edefe0)", + "P->V[55744:55776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 483974: Hash(0x21ca35158cf64d521a433496110a7daccb4a5173d74bac5a43bdfe3936628d5)", + "P->V[55776:55808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 485580: Hash(0x7d6a07a3fec622f7a11a5fa3822b77adffb7e0cdc5de3b8e0187aa993cc3b46)", + "P->V[55808:55840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 491257: Hash(0x1939af966c30acf8a990e16cd476a38a5af4e923bf0aa063de8e5998b7b1fff)", + "P->V[55840:55872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 505199: Hash(0x3d1c44104032fd813114c01ebe1416c70b552178186276039495e0a8d379301)", + "P->V[55872:55904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 508378: Hash(0x6e673010c165c5130b2afc1c7ff053b26a51404de5ec5ffd7ffb5491c23e3b1)", + "P->V[55904:55936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 511625: Hash(0x5b6754db0ffb13dbe5c646076a8cc049b263ba158cd60a03e2702024d341ea4)", + "P->V[55936:55968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 522330: Hash(0x46b156d3a71af5a236a5bb2738798473d0c8895748881cf65eb9fcc1cf5556e)", + "P->V[55968:56000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 133569: Hash(0x1960885a27a9328618a448df600ad33b3db34a4a3da9393de9a198070b56091)", + "P->V[56000:56032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 134494: Hash(0x2dc234a5aef7f46b751298f38245ba27e263dd95f0ad5d1628fefde1fe8f9e1)", + "P->V[56032:56064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 143018: Hash(0x32d82069fa78a1205b237c5bc3cd98527abe2af29422130855483f2d31d5050)", + "P->V[56064:56096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 158836: Hash(0x5724376e6cbe8dc8ea8d4da91c4e1fd8217420b7340fd0804ee2bd87337680f)", + "P->V[56096:56128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 158892: Hash(0x69bffa61bbc72ceefb46a7f31fff3c94d4f328bef4e702ec72662af1ad82284)", + "P->V[56128:56160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 180227: Hash(0x64de10f6bed74f1eef67845c7d396665f3231a129b2d1183373737c09580490)", + "P->V[56160:56192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 183009: Hash(0xb927ca560b703686d52f3d3094beaa40ea0d932b30a26bdd3b8f56677e2682)", + "P->V[56192:56224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 184474: Hash(0x3ba83a8f6322a6c3ead71a23a590a78d313ef5628efd3ab1e77781ab94f3ca4)", + "P->V[56224:56256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 193347: Hash(0x118623e5770b147e9e5cacef16a496defd2275aaedf68a344f70c177cb24bfe)", + "P->V[56256:56288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 201757: Hash(0xc0ebae50968063ca92867ca45e0c9d1884420a5634fd895257618c068fe57f)", + "P->V[56288:56320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 203562: Hash(0x7ee5802bde9d4bf427f86e1b776c5876a3686bbf105f9802f02908469f7f30f)", + "P->V[56320:56352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 203872: Hash(0x61077f25fe2cb345f68c64546df61e1d5cf2d60644e16e0026a20a6c7cad710)", + "P->V[56352:56384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 204299: Hash(0x403e1e316c05de596d31da0804a673a10f7a3412e565aa8debe30b7645ffb13)", + "P->V[56384:56416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 204970: Hash(0x2900283058473bbdaebf6b5828d689370f1f9f15d05805ce89fca1e74ff3dd8)", + "P->V[56416:56448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 207037: Hash(0x7912104cc77302c39549814636c3aaef03bde7435fc2a9cde8bdee24cef39dc)", + "P->V[56448:56480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 210885: Hash(0x669b18375550cd06eb795d338822dad358514b7d4311844a0ce8d0d7a517734)", + "P->V[56480:56512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 212825: Hash(0x859af1efcfcd5999f081dce0c7c18769eb3697d431b6b69487cd994491cf2a)", + "P->V[56512:56544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 215326: Hash(0x1550f4bef5476638b9c332f8f39cb6c9a731aeaedcbceefa8639b5a90cf20ee)", + "P->V[56544:56576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 216438: Hash(0x1ecbcfed3e7be2fa66b1a450a1df93b9261bb54bf9f5ab1de40d00e0728d261)", + "P->V[56576:56608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 220814: Hash(0x58bc55ff1a5d299176732a8b559134755594c6255a4c92e59080ceb6224f7a4)", + "P->V[56608:56640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 234759: Hash(0xa65e2e80a7bf347b86f6e0b417177136123c62b593916bd737942a88353ebe)", + "P->V[56640:56672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 235188: Hash(0x29d7a2db689a9debd73b5bc0f33bc8b804c6d427a03b0c8364b98a32ff3a1d2)", + "P->V[56672:56704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 236151: Hash(0x109ee328d9acbc6377bda0f8b83d884fef516eb43293d773ff529d743151541)", + "P->V[56704:56736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 237107: Hash(0x6b2b9b74683881718e9a2924fffdb66d611f6ddf200aa2e305385015224a771)", + "P->V[56736:56768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 239361: Hash(0x65a8506e88d74c101f5686b738f5acec61d8b1972217a164f20375376412c09)", + "P->V[56768:56800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 241986: Hash(0xe02f477bd8f6286999e2760611729539f72b37b736243d0cd030fe90e2f742)", + "P->V[56800:56832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 242791: Hash(0x235c27a3c0b0035a753fb069c88cad84ac5386c4977d5845a12edb0952f3069)", + "P->V[56832:56864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 245629: Hash(0x525ef97d77d88f216a678493562d2304700cffb3a3a0bfb1d16d80d352b5380)", + "P->V[56864:56896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 252598: Hash(0x44017d60da5170575683fdb516adf1bc05c01b563b930d6a832f4657b1ce785)", + "P->V[56896:56928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 254188: Hash(0x55e0a418ae988fdfbcbe26e37dfb9889ca8a6ed163eb2456c8757534e4e5003)", + "P->V[56928:56960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 255813: Hash(0x4cc1dca467249e7a4ef41c888d1deb3f6a397d69d7de93c865d44c9bda54405)", + "P->V[56960:56992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 261164: Hash(0x4d5507cf6ee738f08a9a910689cc0663ef36a382c34a8bf9cc44ce9c8d7b343)", + "P->V[56992:57024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 66785: Hash(0x54bc17743426a2f463564e3ac9fa38332e17c9a23a0189018ad8ae95fa2230f)", + "P->V[57024:57056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 67246: Hash(0x3e9cb68576661b456e4b13a3f8c8ec5e0b7a264769a4ce8296cebb3606b20a9)", + "P->V[57056:57088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 71508: Hash(0xea0abb41ace3f6cc7088aa1014d8272c2800981c8c25a3ffeb20b02085ad7b)", + "P->V[57088:57120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 79419: Hash(0x290f6dd248adf76237aa7cde0e8489dea7e48f957366cf6a0889e480fce5459)", + "P->V[57120:57152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 79447: Hash(0x1912b96939992a161f9329cb8ffd30c8d475fdd6171329d6a23886971b3cfe7)", + "P->V[57152:57184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 90112: Hash(0x6fcd35bf27a7f882ea5c90155f6919b086918ba863eddbcf1fc3ab8515fa654)", + "P->V[57184:57216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 91505: Hash(0x3e1e54f944d45c7f4c383d82e7c2b6da04b03d100d40352cddceb7c0f974cd3)", + "P->V[57216:57248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 92236: Hash(0x4286de3ce4269a34a52d6eadceafaab5690b22772f232832ae7cde093c2811e)", + "P->V[57248:57280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 96672: Hash(0x343fcb1b89769ce8f1acd9d51194e46c2fc19a87cb5e750cccd86fddc042a7)", + "P->V[57280:57312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 100879: Hash(0x1cd675ef2fed9bcc152602deefe2c11fdd89b8ac23fe70bbe32eb82a42378b0)", + "P->V[57312:57344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 101780: Hash(0x6a4f6a187805c8cba6f467e80f106c858f5f657e11812fb4ff7dda9978a3ef6)", + "P->V[57344:57376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 101937: Hash(0x5b57fc5753cf22a081213c9274e8201f978325d7bdbd5d4d6665f9eef648622)", + "P->V[57376:57408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 102148: Hash(0x5b576b1f3127c323e2dab0985abc53ae0cd2020c9683a0d06d35acc5f6c8fc8)", + "P->V[57408:57440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 102484: Hash(0x5a2646ad4ddc9c010dd9f1a4551646fe467fd4cb174793f639bef674bb45b85)", + "P->V[57440:57472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 103519: Hash(0x147431127bf1b27daefb8dcfd63de6781b99b902da6b221ab767124f25497d8)", + "P->V[57472:57504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 105443: Hash(0x11e08306d4d6580fd070fc922d2517bcaebf94a388a40db61bdee762207cd64)", + "P->V[57504:57536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 106413: Hash(0x5468190ad94b2fa0168e8c424a3976297382b9ae7043265ddccbda15e382c70)", + "P->V[57536:57568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 107662: Hash(0x6b41cfddc55ecf6fa1acfdafd92d828a38bf711caa7ebdfdf1bf5b23c2f0766)", + "P->V[57568:57600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 108218: Hash(0x455f2cee62497cc490d0ce427446b4e58dc73f8eec2e6cfccbad62a8b792f00)", + "P->V[57600:57632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 110406: Hash(0x5d58377073ff85595c72702bb2cc62fbf643e94604d7b390e0d25eea8aa687a)", + "P->V[57632:57664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 117378: Hash(0x1751d23e8d77dc7eeaf05b74f4bcc04a524ed23e72cc3652b151cdf4ddfe135)", + "P->V[57664:57696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 117595: Hash(0x66629b2abf1b6d581d79f7c956197ba9d5aa3c39df89edb6a7401b6e9abe543)", + "P->V[57696:57728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 118074: Hash(0x4b4c3a9e31c03ce6939e92e8e96e45f332dbe2800ab905fb48c77729bdea72a)", + "P->V[57728:57760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 118552: Hash(0x3304e7cffbbfd5187be8ec9495f5562deddaf6ecd6407b47e083c8cbc61c2ea)", + "P->V[57760:57792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 119681: Hash(0x6cadc1649be22a964326d30d6323e85b151656ca408077e222e1074009d9851)", + "P->V[57792:57824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 120992: Hash(0x3c8ce2928f4cad60c98d7047d81195fc164aed2a22204e4f4150080b822d6d6)", + "P->V[57824:57856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 121394: Hash(0x1987c5dd80145a61b3739fbb4c8de833d97a37dca840527704c2131187c1cdf)", + "P->V[57856:57888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 122815: Hash(0x6cbbc52d45379a1222657757f2cbeff12124e596f728b283070b2b64c2a52fc)", + "P->V[57888:57920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 126298: Hash(0x6e2324f1bee5d1659264ca7dcd7328a0833ef908cf0641afcead4dc86567467)", + "P->V[57920:57952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 127095: Hash(0x5b872d58521837618b33d1a67d5b6b9ccf5c35fc44a5eeab3f3746b94c41243)", + "P->V[57952:57984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 127907: Hash(0x503b15a38d88e5919f60bbcf05c8b5b617b396e28d75be225a68a49fc187ad1)", + "P->V[57984:58016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 130583: Hash(0x325f0d174d346c0b5979fcef58038bae663f4eb6dd5a25151557ba61cfb5ab4)", + "P->V[58016:58048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33393: Hash(0xdc357da0f630575b1ebda5134ac8f172a95156a1da08320453632f151fbc43)", + "P->V[58048:58080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33622: Hash(0x63cbbe1e10524d2808b8db76ff190cb4ee1fde63505727028ab26ae8c6b0ecd)", + "P->V[58080:58112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 35755: Hash(0x1bbf2b5267431edaa3bd173026555880c3ab6b341c14fdb6636193234e6981a)", + "P->V[58112:58144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 39708: Hash(0x46befb1a4a0b55fc41b816e9dcf74996cd1497475f424a3f6570c9796d7ccc3)", + "P->V[58144:58176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 39722: Hash(0x32685d94ca4f5ec680a2c6e78ec6335721c5e975bf3f3d85e2a97d545747e62)", + "P->V[58176:58208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45057: Hash(0x75e26c09df479c828e93beec2037921e5fcecf13f0245e7c4b806c1668b2bb2)", + "P->V[58208:58240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 45753: Hash(0x709a1aaae621249d84bb5189b00805644712052ed31023c7d6295623edc7f27)", + "P->V[58240:58272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 46119: Hash(0x5c79056b79104b5772f0256aaadba5141f85d3624d9e21fcad25e508e0958fd)", + "P->V[58272:58304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 48337: Hash(0x1be866ae072a5795ad10b4cad3bd9ad6e011a66bf636d4626d1eaa6dda36ccd)", + "P->V[58304:58336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 50438: Hash(0x14b2ead7bb84bb63544f32fd78ee4554d89afe330ec446ac442a96d4c52bfd0)", + "P->V[58336:58368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 50891: Hash(0x72081e12a08012a71a8046db10e86740e5d534ab78afb8bfaabf3577045b947)", + "P->V[58368:58400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 50969: Hash(0x4a547aed325fa32d7c77fb62d4bdf8a61f8222d0221218a02be7cb9877048d1)", + "P->V[58400:58432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 51075: Hash(0x16d98f9f233dbaf92dedb99f5fbfc98aa9a79cee149c064aa289e2d105a416)", + "P->V[58432:58464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 51243: Hash(0x70187f99a4a1a87be9a4cfe476638702bcc0a486dd29098bc68d2cee1ecb817)", + "P->V[58464:58496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 51758: Hash(0x732cd1dc98e5a8be76864a6f6e26c5a891f10c60c4d2705b3f91eab651bf4dc)", + "P->V[58496:58528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 52720: Hash(0x7f1613fc5fd655f5ccc6922d6de616ce66b74e8fdcf4c4eca4d6569c471e061)", + "P->V[58528:58560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53207: Hash(0x4d36285d4b4c3c794065183d68eb0fd0ec4231c54b4a81e1acfd29fb4e4b9d2)", + "P->V[58560:58592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53830: Hash(0x2cdb6b6e5761ea493149955c6f16be64bfd69dcf0594bbee4734864f46905ff)", + "P->V[58592:58624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 54108: Hash(0x46f36419813a83dbdc5600aef87cdf436ca14484d2978096da1281e5b7774d)", + "P->V[58624:58656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55202: Hash(0x7ba43580a3a7c7df99d36bf6b7bafd175087b631e61fd9fe589da2b3ec8959b)", + "P->V[58656:58688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 58688: Hash(0x6dbf02a758cfa112fe1d76a84b4d40ed0e4e21a652fa26e3d9aeb620f558657)", + "P->V[58688:58720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 58796: Hash(0x4bce7af72dde3d46362e7e8419b7bca4b9850363971eb5bd54ff79c85c775b9)", + "P->V[58720:58752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 59036: Hash(0x2eac63f2ad6de3061ddab3aa6abad15a07b634ab14d095bde750bec8232b8c9)", + "P->V[58752:58784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 59277: Hash(0x28942090f4a258a48d3477ab756279d3074345c5b060f3ee930b589d9d1b6eb)", + "P->V[58784:58816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 59841: Hash(0x52986a824f512fbb572fddd6df600afd980408070efda9d8b5901055849e7a9)", + "P->V[58816:58848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60497: Hash(0x1da438e85c1d378b4205df52db08a3fe4cf5bd256d4abeb8d9314c9c5f6b49)", + "P->V[58848:58880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60696: Hash(0x3e036265d45b29a2b29a7f77943a96a163c50d20061627e77acf00db980085c)", + "P->V[58880:58912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 61406: Hash(0x365b6a4dd2508fc0c0dcbdf00382b55903fa14233661b39cafbbb87ef947a39)", + "P->V[58912:58944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 63148: Hash(0x2393eb2d04bec6b76fe3b8ba1e744f881f4b599dd1580f45ee2fa8e7608599e)", + "P->V[58944:58976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 63546: Hash(0x64470772fae1bc2851ac53ccdde11bf05247b0dde6d77f2ae54a2e082186c72)", + "P->V[58976:59008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 63952: Hash(0x341b38586d1be36f78730e4e70681f6ce892ba184402547026b6366c32b13d8)", + "P->V[59008:59040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 65290: Hash(0x9ea682ce9147b341e4b1c696ff0e7272e1bac65cf6ffe9ae69155baa01f087)", + "P->V[59040:59072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16697: Hash(0x5586f99a02d526868da2ffd05abb7ce9196960055d21327f81d6d3ed4e8480)", + "P->V[59072:59104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16810: Hash(0x202e2db3ce2792c77c93c2a84b0050035c680a3ab5295fceb078df47072cb36)", + "P->V[59104:59136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17876: Hash(0x2035bbc90aed7d544ea7c10f64a3fda8f03656a5c1de471325112b6f949a97b)", + "P->V[59136:59168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19855: Hash(0x4e24c1f4aa2d50173b85398aa4c7e447d86fccf43718ccc3dc18bab6bc1c334)", + "P->V[59168:59200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19860: Hash(0x73cc913a67c051438796c759e17efa51362f955330432b310c73ee8aea97877)", + "P->V[59200:59232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22529: Hash(0x11d2d2b3bf46ccadde41b79aa8ae642764f921e6b624a7b9430a2a6dc07ebf5)", + "P->V[59232:59264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22877: Hash(0x5c99ca756ac16a062efe7283e706bdaede2d018da629509ef003dca1370de1c)", + "P->V[59264:59296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 23058: Hash(0x78dde88aae200a2673cb86b30527af12b22b1780be4e79f1864a8ce9fbea6e0)", + "P->V[59296:59328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24169: Hash(0xe92121f18dee8f86af326eea5993d2d4e66a1504ef1082d7a49b495bf17a53)", + "P->V[59328:59360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25218: Hash(0x3d0ee23a2712903b0a20fc703f3d088925112651b0185ad840892aec34882e7)", + "P->V[59360:59392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25444: Hash(0x455fa6f48322f8adcecf1f0bfab954d8c0144ded26457d7af61a54505b0c7a3)", + "P->V[59392:59424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25485: Hash(0x6432d3745da5a9c47233438f4cf66db7e25639d13ab04aae45a5115ea8a29cb)", + "P->V[59424:59456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25536: Hash(0x45d593b90de037e964eb193477d94aae31f06464ca6c03a47f19376dfa50374)", + "P->V[59456:59488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25620: Hash(0x55c14530b9eeaaadf2a006d42d5ceb76da05de0b84508cbcea7386c6162bad1)", + "P->V[59488:59520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25878: Hash(0x229ec0ce44039ae90c633d46194b84b8f87c170f4294ae2e284f354c151ff3c)", + "P->V[59520:59552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26361: Hash(0x6c42b8768df636959515849fc02756d1bb493f51cd6d6679bd88cdd8589e037)", + "P->V[59552:59584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26602: Hash(0x6b524411b3233e65ae17935a0daa92b6d3f8554ef1e5ca759f1ef62ae9378d0)", + "P->V[59584:59616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26914: Hash(0x286e1fd7eaa4aec9190eef0f84ce50318a8f31ba0f5f80559215b1da258025c)", + "P->V[59616:59648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27055: Hash(0xa6c389c48dc891f236c22208650d418bcbd05b40f10f6ee6cfcf8130c6cfdd)", + "P->V[59648:59680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27600: Hash(0x31e8ae9088d78e13f1df24c5dc3acd96f8ad817dc4d29b6cdf9e51e2a214adb)", + "P->V[59680:59712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29345: Hash(0x645512b2574d4d6c2c42b4456cf1dc571b632d4be02b86feadc22a02b04b301)", + "P->V[59712:59744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29399: Hash(0x631725a3323d59b1d8b7283b9528769a8b619a0e0f5280f6a44d639f35365af)", + "P->V[59744:59776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29519: Hash(0x5b3e977e2547f1f2ca7a3d0290a18c03e8431ad4273925f8ca8e7e247ef2af1)", + "P->V[59776:59808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29639: Hash(0x643bbbd534d2e5772d979d16da1cbf1462fd4f52c30467022cec2fc2e36e2d3)", + "P->V[59808:59840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29921: Hash(0x78e856b25fad074e29d0e448b0a5aea5f9e6aea929ac27bfa616fe628e8ecf9)", + "P->V[59840:59872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30249: Hash(0x2b13ca74e3373eb2dcb59c17f5346886cc24e1235968007a55faa25faeed82e)", + "P->V[59872:59904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30349: Hash(0x36a09007a66faf3c4eed56d9adaa6f7407d5603f9a2a386657721ad4419293a)", + "P->V[59904:59936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30702: Hash(0x3f3c2448cc943a211df79f764b681d0bdd0fb4ecaa0edb6d7e8c1365c4abe20)", + "P->V[59936:59968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31575: Hash(0x4c26ce7cf2a36d94d0b17fd0724557c0a2730d2f3eefde10ec52e3cec57bc37)", + "P->V[59968:60000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31772: Hash(0x5bc338bc5236eb3b5262eb9429959cfc0821fac05d1d36b857efb1bd1098a85)", + "P->V[60000:60032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31977: Hash(0x63bfe7746c09576ba321e397634d1e07f817e7885e9d2e31052677a531365fa)", + "P->V[60032:60064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32644: Hash(0x77c1a72080eb2e960a67d378a3f8c0f69edb60a3101f76fe4ea73db5cba317e)", + "P->V[60064:60096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8349: Hash(0x26144a626f8e2d74e0d0db1dccc7cc1f4c712d6bcc665a4adca6f8ab32b83)", + "P->V[60096:60128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8404: Hash(0x13c41b6f8e85774166f9f204b9b75ce0242fbccb593a22b00ebfcf0c1e6192a)", + "P->V[60128:60160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8939: Hash(0x7e6b48ac0ac41ac28c1127f97b33b2ae85c9e55937f7084ca6752dbf238a37d)", + "P->V[60160:60192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9926: Hash(0x79b7e0ad04cec6aa5848d324cc1c0bee3ff7eb5bfe9039fcdf69a678d0be496)", + "P->V[60192:60224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9931: Hash(0x7bcb8fd637288ad20982a5ee8b49baae1236f7fc64cfac7495521837d38426)", + "P->V[60224:60256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11265: Hash(0x684f9cc6fc028f1ac3fb1fb79237e6be239bef4696aafd76d8b417e02597dc)", + "P->V[60256:60288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11439: Hash(0x21409fbe9594833f376aea4d358def46539a10cc938b152b076db05fe18bb2c)", + "P->V[60288:60320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11528: Hash(0x24b696fc40ea91326df75a22d5fc22fb9874a585c1fed7aacb4951c3e2d476c)", + "P->V[60320:60352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12085: Hash(0x529ab1730ab8901101bf3be2b492ae26c49b7114a733d1eb3544efd5ab416df)", + "P->V[60352:60384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12608: Hash(0x646b558a0283b99e32424cd475539ee14dcbdf65df072f0a0135f68e83756f)", + "P->V[60384:60416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12723: Hash(0x7997c49f54253c0021bcb6926e9dd1c70eec31198f41bd6f5ba76f8923cd411)", + "P->V[60416:60448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12743: Hash(0x7201e7f4c16ddf95a0f49d44494affbf68a3d33026336430709e0f4b1e22051)", + "P->V[60448:60480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12769: Hash(0x5c3f7c5efafa87662553ddd1723f0d4e7801e620cfae8a16e1fadba849ffce6)", + "P->V[60480:60512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12811: Hash(0x129183f4a3aa2c19b6cd8641496909f2144d1c35da4926b0df52f3729df5375)", + "P->V[60512:60544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12938: Hash(0x6f42d32b0336e7b5a9ac5ba2dd63ff3057540cb8871f6b7b9486ddef8d75669)", + "P->V[60544:60576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13181: Hash(0x4dadaee8c82562040e1b224ad88c15994eca11240de4dec3378eb55db651c2)", + "P->V[60576:60608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13300: Hash(0x1c9cf56422f1f9f16ffb4c2192ab114fe2410679f2e4da4d72324e862db6716)", + "P->V[60608:60640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13456: Hash(0xaeb78106afa1c49f48d53177a968a397891322a8846d701aac3e960e019a21)", + "P->V[60640:60672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13526: Hash(0x1f9e123b1fc22ef7df293492201eb07450ef31640a755d2b1eddeaa84bea05e)", + "P->V[60672:60704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13801: Hash(0x30c5d1410a06250755377d4c0a3524f3feb888ed0d8a9a24aac306c97dfbdf3)", + "P->V[60704:60736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14673: Hash(0x5897977835aad2dfa775a369c428511bb1c2549b58f1f1088d2ca16fbee5513)", + "P->V[60736:60768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14698: Hash(0x6d67a15d4a1870fa684e48e765b56d0a47108a5a20b651f9cec88f16a3893b2)", + "P->V[60768:60800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14758: Hash(0x750bae7b66417f8fb3a45f44b0a9a3d0e80956e7aad2b9cc86bc48b3f9201d5)", + "P->V[60800:60832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14818: Hash(0x543b581262aceb892f19dec695eb83e22851e12c723126a5e6744108de7dd49)", + "P->V[60832:60864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14961: Hash(0x34239be784dfe7828356e3415a870094ff64d31a6bf5a7da200596a94c98563)", + "P->V[60864:60896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15125: Hash(0x7d76396f3821ab01ad197b6056ce3698d3fac8ad2834d35a8ade943b0ae1286)", + "P->V[60896:60928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15175: Hash(0x6a31cdaca52a4215a23d66a87b25d67bfafdf7c692966c0773b539c6a724dcb)", + "P->V[60928:60960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15350: Hash(0x4c61e758127c564b1da7d5f38c92118000582d9d9bb62d5251c75e072f9dc80)", + "P->V[60960:60992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15786: Hash(0x6853fb1e6fd87d205584fb060f1e0d1dbe5ba85e6c429162b7fd9c5f26deae)", + "P->V[60992:61024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15887: Hash(0x4f6f8bf5ccf585e01d55cbc446063edd31943df089b3d2016b8650d39608627)", + "P->V[61024:61056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15989: Hash(0x4c2f5e8bfb856f1ddb7b3124cbe8d2b3c8c5692e98ffe9e3fc111961c40a10d)", + "P->V[61056:61088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16323: Hash(0x16c0b6c54c7bcc4848755985822e511c288f9c684a4185715c7f3fda331956e)", + "P->V[61088:61120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4175: Hash(0x3d14beeb3e4160f2f3a442b9f040f22e8fd2f02f43427e996a02d5328e2d865)", + "P->V[61120:61152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4203: Hash(0x339b635ba86856c6592ffb0da1f7c3beaa9e667b798384e3f54882671d5c4c7)", + "P->V[61152:61184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4468: Hash(0x20f372b6671a897cabb9cb51219905c37adc464128a1b1b7c444053e291d55d)", + "P->V[61184:61216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4962: Hash(0x3355a3f34183c4fb9f36df27a1b8430683b0931bc8f8b4f77d2e36a3a630c2b)", + "P->V[61216:61248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4964: Hash(0x4e8416e2bf268b13c2e0ee6d6eda3ce58c267c7e1e8a093f8cb70f9929cbd7d)", + "P->V[61248:61280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5633: Hash(0x4e6d8eeb07fe21f342c13fd08b2e3c208715d5f45beaafa2ba6cd6e16e75b29)", + "P->V[61280:61312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5718: Hash(0x776e26e217c817848c0bfdf7f21eddc9a3e17b55a14a4d321504984f251d63c)", + "P->V[61312:61344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5765: Hash(0x5fe27d1fd513a1e4bffc47f36cb51e621b5ecab446ae8444674e0f067482eb4)", + "P->V[61344:61376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6043: Hash(0x2df25ca51245827bbc8fa8837280b27010f0dcc8cf510449757eff7e4aa3247)", + "P->V[61376:61408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6305: Hash(0x2606b29f9e9eea4fbd536e4864252e6559f29c4374cae6dd49edb39a79a52de)", + "P->V[61408:61440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6360: Hash(0x60cc4c0e8dba35e27fd2268ba2a58ed36570cb17f4a3d94ccf0ba345d8cb3b0)", + "P->V[61440:61472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6370: Hash(0x416db1a95917999fb05e08174337e1f2adf3b7bfc89cd2cc4b1ee055ffe67d0)", + "P->V[61472:61504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6385: Hash(0x763c66206befdb2718e01994f3c4e61d4e19d40439ffa6565bac2779b90d1ec)", + "P->V[61504:61536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6404: Hash(0x584542c8ad34211b8511226f3dd0f9812a93f3d3b206866f852d802ec54dd67)", + "P->V[61536:61568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6468: Hash(0x1b0a339f2832eff31b539d6e3ddeadc04c026f830d5ab92c3531b15ff5d8a59)", + "P->V[61568:61600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6591: Hash(0x647da2a835bfa07e78116240037e1e52b3b6dcf8c0e0f5b356dd744b8be536f)", + "P->V[61600:61632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6651: Hash(0x38ab7fe076e53280aea0026c30ebcd6802ebe6c3b17852373f06b1d95a08e00)", + "P->V[61632:61664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6729: Hash(0x44a9ab7af5df0e41b8344eba545f44d449383a98865a0d32c1b86b9d9ff4090)", + "P->V[61664:61696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6762: Hash(0x586072a4c213f9cd27775dc27b6f86d48bc720be8a6aa23f0da9e3ab0db5f2a)", + "P->V[61696:61728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6901: Hash(0x7d8780216fbe121c47acf704b792640f634a60fa5bc0a38f70ea7f4df5d0d54)", + "P->V[61728:61760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7337: Hash(0x8827745fea4c439bf2e7976a99b210357289fd21ba20ffebb7a6520093da8d)", + "P->V[61760:61792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7348: Hash(0x336ff57ca97edbb481a7bc4a00e9a0a8e36a658463192a08d7bac901324992a)", + "P->V[61792:61824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7378: Hash(0xa76357e91a2e119ce534c66fcca3d46060e92675926628881229f4b9359e6c)", + "P->V[61824:61856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7408: Hash(0x6e265239bc9b33232ebef5a259453f58052538bcc93c608097f1787d3c0bcaf)", + "P->V[61856:61888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7481: Hash(0x647280b7bef7df532f8707a7f1a41085c8c38e6cdbedec6f62ca882c760128a)", + "P->V[61888:61920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7563: Hash(0x5e2b18f2e55a3a423a76e93431c2eb3529e1d7e093ff2ba621a5a5f7b894b24)", + "P->V[61920:61952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7586: Hash(0x5bde73cc5d18df98cda2e2be79e68b765c13bde6ad687bd6e152767686dc4b6)", + "P->V[61952:61984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7674: Hash(0x27a6c456b510c33bbfea628be34e68aef0b83eecbf11ac6447b8f164d101006)", + "P->V[61984:62016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7892: Hash(0x5c9870d76d5fa799ec78b3183d007301649521d2c3d1791fec53d82eeec8dc9)", + "P->V[62016:62048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7942: Hash(0x2075fcde7eec4019c31d94914b1f7a09ae11ee13b1995cae161142099e295ca)", + "P->V[62048:62080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7995: Hash(0x5b54f6b3da147042ad056de4eb92699c98ba25781a196736789b9d4266f2dd1)", + "P->V[62080:62112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8160: Hash(0x76a171de0c264397920717cdd4a451c9d652fc3ed1aa2dd76952474f0e7089a)", + "P->V[62112:62144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2086: Hash(0x1f2fd9afcb5a1437ad82a6daa7e5ea719c6998d9cfba9345010fed2588eb53d)", + "P->V[62144:62176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2100: Hash(0x21038e307591cecd95a178db6a8761ea44bb2e804f7d0c0aad64b9ce029f6a0)", + "P->V[62176:62208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2235: Hash(0x2eec30a47fc8dff6734487c51965d16b1156209e690c8e78afb87fe87bdbe45)", + "P->V[62208:62240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2480: Hash(0x454a895eb30e14fec72e4433df78af3f8890d7d0c50534759125f88acae4971)", + "P->V[62240:62272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2483: Hash(0x26fae26469cd6368949a21a5e135800636a053534e2a9cd3b8abf9e57240eee)", + "P->V[62272:62304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2817: Hash(0x11247e0d8a8c5ca155e6fd32dcfecb7efe9bd852cd324099e191f725c23b20d)", + "P->V[62304:62336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2858: Hash(0x364aa33ff587440b041b9ec6f38710b6ca770dabbff1e819fecd06590fc7b8)", + "P->V[62336:62368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2883: Hash(0x6d29d9f45c649630a08b801dd1e8d23812fb1f11ac9afda9988675e30725de5)", + "P->V[62368:62400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3020: Hash(0x29f65e2d782e8a21aa97371990b69cc5248b2cfd78ecaf0376fdba698889485)", + "P->V[62400:62432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3153: Hash(0x74e219daadce35c96c75e3ae878d1233faa2b0dd6135b3b6321d62cd01c267)", + "P->V[62432:62464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3181: Hash(0xfdcb1bf83db7098e6a3502f03c31f825f80d98640fc962b4152c29507bf8ec)", + "P->V[62464:62496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3184: Hash(0x68dc18a2c2d0dcf4b08aab83e4a9e80d893a9fa560aad59d09021fd50224003)", + "P->V[62496:62528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3193: Hash(0x6ea2eff5a42c7e14f5c3bc7f69b1fb8893eba0702a0e1f735f46d5b5a1c2169)", + "P->V[62528:62560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3203: Hash(0x64ad59dc246f8059d089276876307b4ac0be1da89100104857cd136ca4aea3b)", + "P->V[62560:62592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3235: Hash(0x453fa316f90963d5e67ae15dfc1b308a98f09490a3e60ac27f9759d1a41ba51)", + "P->V[62592:62624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3294: Hash(0x2144bc9b614a7b9af4d53bee93f9ad855d94f6e4664c26f727ad7c58eaa0623)", + "P->V[62624:62656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3324: Hash(0x59b4a0f2d090488c991ef9f509a3b82f76c2e9e6cc02717c86fb603e1f3ec7e)", + "P->V[62656:62688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3365: Hash(0x4797c5edaea37866cd2f840457b4de286f20a3c0b50a13dfb2d4a26c76b4bd)", + "P->V[62688:62720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3380: Hash(0x5cc408acaee6394ea0a50675e5aeec78d49bbd91a86de027b61d0302c9ebc70)", + "P->V[62720:62752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3451: Hash(0x23bf2f46799ee25812a66e2e4687811daf6aa547edf85e801918e6d4c883639)", + "P->V[62752:62784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3669: Hash(0x605c64930396400c4d4cb650b96e422b8d606a3cf1dfe848445cbedb62f0d3e)", + "P->V[62784:62816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3675: Hash(0x66d55f8bbd94e8a7ced97115fe4720c6ede2ff551b65a1c32703dbb22bb7874)", + "P->V[62816:62848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3688: Hash(0x1ce494ef306d276220683d5830a808230d0f2466350f9b0a14d79977fb5b855)", + "P->V[62848:62880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3705: Hash(0x6e65c902d59f2301bfb5e3d5c8c349e194e5b4daec20582d3caf327e31f92ce)", + "P->V[62880:62912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3741: Hash(0x3e063d19de5d70801278624150827d47f5646e0e743ba333d28d43efc4365aa)", + "P->V[62912:62944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3780: Hash(0x654658f48f9b1c5e327b0b83321dc12f998b204db7179d066f7be6b62983cff)", + "P->V[62944:62976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3792: Hash(0x7ebd44a0181a2930d36073d4e1908ba7f3a972caa2a317eaa5d34f83cb5fc84)", + "P->V[62976:63008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3836: Hash(0x147cb6c1b1706258ac1078323edc70199a105de0b0b489e7d873fc55280f982)", + "P->V[63008:63040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3947: Hash(0x4ee6ed0c93985f1543d68ee97061c615b4cd99130f7e07a311a9f37c52734fa)", + "P->V[63040:63072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3970: Hash(0x2edefe5f015a8e0570aa61e6917cf3498b077a410eac51241ac0b787ceb58a3)", + "P->V[63072:63104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3996: Hash(0x733732e9ebb41e15f4e3df5034d9495649d59b9ae1f9d1e4e7491f456dab5e)", + "P->V[63104:63136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4081: Hash(0x5ba9ec68218362ecddc9a1925f3fa9ffd91eb89784bacb1b4f097d5183ea5cb)", + "P->V[63136:63168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1042: Hash(0x58e8cc0fea0fddd541d51277c73d4ae6579b4c12d6b8ed212bd8124b1790029)", + "P->V[63168:63200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1051: Hash(0x7fe43ca726341737dac08d55332120cf1d3bc5ea7df8fa616688ea8cd21cebf)", + "P->V[63200:63232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1116: Hash(0x9c795b38732d131de5d24bb1d52ab8ddf421a7d2de2fd0700b1a5da9056b9e)", + "P->V[63232:63264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1409: Hash(0x47353afc77736301071e2c1929d9a3d9c9f7ff7b6904868c52003cb5f8b8723)", + "P->V[63264:63296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1428: Hash(0x78f0e9a2f9edae143351ae9d19525d7f62106166c43df7ed8cf86873c1e8f72)", + "P->V[63296:63328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1440: Hash(0x5619b960aab230c5f2c707995a11ffea400acf8f5c81fc8fcc92b827a0816c8)", + "P->V[63328:63360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1511: Hash(0x1d4cc49711b1442206d33a06034a186f31e15130aa7724f2596754afa83f372)", + "P->V[63360:63392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1577: Hash(0xdb3a4df33680c98084da50fa78a85e172eeab5d45f3de2378a30cd4e0655f7)", + "P->V[63392:63424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1591: Hash(0x3dd5bc93cca9bffc6cee2ca2f3690f9b52d8599dbd7bbd3b8972bfd99d50163)", + "P->V[63424:63456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1593: Hash(0x23ad4c336a6dd47664d1162e37795174831c45faac433846e65c7582550372a)", + "P->V[63456:63488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1597: Hash(0x66204dd51673dafd533cb8f414ea295693a2094a4409f2b5aa26bc7e23b1230)", + "P->V[63488:63520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1600: Hash(0x5700b53720542ef1817e8ef3c2548e3d617394e8619be7d9a0b2303a1390eea)", + "P->V[63520:63552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1616: Hash(0x67b0f03ea31533d5790a6f938948f57d27e4703a85efb3a05dbf6cbf88d2369)", + "P->V[63552:63584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1646: Hash(0x5d14e750e4360423666ce2eea9ff0cbf0c1f309a4e5df975c043796b3c496a6)", + "P->V[63584:63616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1663: Hash(0x584c221b12be61ed6c96a0ae53f8af932ab5466782bc4a049a4c5b3167498ec)", + "P->V[63616:63648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1683: Hash(0x6e9d8ede27793c2fff17b422d5400a5f50151f94ad186109972b789d3ab2973)", + "P->V[63648:63680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1691: Hash(0x5d7c81d5fe45c310131c0f68ba385026c287ff2ca17d5c06b0ae005870f978b)", + "P->V[63680:63712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1724: Hash(0x7cd50e2ccc2f2ff7a89baed885ba79ca5c66bd3dd494cc7ba384594d55fe8f0)", + "P->V[63712:63744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1835: Hash(0x3f547b5dd761922aee3be781474f1ae053b6f585c03d4122bc745e342c5106d)", + "P->V[63744:63776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1836: Hash(0x6ad44b269bd7bcf8783e8da36395b4b4a947110f3f675bd9d26c097b721e94d)", + "P->V[63776:63808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1845: Hash(0x7af5b0ebe8e788cd3d2727121c04483d242711a3ca0ae22493d7d1546729dea)", + "P->V[63808:63840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1853: Hash(0x17e922af815af415cedf13a36f807f1407dbcd7b88e5c4039906b8736700bbc)", + "P->V[63840:63872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1871: Hash(0x39ad48153150ce82d34966bb9fc913333e90563538b5d40ef021c72b6392989)", + "P->V[63872:63904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1891: Hash(0x43ee275dcd41f76796bf2b56972737c202af39bffa020c60c6979f3d24fed0b)", + "P->V[63904:63936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1897: Hash(0x1fda1117204a2f607ebf02d7e6855f320dd72f6233adaa1fa11949948e90b8d)", + "P->V[63936:63968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1919: Hash(0x485a9641db07208bd54316d78233360d1df05d920bbd1e1e60f5201f6dd8d93)", + "P->V[63968:64000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1972: Hash(0x7c1e5c4ca9664721e65229082d8b0043d8909492800d460e1fa526b455374ce)", + "P->V[64000:64032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1984: Hash(0x4d642a368b46477f0a15f9b2c53c86a7bb35e91a0ef52a9f0e7ccbb603f6bfa)", + "P->V[64032:64064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1999: Hash(0x5ce5480ea7437153540244c02f57181bec84f035ae44128841c39241e7fdeaf)", + "P->V[64064:64096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2041: Hash(0x3b5ac72323a124b2c0ab8ff91f2ad24fc19d698d54140594a6b0b9a01f8c5aa)", + "P->V[64096:64128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 520: Hash(0x3db06af5bfe611216a329d2f1619789646e5550e1c944c80cf19c600fa7a4b5)", + "P->V[64128:64160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 524: Hash(0x3e4dd5e2ee6163505783f31a7812700530f30bd6023baabeb490f4bda06d9e0)", + "P->V[64160:64192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 559: Hash(0x31ba3f2c87725ca923d658e34bfd3e45b283fa6d4b1b4e8e0ea90ed6050aaa8)", + "P->V[64192:64224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 621: Hash(0x50096bda9a1732b9516d31b53c1fbce9a2b1c2c8b5267be40656b299b18b05)", + "P->V[64224:64256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 705: Hash(0x74b4e72a80d52e2766eabc5b61d0ef52424fab6a0a07975922ce11c537d4182)", + "P->V[64256:64288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 715: Hash(0x72d4d4f5a582bf96a76c74755b95685c7054a95bdab36a7459d2bd193e7ad22)", + "P->V[64288:64320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 721: Hash(0x6eb73ea10485a54caaf9b4ac7e260bd7ee21fe5cb10e2ee8a91dacb5a0fa0c1)", + "P->V[64320:64352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 754: Hash(0x73866cc2ffad23120522b9bcbd6dd392bffd5d6d32616f0e641b0a9fafe78ba)", + "P->V[64352:64384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 789: Hash(0x16cc5da73d6f1310986ece346f22240b43c94e4d5ed8b5552c4469a956b8de7)", + "P->V[64384:64416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 794: Hash(0x1ddc1a1a610c8a9e3eb420611c1f51cc23fec136c3b5b5333fced52d808ddb1)", + "P->V[64416:64448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 797: Hash(0x19e850c773cb1e0d5cbdd215013cd95f9264a83c0d268bfb204bf4f68fb8535)", + "P->V[64448:64480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 799: Hash(0x5dd04287bca5f882e35bfe4c2ef70a5b95b3530640edbb45e010b1ce50326e4)", + "P->V[64480:64512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 801: Hash(0x473c1c3c688c100371f7205971b6d903b9d4ba0376b445258014f91e0b300ac)", + "P->V[64512:64544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 809: Hash(0x46bc30f26fcafd52b8b19c8c2b81c829cd0c7c5c4d826bf64d24ab80a3e91d2)", + "P->V[64544:64576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 822: Hash(0x2d1012a0b35fb554b8c7559195de9d123b8ab885a156f992a552c934bd6ef3)", + "P->V[64576:64608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 830: Hash(0x7f28664f9dec88f339ed10cf207e2cdfa8ed7ed4c9d03612f829c4917da9efb)", + "P->V[64608:64640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 840: Hash(0x3ffd48b4cc3b85620138945cbac502329b456ea16355cf9bad3f5f9af412e51)", + "P->V[64640:64672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 844: Hash(0x17e6b8ac92b471c8cf4d17709a3d9d7400e88f6f8b9787c6a637e33a8f765ff)", + "P->V[64672:64704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 863: Hash(0x7d3ded592618897d22c8da7376f812f511af5aea22385112d6fd6ce76ec386c)", + "P->V[64704:64736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 916: Hash(0x7051e1316a4b866641bd33e56639ee624731f1a4135b1d3b7802cec2e302f09)", + "P->V[64736:64768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 919: Hash(0x4e51ad7acef8d785bb20540776c14761070533acc2408aa3e9008cf2e365bd)", + "P->V[64768:64800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 923: Hash(0x67d6b0f1a1b5e63d4e9171eb1ba88f72bcccde0c71f00e5882cf03925545bff)", + "P->V[64800:64832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 927: Hash(0x69f36823bd70b77a92a3d954de7a2b964d5d80d79500a04bee11df7226c604b)", + "P->V[64832:64864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 934: Hash(0x435008a018216b0936c66a644649bb37418fee8877f211b521988fb8dc4d629)", + "P->V[64864:64896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 944: Hash(0x3ab0d4fc49492245e4e1af5cbf412a4bc9346b63ecc74ad69ced1b98c211d26)", + "P->V[64896:64928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 949: Hash(0x184b6c3cc9bd0049d38e7c41a8afdd5f317f73bfdfe058401ce59c8076fbc66)", + "P->V[64928:64960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 958: Hash(0x45b92850d3f9bd46efa547d61a70351fbd8c60f3acfbcf6d3dbe83321dec62e)", + "P->V[64960:64992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 987: Hash(0x32ee7822ccda19d2a407073da5139a7a793cc13ff892198b1d9bc7f26f14c74)", + "P->V[64992:65024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 993: Hash(0xf8893b57611ba4b9d9f1688cf0f8d439ff6bfb1ee2296cf2f86b6c89c85968)", + "P->V[65024:65056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 998: Hash(0x2b4ae3db5a33278054eb43e8c648bc2fe76b9e96a9c35f6fe320d19dd35c041)", + "P->V[65056:65088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1021: Hash(0x34c3e105d0530580288554cda6a01275c7ed9061dc1219fa4e3e5b6240b3771)", + "P->V[65088:65120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 261: Hash(0x28b9df4d2ea8f4e58412e1e37b5f5b5481f2e2ee40bf87fa36e175f5e3b3e99)", + "P->V[65120:65152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 263: Hash(0x36d4253ccd1912003763f6cf6432e65ac2ec2a89cbc8a3b67a2f088c37658e)", + "P->V[65152:65184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 278: Hash(0x2ed57428bdd24facb2c5f73a696c664838126989029842971ec2a625edbbc4f)", + "P->V[65184:65216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 311: Hash(0xaf4398477f5d16cd8c75a3ec1738d38b5fe40588a9c6c1a137906f59269c2d)", + "P->V[65216:65248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 353: Hash(0x5a95a22f323659192b08c7eb064c0006f6e1f0c57a088b446556ad987ce4a72)", + "P->V[65248:65280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 356: Hash(0x6d768da45e856a22ab67a393c607b6ef05a577be834f527d54bdb0319ceb096)", + "P->V[65280:65312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 361: Hash(0x2fceb27095d7d121f6f90381dfd1acf673cf965e6bf949865fcf56bb40a84d1)", + "P->V[65312:65344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 376: Hash(0x3209be808c8798d5cfbdc466dda113e8ad42d1085a99ee39e2c09df5fda802e)", + "P->V[65344:65376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 395: Hash(0x5a83b0ce36cd03a53ba059655bfb0650ee3d455924b4028abb8ddd73dfeb656)", + "P->V[65376:65408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 396: Hash(0x3cfaa2f260626a4b0616c9583de6940e220dd2c1521dd146701d2a746824a1f)", + "P->V[65408:65440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 401: Hash(0x623991b0137bb6176e22b64c1af2562b388b21a226bbc74ef37de18d4734768)", + "P->V[65440:65472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 405: Hash(0x799ad148dadfd8652c8276f95ce346978ad201b88e23e023d46affc11db584a)", + "P->V[65472:65504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 410: Hash(0x59f8873a71e0951699ab7738fddfc9508f53058b04d9035772eb586f86fc288)", + "P->V[65504:65536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 414: Hash(0x40495d8d75d7d0cd0f075ff22da3549ff273ae0fe2d31bebfbf327d8e5007f1)", + "P->V[65536:65568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 421: Hash(0x62cfbc553397ac8ca963d91168bb61d89c7814593e633d618d2905a1963f66e)", + "P->V[65568:65600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 423: Hash(0x14c9e5a425e70cd2a1639acc888b155d9d732e94bf2cafff6fa32d5998ea79e)", + "P->V[65600:65632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 430: Hash(0x25063103db577752ba2ee5e77735e1010c719e2da30759d71744b717283c71b)", + "P->V[65632:65664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 460: Hash(0x21679a454663d4f7ad2efe34c66efb1c477d0f77f3a63c6e771c9c16dfc9ea9)", + "P->V[65664:65696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 462: Hash(0xaae90b8072c04100b9a8cabafaa012f2cbf741de2da606c38152697e7b0068)", + "P->V[65696:65728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 466: Hash(0x3d95281e2fef88b470f2b02edc96580e58de83d2738daf8993040825c83b62)", + "P->V[65728:65760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 473: Hash(0x2171cda864d8f1d64bebb7e63e691f2efea5813309fd48d91a6cdec8a6d08c3)", + "P->V[65760:65792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 475: Hash(0x6f62ba5f779a79a0940ae444d870814e2413ddaa7b9379f572de779a95ce6e1)", + "P->V[65792:65824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 478: Hash(0x7502314bdc4ec2547b3f9815182eb508e091a4490593029008d73b12184ab85)", + "P->V[65824:65856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 492: Hash(0x42aa49e49fb40b17ff209532ec918f1619f39ae4864c3cbc9ebfe5196195e09)", + "P->V[65856:65888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 497: Hash(0x1b36e8a8ca9b37d737ab4a3b30f4ee15d7135afdba7babbeb2af01317b694ef)", + "P->V[65888:65920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 498: Hash(0x23fd7fe9b60c246ef5f6cfc37acd166729a6d0257247f8ff0eac1b323050299)", + "P->V[65920:65952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 511: Hash(0x639ff95708eea9b32a39d92962de742d14d62ab9eeaf70d44ae5e0b4349c72a)", + "P->V[65952:65984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 138: Hash(0x79f097c555b2aac1576dfd053e453adfaadfe7b3bf51410b349341e08083129)", + "P->V[65984:66016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 154: Hash(0x7c1f91e06eb6af2eb1e21c114fbaa5858297cb1634aa76bbc2a830e0f43c071)", + "P->V[66016:66048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 177: Hash(0x1d2f44fe75de5ca11d017aa186fe6f1228d3f4014a65c0d740634278f3b1f74)", + "P->V[66048:66080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 179: Hash(0x75df5644a123cc9f254f0337a6c8c95b78514a4057dbd6246e9b3e95f14709d)", + "P->V[66080:66112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 181: Hash(0x6e1315c88572b34d6fbe81e131acda22a0973a0d13314b211133b2199f767f3)", + "P->V[66112:66144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 189: Hash(0x586bad548a4e516b7412f9e75350c02bb6c9ca9ee230d86451c2ca13b40bf7a)", + "P->V[66144:66176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 196: Hash(0x5af192025c16cfb8f79b2b46c6c7a45d65bd26b2bc71e8f5fa2c940960c292d)", + "P->V[66176:66208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 201: Hash(0x27c6b1143101f0fd0fb04cd67917b07f99c7991b6de51616fa9f18158fb7cb8)", + "P->V[66208:66240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 203: Hash(0x2be3d42594472842e7c6b0b82d1caaf7005fd9532d67879a44d780adf37d1ab)", + "P->V[66240:66272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 204: Hash(0x7eef131df4928085950e4f6b8f88394163ee8b8ba864b1b5604ff34447ce3d5)", + "P->V[66272:66304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 206: Hash(0x40065e81583152219ddb83b62678dab30864be3de241fea813780b174cf793)", + "P->V[66304:66336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 214: Hash(0x3364f0255849d5fd038842cd04ab6bbd92687a4455a00cb657591ae78044d24)", + "P->V[66336:66368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 228: Hash(0xa6e6fa2364c1634661ed8c389560906b7808d0ed88264e48e95e4b2408b75a)", + "P->V[66368:66400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 232: Hash(0x7c176c44f31c534851d3f46fb21832303bd31a837ac850eaae5baf3e1e4c386)", + "P->V[66400:66432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 238: Hash(0xd47b9a6b119c5f86ecc7b5d9f8513567d64785a1cc4e41d524debac28a3896)", + "P->V[66432:66464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 247: Hash(0xd3d5d8c7a438301bb81e4248b3bf8e0616cce765825057c88833a6b29be183)", + "P->V[66464:66496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 254: Hash(0x4983a44e7a756840f883ae91883c1f7d8394913c2607866263c6b418bbae169)", + "P->V[66496:66528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 64: Hash(0x277e717556cb67769edf720bea810e92edf4282797eaa96ae86d4430817b96d)", + "P->V[66528:66560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 68: Hash(0x26a1b4f24e5cfe3b14abc6c0595502e266817301eda53791545497896d9bb5b)", + "P->V[66560:66592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 76: Hash(0x50bbf825bc1d84b28aabdcb782ba53069162ce12e07930b7438a262fbde2ec4)", + "P->V[66592:66624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 91: Hash(0x700167c596abac7efe090ba37c6e972f5d0f4cd2a4e8286b725cbd2f3b1ad9a)", + "P->V[66624:66656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 95: Hash(0x7a586f043ba5718b7071ddbcace3ebedc7f5262eba405d13eba6bf2b695bf21)", + "P->V[66656:66688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 104: Hash(0x5af3deda7c8bcd4feb0e3173bf028f6364a7346e9ddae93b8e6c9a3bfaecd72)", + "P->V[66688:66720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 106: Hash(0x389cdbf35018923ce02b0238988267e0447112fd2edb2ffb9d90e3f95fae3d)", + "P->V[66720:66752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 117: Hash(0x48b52bbc6ba6be72cb652e19c4aae42b1fb113c46dc60943df1c8d1063d5fe9)", + "P->V[66752:66784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 122: Hash(0x182603f53ba0d034a5a3d6f4bba261f87ba16e10fba50f24cbbfb16eadd5e57)", + "P->V[66784:66816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 125: Hash(0x6dc6a5727e0347e225cd3432a685dcec164dc457cddb9a872d1d48ae7d556e1)", + "P->V[66816:66848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 126: Hash(0x268cf2032cea41502e75995f93f44b782573a2438cc72ec2c10dc281398fa38)", + "P->V[66848:66880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33: Hash(0xe4a475028f16a448d214b5b760963f0d2eeb2227595e2304ebb8f11ee5a255)", + "P->V[66880:66912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 35: Hash(0x3c3cb871b7d9063dd4bffdda1ff1628a2811fd1aea09754aa049848c2e937fb)", + "P->V[66912:66944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 39: Hash(0x421e3b4052449cad19f4206bce5713953f94aad6f0128a1baac14b43f18b7d8)", + "P->V[66944:66976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 46: Hash(0x3892be6d542790f7b68e27b6d56909f050984c18d373cad70ea7521e417f710)", + "P->V[66976:67008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 48: Hash(0x4f15a2219e8b5d0e9bc8ba39c07eb3575ef2a8837357cd06923d75507c752f4)", + "P->V[67008:67040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56: Hash(0x4a8044680fe56578fb516318d7e68ed3872305c0398824232813409cf444e13)", + "P->V[67040:67072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60: Hash(0x423472cb21ad3ed431ede33eb31bc89c3dd2f9b78a355645325e164aedb77)", + "P->V[67072:67104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 18: Hash(0x7c6501f6114cad9701188f4b3a4758881577ba19a5aed0c270c96bbf3ce2333)", + "P->V[67104:67136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27: Hash(0x42015fcfbd06c2bca6f8d5645d1aceb52b9aedfb5d6b33f383a5e46ef0b3df7)", + "P->V[67136:67168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 10: Hash(0x61d4b8677d28a3560d9d9c8986c3f018377711ff3c428996409d0e38162d5cb)", + "P->V[67168:67200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9986, Column 0: Field Element(0x287a67036de50ace973fdfe81dcf0a326d21f238bd5856aaa6059d28a8cfd55)", + "P->V[67200:67232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 9986, Column 1: Field Element(0x5af3a5719a5e0a15c11e3d048552c17aa8b325eee46027634d303f24cdce771)", + "P->V[67232:67264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13694, Column 0: Field Element(0x31d07077d9048ee4958bb5d65368e2e58c2d52566368859fc3e46e348bbe4af)", + "P->V[67264:67296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 13694, Column 1: Field Element(0x393274bed1a8a9029d11918b427e029b7191a81ce660961cbe74fd14313d998)", + "P->V[67296:67328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 47788, Column 0: Field Element(0x52a31492997e9a0828f99619f18e31e850dc335151d9f006e1a7def40fa3893)", + "P->V[67328:67360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 47788, Column 1: Field Element(0x7c2bac24e6024ec22782f79d85cf24ba73e194fdfed5ec4f89814e892dc97e2)", + "P->V[67360:67392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 111062, Column 0: Field Element(0x5364c4ff30b2e59fe55e9a2c6a109e04a547cd9fe15185daf7d90e7c2359b3)", + "P->V[67392:67424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 111062, Column 1: Field Element(0x680c73804188f131c586879328d775cae8137d0b076ffec88e731ef0ee08d6)", + "P->V[67424:67456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 111287, Column 0: Field Element(0x50ba69d21a793e608e5289a9f3d638043c3b961839ca685c33f9b4a2ea9de2c)", + "P->V[67456:67488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 111287, Column 1: Field Element(0x7566c4ad1a474b62771f612dc1e461298682ae0f71cb23571334d76e66e4132)", + "P->V[67488:67520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 196619, Column 0: Field Element(0x23b8c1acf43047c1c41bf5831a8f4f068284f9ec9dbaa2cbde81510fd9524c3)", + "P->V[67520:67552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 196619, Column 1: Field Element(0x69eaaf42367273e2852ff8412f3f6bbcaa3d2269d43cf09918250fe62d7d66d)", + "P->V[67552:67584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 207747, Column 0: Field Element(0xb7bd84613d4420352854ee92ea33be514794a09603399da2c9220cf2de46be)", + "P->V[67584:67616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 207747, Column 1: Field Element(0x2a60da6f4a354eac58392f5dbe80755f905a1721d1763b04d9493706ea7f96)", + "P->V[67616:67648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 213614, Column 0: Field Element(0x128c1d60fabe6ae6cc46ddc0b5d46c945cd6c183fbb4d2b2fd1a0d956976ab8)", + "P->V[67648:67680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 213614, Column 1: Field Element(0x46ee1b0b2878dfee7590899ec7193c405bf2a7584888e4e5207ad69dd431a29)", + "P->V[67680:67712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 249097, Column 0: Field Element(0x3b7c77487cd9fd19295af5a521fead83af6ef3e9fddcd8f3ef94a528375e21d)", + "P->V[67712:67744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 249097, Column 1: Field Element(0x4f9fa6ea493a461674b2c934820ab178b63ec2bc301426e678e14ea77ecc8e4)", + "P->V[67744:67776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 282737, Column 0: Field Element(0x5fde4e11eec2c7b2634cee8be51651df90ddb3f5038e402e248839437afb5c5)", + "P->V[67776:67808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 282737, Column 1: Field Element(0x3b0f15179d5c3e286ccd53a20d2692b218ee036dd7c31bf8051cbd0dbea4e76)", + "P->V[67808:67840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 289965, Column 0: Field Element(0x67e9fea724ade96b99b53b11e190a5bf96ae198bfcee8aeb6b43495b671a13)", + "P->V[67840:67872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 289965, Column 1: Field Element(0x6f708a181b6907e1b3485ed68ef18c241d861453084eb1a7db8bf58aa7561f8)", + "P->V[67872:67904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 291205, Column 0: Field Element(0x2bc996f60b5f0289a454d1a900718a5d950f37d14d217d443493a6c97efd3c6)", + "P->V[67904:67936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 291205, Column 1: Field Element(0x7cf30de68a4de19677711c2aa6ae738f46c6d82eb67343107bc516128b8a8f3)", + "P->V[67936:67968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 292904, Column 0: Field Element(0x672f277070369bc0f08b1635470385ce941ca37f635e402926ee63e82759dbb)", + "P->V[67968:68000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 292904, Column 1: Field Element(0x42bab8f60f0876c38a229545e040af89574c8bfd95777a19885b36811e398c5)", + "P->V[68000:68032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 295598, Column 0: Field Element(0x2c27074f2a4fcc98af9853bffe31a116d8cfaa677f53e84a88bdb9bde7189dd)", + "P->V[68032:68064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 295598, Column 1: Field Element(0x327c27d1a418c0a97b481e4d5e43df04333beed2ef08fb38985d9d8aaf87989)", + "P->V[68064:68096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 303856, Column 0: Field Element(0x44cf37e060502d48dc0cadfd89c45ef1d50cfc8d00cc603d00a026f414a28a9)", + "P->V[68096:68128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 303856, Column 1: Field Element(0x63b77db5360468955e958f14d02c258fc5f09afeb65b721a9b9b023ca3f6e6e)", + "P->V[68128:68160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 319248, Column 0: Field Element(0x6521c542d868ccb0814aaa68d263f42b4b1d15bd4bf6b7b295c1f9013dfd613)", + "P->V[68160:68192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 319248, Column 1: Field Element(0xba015933b1ef3dc5399139490832dc2cd5ef4ded31576ea73c75fbf2da1f8c)", + "P->V[68192:68224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 327009, Column 0: Field Element(0x5b4c548f45917a1cab93e76221f26f35cd9c368aaa08b86532821f044a80bb6)", + "P->V[68224:68256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 327009, Column 1: Field Element(0x48dfbd513a8b5dbed08b58eedfac39f08fbec4000c7f5f3c793154f1cb6b8c3)", + "P->V[68256:68288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 337022, Column 0: Field Element(0x56c0acd9e06124796bf5c56d1995c1ae0b0060ae0f56f4c251168f68fa4618a)", + "P->V[68288:68320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 337022, Column 1: Field Element(0x235cb0ae99fa81d15c0c73929b13cd0329e6ceea213db6c3ccbb331ba59a19c)", + "P->V[68320:68352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 341468, Column 0: Field Element(0x347c827a8a2e3505bc6c05c84f46e5f69525027fae6daa10fea3e0850ac8bda)", + "P->V[68352:68384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 341468, Column 1: Field Element(0x46e6c09ba49ef2de8b7ddee2ba549acf09be08286f1664849870affd2bc42f1)", + "P->V[68384:68416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 358972, Column 0: Field Element(0x93a451d256695c3f882323a334485f642ef4a343996a6f2cccce5763264836)", + "P->V[68416:68448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 358972, Column 1: Field Element(0x42d8d4e91a82b5a9d92152f37edf2a8a7470f0d435790c36c39a4704fcf157e)", + "P->V[68448:68480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 414746, Column 0: Field Element(0x5fc2a65866e2d6d3316f115be4798b5a25d1c90a4888b609eeb7fecde8630ab)", + "P->V[68480:68512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 414746, Column 1: Field Element(0x3ecce39df4740de390de0aa085334b6f45008cc22a7f788f14b84fe88417292)", + "P->V[68512:68544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 416469, Column 0: Field Element(0x1430bc73eee23670dcbc70cb8289cee1b823f95a2f098e2747111e5f691c11f)", + "P->V[68544:68576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 416469, Column 1: Field Element(0x72d20468a24262387b404820c20b5432ceb49119ced5b9e00f437d34bb2e259)", + "P->V[68576:68608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 420315, Column 0: Field Element(0x5a0cea3c59ac52a60f30aa5e2d5efc51243bdf7b534b58c6ba3ec8fb56c5cc4)", + "P->V[68608:68640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 420315, Column 1: Field Element(0x4051148c3508a29f06bd1cf5a4a41e9f45b1de7b9151ff2819c58fb95d961e)", + "P->V[68640:68672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 424138, Column 0: Field Element(0x246a1ae1a6cd4aadac6a1d77e88385063a5bbe17e40a83a948260f11ccba544)", + "P->V[68672:68704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 424138, Column 1: Field Element(0x9e3e2a809e7421d9c267102b20098fe8b47276066a24a8dee4eab13e03faca)", + "P->V[68704:68736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 433154, Column 0: Field Element(0x4724171020d43426aa629db9d4265a6a0fcb71e669696d146a0cae7658e6259)", + "P->V[68736:68768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 433154, Column 1: Field Element(0x232ffbfa0c30f69db757aa7dc1eedebcbf1f24c0fb9542b5cdda5b078a6642b)", + "P->V[68768:68800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 443663, Column 0: Field Element(0x62c31ed99e796e380442c2c390ddf4e0bdee7e17771d0050b9eeb70583465d6)", + "P->V[68800:68832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 443663, Column 1: Field Element(0x7cc79c2d4349a17e2ba5fa40c7ac82f7fd12284b6cd8ca45ee48d7e00a180b1)", + "P->V[68832:68864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 446875, Column 0: Field Element(0x5429ca42ad8eacd12e53dffd633d1d5e7ddd176adcbe4905118667262808925)", + "P->V[68864:68896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 446875, Column 1: Field Element(0x3255cd1fcc6851447f19aeea9086168b4c9f921ed7bf002eefeec34af989150)", + "P->V[68896:68928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 458224, Column 0: Field Element(0x6c52ea48a625eeb5d7e487ba0e276235cc0b13ad432aad97018d368354b59ce)", + "P->V[68928:68960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 458224, Column 1: Field Element(0x597fa5e839c592bb11d7f42b016ae4ab493e74aaba98902024d6aab06500b4d)", + "P->V[68960:68992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 486108, Column 0: Field Element(0x44bfb4261874d9762f852f8f2ecc6e3bc0a0da15df8fcf5f9d698a2afff1ba)", + "P->V[68992:69024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 486108, Column 1: Field Element(0x584b622984e4834af88e5d7270acd5ca6fc1b9a87076cf7a808616bc43751e8)", + "P->V[69024:69056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 492471, Column 0: Field Element(0x52186aab87388e5376884ffa080113da08cd3782f6edfa7a4e98a3b9b6bebfd)", + "P->V[69056:69088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 492471, Column 1: Field Element(0x3faecf8d70ef7543ef51f3000a0edb188e694027889ddad82804868bb3872ed)", + "P->V[69088:69120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 498960, Column 0: Field Element(0x47986b247b1d0f2acef8efd989cb57948808d774c9ebe88c50c84a653a958bb)", + "P->V[69120:69152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 498960, Column 1: Field Element(0x1be2b51361358d303a86244e8aa5d0d95f85a9fab715e4141b24e1e974ce627)", + "P->V[69152:69184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 520375, Column 0: Field Element(0xea2f3fdaf799ab725d2e9c22c971279571fb10c096ef1d464642401e181827)", + "P->V[69184:69216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 520375, Column 1: Field Element(0x715c3f49fafb7e11337a7e43f8e2c85bc09c2a7c6d6afd1135b024fc037958f)", + "P->V[69216:69248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 534275: Hash(0x5c4f09f42abf46c20b709c7ccdeacc0b915d268748e6c4266f8d9cd96a20b60)", + "P->V[69248:69280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 537983: Hash(0x588db8f8ce5d60f66b38828cdd1f1665252d9c59f3d8c3180f8fadb7be84d81)", + "P->V[69280:69312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 572077: Hash(0x24600f3d20e052e56fabecb8c42c74d657a71aa2d96df07ba487cbeaf4ac56f)", + "P->V[69312:69344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 635351: Hash(0x6c609548693d0d6fc21d213ba361cb6a9853a1d7f3a84be79317e5583feb5bf)", + "P->V[69344:69376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 635574: Hash(0x6967f0134aa636a436d37b8596022682656df44cb805609dd2cc150a4c4c3c3)", + "P->V[69376:69408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 720906: Hash(0x78026c98af64d7d1e4c11f50a9150a95005bf51b8bcd531c1ae8d63b0ca8e23)", + "P->V[69408:69440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 732034: Hash(0x68edd29ece0e2bdc8f50a9d15b8e6f2759aa727d8ebd6db2bfc59785c336a24)", + "P->V[69440:69472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 737903: Hash(0x2dcf1dbeceae3524e38acad0b764012241ec67e9a235f85d950a6d46daf928b)", + "P->V[69472:69504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 773384: Hash(0x1669037aee85c52c851c3e16816fe6e7a219a44973b423bc8dcadacafe4c14d)", + "P->V[69504:69536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 807024: Hash(0x1b5e60c969c666da2deb1ea583aa649d50cd68d08f4a9ba804e66b150a7d89c)", + "P->V[69536:69568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 814252: Hash(0x2c66f19841679cbfd94bf4dede6d088c1a2cc2a34713e4c898e80b98ea8481d)", + "P->V[69568:69600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 815492: Hash(0x2a67bc74835ec8b41c45c39ebc12db21b42e1d12b10596ebffb2690010257a9)", + "P->V[69600:69632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 817193: Hash(0x4d3b0cd78f0f74fab4eb5dab99fa72b21a8a0cbf412939ef416278a522c3e47)", + "P->V[69632:69664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 819887: Hash(0x40deaf8f53b86519ad0b02c7638eb6aa619205fcc875a93a589c42fe1a54450)", + "P->V[69664:69696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 828145: Hash(0x49c6cf995c437f7fea8344de095542aab432379a10afa9be422df2f8e9bbc4)", + "P->V[69696:69728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 843537: Hash(0x140794804f6b13b1aee8fd914511da8cf205343209741a31fc734027495f4bd)", + "P->V[69728:69760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 851296: Hash(0x7aee70cf402c2a62db620b9f8fe2a10443848b11927723c51c5a8a68debd1e5)", + "P->V[69760:69792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 861311: Hash(0x65836575dfd01c39b988888778862b1cb4fdadb556a1914a1cd10071969fa56)", + "P->V[69792:69824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 865757: Hash(0x24b103bb76b7dc4d7a02c5398e963663e286949cdeb79c487b9ca015a9eab0)", + "P->V[69824:69856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 883261: Hash(0x667e7914c022ea14c96ce919cfd0482121320bd53e6f851f2cb98385c9d6768)", + "P->V[69856:69888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 939035: Hash(0x6c3f6b62db43b02da76b4901d61f4e4faa5873319b9d1b63d04d30e48ebdd5e)", + "P->V[69888:69920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 940756: Hash(0x7b3a3a7a62ae8a584702a1d5ed8dcfe019ee3320c32ee9702cc8107dc384607)", + "P->V[69920:69952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 944602: Hash(0x5cac2a4de1fa0101adfe4ded13565b637c3ee0cccc65656f3f9662a913e0cf7)", + "P->V[69952:69984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 948427: Hash(0x6fdd1793a86efb21610e56232448d0b7b36ab790c3d7478058f56f9f3d1d2c1)", + "P->V[69984:70016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 957443: Hash(0x492ffee50e8bbf6c8a8cb0c4b4e46185f3ff78cd6575bdf44b117cd4d42f536)", + "P->V[70016:70048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 967950: Hash(0xe7378e0503550df19e241708c501e60673edf89e393a912ee47d113db08e5e)", + "P->V[70048:70080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 971162: Hash(0x64249a5ee4b29cc74e6177342b8721e67383590488cdf2d6d10512801d3f07f)", + "P->V[70080:70112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 982513: Hash(0x2703b960bfe69fd37d4a6bcde6b3d9bf19ce984823fcc5faa7de4c5f7123720)", + "P->V[70112:70144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1010397: Hash(0xf1c61b7daa73b2fcb320bcfb3cd8ab0249122907761c00074254c5cbc4d5da)", + "P->V[70144:70176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1016758: Hash(0x629b412ffd4956790862a37261ad766e571a6a3fa4f3dc59bbccbea702dcb9d)", + "P->V[70176:70208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1023249: Hash(0x684614f047e384739962d533bc8ffc341511aa1d36a09af289de63d7f040af0)", + "P->V[70208:70240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1044662: Hash(0x1da90817a003f8f1d5e8fc3b8c68951d3a69067e49ebe2ee2ca7b05b62357f7)", + "P->V[70240:70272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 267136: Hash(0x65cccfff96cdc9fdf583f8cc25044bc8b91695663341e302bcfc602f395c6fa)", + "P->V[70272:70304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 268990: Hash(0x17e28d0a29ab2d46508d46cc9531335e896ba0dcddba735e0fa951864c0a29a)", + "P->V[70304:70336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 286039: Hash(0xf65bc371b85168b4d9381c6f2f859ad3537b2311ff354ce16978f19cab9cb3)", + "P->V[70336:70368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 317674: Hash(0x855ff27ec5aa3107e781f66b620b9fcdc3758aaee3c0e316752daf8820a275)", + "P->V[70368:70400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 317786: Hash(0x7ee95ade53ca85286d0c9f6ee64dba7684cdfef56625cdb992ca42fe0b21406)", + "P->V[70400:70432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 360452: Hash(0x5abb51010e80fe6bfe6dd01f7da1dcd82764055d1d9fbf319856bf7becae4b3)", + "P->V[70432:70464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 366016: Hash(0x788bcfc6633a60c7206678638a0c932170cff5fc02b6b01334c18b6dfeb49e7)", + "P->V[70464:70496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 368950: Hash(0x3c66faa5c4296268ca224556b96547497f3b4ad6d189829457758b329b283e3)", + "P->V[70496:70528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 386693: Hash(0x70cb3138eecc313ecab3b67001ac771426bc21075eccfdd4ccacadfad7f9ce6)", + "P->V[70528:70560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 403513: Hash(0xd46a6f353573f1c009161a7ee8419623f146751cf1162b4767b56023dcbee3)", + "P->V[70560:70592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 407127: Hash(0x36546bd6c75708a44468f83a1965d33b2054a1dd0f032515a284161528c0fb9)", + "P->V[70592:70624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 407747: Hash(0x19c106b88ce0f959accab5369cc8c3a99cdabdd7b508c07e307caaaabb37a71)", + "P->V[70624:70656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 408597: Hash(0x4b504cd9028b7c70f9993b7b5318d938d1713ec825907ead8943b658e13ba54)", + "P->V[70656:70688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 409942: Hash(0x5edcbe5c6d444093f0809719d25f25dc65287464d1fa3ad56325f075bbf1af1)", + "P->V[70688:70720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 414073: Hash(0x14df7c2f18486f9a9b87efbc78e71b81a84e1d6dee8c68414a6a07fe1cfd2a)", + "P->V[70720:70752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 421769: Hash(0x19363e565ce1a83b8897a88b464de13cef8cd91da2b69ab4e01d59731d1038b)", + "P->V[70752:70784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 425649: Hash(0x3e987b8d5bc0e47295fb349ee58cf0209083700493af9fd41799f36404a8901)", + "P->V[70784:70816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 430654: Hash(0x46af32116653f9ff1b01e34a1a27dac6b070207353c71a4c8502a946ced5c88)", + "P->V[70816:70848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 432879: Hash(0x38e0d3c73c118d776af330c3303aa39c27af84a9e8f27d4992610a313e84128)", + "P->V[70848:70880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 441631: Hash(0x33f8f720da5512e6b5950c8db84953fbde4b5b0141ff8b753acb98ef7d1096b)", + "P->V[70880:70912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 469516: Hash(0x1ff02e1e80d1b6339489fd9170e330f06d76e2abd176d104a82480af55d209b)", + "P->V[70912:70944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 470379: Hash(0x326f21d407349d0ba6dcdf16fc069f2d2c9b908500c3791661ca429756d49b2)", + "P->V[70944:70976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 472300: Hash(0x516eaaa149e3bbc1165ed596984a99d7bbec90800c0730941da1e6199e2a608)", + "P->V[70976:71008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 474212: Hash(0x35a12c6a9bfd036a2d02ebcffc12071329c02342ebf172af34941c3f076fb18)", + "P->V[71008:71040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 478720: Hash(0x69801321a8298ebe106dd51406418871af477fd6d60e8759bb6023ad7ac3ab7)", + "P->V[71040:71072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 483974: Hash(0x6941f5e6027766cfd046bcc086e39581d8d9502c207f5b3f38131469a813739)", + "P->V[71072:71104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 485580: Hash(0x4b59f6d20936aa973a555a939257f1df0e6f6f32bef16890bbd4c9f36325696)", + "P->V[71104:71136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 491257: Hash(0x3a276fc24c158ccfb4c826d1407d7b32706c3bc84f4693967dfc33bb35fdd60)", + "P->V[71136:71168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 505199: Hash(0xfac7dc214bc9f51db2ecd7ce46f360b28ac7dd2c38dead2fc21fc6127cf617)", + "P->V[71168:71200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 508378: Hash(0x251644b6960823ac499d709991e25c556449d37befa7dca749a20c8fb3fc74b)", + "P->V[71200:71232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 511625: Hash(0x3353637d8838eea12601c5d37d883b4f9e09e4fd76d591dc918390996932ff9)", + "P->V[71232:71264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 522330: Hash(0x54dc0a503611ee728ff42405a7ba9f05dd20fde26ebfecd900cb584a94a7433)", + "P->V[71264:71296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 133569: Hash(0x29742f3d82cdd5420bb0d1b5c8ce6d9fb46a18e0dbb7fcb591e06c5fe1efecc)", + "P->V[71296:71328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 134494: Hash(0x668113a556dce9fb4357cd617451c45dadf63654b91c76e6882a019984fc096)", + "P->V[71328:71360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 143018: Hash(0x3feebc8d781254e5c0f56278c2038195d6fa270214cd230d07cb2c910a1385c)", + "P->V[71360:71392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 158836: Hash(0x7eeaff17b765013008624bf3605335862f402fd1c98b40228157554ccae79ec)", + "P->V[71392:71424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 158892: Hash(0x46c68dd646458d9044e699eb4f4ae50de0c77424e87805b2f614a04fbd144e0)", + "P->V[71424:71456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 180227: Hash(0x153a5aa3362037962e692241d4ac7e5b3d567ee8f4346e13eb6a000ba1efade)", + "P->V[71456:71488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 183009: Hash(0x5c59a33ff1396daa40a64e0292e249ee31db4973a64605593f8874daf8017d4)", + "P->V[71488:71520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 184474: Hash(0x74780358afad480a694538c7dfb60ae948f65815660cf5e0443cecaed9a915b)", + "P->V[71520:71552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 193347: Hash(0x6f13ca4916556482a1d3115acff986305e292f2b932c8c5f09aa7732d6e6c23)", + "P->V[71552:71584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 201757: Hash(0x90fcea9369886304a89fbdcb4727dfc2adcd4a29606b2a81196a95dbed6b97)", + "P->V[71584:71616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 203562: Hash(0x73867129a37d09e940cdcbcfc03a4fa8de90a0cb85f0611f1e92f8a564b1205)", + "P->V[71616:71648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 203872: Hash(0x5edaf9b17e837faf85e84d1a38cfd30d2a0d9cc6a80a7844b7a0181da3e1085)", + "P->V[71648:71680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 204299: Hash(0x5d09ef8393ed9f7d6237ebf2a08f5afa9569bf036e8a3459aee38f1de05f85d)", + "P->V[71680:71712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 204970: Hash(0x114e123a4ee18bf7a64d2597d44bfdccc6be553bab447168986e0d72eb8635e)", + "P->V[71712:71744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 207037: Hash(0x3f330a06258bc7eae48828b3489fd32aa5f0a6a0621c582750994c7d0057c8a)", + "P->V[71744:71776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 210885: Hash(0x8c0a66333c77bf0dae3b2b7f6bf15ae4d3b2053fdb0973a74b5a1052b3ee80)", + "P->V[71776:71808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 212825: Hash(0x1867d71e0ca4de13a386d7a4e8269789abe8ae8c3540a464b0f9c3b88a3eee1)", + "P->V[71808:71840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 215326: Hash(0x29709ab230de44c618e3354245aafbc122bf7dc5cb4d91052befee91682c700)", + "P->V[71840:71872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 216438: Hash(0xfd9cf154f8605da6522505b03013f28d9ba3ec325f9bc45711f2a5dbdd9fac)", + "P->V[71872:71904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 220814: Hash(0x1176bde234cc80085d05876ee683bd36f8b60459ff4a3baf4b566ba45fde6a0)", + "P->V[71904:71936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 234759: Hash(0x49fe4cc812b660dc32f511e1a4d532be24d6644544b88fec48d5352f3a615bc)", + "P->V[71936:71968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 235188: Hash(0x58149a0ad7527603ae8e3ebc61e7856c6b1ab8c7755761f58ed0edf3fd881af)", + "P->V[71968:72000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 236151: Hash(0x101c3e91e0b9ec7f021681aa1dcca9f6e6f1a53125f42d7bf45197946a3eb00)", + "P->V[72000:72032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 237107: Hash(0x1ad4d181e3fb085f4d3bc307834827197f303f89c46137046608622219f3f63)", + "P->V[72032:72064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 239361: Hash(0x6d065dce881b5e749c4e19b542a2659ab32828625ec1d17e0f774102e38df92)", + "P->V[72064:72096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 241986: Hash(0x7035ce9cb37426e8e48ceb1aef19d4b8e419956c6a7208d513aa2a47ac381e2)", + "P->V[72096:72128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 242791: Hash(0x5391897cb27fc2d81ce2423094d9f45ea43df7af1dc0a707448aa398ebdeecc)", + "P->V[72128:72160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 245629: Hash(0x321284e80afc00a6d864bdfe4bf1e6f16e745deece6a83c00893ee84042be1c)", + "P->V[72160:72192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 252598: Hash(0x5dcc7474bd0179bce041b223dc98ddab4f044d9065c524dbfeba3c74afd3761)", + "P->V[72192:72224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 254188: Hash(0x33c43063f1c5f0ef318b8832719eafad356a7f433c0855472e47cabde462142)", + "P->V[72224:72256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 255813: Hash(0x76125d2dbab8e52439900f6a310c5cf68e05193eaf62083b569ca7ad1823ec0)", + "P->V[72256:72288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 261164: Hash(0x37fa86ffc4af2c4f021dd26acfb1b12de40e215621485ffb7321a9112c01e75)", + "P->V[72288:72320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 66785: Hash(0x7f7c110f4f0c019c5204a31944ea527b91d51975fb9573d3fb6be14f6304655)", + "P->V[72320:72352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 67246: Hash(0x5fd308fc26fd8684aa33e903ec16b19a4d83cccfecd570a855bd041d12c4e56)", + "P->V[72352:72384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 71508: Hash(0x7d745d46d763bda56823b9a3e51505a3a9c608bf3a4dd64570c2586107563d8)", + "P->V[72384:72416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 79419: Hash(0x60b243c3dfd8440ef56119d4fc40b8fd7556ecdd295c5af10253250adf5059c)", + "P->V[72416:72448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 79447: Hash(0x454d290acf96912ba3e1b00ebe3fd096383f8af0973127a7fd6bc4c72ddc3d3)", + "P->V[72448:72480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 90112: Hash(0x97dd3e10d8d0d6ca2eb60664f3ebf5b84ff33333edfd991754a22b9a113f5b)", + "P->V[72480:72512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 91505: Hash(0x387ef97b3829df2db8f95985f71e79b9942a42351a0b3a8e89ad886e2ae45dc)", + "P->V[72512:72544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 92236: Hash(0x1f19b1b1288f1ac49a0d4244cda18988cd59ea7e851c808d1583a0bcfb96715)", + "P->V[72544:72576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 96672: Hash(0x64e1b77ee7305179934a9089b0e43cf682b3800d91e44dd14b92003e0c1a7de)", + "P->V[72576:72608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 100879: Hash(0x43a908b1b6842ba50534c51429ec560c153ecb93c387e469cb53bc99db6d997)", + "P->V[72608:72640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 101780: Hash(0x1c9e964a61a38e881d3181cc21f24feb824d03808a4913c6be1a8e0cf4001f4)", + "P->V[72640:72672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 101937: Hash(0xf0e5e1ae935c33ddbb27c32cf1e0673a763e35ae2da47210da59a1b4c7f768)", + "P->V[72672:72704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 102148: Hash(0x2642e0335c333593980bbcafe38a579485c809c68c7aae9082bddabec665c7f)", + "P->V[72704:72736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 102484: Hash(0x2591c0a13f0905c011ec877f5539928c6322c2d0d5a81284a1e993f966fe3ea)", + "P->V[72736:72768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 103519: Hash(0x69437d3988be7f4fa7c9c6293644c5bc89f63d5e8c2b0a29fa2ec6b1cfc8a60)", + "P->V[72768:72800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 105443: Hash(0x2641946dee7ef240af51b00a4a1c005c7b51dd1bd02752fb64ce99cbc0a509)", + "P->V[72800:72832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 106413: Hash(0x4ac1f2523736738bc5e22247d8184eb12ca2272bfc92e45a7748936a6fc997)", + "P->V[72832:72864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 107662: Hash(0x74c4dc7f730706eac0a98fb829a1bf87a1b552a6db23a5a90c55d7c56d074a)", + "P->V[72864:72896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 108218: Hash(0xd006c20b379b0040947e1731fcf29d5f3722e4098ed9f34b4563d66168c225)", + "P->V[72896:72928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 110406: Hash(0x2765cedd0e14d746c7cd22b2be7990c7a6b4ca912dbc74d35936553776030d5)", + "P->V[72928:72960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 117378: Hash(0x197131aaad8b8428fea9c99479b39f9f665e5121c851a270d453bce5dd760e1)", + "P->V[72960:72992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 117595: Hash(0x5e27945e0d4044c243cd446872c3620000321c018aa9f277b8d79dd95ced3e1)", + "P->V[72992:73024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 118074: Hash(0x5fc23759816730b7e45f06dcac010d0db72c1c87a7dbbc02a94aa340dd6dc89)", + "P->V[73024:73056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 118552: Hash(0x17b943eafb8d199e6a092e60a320019053a05e1b2ca4e6f7ece237e55ce5a77)", + "P->V[73056:73088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 119681: Hash(0x70f3039ae4dcbbcc68e97f54072ea3dc907feb83d7004e030e15d01b4cc22e1)", + "P->V[73088:73120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 120992: Hash(0x48eae52ad928ea3c2eb32cc228d545602b9412f34df9cbd1e2548ad63b2e75)", + "P->V[73120:73152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 121394: Hash(0x7599686759432df4e5faffa662bfe837fcba7d1976cc8a62bf33ded0db46329)", + "P->V[73152:73184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 122815: Hash(0x3953eb43c1b2786235a0544f08b8150143c879c936eaa1e2aaf0bc9385785da)", + "P->V[73184:73216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 126298: Hash(0x3e9c9e8f4dce9a20188fcc32d5870b1c63a28dc4d78e36b3d037defdfe73fb4)", + "P->V[73216:73248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 127095: Hash(0x40ee3805086a44afb863f2d057ae13ce4367274f3da9acbcc4d044dc1d291a6)", + "P->V[73248:73280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 127907: Hash(0x71185948383992f76d28da94801e98f8087537b3e7314ce7a12cf06f5ca15c1)", + "P->V[73280:73312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 130583: Hash(0x700f32cfa5f6ba552c49d7bc67acd2360a9e723cb2fe25a76303815c7d2b431)", + "P->V[73312:73344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33393: Hash(0x36d5ba30419f6c4e262749b05e0a719edc4ba4716916e2ed983e3a94644dc2d)", + "P->V[73344:73376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33622: Hash(0x36c21d16880b12e3b117ddf0455bf97a57906eecf317dbc90e104c3687132ac)", + "P->V[73376:73408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 35755: Hash(0x3349304367845c680d0a6a6bbd821c5701711c8753f29bc705929e87875735d)", + "P->V[73408:73440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 39708: Hash(0x2fccdd3f90d659809461cc02c1b9e3b3144d3978b06a8208dca692e5272a468)", + "P->V[73440:73472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 39722: Hash(0x8f4d1574e599ec937040c172695e7c5a798873adae14bc9d4a142eefda45b2)", + "P->V[73472:73504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45057: Hash(0x5b4b86581a4cb32d1e0e0d39effe78edf22e64229677df915b87a5fc38e61bf)", + "P->V[73504:73536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 45753: Hash(0x40eca774cbce94db42c6e0b9a9320b6663fb033d46ebe080a60478fc965f938)", + "P->V[73536:73568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 46119: Hash(0x675e64db3379512c46ccc9aacea0ca985229c8c10637f784dc25916974747ea)", + "P->V[73568:73600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 48337: Hash(0x1d2f8fa131f890c881f4dca71577eff75f88ec0e59498879d9d5991f2794120)", + "P->V[73600:73632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 50438: Hash(0x7a4ce8c76e14f079bbc674ccec3c28d4f76d2c6e2a27a7d04ce6444763c75d6)", + "P->V[73632:73664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 50891: Hash(0x604752428eec7a2c3821ce9e008032a6e7175ac13f96df9c92a638c803b6e4b)", + "P->V[73664:73696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 50969: Hash(0x20fe7834ff97d8cb4f287653d210d232f1eac8fb2b59d80be48bc144b7bd952)", + "P->V[73696:73728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 51075: Hash(0x34b89d2b369ee6d567d07ef2b89f3ae7a28884a5c6b33ec8f5730f6bcc1eaaa)", + "P->V[73728:73760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 51243: Hash(0x5a6555c04bd4e391368003d8a8977b5b1d10a9c88577c0b3aa605c6177d12f4)", + "P->V[73760:73792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 51758: Hash(0x2d3de1b96758d05f42c34c8d07b0634544f17a091ec979fb2b57dc8357db549)", + "P->V[73792:73824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 52720: Hash(0xa200d5898883da063984905f82656510ba0454dab3c20526e34b074e87b7fe)", + "P->V[73824:73856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53207: Hash(0x622655db5bbecd20472edad2d9ca31f231de53106ff36e3a794cf0def5d1ed)", + "P->V[73856:73888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53830: Hash(0x4ecb1e20f9b6c844a7bfb963e7b44879139471f7ca05d58fe65af3b6bee9c00)", + "P->V[73888:73920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 54108: Hash(0x114f185bcb5b4cd58bc53c79e0ecd67dc7c0a6500db0eafe9951c095c28ee01)", + "P->V[73920:73952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55202: Hash(0x311ba9eacb84ad1cab40081b6c4ff4d28b19ae80c90d9ac3fa27841a06c6ba3)", + "P->V[73952:73984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 58688: Hash(0x50fe632f6b1aa295ce3833c388e963dcc6bd2ea90533b429d3afd1f07e5655d)", + "P->V[73984:74016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 58796: Hash(0x532c2a113c81444041e3dcd205df7457f5d5723a4dcd8d900230fa0e63f2e75)", + "P->V[74016:74048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 59036: Hash(0x35e12b2d0461db5ec2917b3c09ad5fdfe15e2b2f2017af4d9d17e68bc928af0)", + "P->V[74048:74080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 59277: Hash(0x536c4d006107c3e4e2b30875805e2fc29cfe9fd3faaef62e5c081b89d7fff3c)", + "P->V[74080:74112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 59841: Hash(0x7a332b8494fb0a8415b4127a05d960d8c4becd1167fcd2b415e4e3222bc492)", + "P->V[74112:74144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60497: Hash(0x6e17b874cc07d1176026db60040aa1faaad67e7a4ecd38fbd94cd8ac8b58b7b)", + "P->V[74144:74176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60696: Hash(0x4080f77306f0c9ccdce2f1a4ee25284101bc0177e8b7b9780575448399d368e)", + "P->V[74176:74208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 61406: Hash(0x1bdc8ec3d87295c8edec0e4f9e67aeab69f69312dbca6431e43b7553c0adf40)", + "P->V[74208:74240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 63148: Hash(0x6682f5b6e5719923b99d55a1992cfd44813eceba114d1da77f11d1428094a5e)", + "P->V[74240:74272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 63546: Hash(0x5b24cdbe6e8e5d353e3b2c5d8cead21401784cc1f5768047d0e691cca616635)", + "P->V[74272:74304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 63952: Hash(0xdd91e5090be268ac06816665f51c06b993260d7e623d7ad497a48b9cfcb385)", + "P->V[74304:74336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 65290: Hash(0x5b94d6743954efe3331c3e5bde85660224707480d25fe9172f138641f08e43f)", + "P->V[74336:74368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16697: Hash(0x39d75507d028a5724d3db26eb3815b0daa0ad87887aa11139ddbbb5bfb9e582)", + "P->V[74368:74400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16810: Hash(0x2df707312ece457af10cfa9171f121987db9306101984c4138db6ab328c1691)", + "P->V[74400:74432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17876: Hash(0x1bc91cca677eb8624d233ffec534c417ca5fd273114ebf91cb553a5a4586512)", + "P->V[74432:74464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19855: Hash(0x677d387664979a48b56fc5a3c86f88ff5e29fa0c1bddf2f26cc6b84676bc69f)", + "P->V[74464:74496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19860: Hash(0x270d932daac8eecce9954952693ba345d769363ab24d96ce2920773364ced52)", + "P->V[74496:74528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22529: Hash(0x6a3a712f32ae5d907c3ad650e6ec7a8df3e8024b1a9326ae60d2f0dc94f05b6)", + "P->V[74528:74560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22877: Hash(0x70823830bdcbec081252cc8e91cc6e04bced0c3c7dc2352c3f5c1c76a780bd5)", + "P->V[74560:74592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 23058: Hash(0x202972245e29d06a32b16f542d2e14d9164e7d637542bec4e6e933a8f477463)", + "P->V[74592:74624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24169: Hash(0x2f387c0327ceab67b99f3567afbfd42f41d6da0e35647cd89353af9f46ac648)", + "P->V[74624:74656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25218: Hash(0x569a371b2e1ad4bc98322bb46e471581abbc6b497bc7a766660cb6c0a73d0dc)", + "P->V[74656:74688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25444: Hash(0x3f59ee07adc9d2482f86c58627caea27b2c40b1d7864d54b209eee465654090)", + "P->V[74688:74720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25485: Hash(0x508d08af9a7df610027b2a13abfe894fd2a1e660daac2d7e700b0a2e6c5334c)", + "P->V[74720:74752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25536: Hash(0x6142ba1019852c6338dfe0c5fb941c34ef8487952a38713fdb8c9f5d4096300)", + "P->V[74752:74784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25620: Hash(0x52f6ecaf666e5825dfd6cb667a6204705b15d0b3ef15b8d0c9eaae16366f0d5)", + "P->V[74784:74816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25878: Hash(0xfa4f010398d4bdcae90ba3bb8281874688c3f879c363a62563723cdae7d46f)", + "P->V[74816:74848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26361: Hash(0x2c3671b8a3441974e75057027795bfd86d167dfb6ad6d97bca64f3d3435bdc8)", + "P->V[74848:74880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26602: Hash(0x354f28e6f0c37e3714e2bd01b30b7fd3921243fb84055c5459ab6162fa2758)", + "P->V[74880:74912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26914: Hash(0x620b1a46d4be6d29dd19df746ade3ad3dd51e091baccd52ebda29e2ad375162)", + "P->V[74912:74944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27055: Hash(0x401b1ebffc3f55ba1b911ddddb7eaf2c4df8887943bc4c2464598ea2c0cdcb0)", + "P->V[74944:74976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27600: Hash(0x1d5fa43b6247a3c3a096a8d6949ca78c953fc655cff32b3b3e62423d6432d39)", + "P->V[74976:75008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29345: Hash(0x33172f1709221df105dfa4fcd5cd4342fe397e6341efbef205b7a08290b3ffd)", + "P->V[75008:75040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29399: Hash(0x46fbe0f9ee9b9e3abcde688a23ba2663ad7ed3a97e12f50489bf856c970901d)", + "P->V[75040:75072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29519: Hash(0x44cf1daedbdfbae73b5b3952bf37b735fe38d26f00f4c8a8edaa32bc450e45a)", + "P->V[75072:75104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29639: Hash(0xb8662e2e2bc955fd425215d4c8e38d6e0d89a94f9a7e159405a3ee58677397)", + "P->V[75104:75136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29921: Hash(0x3a2021c6b712e6ff76f59e4e553091ee2bbe181b85cf3147bdf5333dc1f6e8b)", + "P->V[75136:75168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30249: Hash(0x67750f3c13d09be3578932c4fb4798ff4418d285d5de31ecc1e38d7cf298dbd)", + "P->V[75168:75200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30349: Hash(0x47b487be7b44a0526d87fd2714ebd4b959835fac8e2dfacc7f9f4f796d8f996)", + "P->V[75200:75232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30702: Hash(0x783d64f5b1ceb65710008b126ad9ac2ab9f8940892a9f6238fbf226b187fddf)", + "P->V[75232:75264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31575: Hash(0x27e5afe6e23fe5401d1708b0a95684b3f6a84b12b629a2c4380a47659423508)", + "P->V[75264:75296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31772: Hash(0x72484922e8cd5ca49020aa00bbcc2c452c244843e2578c6489941b0dba9f6f3)", + "P->V[75296:75328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31977: Hash(0x4c7f8c52ac091a3baf76b76e92096a8d0b057fbe20c6136297631ce140942ab)", + "P->V[75328:75360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32644: Hash(0x35f452bc4f6526f277a6c80cdaefeb50ea8a8c3226e57b762009787258c65a6)", + "P->V[75360:75392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8349: Hash(0x297957a5d4898976f9bf7fa3a0c2805ce86427b344013ed9a1c7f708933def6)", + "P->V[75392:75424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8404: Hash(0x3ff92941dfb8971cda377e2059c4cd4876ec9c9b0d3f0aba0be7e8a8cb5c047)", + "P->V[75424:75456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8939: Hash(0x3562dff87a33571f0fcb382733e6d87fd408efaf614f1706c32f0b35e59fcc8)", + "P->V[75456:75488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9926: Hash(0x4012c5e0b9c6f43155fc299e3afcde2b2a8191263a2f89ee88b7812be049cb3)", + "P->V[75488:75520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9931: Hash(0x1b23f36cd470f9387b6bb1138787687849eccda912f1aba9e1db4d3a2a83d3d)", + "P->V[75520:75552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11265: Hash(0x6da589cefd9b7173992a726c568d0affd9946cd10244bda15ff1b47ce5a5ca4)", + "P->V[75552:75584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11439: Hash(0x12fdddfa26d369aaea2c050c456e770540e814a6d3f836f2d3779d0130dba0e)", + "P->V[75584:75616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11528: Hash(0x7f36d9ca04fe4fbaed900102854507cc89f88dafdf1e7648debc69310149a87)", + "P->V[75616:75648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12085: Hash(0x16fa1241d8bb4238dff6cb87d0a083e16997bcdf9fbcb7909b4e43b214e1b5c)", + "P->V[75648:75680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12608: Hash(0x45f370b4071e2b8e9121c560133c29a520be3e63cdf2ca5f97130d7c883f48e)", + "P->V[75680:75712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12723: Hash(0x3467755c1d9ae66587ff60db7bb998cfc5ba8c35e40a8ce86303504c8edec17)", + "P->V[75712:75744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12743: Hash(0x23a4f3e4b571f886e89882261e6cf702b613fb483afe15e0fe0120f15d6f330)", + "P->V[75744:75776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12769: Hash(0x1a7da3ffc11e5eb599d8120af4aa4d984670b44f7f0179b23635db51c6f96f8)", + "P->V[75776:75808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12811: Hash(0x424c07806c24f78c5ff3a044cffee50a493908b77527ace106320576a5b5fb1)", + "P->V[75808:75840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12938: Hash(0x42628628e217a0cc280cd91813331f9b76451fb5910577bf8e7825a638eb02e)", + "P->V[75840:75872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13181: Hash(0x48046b2c06d202a823604a6fe7d238d1fe53cb2ed7a2ee706d74306bdadba27)", + "P->V[75872:75904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13300: Hash(0x55329772d55b13cdfb0d9f91d8a7ad8b4106de8b0418cf3d85b13775ad304a2)", + "P->V[75904:75936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13456: Hash(0x59eebbb55e57e1f4ac524edf03a1a5762fc900bbd4aa0e5d60052cc52870a58)", + "P->V[75936:75968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13526: Hash(0x67f4be973e2d76ae2d8d3abd745aeceb46c4e44182e5fe30eebf63422157309)", + "P->V[75968:76000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13801: Hash(0x14d0657115f8349e7f794171c9b5b931e9e310e14ebbcb5f40156deb0e224b0)", + "P->V[76000:76032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14673: Hash(0x27aa2bc133be4bc3497ea3a648a2ae366c06e725344a5eccc6cefe9f91b5c37)", + "P->V[76032:76064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14698: Hash(0x68f1bd9d22608dab1e2918295941e7edf076b68b6210321843747cca8743071)", + "P->V[76064:76096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14758: Hash(0x1ac1d71fc2708777d4cdf36ecc7f75a3a7ae173f7980d5f3e02e54bf31489bf)", + "P->V[76096:76128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14818: Hash(0x26b3af57a5741cd67117bc1be1f6c5d009991db5fcaaa52950197ac9af18526)", + "P->V[76128:76160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14961: Hash(0x7c971f53d7e4a3bad24695e309af1ad98906f3b71b16300d700d9f42dcd5661)", + "P->V[76160:76192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15125: Hash(0x4feb271257f77486bd6c54ea9b36ec72d4fb078bfb970c37e39c9c0b764b6f8)", + "P->V[76192:76224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15175: Hash(0x4d9689837a4f51517ca80417122bf047d6dc415f88ed69fd87a5d0ccfd636eb)", + "P->V[76224:76256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15350: Hash(0x27537795eb58ab5049dde19ebb48c9e52a966de1bd3a98b086b95a46d5f7459)", + "P->V[76256:76288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15786: Hash(0x6b133b5f290becdb11a386d170ec49babb6cab40eaf07c92b4ccf1b83fcf1a0)", + "P->V[76288:76320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15887: Hash(0x18ea21a456087257027ba1625456bec3c35739b3584fca651f3c848579fd57a)", + "P->V[76320:76352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15989: Hash(0x15a40278225112d15728ed9444cdbaab9fce8c9d98eb584ce91f6626d5c8a85)", + "P->V[76352:76384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16323: Hash(0x5c49573301a3a48460af47a39006bc11327910215f7c09d2675370368c2907f)", + "P->V[76384:76416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4175: Hash(0x452710fd2120df9dabe5d7b26263d68fc0dc4a1062b9f3be8da9f969f31364b)", + "P->V[76416:76448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4203: Hash(0xf57cca483d8c20825a58740a1287a4afcb9bd499531545987bad346e2f96e0)", + "P->V[76448:76480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4468: Hash(0x8d3cf44ab6c91364ce75d71c377f558423795238f6d66cc91049aa5c1a54b4)", + "P->V[76480:76512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4962: Hash(0x10f856db76068efd192841a630b87ef4dceddf6c76b031ad759bb97955543a7)", + "P->V[76512:76544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4964: Hash(0x5ebca5bc86e86ae345a839a76003169ac437484a97baacdb14616af98100f7d)", + "P->V[76544:76576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5633: Hash(0x4454a7696187d3db2b55feda0f18fdbb9cc7a6f76a01b5025c20876eaea00b4)", + "P->V[76576:76608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5718: Hash(0x1a55e64173a424292ddf3b2a35e7c6b418b66aa9025da0297481619d026b701)", + "P->V[76608:76640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5765: Hash(0x78c1972c7c115c90c1c32fb0b4705c5f06c5f2e86efa6e678a08ad67e35c361)", + "P->V[76640:76672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6043: Hash(0x1dfc1ab1be31719b7c6b71b6164428fa568ae0379b97e6f9def08066ea57148)", + "P->V[76672:76704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6305: Hash(0x60c123d91e38a9e943af55cf257b17fa0e56b14f24d71bb98e9dfd9abc6071f)", + "P->V[76704:76736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6360: Hash(0x3399250ef4a5eff96e2495f29d97afe35112a91db0835cdb71c4cc95d97bcda)", + "P->V[76736:76768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6370: Hash(0x7b5d3faa2f7e5548397622e4c1ecc3770277969f1e4ea0244cafacac8ec1969)", + "P->V[76768:76800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6385: Hash(0x615f76899199c41782e9e3a63d511ef75f9782a292b0107979b190ffd7f3600)", + "P->V[76800:76832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6404: Hash(0x16ff765aee5e3e2ba92cb8693e300329a7b0fa67534f5f364182b9027ae3509)", + "P->V[76832:76864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6468: Hash(0x348dc554cc7d4f94543d2824ea18d153d4daaa0dfe509c291067f71b87e4e3c)", + "P->V[76864:76896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6591: Hash(0x6e86097cac2631bbe251e418f6f2d3125de343011995e57cbbf5a441b7123aa)", + "P->V[76896:76928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6651: Hash(0x3355b885782ede68d8a5ea10972b45613a4a6f08f9e9ea0b6a2c581dc020573)", + "P->V[76928:76960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6729: Hash(0x17fb1b924e87d3515f86aa842dcd6f7964e52a585dcab55bbfa0e244490eb7b)", + "P->V[76960:76992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6762: Hash(0x35e941a30e0f3ef24b2c99b4c7db43922b4ff5dc6ebddf73d1ce4c29819d046)", + "P->V[76992:77024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6901: Hash(0x12f3fb8db7bac98a4dff798a0664ac65a8f6c20e1ece4bcde43be9078fdb52)", + "P->V[77024:77056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7337: Hash(0x6aeaedf985571085e28d94421090b049358249136b38fb002cadb28b9cd815f)", + "P->V[77056:77088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7348: Hash(0x25df8c2b7d3d6fc467d5f9d9ffc797eb00a99ca48e2177cc324453817d8781)", + "P->V[77088:77120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7378: Hash(0x2526480a5ec7634ff1edfe628b14dee639d3435888a586a67a8e7499e234725)", + "P->V[77120:77152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7408: Hash(0x621e10ef8f838ddb90233183a81e2b194043f416c74a9cc6da678d4745baecd)", + "P->V[77152:77184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7481: Hash(0x7ff78fc454a976def7030d28fa37f9d18af99aef8acd16f7606cdac2cfd4368)", + "P->V[77184:77216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7563: Hash(0x24d217069ac569d313cdc50cf7e7993f2d9b021a3035266a410906b3db3849c)", + "P->V[77216:77248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7586: Hash(0x78098b9501d881ed5761e01c4c5d54beb54e681215e6f3ed6c95a5d526e5c73)", + "P->V[77248:77280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7674: Hash(0x723d64fd6e54683826aba330a9471e5332d97cdb36a9033b02b50b9377be3e9)", + "P->V[77280:77312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7892: Hash(0xb217f834615f58ce5a115d674bde932a56e70aa19c31de378bfe9e7607bcbe)", + "P->V[77312:77344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7942: Hash(0x50e114a86b7c411856accd2b71dd7a7b46dcb6dfda09758c6fb06d098e71097)", + "P->V[77344:77376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7995: Hash(0x321e90b8ede0195ed63c67901ccc33636e214774474a71d6655aab67af442f6)", + "P->V[77376:77408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8160: Hash(0x1bed977a0caf78e1b74b58358a07ee5455d7b73cc74ebebf2fa17b9cd1f6b27)", + "P->V[77408:77440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2086: Hash(0x49277941484811e4ed67aae263048f1431202f17b65a96919d138b80914098f)", + "P->V[77440:77472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2100: Hash(0x34e0685b4122374d5973b28f2fd28cc3f8b8f803aeb2401ac64ac8a447afc63)", + "P->V[77472:77504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2235: Hash(0x7adc013fcf8346cf795620b544a186ccac6bbced7e230818093370c98014583)", + "P->V[77504:77536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2480: Hash(0x3e07943a891df62f81a07e19b6d68403195025bdbd7f3a0dab2f858c60fa07d)", + "P->V[77536:77568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2483: Hash(0x582350974cf5e7b6615185fb5a5fbbcac6edf92d113f1165e420f17fca3139a)", + "P->V[77568:77600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2817: Hash(0x6f4a314f18556a9f210e282a0a027e81458ec2fcf630108ef0a43a1d800051d)", + "P->V[77600:77632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2858: Hash(0x70f8c17aa708cce0b42b34e17415cb624123a28d3c9a9db7de84773ce0c8df)", + "P->V[77632:77664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2883: Hash(0x573c907903b89265de5283310065a392905c732efa4b5ebf73fef895d7be1ed)", + "P->V[77664:77696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3020: Hash(0x10130cdc8a4010396a4bba33860bf4089b1ddfa4fe90da14cc5c1bff06fe5d0)", + "P->V[77696:77728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3153: Hash(0x412307dd4de5e058967f9c5df568fcd4ccd70c6d6e090a650df3b00f26dd8ee)", + "P->V[77728:77760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3181: Hash(0x6d8838c988007be4d2874b78f7d9ca4880dc6d936f188c9d944b48aa08a56bf)", + "P->V[77760:77792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3184: Hash(0x256d8b1e78b1dd9b338f290aa62eeac95c7f59374fb2f8535f3f9e21f82d04)", + "P->V[77792:77824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3193: Hash(0x3e285b3472d0dc4a3f340b547f6c38f8f6fe4b5a6f0584dddee9f78f21fa99e)", + "P->V[77824:77856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3203: Hash(0x2b5bfaf44b7cb436fb7e2ddb85509dcb393914b9131a155cb387eaac8b7670a)", + "P->V[77856:77888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3235: Hash(0xfd85540167f8fe76cf5ced38f609b19c6e36241d07490d2800296928376653)", + "P->V[77888:77920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3294: Hash(0x7bca67a593f31a5f5aeed28eb8ee96b605d721820b0ab23e54d5baaa1631386)", + "P->V[77920:77952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3324: Hash(0x288c334c0db314cb5de395e3703b2ad33d4f09c3523915563464b7be9c4a572)", + "P->V[77952:77984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3365: Hash(0x70cdb5184f2774854ec31e5f92c6dcfebc79d3cecb70069c524df856a3c9ea4)", + "P->V[77984:78016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3380: Hash(0x6824dd98adf6cc3ab2a384cabfdfc35213f4f05080da8fc4d50319959e89085)", + "P->V[78016:78048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3451: Hash(0x31cfb4362249f9fa881a8083d9f04455c997e0187fb78ef2acbb8e0e60a7365)", + "P->V[78048:78080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3669: Hash(0x26dd28a01514924cea5dafdbc689006d14219bf5443dba4ecb9cf4104d78d20)", + "P->V[78080:78112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3675: Hash(0x2acb2e77502b882c4194041adffbd12420df68a0fa37773adc7ca83f3c5da7e)", + "P->V[78112:78144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3688: Hash(0x3f68e38e3ef5e4371bccca916684c270c033734292ac63eac013fbf90a1ec9b)", + "P->V[78144:78176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3705: Hash(0x27ca2861f387af932aad4fc33e920e1b4648c10ffd17c330afb7e7c6e4d29aa)", + "P->V[78176:78208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3741: Hash(0xf7dd93f6669df253e44f62daa439b2557287903cda280f7bb09b55d88f530d)", + "P->V[78208:78240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3780: Hash(0x696d9754b00b0ec9bf7051349e1cbbab204fb1a9c31234a1c3bbb7f6340cd26)", + "P->V[78240:78272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3792: Hash(0x2d9723f43ee6ab45c505c725c51ed9a2476f6117905b4952d31d6edf5e4f83b)", + "P->V[78272:78304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3836: Hash(0xa295548abc98d903c27bf6c91f8a98a202faa6fee181f093f5e3ff7211a933)", + "P->V[78304:78336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3947: Hash(0x1aece85cc61583715a3a9d8c964879ea17bd9adaf0eaf21692d9bc05be8871)", + "P->V[78336:78368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3970: Hash(0x50b267758a0081b19b41373f664fd444634f821097e4d2befaab0677f7d47bb)", + "P->V[78368:78400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3996: Hash(0x16f4fa358fcae23fb0718a0dd5a6eb274f22174ec1195f29eed6d0d78e5fc21)", + "P->V[78400:78432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4081: Hash(0x492cb622180d0a6715ca028fffcaf5eac37e7cfffc2cef3862b15df6ad8cc3f)", + "P->V[78432:78464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1042: Hash(0x2c7c90b360588081135d78f03fc11cea405e035d0acc5880992c42b17694532)", + "P->V[78464:78496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1051: Hash(0x7d823c118fb9e9b7b39f46a1efcddf6006ec921a75a3f5431e0560163158f30)", + "P->V[78496:78528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1116: Hash(0x5cd3cd89d1c1087c47881f6b92d56fbefd33797ce5c5c2729ac81352d17f121)", + "P->V[78528:78560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1409: Hash(0x183068c3e5f186cfe4b499e0128968a94aa66374aca77e6b3ccdc9c8b22b836)", + "P->V[78560:78592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1428: Hash(0x18f7d308c529c92ebef2cd32613dbeae27522cb3837230ac3fb217bf0229aa4)", + "P->V[78592:78624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1440: Hash(0xd2a6c96f29c2158d9647c219cc9ac0fd627b14ba86cdd6a6ac0cd5e8cbab17)", + "P->V[78624:78656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1511: Hash(0x1fa0017008f576e4da4038780568bd9d51b2f8a1ffaa5669037c5ee8d24e4da)", + "P->V[78656:78688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1577: Hash(0x122892e142a1fe6c526ca6562d81424c0f1950c55ac1e3897bd5dcad85beaa2)", + "P->V[78688:78720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1591: Hash(0x760f96dc009baab9f5bcd873ba42cd576cb96a625f388546ac8106a4871acbb)", + "P->V[78720:78752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1593: Hash(0xb5e79a11646d61f6c67a080a752927891f7c99a917b891ee92c35cbd5f260)", + "P->V[78752:78784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1597: Hash(0x24a2dae38fef1b2d3e88b3c76b9da4074020377fa7e77abc3ecc377514199e4)", + "P->V[78784:78816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1600: Hash(0x58fcfd265c2c20d23ddc121edcae30da9307888348d10ffeb0da3b25ad84349)", + "P->V[78816:78848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1616: Hash(0x1494dee922d2ef4fef80df547757b87f0d950518399a7189bb72ec41ab5c097)", + "P->V[78848:78880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1646: Hash(0xa4bf291b4d7ed9c11eb9c364cf43d2cf47d50d2e344b25a8e529da06479c68)", + "P->V[78880:78912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1663: Hash(0x2c31295263e9c61c5afc8db52586ed7132fafcfbd6d0cc8f1717b2d927187a7)", + "P->V[78912:78944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1683: Hash(0x6c5fe422efe8c123f961e90d36514f010dcbe0a55ae2c41610b9147422b6b54)", + "P->V[78944:78976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1691: Hash(0x13a674376e353a6efa65997f903917a0482946000ea433b3e897503ee5f51ab)", + "P->V[78976:79008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1724: Hash(0x2ce4cb3086bd60103103969a573bccb9507fa58e7d145f2c9a8493a5c590dc1)", + "P->V[79008:79040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1835: Hash(0x68d7625b6d7046bedc03eb4074b2e79ddbc2df5ee36631c0ba9dd2d083cb183)", + "P->V[79040:79072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1836: Hash(0xe00556376d027bd8e3ba5ef0d1e9450e33ae6a7bad9a76bd53532ddfaea53c)", + "P->V[79072:79104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1845: Hash(0x56da98bebe0bfdd4f644de60f53c9606ce3c6dd34a9ac7bf06451b7e5a02e5a)", + "P->V[79104:79136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1853: Hash(0x3d487818deacdbc11a4bdab6e9ab46f2c7c9a74166dda4d9e8b38c4810a805b)", + "P->V[79136:79168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1871: Hash(0x5d55c4448256128d937faa7116315c4f53946fed6afd2d6caad5f032994212f)", + "P->V[79168:79200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1891: Hash(0x19b7ddc8494acaa2479c8465181d16a152f3a5ce39f5b4226ec5291edd1dc6a)", + "P->V[79200:79232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1897: Hash(0x495f486f563231537acd814d7c5d22a678465eccb8c2e6d21aeeb4f3d2fa971)", + "P->V[79232:79264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1919: Hash(0x1edc147843c46c15d65efb0bc048b6dfcf7b3ae55dd45ff4c024c137d0e0c03)", + "P->V[79264:79296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1972: Hash(0x16de0c51accf9821e5ef2cadd9cf3ca51e8e0889d007c971fbb0176c0840b84)", + "P->V[79296:79328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1984: Hash(0xa1a8e632c0a7f724de9222cf1d693ff03c3eb58e56754fdfb7b81f7386c654)", + "P->V[79328:79360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1999: Hash(0x6bb7046ed10f3042c5a66a5d59a862da50fb9667b48c34b707df44f6b6ef8d7)", + "P->V[79360:79392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2041: Hash(0x797729724a17b4de66e95c7b075cc9e579629c558b8c6afbfbf2a3c42ea6e53)", + "P->V[79392:79424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 520: Hash(0x86b1eddd673de75c37e754be62725a8f8e06dc84208855e93024988f80971d)", + "P->V[79424:79456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 524: Hash(0x27cfb0b44b6e97d14a19919a9192c6a893ab93e44ee95304acccab7734a0503)", + "P->V[79456:79488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 559: Hash(0xac4f785d8962349bfbbb8da4062689852a681693982858d48f5191596f57a6)", + "P->V[79488:79520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 621: Hash(0x3976d7a94fb4885ab862eb6637d6c06fbe31a691451466fc5f83e602adc4471)", + "P->V[79520:79552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 705: Hash(0x3d5ff838eade3e5e9456571bbc56b95200c5ee186e97dcc0be891eaf37b2415)", + "P->V[79552:79584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 715: Hash(0x61801800636ea8c3b195d9a7e9f1b23fc7194d6c7c3c6d66540a41aad64e29e)", + "P->V[79584:79616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 721: Hash(0x5634c3cebb8ece46d9d4fc982784ed092d5221ed5270a1c88de11989d72b77d)", + "P->V[79616:79648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 754: Hash(0x37780e453aa7ef56db1a2966ba918df9630f1474f3ea3c8ac047eab3e04f11b)", + "P->V[79648:79680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 789: Hash(0xbeea0a2fc0827d4566bfd0e83d7d33e909f54f04f489c289e3706e678973f0)", + "P->V[79680:79712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 794: Hash(0x2eb8e8ca1ce1076612a62d878dd7a34f12907eb89c351338da5fd6865aa33d4)", + "P->V[79712:79744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 797: Hash(0x3606fd81ff12884a8eb3f470b4f0bc85013ad50fdd56937cd0e47c9b3f82b6)", + "P->V[79744:79776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 799: Hash(0x1ad25a1ab593c1ae8e5175158fa20e4cd2dd0bf23f080a16e693d553cca75f6)", + "P->V[79776:79808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 801: Hash(0x392355ee77bdddae6555914cff8c31288657fe8eb8ef98099c76fc3008fa0f)", + "P->V[79808:79840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 809: Hash(0x54958f68390a9872dbda9e9bc7b15a8dcc8b1e221151dfbc0c2875c55e045f4)", + "P->V[79840:79872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 822: Hash(0x2699f48136209c283053f6958a50946f6504858441bfa525a8f4745509ceb7a)", + "P->V[79872:79904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 830: Hash(0x4642ec33db746e1b233ffe40fafacb8e2d86cb5c2acbe119a7c72d912c1211b)", + "P->V[79904:79936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 840: Hash(0x519c7cde5c516040463656d152a065fccf7ed3c8c098229d29a374164b46761)", + "P->V[79936:79968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 844: Hash(0x2f4adfbddf966c401bac514372d397ab4531c37384139bdb121bb78bef3d03a)", + "P->V[79968:80000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 863: Hash(0x7e7c2decc5d49b0bd4c6c4c6d649d90349fcefca1da4e948ab78355e558efb7)", + "P->V[80000:80032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 916: Hash(0x7f70d0fea2a6bebd6da01e01e4c0d4a14b1398d4822cf1cba18093ea7dfc875)", + "P->V[80032:80064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 919: Hash(0x1d3e425d96d9aed519a262b5b9106b121bfebc945f89b432c29c65ba279234c)", + "P->V[80064:80096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 923: Hash(0xb0fdd119f47b19024a337f92465ef8815db3189cacc920a1bfae2d2e62cebe)", + "P->V[80096:80128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 927: Hash(0x7230512a491a2c8d23be6cd8c31ab3a87f6c77b1432696b222c2b124548f366)", + "P->V[80128:80160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 934: Hash(0x54214f46f06e29decc1b3a4060a0d9531db91ee8a9956c08eb44a36615c832f)", + "P->V[80160:80192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 944: Hash(0x388071bff71c8543b4874e1792771becd82ef80520ae6dbc9f87f80b4c9443c)", + "P->V[80192:80224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 949: Hash(0x3971f7f7c563e1de42e6aee492cfd76cfda7246027bfb6d3517196ca49639f3)", + "P->V[80224:80256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 958: Hash(0x20c812213e2b862a44f9c490bc24bb458431e93552ddaaecd7bba296affb944)", + "P->V[80256:80288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 987: Hash(0x233777faec63660fd064d1de6792db985839d522ca6a6f2a685249157fa494e)", + "P->V[80288:80320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 993: Hash(0x751a630ab281092e426e93e0c90b9775c8eb7e7008e5ba476a5a71e17b1b444)", + "P->V[80320:80352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 998: Hash(0xce7e52bde4db87408c50b2c5a8a4e39354567325946fc3bdc735e673430e8c)", + "P->V[80352:80384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1021: Hash(0x35c402c167def89b28ad4eaba4646d58dfbbeff809c0e3110f78b3ab6fd7433)", + "P->V[80384:80416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 261: Hash(0xc8fa563e90ba50c46c40a8281752de69becc8e8ae730b4b9d8407736514a56)", + "P->V[80416:80448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 263: Hash(0x1db9a57e317c69cb8d931981a6ed671e4d5ab5dacf082d4564450ce4b707325)", + "P->V[80448:80480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 278: Hash(0x1a2277c5218cb57735a3d9f50582a164b4fdb7d020e6139d73745217d289611)", + "P->V[80480:80512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 311: Hash(0x3a0d3201084250fc10cc7904fe21780fcd7d492c5f40639b1084876909ee0bd)", + "P->V[80512:80544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 353: Hash(0x6785334f4923442f1759031da4c551102a64a08dd602c6555a93fa7ae20c484)", + "P->V[80544:80576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 356: Hash(0x4ac43934553349c451ea737e8b396ceb331c9f33f82cf88e00346ec3196ad)", + "P->V[80576:80608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 361: Hash(0x4d7371459dfcf5c01eb65d146eae0efcc0c9b4218b22d8ca0143eb95bd6fbe9)", + "P->V[80608:80640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 376: Hash(0x2a9d46d76d97a58ba77fa045864b640f151e7887af0fade1252f232fa74f4ac)", + "P->V[80640:80672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 395: Hash(0x61ccaa408330798953c57334b1acd0b4578b7e2b0b79a5477041455304c7459)", + "P->V[80672:80704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 396: Hash(0x7545ac13b80da2128933df4bb3781e4101388703fa81287202f388b7f058bc)", + "P->V[80704:80736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 401: Hash(0x171c43983a5a373e38b0a6f71779013886e019d9efa38e8141824ccbf66c338)", + "P->V[80736:80768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 405: Hash(0x36c521eb4be7309ec0d7558462fab9d8784e8839a2ddd1dff88fd0cc36a972e)", + "P->V[80768:80800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 410: Hash(0x324099efc04ea0d4bbcecb132824fc0ab9f010653eeef60919179452cd110c7)", + "P->V[80800:80832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 414: Hash(0x1627577c9802e4071a551dacc736f0b682774542653551f5161bbf4553f9d27)", + "P->V[80832:80864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 421: Hash(0x443eb5fc84095468aeb6c8cc07dc2eca72e8ba84699dc6e608bb1bbc3b11acf)", + "P->V[80864:80896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 423: Hash(0x7f9c49329e720dee55b1b92e6f36ced3ad8921774c3bcef7b679c0f3c3cc759)", + "P->V[80896:80928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 430: Hash(0x60153129a3f9daaa51e77d8518a655d8f8c17e8cd409824f5da38e054227fe6)", + "P->V[80928:80960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 460: Hash(0x3e95743a389d8d3b6986c15370c7892a93422ce050d74f511b8a5ea0e00a15b)", + "P->V[80960:80992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 462: Hash(0x5ac8e9425c5e57ab8dd255ea9f43da150ad6d0022be77f30025feca500327fe)", + "P->V[80992:81024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 466: Hash(0x228d37da222c9a91a9d54158a2166affb208bd5b945600023b35ed41c911578)", + "P->V[81024:81056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 473: Hash(0x2bcb8a695b44bb6e747c9eb863f7ac7e7a1fedce342a720ac1ec01710514c4c)", + "P->V[81056:81088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 475: Hash(0x9f1c91686bcb0d7fef769fa8d51035ab0765595f4f0b9e0258334bd773089f)", + "P->V[81088:81120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 478: Hash(0x74b8f2bed9f871a65cde0d9bd7c815da838555c2404f96fd6ad874386868a78)", + "P->V[81120:81152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 492: Hash(0x2c0afb010a2d9b89589f7d9dcedf133856b299e04ca9b2f206b77daa366a5a8)", + "P->V[81152:81184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 497: Hash(0x1849989bbd2e32dfdf84e98a026764fb4e9305e577c4c5461b1ec08718ecc7f)", + "P->V[81184:81216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 498: Hash(0x809989746311014afc12af049152bac77b9d2c40b9c4f3abf8c4e02d08df1)", + "P->V[81216:81248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 511: Hash(0x48c0ce3e8c79798f76e34d45cb477df1f30b4cd932c106e20e1b6b8f5d1a1d0)", + "P->V[81248:81280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 138: Hash(0x4b8be6608a73546002709fa13d3d5a97d8c97a01a2472b0506d195df8da5e8c)", + "P->V[81280:81312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 154: Hash(0x320c9a49d9059efc35fc3334b6c628dcd24dc9bcb88042f22db2d6bb7b2bc6d)", + "P->V[81312:81344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 177: Hash(0x10f5c1a030180b614116483afb985ad7558602b5c2b626d0d2abd746b70bac4)", + "P->V[81344:81376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 179: Hash(0x6b6473523cb85b8e718aae1a7f9131e0a2408a5f7d30cc98e3700f6ca6067d2)", + "P->V[81376:81408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 181: Hash(0x5ea38446f2815240ef1a82153216ef6aae608ced4219d7797911d998156be03)", + "P->V[81408:81440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 189: Hash(0x444134c61d074fa40cc1f760f1f112e0b7c7a5fdd19bc0815e41ede6f7a7c20)", + "P->V[81440:81472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 196: Hash(0x2d13656be82279a93d32d84c07f8196ecb702b257fe9211d77aac6c1b6196c0)", + "P->V[81472:81504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 201: Hash(0x4b0c1e47d0eb6d8698acfe6976b1092197360214db7af45d5f6d25e64aa9dad)", + "P->V[81504:81536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 203: Hash(0x3aa04bf104634168dd23f9687a8bd0581b30b4e38ea35cd51c8f3de44a4c7)", + "P->V[81536:81568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 204: Hash(0x5c04f333ff40fafaddd4cefa040d7246d169717ede5682c119624b474e1c190)", + "P->V[81568:81600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 206: Hash(0x5721954601df844d834f913ab1d05c572234f4e02103f8fef4930260f2dc05)", + "P->V[81600:81632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 214: Hash(0x374039ee09312111e27618e542d378de7b1a0a637fbd7c66195120bd0cf1a1e)", + "P->V[81632:81664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 228: Hash(0x1758b930b565679f23b78833bf2cbceac80b740a4a2cbac5f1bc42ab1cee72c)", + "P->V[81664:81696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 232: Hash(0x5c7c8abd3ab52906eb9a5dcecede2b295bb864920113f704b067c572d41805d)", + "P->V[81696:81728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 238: Hash(0x3c137b4ac18f6b5241fb538d2444a2cc77f1c4759f1fdc50ee61043e2665e36)", + "P->V[81728:81760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 247: Hash(0x7df57d0f05b0c887dcda2781c3980a8ed1aa9b525e95a69b6af9d4b7675a781)", + "P->V[81760:81792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 254: Hash(0x60ed7f3fa44fbb4455ab727733d68e27570ad3a1d04134ad56c3adcd04c7fde)", + "P->V[81792:81824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 64: Hash(0x62bbb38f29d28df7b2278ddac46178f54e812c1102a6c340eec2cf9a7ec07b)", + "P->V[81824:81856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 68: Hash(0x6bb9f5594505128532ffcb08cae2686e0ddbf03f7ad398007f8b7342240e8f4)", + "P->V[81856:81888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 76: Hash(0x6cee1606b00f6ca427badd3669ea31074b592b7648613b8dd419b9f9f31894)", + "P->V[81888:81920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 91: Hash(0x7258db15799cd9ee250dea8dfb79fdf83c9293793a911519db7e256816e1b81)", + "P->V[81920:81952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 95: Hash(0x62ad84d3dfd8fcf31f7c1e6f0f26468e3295e0dd877568c7a8e48cdb8d30f6e)", + "P->V[81952:81984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 104: Hash(0x3c528d067c6cda6b29a3fd436be03c6e2bae15524c47669ae7a5e89f3b2632d)", + "P->V[81984:82016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 106: Hash(0x4dfeb1f5021718c8ccc95fe747e47f8e7abf3451fd915cee0995ae2ee9f4968)", + "P->V[82016:82048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 117: Hash(0x1803cac43f80d2656ced69485c7b27d67d3ca93a61f7fed2a1527a967c54f49)", + "P->V[82048:82080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 122: Hash(0x159199038a4d4bec9c2bd8b245298f61ea3f50ac3ea007b3e057a4ec05d37f3)", + "P->V[82080:82112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 125: Hash(0x46decda17bebf2cede4668ad15a643e6b59d613b121155688856eea0280582a)", + "P->V[82112:82144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 126: Hash(0x70dea2cfadfc2d43e47755a4f2436364eca451e76d94797bfe44531153a3dec)", + "P->V[82144:82176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33: Hash(0x4b04d4101f32a8d8775bcf83e4938141cd0705f7c540ca4f6876690317cf307)", + "P->V[82176:82208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 35: Hash(0x566b0b28da5f3fd01564355d1a1a916c69dfd8ef277b5e02adfed5abb7900de)", + "P->V[82208:82240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 39: Hash(0x9f11382da520d7dc62f231e50ebf1d6ffb99a22745d448394472598d83b3f4)", + "P->V[82240:82272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 46: Hash(0x20871cade7ced35edf09264bdcd73608b866f51052d3941dd44d69fcb45a76)", + "P->V[82272:82304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 48: Hash(0x9480ca1d55b88103d83647f60fdf234b7ea7327690c45f4564faffb33331a2)", + "P->V[82304:82336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56: Hash(0x75c3d18c18a75d421e6641ce5a4605100012fca83a78ee531bb6654308b970)", + "P->V[82336:82368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60: Hash(0x8284f7205ee7d81ecaa5cf4a48b1b9be4c6b670fa3507f10f405beffad415e)", + "P->V[82368:82400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 18: Hash(0x3104387fb215dcb12fe430465a738120a6fe5d2ba9c1fff8aa9ce2c111c4a5)", + "P->V[82400:82432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27: Hash(0x4af3464e5246ca26bd289648df3fb89688b2026b87735faf3d7af549ae3a411)", + "P->V[82432:82464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 10: Hash(0x7a1d2131f4c1b8169d9f4d7fb571542bdc583954ce673f1a86e9b0d2037d953)", + "P->V[82464:82496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 0: Field Element(0x1a3814a33630a916336d18297c000abf9d4f3fcf914f8ebb4791cb02b5ab7bb)", + "P->V[82496:82528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 1: Field Element(0x1f1a5c845172eaa543dcfecf598eacbfc9eb5ccbc21181bd3b59827ec223097)", + "P->V[82528:82560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 3: Field Element(0x638ebad104d4da9179857086021c3d3ccf036938e771e71f628d8b8fa96c503)", + "P->V[82560:82592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 4: Field Element(0x4429aa56cfff8623d9bcf8acd1bf98c9c06c3167f3a51e8d1ac2a1147fecb14)", + "P->V[82592:82624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 5: Field Element(0x6d2329c6c4b77ca8f80236522da108da53f708d8cbf2c338f555360889455be)", + "P->V[82624:82656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 6: Field Element(0x38a397ba2aa579ebd307c0404f8f728bad81b39f70bfc45bce8a3da118ea4de)", + "P->V[82656:82688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 7: Field Element(0x3603f3834ef6712a9b56ebdf7a975ab3fb8a67953d0c05063505a3510b3e3cb)", + "P->V[82688:82720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 0: Field Element(0x16efb4c8a6d08916f3a306efe701cd3a7e7931e2c6873bd0a0922d64b5e0b28)", + "P->V[82720:82752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 1: Field Element(0x54acb09c50157513871da2235c2fe9161496588602b6f8f1ca90a6fe36d5f37)", + "P->V[82752:82784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 2: Field Element(0x1df543e3f291b6e010e563bfc6677a5797eec5d02ff3201efb2586d57de554f)", + "P->V[82784:82816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 3: Field Element(0x3985dd23c3aceeb0175c72fad5f19bfce966a74c94b4476a944be95b23e983)", + "P->V[82816:82848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 4: Field Element(0x652ffc06cc770fc4610dc562c1a8f4f3b8359df7efbac4ffb3324770e7bb1ca)", + "P->V[82848:82880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 5: Field Element(0x5527bb583cd4d2cc885a2c03c6f9b16d2e256c53e7e46a8c0fec4c0ce44ecb1)", + "P->V[82880:82912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 7: Field Element(0x662249b8981bcf4a21b0d41509a61d3adcda031c1a09d7a0695d9aacfbcbda)", + "P->V[82912:82944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 0: Field Element(0x79f9b8f6460facf6fa74f953c4799698d17ed93b8831e4860641fc3dee6ae6d)", + "P->V[82944:82976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 1: Field Element(0x55dcec8118cece4d377e6b5dc64e439b151f023fa2b663cb9f7379e9f84d1f9)", + "P->V[82976:83008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 2: Field Element(0x6abd1134c1fee929debeecfe341b624fa2c43bfe915c2ce1e5ac55f86839a4)", + "P->V[83008:83040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 3: Field Element(0x717c346c98a2598ecc8854287e20859113a26df2261ca48df8d39cf705caded)", + "P->V[83040:83072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 5: Field Element(0x3275ff69c29a438e49d58e96a8f36c875899f2b4c2f09a366d3606732128dea)", + "P->V[83072:83104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 6: Field Element(0x2ae9c8fd72aa8eeb0f8415231ed9f65f2a16072ad6ccf82aa8d4352dd0b1d14)", + "P->V[83104:83136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 7: Field Element(0x5197b970c21a999e087a342bfab4db39b90b62bb1adae81144135629fead5e)", + "P->V[83136:83168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 0: Field Element(0x349f07c5dd403fc29c87410835aa04dd872b54fd0e82f07486a1f2f2365fc50)", + "P->V[83168:83200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 1: Field Element(0x22357d6d681b09a27e79d05f3e4bea4fa8c2322e56121d517d2b3109c9c5f2e)", + "P->V[83200:83232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 2: Field Element(0x502f4a4f2956417132e474911755c2d0b8d291086f11d8570e5cdf2fa1dafa7)", + "P->V[83232:83264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 3: Field Element(0x3243e60d316adc792a18a3061eeb785f860efa065116536361c83e70a6b7dcd)", + "P->V[83264:83296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 4: Field Element(0x258ee91d45c9e5ea4d5bd1d07275d7fdb6ecfcf9885eff43691d44f62ddf906)", + "P->V[83296:83328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 5: Field Element(0x4e9efd08e7809bd7ce30d5a066bc7068dc2df70a285827454f5f8dec4e0bc23)", + "P->V[83328:83360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 7: Field Element(0x3a9efebaef377abc302bbc6eda7137ae4be6c0451bf56d04ff40beb8c238e95)", + "P->V[83360:83392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 0: Field Element(0x5b81961abf2e2a813fbfcc0cd8ccdaf556c0ba877b1820b076c8b0ae6b0881c)", + "P->V[83392:83424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 1: Field Element(0x438d756f3683d3798bf1a8030fd9bf3dc8511eb3547da4bc673cc72b823f076)", + "P->V[83424:83456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 2: Field Element(0x642ebed25e5bd7a85b3022bdd811a43d26191a321f3397c13e81a96fdc22504)", + "P->V[83456:83488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 3: Field Element(0xd22a832da4e908476bfc1f59b43f811856d57904387aaacf266160e690a79)", + "P->V[83488:83520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 4: Field Element(0x5612efcbd985ab34de221fb442f20cee6e89c583fef4d75af7d89c14099163e)", + "P->V[83520:83552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 5: Field Element(0x30facb0f9bb84578abdf828b0e53fb3dca56064cf89a58729d89750c91bb93)", + "P->V[83552:83584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 6: Field Element(0x65248ddb1339886e9caa5c703adf763fbfd320da5d8bc8614c03cd7c6fbbce5)", + "P->V[83584:83616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 0: Field Element(0x5a47c5e9f48831359796096ec78ccb53c298a8243df7815152d4a37b4f9bf6d)", + "P->V[83616:83648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 1: Field Element(0x2e7f913668e3b01f2b728067e096edc1e923ae76cd5ad37bbd62d69e11cdaac)", + "P->V[83648:83680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 2: Field Element(0x56cd06ff9236bcab41eed09e310353cdb2e7785b8b64d65c5fb80fba58afa42)", + "P->V[83680:83712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 4: Field Element(0x5ec619f52eee4937d695d9b392df7b23eada1a3c96582832ef6c88fa1aac60b)", + "P->V[83712:83744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 5: Field Element(0x29add262ca20631ef0711b438381efb977f9ae418d4235001c31e92775ddd6d)", + "P->V[83744:83776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 6: Field Element(0x1fa55c26f5786fb1ef28355ed53011cd2a714b94a8ccae73c7d17c4e4875f10)", + "P->V[83776:83808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 7: Field Element(0x7f1353c79b0c28bbe53ecc9659d094ae83f3bd5e355770cb4ba5888f95c205f)", + "P->V[83808:83840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 0: Field Element(0x326e3f210037e4a917c921b849fe5135b57eb3d21f4077b8e347893da09e096)", + "P->V[83840:83872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 1: Field Element(0x4924280b7a16493678f60d941436b77daa5f7536d641d90681d21b471972439)", + "P->V[83872:83904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 2: Field Element(0x4d912600d06d5955e4fe98129089bebad589cce11d10a52877b71f5484cbf80)", + "P->V[83904:83936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 4: Field Element(0x74ab4f0cb1a3c5f512751fdbe7f86d2160eb48875be51e306083134dc628cf5)", + "P->V[83936:83968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 5: Field Element(0x62589b1d7848bc1e28574c64ba4a56dfa3abdd13f1f0adb7c96bc9b7eb431b2)", + "P->V[83968:84000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 6: Field Element(0x4d7619bd4e10c5ffb9dc46fa8c220dd61299c45b415bcf8c6f8789d734e7622)", + "P->V[84000:84032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 7: Field Element(0x65c8b65d6dff5ba7e13c3668bae92173c15ecc218e8bd671775f9207436b512)", + "P->V[84032:84064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 0: Field Element(0x605dd679238409f5d901081f5963171bdf12a1154a3023c4c37f79ccb7b4411)", + "P->V[84064:84096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 1: Field Element(0x79c819f9bb7b39e3cddbf3ba1d3a42d1d10f2aa4aab3af6d6705161ad51f247)", + "P->V[84096:84128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 2: Field Element(0x66e589878d3e4285a61f35683a589b392a7a04434713b0613b5b4817f497943)", + "P->V[84128:84160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 3: Field Element(0x798d953bab18dc4f47b93b6170a7c3f821f64dc4f14dba32ea67962501e16a0)", + "P->V[84160:84192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 4: Field Element(0x73428df9cec39d5444be90f1bd4a885f84d0d4817b1f11374f5ce8f5f54eb8a)", + "P->V[84192:84224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 5: Field Element(0x3195839f401da34d9b3c3622b277d84c30d39d6f01b3d00459e556757915c21)", + "P->V[84224:84256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 7: Field Element(0x1790c8b9a40d93d500171666c3317f467a2a7d86ee44cb0cb7192b42d63ab8)", + "P->V[84256:84288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 0: Field Element(0x478855341e44fff79f2371ba4299a729ecbcb88e90cb449b14e489ab352f138)", + "P->V[84288:84320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 2: Field Element(0x41bbfa625426fd6419cf0e4c5081a08a973c828ee70a94720324b14b4f6d52a)", + "P->V[84320:84352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 3: Field Element(0xf11ac0f10cdda577fee5713df36ed21e34681fea5c49960fda2fec2ea5948)", + "P->V[84352:84384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 4: Field Element(0x1862d3cd79ab52e7d510a8f2b4bf4b00586cd4fe9d232380bcec3c10963991c)", + "P->V[84384:84416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 5: Field Element(0x1d3ecd69dc267e33ef07eec03188369d8a4db2892c698ff0ea458031df5aecc)", + "P->V[84416:84448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 6: Field Element(0x6cce5a0e90460f86e6f4a6d5909315c374819f61b501170b92da9d8c573c80)", + "P->V[84448:84480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 7: Field Element(0x1f24a9081a0369f5e22cdd6d180c3461830f4ecff2183eea05ac3cba7836f55)", + "P->V[84480:84512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 0: Field Element(0x63baf262c13327a6f20aa745de7d4ae0eb2ef0b1f46e1d396883ab5b12649e)", + "P->V[84512:84544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 2: Field Element(0x6788a4f522d7430ac54bfe33f071b13d12727f9fe44f026558f7cff2b93cfc5)", + "P->V[84544:84576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 3: Field Element(0x79eeb7e9bac6b3896ec4bc16c855db872e5cfdd3e50319eb3c04b2a57e94a6b)", + "P->V[84576:84608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 4: Field Element(0x58c02368a7772a3af3735eac1d3b57507108be03d281fcfc11b8d2f827bbc9)", + "P->V[84608:84640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 5: Field Element(0x6775ca2a5b443f979477565a832dda83502fa99cf558c4ab86cacbe2d89508f)", + "P->V[84640:84672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 6: Field Element(0x1e078f05c662aa80bcc2f327f7ce2d3ae12ed8feec3e9d7cf1f7011d45c54c3)", + "P->V[84672:84704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 7: Field Element(0x6e7c9464f000260134383d873886aa6621646b819763fcad595c0f0b8101310)", + "P->V[84704:84736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 0: Field Element(0x6504a9833b7ae59dc4f8d10d198514549c83feaded982dbbe1091240ccc0fe5)", + "P->V[84736:84768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 1: Field Element(0x22f787270c1369262400f7ad1f7aa47b331859dd208d3862f3d53257b162070)", + "P->V[84768:84800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 2: Field Element(0x5d97e02dd4ee7843732dcfd3695504c92c60822fcb0558dbb8820faee2f9020)", + "P->V[84800:84832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 3: Field Element(0x7b0d52d417454cb57e17661eae279b075ef939878e9c98bc7ec780f3e4ce46)", + "P->V[84832:84864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 4: Field Element(0x994ca8b8d85b484489133d5e8feb3fa4e4ee1d89fd48f2d01366050b6c7f)", + "P->V[84864:84896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 6: Field Element(0x2eb4d78bb2bdbf7afd9f26ebeb5495f43438e76559eef51b5ffc568b1148d66)", + "P->V[84896:84928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 7: Field Element(0x7b2aac2ce7ecbb57d75b9ae1ea2521f2d7812f42e3ff79ca1b787efc36b7035)", + "P->V[84928:84960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 0: Field Element(0x1c8404ab5f5ecb4e64c024bfa1d254d978fe7713f8d139e61ce0ed4369518ed)", + "P->V[84960:84992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 1: Field Element(0x14ff8714122db1764a161030055fda7ce6403d2d65f551287c5afaf0bdea83d)", + "P->V[84992:85024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 2: Field Element(0x3eea624be16caa52b9db1087259980083110bd09a8b81b9445dd6285008aa81)", + "P->V[85024:85056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 3: Field Element(0x808975538ed752d4200525ea2d524c07f7a66d55dff2a501aee26b84f6764f)", + "P->V[85056:85088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 4: Field Element(0x48fabe1e5ba17546e67b8599f08655c446b11c9fbb2bce3cd57988d7d43bc74)", + "P->V[85088:85120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 6: Field Element(0x688262798db0874d8980f1cc5d0c003abf211f91b342686a9c2f803f21d4e95)", + "P->V[85120:85152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 7: Field Element(0x62a7d00ebab7a1a61d0f8c944bdbd81e8dbe9672d6baef9bc30cf53497d0199)", + "P->V[85152:85184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 1: Field Element(0x47a6adcdbabc04b42048a715677c16a8aaf0c3dfcda275903bf0609bff5c17c)", + "P->V[85184:85216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 2: Field Element(0x55b0af751ef9bd439e05768116bebe54c17601d9ab1bb34a4b66d93f04db44f)", + "P->V[85216:85248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 3: Field Element(0x308eb6d80dcc49a44f3081159c7537aac011ecd2146741e487db5606fb2a3b1)", + "P->V[85248:85280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 4: Field Element(0x11b111f7c814e96bf394a10fb8f869ce5a8dc85b2c7568f2482e5ef33ce666b)", + "P->V[85280:85312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 5: Field Element(0x37022fc71c3fa0b7424b8adaad623f0f527f5cc6fea47754a90a7978a0651d4)", + "P->V[85312:85344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 6: Field Element(0x1f0ac2172838d76c6b1118b83d848d7396bb3e16bb772c99848d56768a2af57)", + "P->V[85344:85376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 7: Field Element(0xa7938c6377e55c3bc9c6497c77e8ab8a819bd3618c7d80021974c65e33da70)", + "P->V[85376:85408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 0: Field Element(0x7aa2c63a52e4354c7fb6183ccd57d04aab2044a20986a40bd44b5c33a71eceb)", + "P->V[85408:85440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 1: Field Element(0x980b2e96f68414a54302f810414106d59ecd34470d3041dbd482498849879e)", + "P->V[85440:85472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 2: Field Element(0x359af56e903019846b071dca12bb1896f88b001fb24014488604f8f5411751)", + "P->V[85472:85504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 3: Field Element(0x59fa2a5f653ed0aac255278075132a54884e2d5179deb646e24cffe08bb741c)", + "P->V[85504:85536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 4: Field Element(0x69e8cf26d718ccecf366dd64256bf53584569ceaf862a4739072f970ce3f949)", + "P->V[85536:85568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 5: Field Element(0x4cbaf769b782010d2754d143b1dc69946daef21ae6a79725773279fb41999d2)", + "P->V[85568:85600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 7: Field Element(0x548770af9829c9242fc5231a5a369e2a550c5c8d021c8d13535f7a3a65fcd34)", + "P->V[85600:85632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 1: Field Element(0x3f2ca9005b6d365a6fae41490f035f87920259533056a567532f37f434ff39b)", + "P->V[85632:85664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 2: Field Element(0x3f440574d6fc62cce159f9f989ede10a636d9640ed4f73f1151afe96fbcea8f)", + "P->V[85664:85696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 3: Field Element(0x55e66c007a8c5fd98fce21bce65a0db3c1243ae549395eefebe3c8ed6a5dcfb)", + "P->V[85696:85728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 4: Field Element(0xb8c6a98c466f6ae931efa7747d19a6153741dd405c0fa94e680ce4cb7d63c)", + "P->V[85728:85760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 5: Field Element(0x4e6b837a58bce338a34a6b61460d05c0270a14e801ad70bbffa6eed269ffc44)", + "P->V[85760:85792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 6: Field Element(0x4e88d26f9f731f7b24db71d2abee891b1c805ccae09e827cc59e873587960e7)", + "P->V[85792:85824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 7: Field Element(0x269b1faa8c0dacf0a6c4d6eb991c3825c788d83cec25dd72f4d47a38133a98d)", + "P->V[85824:85856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 1: Field Element(0x1ffbea5f7abff5f8256e4f0fa5975759870d6809ea5cad06643f7df42e43f75)", + "P->V[85856:85888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 2: Field Element(0x65fde4246320cd566a9a4ca9411ace0e0841873c509ee4bcba32aa329bbefe0)", + "P->V[85888:85920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 3: Field Element(0x78e5a6fa10c56e6e9f6c3089d09a3c12b74604c17202a15196a9c04b63f931)", + "P->V[85920:85952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 4: Field Element(0x38a44e1cd79f488f16bf44d406e8a723e180a52414f2dfa7bcfab79eaf0fabb)", + "P->V[85952:85984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 5: Field Element(0x2b8361ee2954bc530be56b851034b0732e2546b36724578cb9d1f66254e8186)", + "P->V[85984:86016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 6: Field Element(0x6cdec392c5216780689f8a28a5293d9eb791ddb521c1c5b2af29e7275961dff)", + "P->V[86016:86048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 7: Field Element(0x6ab5d8e592cb5a58cba28cc381f16f6723124e42b7c152670480013b75034b4)", + "P->V[86048:86080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 0: Field Element(0x1acebb4a770e972bbe149554fe7668f1c0610eae0e86574736afb0dc8a349f9)", + "P->V[86080:86112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 2: Field Element(0x7f899dc75ee8fdddd9707564351fc49da6c20440e18ed7a2226cbdfd2120388)", + "P->V[86112:86144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 3: Field Element(0x49249a9e41802f8a4d81bffab987b00eef54de150f3ac35a9a77f5e20c374ce)", + "P->V[86144:86176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 4: Field Element(0x4e27313edb16d8ce8e2530484c720f3829b41400eddbbf0ea7d2a5b69780e2a)", + "P->V[86176:86208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 5: Field Element(0x2daf7ee3ca57e9bfab67a70a8a42abfb9eadc48bc4d63421f4af8e0022ff014)", + "P->V[86208:86240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 6: Field Element(0x1b98634e48ac893491681fc6b6965f5982dc8f3b3677c0b92e58fc32db9a271)", + "P->V[86240:86272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 7: Field Element(0x6020ac3eb0fa14f851c818b8e5796991526ae4c3a86f3a4e2583c4cd631f84b)", + "P->V[86272:86304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 0: Field Element(0x52ac92dfeb41cee11c3b30728a2882f7a87e863ca1168d075e9f62f65a0e62c)", + "P->V[86304:86336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 1: Field Element(0x7d7474a28a8f3d3a27a38e73382112494ca9cc60a997df98a7700f6f91bd5a7)", + "P->V[86336:86368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 2: Field Element(0x7c3ead98ef1ce17d5cbd5eed3070d2aadf1e2918721938268bc8f37b52665f)", + "P->V[86368:86400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 3: Field Element(0x48a6703d8290518301f5552269c63cfb7494e9c8a9d9c70d09a46bcfe4abd09)", + "P->V[86400:86432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 4: Field Element(0x5e1ea0afd7ec75f44e6000379d053053e7a51fd139a254cbfb41d87eb237919)", + "P->V[86432:86464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 5: Field Element(0xe02a7d8c00a122506e7ab8c8e18eaa1a4cc7424d9fd3cf41699e996dc58b8a)", + "P->V[86464:86496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 7: Field Element(0x2ecf6edaa8644dc6461b42ddef4320dc5e0c04ac0839dc2c182385278e461ca)", + "P->V[86496:86528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 0: Field Element(0xe245f622d8af74c08ac8392b1df1c2a722fb90e2901f853f50a7635f488da4)", + "P->V[86528:86560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 1: Field Element(0x72c3ec150c30efd417e5d5ee4c30834fa491c779cb9639bce5d6bb9e572df0e)", + "P->V[86560:86592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 2: Field Element(0x21951b9341be85f4e1a70e6cb88026890a8242dbb6274b7efbdcee2b9b5bb9f)", + "P->V[86592:86624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 3: Field Element(0x447fc07e0667d354d65b8d733639d41f45d504e22b3238d1711dfafd83322d1)", + "P->V[86624:86656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 5: Field Element(0x748205d10299789c73bdca5dd6ab12b0af13deabac5c1369fac6a6594a0d196)", + "P->V[86656:86688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 6: Field Element(0x2b5a6fa3e38eaa1ece2345b0393fdf7c49c18f6ba0005fe4eefe6f1a5c05608)", + "P->V[86688:86720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 7: Field Element(0x14f46e7e800224827f385bada4025ac9211751b91d33b5abe45e12f1d84da39)", + "P->V[86720:86752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 0: Field Element(0x2185291577b4ca188f2440be9c00202a274897ee09f2650a8991a503a26c3a8)", + "P->V[86752:86784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 1: Field Element(0xd0bf987842823400d50dabc70bd8bc71a5f9d98ae9b7826e0624800db27979)", + "P->V[86784:86816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 2: Field Element(0x165c020ad3977ac01ef3cdc4a597adb763d4142075ae7c87603f3aa4071ffba)", + "P->V[86816:86848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 3: Field Element(0x3e26a295c684ad22b0ed03b8299028c7797033a0b157e571a1af6b5726a967a)", + "P->V[86848:86880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 5: Field Element(0x62dec880fd02624f14bccdcce86f1700a50d23bf76a2b1cf2b8f87bf85e225e)", + "P->V[86880:86912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 6: Field Element(0x2f9174e36fc08f3975db3f0cf9b5b49c19f7ee53bf6e871590f73d478f70634)", + "P->V[86912:86944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 7: Field Element(0x127937f6c0f4149087b25d7b41dd328d1e34068de6469f60a679d8cfb6ce0d8)", + "P->V[86944:86976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 0: Field Element(0x6c3b39c7b797dea6bde369e69a62cd76aa4cbc14deeffcb1782cc3eba10c9c5)", + "P->V[86976:87008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 1: Field Element(0x52614e1d4843914766ccc89a2901a94d7aabadb99ae63d344cb36a160f5a787)", + "P->V[87008:87040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 3: Field Element(0x1f3fc36eb77fb34fa93159638b94625bab612cd05c13581582be06970f8e704)", + "P->V[87040:87072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 4: Field Element(0x5fe5b07ab4ac9cc45b6efdd06966ce6f93ffe5cb5eb67c46b53a9cd0e666d48)", + "P->V[87072:87104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 5: Field Element(0x15fc2acb1bfa9ff3762ef9a0003365846b9e4e207c19d50738de1b7cac1a3b6)", + "P->V[87104:87136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 6: Field Element(0x2e564537abbe727a185dc789d9f9d41587e886012f4af69611c6080bcdc3bf6)", + "P->V[87136:87168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 7: Field Element(0x7d8deae7a2db3bed803608ac42c8841f2f9ffc71ab5b0525c6b948f8ff3ffc)", + "P->V[87168:87200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 0: Field Element(0x76a8c68ce1ce91ba8a9e8c2b01b2e4b037ebf75e5d5a567845b68f13232c03d)", + "P->V[87200:87232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 1: Field Element(0x100b22ede80fc0b043e57be8cf37f0bf077ba583d990e0539b1da309300bc64)", + "P->V[87232:87264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 2: Field Element(0x7cd68618a7bcd18af4f018119fdc582043ff99cc092dafe5521e166ffbb56ef)", + "P->V[87264:87296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 3: Field Element(0x757e16ed3073190889111c8c266a59214668d97ad4438a7a835b30b8f860ded)", + "P->V[87296:87328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 4: Field Element(0x2590a2193d657eb83006b31964077d7a072512108a81fdab71280c8bb9c8613)", + "P->V[87328:87360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 6: Field Element(0x30dc2ed7d60a32e084ffeb7c3178abc6489a50806a834359c4049fe1d355e58)", + "P->V[87360:87392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 7: Field Element(0x5da8b365359aaee5f48c589e2357dc39b5ceb95096589230a5ecf2df7493f03)", + "P->V[87392:87424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 0: Field Element(0x531e4942fc6b20dfaac4dbef27199c61a18309c0b9c934460984bef8873fd43)", + "P->V[87424:87456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 1: Field Element(0x789b75437737f30aef5e18574efa3b08da852b6238029d117ea2045740be5fe)", + "P->V[87456:87488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 2: Field Element(0x41c4114361f401f356dcc38f0aafa1624b65218ac87175e230a8523311c55a2)", + "P->V[87488:87520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 4: Field Element(0x3eeb690c8890492d3bec0b867384975f1dc183a5ec74714280a3ba8688ec048)", + "P->V[87520:87552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 5: Field Element(0x109b55606c5d532bccc13518df60db0b95c1e1e75438c742ebdbf9879cee05a)", + "P->V[87552:87584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 6: Field Element(0xd837d0f2bb0edd999a101e427c86ebc1c19432b86702481641ebced4f809d7)", + "P->V[87584:87616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 7: Field Element(0x5443748448dd09f9b728300c1a1d34f07ffed879f1af9479ca0493333817970)", + "P->V[87616:87648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 0: Field Element(0x7b874bb8e0da2742f3749ba4ff1f3ea9ff29c25bef26a3c4c078c6c2164bcb2)", + "P->V[87648:87680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 1: Field Element(0x58bfc220804715754f7684afbf7c98e883e630fd474d23f9b43dbf0d880e104)", + "P->V[87680:87712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 3: Field Element(0x3cde8dbc9b6374e9f05d2ffc9bdf2d40bf937324554427b8919700f44e07f9e)", + "P->V[87712:87744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 4: Field Element(0x32545818a003ef126339ae5c66b11b4756c79e02ce6858664a2e7f4f4accb25)", + "P->V[87744:87776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 5: Field Element(0x432947a37739f29396c40fd127cfccaee9af35e1d85f2aabb0a3103fe7a6dd1)", + "P->V[87776:87808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 6: Field Element(0x4b3e20a183b21a0a95f8e7cd71cfaa07b6fe6a0cce1a0b5f667f9e95fd1c267)", + "P->V[87808:87840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 7: Field Element(0x1ae3b76b606b9a3af6dddcc0db4d6254a77ee6dd72607135d0f2ce9be6c847c)", + "P->V[87840:87872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 0: Field Element(0x29320cad4aaec0e2e8ac18b0285205600ce0c80a197dc06816b7b156947b29e)", + "P->V[87872:87904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 1: Field Element(0x16f9f2da8be7855bc057da0bd7c41477e7064bca9f7ce501374f1da119bfef3)", + "P->V[87904:87936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 3: Field Element(0x56e1e299e54b601f4d01d25042c1d1920966a2ebd1bbe2ab49f615dc04aa868)", + "P->V[87936:87968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 4: Field Element(0x2bc3347baeba71048b46fd919360216e899d2b9b7da406abd14fd93360c59eb)", + "P->V[87968:88000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 5: Field Element(0x4b24c394ae8514e47c3302224401ac95b0ab50b3f0be10bfca27afcdbe06d06)", + "P->V[88000:88032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 6: Field Element(0x6c713cbed7561a30bb96e628bef97769427a99d9bd755e8fbc07a303a83ee97)", + "P->V[88032:88064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 7: Field Element(0x3dfd425f5a86949aa13b162a7a7f9a39cb2f7c14b43de4c2ec18627f52be172)", + "P->V[88064:88096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 0: Field Element(0x5be9744e62b3d37adfa9c89863bd5e7788effce7d6ab7caa660ebe6a5cff5f1)", + "P->V[88096:88128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 1: Field Element(0x543a5ac88e607751ab6bb69076832d6c02ffd3c4bef8829c86cb4ce5018139)", + "P->V[88128:88160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 2: Field Element(0x48b863cee34aa408a8c603bb836b6883d46b304cc81381c450f8ce7a014e264)", + "P->V[88160:88192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 3: Field Element(0x4b2c8c5c946c443d5b5228354ee55ae62a2b16bd58a8cde8ddad06fb44bd868)", + "P->V[88192:88224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 4: Field Element(0x7cae181516f0a648977468eca99487fd08cfa5873ad3cc63d11cb3fcaf48dca)", + "P->V[88224:88256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 5: Field Element(0x6fb33045408e755242aed075a7e86a175eed34ecee0e5e94ae8fd9eee49fd98)", + "P->V[88256:88288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 6: Field Element(0x3a568a8f6c83f42e15db0e5b27d619d2616df62ae2879e0b8222590d00c4913)", + "P->V[88288:88320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 0: Field Element(0x7b286301f4fa94b4be428695e1381b472070610f4729474bbc1a29efda4a84a)", + "P->V[88320:88352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 1: Field Element(0x194bca2172eeb92334480e429872a0dbbdcbfc205b2c61300c7593564efea7f)", + "P->V[88352:88384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 2: Field Element(0x429a6101c9f75ba92ed2f45ea431c5fcc365bc39f18b2a02254c8f4625b88b1)", + "P->V[88384:88416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 4: Field Element(0x6a9ef5a207c23107781e492204aec4e980cf7fb5b1762d297c6c9d77754f6f6)", + "P->V[88416:88448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 5: Field Element(0x674cdf4c57e30db7e20541926a79bb8059f2ba8dbe70b7a7ed1794c3aa6c4f3)", + "P->V[88448:88480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 6: Field Element(0x44c241bc856823da79231d037f0b4a99d86f27d285776076899493a94a8ed6e)", + "P->V[88480:88512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 7: Field Element(0x5b46007ed0f522438d83dfd46bc4bcdd4e8b0d65cd43b27b27c0bfbfd2af1cd)", + "P->V[88512:88544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 1: Field Element(0x570a15ddeef2692fa3ad78045bf7924e9c440658719343999278b63889a2610)", + "P->V[88544:88576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 2: Field Element(0x7f92bccd696057f117c120db214e8472cfd766ec93d31a64b0c45c798d1f15)", + "P->V[88576:88608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 3: Field Element(0x739b8a55b1fd4a30ecbf267a216038c0189417c29dce5bb22ebf517a08e5d07)", + "P->V[88608:88640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 4: Field Element(0x3b771e9217f64b6c96b8cefed764dc5237d62fe916b57be2d43daff89b14623)", + "P->V[88640:88672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 5: Field Element(0x40a11e710d6c1f10ab060d686b27ba032d7ffcd5126562367a5ca7d35123103)", + "P->V[88672:88704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 6: Field Element(0x26b7520ec79dbb749718571a55fa4143cbd4bc56b88040e72f5c1475bdd2ef8)", + "P->V[88704:88736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 7: Field Element(0x6e6ffcbf8a9431789bfca1b7b9c009f5008e2f25712616c735b18e9d8788aa8)", + "P->V[88736:88768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 0: Field Element(0x527610a42e00d0b2accedb4ba7fcb8a73e96b869969f31814911e6f5577d120)", + "P->V[88768:88800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 1: Field Element(0x310593b42094a07b1272f7f9d7eaa90b04cfaa538de2b702367142b0c5c3c4a)", + "P->V[88800:88832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 2: Field Element(0x143ac754fd183009caa66d259470baa72db9e4b7c601f095c27c8cba4bbc6)", + "P->V[88832:88864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 3: Field Element(0x753bdb9c4c1a6c38c88df6d53f33be36d90f7b2e460742c0384c47303a93439)", + "P->V[88864:88896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 5: Field Element(0x503b54538a2ea78d7dcd2913af7d693f37f5814fd80a19cb166d5f018706f65)", + "P->V[88896:88928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 6: Field Element(0x7df0c1c339e3d328e5026bbdaebf78a8e7f248f5465d65d325f09304a5a6c20)", + "P->V[88928:88960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 7: Field Element(0x2cb7754e50942d1fa1544c9131bdcf2a2d731a353db14d3de6327dce129a884)", + "P->V[88960:88992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 0: Field Element(0x67afa6344a6226891df3143fe6ba484fa7713bff37ce27cf06d58f036bd571)", + "P->V[88992:89024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 1: Field Element(0x66bbf20d30610dd035cfaf9c406c49ed77ce9881d09336850c41b2b79e8966b)", + "P->V[89024:89056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 2: Field Element(0x4b9fbca731d9b8b57c6e1e630f7828e271fa26a3560d6c9aabdd57b6940544b)", + "P->V[89056:89088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 3: Field Element(0x4a31156325508c25af49a517c009de93d76ff92fec2f2b4ea98365558b44ca6)", + "P->V[89088:89120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 4: Field Element(0x751c94c9492418957cc3afe53f572995d173432b710122e503eae330706cd86)", + "P->V[89120:89152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 5: Field Element(0x753fdcd6f4c3995613e95188a5ccb1fe3dce7739ae533e2fab8a1ef7a6d02af)", + "P->V[89152:89184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 6: Field Element(0x7875bb73fc891364d52a31f3a7d9d5a3958921c91d1667aef7325f1f7e77f41)", + "P->V[89184:89216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 1: Field Element(0x748fa50470727ea9934ec4081366d4020ebdc888673e44c42d25b349daba9f9)", + "P->V[89216:89248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 2: Field Element(0x1794dfe736f93e06ea62ff0607db45106a56ca288eab3bde0d8bb6d3b1f0405)", + "P->V[89248:89280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 3: Field Element(0x5811fe2f737902f5505bd3f596f0a166ccbd2db4b87ec1a48fa605bc4044f8f)", + "P->V[89280:89312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 4: Field Element(0x580a14f02b453ffcc9acb3b50f625a2e2ed6ef4eb39a3418744d1ba5114e03)", + "P->V[89312:89344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 5: Field Element(0x473c53123d2adccb97dea9a9c20de5df9e83c749008d1192d54fb8c8fcecd8d)", + "P->V[89344:89376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 6: Field Element(0x3bc331a4f8d62ab4218c1160a483f2ccd0e78096a76cd66dce6a6ce135394f2)", + "P->V[89376:89408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 7: Field Element(0x6c7b453b41805a96c511fdd8cbcf3795c5ef7cc6743eda154114194f88cac3c)", + "P->V[89408:89440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 0: Field Element(0x4abdac5e21b89ee6a927d69b43dcd1a40d21c80cac1851ff1e5f77902e1abe)", + "P->V[89440:89472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 1: Field Element(0x223bf881422cee7f259f213a129bbdf5bec8c97a0c4d91d281f2256a29b755b)", + "P->V[89472:89504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 2: Field Element(0x3146a112a4ae34b57ff0485596377084cc5c587192b30ff3fc01aa992fa3fd7)", + "P->V[89504:89536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 3: Field Element(0x5597ef0dd6a77dcd5de1d73bf5435d125235921a6403a1e2118dfe5948dec2d)", + "P->V[89536:89568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 4: Field Element(0x4c2f843ae3edba833a52fe6531e265e4e2a2c4b9b2303517f0d205afcf09993)", + "P->V[89568:89600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 5: Field Element(0x35662240c9c1fb3fc4124770c7016d3f9a513640cce44b7e908d06729753912)", + "P->V[89600:89632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 6: Field Element(0x3d4c1bf3fb510256111f45d202c4cfadab6ea48331047fe362035dee2c3765c)", + "P->V[89632:89664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 66785: Hash(0x35b6d43291b398136097c150d91cf758f5106bf524b54daef30b3935952719c)", + "P->V[89664:89696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 67246: Hash(0x7902b081835032ccf51bb02bda575cf4dba433d3d551cd86a0f5884e59fb1e4)", + "P->V[89696:89728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 71508: Hash(0x2c3120033c166efbebc06516a67f31fc369a4f2b403c3c68e7db0d1173db43f)", + "P->V[89728:89760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 79419: Hash(0x3d2d9900878e303c6e5c4bb9eecd5ded3190496f4d3db10433211a94dce5a66)", + "P->V[89760:89792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 79447: Hash(0x337e2b8496d79b42c60506b8105c3b0c892470ed8f7c7b002da3062ba64eb9d)", + "P->V[89792:89824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 90112: Hash(0x576b54b26afcc0607e7fde4dcb13340ce08d4cc95ac62ec369c460d5fa1525b)", + "P->V[89824:89856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 91505: Hash(0x6b95bddec74f7f42f49e542e34c1ebda85431bce8ca826347f81afb10a8adac)", + "P->V[89856:89888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 92236: Hash(0xf645f2bdb84461b95cabd81b1eec54eabd1f7db88840269c8ecdbb1c5f4559)", + "P->V[89888:89920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 96672: Hash(0x3d58d8db9960f7545c70f44032ca6049e9f1acc33d7e7be9db7803f7f544a33)", + "P->V[89920:89952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 100879: Hash(0x24335e57620ba398232bd28124df7c08edd13e284e5517d7238f4239e4ccc5a)", + "P->V[89952:89984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 101780: Hash(0x6df09f5d363a1d930756006bbe9d710302061441de81019405eef4c16fd8a18)", + "P->V[89984:90016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 101937: Hash(0x33e6d9e99c9b52ac3990844aa78dbb03cca82e4483c7143252843b7a572fcd9)", + "P->V[90016:90048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 102148: Hash(0x7066537556f0a88351c12adc387d7a4bdf3f9314a3646133316e438bef410ed)", + "P->V[90048:90080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 102484: Hash(0x7ade82fe42eeef290d3bcb6771409e532abfee2e6b951bb6a7c4e86090752b5)", + "P->V[90080:90112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 103519: Hash(0x78fb0b136911f1ed6d66a5f03f32c94b0ba2c876149473e0e4a71ba5b502712)", + "P->V[90112:90144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 105443: Hash(0x20df2a152d99cc5fda99ee80a260c98a95d5c4f5c707476f36d91fa297de780)", + "P->V[90144:90176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 106413: Hash(0x5f319de7bcdbf42f8ecb914fc415f926e7f00f3427fb7c9b385bf7a6f8925f2)", + "P->V[90176:90208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 107662: Hash(0x63149e7f3896fdf78419185025ce159ae10669a48226b6e749844317a755031)", + "P->V[90208:90240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 108218: Hash(0x6314149f9a240f8bfa846db9a3cc005bfd993bef52553d692cfe7b0c4d787c5)", + "P->V[90240:90272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 110406: Hash(0x3cf1268ecce1fe7bc56d0ea762e3906d1d3dc9d6cdc4bd7ed4c5910b84abec4)", + "P->V[90272:90304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 117378: Hash(0x29cd6d05faf5ff2c610fc3ca4c763ba52d4858942de40259d3b517bdada81df)", + "P->V[90304:90336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 117595: Hash(0x5fcc7c6f043bc1a9b9df29da02fccade08bb20f3bcca88dce622460675c456)", + "P->V[90336:90368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 118074: Hash(0x54ebd6f80ddd42ecade7bb1f3dbcb4faf01d8c39f23426eb3d5760368f6d638)", + "P->V[90368:90400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 118552: Hash(0x3d42e03250c02aae4902e7966d6abffa6fcdde0e9720ad81466baf490d1e205)", + "P->V[90400:90432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 119681: Hash(0x57c68f5d1446f724a6674f3099e11445aef85880fdefb35920a000a22df3f0)", + "P->V[90432:90464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 120992: Hash(0x3f9ad578f3b99666c48b46531e017927572c7d7899e0dc308d64dbaf7082bbb)", + "P->V[90464:90496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 121394: Hash(0x4729c2933d8318565fa5b6ddebd53e647f8d8703a81e0973af8ad42a8f3b77f)", + "P->V[90496:90528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 122815: Hash(0x5f74cdae3ba1b066c33834d79c9a8ef27dfc743eb8c0ca4c8aa77129609fddf)", + "P->V[90528:90560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 126298: Hash(0x491a0e49865c030cf8daad83dc693995bc4bed5660497c30700206b469fbbfc)", + "P->V[90560:90592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 127095: Hash(0x6a2cde9e1848e3971b54ae1e262fa75835d359c5ddb3ca4f20e15662e324816)", + "P->V[90592:90624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 127907: Hash(0x270228d93003b33f1167f59e9163bef768c763384bc74ba04163422735b0714)", + "P->V[90624:90656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 130583: Hash(0x49ec1f11ce7f8f2acbf91b8211ce90a8d0408106df5b449e96486116b2eac75)", + "P->V[90656:90688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33393: Hash(0x6eabb38e75303aa99f2cc70a4ca4d294d4411dd43f1c2fc2221c67bd74f28cd)", + "P->V[90688:90720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33622: Hash(0x1828128c3e745443588eb0d52e92187f6beee1ef2f9333ea0d4ec17afc862aa)", + "P->V[90720:90752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 35755: Hash(0x7ed0816c55643ba0828f9f436da72aca5b5de9f198dd0034747d472edbf2e91)", + "P->V[90752:90784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 39708: Hash(0x295d329bc527dd402cc089d69a67fdd9788d30aac4885f4417bba1247b6d354)", + "P->V[90784:90816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 39722: Hash(0x5dd80729887b6e4d67d6bbe700b2145c64bbd1e410b46d175171235095e79a4)", + "P->V[90816:90848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45057: Hash(0x53d1328f019d58bb72f28dfb6dc33d4faa41345dd3f8166be50a86d8a1f7989)", + "P->V[90848:90880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 45753: Hash(0x272d4557469955dc533690b57c24883c261d5aa117e22fc72a586f7bfe9db05)", + "P->V[90880:90912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 46119: Hash(0x5fb1b6943bc8f1c21947923c07812bb12145ed57e9dcff76859a42db6df443e)", + "P->V[90912:90944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 48337: Hash(0x425d0bf378a7fc197db47a4ea3234433e4ed16a97eceb28d0d1cd33c534de0)", + "P->V[90944:90976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 50438: Hash(0x4a83fce21d8b7b4a1be74dda4c88692dbf059e9ad84e4c8b6dd6562e3bcf727)", + "P->V[90976:91008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 50891: Hash(0x2008b2e741f4ff98cdc3cdd450f8ef2ca5ed62831b3640ced480345b67fce63)", + "P->V[91008:91040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 50969: Hash(0x40742f857153c4de775242045af03baa8e87724edef34f39e1ea014afcc0927)", + "P->V[91040:91072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 51075: Hash(0x69e09f433c247c58f21fdcf89072dcf96ff1f181fb0a72f64936f5621eb25c0)", + "P->V[91072:91104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 51243: Hash(0x68bd768f62f820e53d23651c85a95012f180bae86fe1942217eeddf64a2527f)", + "P->V[91104:91136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 51758: Hash(0x6e6c09b7e618d2b8f3b25d7866d7db81a3c95b18c0f2961a7a251bea81b45c9)", + "P->V[91136:91168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 52720: Hash(0x1e576e2b3deea87eb459e63f246b09899f3ec8fbe1595ae72e4cbca33af9f6b)", + "P->V[91168:91200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53207: Hash(0x6b8232dd91112d49c6af847890631dd198ef9fe1d231b385cb9de42707e9301)", + "P->V[91200:91232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53830: Hash(0x45db8101f6718941ce67f84ae64260751220e2120df37db8d6a092fd23bce22)", + "P->V[91232:91264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 54108: Hash(0x4e6382f28da63d8c5ee649811e7daf698819cb25f93f0bec0ce13ecf2b49931)", + "P->V[91264:91296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55202: Hash(0x33c8e3dd18af81647e73c0098914ad8ea0297dea988f6b5ba570f9216f6f3a4)", + "P->V[91296:91328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 58688: Hash(0x67d00491eb3012ae1a09d2509489f73233d2cd73797687edfacb3add08a5f49)", + "P->V[91328:91360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 58796: Hash(0x36e1617512a8748758b039a9ff460be158db8c1daff8ce895d35031de23c06a)", + "P->V[91360:91392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 59036: Hash(0x316d2ca83d56c8ee2b4ede33ec6746dfcb7e021f945535e3ea0f6ad45843519)", + "P->V[91392:91424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 59277: Hash(0x55dabf06c0d9fd3ddca44fa53607e16e0a13c83ddbb47d4988a18cf3eca84d4)", + "P->V[91424:91456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 59841: Hash(0x144f334c2de47c9fd7e29c3943f154bd7463730298fb0d7a1f64987fe7e0c67)", + "P->V[91456:91488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60497: Hash(0x4514ba850c01eaa74f98aca654c28dc58c55b27de749f160cf3e0feb902be05)", + "P->V[91488:91520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60696: Hash(0x66c3c39b27bd2b4590ba3f71bab1593a607bb7b6310f4b6a01787916e25ba9e)", + "P->V[91520:91552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 61406: Hash(0x4bf962886f57d0ac986a619ce7349dae7459dbf620da04dbeaba52723e1bc65)", + "P->V[91552:91584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 63148: Hash(0xaab6822364e407942c8a05be5f2445a5dfff306220d1ea1054ad39b48b47ab)", + "P->V[91584:91616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 63546: Hash(0x19734c3212f2032b025052bbffc0229f675006fdecd8f9d46ed8cc2c56bcd7c)", + "P->V[91616:91648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 63952: Hash(0x1cee0769eaeaf0bafb0543fb2b8486c8d001da52e5095f7d5726d81562fc35)", + "P->V[91648:91680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 65290: Hash(0x182ada99af6e09391fabc86b5495687c307aa30baf7fab0bf8b230a551f9834)", + "P->V[91680:91712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16697: Hash(0x78f7be6b3181fa8e5d785d0fe2cb9645dc12780d3915a10810aafe7aa49cbd6)", + "P->V[91712:91744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16810: Hash(0x18e3fd27b807c791f1e537875395aaeafc6edea6717441805ab287ce39b10cf)", + "P->V[91744:91776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 17876: Hash(0x9363029ecefe665065fc4af820183cef0f1b14516be4d1b5ea6afa9767d4d4)", + "P->V[91776:91808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19855: Hash(0x44bc894496df186b7eb571f44ccd30ebe6993a8af070e43fe6eb346c24d76e2)", + "P->V[91808:91840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19860: Hash(0x4d96b260ebd15160b32ba0e8ce127fc910b3e69e2fa4bce64548a09a89663ba)", + "P->V[91840:91872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22529: Hash(0x32caf20ee82ddcd5b2c9c2a71aa985fb9fadceaa78893fcb95a2b23c28fad02)", + "P->V[91872:91904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22877: Hash(0x4762321cae4bdf01e6652be9cfad39f88d12aa7227cd61108cacc084353b256)", + "P->V[91904:91936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 23058: Hash(0x12d2b5350dddf98adee1caf0454f2abc0e501ab92ef05050cd7df2b33707ce)", + "P->V[91936:91968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 24169: Hash(0x38cbe3f4fa0be53e8d2914152882da351139059aa1335bdaf669c10df870724)", + "P->V[91968:92000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25218: Hash(0x2d69b7be0b6cc0912042ddc96fc85e44593316b20ee0889bd2604b8cc7b7161)", + "P->V[92000:92032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25444: Hash(0x4e510be34cfa1d8b643301fe4d4397abd82c4fc74845b134d449e89b44275ec)", + "P->V[92032:92064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25485: Hash(0x45b7d902f42dd309ddb095d4e39c86bd34a1c780435887e8a59f9f926705771)", + "P->V[92064:92096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25536: Hash(0x120959e2f8bc31136af23e93f86bf61b413fef682ef13eef1cf69eeb9182796)", + "P->V[92096:92128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25620: Hash(0x23480308b9c44dd470b251a69b2ee0a087629aea5fcae343539d8af1e5045c9)", + "P->V[92128:92160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25878: Hash(0xead30d217c7c8f3d65cefb2d9d214888484c62bba4ebf81358b13b95169c7b)", + "P->V[92160:92192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26361: Hash(0x7f14e08e6ec2d74b20f0fbbfacd268bb3d4bbfaea615be92e69470f86791769)", + "P->V[92192:92224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26602: Hash(0x3eb017692fa3203ba9a7ea8c192a6199e8fcd3813f0366e5cc34096f4b1d5af)", + "P->V[92224:92256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26914: Hash(0x7eacbc79ee1ada3cdfd322a169cb706246fe19746fab4173ca46ac669f4ea11)", + "P->V[92256:92288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27055: Hash(0x15587d3bf4b652f2b6d7af49ac76fb88c14ba41940340d86f66a2b480f9a9fe)", + "P->V[92288:92320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27600: Hash(0x3d7e86eab8991db6233f7912804f432a3212c8db00a1be362442bfe83a46fbc)", + "P->V[92320:92352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29345: Hash(0x1be91abcb6f2b8733328fa0459c640c0b96563362ac80d7d38ed4a3ebbff98c)", + "P->V[92352:92384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29399: Hash(0x2716302c6bf5e182869bcf31c66f970f1ca9ec5e5cfae156e6f9e02b441a373)", + "P->V[92384:92416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29519: Hash(0x3776750e1e020e5e08e9b449db963d0ca1cfa5f36c5c77fa0172bac5c4c1c98)", + "P->V[92416:92448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29639: Hash(0x3bdd943ba19bec2b72f699303a5ab2f8bac5203a1dccae6819e0c7e21a753f5)", + "P->V[92448:92480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29921: Hash(0x1bcaed3c6e55f48f015f455bb6741c8bb6b09d2de431cf3c054c3b21ab5b38a)", + "P->V[92480:92512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30249: Hash(0x1940a4459de017050f1035470eb4f8698ed5de4c6f9863b80b24db4beef1ea0)", + "P->V[92512:92544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30349: Hash(0x3e0d84920053ce90047493ce90539e3aaf0d1783c3d3f93c7608f038a7d5779)", + "P->V[92544:92576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30702: Hash(0x6034ca64ffdaefc1ccaa2660bc16353a76345d568ad467766e0bbca413051be)", + "P->V[92576:92608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31575: Hash(0x6c4da9af4df05c2cc56c36ff1281c843e50df8168e1c2cb2f67617d12f2215d)", + "P->V[92608:92640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31772: Hash(0x26ec4cc55b5f85a704824b59a1315f6b1787f50a3bc55461797779e6b995486)", + "P->V[92640:92672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31977: Hash(0xa69e1fa6b92489a2843492b62896643a31769e95cfeb88ac76e9dec231c9ae)", + "P->V[92672:92704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 32644: Hash(0x52d00e685fca33ffa827412411534aa52dc12d7de898bb0af2b64fac9716670)", + "P->V[92704:92736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8349: Hash(0x6c74841d394aad21f308b606c705947705eae40f36694302a07d81e770e1893)", + "P->V[92736:92768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8404: Hash(0x2c8ea6e6852b0926b643e3a0105a15bfcdeeb1cdc90ccfe8373008d481debcc)", + "P->V[92768:92800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8939: Hash(0x7d3a5c00de7a81ba6f2da4cc3e6aa477f41359089b27736eb550de2ce6055fa)", + "P->V[92800:92832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9926: Hash(0x665cc1f79015434020ffb79b3463ff372fb2a3cb40d2eaf1f59dc9c00e7375f)", + "P->V[92832:92864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9931: Hash(0x4deca7a1ed68738c96a171c4e8490e6e4770db60cb8d33a0abe736c6d11f8b9)", + "P->V[92864:92896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11265: Hash(0x6754e068c6fc9a598f6115b131d7c2d2ae604fe33e341e58f8c55db22be1db4)", + "P->V[92896:92928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11439: Hash(0x394006700e17ed9749d7673f6c95be4a7a0426214e8b6ad29f9f36e53a2e7b6)", + "P->V[92928:92960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11528: Hash(0x3554c75bb05ec11e493be0e6910e9ad880f49b0338c643cb87e801bf2151a57)", + "P->V[92960:92992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12085: Hash(0x9433e504e755d5b7ccb3362545e3d3d8aca6420638a4f32b754bf8847e27f1)", + "P->V[92992:93024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12608: Hash(0x2fef6832a350b6cc105127ac755c089ac7fec4256ae1e2858e1958ff2b2515)", + "P->V[93024:93056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12723: Hash(0x6077fc582293c28565bc569a54ecf43113d893ccdef659464cd1aec170bd25f)", + "P->V[93056:93088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12743: Hash(0x4d52eefb0a7ccbc0a7e2a988d3120fd96e2d09a2f8b6c6060d8df86daea62c0)", + "P->V[93088:93120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12769: Hash(0x779608d87848676735245f603a06c5c143fb6f3c5cfa2df8bf8affcd36eb0ab)", + "P->V[93120:93152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12811: Hash(0x381aa736e8e06bc148e7923ca7f16a0b1fc1f44b90d3c17d8a2166127d34e66)", + "P->V[93152:93184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12938: Hash(0x35b0b8d67e613ea97477baccdfa2233819848063a5c4dfeeec1b0c6e9d07b2f)", + "P->V[93184:93216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13181: Hash(0x7d1645d393a403276defb4fc6e469ca534e1ce43d52a62c4ab8e6fd07b9997)", + "P->V[93216:93248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13300: Hash(0x32262bf593e69b86ecbcb6f13a99994a8c3725ea807d84e9adc390d49f6f9eb)", + "P->V[93248:93280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13456: Hash(0x38f51d4b1d6e1d014c6d7054b028f6b2868c096579504ce6db309798fa4b0f2)", + "P->V[93280:93312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13526: Hash(0x3782ddf3e7c15bd7c63e244ff4682605b400118e929109bd7c04af94b242b2f)", + "P->V[93312:93344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13801: Hash(0x14591332287b21c238a702f948f9650aff22d791bd745b90c9b201cc4319eb3)", + "P->V[93344:93376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14673: Hash(0xe8eaf0bf02e6e628ca0d87bb6169fc565425f8009f6597885f3b4971f54034)", + "P->V[93376:93408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14698: Hash(0x1f9514baa0fdd74a123eeefedc0746d8e6af2f29f44492627cda219753c4c1b)", + "P->V[93408:93440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14758: Hash(0x18c16895dac9fa6403a7a385b1d27a1ee2f77b14d95dffb3def40a57bfde882)", + "P->V[93440:93472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14818: Hash(0x719dc48a05cc16a7f8534a09bf31d890d161a80c91daddbb0b6952a9bef347d)", + "P->V[93472:93504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14961: Hash(0x3d16d83ffee015dc8959a1567b8b299ad057dcba679f805462b25a8fe1c26a9)", + "P->V[93504:93536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15125: Hash(0x321100f6c03cb94458704d47f251e944650c2ab07406bffbe2ef3fdb5f9102e)", + "P->V[93536:93568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15175: Hash(0x4f3961108372638f521401fa7ab508d1428057bd3f5f268efa5c6e806c23cc9)", + "P->V[93568:93600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15350: Hash(0x392e99aa80ad091a28adf6ea4cb2e6ce8e87b902234a2ce663092ad4b395ed7)", + "P->V[93600:93632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15786: Hash(0x470790f019aa1b87da6819e509abf50f4dc0e1a7a4e38c17d2778573ea45fd7)", + "P->V[93632:93664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15887: Hash(0x41baa88608a1276701771ed4fec7c024f5433dda74af56780a9737c57e4dc16)", + "P->V[93664:93696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15989: Hash(0x5e323297bc8e4bf3f56b4520813ad103fec94de94107609542385b4209316a5)", + "P->V[93696:93728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16323: Hash(0x3f4f53497bbc8fcfa210545a56815b4f5a0ad6f7219c3f9463f324cebada20f)", + "P->V[93728:93760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4175: Hash(0x3cd1b98ded657fd88b59d7e3feb99798ae5e7080681b1ac7d7f821c41993015)", + "P->V[93760:93792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4203: Hash(0x432db208612325bf0e2358fb77e306f0185f0a7e9f76f1e1d951cbcd81fe6)", + "P->V[93792:93824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4468: Hash(0x84482a3800fcb4a06e8819e14bbce7c1bb0b36869d7a2cf5ae9291ef5da257)", + "P->V[93824:93856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4962: Hash(0x69e63ee02c1443ed990eaaf363565e49587774f3740675b7f333f0c2a28b1f8)", + "P->V[93856:93888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4964: Hash(0x77de2244db3cc4ee227feb57dc601ceeb61c7f1afa52e8946df4d14454b7b15)", + "P->V[93888:93920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5633: Hash(0x22030ca8de3a931fbb00c775001293391572652daa13616964cf554bd10d8c0)", + "P->V[93920:93952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5718: Hash(0x67ea5c4e822beb2fc85d2fff4a7b2e5191fc182030c2b7a83f0c417ab198bbb)", + "P->V[93952:93984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5765: Hash(0x68643a31bcf62fa20e703b1b6fc5f2d07a20f12fcc7346746cc9bb7468413bb)", + "P->V[93984:94016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6043: Hash(0x2c6d86bdf81627863c3ac68a047eeaaa1e6d0fe36f8931007b9714f5c6a4e5c)", + "P->V[94016:94048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6305: Hash(0x526534d3824698446fbe1a74fdb0b8bef97b2481e9eda6bf9fe3085174c2b32)", + "P->V[94048:94080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6360: Hash(0x647bd0d1fa41ee9cde468e1b2035d2e4e43eccdab6c253ef276ace4a84f8e12)", + "P->V[94080:94112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6370: Hash(0x300d4175ff27e904b623f8e19ab8a720f0edfec8b994141a9e446d7d1805ce8)", + "P->V[94112:94144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6385: Hash(0x7cb36a2675a1716cae69151c655b84c5e16f076c9cca7896811005038bc6999)", + "P->V[94144:94176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6404: Hash(0x46fb1f573dca99d0bd8cb167ecf8b68e77585d0fa13071a5dddb9bef393ba9)", + "P->V[94176:94208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6468: Hash(0x3e25b13f482779d79b1415d4503c81339f9743c01e682340f08224176a5e445)", + "P->V[94208:94240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6591: Hash(0x7e8c8aaee798150b53c912c877e16b31fcd9f97f499952a2c76ad375729e126)", + "P->V[94240:94272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6651: Hash(0x56c9470e9f78dc88b33ef09f81bb43e954f222fdb24f6176fd552930a2220c0)", + "P->V[94272:94304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6729: Hash(0x2d6821889d3db8e238a6566a4ef93ff01643cad770078e654b6364b17f6a2f4)", + "P->V[94304:94336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6762: Hash(0x711e683536c0a3f3bf27fc6a682b52d44a4a72e98e339ce52d3cd3050447c6f)", + "P->V[94336:94368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6901: Hash(0x117132498285245606d44b48e2e925ba684f31c2e0173bb37debf0f08505a2b)", + "P->V[94368:94400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7337: Hash(0x3a8d105d8fbec84b06d72ac9672c457bfa5df0d838a201e5918f378e8f9a89)", + "P->V[94400:94432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7348: Hash(0x89ece3d58e0e72a844757946da9d29352162a248cb1b065e004165aaceadec)", + "P->V[94432:94464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7378: Hash(0x6aef5d6ee0a810057ac54e32e856e64c62734ec7d64bf342d172385b9acd725)", + "P->V[94464:94496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7408: Hash(0x287d98ba429a779cda99102cc1a2ce9fac436414633a9fa311c4a99e784d21d)", + "P->V[94496:94528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7481: Hash(0x6b63fb82d13d73e0225eb217c705456292a1737d0dbaefe2222d0db689c7dd2)", + "P->V[94528:94560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7563: Hash(0x451479c27694631c27d965dd48627b30eb57db286316b06c8d361c7d8d39966)", + "P->V[94560:94592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7586: Hash(0x741c3da21e0e8537aa696f56445e64d09b473881cc2458eadd603f34bbe7931)", + "P->V[94592:94624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7674: Hash(0x2fe9d572f183d9b17c96f2b3bb58d443d8eb5bdf10817bfff095d5f9f318d41)", + "P->V[94624:94656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7892: Hash(0x15ae406149617feff12d431995a769f235e2bf42242ce70ce1a785caa7e1370)", + "P->V[94656:94688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7942: Hash(0x71b3640ef09f576d1d986e3d67b61c2f5571bf5bede705aa9f2871e599d2396)", + "P->V[94688:94720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7995: Hash(0x3ed6da20d8db2e31a6aea0ec6f621bff0d2eb03e1c158b30518a3b1be0d56dc)", + "P->V[94720:94752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8160: Hash(0x3de4a9b180c72dd89c31146af1d54827943ca82a14475a15e35e5d0121ac3cf)", + "P->V[94752:94784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2086: Hash(0x1c1a8ddce0c87ffc23b563f81491c9de1b9170ae6a0817d80b409e0b02482d3)", + "P->V[94784:94816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2100: Hash(0x1796ddac14c56d1269b2f8e2cd860bffc28c1ab468db7057f602b351bc700d3)", + "P->V[94816:94848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2235: Hash(0x52b05ca37363eb01da8300c36894e5dd682cb5a65e2a19f15f4be9ca85baf7c)", + "P->V[94848:94880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2480: Hash(0x63e5de5f9ce5cf22e2a3af1cb7bdab0d4f447bc452049353d94e9fe2f5d7431)", + "P->V[94880:94912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2483: Hash(0x2d91cab74825216e584e84d46282c4157982bf53cc0eaa9191320b51f227e9)", + "P->V[94912:94944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2817: Hash(0x3dea3a29ed523e039c94b9cab6cf7bfe790150c10e32bda113f0a45ef2a3fb4)", + "P->V[94944:94976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2858: Hash(0x47941ad2924895cffb5713d7ecc625dc5c87add899979f82619ce54f5675efe)", + "P->V[94976:95008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2883: Hash(0x4b45848f3a5a6008ec72dc070169af8e5647cfaea23a388304c9b853d9fb6c6)", + "P->V[95008:95040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3020: Hash(0x1f9ab6cae0508f37c68b80fb2109ac2d3a5378a516886dbc215d5894fcf3544)", + "P->V[95040:95072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3153: Hash(0x1abc0612e98a6fc65bbe73da62b1a3fc5b6a151111b8cd580177c46232aad23)", + "P->V[95072:95104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3181: Hash(0x77377d00b4dec01df426b7a3679279edad4ac242314d37f39c9cb7f85e6b3fe)", + "P->V[95104:95136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3184: Hash(0x4f68efc88d061b5aa05db8b3237ade4eb013897fddcab3ae7ff24743fd185b8)", + "P->V[95136:95168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3193: Hash(0x570e3c840411ce0ff0c04abc6f3a6bd5d8cde70f2cb9816570e0369a04017f4)", + "P->V[95168:95200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3203: Hash(0x1c4db7f06812bcb6a2609efe23ed2b928f4d602b276041b9a09d6b0c3837f11)", + "P->V[95200:95232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3235: Hash(0x5c82b30fb213f58c047a2c84623cf7ee95998f2b3462570b3338430ac12e768)", + "P->V[95232:95264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3294: Hash(0x298b4790a6c2fd49a5a91d2d39ec8d07ac0ab6ba26c6a519f4801871a725613)", + "P->V[95264:95296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3324: Hash(0x2cc5d706ed3a9f0aa9e1e5c6c6a9042315a5cfa060639ca563b6dac50632671)", + "P->V[95296:95328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3365: Hash(0x520068831f52746d1f578411ef89eeadfea0619a464e51a2c9c9a0b00b77fa8)", + "P->V[95328:95360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3380: Hash(0x43d00889eb75e2330b4283c3c88589dc79ee175123e6cf5d00f5b7e65ca914a)", + "P->V[95360:95392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3451: Hash(0x713320e17842ad89a857b2a3502dba1757a1914a0b4a14289228cbaae1cf78b)", + "P->V[95392:95424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3669: Hash(0xb11fd3ffa128ecd0f35262fe6cb023ce42a91916335ab2eb2fe46d6074ad6b)", + "P->V[95424:95456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3675: Hash(0x127f5ce9f333ad4517cb925f52457dd4461ba53323c9788a92e181eb20ee54e)", + "P->V[95456:95488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3688: Hash(0x13ef27a228cf8cc4de4dd7ce459458156464cbb09ffde3f25edb0803d35c0c0)", + "P->V[95488:95520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3705: Hash(0x5d3315175f10f19aa5e19b83cc22404c523ed51b13bc320d4ffdf8b75b22a85)", + "P->V[95520:95552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3741: Hash(0x44b1a63e63885c6b25676635b0254d1a2f355980b0588ef53f1992c5400da4b)", + "P->V[95552:95584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3780: Hash(0x2354054675c72dc10c1adc9bd95a5ad6689d7062788a231514051ce9065f57e)", + "P->V[95584:95616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3792: Hash(0x404632f211ebd317b3ab191697399323c880461aaa92fd79e77efc81c006c51)", + "P->V[95616:95648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3836: Hash(0xe15d51d16926663094014c1610a02892fc79b6c17281d7351376b41e6bac2f)", + "P->V[95648:95680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3947: Hash(0x15fed0208bf3694f8db6014175271773b2f063900c9d15ff36dc808e820377)", + "P->V[95680:95712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3970: Hash(0x57c72bd2be05d3138d849489026462be5709a74d7875980f80b7c5c27b0ed71)", + "P->V[95712:95744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3996: Hash(0x5fe54432198a408fd4c04735341b8554edfc2178ebd0090265d725b675574e1)", + "P->V[95744:95776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4081: Hash(0x16d08f076f768f854465fc0231190d18764eb58c78440893f5ce1a5f65d9b6b)", + "P->V[95776:95808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1042: Hash(0x3a02ff8af7237aca1517100698f517313ad86a5c3dd78ad6d8336a70c8c816f)", + "P->V[95808:95840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1051: Hash(0x43245d82c6da092904287707f86cc5ed0f94f692842b5d0478f1cac5da7cf33)", + "P->V[95840:95872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1116: Hash(0x724e7426c3c32ab4fe996efb84c8eff98604b1225bf2fcbc1e22b7d812e7e6e)", + "P->V[95872:95904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1409: Hash(0x48de85960f4437a63550d0e9010b3fdb80a517e90d2011ea1b6d9ddd780f56f)", + "P->V[95904:95936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1428: Hash(0x17e16a166a61d8bedefaa0381551b1c1de0b5d119ec3bc4898cbc58061795fb)", + "P->V[95936:95968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1440: Hash(0x77d79097911281bf447e49ba2e5a3be281021b9b1dbcc24469357fd5e0381ae)", + "P->V[95968:96000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1511: Hash(0x2c41dcb6b84949ac175742d8079d4f371a3505d36564051845f6f2b76082549)", + "P->V[96000:96032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1577: Hash(0x3dedcfc89cfa56dab5a77699d7d1cb50f078ff1606313e61a850b9ccc1d22dc)", + "P->V[96032:96064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1591: Hash(0x94101a3990e9cdb8446c6db99bf006cabd0ae8fd7ec2672750a8860b4ff6a4)", + "P->V[96064:96096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1593: Hash(0x15b403dbec2714d48bc2f6b3b969e8d5346e68cee36b5b057c9f5efe2f723de)", + "P->V[96096:96128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1597: Hash(0x212ea0343e4c1811a3330c49cbd6b178bea430d5eb3ecbd2c19b1102c8d39ed)", + "P->V[96128:96160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1600: Hash(0x6c54b37318eb4269813b17593d806df3c3ed5501d5ef6cbfef60dab702fd638)", + "P->V[96160:96192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1616: Hash(0x3d04639c7bd0bb31f8de7841e4ea75aeb52fac79c26e81d0fd735a81910c53f)", + "P->V[96192:96224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1646: Hash(0x442adb8ecbf51edc004510d43a42eff27340fe5327ac1f36d7122fb692e8d52)", + "P->V[96224:96256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1663: Hash(0x55dea1adb1116b2ef0ca397131abac9c0961631821ff2ad2bdc557b6782ff6e)", + "P->V[96256:96288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1683: Hash(0x70b4cb7801948506ef34b898be6b00312e092ffd5e8aba0208bf5bd54ae4601)", + "P->V[96288:96320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1691: Hash(0x76db27691ccd5f75829a60a8bba685e99dee542b77d39fd4312eb1fd9df388d)", + "P->V[96320:96352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1724: Hash(0x2220e408189bac1c5ed4565fe5b65a5b0a142009a28cd3154c45c7ac1881992)", + "P->V[96352:96384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1835: Hash(0x39473ba7d3d7c150fd893178379c554ca1e677983f8449a4db6400cfb5dd909)", + "P->V[96384:96416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1836: Hash(0x1c1afc270035ee28a81af3965be0cb8b0c7ca5d4608f2ce341cf77b3de5028c)", + "P->V[96416:96448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1845: Hash(0x29cc2849b524ee227e364763d974b06a7b7f7c6afba8381e486f93823a5d60e)", + "P->V[96448:96480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1853: Hash(0x22ebde30aff0acc8a56eb80b3fc0a92e99de611bbb83190cc1425950b067e4)", + "P->V[96480:96512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1871: Hash(0x1995a62c7ec6abd14ac00e98ec1b0487e8576721c4dd40d338a8782580404aa)", + "P->V[96512:96544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1891: Hash(0x5aab9dbb4b4f0d2264a343278e31438f4ef55c91f67fa93a47f2ab7b33adb42)", + "P->V[96544:96576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1897: Hash(0x737e6b1dede6c29d31ab6dceec9589e824e1551f33885e794dcb0e6e9c7a79a)", + "P->V[96576:96608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1919: Hash(0x1f94e73590a8225a02de00e66fdad0d702ecbad31b076cb506ddebc8d7fdeb7)", + "P->V[96608:96640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1972: Hash(0x527e023e3541bd2a4b82580f6658d8434242e87f8c2332352ebf9ba84bede11)", + "P->V[96640:96672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1984: Hash(0x1046277965a5159bb6e1628d723ad23f4613ed30af58bb2a9287946fdafeab1)", + "P->V[96672:96704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1999: Hash(0x3ed80b7b5e1f0771b3307ccb9620e361d96d42863d3ca00b5e8b6150132a4ee)", + "P->V[96704:96736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2041: Hash(0x96506817c29c2fcbb81f3b6cbbfa2c8e967bd11ec0297646dff1ab00b85f12)", + "P->V[96736:96768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 520: Hash(0x3a43afbfb659fc95de3cdaae26aaa595de4adf3a490820aae21f32a17b0c102)", + "P->V[96768:96800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 524: Hash(0x6a8ee2a9212502c7ec274ff8e5eb892f6fcdc25ac7d79b00e784e834fc4774)", + "P->V[96800:96832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 559: Hash(0x867391db9fc1b18a0932350aa67b596bc5d0fe59f48e2b12911a0bb436c631)", + "P->V[96832:96864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 621: Hash(0x58a94b0c4bf34a0fa7caac1b82f72b0dc1ab429b7b4a7cf020ab65f7e44f399)", + "P->V[96864:96896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 705: Hash(0x283d55264282fcaaa73e54a5d82e21cfa596697098bfdb05a532d3df17fe280)", + "P->V[96896:96928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 715: Hash(0x4fef442ba144f5a63261d330c3b2a13bb76d76aa4424c46fb132a203c90a2d6)", + "P->V[96928:96960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 721: Hash(0x630574ad556fcfcceda3f8a467901136aa6f56fd1db4f3ba955eb14629cf0f7)", + "P->V[96960:96992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 754: Hash(0x3bd707f80621ac5921671488584414c3d1ea0ec06fc6304149e0c17088b6c59)", + "P->V[96992:97024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 789: Hash(0x11a6b7881660f8f20628688d444d0cb8d40101b3c3c2d5ee5fb0a894469051d)", + "P->V[97024:97056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 794: Hash(0x61b9dc3f643eaf8cb1456d2049404b72009a8e0f2ea8f12f657fb102ceed41e)", + "P->V[97056:97088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 797: Hash(0xb4a5bc41dd411f5d0d883575073b6bf2d3683785b6a14816b59ea8f03c3ce3)", + "P->V[97088:97120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 799: Hash(0x3b12f8f5a6eefc1a4430506fd65e4f5e37268267e9f0e1f2ac21123bd4a8511)", + "P->V[97120:97152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 801: Hash(0x25dbb32027ed37102d32ac15c7245175e695f863bcc904e88014514984f0d90)", + "P->V[97152:97184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 809: Hash(0x6d191fe6ccbb200ca359d87eda993766276723bbab59c279668b66eda9dec8a)", + "P->V[97184:97216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 822: Hash(0x760df4db8267c69f72b9c131dfeaceb488d4df02e6b13dd3b5a3acb58f26ffd)", + "P->V[97216:97248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 830: Hash(0x330c99614d4402395f04be283d6dfd9d8468e76e3db6ff3051bf81843274638)", + "P->V[97248:97280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 840: Hash(0x4ac563f3b29e4be1a13050e734a700ee74d5432c0af9726a60c2643b9d38581)", + "P->V[97280:97312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 844: Hash(0x12102378b09a179afa985e3e827e5535c23636471d28c462d5d273ace34d58a)", + "P->V[97312:97344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 863: Hash(0x320446efb6bf357d3d668fcbd910756c3fc586a2ddc78c5fe3e9a73e16983ed)", + "P->V[97344:97376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 916: Hash(0x37a353c9557a8e65917d377101afd1af3888454d1ddf13f3f58efff454e6198)", + "P->V[97376:97408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 919: Hash(0x37d2c9d200a343cf2fe477382e391a148b2712412141d761d0b380bb288ca9b)", + "P->V[97408:97440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 923: Hash(0x26160d3f15046a23beeb6b45be76c11de7df9f7b416908bfce93f729d1e5150)", + "P->V[97440:97472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 927: Hash(0x671d90b65d3e7397fc7e8568529bba049231b3269b0ad7cffc6de0887152487)", + "P->V[97472:97504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 934: Hash(0x697c2c64906be56c295da6d6dce7ca3da398497f879916a41855b5de4164773)", + "P->V[97504:97536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 944: Hash(0x416cbbbfd67421620bf6759ddb20618d79e87dc6d753ef5c0922f474164ca19)", + "P->V[97536:97568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 949: Hash(0x55eaa3f133c281aa4245eaaf2161ce0df5b95a8e3e8aee5fafa41fefdda544b)", + "P->V[97568:97600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 958: Hash(0x773ad34c05eb590a4acbd54fcee8f5899f00c80ec48d692be3032b9742c10f2)", + "P->V[97600:97632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 987: Hash(0x642361c0d86eff581402674993d74dab809e3dfedaa8c0b17520ac47a7f084f)", + "P->V[97632:97664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 993: Hash(0x16c93cdd2136a603e2a9f8cf66bcf0c2e8d0e896362382f8ff33ee0d091983b)", + "P->V[97664:97696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 998: Hash(0x12d61ad2625e87876cc40f2b433c8d6ee41981faacf826a88c8f5360763b0a5)", + "P->V[97696:97728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1021: Hash(0x518fdcd882496702a0bcc9070c54491826e1488763a5526165b43101f100716)", + "P->V[97728:97760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 261: Hash(0x14d7c91bff959993c8ee88b7d47adccb79b4e5e60426f9f99e406508cfdd61e)", + "P->V[97760:97792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 263: Hash(0x7a51f3f5ca0ed9d7ac77556ef04f6c84ea7578a7097fb62e7610f33fd01fff4)", + "P->V[97792:97824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 278: Hash(0x449cac119b4b776b7e2a9cc6e98be439a4d5cfda633aa10eb90b4ae27094d34)", + "P->V[97824:97856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 311: Hash(0x298a862a2c4c6baac0006d96dadde4f715bdd530c15a5136b2ac3c934f39094)", + "P->V[97856:97888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 353: Hash(0x4e8fc9752b2e7b6c982f1e10c9485bd695f1ebfde8cb3a6b73066774e61ed5c)", + "P->V[97888:97920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 356: Hash(0x252fff7a145574a03b92a94346d97829b0039efa5739abfa420d0164d291b5)", + "P->V[97920:97952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 361: Hash(0x598f15dcc94f225b8100e828f0cbbb7b829911cfbfd4c2f806a53f067bb4e)", + "P->V[97952:97984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 376: Hash(0x28121ae51d30145ee57f314fc786f092208f957e91d5288b9cac24b6d5022b4)", + "P->V[97984:98016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 395: Hash(0x4a3460b3f98be41f1b42e256b9b046fc9f7337193f23866ef660634f220784)", + "P->V[98016:98048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 396: Hash(0x267491ac7080a0f9ef7de35087da14e9a62bc446221bae2253fa19c4a09f74e)", + "P->V[98048:98080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 401: Hash(0x5b0231a1973d079217e6f0bc072133be1a051222d9d6479ca4e42717b12c8ef)", + "P->V[98080:98112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 405: Hash(0x22f41a02fdccf9dbc8a3427b63fe3f424f051200f625e9ef4ca8e462871de8f)", + "P->V[98112:98144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 410: Hash(0x1ae0d74e86f975f9e6cc56401e6ceaaac970ad188ae03f86eaedb5c31ee3aff)", + "P->V[98144:98176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 414: Hash(0x4008fea03e9e1397672080d4a911ef7c1080f892f6f3f9b8b173a6e6d864925)", + "P->V[98176:98208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 421: Hash(0x29284f5213b71fbe798fb55dede7558ab79c01c6d1cba9c914dbf7722d3d555)", + "P->V[98208:98240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 423: Hash(0x3d7e36f78d4de5bb00792c72a2ef9ee214188f198d898589fb6f59c08bea92f)", + "P->V[98240:98272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 430: Hash(0x4020c9e1e1f7249c84b3d4f5b23cad008c1d83328785882eb396a872e4475e6)", + "P->V[98272:98304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 460: Hash(0x2457b152cc164d2a928f9ec2085761749486386df507a9fee292eafd354eb2)", + "P->V[98304:98336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 462: Hash(0x1a27062c984349f1755d71ff8cc57f316fb0865a6bdde0620dfdcea51e851ab)", + "P->V[98336:98368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 466: Hash(0x216c32614bb409335594a4a6f4d0fb8ad0abe2318cbbb8547c5b1cbdcfbc3d2)", + "P->V[98368:98400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 473: Hash(0x3550974dd064112b5649a939b786a393acd9c1210ac0396904d03fa6807f11a)", + "P->V[98400:98432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 475: Hash(0x69e4c60fe714ec3633ae24c60ac0cdaaaeba3066c64af19c0ec16364b6e03f2)", + "P->V[98432:98464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 478: Hash(0x42eae59b480e9efa517cf65c52c0709b25566cf543d65f3cb1330c1c4f75334)", + "P->V[98464:98496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 492: Hash(0xb15653ec3794441fd61005aee6b035bf5f117865716c6aa4d1674699fea3ac)", + "P->V[98496:98528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 497: Hash(0x6518b26449d42114a79c22e750cfa898dc512e17d2b5d3bfea01a3ba40fb02f)", + "P->V[98528:98560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 498: Hash(0x76d499c08360a26fdf4dd55480c26f5d20e6cf25661c52e7e9fc205a4eb4419)", + "P->V[98560:98592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 511: Hash(0x70c21a8b40e0f3e65f3634aff13f2c4f911ac9f3517e237fdd06e86643d2b70)", + "P->V[98592:98624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 138: Hash(0x420130ba3a7258dfc55784f3b79e2c61bed95088b4d64a9c587aa6d119619a3)", + "P->V[98624:98656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 154: Hash(0x589437b59eb69c67b57480f584912b3b3f65c69a3d5f136f61320b4e1e02b2b)", + "P->V[98656:98688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 177: Hash(0x292b62efa77b4c7e6dc30c92b122233347627ecc3a10caf0b0cc04bcec0f0c)", + "P->V[98688:98720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 179: Hash(0x1f8e71999907d976555fa55a8e07f733368d69f7dd78da891a410ed33557d19)", + "P->V[98720:98752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 181: Hash(0x384851e8efd85a0197671786388ba7c02c9c79051e96d3f6e36b00399b12ff5)", + "P->V[98752:98784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 189: Hash(0x36859df2acc4c6479309860b77a8ec479799cc69fbda055aea1341d07684ead)", + "P->V[98784:98816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 196: Hash(0x5c6484198a57f037abcb148003e43443ccf4869162ee8044df97ce0cd94805)", + "P->V[98816:98848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 201: Hash(0x29fbf03a1134c357a1be8ee6a43e9d6b8d09b71e190cd55f7da4cb389b7aeb7)", + "P->V[98848:98880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 203: Hash(0x502895e3c8c98ee77d2d3c6361ecd8a064f38ca599551cace0b26f8e0ea375b)", + "P->V[98880:98912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 204: Hash(0x48d50aacd91c9b156ef33edca6ab6ed56b84ed7451784c002ae216924b9e5a4)", + "P->V[98912:98944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 206: Hash(0x3cd6ba22077933a730d66ae59357addbd0b00a3ab745d5eea07d21f0d322851)", + "P->V[98944:98976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 214: Hash(0x61cbca70fdbe5401d4d3df74a93388c7c96b3c27d9986cd7b631f516b0bbebe)", + "P->V[98976:99008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 228: Hash(0x53b195d088321c672056b6fd0022a6d17d1dc5dcd41e0c6f3514e20f7f3b3ae)", + "P->V[99008:99040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 232: Hash(0x74598b2351ef89104b46e26e3ccae1396dbecd2b60035f8d2becc307c512b12)", + "P->V[99040:99072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 238: Hash(0x27d7b54db5cee767364590956395c4e9cc5d4a95ad548e3e9f9c6fb86fbbb5d)", + "P->V[99072:99104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 247: Hash(0x7721581f7be0d2b8d6a901814cffbd93cc4ee4156bb270d49c6b0ac80dd33b6)", + "P->V[99104:99136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 254: Hash(0x2c94c8828c9c56d7c906c1f728374da44aecb3d05f40294eddb735a56fea47f)", + "P->V[99136:99168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 64: Hash(0x7baffef449382d6c15b344952d60bb4b710474524a7e8ba47392b782e3687c6)", + "P->V[99168:99200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 68: Hash(0x75cb000bb1150b0da493fcfc20c3f8143bb89e56e13dd84a429d304ce08ccf)", + "P->V[99200:99232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 76: Hash(0x4f3deaa5d3505383dbf128325b03a7a0d4ce63d8eb61e1a0c0ec573b11178d7)", + "P->V[99232:99264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 91: Hash(0x40c670f78cda2a48ccadb6c2c57f90a67c29b0eb8510c2f8b01e5518f528eca)", + "P->V[99264:99296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 95: Hash(0x7d5ba616c43bb29fd818df0685cf534c285d7c4ff40b869d6e15538ce5ef830)", + "P->V[99296:99328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 104: Hash(0x2e0cc132ed727ec028107508202213da61708ad7b73763c63e396f171e5df20)", + "P->V[99328:99360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 106: Hash(0x1694092ed0e7883b1d3426efa35b702d9571da80ae4b21b300b4429c6a0eb4f)", + "P->V[99360:99392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 117: Hash(0xd9c7bec32ba5d08bd357602bb1841ccfe10e0bed24f164e603f951269f02c5)", + "P->V[99392:99424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 122: Hash(0x6a30245a28d7fda047068de89265b4d0a750ea2b8caca7e4e1a6ba6b88162d2)", + "P->V[99424:99456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 125: Hash(0x221b66acc077c7ca23e02d2d6ce99eb529e56e9fae0db1215c60bf38417d949)", + "P->V[99456:99488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 126: Hash(0x7cdf4ed0206047353da359d30c29448d2ef04325f6c30897244b45a00a1bbbc)", + "P->V[99488:99520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33: Hash(0x627e198baeea7d3d4314614a33c71dead0d65554d3b51809136c67eff4c4879)", + "P->V[99520:99552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 35: Hash(0x1b582ee5f5fa7e4aaafdef605b7f9fc5d7ba1dbb5a96306a0bfc6ef4699c144)", + "P->V[99552:99584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 39: Hash(0x193bb36161901994bf7af5769979f67721bf1c27e47950fed21e2c3009fd45a)", + "P->V[99584:99616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 46: Hash(0x6ac21ad29c79fed7d363e22651cbf0fd909a10e2d7b2ba0f4143272ffab22e0)", + "P->V[99616:99648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 48: Hash(0x487dd00589bfb07be2affcefe8a8d2e20337367d98870010ef7a56d17045b05)", + "P->V[99648:99680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56: Hash(0x4c616cc49b28eb07446755c11447331704e075d241b7bc4950dabac771bde2a)", + "P->V[99680:99712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60: Hash(0x265530530f30a955dcb40993e118c33eb04aedabe4dd970eb6cbf326fb9d8d5)", + "P->V[99712:99744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 18: Hash(0x519ee7ae52b657c156dde1f829af39ade6e08157ad3a208b250904a2d1f53d4)", + "P->V[99744:99776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27: Hash(0xe03e340810561bb6f1983300cd61fdf34afc1828e64093e3b90d6be79770d0)", + "P->V[99776:99808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 10: Hash(0x15d27b0080d654f20d9c25173f7f584d4dd1d6b65474d3cebdcfd1b132d765c)", + "P->V[99808:99840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 1: Field Element(0x1d5bfbf083f4c5d58b2bb3bd26c9eb82bf6d4fdad7caa33eede7eff2baa502c)", + "P->V[99840:99872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 2: Field Element(0x6fb8944484d9e3b0615da6cfc5339d228a35d8a746962e442a6df81d8c83aab)", + "P->V[99872:99904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 3: Field Element(0x6a76bdb1cec6f1d7740a63b72045171892c463192e701b7b8e2623a9191abd4)", + "P->V[99904:99936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 4: Field Element(0x74c00b64ab8531b4cd3b83b0d5519021f5a0f74cfec683b3d7739a6caf51ba5)", + "P->V[99936:99968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 5: Field Element(0x5fe15a3cbf691113b61635be4614b3e8415ec807d689f03c46aee994d6ef5da)", + "P->V[99968:100000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 6: Field Element(0x67cc0eb49f07f7b0a1c8c2928ff265ebe07fec9b40d9f7d2206cb9516785036)", + "P->V[100000:100032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 7: Field Element(0x7cf8a4201ecf7520cdef2670f055d11936c7769ff7a7cdfdb21a449e882124)", + "P->V[100032:100064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 0: Field Element(0xb240fa97d985f5eb9b5d8219526fc32d1ba4e23d4006cffc5c511949e71e1e)", + "P->V[100064:100096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 1: Field Element(0x66f561edc4c403da23fabfed3664133649d2700b493db80dc455d060709e4ef)", + "P->V[100096:100128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 2: Field Element(0x63e95b1a1002826d10c3de79e7ce6f35427f0832c4f16ba73c66cc86d928eff)", + "P->V[100128:100160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 3: Field Element(0x615aab35480ea461ee0bcb9d083da945d57e3e286cb67f49a848c0af6ab69b8)", + "P->V[100160:100192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 4: Field Element(0x1275b4eccaeb9d9ce62ea378f92f36885c364d9fe93227d67657b78a4ffe7d2)", + "P->V[100192:100224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 5: Field Element(0x270e400a6f5f6cdda18e301fccdc3051c4d8679d407378fc076012fbc686239)", + "P->V[100224:100256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 6: Field Element(0x2ab1907d723c704fcf24e0dd9072411935a888a8ff7ea80e03cee490b72dff5)", + "P->V[100256:100288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 0: Field Element(0x8d6695c12f4d3b09c1b89bdab3e64c92eb2e8cc8d5802111e81345e6743192)", + "P->V[100288:100320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 1: Field Element(0x60e1d4d4eac081f0028bc728d3e36a7085f6e1771a1b300a6a3756c9e3adbb7)", + "P->V[100320:100352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 2: Field Element(0x4fe888e2d66ad8ad5ea90c9bb6251cfcbb9d14ae0f61a900ac829542267e5)", + "P->V[100352:100384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 3: Field Element(0x6a0ee8caaba57a2e23abada0e7e6b736cf2913dff965eb15229b2e50c315b35)", + "P->V[100384:100416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 4: Field Element(0xefbdb6ae440268e6aeb58d0169243db93890b39a77ab0133a7cb453037fca4)", + "P->V[100416:100448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 6: Field Element(0x62be9c5a4d3bcd8a813f6717baac5de814ec53fc02544af22465e69894974d0)", + "P->V[100448:100480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 7: Field Element(0x3420d53a8a8fc2342ae5b8633ee6032b39872bec5e755474122c2f1f888c0d9)", + "P->V[100480:100512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 0: Field Element(0x7090fbbc0d1b4cfc248027f4a4cd9e53a1f2bd83d051d839fef2f0836ad0c1b)", + "P->V[100512:100544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 1: Field Element(0x3e4bcf0ccee97e44274a8411baefb7bb2ebccb98ec58097698c529a987d6f5)", + "P->V[100544:100576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 3: Field Element(0x7becd2797a974b3d44d80566a5d8c53219d1be8b9da631c10ccaf332537f40a)", + "P->V[100576:100608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 4: Field Element(0x724ec83ed2a31bfb1230e4fda5ec90d9df2bdca77d958018d4852d91a17eacc)", + "P->V[100608:100640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 5: Field Element(0x625372609eb7db9ed2511939ca0e07744c0913a35f339832ad284bf5d29fa72)", + "P->V[100640:100672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 6: Field Element(0x7057b88640081ee23618930afe2bf45fc50f6cfeb3daf7a066ebb024b1fe9a2)", + "P->V[100672:100704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 7: Field Element(0xf68a1ffd92131b37bc0fe4983d6ecda96c96df419299741c8a8f71ae25c3e6)", + "P->V[100704:100736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 0: Field Element(0x2be965f5c14a6a59372b07d65f5778cc4786fc0bd47cedc101235952501a089)", + "P->V[100736:100768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 1: Field Element(0x2c1d09f42e0c76148a7a1b47933e56bf2b9e7334d5524d3828c140c9d41b21f)", + "P->V[100768:100800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 2: Field Element(0x206dfdb414898dd59ece5749179a4c02ca97dbf767e1998ccf58c00b8614763)", + "P->V[100800:100832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 3: Field Element(0x984c36edc99a82132764eb2e318c45e838fb013dbbf9c92c28e38aa5c74035)", + "P->V[100832:100864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 4: Field Element(0x4778da8deb54a674c8b45b6f72cb1aafd2f47cbda01bd15ee63d397f7b2a70c)", + "P->V[100864:100896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 5: Field Element(0x3390cfb89aafbbf9e3c4a87d32558fdc4e9255621902bb8a08d008d36f796fa)", + "P->V[100896:100928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 7: Field Element(0x2b0d34467396ab3fa05dac5adbe3aead74987e8cf03f56f8a0987ff9076eb9f)", + "P->V[100928:100960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 0: Field Element(0x59694eb53f419bdabf08b24af995709b35bb7e7aa673f25f4368deeb50142c7)", + "P->V[100960:100992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 2: Field Element(0x5b074c4d98e75a04aee9ed530f62a02c3ae70c54490613343ace02d412496c)", + "P->V[100992:101024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 3: Field Element(0x312221144bc5c7837901df90358d7d2a058d60b31d89adb0603f2722792584b)", + "P->V[101024:101056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 4: Field Element(0x2a7523e7d6601c8a849911ca486abef967002abc1f4bae715e7d708d3773009)", + "P->V[101056:101088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 5: Field Element(0x29e3054aa53ca4b6e5ed25837cd6c25dc8ed22b3825565f7fe6086284d94907)", + "P->V[101088:101120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 6: Field Element(0x313815a183b67c024681bf0ef3757faf8d4d802939d454f5b76cd5b765e37ba)", + "P->V[101120:101152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 7: Field Element(0x7ea712dea9f3926d4386e7cbcb8e2b3f72f3813f5a6e63a13616b38321e721d)", + "P->V[101152:101184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 1: Field Element(0x736f36451d87023bdac79362bced912a1bb6167f427515a46fad8e6574a8269)", + "P->V[101184:101216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 2: Field Element(0x540877a3d5230ed8cc4c642e66dc9c26cc73acee591a4e9ffbfd86815868d20)", + "P->V[101216:101248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 3: Field Element(0x30dd48076b05cb2d8662c9b47d6e8f3a92528e08f6e918c31df7e7ca1b79931)", + "P->V[101248:101280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 4: Field Element(0xdc241cf967aedcd09f3975c4686776a20fd4820b2a61518106a82a8bc6f6af)", + "P->V[101280:101312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 5: Field Element(0xcefdc28044a4483e2a256ba215aab88589e74c60f912ee692d1d7a37a843ad)", + "P->V[101312:101344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 6: Field Element(0x1c07217c637cb34c8782540d4365d93395f6935d811f44e0078d642812cf588)", + "P->V[101344:101376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 7: Field Element(0x536e941793053ac11d3dd185dba9787a0b904aa66d9db5594749558415f3316)", + "P->V[101376:101408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 0: Field Element(0x69de0f35d4cfd3ae93c710a036a70d8f553b1ccf879ed1226ed710689eb71f0)", + "P->V[101408:101440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 1: Field Element(0x38470e842fbe73e26191a05c842eec897012de17dc869a0a657835f9ef1b443)", + "P->V[101440:101472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 2: Field Element(0x2d1a55e7e7f66b8b6f523353f0e74bf9fae8beea7f72dec1ed78f263cbfcf89)", + "P->V[101472:101504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 3: Field Element(0x58e2b90a4c763f5532c9a5f156e937d9b826f4453612a47e2e294ac02db8a8a)", + "P->V[101504:101536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 4: Field Element(0x3ac98ce61f0e7f03507516b9340590ac7c244299e50028fea0d49b52e32db2a)", + "P->V[101536:101568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 6: Field Element(0x5c356cb2c4b7b10087f272e2b3ac582609106935fb9a1155698e868e8b82a44)", + "P->V[101568:101600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 7: Field Element(0x766e71bfa92df06f0e0978e4ad2105e6eeffd4528ecab35b1cc4e7e17d43af0)", + "P->V[101600:101632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 0: Field Element(0x14113086c5367a8868d692149262916444a74c6ea9884f06c7a4e4f45a99acf)", + "P->V[101632:101664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 2: Field Element(0x2c987448255880a5d3597b048c705d78e5e18db4706d0e14f223de4dfe8c413)", + "P->V[101664:101696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 3: Field Element(0x7924ddb3cf97d1bab610057443623f0176a28244702dc39b87f1bc7adb5dd9a)", + "P->V[101696:101728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 4: Field Element(0x145bc1ac1972a03f2c88f39d6ec725f0669bf5063be568c9ae7b961e8a202b2)", + "P->V[101728:101760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 5: Field Element(0x320efdc9872bb9cffd4d8d96c40e3270ffc07fa9f584db2681d050791113782)", + "P->V[101760:101792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 6: Field Element(0x5570049518aae91c799bf97c8f3ed38806fbdbbbcef328e4dd329af65b9b5fc)", + "P->V[101792:101824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 7: Field Element(0x25264d0e8d47b8975149dfe15c4cb9a141e64fba40882b5bcd9b12d33c485b8)", + "P->V[101824:101856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 0: Field Element(0x17efc49c3c9f6556f9b9f9d980eefbc99f0fc49ef292bdf7b3f1bf2e81e3d00)", + "P->V[101856:101888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 1: Field Element(0xa7713448b7b188924fdf8e4825be1a33becb6a22b7334753d10b5badc6090a)", + "P->V[101888:101920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 2: Field Element(0x2509b8f41427bad335c1b680bc69ffb30414441f7e4985b20d7257f65d90dad)", + "P->V[101920:101952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 3: Field Element(0x17a18f81952fd4d4ae2ab9007537f3be310327d8efad87813a9a9b17a504c17)", + "P->V[101952:101984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 4: Field Element(0x379b488967c2e96693b15b3cf883e5aa271cec8ab79048e6823d8a040ded81b)", + "P->V[101984:102016]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 5: Field Element(0x3cbb6a92d39044ed72d56d43fecc8d16944d8857fcbb3d9cc6381c3f7709329)", + "P->V[102016:102048]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 7: Field Element(0xda268fa6fc18e245a7daf36b2dba858af8dafdb990eb4e1678aa5392adf17)", + "P->V[102048:102080]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 0: Field Element(0x39695738b7925d2238f10523b18b1b786c0a892920dfc5227e1c70331e3c345)", + "P->V[102080:102112]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 1: Field Element(0x63fadb818a3874e634850dc569621b418c9942ce424f457664c22b2ac23036b)", + "P->V[102112:102144]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 2: Field Element(0x4ccfc485a4c673e13108fb0153c6cdfa6cfa9597b45ced1ee86a966cb7ee002)", + "P->V[102144:102176]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 3: Field Element(0x301e93295c213b5e0f36f1cd35833961e2d1ce54653ea52ff040780a9459a00)", + "P->V[102176:102208]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 4: Field Element(0x532d255d51f8ac9a27d57d8ef678ddc3a772088583e8f0c493ac30749248441)", + "P->V[102208:102240]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 6: Field Element(0x9b87936b9c6fb063b697a791b03e668e0926aa396af33047a097956ed1574e)", + "P->V[102240:102272]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 7: Field Element(0x267518a73747179c6aaa9341d73d02d6fb8c81873a191e213ca95f05c6abfc1)", + "P->V[102272:102304]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 1: Field Element(0x4a7b15a3b7dae204b94d7e02fae5b1c8e76352176010ce9b63153d395baa8e4)", + "P->V[102304:102336]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 2: Field Element(0xc234572e6354947914379f07fc4f72726dff77b21c49326add7223c5df1f00)", + "P->V[102336:102368]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 3: Field Element(0x5d9da563cad29d4bb44f327bd7ce31da91d534d31bf251025c91538eb7d83a4)", + "P->V[102368:102400]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 4: Field Element(0x28fabf5ac1b5b6956716e745e948c24f674ae4f46d66c6d524260c27ccf2071)", + "P->V[102400:102432]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 5: Field Element(0x70b850a64dd28ba8164d4252c91ccc857bddbc451ec0d7cf214d174297c6c33)", + "P->V[102432:102464]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 6: Field Element(0x3b6b14c2658c31b256a39816f1140bf1bd27b7fdc629bafc4165738a693b73)", + "P->V[102464:102496]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 7: Field Element(0x5de774674f2b57a3745a201f0cfeb2084f82d6403a97bb5fa547ae8f3ce33bb)", + "P->V[102496:102528]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 0: Field Element(0x36448aa0c949e35d086f2d4c445659284dc0c47ae2346ad6f27758430cc9d2a)", + "P->V[102528:102560]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 1: Field Element(0xef4c9637c0b9782501143a0ad4a4eb32d2bb3069bb55a533a38f45527dc5a2)", + "P->V[102560:102592]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 2: Field Element(0x1110467d69f5032b9a7c8d6c8fef72b2050d0e28b3ddb8fd486e4fc72dbb419)", + "P->V[102592:102624]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 3: Field Element(0x74ebda7111f63ce6112d58129c652d695c291658a4c688ffb6d878f0c163623)", + "P->V[102624:102656]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 4: Field Element(0x7f98f17eba12c6d9fe6423caa1b13aa66d2bf6133c6f0598e7d3eca6b3f72ed)", + "P->V[102656:102688]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 6: Field Element(0x4b06651eb0db96a708482c996cd02f5bf797c88a712e6cbfbebcaf094a76a36)", + "P->V[102688:102720]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 7: Field Element(0x3b6c9ed280968f9aa06837b6acdbb67d4277a7d185645a6f1af065461fdf1e2)", + "P->V[102720:102752]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 0: Field Element(0x149a5b31707044965123d522f97d57f14acf68b151b9c4f2c30b4e87c682ef7)", + "P->V[102752:102784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 1: Field Element(0x6ba7fb1f06fae93b12d2b96853685e3ba502111628d16e6efecbeed91454b7d)", + "P->V[102784:102816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 2: Field Element(0xfe7cd497660a85ba9a03b7ddafb1369b6627c7cb8f432c66431ae60dcbec37)", + "P->V[102816:102848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 3: Field Element(0x420f29e8a86d309c6fcb18158871e1868a4806526eb82acfec29db65fa4cf7)", + "P->V[102848:102880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 4: Field Element(0x34f9c7646a7d1b36b5a9bcfb99426eeac0afad3b8a985bc21888208bf57effe)", + "P->V[102880:102912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 6: Field Element(0x7dd7f3fb52cb0313a4f866e0c32293b888f0365a9f6a38661b44407581adb2f)", + "P->V[102912:102944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 7: Field Element(0x39ee345e7de635b0e8328a9d1aa6edb44ac634aadd657a765a2fb8259bae9d)", + "P->V[102944:102976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 0: Field Element(0x265e5eba1e819395c437820b68bc40af7987645323353b248fca51e1ace4b8e)", + "P->V[102976:103008]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 1: Field Element(0x47bba7b24b48868cf29df80bddb9e98147a67fa35a80560c2613279445cf732)", + "P->V[103008:103040]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 2: Field Element(0x47eee63a9aa1a241fa9162849c1a7a545d2eec0199a87f9f1ee9b7361762d7)", + "P->V[103040:103072]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 3: Field Element(0x38170568741086f0e7c8772777c7386870323d252cae1588033f789dc3b998a)", + "P->V[103072:103104]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 4: Field Element(0x3a71770d275319c4e0ce1c75d2e970cd1fe8cfc1eeae6498d6c3370c2598c1c)", + "P->V[103104:103136]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 5: Field Element(0xb35f38a1c7c21169e66d71b6a70eb83beae253547fdcd316d101ffc39fd03)", + "P->V[103136:103168]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 7: Field Element(0x1e740e61e6f2c5cb4c4cb0af6d69782ee9f3df5f2f126580104ca85c029b414)", + "P->V[103168:103200]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 0: Field Element(0x77107cf7ba1a6f153580348d1898832ee8c33ca08ba15bb0b8e77fd93717117)", + "P->V[103200:103232]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 1: Field Element(0x23dbe30c75e054aefe4599a3de12cb033d2fea72bd6f930c5858942f496cd2d)", + "P->V[103232:103264]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 3: Field Element(0xe4d49117cdbb50f133b4c630bbd929dba7a4d4811e063558e8c43326267306)", + "P->V[103264:103296]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 4: Field Element(0x66e6e456506750b152cdd3b47161347d4035b61fda9aae56797bfae1b8636aa)", + "P->V[103296:103328]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 5: Field Element(0x4cd538eabd7f1174fef9388a0115579971a197d6c75f6b8a74828b7c27f41df)", + "P->V[103328:103360]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 6: Field Element(0x579229fce1f37e87e6458dfafc5283c1afd83908c39eac116bb9646afb279aa)", + "P->V[103360:103392]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 7: Field Element(0x731b6727ae0bdef9d5c4f1f38f6ae2e0be4f9a3f90953a5e7b93250cafa0b2f)", + "P->V[103392:103424]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 0: Field Element(0x1db457c25d3f40f62d2a2980169d16aa540c9b0157120caf50dce357feb541d)", + "P->V[103424:103456]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 1: Field Element(0x188b75b692c7f90aeb3d3ae64d2e37a792894f9308096b9dbb01d118194d5fa)", + "P->V[103456:103488]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 2: Field Element(0x4b8db5e04c432ecdbf1fd0cffea172186cba544536082f49748688c19875508)", + "P->V[103488:103520]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 3: Field Element(0x267c49ac720daec5cfd27081ef65035a0da559c6a84098cfa99a6e8b7e4d141)", + "P->V[103520:103552]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 5: Field Element(0x5d8df3ef952e6da269e327bea2cd46cbc22645c5e34a87b4063e9efc0883230)", + "P->V[103552:103584]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 6: Field Element(0x6a5942f076645fada2efcb45c00245e93812ab370cc67bee41b6342304ce5e4)", + "P->V[103584:103616]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 7: Field Element(0x69d24c5bc85edb8304d904b16759e32b72303d926b62ed5971041282b76c6d3)", + "P->V[103616:103648]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 0: Field Element(0x7053a04c3051ab38663ae411b9733aba984f1a582638bfcab1c5f226eb57b16)", + "P->V[103648:103680]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 1: Field Element(0x10d904e13081334e0cb2e2a071e7b9225a86d914ec1ee9337828665ad594787)", + "P->V[103680:103712]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 2: Field Element(0x287bc22e39ca87e91fdc81aa08a1e8b04b123d88acca2e3b78d1a04608f01dc)", + "P->V[103712:103744]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 3: Field Element(0x3bc8c9f2eb36dd385c5d581c2174c179d6f5647fe7b4e5f1dc2e4b4279ebcef)", + "P->V[103744:103776]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 4: Field Element(0x3b1491b4497eb673b615337a61ab53a67f147952b88b7f949ab9d18432e3747)", + "P->V[103776:103808]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 5: Field Element(0x488a3b0fd220e421f606b297f44c83ac8cb9fd03321eee07a699f451d6ea772)", + "P->V[103808:103840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 6: Field Element(0x2fdea0c6fb9719867ac1a2e39fb1f4dde5e4d2f3193750f989655c09e192ca6)", + "P->V[103840:103872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 0: Field Element(0x4eae7fcb8b801e48cd3d41e37b391cf6ff7ef410cba3071f9b47dd1ede7c5a3)", + "P->V[103872:103904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 1: Field Element(0x12254aa8b0e26d05a8bb06791fdee77edff724c59753f58ecbccfe055214854)", + "P->V[103904:103936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 2: Field Element(0x60c05b52b9ca6d9b64f5c24d1ff3995812a4ed7c33e637ffed3333920f49b70)", + "P->V[103936:103968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 4: Field Element(0x5ebabaa0e539070a828742b2873d601f01006f287011a0fcd1f3f49df081976)", + "P->V[103968:104000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 5: Field Element(0x13de7c0eee5e8d6ec7429a0d778c16d908361818d0c975d8066dd727b6a283a)", + "P->V[104000:104032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 6: Field Element(0x6c64e1d81f289bf1aa699b00ce13e15c0172b214c2d4fe0a804ee3f5df89908)", + "P->V[104032:104064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 7: Field Element(0x111e4abcd5a9f38c36ab58fd73c4e27bcf3e005590187470d1d288d7354c5a4)", + "P->V[104064:104096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 0: Field Element(0x6c5b776bca41edc6db70a9d379c7e727a9110e44c8dc4d5537b88f0d436fe7f)", + "P->V[104096:104128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 1: Field Element(0x3a61fb0e7e3684f6a2ad0ff6402229f165cd311f91a3a957e979e66bca77621)", + "P->V[104128:104160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 2: Field Element(0x57349eaff91f7bf48026cb1975ff034b571ffad24f306c956c9066120ab9bbc)", + "P->V[104160:104192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 3: Field Element(0x7da1277fb35c21fc8573a3c0b4e3bc2ff8d1867bb08cb1aa8255ca92c704776)", + "P->V[104192:104224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 4: Field Element(0x44c0dde1ff8975c7d535d2d85b183c0509e5fd12fa513cb8cfc49779a9db582)", + "P->V[104224:104256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 5: Field Element(0x66cefeb7fc6b8f9bb87a3b34457b4e726d7361b8c6e63a586f8a433b6afc532)", + "P->V[104256:104288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 6: Field Element(0x21a28d658d94b1645c302908f173211a0947ac24fa2cf62b0b292cfa9ecec2c)", + "P->V[104288:104320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 0: Field Element(0x65b97697be6923de308447aa5088dec81163e1f980e9510edcb9937003a050c)", + "P->V[104320:104352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 1: Field Element(0x7b40e2cbc7aef6305cd496ac8a1a8022ca2fd9a60ae21918a0ee775f75929c)", + "P->V[104352:104384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 2: Field Element(0x7061f5c1a32038c4d054159e1da1050757518a9a84ffd4eede1b2b7c8d209ed)", + "P->V[104384:104416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 4: Field Element(0x5e50d191fc357f6f4ef0962f8b87055de829e126a824adfae122a0c080f1517)", + "P->V[104416:104448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 5: Field Element(0x301b1d00568fb5cd304e808755e31e66abbb45fec10d392b1c3984912416086)", + "P->V[104448:104480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 6: Field Element(0x6868de2c884cd14bbfa632b757922350b1abbcc384772968f8677356af484bc)", + "P->V[104480:104512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 7: Field Element(0x1c2fe523b8fcd462b7ee88215e35005904889fec3f548bf3923164f8a9cb5e9)", + "P->V[104512:104544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 0: Field Element(0x11768387eff925c8b7671f821986c17ecfa9b694a9a18dcd408554144be3fa4)", + "P->V[104544:104576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 1: Field Element(0x2a9fec3c387368f2f6bcd4435235a1241ab1ec982767c1614759005e87c0d5)", + "P->V[104576:104608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 3: Field Element(0x7650a3f9e71b93fc426e05c2eae8dbf9f7456a1f216ccf6a3c3ba096fc2ae1c)", + "P->V[104608:104640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 4: Field Element(0x22734fbbfb1a5a5736a8b4791bc203ed4f00d89406d40b3d213c501022fe7c)", + "P->V[104640:104672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 5: Field Element(0x47054a8689b9943a6cd33d9461bc76efea0e0d2f0be369cce6d70fdcc2b4d8)", + "P->V[104672:104704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 6: Field Element(0x41bfcfaaf8062e39865b902009753e4356a72a93f7741397743d689c74a0c0d)", + "P->V[104704:104736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 7: Field Element(0x307e660308fdd430fe544c8eb893df622c10ad2e8e05458d2f19508c9ec91c8)", + "P->V[104736:104768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 0: Field Element(0x306936fbb6ad4f6eecfbde94d6bcf916b51d9d4268ed49fe5d6dea8e263794b)", + "P->V[104768:104800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 1: Field Element(0x549f3dd1b44844eb17f93f3b82dcf463453cb7803a2499c21aa79f3f77b6729)", + "P->V[104800:104832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 2: Field Element(0x7c0df125124dadb13ab5a1a0f27e45876444afb409a1af8d9bb418b6434b4b9)", + "P->V[104832:104864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 4: Field Element(0x3a56d2b6af0cf6746189cf11cf089df207fe5a4e1be9872f70cb0e0882b938a)", + "P->V[104864:104896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 5: Field Element(0x12184f0ddfbd7eb6b3e73da0ca47b7381afc169317a82d7e26e6481186f7a0c)", + "P->V[104896:104928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 6: Field Element(0x263b278575f85e4ed718154fe42e79903262feb94b4f6a36b3111dd48989683)", + "P->V[104928:104960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 7: Field Element(0x4706e7a3db3c237aa00c7dba10dbad8bbc510140f77780743215b1f6f719d81)", + "P->V[104960:104992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 0: Field Element(0x362eddee317cc4c6be8955cf8db19829acc640dd92c1731e7890e4892aa64c7)", + "P->V[104992:105024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 2: Field Element(0x6b10b5bfd0c96be156b3c8ea2fec6842a8ec8f4ecc8e766895988296a9ced7d)", + "P->V[105024:105056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 3: Field Element(0x6d6bdc4d7b177d47e49fbb0c94ce209e5985d46565c567e5480c137998222e9)", + "P->V[105056:105088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 4: Field Element(0x73a90467fb90f8e1b54f5e72275aa77ec216c905893b51957af3b9351e09b9a)", + "P->V[105088:105120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 5: Field Element(0x705b3e60c23859d97df412150fef231c35cb7479e1a2501ba0c736423e18018)", + "P->V[105120:105152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 6: Field Element(0x2be64ba3e81d42e55c4a378f7a24e5753bacb50e4cc08e1bd49b82b1568ae30)", + "P->V[105152:105184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 7: Field Element(0x5908c30dff3e3b2beb6b99e0c18e97fcd884168f4bf7eb7b5e6bd5051da5934)", + "P->V[105184:105216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 1: Field Element(0x609aa1bbb2ccf02f2fd18231b8fa1b82ab195e691b42a2205983a8151c9e06d)", + "P->V[105216:105248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 2: Field Element(0x66495c3be0136172c512ba7f35ab7fa3d34ec07cd3a8da58062170af060a5f6)", + "P->V[105248:105280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 3: Field Element(0x22c4c2da9fae7d04c11d683aefd9569c2cfe26bdf40a431d3f48ba6f82a0cf5)", + "P->V[105280:105312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 4: Field Element(0x3ad5f4eed18805d33f24776bda2e5e339ee82ab4da19226c9466ff2f0a30746)", + "P->V[105312:105344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 5: Field Element(0x5657010b8c3667fbe55757297c292562d90d08da2feb2743a53d1b11458d185)", + "P->V[105344:105376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 6: Field Element(0x64212c682a578f2cd408a063587deb9e33e4d714c7150f22e241caf124fab2)", + "P->V[105376:105408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 7: Field Element(0x2c99b50394fd08fd0bc67b94d8e1d1f7b58fc99606096e757e9133d8d33a7bd)", + "P->V[105408:105440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 0: Field Element(0x1bba42d74ce25fae0bc9660367fecbbd37d2230b7f8237f89170b00c30bdc29)", + "P->V[105440:105472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 2: Field Element(0x6e1935dcf2f9b5e9895316cd1e6ac6f49595f7b90ca291f05c4bacb591cb077)", + "P->V[105472:105504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 3: Field Element(0x1d9bd8ec670bc86564db050120c4fe549c32c0e4c085da8af259c59ec903a48)", + "P->V[105504:105536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 4: Field Element(0x5c72c7631128ce5ce84c7eeb75776b6caa2df995479723fe4215fd9bc851aa6)", + "P->V[105536:105568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 5: Field Element(0x7541959c521284dd8bbe16327f9252db74461475bda8c7c450308e8281b719a)", + "P->V[105568:105600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 6: Field Element(0x66ed61036f6117d9a16d340f97179b18bc5a66892318376e7e32f208a450cc7)", + "P->V[105600:105632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 7: Field Element(0x51ea0da8c3a9a5e45907779803fc28dfd6648042a4f304419a3a294f7b2bc7e)", + "P->V[105632:105664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 0: Field Element(0xbfbad03100c4161f24b4d316b6e0b2567536af3862a575f03cd80a8985ac28)", + "P->V[105664:105696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 1: Field Element(0x3da0ee39e80adb8ebb649202f90b829ceadda7ce8d925bd64f82b5f7e411038)", + "P->V[105696:105728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 2: Field Element(0x294adec6c9f4267999779658f12529076913be187df1c2d8b73646acdc637d5)", + "P->V[105728:105760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 4: Field Element(0x71ef2d64b590fd8bf40667dc6d9036250c8c5efbd8d9c280e0038df2c941466)", + "P->V[105760:105792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 5: Field Element(0x650c19f8cc2fe910f42e14d2cdc7f5755ae75d7bb81380664480b94d7e5ced1)", + "P->V[105792:105824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 6: Field Element(0x62a0e33f63aeb5556e34b8126e0e5735620131b4f5e9b9d2912a7427583dcb7)", + "P->V[105824:105856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 7: Field Element(0x37567e50aafed7e48c2cc9f72a16a17f5b4295369fb4ecbff608e6235ef63e2)", + "P->V[105856:105888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 0: Field Element(0x47b464a41f9a6b3c0352c410285330f7518f537508568caa237b096d86e32b6)", + "P->V[105888:105920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 1: Field Element(0x4f91d92d5f2f2cec761fbc790c4d33db290215d40583c2a61f3d52b97b91bf6)", + "P->V[105920:105952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 2: Field Element(0x6eb3b433befa47423dd4d760025982e4af38691d64ab8f73c0905e2107c381d)", + "P->V[105952:105984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 3: Field Element(0x70dc6d1c1ff8a24924745739b1249454651c9499593fbc35699d80ea52b7c81)", + "P->V[105984:106016]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 4: Field Element(0x65d5329358e26d6455bdd3492482902cb2df2da99bbde70f6e54a856885845b)", + "P->V[106016:106048]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 5: Field Element(0x7f8abf4b9e8374b67ebdd3b078c0478e9a019a89101c475e62fd969199a4376)", + "P->V[106048:106080]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 7: Field Element(0x389906b1de92263dd46800ffdc67cc1979154179b7a6ff332c325a35192ede1)", + "P->V[106080:106112]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 0: Field Element(0x3242f4ab9ec233c3ad1f03d4a9d2ea924fe907914c6dfdcd470df29afabe6eb)", + "P->V[106112:106144]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 1: Field Element(0x14e2ead45942450baefab03b500f7a52acd8fbb0cfc6534ea10917096fa00c3)", + "P->V[106144:106176]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 2: Field Element(0x44012598f5458e4841b6c6295dfc1ebb398652bc28d59e608913305f27be152)", + "P->V[106176:106208]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 4: Field Element(0x211ced2d7d157227704d12927b29ee5398247b8ab4027e796740b4e1f14d37e)", + "P->V[106208:106240]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 5: Field Element(0x4b6dc44133824d75313ed4b659beaddd36909039f706f713f85d04efde9a5d4)", + "P->V[106240:106272]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 6: Field Element(0x33d93729291c318657207e034b234b5e425257365de2286280894e4e9e16456)", + "P->V[106272:106304]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 7: Field Element(0x352ebceae975ec9355e1d6dbbd42207ceb25b0772610010f996d4d5796925c6)", + "P->V[106304:106336]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 0: Field Element(0x14e0ef2b515cef70045315383a0ce2e8f911edf2a341a37655527ab8a59e98f)", + "P->V[106336:106368]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 1: Field Element(0x71167555c59c1169dcc05187b26353feed008656b615c148ae713064f1aa370)", + "P->V[106368:106400]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 2: Field Element(0x1bf5d4b930099805b24dc43cb7302302c4a16b94eba726a0dd81fc07971cf65)", + "P->V[106400:106432]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 3: Field Element(0x307ded0b3f3c9beecd3c35bb6851ad1a179680c9e87852a47ce6d83e26cfb76)", + "P->V[106432:106464]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 4: Field Element(0x58c943f8932312c660100aa315d8bd6a5f0f04ce86213a026d98eb062ce48cc)", + "P->V[106464:106496]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 5: Field Element(0x6c6f19a0aea93d31999cd7b7c281d2e3bdee240cabcae7c8ef16605d4b5b119)", + "P->V[106496:106528]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 7: Field Element(0xdcc38ad137aa50c96e575b54e416f14666777f9ef80b2438d8585336ffbfc3)", + "P->V[106528:106560]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 0: Field Element(0x606ea737ac2513eba4ebf0eac10085ffb4cb3c39e9a953580541e21f07b7268)", + "P->V[106560:106592]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 1: Field Element(0x64c67b3d9c9722ee403de5e9ab951bd59ba6a2642c02d010367f9ea6deb455d)", + "P->V[106592:106624]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 3: Field Element(0x5d6f8e5b5a69f0312231a7c0a4b4cc7b3648e03893ba9b9eb1b263751c284c2)", + "P->V[106624:106656]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 4: Field Element(0x634993b97e01f9ed2a1773d616a2194a1016e16c3cde6517a2eecfe466a4719)", + "P->V[106656:106688]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 5: Field Element(0x64aa4a621d4de2dd8553c90ad8d0d4e14ceb3cbb12c7fd578be697dd293b6de)", + "P->V[106688:106720]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 6: Field Element(0x45f5de54b56335ed273b53232af795bbcbc1a17abb053667c55bd6e9c18591f)", + "P->V[106720:106752]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 7: Field Element(0x6a9a88ad3a0f5b278abff074c6404b8f5b3cc4aa6e2765df2d066525c5cabe7)", + "P->V[106752:106784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 0: Field Element(0x1010b669d8ca5ddbbd21c3dfac38ce5be8e4d878e41a667a59f14b30fec9547)", + "P->V[106784:106816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 1: Field Element(0x2b1b312bd89294388ba8b13c5e0d2d2b5ff96fde5cf4efec88c5c8a552f3d)", + "P->V[106816:106848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 2: Field Element(0x491d1b50ee17e0a533a088beb18eea2e76a5e5fb6afacaaed46ba4afd483200)", + "P->V[106848:106880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 3: Field Element(0x5f6509da385f5a7ce725c690d59f5faa48a77ef0b31bdb4f7effe52b2d2e354)", + "P->V[106880:106912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 4: Field Element(0x6933301aba1d9910675f26a5e6122d0514500a2b3aed3c5dd665d89667f637d)", + "P->V[106912:106944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 5: Field Element(0xebf143025c4f8a13b914a6928de955e10e97023ee72f54d1b45e9f82edc178)", + "P->V[106944:106976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 7: Field Element(0x688d05a22eb334ba9b18ca4efdb766a61ff3e0264f929f8e62494a5697b0a5e)", + "P->V[106976:107008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8349: Hash(0x77c083773333e1abc3eac0d2c7a00e09edea0dbe40da0502647fbf759db0aca)", + "P->V[107008:107040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8404: Hash(0x7217af1ce27ace1e6ad4ce12a9b2be4f1e03fb948ed58e62ed62dafe3b0beb)", + "P->V[107040:107072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8939: Hash(0x23d1b9b4431198b810d545dea204f03181be69b6a38e9e2abe50e03217bb950)", + "P->V[107072:107104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 9926: Hash(0x969a8f667aa9730527e84dbf13aa322a6d08e45652f9e39fbb13c1a156bb4c)", + "P->V[107104:107136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 9931: Hash(0x36216b487aa3aad17f79d7a5fdbc06a25f2d828934bfb9c75ce3992f520fc14)", + "P->V[107136:107168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11265: Hash(0x21d1d25d2c08d0914b2b16379e2327277f510ca6d468120bbed3afc92890243)", + "P->V[107168:107200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11439: Hash(0x28389066bb2b578a806926cf8644bbfd179800d9feb4898c44218d30c351537)", + "P->V[107200:107232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11528: Hash(0x7da84ca904d1f8a0abf58c5fe2aaefe508266965e42353ea37bbf7dc7349b14)", + "P->V[107232:107264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12085: Hash(0x11201a9805d106426483539979857801354460d978b4297bae3185b746a9a2e)", + "P->V[107264:107296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12608: Hash(0x770eafaa517daef1c23041721f43045b22c237a7c25c824d8db80c5a7304da7)", + "P->V[107296:107328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12723: Hash(0x642dbf9179ee26d0c512a9e94b3b3f08181e399c7f220b96e699aaad0ff20a6)", + "P->V[107328:107360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12743: Hash(0x3ff28390885fa5437fe21aa0530e58401c8a798926262632aeb57e6afb5d701)", + "P->V[107360:107392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12769: Hash(0x6428e542928e3b89325c7260d96c7739150d35a81ccd996267341231517102)", + "P->V[107392:107424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12811: Hash(0x74925cadd771eaafec1389a5712ef60fa0b7c59e2dfcca11bf10bc9727ef2a5)", + "P->V[107424:107456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12938: Hash(0x16e10ca0342f7efd269bc12025f8129fe0eab4dfe3be1d25b4882af3df48070)", + "P->V[107456:107488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13181: Hash(0x259ed82e5647e6df5b4c7901b372a7c495a059067f3fd2c63ec812d107cf1df)", + "P->V[107488:107520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13300: Hash(0x46ec81ed139eb254d3bb5779a89bd42aca3e0cf87ecb1722e88c271fc432a95)", + "P->V[107520:107552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13456: Hash(0x22ccce44d59c77850697b0bc20a87264d19e89246a7e36bb010f1c9a6951b8)", + "P->V[107552:107584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13526: Hash(0x5d656662a2835053e945e01b2187d1bd8ebb40d2236f0ea4dfffd940efac7e9)", + "P->V[107584:107616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13801: Hash(0x488ec9cd4135c1a8caa89d38270dad848dd946e636bc501e3b02902777c3557)", + "P->V[107616:107648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14673: Hash(0x32541e34038a8bbd1baf084ff40f9ba8f75becd99021dedd61de45960e6fdee)", + "P->V[107648:107680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14698: Hash(0x1976a3e7df8da44e4ca75820f17f000069aa753037d5c9fbb814925ab740cee)", + "P->V[107680:107712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14758: Hash(0x1458993a7c44e4a3d5eb6d150ea3dc9f28f492a2e474d4f1b9d0a63b5b654e0)", + "P->V[107712:107744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14818: Hash(0x75826757a4ee4810b1486be7a40c0498ef8e18a26a080d61a95a7affb80f153)", + "P->V[107744:107776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14961: Hash(0x24123102236d5ae335c7bea448d8b8293a4f8acc0c43c43b8ea3c015b5c6c0)", + "P->V[107776:107808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15125: Hash(0x769fb97d0812f25457e9a16859bd88a0c65e0230f8af7abc2d251535bee5539)", + "P->V[107808:107840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15175: Hash(0x6fe8f134b5ffcee18450d255f59d852286339d28df5615f53c6fa5ebf5e51ad)", + "P->V[107840:107872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15350: Hash(0x2cfc0bfa0f7f270a4d383d35ad38141d9c027fc339c75f5cd49dd9368ffd7e7)", + "P->V[107872:107904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15786: Hash(0x5bdb7e30c91402fcf53409152ebc3f810b0a11adbd33c1c6556318cc4b616f4)", + "P->V[107904:107936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15887: Hash(0x65cec369a8fe03aba01923526a7bf7c843e7ded749a0cf1fdd43dc63ccf1a73)", + "P->V[107936:107968]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15989: Hash(0x3fbba1e8a7f3b954752da3da9e948df40945a936fd47b0757ec53983dd69cf3)", + "P->V[107968:108000]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16323: Hash(0x40ae4c15ba99d0a51dd6b5d0e3f58ba6cd7ecac10ca714926a2f5cc14fb4c7d)", + "P->V[108000:108032]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4175: Hash(0x496a1ac66e710ff3e25f6dc21dd6343d30a16e0e526e9c42e93370abd544b43)", + "P->V[108032:108064]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4203: Hash(0x546e7826b7ce0a8fe76d8981d30049a873ed82232a1790618836f50744c4b47)", + "P->V[108064:108096]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4468: Hash(0x4dd5100e071e6ce7a890077e96aea016196a14ea75984540b4f351285b52423)", + "P->V[108096:108128]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4962: Hash(0xf40dc8910e069e7df51ad8fc11ec680a7866d38fe0c15075047d456426e1f7)", + "P->V[108128:108160]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4964: Hash(0x2cf473196f6b5cfdce16a78d82f6b3aca8d1514f123cf294284768c1d1ea401)", + "P->V[108160:108192]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5633: Hash(0x4aa13ba3f3fe084fe34a7aafbd15dcd6991fc9591c692be29a2a8614eb6bc54)", + "P->V[108192:108224]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5718: Hash(0xa61efd00d775409cb3a6e5278711ec7649780f0d5dd29504090d25f6b08a61)", + "P->V[108224:108256]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5765: Hash(0xd59c8c046e0804c24d8258ffc73db387aa5736fc55f6f2b7c6f963518c616)", + "P->V[108256:108288]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6043: Hash(0xf718d797db55e0493feda210cb415e4e7684bb291f8ff6946c6a069841d6c7)", + "P->V[108288:108320]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6305: Hash(0x4049d2330f40e5686fc3da651a64a02ebdfa7b025ea53f696f763a498ddb5d3)", + "P->V[108320:108352]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6360: Hash(0x294c2793dab2153ac04d68260092a2cd03cf79ff00f135776e07d5b1096fc5d)", + "P->V[108352:108384]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6370: Hash(0x48acdba58a854fe23cfc70c2293abe644ffcbf9fae53dcd1565f473e00a2fd4)", + "P->V[108384:108416]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6385: Hash(0x40c8e412f8aee2fed19fbc88bcf05165bd6f7e192149a7dc1e9df0945c377c4)", + "P->V[108416:108448]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6404: Hash(0x6b843f30ebb55dbb69fce338d25429208856b77871e6a30641aea299a4e14)", + "P->V[108448:108480]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6468: Hash(0x68bd6674c2575eafbc20ffcd6b5cecd3bb63be593e5d8c99e01754271502ab3)", + "P->V[108480:108512]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6591: Hash(0x26eae9159308a9f3ea32f44420efd29eeec2e2018aeadebe52a4c538595dc2b)", + "P->V[108512:108544]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6651: Hash(0x14ff6f8041be821710b7b890ead6e6051aa1f71056e90d66cc0f2de9b844892)", + "P->V[108544:108576]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6729: Hash(0x742c64f554454210cb6fe9d510e8750c8e67d5727fd1ce1c23f9a2e1efacd85)", + "P->V[108576:108608]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6762: Hash(0x2399b5a98bfad716654ed024a518897a6dd361293ff05fceefa64a9639bf432)", + "P->V[108608:108640]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6901: Hash(0x6f3b60ca5e212e403427bc5c3a690c5b281f72f8ae9b1e612f531ce686dd806)", + "P->V[108640:108672]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7337: Hash(0x11330016c640654ea1958e91c5fb62d1b071d233fe2426eaf4b013eca313832)", + "P->V[108672:108704]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7348: Hash(0x388f4e94d803adfcddaf6fe69cce6f14f393f2f7f8d2fc2fbcfca5aac0418db)", + "P->V[108704:108736]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7378: Hash(0x53b652b41aa9003e1cb358a0afae93b062e76c2dac7ed7301fe70eb2afa74d4)", + "P->V[108736:108768]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7408: Hash(0x458fa17d3614855f8c8676d935506db39b7ff421c247a973d0714ae32c5ab9d)", + "P->V[108768:108800]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7481: Hash(0x49cf701daea8409de7f8c0371211ce03d04b727115a6e75365fa01767b84eea)", + "P->V[108800:108832]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7563: Hash(0x65f1285551f3e5a0adfca0b90ac083d10e76c1fcb5a674b93298827b47d1c71)", + "P->V[108832:108864]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7586: Hash(0x2e18806e3b6608a90074dbb2669206062586bb684c0d926c10947840e51507a)", + "P->V[108864:108896]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7674: Hash(0x38b7b9a862121b75073a2b0a7ad4d8ebda03dd0d1fc2adf2b8b7c8c70192808)", + "P->V[108896:108928]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7892: Hash(0x191473afeb8edf66a6f30b00a07efd6cdb4a8c8bb92f356fd3566d5fbf88320)", + "P->V[108928:108960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7942: Hash(0x52d4cc3e61e6cbdb19b18d7ed134b3f00c2785d45361f3dd9ff349dc0a95fdd)", + "P->V[108960:108992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7995: Hash(0x20567ccb55f4261fe4a9d89378eb8e4e872919570fa66806d22456f42398496)", + "P->V[108992:109024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8160: Hash(0x708d3ef1e6dc64af7c0474d3cfc7a4bdc2cb1dc8872c97639d156405e4dd126)", + "P->V[109024:109056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2086: Hash(0x3d66868fc898b32b4561843ed772ea925aec7f66d4d05c796f8d3193d5ed503)", + "P->V[109056:109088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2100: Hash(0x65f0b0c4fb50f709d10ae3606da2a34340e24791255e7140357e90959fd9520)", + "P->V[109088:109120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2235: Hash(0x9b4419d3638bd0da1c0d01918507e4d367e07ebd7d948ec0660bd1b6a85139)", + "P->V[109120:109152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2480: Hash(0x3f8135f4a088dcde5357cc0550206713a4457bf631a86e82e2b124c2d0468cc)", + "P->V[109152:109184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2483: Hash(0xfe49d894efaecc880982c7b0a8f00270d4fe672c2c8e110860bd7a91b8ebc3)", + "P->V[109184:109216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2817: Hash(0x6b88834fc77a453f547302d3b3161aa0878fb708903fd22461505b485ebc111)", + "P->V[109216:109248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2858: Hash(0x799d27c3b80a91a0437a7661d06db8f2f669f8f70e58f696beeb0893853b885)", + "P->V[109248:109280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2883: Hash(0x651f1700d5f7e8990786e0cab1dd069d4211f44f8e42bb5244386f103f5f31b)", + "P->V[109280:109312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3020: Hash(0x4dab1c66d8a11d971570ae0a021eb77343182d26aa3ff4819d266a9dd231ec)", + "P->V[109312:109344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3153: Hash(0x4a7474995dfcbcc59f61fcb60a07475dc5b3caceabc675a57746035c175ade5)", + "P->V[109344:109376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3181: Hash(0x2195a459c87bd01931b81d232ecb655fa6a63b5f8b9b2485912894618301404)", + "P->V[109376:109408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3184: Hash(0x71d16c1a9a32a7ede25c5d83e46915b94aaed6df80514ffd333952df41e2dc5)", + "P->V[109408:109440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3193: Hash(0x8202f5cfd7afcb93efd3637a8d9065d73251bb822ad520f0ec97fef5f51643)", + "P->V[109440:109472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3203: Hash(0x5fb5cf6ee55a37465acb1d85ecb09d38ba864398b9e7dfeeca550c8d33f7954)", + "P->V[109472:109504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3235: Hash(0x7bfce4ec2602a8dfb4e32467d2faa4ef210a03bf7a9ac90e3c2063a2d448e40)", + "P->V[109504:109536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3294: Hash(0x3dabb3916666d6e5793066bcabbff106a6f11d2f1c66e0de6856763381bf7eb)", + "P->V[109536:109568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3324: Hash(0x34160639c2dc4965040ed90207587703f4d80cdfa9fc8aeee66818bab784999)", + "P->V[109568:109600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3365: Hash(0x7ee4ac08c27c6ee78e2db2408be3b541f6a9acd7aa9476285470dfc9dc421d7)", + "P->V[109600:109632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3380: Hash(0x62694ace597cac35401fa28ac88ff93faa5aa91ae61cdfe45f462030afae9ef)", + "P->V[109632:109664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3451: Hash(0x23da8f187bded995c77ba9be6d9b8098e8b5a21ed1312347d6189e384fc7ba7)", + "P->V[109664:109696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3669: Hash(0x1bff85c4b1ef808143b79c38cc524e327a221e0b154b68b387dfbcf216b6a96)", + "P->V[109696:109728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3675: Hash(0x354551a712876d473184aaa08306085faad56a449a7cebb697a901a2696c6ac)", + "P->V[109728:109760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3688: Hash(0x6d42006a10777ff57e17c67f85e08829770740522ad455a4ac075dddb6b80d4)", + "P->V[109760:109792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3705: Hash(0x28c1881572b155e3b06d0c53fe7871ee910ef2e8e1404356233c7b9d8b105ba)", + "P->V[109792:109824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3741: Hash(0x52b562fe67fbb5e052445ce7a06dda46ca9aa2a27107bee201204a77bb8fd51)", + "P->V[109824:109856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3780: Hash(0x7604c5bb47865b4dbb2e674ee9d9721757c8b4e973a0defff11941ef2733e49)", + "P->V[109856:109888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3792: Hash(0x8d7d600b920c9d0920d41edcbc8f345df6bcfa32c8a8d36718ce633f0c7989)", + "P->V[109888:109920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3836: Hash(0x1252e7ebe7f23e508829a8227579524a236790635f104e6bbe5e44248273ec9)", + "P->V[109920:109952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3947: Hash(0x7dece183d560951c7f34304d25e1bd924662b5c74a3e362c21a04144ff5ec49)", + "P->V[109952:109984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3970: Hash(0x3973ac02323e7f9cd08ecb1413e351b1cde1869167e5b3b296c7182c456ba90)", + "P->V[109984:110016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3996: Hash(0x77d9fae67f8e1719d0cd23552a170fa198a4726ae16bacf5fb5e12bb0cd2e34)", + "P->V[110016:110048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4081: Hash(0x538ce5bf40ec6956425b651158cca5b9793f485123d1a514a5760ceef155cb6)", + "P->V[110048:110080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1042: Hash(0x3d3e631e4678fc4e2dd9e1de392785c0c414d5de0ff5a1a9b6474e95b3a33e9)", + "P->V[110080:110112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1051: Hash(0x7169a08f049ef95d1a1854df7e1d4117adfced654bc7562271f55c65a045a7c)", + "P->V[110112:110144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1116: Hash(0x4799099110be25d5a838baa2f935b4fd6238c87b46fa660ba6c5530fe57099b)", + "P->V[110144:110176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1409: Hash(0x150068b790d6cfb25b190f4419cbdb790909e3a61a0e87eb0d5c9f2a5eccd77)", + "P->V[110176:110208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1428: Hash(0x77665311c52144679f3bfbd91301e12b9a3e486196dc67753473afbaacbc343)", + "P->V[110208:110240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1440: Hash(0x4477311dd2420ecd992ed679aff7464358a8cd2c282b070adc39b0d5d64731c)", + "P->V[110240:110272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1511: Hash(0x748a9bf573bcedc8bee9a318bbb5e43bb20d161e98995b4a3b73d89727f4ecb)", + "P->V[110272:110304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1577: Hash(0x25fb8ddcb87b843a4502937339428c189687ac7b27b145efeffd29b2e69250b)", + "P->V[110304:110336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1591: Hash(0x517946e4a5253322fafa8cae854fe9320ebf04fde52d241fd96372b54bf31b7)", + "P->V[110336:110368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1593: Hash(0x7efc4c84bb3d15b794bfb4564048cec56b13c8c805f249d882903d5307cc45c)", + "P->V[110368:110400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1597: Hash(0x16b01e9fe3d12f3f9cc912cd0b21b96e84adbd63641f7bd75ee4b0fcbebb8bf)", + "P->V[110400:110432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1600: Hash(0x50beb1e5fc9d77cadfb48bfebea11f3ae744696bccac624f585603dd056a243)", + "P->V[110432:110464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1616: Hash(0x68155df5b6dfac30f2d54c1f84741b1c353e8b7d50fb8cbe02930cdc5136c45)", + "P->V[110464:110496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1646: Hash(0x5059f986954ebf06d806a590017a332e93da4b94ee232e647e3fd633aedc082)", + "P->V[110496:110528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1663: Hash(0x4e717fb894b6934705df8a09d8ec86cf14c815e6449bd05d50eb65509601488)", + "P->V[110528:110560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1683: Hash(0x2943d8ef471794d97c72086df04f2a00c8f394330cdb0ccd754914478418f8d)", + "P->V[110560:110592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1691: Hash(0x4cecbde38773ad538eefe23d1f1ab72c915035cfa6026feeae717cba87aef77)", + "P->V[110592:110624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1724: Hash(0x50f7028ff70edfe57febd9ae6637c524b7cde53e684e941b8efb674c3b88f91)", + "P->V[110624:110656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1835: Hash(0x503df56554b0533404ab5baad28841d67e1cc39cf6348196840263fbddbb1d3)", + "P->V[110656:110688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1836: Hash(0x4ee94403ced91095c829cb4b4ccf81638fe8db27f9b7d878abab521a26613d3)", + "P->V[110688:110720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1845: Hash(0x2ecfde2d163ec6b189b40cbb2108fa0fc304bbb5457d59c3fc3597e10ebe325)", + "P->V[110720:110752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1853: Hash(0x3abb5840399e6e6502716e40951251c93fc0fecf3acf2060d8038d8d08604da)", + "P->V[110752:110784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1871: Hash(0x498cee234e8ebaeb811ab857660203eef590d07e79e7ffb0b8c852bae78fbbb)", + "P->V[110784:110816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1891: Hash(0x49d75de29e3c1d0694e61968830faf5b6e7be2d65ee4e96f9dea1f0e45f35e9)", + "P->V[110816:110848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1897: Hash(0x4ad448003d541ba94ce860215fe5d5c8c78e6089390e64bd71107990d6a7353)", + "P->V[110848:110880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1919: Hash(0x558bfed518ef52e331fd2f3377bffe332dfd6c41614a09b2f97256fa469a00b)", + "P->V[110880:110912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1972: Hash(0x6cf41ef9131b6c211349a8847608bb2b0cea0ad72ecc1c0306b7a9ab754c072)", + "P->V[110912:110944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1984: Hash(0x5568296c6c0f0954647cae68306e13b8f0fe29c1503842ebca4f5da999c3cdc)", + "P->V[110944:110976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1999: Hash(0x42f950af7a141d020dd2f10a91c9ea3a401f448913a52bcaf0c0758ea0273f7)", + "P->V[110976:111008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2041: Hash(0x229d320986757f5f63c64eccf0cc21829d77254452877cced18e70da538830c)", + "P->V[111008:111040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 520: Hash(0x5d0e676ff59df91e7b8318c8d309e2ffc7cc18d4c9be247bf765ef10db4e483)", + "P->V[111040:111072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 524: Hash(0x3ee134a02edf34acf0ef502f034c768ce1b9a9e1e3495a69aaef34724ea8359)", + "P->V[111072:111104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 559: Hash(0xf2a20bdaf690852d508598060821f6a5a7414eea1d7f1299ca240a748bd113)", + "P->V[111104:111136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 621: Hash(0x7da8c73ff645e4b24a639709ce27e5b4385abc7d09599a514cd7c8d8a98dfb8)", + "P->V[111136:111168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 705: Hash(0x4f06bcee6719589537ff8a5007dd327d5cf558b1cc64051a0532d94c4fd8737)", + "P->V[111168:111200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 715: Hash(0x5df3591b2204abeffabcdbd01e9faeda31f279b3e412b2948a336309a85dbb4)", + "P->V[111200:111232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 721: Hash(0x5ed9a248eeeeaca6f45738e6d4bbc9e4ccd5b90277348f0aee24b65418d9f48)", + "P->V[111232:111264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 754: Hash(0x583040d395a3a952da6b1f8bbd8b435b1898c8ecc48a228a83a7437c8c5601)", + "P->V[111264:111296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 789: Hash(0x320be35cb977a2ea4c2c71ad5e0c90945b4056aea39d988ca0b6d5e3103b3f6)", + "P->V[111296:111328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 794: Hash(0x2886a7199143b6e980afba294eef1ea2e97d6ee140d8e4b7d23c80232ec16bb)", + "P->V[111328:111360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 797: Hash(0x790199731e5035df1764e31a168b212c1920a30d7299252b899363a99e2d0f5)", + "P->V[111360:111392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 799: Hash(0x7be708b0300649e599cdf484e972c725aa8758db0f1744a5f4e9760fe5d7b93)", + "P->V[111392:111424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 801: Hash(0x4a4e68d1f6e0093b5a37e73afc99760eff06654e535108695ae1b755d6be370)", + "P->V[111424:111456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 809: Hash(0x1044830c13559bd951c993a474d6930418b2d2a51bc440c4b30acfdaadb68ff)", + "P->V[111456:111488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 822: Hash(0x46b99aebfaad1d5ea8d8e997f46b6736e9fb938e08745163ef73e171157b003)", + "P->V[111488:111520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 830: Hash(0x134c819415d3dff2fef019b2aa5f085a03e593564029200a8f38450c01ae3bd)", + "P->V[111520:111552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 840: Hash(0x521075f0521bf550552422942554baf9995c534c3a1dcdc2080de07ea0aa80f)", + "P->V[111552:111584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 844: Hash(0x79b57d1b413796102d8495b58f32960b617006e2122310e7a67fda01e852931)", + "P->V[111584:111616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 863: Hash(0xc4324ed84099073d09fae7071a21fff6856937802fec0718778d08b7d20bea)", + "P->V[111616:111648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 916: Hash(0x6f7f1bb8bef064de277758b23f858e94cb62be7d08030247e80ae4bd8bc12a3)", + "P->V[111648:111680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 919: Hash(0x7a9f3fbee6460f922fe6d24c4d3eb37ceaf9cc9e0f9470108dd787565b88151)", + "P->V[111680:111712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 923: Hash(0x3660a073e2834fc891750c7e68488bd6f5798fa345f3b401c01b70b7597ca7b)", + "P->V[111712:111744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 927: Hash(0x78922baf1fcf4552817b577691b54a3807c9a2157630fe9cc9967d2b4d9481)", + "P->V[111744:111776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 934: Hash(0x2ebf6e4e4138d916e94a8396ca32d2cdbe5c6f65c4bf0a8a6925f6a1ebe8ef7)", + "P->V[111776:111808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 944: Hash(0x3cb7feb8ab2e3a95dbcb5eba2e52ebcc423aef4be12015983d2edd10d442ec4)", + "P->V[111808:111840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 949: Hash(0x73be5346922ef9365978ab1112eee00e66884758bbcb4ca256e30d11553abf5)", + "P->V[111840:111872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 958: Hash(0x415a9438bb1eba182e8ff9f3a906c44fc12b99d03f5f71b81fbd54c9dd6d07)", + "P->V[111872:111904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 987: Hash(0x37d1e95d107627a260c9eb6ab01fabeaacce6e1678a94cf9f48f617aea9d05)", + "P->V[111904:111936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 993: Hash(0x12a46c523acfa74b12b6492a02d27c4c918ed65d9f18ac36d26444027a31c8d)", + "P->V[111936:111968]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 998: Hash(0x2672bf787b3891a1d8cf310579ba6f450fdb212c51858b282828c050ca69477)", + "P->V[111968:112000]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1021: Hash(0x5b733aad7b65c1ffbdd8b3491a28fe70d03693e413bc5267a3837a4629ee267)", + "P->V[112000:112032]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 261: Hash(0x5394fd64111f35c33e5d5fae8dec640bb4e8b5db82fbcbc02d7dff2356148dd)", + "P->V[112032:112064]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 263: Hash(0x32b4adff006c728c5ec160d7f2228aa4b24bf35422aae1317b0270c829ead17)", + "P->V[112064:112096]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 278: Hash(0x2214860290e757affc023d0ba18bb3f703e152cbb3abf7d791f012a5660bc5e)", + "P->V[112096:112128]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 311: Hash(0x464dc0bd2b08a712919a3f5c9f46418f7eeb5f63b9113e8708c721b820c7872)", + "P->V[112128:112160]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 353: Hash(0x3fe2ee9e166c008609ae2926e6dc5c28c05d97c1b8ad759e33f6c85bf98ff04)", + "P->V[112160:112192]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 356: Hash(0x3b26c02a555f04deebf757a69aec928263d511df331a72308dbe5df435823e8)", + "P->V[112192:112224]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 361: Hash(0x1215a472cabc7d9b61113e949b764821dc2ec7370fa6d72470169f841714cc)", + "P->V[112224:112256]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 376: Hash(0x6967c6170c98194203bb791ffe90906507107564d4d0106935dc821c02dcf02)", + "P->V[112256:112288]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 395: Hash(0x667d22e0f7cf0de21092cf19c00d0fdd4f9cc2bb48c4e2298e8c3934ce23809)", + "P->V[112288:112320]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 396: Hash(0x750a00d11720fe8b595cf56ed35c4c4915d683fcd06e16a44bc8d1248676777)", + "P->V[112320:112352]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 401: Hash(0x5847cd3c09bdc596c6f175c2c80dedd29474c1f61f243569c37029f5f634e44)", + "P->V[112352:112384]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 405: Hash(0x84d5a96240d3ad974c1467132f14522c4beab53a152c6e073aef143aa8b36e)", + "P->V[112384:112416]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 410: Hash(0x3d451082f4b22cd0f27416d43920ebe8abe6697251b3c690992f3e4486f48f3)", + "P->V[112416:112448]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 414: Hash(0x8e92158316bb5521afab5e976423199368339003d58151d880af76a2110545)", + "P->V[112448:112480]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 421: Hash(0x7cee5757ae37a1e94fec8eff4f01b9ee3770932e371b8987a0ec5f484f20449)", + "P->V[112480:112512]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 423: Hash(0x6ef8d5a5278769a20164eb74564d5a99bde03601d5ddf8bc7020e2ef7ae9b14)", + "P->V[112512:112544]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 430: Hash(0xf6e653ec96efd4b45ecd321a009a3b334d51200d354af9f70801058b88f6a3)", + "P->V[112544:112576]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 460: Hash(0x2fe2d04c7c57b312f5c6057f2ebcff3ba4ec987f9c02b3b6268d1ab2e9104)", + "P->V[112576:112608]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 462: Hash(0x610a949e5fc0130766541c0140d4303c5227c4b79da877d460e673ec45ee486)", + "P->V[112608:112640]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 466: Hash(0x38e9813ac2c5b2013caf2e33d2e5f6175cd6513ac75ec09e7cd32bafa5448d6)", + "P->V[112640:112672]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 473: Hash(0x4f02c79e06716e30c81f4e9699efd922562f70db87be2d5bc28299fb505662d)", + "P->V[112672:112704]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 475: Hash(0x7259843b1f0a92d3444489979ad6b81c2c54d720b29b8e9c165938e4ff8e64a)", + "P->V[112704:112736]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 478: Hash(0x757c6f369ddfcd8ace3ad7c1897cfbeb20591154f97125417d2c184d94b03dd)", + "P->V[112736:112768]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 492: Hash(0x4a3918ff0b079be52818a2008dd5e2b88cc4e23c6e98764e1a86df542dca0be)", + "P->V[112768:112800]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 497: Hash(0x33d44771c70255301df28f3c6dc289c394a3d43235a05263e30ee34ac9201e2)", + "P->V[112800:112832]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 498: Hash(0x37b9cb10172c6c36e80cde84a4fce09a5c716091934240ec8fdf7d00d801222)", + "P->V[112832:112864]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 511: Hash(0x35ea3f529727478b8489e0cb2fdc54416d66842e9ad858ff35c86a4a9f8599a)", + "P->V[112864:112896]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 138: Hash(0x715fc65f386daf43eb09e85d8a1628f70b1c0eca53e672f3665cdf4bec112db)", + "P->V[112896:112928]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 154: Hash(0x228362304dd98ef40f52ab847a1d4b78f8a5b55d43e7de4277975cc6def55fc)", + "P->V[112928:112960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 177: Hash(0xa8cf7e0777ffbf3e3ff1f7a7b87f43d6497d56f5c3acc83b9e9bc0b83957e4)", + "P->V[112960:112992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 179: Hash(0x3bec23487fa36a4bee01ad51b094b5de13a89a4fd7453717a154d5d3d1fe0c0)", + "P->V[112992:113024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 181: Hash(0x27989a5b55af19dfdae32052648e65688d3e3cbb514d922357756d4fb35e583)", + "P->V[113024:113056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 189: Hash(0x6bc014e0508c9d31b0e5969a598db516f515efd12b8109170cff35e8b6fff0a)", + "P->V[113056:113088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 196: Hash(0x48294119b159df9e3aabef9f4f429564e9214e10c3f0934fcc7440b2354b03c)", + "P->V[113088:113120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 201: Hash(0x78ff6dd00f9e908e372f1419c4f121e562d678f0c44004b3a13329ce535ad4b)", + "P->V[113120:113152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 203: Hash(0x67602d1ff05d915967f76b87395e7d3789e1947832dfebd5a03ce7c4845fb20)", + "P->V[113152:113184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 204: Hash(0x1ba74a7d9f42de7d43b916f3f45546dc48bb15d88207e6eceb3c0d07e884583)", + "P->V[113184:113216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 206: Hash(0x3219e2fa3cbfdbfafe44d17c56cd4d5f8862596df9894a403c75d7fffd4609e)", + "P->V[113216:113248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 214: Hash(0x43f63ff8cdd087d9ecad00b2e809c55c1df78ae2eb047cd22384cf24ae447fa)", + "P->V[113248:113280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 228: Hash(0x64e247d62ffb43d35265d64c32477e2218f77792b0b20e9e9cc4853cfde6fd5)", + "P->V[113280:113312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 232: Hash(0x7f95e3c320524ac6a6fe8968ccd97c990d5061ac29e60dea322934ac4a5dc05)", + "P->V[113312:113344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 238: Hash(0x592f7573fef02ec6f9566e8d7b6d858bd724c8b0f6f85f9347e76b0fa88b78f)", + "P->V[113344:113376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 247: Hash(0x6ba764119239a517eae410427c1cfa3d00d33fc6388a2366dbe8961ef38ad52)", + "P->V[113376:113408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 254: Hash(0x667a20a040853cc7756e0f1d4716ca059fec069485834eae7f04afe8c95b2b6)", + "P->V[113408:113440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 64: Hash(0x74c2ff8607361370806413e2c36a6d9befdbd9b29e06abc68c42f009405cc56)", + "P->V[113440:113472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 68: Hash(0x2822b7021703c13169624e3b1a79b493e41dc40844617ce867ac72ce0256d2b)", + "P->V[113472:113504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 76: Hash(0x58511965e5d4ffeaa67d995cb1c8db88f14349b1fef65f387436b9b9dd3cdcc)", + "P->V[113504:113536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 91: Hash(0x14acc61da89a4381926398e855355007d48092a68cd94ed9a5bf53cfbe2fa0f)", + "P->V[113536:113568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 95: Hash(0x7ff51cbbe7a2f1b443659747431b49de704758807f054831df7f0e5cc7093fe)", + "P->V[113568:113600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 104: Hash(0xb72ba5a4b028d579270c2b611b7f83b79ba1fe08fbfa5ddcb884aa272d9696)", + "P->V[113600:113632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 106: Hash(0x3ec9cab43693ffefdbd240cd8a9005763f5d9d2d35d113e3c994bdc3ad4a489)", + "P->V[113632:113664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 117: Hash(0x4099f30919feabf4cc7516ae7c729fe29c3f76aaca074380a887f4ad9b6504b)", + "P->V[113664:113696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 122: Hash(0x1ecaeae75baeb73b0199d20b43f9faa7710b6cf7f921a10f122b325a05a1489)", + "P->V[113696:113728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 125: Hash(0x4c4cfa5d09dc4d2c747576dffb0dd5a7430030ed7a2aaad0915339e32ef8db7)", + "P->V[113728:113760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 126: Hash(0x2b7aca3e7ac9b56849c5d29a27b45f569c85bbb671e5174471e4cc794bfc8cd)", + "P->V[113760:113792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33: Hash(0x875e011078ced1589a2ddd64cf8fa860cef304250bf0d38125e8ca6bc01f77)", + "P->V[113792:113824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 35: Hash(0x34198111489fecb72946ac875252d73399e74753b6f6f753d0ca31963144cba)", + "P->V[113824:113856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 39: Hash(0x4527bb326b3ce6a114c005e422350ad7688f406df7f7154e7848ac12fb69358)", + "P->V[113856:113888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 46: Hash(0x51e1cff3ba8afca698afdedf8205a2a81782cc4f8d4eca0085819373c5f476a)", + "P->V[113888:113920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 48: Hash(0x1f3165f820964f7ade7a29f6245138baeee49543191e9c7b3960bcc544e20ef)", + "P->V[113920:113952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56: Hash(0x5fad1a0cb970deb5be6fc02f5ebd1014d52cd238192fcd3be3da080c8965479)", + "P->V[113952:113984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 60: Hash(0x4ac8f3cd6d07570324b6f08bd09e82c05fe2d9f94a800f7b3272ff831c6a8ad)", + "P->V[113984:114016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 18: Hash(0x24b985c990198c0e78acbe3fd571bd9157c45e8a93cf58a51e0521b3742840)", + "P->V[114016:114048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 27: Hash(0x1bb641bbc641f2d500dcd88d3654c0774afa76627488b41991fc43e1b2a1dd0)", + "P->V[114048:114080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 10: Hash(0x624c9041f583d61fa92d36aab40027a03408a51ee058d8fd3ae3fdd228f817c)", + "P->V[114080:114112]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 0: Field Element(0x7450e3800759e9f1d31da3206c03ca4ff9fd28e4e2a8bbab36afd2e57121e53)", + "P->V[114112:114144]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 1: Field Element(0x79fd86a602c396fbeeb438c15c211c9308e0018a68c3f580643f67c6e416494)", + "P->V[114144:114176]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 2: Field Element(0x1bef1bf730ade6d8cd0d796c3ae833dee8878d9f8a4f55217c0f0a575674112)", + "P->V[114176:114208]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 3: Field Element(0x742f7b610610ec16241f3e5a1a3a21c1d5e1f2797abf595a9c6d4950f6e96b5)", + "P->V[114208:114240]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 5: Field Element(0xfc6612b306892053e6ae4f83e62209467c88c7edde9fe02e89e1d7ffb6c971)", + "P->V[114240:114272]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 6: Field Element(0x10b1de0a7bc090e234e456bcb01f08dce5762c92a9ec9a3a18f338759785e85)", + "P->V[114272:114304]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 7: Field Element(0x2d301872657bac8055438dcf7e96cfc3a135daf738a92e1665245fbac12ce90)", + "P->V[114304:114336]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 0: Field Element(0x319c527bb98377a0bbd7c2cd6e1d74dc2ec21806fb13ee522364082e0076011)", + "P->V[114336:114368]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 1: Field Element(0x45eb95d50986bf945f137b44f4bf6cc5ad69fca8ace69acf9f23eb1819e8e34)", + "P->V[114368:114400]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 2: Field Element(0x1357c773517256bf4b57644db7808f434c484fc3377626b5e7042a2c0b28873)", + "P->V[114400:114432]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 3: Field Element(0x3971c4ec2d532bf274fefa86c91213af1172708914fc742fbac332357b16899)", + "P->V[114432:114464]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 4: Field Element(0x55cd868b604f6886d62bdb47015e991f9bac1d0d1ad8d082d506e2eb4407a0b)", + "P->V[114464:114496]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 6: Field Element(0x5d95590366ca485067159c5871461d586c58badca9a38f03cf950f9ca196e46)", + "P->V[114496:114528]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 7: Field Element(0x82c7f01ccd30fb97d0e1afb67655ae1a2e4b7880246baffa730c5c8e6b885e)", + "P->V[114528:114560]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 0: Field Element(0x367e46052481d727b7d4044b6a4b7f25c9dc3d7e81c269c67ff701384a60330)", + "P->V[114560:114592]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 1: Field Element(0x6fe2ae2f82b62fafc79e0c760fa7ad3a75d89cb8b8d7ca2146fbcc698651c9)", + "P->V[114592:114624]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 3: Field Element(0x33a8e74d5eb251a37393b399d98af93db137e8ea75b8dc229a07eab67bd7ffd)", + "P->V[114624:114656]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 4: Field Element(0x6423a8fe5cf86b71cdae6f90c5196b0d18aa89be419dd9cbcd8cf52e6171486)", + "P->V[114656:114688]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 5: Field Element(0x224ec155fbf0cf9206f96b81a6cde5d84ec6a161fb3290a64d571403f4eb11a)", + "P->V[114688:114720]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 6: Field Element(0x6ed598964984885dc490b7283bcac86ad86ade0e3baae2db17f3e9553725db3)", + "P->V[114720:114752]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 7: Field Element(0x6673dab44a0bdfd7287d63721f4fd2b365baa5c2a1c9dbd5d3c246134b6d942)", + "P->V[114752:114784]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 0: Field Element(0x248bb3ba44042088ccdc55b501ee2d0c35848a614e369f8a5d5b785af80cf7f)", + "P->V[114784:114816]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 1: Field Element(0x282faa4123866fa58a3e9bf761eaf9a66a287d7909a8e6ada2851b0b2843531)", + "P->V[114816:114848]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 2: Field Element(0x43915b6d193fac0f1654eac6620d0f20ea9ce6c2cc4986dc967564f736f90a5)", + "P->V[114848:114880]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 3: Field Element(0x60f177c492924d84c7645092d0ce558919a906475cefc86864b74a0aec0c229)", + "P->V[114880:114912]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 4: Field Element(0xb9e71b1e826458c335d76a797758423ae612040b193500ea497954ab9bf5c5)", + "P->V[114912:114944]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 5: Field Element(0x6fd086a8fb00b63d07e574a175903cc320ab4b9e2a24066f664764ffcfa2c59)", + "P->V[114944:114976]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 6: Field Element(0x2f5ae85de27a4a3567c6fb8f2ba85eb2e84d94827620d5de4c259c06c91aae4)", + "P->V[114976:115008]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 0: Field Element(0x65ad4bb417160aaf98203e63c882c4f5f6dc6b7ec3dad266ee68ef44a6eab66)", + "P->V[115008:115040]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 1: Field Element(0x1a7646a4f0d36324ac5002965c8c9e90c73e9d27902c54f601213e869f00c20)", + "P->V[115040:115072]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 3: Field Element(0x26eaaf97757684be845a98ddfce547d5c7bd9d2efdf5301d28feb5040bb9fdb)", + "P->V[115072:115104]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 4: Field Element(0x11ce2230858fa97ce0e74dbeda4606a3290348e4b88c4eba7a4b8aba9b5ff42)", + "P->V[115104:115136]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 5: Field Element(0x74155b00a4918349a7528a59270da3ed5b539d21d6e8f8d8a3f5a9878983987)", + "P->V[115136:115168]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 6: Field Element(0x65d20b0d4c9ca3318152969b2d2a6ea99edf929c4b898f0f09501117c5dc7bf)", + "P->V[115168:115200]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 7: Field Element(0xfe4e15b924d02a7828c95a236c75df1d3d70b626792c85c591780b04ec3152)", + "P->V[115200:115232]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 1: Field Element(0x492bf7a277163c0a20bcf823528c341c07923ac1aa86dbbd5a54d4768955d7e)", + "P->V[115232:115264]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 2: Field Element(0x470b760b235b37b7f0c7c8b67053eb7b7a93a5da4588a0bc9e4ee482b16836c)", + "P->V[115264:115296]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 3: Field Element(0x1543f8b9b1b29ffbce774d37979618fbb9dac0f86b7e97804fb4d4a8ecd0c04)", + "P->V[115296:115328]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 4: Field Element(0x523b6abba9095667e8488e9928da9def870497e6f0d8f1289ac3c2fc8629556)", + "P->V[115328:115360]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 5: Field Element(0x45fe0204480bfe54f499453ae2154d9626690f0c19271420495e212e0180ed9)", + "P->V[115360:115392]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 6: Field Element(0x323d82c098835bdd0503ee535e3ef312ad4e721ab84c97ebbc4f7d28d178f0c)", + "P->V[115392:115424]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 7: Field Element(0x6b6956e27390b2e2aefc8d0b2d57bef6febffb10960770ef98f214d31fe3e3f)", + "P->V[115424:115456]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 0: Field Element(0x8e6d8aa9b6d59861f0c54106f0cdc52fe3a228c5142685f45c86d4d178711b)", + "P->V[115456:115488]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 1: Field Element(0x3ec6b7a5f87de1d0ecd67caa4902602bb1591a9b85ba8de553c306f4f4c83c3)", + "P->V[115488:115520]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 2: Field Element(0x7a3ebfc8aa1817707f5ce457870e6077b294edfd829937bbc5d2014af1861c)", + "P->V[115520:115552]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 3: Field Element(0x4f5b9ebb0010c35544a1d9ef3cf3831d24e6ff56825035f4aad96a9422f8745)", + "P->V[115552:115584]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 4: Field Element(0x1bf66d808a593fe05d15302350b6227a0b199b00d5951a71d6cf66f0c0cfba9)", + "P->V[115584:115616]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 5: Field Element(0x3ce808432e2023172f6082259e7374aec3c65f5df1f47329b3beca2fdbe48a1)", + "P->V[115616:115648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 7: Field Element(0x621270be49c939f75d383ca3b13536318b2bdcff81d980299af596d84d99353)", + "P->V[115648:115680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 0: Field Element(0x6d07f208ea6e9c2c379726b90c2e38206741e868dc612b98139790e8bd4af40)", + "P->V[115680:115712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 2: Field Element(0x68581251145b3894ad546437cdc4c9118be05a79ca8f175cf4fbb32d0559a05)", + "P->V[115712:115744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 3: Field Element(0xe3f9956d4af00ad8464d9527f8d7c76dfbad52711979e72fb85766752fb152)", + "P->V[115744:115776]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 4: Field Element(0x21c0f91fcf72ffe43688cedc6fbe6d9b54402770fefe357f89f19316c4a2d17)", + "P->V[115776:115808]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 5: Field Element(0x5cf9096fb7ebb1ea19acf922c9609c3a87baf96725e00fdb2efa4d761c74903)", + "P->V[115808:115840]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 6: Field Element(0x6e599ea4711fa346adb1af6a2f883f514fd8975c7a933bbd5959dce2040cd6e)", + "P->V[115840:115872]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 7: Field Element(0x248340caf1c09951debd518e7382febca3b3b082d2aa3b29c8277e1ca54eb18)", + "P->V[115872:115904]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 0: Field Element(0x3a89ca8f52e3030b436413239a82f06dd4eec26f6e80bbb68e1b2e9e747ec67)", + "P->V[115904:115936]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 1: Field Element(0x4ec556845aac2408ec8b666bfeda3a626ba66d0b01191f55f9f1befd6589162)", + "P->V[115936:115968]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 2: Field Element(0x6c537b78ee2bfec1f964a11dbf53b87ff74d6afb80c11fd7893faebfe476776)", + "P->V[115968:116000]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 3: Field Element(0x6dc63990943078e1d5745f9d7f3c145faa52c47513be0465adb8e8f81413c6a)", + "P->V[116000:116032]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 5: Field Element(0x16e5bf7c912d80b5185ae09c818d7e14b27037f039e101681a2303af882f914)", + "P->V[116032:116064]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 6: Field Element(0x5548480c07792eca06f2ece704c1c870ac5456b38f85cffa0b9b3d2ddf07f89)", + "P->V[116064:116096]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 7: Field Element(0x1e671174561e3f2e162b8a1aed3f9d8e19b2213f437fdd9276fa297f0b8a21)", + "P->V[116096:116128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 0: Field Element(0xa20e0716cace1307901a6a1567784818d3a8877a87474869c4ef32fe9c2ea0)", + "P->V[116128:116160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 2: Field Element(0xcb27734014e94ffa2a6b7d7e8f2dbbd468c15ba90a91f520538e0351fa3fe9)", + "P->V[116160:116192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 3: Field Element(0x50fd284e3fc6ea16c923d69dc2d2077bdab200eb6badf251b65a9a280da4b34)", + "P->V[116192:116224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 4: Field Element(0x11ea0e1789df58ed328c21e16f8f2a18f340cd90b3c14691fe61f03aa207b70)", + "P->V[116224:116256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 5: Field Element(0x15789cd16f0fd11190172be55dc7fa761bf3eeb054c2bd6d9a217cede1e879e)", + "P->V[116256:116288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 6: Field Element(0x5ca8353bf8b98c1987d4114a4060ac33f7691b7a3684e2228950082b0e88255)", + "P->V[116288:116320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 7: Field Element(0x102718688de1174b52fd389a146df6901f8c896d928038932848f427b363245)", + "P->V[116320:116352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 0: Field Element(0x5f283ab808a75515887f0ae50c9ba29f2f7877189ad49c481ccfdfcbf4db0e3)", + "P->V[116352:116384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 1: Field Element(0x74519c3235cf1c285c58e1993869f672d3a6e7d6355414e602b4aa7b7a639ce)", + "P->V[116384:116416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 3: Field Element(0x8564db9291e8ca58bb8c6848784885aba4658b16fc814e20b5e2909443cfd5)", + "P->V[116416:116448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 4: Field Element(0x453c4e3224885ccb31dd1f172f832d14e50e4a6d4f38b9e9e176cdfe99c35ba)", + "P->V[116448:116480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 5: Field Element(0x1b7260fa89a9245ea5278165eb6cdbca70e5e2263f76b75fd31309a4439138c)", + "P->V[116480:116512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 6: Field Element(0x77682f50a9c1751fda5e3086d4ce990d452f56470d2ee1fdea9422a3660dfa0)", + "P->V[116512:116544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 7: Field Element(0xd27db02023e01aebd96179ca89efa22ef268775acb72ea49744e5732f6738b)", + "P->V[116544:116576]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 0: Field Element(0x62ec2913ee008b73f687ef1887614a9e928517aba775f9aca3584997e08b810)", + "P->V[116576:116608]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 1: Field Element(0x56995e1f74091a1b756491983c2f97ac4e585feabe227528ac824ee0a49ad78)", + "P->V[116608:116640]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 2: Field Element(0x6c7009e043e55bc03bb87c6cd0b426662365695a8d47b6930cb581bb1948bd5)", + "P->V[116640:116672]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 3: Field Element(0x4817949c0ee1b2182e5dde93c70fa6caf58750c071500a7f249db5abb1d9c19)", + "P->V[116672:116704]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 4: Field Element(0x1dc97a335ea4a124d409e20566dc93df61d54d23c1ca189b2d5edae754ed05b)", + "P->V[116704:116736]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 5: Field Element(0x4155e4d414cf4c06ab77642cf8db844f45837877ad98c3aa60597427378aa5d)", + "P->V[116736:116768]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 7: Field Element(0x46284e20798cdbb486c1e3c02071649dedee3fcb9569515577fd4953db3fb7b)", + "P->V[116768:116800]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 1: Field Element(0x38ff448c20003cffd9cf2ccd7aeeaf1293e496fa20e9df8b5c0269023761de5)", + "P->V[116800:116832]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 2: Field Element(0x4ae58fff1aeb0130d76f18e6896acce7f1c21ec7a50d6513f9163be661025f9)", + "P->V[116832:116864]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 3: Field Element(0xdea2767ba7abb8e526a4829c89666d9f1cd3847ac4659a3a7832859bde8199)", + "P->V[116864:116896]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 4: Field Element(0x1dce05158068028e6486c918d0f0a2dcc23622eefffabe21e730aa07cbdc944)", + "P->V[116896:116928]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 5: Field Element(0x75542007d1649cc28ce8d743e01daf9dbbee836898d57a5329561821e8e559a)", + "P->V[116928:116960]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 6: Field Element(0x6b9aa52667de2db7bd5a96a2c8472832dbf683aef25ba882c6b22898dc0dfaa)", + "P->V[116960:116992]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 7: Field Element(0x470b2f4a9a2cf11b5eaa81be8194c8fdec4f3729a15d2e86276e2f51ec2605a)", + "P->V[116992:117024]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 0: Field Element(0x6daf74c12097e4f7d9b04ab6184270cc4cb852e40658269aefd4ff5a6bb2129)", + "P->V[117024:117056]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 1: Field Element(0x40990840716a54c25ec2a51f54ff193b41d5b8bdb98e80cab6e88fc63b1b415)", + "P->V[117056:117088]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 3: Field Element(0x636b562742869e229db012f3862174520915d7360d3f2f58e15407052f41811)", + "P->V[117088:117120]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 4: Field Element(0x6f8043dba588a99b2d0209a55a2f2df81e35087aa4129d68279c23bdb1e5382)", + "P->V[117120:117152]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 5: Field Element(0x51ebb1af8a4de2b7031fcf613bd71467ab4cf01b1987c69ba9b9fbd833a2eb4)", + "P->V[117152:117184]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 6: Field Element(0x56e525e88ef7576f6ccc49b261c9987381436f551f2f6c6e97ab36bb4fec74a)", + "P->V[117184:117216]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 7: Field Element(0x7a342db6ca4a7f65ffb89a5b60a92f32e1af84a999ce76c205eac5bc245af16)", + "P->V[117216:117248]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 0: Field Element(0x43f4c73ec6f7c2ff68aacf6e93a2867cd8875a9b4828e169a5a5157113b3495)", + "P->V[117248:117280]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 1: Field Element(0x1d93acd39e8360940988ef7a7f09412041dffa13d597b958e3a07b96b5d6a04)", + "P->V[117280:117312]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 2: Field Element(0x27e5538383514b6f369a8ede2774135ae83c68629f5fc3bc7a2232401345745)", + "P->V[117312:117344]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 4: Field Element(0x6de35bb2b4a1132c787dc2860fa9cdea8564220a6e4c325342d4b9e86418828)", + "P->V[117344:117376]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 5: Field Element(0x4b7ef432b7cb11588bd885b1349dad092d20fc780f6f4df02dfbea88f33a957)", + "P->V[117376:117408]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 6: Field Element(0x5a0ca41fd46d8807196e846c7c49329896c98f79851aacdffc0203971fd6ed2)", + "P->V[117408:117440]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 7: Field Element(0x4339f5d2acebedda8611aaf5a3e79e5d7c5fcad8ed475c43a9cf8f416ff9d81)", + "P->V[117440:117472]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 0: Field Element(0x40ec9e7071a86063d92e263412137ba6a1f2b0a27d83f5226e1805dc0901a0)", + "P->V[117472:117504]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 1: Field Element(0x27ab0ec3f9a2b933c1618d916ff20650c337797b4d6adb722a4bfdbdb1091e9)", + "P->V[117504:117536]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 2: Field Element(0x4112ab5fb88b779a6595551dfb688b00f21fb01936d38e68eb78b52a9958752)", + "P->V[117536:117568]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 3: Field Element(0x31f3cd8cce6f5de1df8c6dadb73d7232587b00ebb368a87c5212d47b701711f)", + "P->V[117568:117600]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 5: Field Element(0x1c0c1965d6a069b0217d43fe07b445b6e5299371b0cbfdcc8a01c109c10a951)", + "P->V[117600:117632]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 6: Field Element(0x2bce0873d655f8dfbd4efcde3f4bee610bde7f02c8e1fe0c286a7e76bc17a8f)", + "P->V[117632:117664]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 7: Field Element(0x3e8d02a477709e7990f08d71403d77df4dd15a968fe32ff182cf37587823b7c)", + "P->V[117664:117696]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 0: Field Element(0x684be6676e812de05b93bec7280a16177ca1dc14c981734c1bd5ade1b529c68)", + "P->V[117696:117728]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 1: Field Element(0x37b000a482202a9e2ce58a9e01ef8de584881ce805edc548ceb1937fe082bb4)", + "P->V[117728:117760]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 2: Field Element(0x23f32eca422adf305fd16ca1b6c85ec4385060cca991e14805c24b284db2f82)", + "P->V[117760:117792]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 3: Field Element(0x2b6b730783d8f4b0d915f6169e8a48c5558be5b4efdfa7e77c5e5ea7e726f0)", + "P->V[117792:117824]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 4: Field Element(0x7e8219514ab8e9abecbf14ab87361138edab58e4033704fdc9b8709721b56d)", + "P->V[117824:117856]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 6: Field Element(0x365446d141cd3372684c65ec3af5d5514714fa86acd5adc5f238fa2b9181fbe)", + "P->V[117856:117888]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 7: Field Element(0x2a79b403a96cca0e6df1daeedb1839308884a0f2b6f9531ef8bc74cff2d8f49)", + "P->V[117888:117920]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 0: Field Element(0x68133edbd2f6b2e1d3cd4e5cbbb3318c1358ec8fe390591ca9d994b342a513f)", + "P->V[117920:117952]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 2: Field Element(0x748c72a9eb7ad99c20df21907dcf4a8a34f3f12e7db31289e6df10aeeaa860b)", + "P->V[117952:117984]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 3: Field Element(0x3549a47e1afeba963d8f9fcfb6a55dd7ad47a1c00caada9861a339ae6b183c7)", + "P->V[117984:118016]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 4: Field Element(0x34537b50e77f6858ddaf57e3d272c1dcec4217d444ccc8defca4916a0043b36)", + "P->V[118016:118048]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 5: Field Element(0x68f5913eb99ca00323918e6d4c0a8026b503407380717071fb77ffd3d7336a6)", + "P->V[118048:118080]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 6: Field Element(0x3fca16a3ab9dac74101418c03cf15f3e0faa6c65059c5f2ab641abc4500a4c0)", + "P->V[118080:118112]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 7: Field Element(0x318b041d22df75476c0314fc7b3ba4fe75877f4b8607585b214eccfe9f024ec)", + "P->V[118112:118144]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 0: Field Element(0x58fb0b51cc0630e115179c2afd9856601fc8d7b242476679027264d8a3026f3)", + "P->V[118144:118176]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 1: Field Element(0x2c02d5c1e659cfb15a92bb5f7dd1748a6fd0d28c731fa8bd32f874273ba7c4b)", + "P->V[118176:118208]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 2: Field Element(0x5285c526e7ec4457a0caf37477a6ec52e0ac33e3dc3260527698699247b3a59)", + "P->V[118208:118240]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 3: Field Element(0x48ddb24f6af88776b482d1ce5643b11c3e295ecd6972d755d6bf61bc9abec5e)", + "P->V[118240:118272]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 4: Field Element(0x5c54139f6f80e0feeaf2f428c92d46553678a473cc41c07497960095a6baae4)", + "P->V[118272:118304]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 5: Field Element(0x13eb27fa8a093e546831f1c5133009b7ca5598bbf23d0e990991f8c794a858c)", + "P->V[118304:118336]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 6: Field Element(0x4a15073809022522038d1cf38edf65b0e1b50cf0d6c7ec99bfcf347ffbf468e)", + "P->V[118336:118368]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 1: Field Element(0x1615ee8fb7fdd2fdb7681afd71d1a624a1e0547452499c0241d4fcee8f1c8d4)", + "P->V[118368:118400]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 2: Field Element(0x3b681212a0c664c80c561f3c4f967da326262b183dd2d6121fb9b77b3d1bad5)", + "P->V[118400:118432]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 3: Field Element(0x4980a23344022f6b55d60f07b124ec7b540e39054b3174419e2d8eef48b5da1)", + "P->V[118432:118464]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 4: Field Element(0x45369b14718319453d89583ee6975b672cffb29f0f051a2f146d8505ea08e6a)", + "P->V[118464:118496]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 5: Field Element(0x7f2ff255f6855becbd5b1c026fca1263e1a602d7956f070ae3bbba96c335b72)", + "P->V[118496:118528]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 6: Field Element(0x2011876417511ef5c40e36317734cc44ac9e3d7cac0c8e587120153af5ec3d3)", + "P->V[118528:118560]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 7: Field Element(0x42cb3478b821b85e4b2cb679d26fa65289a1357dc6d86b2c3f9ce86418aa9fd)", + "P->V[118560:118592]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 1: Field Element(0x1dc8d4e24a21033a76a45eeb5c01abc8b4f460ab8d3f5892cc4b09e1ff8eaf0)", + "P->V[118592:118624]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 2: Field Element(0x39745d781f87230acf8e78a5289e5c8fa758dfa1ab2121f53988eab90e1077a)", + "P->V[118624:118656]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 3: Field Element(0x34aefe27edb17e8af121016b6be3277bc387606850804129831dc8bf77dcf96)", + "P->V[118656:118688]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 4: Field Element(0x7a458247f80f0c34b38e74279ffc1af02ed1d9c53d898d4c455c6ef6f99f0c9)", + "P->V[118688:118720]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 5: Field Element(0x5c3277a8720ceab2a3114d7d84f91343999754ae3059844ed71cce1efd84739)", + "P->V[118720:118752]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 6: Field Element(0x2e79008aade999428d536252b64bdedd3565b11846ab1db8407fa5075e7ae4)", + "P->V[118752:118784]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 7: Field Element(0x9df86b86a5f7e6cd7f737952236193e2bb6a9870e5a3ba70fa0af7dfed1c81)", + "P->V[118784:118816]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 0: Field Element(0x6347edd841a9169799e4bec2b8f06580862d654561903308526ff7151cef71c)", + "P->V[118816:118848]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 1: Field Element(0x129f2ad4b0f6ed888d4db6b2a08f6d21d9d5841e3057237c4fe1a7fc0cad7e5)", + "P->V[118848:118880]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 2: Field Element(0x1ebe815d5ed4f1eb508d284814641db29dbdbdc266f68d1fd4897b06cde88c1)", + "P->V[118880:118912]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 4: Field Element(0x230227af8369081ceb780c45b360d55f88e22891e64ef5c2c03ff244e5087bf)", + "P->V[118912:118944]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 5: Field Element(0x122f064c697a729196cf76f0f307be19645f3c00b9fd0e4cf1f6d9ef8d3502a)", + "P->V[118944:118976]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 6: Field Element(0x42e5db0305c06f6d27670c728a90debb2ab17511ee8f8242b966ff6f56d61e6)", + "P->V[118976:119008]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 7: Field Element(0x7a194c08005a340cbc221c3dd2fee940252623ef996ff1096b1ef2c0b61e9a2)", + "P->V[119008:119040]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 0: Field Element(0x1ee046663dcc656aa337be57d21e1908ee628065e78fb0a8838e6d2b7081a3a)", + "P->V[119040:119072]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 1: Field Element(0x4f2e3f198811a4c81b46c63daf286801f2859b443e35424621193ede163b2f6)", + "P->V[119072:119104]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 2: Field Element(0x183df32dad259369f932f6363fae15dee5450b87854a14f9621d3b5b10d2f57)", + "P->V[119104:119136]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 3: Field Element(0x5288dfd48975747b2366b2c49fcdbd8ea3291489b1c4e098ec409b558b4fc0)", + "P->V[119136:119168]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 4: Field Element(0x5a483e277672842d64d820ca6551f1cdde724f77343709e398c880c59287fcd)", + "P->V[119168:119200]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 5: Field Element(0x30dac4a6191e3af920cb358d9a5a533dc96d8cc70ed99fafc2e6670dae7ba0a)", + "P->V[119200:119232]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 6: Field Element(0x22ea0f83004a82a5364c609b644caa98079eed7f273d431635993a25916c8e)", + "P->V[119232:119264]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 0: Field Element(0x7004927460453ae1dcf3c0959edb2848a4bb821334ff702a3b5c226f950545c)", + "P->V[119264:119296]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 1: Field Element(0x6918a6ae3e3f239a2238d66d1dbf3651e4cab6aa51d3ac43ae8f39c78937836)", + "P->V[119296:119328]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 2: Field Element(0x7252cc92574d15c1a2c9ffa5d605b37bc571585f1acb2e654210a738317b69a)", + "P->V[119328:119360]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 4: Field Element(0x1e39621f2559eff5b1ed70637f2d41d5c428197027a1576a49947bde0ef651f)", + "P->V[119360:119392]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 5: Field Element(0x6676df889af5d2cdb9f1a295297f773810acef47439297265389921f8590475)", + "P->V[119392:119424]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 6: Field Element(0xbb5e729b28fa1865cdeddc5b03640119452446f4a7900aa35d08c92854661)", + "P->V[119424:119456]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 7: Field Element(0x694cd8972246171844846e82ce4a526466bae6de8cb1177641f9a9016d9216d)", + "P->V[119456:119488]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 1: Field Element(0x3cd7c10f036746c93fab17d4494024061b149f7289954a1ec92b86fecbdf522)", + "P->V[119488:119520]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 2: Field Element(0x3329f67232e20999bdc1cad28de4ee5531db331631377ac3c6c23a7be6866a3)", + "P->V[119520:119552]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 3: Field Element(0x1fb4be0fe7d787287e6efc4145670cfd74dfae8d9b5bd9d562134547b900d51)", + "P->V[119552:119584]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 4: Field Element(0x5c416b9a6e7d0a737d6d9358496c9494ec8f7d6fe739fefe60e8178aa3539a8)", + "P->V[119584:119616]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 5: Field Element(0x3045d9671e5017cce81865b64749730d002e4f6fbb4fae3b82973f5775ba9ae)", + "P->V[119616:119648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 6: Field Element(0x274f0ecedaa05525c50ea45f1386a6a74a1a388538ce449991b84ff5290ff34)", + "P->V[119648:119680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 7: Field Element(0x780911914afb107a6609b41077392a41f10bb9281c2768d59ce5d8edda1a404)", + "P->V[119680:119712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 0: Field Element(0x7d8bba930cffd6f6916ea0a4552921a2d5271e9076b1108adedd992dec8082e)", + "P->V[119712:119744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 1: Field Element(0x5ecb384889fe03d2ee393ba8c4a6bb91c551ee4f2c84796b966c7a8faa2610c)", + "P->V[119744:119776]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 2: Field Element(0x79b9e5d20002ae5f9bbeacf9825dda88959a953e74a5ca7f9a1dd06b7ec9844)", + "P->V[119776:119808]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 3: Field Element(0x7abee4e4fc73c0c93d7536467a03ba22b4386167e8370d56b3a58de39764934)", + "P->V[119808:119840]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 5: Field Element(0x26596c665ddb6521c79c1dffd58ed2ba21c6cb42ecba09e4880ee622aef3cea)", + "P->V[119840:119872]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 6: Field Element(0x541a65722b961d1504f2f094bc61ef181eba3ea26547af85e9e7438ac5ddded)", + "P->V[119872:119904]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 7: Field Element(0x500f5e06149e2666c16c35a4046add2f20be20bbd79c6d10b9eaf541795e742)", + "P->V[119904:119936]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 0: Field Element(0x32a371c265879858ee87b0ede18b8e77f4ce9a65561f38098f9ff9d9639b411)", + "P->V[119936:119968]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 1: Field Element(0x6b3598079be4a22c3685b39282ad6cbadd8d329e9fb1c736fced7799b5b972d)", + "P->V[119968:120000]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 2: Field Element(0x40e560c08f49c05723c69bdea092460a91094cf5cde9dbc0038ae3b6db6849a)", + "P->V[120000:120032]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 3: Field Element(0x1fe824d159e5b98bda92907437bf6c88ca584390bea9b98f94563c4367f79aa)", + "P->V[120032:120064]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 4: Field Element(0x29b5221f68539e5bb51ee2846b9ce68075b09bd974b88e7e8af17f53c544603)", + "P->V[120064:120096]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 5: Field Element(0x7089f84a12e5d2463fdccefda8cbe5ebf6d42fd7e681f66ba332b3db905ce1b)", + "P->V[120096:120128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 7: Field Element(0x550d6511b42dfbdba6f62231322bd08179f6f01335352ed545609d6ac2e7dc)", + "P->V[120128:120160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 0: Field Element(0x30b20cf3ea98c1b269d04bc25f3930e81729e9f36aba807af84c83abf9adaf6)", + "P->V[120160:120192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 1: Field Element(0x1ac0637b5fec0a47dc4c7f2710da8a16d50df83ab9deddfb09dba36bcd49d5f)", + "P->V[120192:120224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 2: Field Element(0x3aaa33e02beb490a2698f459022631dd382019d36c92aa0903205c913a43393)", + "P->V[120224:120256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 3: Field Element(0x25aaebbe712f38493b69ad3ad38ea81ea53e1a79f04a1b7b345183b96d32256)", + "P->V[120256:120288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 4: Field Element(0x5aa3dc281058f83e7ededd2205614b76ccf03380ec903ee7252e4fd59951f2)", + "P->V[120288:120320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 5: Field Element(0x20dc516fd2d8a8bf347a31434ad868e5bda619811058bbda7907e9692e96495)", + "P->V[120320:120352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 6: Field Element(0x1f390c7925510803f94289ec4f2b11191b0529740d7a36b49e1dcd8209fbb3a)", + "P->V[120352:120384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 0: Field Element(0x48a39ea06b331023247589e1a34672cf66b9227ed26154d08bafbf5f10885e1)", + "P->V[120384:120416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 1: Field Element(0x17214528627bcb4bf7cf2a76895cacda49a1dfcf9c157aa3f407d2a41b71b8c)", + "P->V[120416:120448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 2: Field Element(0x158bbe2ed6c1942ef98d312a4751b4a8edf8cc6f50a4c69c27c45ddf92159ca)", + "P->V[120448:120480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 4: Field Element(0xc890d0c4ab74824ecac3dac9af32a6a407b81b9b75ffb95bdcbd47a666635a)", + "P->V[120480:120512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 5: Field Element(0x1d93a9e24cb837e899494bbf289aa595b5809bd090665d7842a0196be2e7dd8)", + "P->V[120512:120544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 6: Field Element(0x1cf49e6f5c1b36e7d85389a6fc9c869b7c4c67a207eeb74ffee49bca948eb2f)", + "P->V[120544:120576]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 7: Field Element(0x7eb045360f2887e732c903e19c23d85ee0abde66d040f0ce5e0dcff0125fe2d)", + "P->V[120576:120608]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 0: Field Element(0x18a0264bbfa0cd0605f464bd5a302018419e77212b2b52fdaa9e27e0ccb6338)", + "P->V[120608:120640]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 1: Field Element(0x4a9d988c7510fb90128321f67352e23ddfe24bb7bcbdcec9d493f3acada0eb6)", + "P->V[120640:120672]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 2: Field Element(0x7320ba6dfb0c797ba26e8587932b815ab9c1bf6cfe7c2e18546e2e19bd38b69)", + "P->V[120672:120704]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 3: Field Element(0x7309e7cd5e1f1709053fb040c434b3c57cce6ea1b5bcceab111958724460a5e)", + "P->V[120704:120736]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 4: Field Element(0x1f190edb89a6051ca20a8343970fe59a818831264f39a55808c2b069bce12d)", + "P->V[120736:120768]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 5: Field Element(0x24094bf0aac4dcd9d01740e3c3d32c38ab759ab73e78fbfe380f5dca12d8ed1)", + "P->V[120768:120800]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 7: Field Element(0x672bf340118c554370e07a022dc0de24233f878af966c4b12aad1d3e634dc25)", + "P->V[120800:120832]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 0: Field Element(0x1ebd632ea0a7745675ab68fd7a164326022c3d9cf8cfc02d147b13fecf3e965)", + "P->V[120832:120864]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 1: Field Element(0x2438b18fddf2fa4df2886c31a42511bc1af9cf4cf00b85bacbc1850b71d23b3)", + "P->V[120864:120896]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 2: Field Element(0x5049d61c00665496174d611183bfa5f029ad949e402e225c84265dd035807ec)", + "P->V[120896:120928]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 3: Field Element(0x3863101b191b3e3835cce4417d3684cc163e40d7a7445bfb7c70c7e02825740)", + "P->V[120928:120960]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 5: Field Element(0x1fd741951804a19962da68029acc1ff392a9f62093f0c5f52ee7f55ec11dd81)", + "P->V[120960:120992]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 6: Field Element(0x104658568810f52f152235616a653feb304be9bb727de332b8e100795b23f52)", + "P->V[120992:121024]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 7: Field Element(0x39d3fadd4920848ef555ed910c618a83f4ae535d29a88d51aff73c1e68d9582)", + "P->V[121024:121056]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 0: Field Element(0x31cfb638601fdd0ce3a3514dfdd0f99b9d7315a0ed1607a1f66a2f9c8bb5f1b)", + "P->V[121056:121088]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 1: Field Element(0x37c339ceded721bc6e80c5c65162343d1621d2a7654f1fa399ed0dd1d491d4d)", + "P->V[121088:121120]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 3: Field Element(0x77ed7468d2d41c184e7665ae86bca06e9aeaa32bf9e5d5c346c40d5bde3c811)", + "P->V[121120:121152]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 4: Field Element(0x6035e0adf39921eebba92767fa7a7a663bbaed1e7dff40523201eaa5bde4309)", + "P->V[121152:121184]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 5: Field Element(0x51faea2da2212d21324fb9115669a8ca1021b80a87fa1d555364a2394f05bb7)", + "P->V[121184:121216]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 6: Field Element(0x492e86d8026fd8a3ad3f1223ce17fb25b25a7cce41062e5a5155c94b9e730b2)", + "P->V[121216:121248]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 7: Field Element(0x43952f31069c18cf63c8d0e65531ac377af2bf014ec53916ac149a773945541)", + "P->V[121248:121280]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1042: Hash(0x6c38c2a1f2f7f8ba60b14e95e4e9b5a925fe33123a40c1fd9d573fde143eca5)", + "P->V[121280:121312]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1051: Hash(0x380bf81c27deb172f67cfaff2bae612239a37b6595ac6daf582e4de0485c5eb)", + "P->V[121312:121344]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1116: Hash(0x55837777f3a79fb13ccdd23124df396a88f6667bf749b9d2c4d6478f94b2bc0)", + "P->V[121344:121376]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1409: Hash(0x123d61aec97e8e0cb3e8f757b65e35f81d3a0af64550e047f53e066dded5696)", + "P->V[121376:121408]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1428: Hash(0x23f9f3210a89ad21c0adff773515b48e543c0c5447bb23d152d248513be6928)", + "P->V[121408:121440]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1440: Hash(0x21afe4ac83a64f29a29c187eb1d63d9aae9b730ecacfdd8266a4ce4ccff16d7)", + "P->V[121440:121472]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1511: Hash(0x14ce0edf4aa65195006e2cd05c486a702aef4dd7df1d7f41e430904f74702e0)", + "P->V[121472:121504]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1577: Hash(0x5138190ea5062808c0cad3a935580e7cf5d388b820237034862429a101dd89d)", + "P->V[121504:121536]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1591: Hash(0x4d47bcaf141ada772d84910d81477212ffe0a9f4cea88532cadc3f4158de1e4)", + "P->V[121536:121568]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1593: Hash(0x38be6ecdff3f3cccb14fbd8d20726b5523ea3339e75228fc8574d6e5296adfa)", + "P->V[121568:121600]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1597: Hash(0x1ce69e1a5fd4dc77337ca7154b2c00d625ceaa018524ffaf4d81055cc8f4edc)", + "P->V[121600:121632]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1600: Hash(0x5cf93fb28963986cc463c4b262df77cb969244806ac00177179496408a4a98a)", + "P->V[121632:121664]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1616: Hash(0x2b342877acb55681191260a8b1162e75ec923572573261f1007f7442d990072)", + "P->V[121664:121696]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1646: Hash(0x2b328e5f072de64f41fe2e60eb7ae50235300588c281b6f55e396caae2f9cd2)", + "P->V[121696:121728]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1663: Hash(0x1db95ce83a6b4fbf697b306c7fbf5fedbbd9b10c4d16ef457c57c0c136d382d)", + "P->V[121728:121760]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1683: Hash(0x7876fe2631ca9442e708f11d5f6490e3ba0ea796c6329e260e5d6daae3d1ea5)", + "P->V[121760:121792]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1691: Hash(0x3a06022497fdb40ea1de8019032c48b4018b79e58e76fa0fa9b41ab7efa1613)", + "P->V[121792:121824]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1724: Hash(0x5f1bccb353f0a52a8642f8f44abedd1f817ea6622c38dba1c0be7334743d085)", + "P->V[121824:121856]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1835: Hash(0x2b423a34d13786463cdb4a17d4ff3e070e1ad4660b9916e6f64a6f1e900168f)", + "P->V[121856:121888]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1836: Hash(0x60d90587a6119a6f9faece348a707ffecaa9eb89dfae463e0d6716786d7dd83)", + "P->V[121888:121920]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1845: Hash(0x5511d0bdc3e856da21b982b8a25eed151941194954152d79ff7e944a0f476ec)", + "P->V[121920:121952]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1853: Hash(0x5ae3f30208a0d86a8c8a5584f4aab6da88eced4bb9ec24175cb84d56aaf6d1d)", + "P->V[121952:121984]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1871: Hash(0x370ae64f67cf9491c17e3ca49bcf71c75a1ca73c3bb15f7472ab8321027f2e4)", + "P->V[121984:122016]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1891: Hash(0x7b8353625293cdd63fbc6d66db7e8ad5c1450f118ad057ef34c163cd2291d3b)", + "P->V[122016:122048]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1897: Hash(0x149c7a4c358562b807c3169ffdd1ca1a9483c4d64b50eea1864a95a4c2691c7)", + "P->V[122048:122080]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1919: Hash(0x39dbf376da595fa014b60267d1c02711d4ffc0124c4b07c9d16bd02a7e15ea5)", + "P->V[122080:122112]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1972: Hash(0x3537a6dc2984250df1e2e70eab5adb3ad668df552abc28efa5a76c379daec33)", + "P->V[122112:122144]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1984: Hash(0x14effb1966e3801e32d45823b010223db5d7860b580207344b30e70e8a2eae2)", + "P->V[122144:122176]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1999: Hash(0x6a1eed7d725adc65cf42d3702beb13aaffa2f5245d33237489e1d2c17a3956d)", + "P->V[122176:122208]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2041: Hash(0x2e772fc5db520c2b5396abfde71fda981566db760b01dbde9244f0f6cf091e0)", + "P->V[122208:122240]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 520: Hash(0x8898f6550b16a79f08fa38f9ecd1cd8cacfcb584d03c0a46e1770d2ae6c774)", + "P->V[122240:122272]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 524: Hash(0x3f07de66744e5fb9b163883a1010fdf237bb7acdf448a2a883fbab632514738)", + "P->V[122272:122304]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 559: Hash(0x65682770961f963312cb0f2822ebcf7ef515d37bf13f320b376f4c2018b8602)", + "P->V[122304:122336]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 621: Hash(0x56b1693c7966f4ede1ba1057a68d5e81753f6e33f7148a683251aeb95ffb19b)", + "P->V[122336:122368]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 705: Hash(0x13fb685ef4bb9b57fe3beb04e255945f1370b10f02f50ced1c643fac968678b)", + "P->V[122368:122400]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 715: Hash(0xf44d194fcafcac74b30fd96a37ca8348b2d3646077cf11019c66652f123a38)", + "P->V[122400:122432]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 721: Hash(0x3bb9a7630dd12e2c54ade5fe1d951dc7297827d42a711fa9d2a5976b0cd127b)", + "P->V[122432:122464]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 754: Hash(0x5a896ba69795ea9d7f691581b056b7a152d6dea7eb416aa358aa9bff838af35)", + "P->V[122464:122496]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 789: Hash(0x6a49a28b56d918733b4089743f06149a7e1b264e46eff60bcdbd9ab32ccac84)", + "P->V[122496:122528]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 794: Hash(0x5b293e318755f0cc8c371a948af54305ceda57fb7228a9f02adbe13028d360c)", + "P->V[122528:122560]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 797: Hash(0x7a640638272a52265d493be304b34039c614e779d2dc475344b68154d120de4)", + "P->V[122560:122592]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 799: Hash(0x55cf25bbda35222de0956cbb1ad5baa2022d7be2b0986297e7779263c65bb28)", + "P->V[122592:122624]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 801: Hash(0x3a25a2857a75d1084872f6a026118186770c9d0c753bfc5a70c99b375d349eb)", + "P->V[122624:122656]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 809: Hash(0x17904616ed3c95d34b37ab36c11c8dedb631c13f75a85dea3c957a07910913)", + "P->V[122656:122688]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 822: Hash(0x36b5de6dda484512f096f12573a611f20fc9d77dcfab40d13fd8796e87f593)", + "P->V[122688:122720]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 830: Hash(0x25c435e8f29b49904aa943b585c00811cfa790ef691667e6b0fa43405e2aa85)", + "P->V[122720:122752]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 840: Hash(0x11f07b0d2eb7c32e5499022f73f90ea5ee2ec2cb48b8e0b9f18ed7b9e3dc48e)", + "P->V[122752:122784]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 844: Hash(0x27137e065ed60e2c68ff395b7da1756f002330372a303451b9b9401cce3b122)", + "P->V[122784:122816]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 863: Hash(0x27947e48b77f6bb3cd510df24aae1f2b42b6ad2207b7295b8fdc5d17fb7f7cd)", + "P->V[122816:122848]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 916: Hash(0x4eb91f27d9689bdf502368675045e774436bbd2a45a9aed83ca974da857b5c9)", + "P->V[122848:122880]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 919: Hash(0x66d99ee85f4df6ebdc5c724b43697bac37ce5375395d530313e66798a36ee2c)", + "P->V[122880:122912]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 923: Hash(0x56a9d72ceb4d349caac5ed903d66ac579bf1b709971d2540723032eeb3b5fbe)", + "P->V[122912:122944]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 927: Hash(0x6f8207eb7d6f14ea378b28dcb32cf531bde01b174e4c5050a105966b40e59e9)", + "P->V[122944:122976]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 934: Hash(0x3de0f4ae250588f10a765edfd52efb0dc553a19c9ba40eaa208cb705a4f3cbd)", + "P->V[122976:123008]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 944: Hash(0x34287282c3450a1112cb8bf0b45596a013978747d384dab425319cf9102e0c6)", + "P->V[123008:123040]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 949: Hash(0x9e7321c1c70a9e8db331b7ed93f54fa7bb2a657f3b63f5a3abc2791ca2b5ba)", + "P->V[123040:123072]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 958: Hash(0x6d9d3f9d43ec642cfe9dc5a768f6329d6ccd87e221d9593383623733e0adfea)", + "P->V[123072:123104]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 987: Hash(0x4145b7bca539e760840081b87586f35ffcb8715f02a174035541d88383eec3d)", + "P->V[123104:123136]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 993: Hash(0x2d7c2fbb37e129f9b27d0968fa55c54511e9411603270a9ddb16f178d82c4ea)", + "P->V[123136:123168]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 998: Hash(0x1a09fdb5b428528d515caa1fceb008ddd8b7381f5304e670b2cabd3b7f550e2)", + "P->V[123168:123200]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1021: Hash(0x6a43106d5ab26e89ed7274296c6b991d97256cd22aa2f58114eb0e6ad9a790f)", + "P->V[123200:123232]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 261: Hash(0x485a4bf9a8b4bfc42c7d1c266629aab859419faa46f37ef06fd72dccc684ee1)", + "P->V[123232:123264]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 263: Hash(0xc343f2c22ba7e6b8987191e2605a2378ccc2aba80a1e4eaa5c37044bd9c723)", + "P->V[123264:123296]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 278: Hash(0x35aeaf1cabbfcbd5aa9bb7c5aabadb715e76a301ce74318576235a6d33186d3)", + "P->V[123296:123328]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 311: Hash(0x173a34159a203786a8636f0cc7b9ed72440ea5b862cd6cf49fcb109417a38a5)", + "P->V[123328:123360]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 353: Hash(0x7aa2371ad954007a35c92872e5c0bfb1e73bc69499fa4faac9fb897ace247bd)", + "P->V[123360:123392]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 356: Hash(0x53672326b6ce14a290daf8f54ccdddaf60e11611631d8f24617d917f954fc21)", + "P->V[123392:123424]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 361: Hash(0x467abfabcd1a8321db118c5c97ce9eef2bb225e4249921f3642b4bab758c664)", + "P->V[123424:123456]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 376: Hash(0x650709a2a8fe2f371579a9983a593bfdce4193fa71ebb82cddd84007a024bdb)", + "P->V[123456:123488]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 395: Hash(0x1cb90ffee555e340d369b05a4414b39cbd2cfd4109b46d7a868a117b5b0b035)", + "P->V[123488:123520]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 396: Hash(0x1db2cf99fb26457418780613a13b610b6c9b6458200535723ad01f3767b4f39)", + "P->V[123520:123552]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 401: Hash(0x37d56fd8ea51282145747b0b0ca6a3a8345e6f851cda0ec7ffd4bc021b2f81f)", + "P->V[123552:123584]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 405: Hash(0x2dddd7d82812b484503c561aa348b80b2bc20fbbf3306e2eba4363b594f5f99)", + "P->V[123584:123616]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 410: Hash(0x2a92584d00a02dd5bdcfac8a2677fe00f5db5e1ad5baec3e5890996201ab39)", + "P->V[123616:123648]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 414: Hash(0x40606016e9af176773707a9587352c399b7b50f741d866ff61b1eb93bade43f)", + "P->V[123648:123680]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 421: Hash(0x123d40df3270b15c98bc1733e05907993210e9f0b21a9bce06e3a225531a3c2)", + "P->V[123680:123712]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 423: Hash(0x1a9623c53a9e6146d922ed5e3288ae1233b28f59cdce15e625eeea2c83cd4d1)", + "P->V[123712:123744]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 430: Hash(0x43abc9d041ef547fe7980b89d0c68ea0f6b9e57aa94fc060b1c9eeec389f559)", + "P->V[123744:123776]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 460: Hash(0x23e6c86e022d395b02684e01a4e6913ba9082b571ec4d57c6d3954762551410)", + "P->V[123776:123808]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 462: Hash(0x41ddbf42e3c6274c0783ae4788b69d3a424e0e4f4b6ac08aabdc49313ba3849)", + "P->V[123808:123840]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 466: Hash(0x649b9e3f78c8800824ea55cf219c9ef5e32586307feb4a4e16b1fdc1fb35e66)", + "P->V[123840:123872]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 473: Hash(0x44da6504078b34ab3e5fe376156a01877cbecbc61b1403c365f2b3d5d9f69b4)", + "P->V[123872:123904]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 475: Hash(0x3565daf01d5e6473e85c3703699c479cb083341f47484d851fa1adf9044cd4c)", + "P->V[123904:123936]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 478: Hash(0x216ffa871ff149ef0f9e79c0da6714cf1e742406ec4726ee86a64d10d27c0dd)", + "P->V[123936:123968]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 492: Hash(0x7a2789638a9e5c697f96629b0df9f6df5ba5a66313f1c8217b32f6d87052f19)", + "P->V[123968:124000]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 497: Hash(0x4e20972831b34478ab7e6c1cbecd41aa01f649307fd46af111d60d57fc72407)", + "P->V[124000:124032]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 498: Hash(0x777f0bf7b83dd5d8c84f645dc03f5ee432c3fd31ff3c929bc384d4841c911e4)", + "P->V[124032:124064]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 511: Hash(0x692417b44ca131f436a36f61a526d3c63c20b7d374e85fbaaaf52d3ce426c90)", + "P->V[124064:124096]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 138: Hash(0x64c65a1b57e3742e8ee69f8edcc7b8c84eae559bc2c39f35d3b1ef3c9eb4caa)", + "P->V[124096:124128]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 154: Hash(0x1a9c42cd3af9b6ccc5948fb1c9d723b773e74ebc8423c4bad8d465010f2ec12)", + "P->V[124128:124160]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 177: Hash(0x57d97af905a7909007ae6b62883aae5015f1fbbdbd0a7ffea23d3748bdf72e5)", + "P->V[124160:124192]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 179: Hash(0x6165df545fd8c6b8deb5c15444e831ba0a771225428a382dc7d94a7b8e225e7)", + "P->V[124192:124224]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 181: Hash(0x2e04e74bd23f69edf2947f17d8c5936d97898c37a065f741ac39b67f8bde755)", + "P->V[124224:124256]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 189: Hash(0xa30a3f9a17e908b21c1c1164803a71b998405669e7d76774351baec47745d2)", + "P->V[124256:124288]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 196: Hash(0x14dd2360e4e4998d91f03573debc0d5ee7e681a48274181d8e67267b28a9f22)", + "P->V[124288:124320]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 201: Hash(0x52ebe56f187ed6acec9d9e9dd0deb3d0135509b6231b70e01ba11dd11d2e940)", + "P->V[124320:124352]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 203: Hash(0x12166a218f825e61977b0231dc43c1e86872a2a94639d0ccb48a6cf157987af)", + "P->V[124352:124384]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 204: Hash(0x1e27452dd23a6779f7e209e976ffced8811498e07664f32eaa33fbc0e70d96c)", + "P->V[124384:124416]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 206: Hash(0x2952be82993dd0d609aacba564b759f1273ae145135ba730c3ed79aaec8831f)", + "P->V[124416:124448]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 214: Hash(0x9c510cff25fd0b3b83f8744c089b888a12fe13b4cb1bfee07e673513253b2d)", + "P->V[124448:124480]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 228: Hash(0x5cb308d2b0e7eb3fbf9df92cfa2cb08123bc2c5e55cfa0307ecd529b39e6bcd)", + "P->V[124480:124512]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 232: Hash(0x38db239892a0aba09ed3ab6629003e4fab44f2f09385c82cf0f3c7825913f5a)", + "P->V[124512:124544]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 238: Hash(0x4d92e1c576ac41728220b391114812b0ec0f35df09278215baf3db414b4ee66)", + "P->V[124544:124576]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 247: Hash(0x508a1a24af0b82d2f9faf11f8909e5835e015a409db148292c55f70162d4844)", + "P->V[124576:124608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 254: Hash(0x7a0c80081dde78f731a108e1871120599d7dd28df45795bd0d61e47fc9e3212)", + "P->V[124608:124640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 64: Hash(0x3d75ac2b024bf8c9f2735151a010827b0c6503495a2a18fdd8af00b61a59973)", + "P->V[124640:124672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 68: Hash(0x1f45d964ee98afcfa56da7f613e2901e8e21bd5ddd20e3a40ced7a9b40ecaad)", + "P->V[124672:124704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 76: Hash(0x4f23f5b8946860a30cb428b33ab1809dc174260758cfced86df6332719fd696)", + "P->V[124704:124736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 91: Hash(0x4f18caccaa6e39a7334f6311848fc13857a47662abe0243f78e2961d3aa0009)", + "P->V[124736:124768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 95: Hash(0x358073e6bab56258dfcdb25ff5866a01dd9667fe01e192a121dfe3697867dcc)", + "P->V[124768:124800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 104: Hash(0x40a7725599fda53db70886010d30d85ad71d3713facc7381c1d61ca12d02cea)", + "P->V[124800:124832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 106: Hash(0x71f8d3eb66f686511963b0ba930a8e417698a737b31ee0128e8ceb1d8c3111c)", + "P->V[124832:124864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 117: Hash(0x789e35ff1c41b1d15215656382818307211a823462a992fa8374e218806898e)", + "P->V[124864:124896]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 122: Hash(0x4d891916707c5b6a714f2769461142434f15de255930efcf42ab63d2c2d1d5a)", + "P->V[124896:124928]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 125: Hash(0x291592e1cfca7e2d4d3f14151de80300a783092d829d7befb28000dbf471e9c)", + "P->V[124928:124960]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 126: Hash(0x4465f9b18408e1054308eadc473b1d1e878f31065065501440f7eea4fc4e521)", + "P->V[124960:124992]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 33: Hash(0x6660d72eefb081cddba56265e6dcd2e7c2a0fc0a9e4911192a4ac459bfe762)", + "P->V[124992:125024]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 35: Hash(0x1b0a6b9f4c33b887852cc511cd575bf714029a9a9969433fe8ff0feeb169d6c)", + "P->V[125024:125056]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 39: Hash(0x784da54cb12a15cfca6ddd8158af38dfbc20e0a091143b5b1cb5125ed402da1)", + "P->V[125056:125088]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 46: Hash(0x7462fa52e919356e19605bccc180720130b56063251be5eec06967a48edc926)", + "P->V[125088:125120]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 48: Hash(0x303ccbae0ef93594612557d7964798cc29cd8d19d1ba99ae1c5256719c94ec9)", + "P->V[125120:125152]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 56: Hash(0x1a42fafe5bc6ab8e9c982a783e88bdbb100cb850fff4dc1fef34b99f0b895f6)", + "P->V[125152:125184]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 60: Hash(0x7ab0d8d2d1fa6262f9ff308105dedde9187bd964e413b4c08103e5a80edbcee)", + "P->V[125184:125216]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 18: Hash(0x7602c6ede543bbd3e8177b3efc6d837df27f3aa33f2e64169e9db1748fa0c9)", + "P->V[125216:125248]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 27: Hash(0x4cef0fc96d1dd3a56a91b43a532476898a7c2a94faa4e29b026923e746f58a1)", + "P->V[125248:125280]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 10: Hash(0x736885e306f30783e014d58a50c09fc10f4daca8c02728624dfae6866939a6f)", + "P->V[125280:125312]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 4, Column 0: Field Element(0x5690ff34e1f547b339c8ad06a7308cb03d179ccb1f2276fec97c4cdbed35c3a)", + "P->V[125312:125344]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 4, Column 1: Field Element(0x7f2aa63c5052968cd1889d9a6cafd528b12926dd10ee72ca080fac1154025a3)", + "P->V[125344:125376]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 4, Column 2: Field Element(0x56a325039f9605e979b197cd962ee369dd732da4259ae926a05e99b0fcc9c67)", + "P->V[125376:125408]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 6, Column 0: Field Element(0x5670e796b34fa1140bc24067dc064653a03953f8c8c5300c9fde283f255f6ce)", + "P->V[125408:125440]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 6, Column 1: Field Element(0x5b3daf632a052cd0eb1997b5a697a6d4b7e363cd5c6bbb5e83468e7848696e4)", + "P->V[125440:125472]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 6, Column 3: Field Element(0x2c24b71f3d190ee3eb15bd7f88d525824ba68bb54616d6aa2e67db37cd7dfe4)", + "P->V[125472:125504]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 23, Column 0: Field Element(0x6bfa60466112493cbdde376dd2bdf860ca3d4a903c6f06b71c328002bac9ea3)", + "P->V[125504:125536]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 23, Column 2: Field Element(0x7497ac334554e90cb14390cf6a7d11bd3a079d7974a28aa31dff086641484ce)", + "P->V[125536:125568]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 23, Column 3: Field Element(0x71422bad0d7986e601873a2caa2836df4c2d40647b8c9ac305ad67309f744f3)", + "P->V[125568:125600]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 54, Column 2: Field Element(0x296b54d5d49d528a6f9fe183b78b3dff3bc061f0bf8501e708ed640720e3db)", + "P->V[125600:125632]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 54, Column 3: Field Element(0x19d74d09840eae22a4006b8e8850654d27bddc1632fb2a6c8a388dce529db10)", + "P->V[125632:125664]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 96, Column 1: Field Element(0x15766bef2f95bc1df14383a21a8cbb75444660d80649e25040485859b58614b)", + "P->V[125664:125696]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 96, Column 2: Field Element(0x6369464bd4e44e65c4da30c564844f81fd78cf9a43e7ac1cddb0e77cdd50d56)", + "P->V[125696:125728]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 96, Column 3: Field Element(0x17c8e01703737a3edb4dd547c99295ef942aa061a392bf8513935c618f0e09d)", + "P->V[125728:125760]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 101, Column 0: Field Element(0x631ec4b742e63825665d5fde79c2f788b75be350bd3bd66278b7b1d4133e217)", + "P->V[125760:125792]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 101, Column 2: Field Element(0x3f8a06c8a8b11be1ceb611eaafa9d4cfd7ca97538539b32b64ec0002dbeddf7)", + "P->V[125792:125824]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 101, Column 3: Field Element(0x23fa00d5d76d48cf2b8658248f58a967e4b9759fbc3354ffa2af206c89e91d8)", + "P->V[125824:125856]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 104, Column 0: Field Element(0x3bcf50cee90176c103d1b9b1ac0324e97e4ec3a5b61b6d3db80094a05d0674a)", + "P->V[125856:125888]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 104, Column 2: Field Element(0x27034dec50a371711bc9b9499047bc6e49016ebe0d67282fcd9083bcc333985)", + "P->V[125888:125920]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 104, Column 3: Field Element(0x75efe464e69314919e6031f943ee3745067c51c58ca919664ad1c470f2fa230)", + "P->V[125920:125952]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 121, Column 0: Field Element(0x9f3b6026cdcb81f5bdbb6829f6c00ee90bcd187882f5455c7d8b23b124daf9)", + "P->V[125952:125984]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 121, Column 1: Field Element(0x454efee17abac57a5f6e8dbf87040778e14859217938ba9550682fa20157766)", + "P->V[125984:126016]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 121, Column 3: Field Element(0x4686bcaee597556419257763769380cb5204c069a6a6c2e9750ad556d1e2caa)", + "P->V[126016:126048]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 138, Column 1: Field Element(0x330e2adf6f3449ffb61b152b2627edd28f999db9a8f240cb9e3a2013a04221)", + "P->V[126048:126080]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 138, Column 2: Field Element(0x1d288272d2eb9c4ad7f5153d57ab3bf2dc98427bac390e1d9e1d0cac94496a3)", + "P->V[126080:126112]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 138, Column 3: Field Element(0x391298291d53c73f22b4c9e9243f6162b4a22dcd6137fe2014b3a5db3640693)", + "P->V[126112:126144]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 141, Column 0: Field Element(0x471c5eba8c6d14aabbb19ff3dc395ff1675837865b1be5b07daa2d06024b93a)", + "P->V[126144:126176]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 141, Column 1: Field Element(0x29fd8fb71467eaaabdfaa032361fc27ccc2bde7c8ad84d563f2de47b899b5a1)", + "P->V[126176:126208]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 141, Column 3: Field Element(0x6b0527e16c38bd3cb0f20d7d75b2935eb130d647bb0ba88d00a9ab6b3b6b33f)", + "P->V[126208:126240]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 142, Column 1: Field Element(0x9d81f12e759d21d1ea67e1af2fab68c9fa32cba14c3fc8650c4c6c53ef69)", + "P->V[126240:126272]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 142, Column 2: Field Element(0x3173b46c9faab270a57060fdb6a91965a19fcd73338e1bf939301639df52faf)", + "P->V[126272:126304]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 142, Column 3: Field Element(0x24741bf2996ecbcee0757002e991a25a7d03abeb97bb6d0e003a0547281c4f7)", + "P->V[126304:126336]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 143, Column 1: Field Element(0x64a4e327a1552641f6c83f04f7c1abcc21f392eb6d65880b1f3297f448c27b5)", + "P->V[126336:126368]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 143, Column 2: Field Element(0x3e6af2aebd76ccd642a83fecb2b08de9b124b0e328b82bee797c33f2522b0d2)", + "P->V[126368:126400]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 143, Column 3: Field Element(0x596310215f8c0b455ac456a537c8dcdce6ef15271384a5a510425d7a9e8da4)", + "P->V[126400:126432]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 144, Column 0: Field Element(0x5f1814ca4601120346fc7e62cd5caaaf3272ae43ccb17613e5ade569fc34cf)", + "P->V[126432:126464]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 144, Column 2: Field Element(0x67f02c335e962a741f286e31ecf82d87b44a5ad0f3be10adff004e3298d9549)", + "P->V[126464:126496]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 144, Column 3: Field Element(0x509f9e04a1d862025d9fab1843dde27f446d81d7de16785d13b933b3ab572e7)", + "P->V[126496:126528]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 148, Column 0: Field Element(0x52c26757b7a754153d5b1b7f57147d2d906b3326ab0dc640a4caf74f0ab4851)", + "P->V[126528:126560]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 148, Column 2: Field Element(0x5159a11ab1adff02dc90e328d2979169e12e988530fc3e06ebb410fd7747148)", + "P->V[126560:126592]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 148, Column 3: Field Element(0x1c61c5b769bf88062f38fea5fcbd67abcd3a088984181982e819ea22d52ba15)", + "P->V[126592:126624]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 155, Column 0: Field Element(0x45c5695c7bceaa0ff55edcb712f7b37cc3236c381748a54f2bfec7c1067a327)", + "P->V[126624:126656]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 155, Column 1: Field Element(0x3519e3e1e160d799f21d6a359394da8239916f36e5bd36fdd0f3de423002b0d)", + "P->V[126656:126688]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 155, Column 2: Field Element(0x1e86d418f849f33e5874864d4fc08562cd67fa1846c7d21985db0ee33ab4722)", + "P->V[126688:126720]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 159, Column 0: Field Element(0xfb89b2b4b4890c8f4b6d0f651f8857f9b76f9d4c6ffccb7fe8681ceee19731)", + "P->V[126720:126752]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 159, Column 1: Field Element(0x509b45ea33b306c021c8a964fbb03502d0a13f6e30aaf98905997cf40aeba33)", + "P->V[126752:126784]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 159, Column 3: Field Element(0x680d1ec5ea282188e9924364163e0f2721d1f5377cb7f5c4834b2190aa8a63d)", + "P->V[126784:126816]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 164, Column 0: Field Element(0xa5441001f8b1118cd9bf095dc82cdc74f461f0f2a34d9161485355b80bfe83)", + "P->V[126816:126848]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 164, Column 1: Field Element(0x5346eb10fadc031ae8856e08cfbd714398661f2e6ee44255f61e667d5f5b75a)", + "P->V[126848:126880]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 164, Column 3: Field Element(0x29c785cc2241d8ac5a95d3836c3204f6386748291449e32426f7e85934bb4c5)", + "P->V[126880:126912]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 166, Column 0: Field Element(0x59f11558098096996fde1856df333b49d2cf0c40777567b8a93d31532accb19)", + "P->V[126912:126944]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 166, Column 1: Field Element(0x90526aa9e9674090e3d94894acf90fb74a9f000b240114bde83dd47f7d8ad)", + "P->V[126944:126976]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 166, Column 3: Field Element(0x1611b72328165d845514abe3b97efbd444f8436b1633c4ba4f7970cbf230f1f)", + "P->V[126976:127008]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 175, Column 0: Field Element(0x3aacfac6cc6d289f9546d532a312bed235f255a3b23c7ced86b45a094bfdfa4)", + "P->V[127008:127040]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 175, Column 2: Field Element(0xa9739344d0401825671d1d9f3607c16a4c76037248e7e75564a8f0a3141049)", + "P->V[127040:127072]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 175, Column 3: Field Element(0x361eed818c536b13b124085d34945d417c8a4658ecd36a88bbfbf88aa6458ea)", + "P->V[127072:127104]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 202, Column 0: Field Element(0x28da47687cab468a0289954f02ae180167453dc625d8256d1a8b2a74ab0f779)", + "P->V[127104:127136]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 202, Column 1: Field Element(0x5d29373ce8cf77b8e6e4327a709875a861fa50572b4fb8bed620f1a98e62a85)", + "P->V[127136:127168]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 202, Column 3: Field Element(0x13448372b570d6b0ec8081b695b525551b2f1f8c6c88c0a25b592a6241a46d3)", + "P->V[127168:127200]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 203, Column 0: Field Element(0x612c9b8662c76495d4a812b27161ae2e8fa13bf6b0bf154a63d3a404ad3072e)", + "P->V[127200:127232]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 203, Column 2: Field Element(0x6c7420645c85d2cdc06a3afb9f25858a5f96d09029a62a4946bc95083590d5a)", + "P->V[127232:127264]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 203, Column 3: Field Element(0x27088abfb60feaac25c3c0cbde2289db0f0c2026e3f6043b1de71c86048a1ae)", + "P->V[127264:127296]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 205, Column 1: Field Element(0x2f9b3cb27bd856a5dcfa4e17e26d75b0e51cf516bc7d385468b34a2ee7a34ea)", + "P->V[127296:127328]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 205, Column 2: Field Element(0xcc7c16b87cc06743c54e76e5d37f2b9cbc911ee388e0fd5b66b60d70718d6d)", + "P->V[127328:127360]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 205, Column 3: Field Element(0x5d9f893be73c935cca132dd625cd00380e81cfbab298cbc01a3183d7ed4d3f6)", + "P->V[127360:127392]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 207, Column 1: Field Element(0x745f56af21cca0a62f6a484ef33bc749af084badde88eb2c20e2e2db5e4802c)", + "P->V[127392:127424]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 207, Column 2: Field Element(0x6cc34b4233d92e12be09ccdf58f3f93d18e1babcaa6e2e94398cb7fc47cdc79)", + "P->V[127424:127456]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 207, Column 3: Field Element(0x10beb75197cfac16000a530d0c19fdeff357b98e7a3ec6e045ec4830660e7ad)", + "P->V[127456:127488]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 211, Column 0: Field Element(0x611e0e3da3b521b838e08b519a45bf02cf2dfbb55fbedbc93f4c324af7286cf)", + "P->V[127488:127520]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 211, Column 1: Field Element(0x1bd707de24c0ca4b6cd690e9645545b006d7da6d4756b0b22094b4ea0f38b22)", + "P->V[127520:127552]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 211, Column 3: Field Element(0x512c6610ef80fb36a5858fc19f22c247211dbb402a8e6bd8d999e2915f23182)", + "P->V[127552:127584]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 216, Column 0: Field Element(0x6c7cbdb53b1f547ae3335fe498e781d8489bb077e0015e67f447bb852bfce73)", + "P->V[127584:127616]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 216, Column 1: Field Element(0x4b8ecc3fefbda1341a7bdc8cddb24739db73f54f001dca2111f73027194de66)", + "P->V[127616:127648]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 216, Column 3: Field Element(0x7a81015701a731a80a255e855655facfbc90d84497cd488fde070a2691d9642)", + "P->V[127648:127680]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 218, Column 1: Field Element(0x53dcdc3722d8ceaeabce6860c81d45ce8167fd54cd4cd12bf19997d9ebeb46b)", + "P->V[127680:127712]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 218, Column 2: Field Element(0x60f00f58dd1df2f11caca98b012e0e7b0580285fd61dc65b9f6e5b3c3a0165f)", + "P->V[127712:127744]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 218, Column 3: Field Element(0x46e920711ef9ce5afc17c3e78bd8a6a69e380d3da815f0b6d51fd06f658ff82)", + "P->V[127744:127776]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 223, Column 0: Field Element(0x174b534feddd01213a24ae7c55ced5b518495924b3605b5a136278d013711b8)", + "P->V[127776:127808]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 223, Column 1: Field Element(0x3b8aa6a5324f5b3a2aef919756806dd9efe614ada074026a2be0fa67a05f3b8)", + "P->V[127808:127840]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 223, Column 3: Field Element(0x4890fdc1b382719080fb75b8c5b433dc6cfe549323d9f11e03b421b6787ce11)", + "P->V[127840:127872]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 237, Column 0: Field Element(0x4e1a8083c01dd3145315226b76ecf86341439d1146372891568809287ccd728)", + "P->V[127872:127904]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 237, Column 2: Field Element(0x57b4cb6243621c06390394dffe9086d26b9f098f466aec04f0a4d083000a12b)", + "P->V[127904:127936]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 237, Column 3: Field Element(0x38f5f87fac16ed3a33014cf862b768732c62bb45eed5248bf3de0ae31339b91)", + "P->V[127936:127968]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 240, Column 0: Field Element(0x5a93cb5aad53c2ced43850e525ac92b2109a96cfda9d8c69de42b0b282445b3)", + "P->V[127968:128000]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 240, Column 2: Field Element(0x4804ec62cfd5afe9e67f91d1f97eaaf047553ea1374b6777b0d309d8ee29997)", + "P->V[128000:128032]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 240, Column 3: Field Element(0x72a9a9a841047933f9e0c6beb61395fb2886b696a6cdc4ea8515f6fc2cc8cb5)", + "P->V[128032:128064]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 243, Column 0: Field Element(0x75b20fda2b1b6cd0c78517cc837b37d3bd2fff7d36c0fd279845a33120caeda)", + "P->V[128064:128096]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 243, Column 1: Field Element(0x632e626115c481f0e2ce9db6da2b3cdd93b31443b3504722aee5d6528ca4b0b)", + "P->V[128096:128128]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 243, Column 3: Field Element(0x7cc07b8cd40aea07a9d9c96fd81e698ad3e0d6818b680f0b9b99348991c5cbf)", + "P->V[128128:128160]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 254, Column 1: Field Element(0x71a33c51e1443cb197ad6f0a0209f25442b24744f798debb58a103a45125748)", + "P->V[128160:128192]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 254, Column 2: Field Element(0x318d23bded3742de016e14ef7ce678fc03faaa106b3f74c953f7af39833f3ef)", + "P->V[128192:128224]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 254, Column 3: Field Element(0x787bc4a25cb6463e893cdb0328b3870968e2414e9a1e0959d27b80e75424c61)", + "P->V[128224:128256]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 261: Hash(0xb59e7499bac4bbc7efa255be271f0a5d6e7a7604b73fd27ac7975ed56532ba)", + "P->V[128256:128288]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 263: Hash(0x14d3cf9638fbae114f87a06895f749de6f190dd08287c93def9af51c6884ea7)", + "P->V[128288:128320]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 278: Hash(0x4b60c427488e552d9b464d6e69eb90a07844b925596438f5d071d1b83c7e5a1)", + "P->V[128320:128352]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 311: Hash(0x3b071735c94d744b02bc3ad01df1029646473f17e2ba393fba13b0334ac694a)", + "P->V[128352:128384]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 353: Hash(0x3f3d74ae952a271bfb4b3d951ab4c2734363b78a93457c4cbbb79521d653fb0)", + "P->V[128384:128416]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 356: Hash(0x7f29864a8e29ac051ed5c15c68a0df9c1516987eaf390099a7b1660f0a15797)", + "P->V[128416:128448]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 361: Hash(0xd85bba74e9c4d3c1c758516a5129583522d715fc72983dbaa5829d6ed46a4d)", + "P->V[128448:128480]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 376: Hash(0x4cdf67f20cd30d2e9bfc496802bcd0ac6e761198c806013826f58a04e8c39d3)", + "P->V[128480:128512]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 395: Hash(0x60e117eeb2d9cd94e4753681810fbe4a0513a963dbee64fc080ba019fcc7738)", + "P->V[128512:128544]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 396: Hash(0x20dc763cffeecef022d1103dc8c91341ca08a7e78e1eb2d9e181a56f99b0237)", + "P->V[128544:128576]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 401: Hash(0x1321cb4d0f8ef7f1495f50d773766c72f3e17660bdaacdf13b85d953da68720)", + "P->V[128576:128608]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 405: Hash(0x4a262ded06bd1496d8ac4a959d70c8b2c08381c599e699b155e20346aeb37a4)", + "P->V[128608:128640]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 410: Hash(0x2a6c5dce5b71714c1c40436d44e459b1f3140669eab0d4e168cb5936c4a91fe)", + "P->V[128640:128672]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 414: Hash(0x7d6027ee0ca1bd60fe9289d9715de22528119f4459e0be4dfb8698e659e278a)", + "P->V[128672:128704]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 421: Hash(0xd6ee089e7a9b3bc8d57809e188d0680c48a9a01aa324afbf45049304db402a)", + "P->V[128704:128736]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 423: Hash(0x3a7b3280215b170bff90285f95951513d7ff5db6d8d1494d5798ae60f8631dc)", + "P->V[128736:128768]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 430: Hash(0x74fa5ee6a20e36cffcd27572eab22e1231bacb1df62a55380f50c0786dc999a)", + "P->V[128768:128800]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 460: Hash(0x14e13667c479b3fe55400c4659f11dd93321dfda99478fa5576d0d5d0b0a827)", + "P->V[128800:128832]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 462: Hash(0x2c5965248ff5d1529db5fed37446688a32fd6b9fbc7e39b92bd9df21f943a17)", + "P->V[128832:128864]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 466: Hash(0x6fac808d3517fa959c2da733fae6bc0acef2f49c467fdfe6934c8f6d791a8d5)", + "P->V[128864:128896]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 473: Hash(0x70346d69d6625a267d9f4c7b00fc29b7bf74bb7bee763f65f16807395f28a0f)", + "P->V[128896:128928]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 475: Hash(0x7eaeb82f84304ed161bff4bf3745179f4cfe0d16c23cb37b305a41fde94fff2)", + "P->V[128928:128960]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 478: Hash(0x3c9e469ae68156dd2adf2207c57c03457593af58bf4a49152c13786f2e2dd1)", + "P->V[128960:128992]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 492: Hash(0x57608300c24f370260dcf44fac3afe87fe61b5c86004d0decbe5b67f7529b8a)", + "P->V[128992:129024]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 497: Hash(0x4518ad5d2a2f015fc9cf06a9a4c3b2be53e5b34c27a0d857ac426a06c786dff)", + "P->V[129024:129056]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 498: Hash(0x1a2be5583299659fe402d321624513a36306170667b16bd92d9077b39b4ac86)", + "P->V[129056:129088]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 511: Hash(0x115fe9191971c4559abedf733f379e42e5728fc7c17ad9e8f49147788b883da)", + "P->V[129088:129120]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 138: Hash(0x4b4b05e65d74cce86112601a15856f57734835687a1d9c42e2a0b86f9ceeb71)", + "P->V[129120:129152]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 154: Hash(0x1a37216db1b21f997d6fb89f3d5f116972c4324bb9ba4beba03f7c40bc51cd3)", + "P->V[129152:129184]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 177: Hash(0x395535578f28f4a37a75adf489bfb121e9c9af5c069a08f7ad32dcab7916fc2)", + "P->V[129184:129216]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 179: Hash(0x13ceaece3dd72e626b08b494a172356ce7cd1d79925cb0dc68394e461fd474f)", + "P->V[129216:129248]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 181: Hash(0x208ee4103df450ac2fe1302afca20f2a8e5faf2b1e142f17a47b260aa7c7e6b)", + "P->V[129248:129280]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 189: Hash(0x75a87e263359c368dfc040559cfc29946e97590d6635e7a41c22fa1b3467adf)", + "P->V[129280:129312]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 196: Hash(0x12e79b744bf5e043d67d003b96bf6ad8df4c4954d1d55bc383ed1d1607f987d)", + "P->V[129312:129344]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 201: Hash(0x15799d699ebf4963af54f799f7a564a093b81c2ea3f410ada3fb316299a2d01)", + "P->V[129344:129376]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 203: Hash(0x33eafd6b37c886fc59cae1c873dc6eb1bcff2ef2ddc7176becc8d40cd78684d)", + "P->V[129376:129408]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 204: Hash(0xe8ccd5adc7ffb9d8d42c8b4fb524e7abe2f972c7bd42c4e98fc5e3770a400c)", + "P->V[129408:129440]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 206: Hash(0x5778f001bd44916a1881f0feca48892403407fb408d7a630601bf5e82f41a7c)", + "P->V[129440:129472]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 214: Hash(0x1bd14b874a822328b95f75467b241912ce9760d8beea0d099383d30523690a7)", + "P->V[129472:129504]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 228: Hash(0x143e002afde9e6c37e364510a0e5d2143183e93d9e9ff9050354cc6c91bb5e5)", + "P->V[129504:129536]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 232: Hash(0x6e2a922fe9c5770c04662bbf337dec6f6e89891305853a3a18e83df5b1ca7da)", + "P->V[129536:129568]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 238: Hash(0x2b60b7958876272e342cc11915a0d72e62aedb8b472bd79b8a92ac905da683f)", + "P->V[129568:129600]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 247: Hash(0x6e492e269dc640a6a2887b28c566b0678ec0b002a872407a6e51637206c6c29)", + "P->V[129600:129632]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 254: Hash(0x297b586bd11a611cda19a4d91b28838264788516f29c0c7d61f3557128ee681)", + "P->V[129632:129664]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 64: Hash(0x49a7b2b92f7809568b9513a6ecc0d7b904f48dc5f63c6d12f8e40e019fe9b33)", + "P->V[129664:129696]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 68: Hash(0x63c747d4f3cc0561e1928d73d1b3cad8e8471074bf9d51003bef729e3fd093a)", + "P->V[129696:129728]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 76: Hash(0x2e8b825b74c8cce94624344888615935dda65a1eca2c9df09df6c38056bb9a4)", + "P->V[129728:129760]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 91: Hash(0x3091636dbcc8ee3dd7118fad6ae2645dc8db70415bf039d5cac683a0a13ff21)", + "P->V[129760:129792]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 95: Hash(0x263b182bf486b7c696828f2d8ab22a3a2cbee77f9ea421f17543dcfdbcfc65b)", + "P->V[129792:129824]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 104: Hash(0x41f73bbd082ed7979562f2f3aa2860218a11eb05879ad452233f196d0e49231)", + "P->V[129824:129856]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 106: Hash(0x51ae9e74c3899563ce088ce6179ca8de1dbc0a8a0bbd7b8e106f87db5bc1d8a)", + "P->V[129856:129888]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 117: Hash(0x7eb62619a2f0c2ff01e17a4a7ab5fa44256d77e100b56a9633a21a9efe6c0c6)", + "P->V[129888:129920]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 122: Hash(0x65f2f1aaa4f68f4d4a0009014838a821df22ec0855ebe962307a21e3c2e19c5)", + "P->V[129920:129952]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 125: Hash(0x2c83a889d4e16414ef805b762174a96071f68aca202aeba943773f231c07bf5)", + "P->V[129952:129984]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 126: Hash(0x450e26f2166522dadc118335541e1efece69cc9fa033119fa2249c5eb3b1b0)", + "P->V[129984:130016]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 33: Hash(0x24aa1e840ed5acbeddd52a165f55bcec01dd39793816e03a25641eb18e55a5a)", + "P->V[130016:130048]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 35: Hash(0x7b976b10d4267b343dc5f282af97be79f68adba0fe1e719f6cccbaa8f1070b1)", + "P->V[130048:130080]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 39: Hash(0x7453ded774956640768ea4921d04006fb68fcbfd83024f336768b3d4ed7bdfc)", + "P->V[130080:130112]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 46: Hash(0x62b2a8f95318315b05c3f1c0f2c4e0f8f6f2bae4e9489605d132acfca9899d6)", + "P->V[130112:130144]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 48: Hash(0x762ca64ac91480bb1bd7caa6a5b2cc2403da446380d19910081e2cdc8287d27)", + "P->V[130144:130176]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 56: Hash(0x36779a7bac1531e14ec0ed19a088c4a21616651f885d24ec9f9e0744334575a)", + "P->V[130176:130208]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 60: Hash(0x60df7e4d9064b5df29549ef466c7d66844cd0b5525d7318273b0e252591f8a5)", + "P->V[130208:130240]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 18: Hash(0x1507e2b0b391a7810c56115170439d27e768a052d9e1a2cfcae40ea657021cf)", + "P->V[130240:130272]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 27: Hash(0x62bd0e4a0065b844bf345e6df265139bc7748b55d3514ff87c44f1ccafa6006)", + "P->V[130272:130304]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 10: Hash(0x68ddff11bf13cffe3e43c1ab175dce93d635498b3f162bbe89d43e42872f4fe)", + "", + "Proof Statistics:", + "", + "Byte count: 130304", + "Hash count: 1980", + "Commitment count: 7", + "Field element count: 2091", + "Data count: 1" + ], + "proof_hex": "0x0082b2b04e6847cc5db94ce40fe26c769cb52048218009712c682ace4816eb38066d12f94a2b10d4ef451936110ac35f62cac35e19e56ddfc82ff69ac3f886e802ee6134282a5cad040523fa65715af22deac01539ab6e9f90d2670ab2b8f5c000c3a6ba68911af16fa41bb9bc6ffa78d9c0186609f5789a718a34ffa4dc682c0106be45689117c2ed9267069d812f3de8bef4a3a9b86ef3143839d27af7ac3203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d07c330653ccff4ca0540c4b8761474c855ff1c2b8e80c5f376403a9ecc1774ae0452dc6329b7036c268dc0165c5cf14fd577029a2dfae42df1c68689679b6909076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d200a9fd454a1132b8b5e0b4b3bb2341d32446ba3a4129182949a96a45f9c20852072ca3913e0c3a78b062efc6726b9095a8f7bc019388455e2c08dc8fa3432b18036d7fbb80de24432bd8fdd75391e75eac17e72ec7069c3c12a2c0ce3aebaa7f054e5c8afc4942da442b3cf91dfd089e0a821992c041443f5db752c0508176ca072ca3913e0c3a78b062efc6726b9095a8f7bc019388455e2c08dc8fa3432b18036d7fbb80de24432bd8fdd75391e75eac17e72ec7069c3c12a2c0ce3aebaa7f054e5c8afc4942da442b3cf91dfd089e0a821992c041443f5db752c0508176ca05aff41b717f436811dadc46b839294f9fef033ec67d0caff65f45dee01dc31e05aff41b717f436811dadc46b839294f9fef033ec67d0caff65f45dee01dc31e05d58f81d0667cc5dafcfb09fa755e865332743b43752a653a4332540c6ede9403fc0dc82bca27e3f6777647ff56d720e78ea2f93e096659196c75322afb40680271dea9dc650805863f2f154fcf3255802db1af825e29d36eb0b1a2a54133e805d58f81d0667cc5dafcfb09fa755e865332743b43752a653a4332540c6ede9401058624a923d2971a70217fb8995c20971bb58c40af744f35f3fa0fb57eae2a01058624a923d2971a70217fb8995c20971bb58c40af744f35f3fa0fb57eae2a03fc0dc82bca27e3f6777647ff56d720e78ea2f93e096659196c75322afb4068014bdbda8978bc9d552efa14b36084d9fa21176178d729f7e5a9b7e15df77b01076ab478cd550e58a548b7068d71ae7edcaa18fce68e1eef463d971b0176994f076ab478cd550e58a548b7068d71ae7edcaa18fce68e1eef463d971b0176994f020cd02ed7b9adee8109f0952cbdbc072821188fdb838400b7d51ea47d0f9f3c03e20e8c423b578c0a7b965c3af7cd5f40c58714feaff187ef3b2b44dffd5ede02683fb062c2d67e3001000e08a7d52e5281e3fae61dae38cc31d7b0ea76276100bee55f2349f3a1724a3788b91dbe437c5894a94e952510239d2e89956d3f4c0537e6c31dd447aca4e81282d2be7106557cc7c81ecde57e9e30b1ab8c25909100a9fd454a1132b8b5e0b4b3bb2341d32446ba3a4129182949a96a45f9c2085200248cbaed9e720be34bd41e619a8a2c623f94086036d7ead89f22d014b0aae9000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71504e5f2e50ed4027034d661a86e785a8a8f42df3380cbc71cd8045ecf915aa4b803b558ffa78f22252979c0993b42873b234754dec4c64afe1888f99d1f40065603fef0f405fbe90cf04734d62db04192eb0b8ea6791df70357c8ebf74bcd14c8075c54a339b6145c3ec3234ab7bab59a9e5e50ea035ace877e718c3af9323954035ac21d190426acecc0a8e130d80717b19a548a7b2d3178085b92c4a3110d5b01897b49340eb3048bda830ec6256568dd9e9732f9b2b9695f46447a105e917801270d17c91920f6ad8d51c3f2d24aa5e06469b9b4facca4779c56cc6110aa9c005950ad7158359786ab660305ada248245163c041a19c5bc760ec0e4534e18a006e29cfe1e2945ceb59bcce56ccd67574b0da6d5c595bf8607319b3fbb1b23b0271dea9dc650805863f2f154fcf3255802db1af825e29d36eb0b1a2a54133e80153038d7427863447d08216b191e6fd1792c74820de72c15791546fce1c33e60153038d7427863447d08216b191e6fd1792c74820de72c15791546fce1c33e6014bdbda8978bc9d552efa14b36084d9fa21176178d729f7e5a9b7e15df77b0102b35b76f56b8d7a8c3e6c2204845968680c3d0e64b28525ba2d818f9ff6e10c020cd02ed7b9adee8109f0952cbdbc072821188fdb838400b7d51ea47d0f9f3c01e8b37082d155dcde64d40affe0ed980cdfd49eadc5d8f631fddd542016c6540623057ef8b4e5990fda34c8e31286e6f5ed500ba029e101531ca6e2b77d9c09051c39d6df3ec7f0916203c1ba05c56fff2b234c47ddb8d3917b8f0f477db63b000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d043f0072eefbd56b5e3f45466322405eca185c504bcaa6c4e8080d7cca4e8670001b1da7be929c0e64bc11626e0ab9119b1183aad30d4cbd62611564cc1f4e010708d861f1ddbc0a47278afd1f192ce666f50c3af1600c1b6b49b19c00aa9694072203b2eecac125df058964c42362f8354512bd5d6c4a443b9e62b61ec2a2370708d861f1ddbc0a47278afd1f192ce666f50c3af1600c1b6b49b19c00aa9694072203b2eecac125df058964c42362f8354512bd5d6c4a443b9e62b61ec2a237004cc5cb49b5c682a678c00e2a0239867245a520b038c27463726241dca10fe5076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d202e811fbe55f59427c1e94d801d59d60f8ed9e80533047a36f445ec018882e2900b55a85155c2ee0def7b0e9f80002ac5a76512f6392b8b2e2addae210710e0901c5ca5357cb8cbee72d3df88a73a59ec25a2e055cf8c6bf60dd85d182d698c007d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94054c5f04b6b65e041dcb44689ca0dd556c03b65f5023f3d5d90f309eb42745cf00e4209589d0e4725b9e91095da7a1b5b9f0f96650a23e11c80cecf4d683b5a00723ceafe2d9fe0f924cf7f3c20970a6806691403e214b3bc8a2e5ebd87817f907ea978554dd741cfe59cc1b047565958c9ce1c146af47fde39ca17989f6725101f5152bdcb11373c0183a85670a32c5641e87daf2000a405346f8b8c55bda180146bf1b164d294b97eeca2794d0774bb77c40710a9aac9c04e099fcbc8787a204808f8df17f0ea478dc6ea425bed40a9e13a3caf19a737a52d5d2e3b05cc7d201ed8444efe0bf40a36dfef9faca38033dca1892300a009f4799a334083726b1032e279a8219f942de74072ee9751afecaf13c03960648ae68872e8b9ee18a3403b0bd97279e0c5c295f268aa89720fb604fc2fa05ad1b4621175c155b8411110478f5bdf083f6611a3ed89b963a1c37cc556072d4e6559ac6d2c92235850b7901ee5b076dc787bc97c78993baa5a905a026ce9234cfa21d34f6fd4eb3449d59051ae1f40232c0e9fc59324ebc1c13ca978ef2cb46f7e81b0f309a54ef6c58390779d9d48cbb243ef7669d8a0f9393af66318ffcb85323d628805e07e45a417601225ad0e7b45f2ee0a07c8403273d67253dbe0847bc855c3eac2a13ad8695830106792ca92cad53a99fbc9a6c74202ff39940fb8d789404fba8fe2aca3bcf7d0479c2ac3e1c92e74f3c108cee6bf813a238907a05c2c3d81d83ab131220da4b00690d8dd1b552c19c187c35715a8cbb09dab26405fe58fe2683a76226bb2357065059e9fcb4d0eb59bdd6d0ed855c82a8f6adf90854bf8a04ac98a7635467ee03164bb51c55887ab460790195353a3fdeee511785fcab117b6bcb918ffa8d9900ab0d07a1538231abee8d6c82cdeca43b1874289398fb249f42595bf8d3bdce015659a14aa84bf3eb9f1cab637ba2c96a1604d4c7556fabdec1a2e3f3a407a302a10ebbb306b69d4cb658582450e85c3756a1de6eafaac553fa1077b5e0f8660701dd4d0eae7ca3baff38f7e7422f965659570782d4f7d765003e30caca8ff204d55d813838808fe6e923f4fb03f1b219796e2a194efbae051bb79ad39a3be80258ad3c49c25a1ef5b681e6e70f09e048b171f503c95162481e3802700b994207ed729e1ec7a1daf7be09f2a782e1742785d7ff9e720ea81513a071b911cfd206d7d004b5bd9eb334a750f49df0eba48029b2208a514ef431041f61ee6f05fd024499d8d8697d86c3cee8e60c6718fc34c7c4a2172236594c8c07a659dc60c0030cdfc7831b9362b447e930f20cbc03cf48d5fc9ab16b06153d70b05bd2642b072b44729a90d221df55326fd2011fb0e34c36f939193eca6f74ed9bf7d8086c05a9c79b5aab1bc49dbdd4d0c8da27e0595c1fe44a92828ca63f2d31616940c102d8a2457f0a0ff99ca29756ee966f919148137c8c98baa1915081355e57bd6b06f244f04e7366c432cc388f12c1e8a024d2d444d91abc9f4d53eb801ea504b5033609329ce1d9f8baafd3418a753801cdda4e78e62a1abe6e45f1c8f2e85bd801a2deffaa080c18df1e3a93ce38b189af2dcac55fb30e41f2dab4f28cb18695031c24ce5468c546bdd3f9656bfa7c488b00a20d3ae47c5032c2271bc0eac805020c04d249f49d2f68d7c1f79b7293be32e3dbe52c179ccc2586d4094e20f2f3008049e0c6ef8c705fe2770e04c89539091db2ce3d58984878e9ca836337858d00d07cc3b9945903b8bf16c9b027c3cbaf8e62c6ba65b39ead846df51fea2ba10239693ccd4b125d03a731666c466fc1dfaf65abc6fdabdef3bbb5f9b7813608076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d07d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9403e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d07d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d207d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f9407d5f6c2b07f0b006e3cf5df3c1887eee5982bc71705cbe7a1f2159a22128f94000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d203e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa715000c751d8f0b7a3eb637c7fa17b845dae19184edd0e42d300b764c88408fa71503e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d03e8903e5a5d388b913f18a8a7df4b554f9cf64f16b09c31cbbfeded4fd2f60d076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2076ca91a9db120b3e07844d11e36400933296f69bc6fc3674a0a26aab7e322d2054bd9d773136b5ad1341fa750ec0954c0435dfcaaff115e6413338e83d3174806cc8055b2ac28fed01cf367ae821a8b2ec3d78400ba3321b8f01c9a80bb4bba02cbcd62ef35b748d5a918dcf76616c6caf36d1713d238a518e27bd447fcd7b1018090f550aaf6b525148871beb4325a0f988a2385a269e2aaedf9e990181e0007d5741dc7a70d2d7f21397bd07446f5acd72192e9e2a1a79df13811b0e1e00901c9ffd973ad1b85699acd922822b95bbad5a299ecd9c688649914d4b3906e5f04d1caa33a19efe0216aa7d8861c38ca4ef520dc0c60963a364f9d03929e4e6e05e7c34a89f2c22e0f311eb73dccd3363dfab5e79aab1e01c74c3b76977c9d26043b33097e6107fc8dfc43f36b1729735cbf6f713eef1d42d6eeafd61dbca68a0631257a67ddcaeeaff22e6f7eeb363d4662980bb5e8292ff444f0f032016c3105fa119001ce4b29869cf8f228c24525a6e79187b44786e3522dc9a3185d7b6d077926f27a26f2857e861cc872af7bb919cb727f065459b8b0ad6bf001977c6506ab60a52f628dcbd92d25b14344203be7ac2323e457b7f7733aff14ee4d811305443665de02c03cb4c9c549842a0100b2e3affa8ba9048b871a365f290fcdec03282d0a5e9addefcd2396f954fd13d732d48e8e4f3c1aeb1e72d05972cac30205e0bd4a1f3ec9a347aa100094c53a6d12a8424900f2077144549f94897a5b4f040956ca097f81d25cdc51c93b2ed6c9f1c84524cc91548348cfc24167cc03ac01558419cb6bd7845bc5317796cbbd72ed38c78a4c7ded8613bea485586dbfe0005e132bbff75f5a69f2adc75271dd4a925662e33c3f2e719348548492454f2803e7f14a0c85d85b234a789e8b225b246345c982c218ab36963a7eaef1cabf3b0331fc19804bd74da7726a8291bb6af8c596a50ff61da98600a8b20361e65a2303e959fd0793163ad0f252c8fc253664ed779010f875cb91dd57318876cd2d7b05c254a9f53601b6fd96ceed3a1db06a4139c88daeca1bcbeeb0d6124de1909e01d2834d4cda876a32092d56147ef7fcf2ec691f391989889c04579c21722e530668978071fa867ddbc360a0987e448003fc49abeac10f44e9a1a5ecf2c0d84707e486e3b23d75af9f2fe44b0039a281dc81afb2a3aae89b632c62c47cbc2fd806525661416622613b14d81b6116c58c58d27cc70f47e84a93f4daabebfb549c07fc71146a74645d4a908ecdc29f4ba0124e6f171e63a79a5402aa9fffce8e0705c4ecbfbb4e3c8af715c48e66383ab3eb50fb56696a2b2aa470c6f054be266805ebe15a05f70ccaa94f7b0f402cd794957c8f805830677a33089a9a6440686d0201eae76c13d009f90d3a9c8bb19bbfff6a9f79d766711b122e4f6065c6cb81058dddc4b16c3cc6f820bfc022006750d21e83c60659e291f6e1522d2d7ed544076877768ca3938d8156cbe9721f657b9580d5765fcf927999a915d49fc7f332025c544ca75320518d470e29d231496fab84e12fca50dad925535f2d6f8627ad05bc4ae1ede4a0e5d27c2c5d700a854ca2faa7df816004f213ccb8241db343dd0249646285a37f0a45fa7fa98755b1d414de9ffaab9ed8e3f10a4c7a87584dd504f62f43f591324d3fdc41126be1d53d026143e0e2ee5c245192a3eebdc9ffe506eb635c646274b8b7820ad3a87d6c994bbebb32a437fff43812eb3d9048888206fcbb0baae308c81f50358f2bbf8c5630677b00a5ff0f089bdddefff558809b05e5a0c2e385763de767fc06d9c69cfea3d29ad1d584e11d008a5ac22e8eb13706a7a2c5646254df514da1baf35dc943e7bed526a92519e8f70bea539136e00f03a3022e1b57d378944c17701aad1febfaed250185976eded70b92e02d34c17807429c5bd943805580fcdefc948927937019fa2efeaadcdf0874ce7ff708038901c1c5182dd7093e7e1683a8225ac2e70f5ebb8b0a984307304f382cdbcb07cc009fa533dd9125a11a3bebb961f3316f18597ea23c3dce4968978f222888a9a707f1f5dada20aebdb530e329fa34d65d15315d9bbedf25f11dbd5224ec71cd17068997799698de66d953c67924096f04c54aeea5a456be85145b556e787a5a5503e971f8a6e1a5730b619e98f016b00a70d2772c6842e3d1c46feb90b37a270c0736744f047a118562396523d6ff23a64065948317c421a80ccc20e667076a2d04ffe873b2d766dd5a45888a573d89c9858a48feb18ad98ab0e42696da53d31d0594170c682061b613893c568c09501b0a7c18c14addde30f3131ba3820436c1043658a91bbb260a5b12550392862a5637e568de1532f87cc12c0b4baf437594073b1e8a625f8cb4d2650c0224b7bd69b6eae928b243a91475aa6287998bd51907826a2cfefb331b55ad7892730214f93e517c6db65f76ec3cd555d5abf513a4079d99143c29ac1e2b276dc8f78c06297f9b2cecbbf1e025c125e12090753cf7024f988bba5ac47e3f82845ee7db60b64e16d45030e521752152b34d13f6814a07f13bef1bd2e94a2b853e9e7e5ea67af89977c8bd0aa811f172bb05fc0571c9030a16e5bf3f592642da6fe126f122ce15be839b538b090f17db91eb91a2141001d1b577beac192015243e75194146fdeb2a027d86282acd2c77d4b8c94fc68a0450006c569204d3bbe05e1eb3556958637568691d203069af8c7ba4742ac71307d1e0d50ab9348228d8f3f2296beed1e2b427b9005115b630c50e739d430eff06542393429d3a292ffca6163dd4c6d566e4a71111938ac44f8ee90de033276404f15c457c08642c567f85081389dbbafd6fa37c227124728ceaa70e102bf14607fa6f3131012c8b6a01d5a92e107d928758a242354ba34b4a951d4ed8710708007ffa38fcbf3a015eadbbef8d7cb9e34337bc3c36b4c2960b15a601534122210186dff8dd60153719bc52c203ccea94f01c1e9b53b0978a308036e5672a5cb105a0f60edd2a9451563b9368a48b128c49df7c4fa70230d468b9675aba39ed75031e9744394b3c60ae2ae058533e16944ebc6f2190f50cbbeff16cae15767d9c0646147f2e06a117cde8906f7658c8f5b7ad8b32480885a072268fb7ac9612a206f52aba561c4e805c6d93fc2fe172eaa6e01bcf71c7a8619ee8b3dc91bb697f047fc720039d576fb921f7dbbc6322a113fcceb7ecd6675f36bfb91c765c355d00239afb874780ebc139e3752380f752331c337620b4fa28628436f610a5ec3e06d4bd3c7e9ec65e3a6382ea4d81d1d181e0f2174b9b6e6c07a71a10545ddef702f2ba4511e11aa84500b63ca3a9d7228aac2c2764756a38e5094af35e335b5b027534fb89e88791488f17607e9192b321939b14fce4a8c57efbd19c168232ef027d825e3b1399aa029aadf93762f669e308699fb90411fdd8b4d60f58cf18d5039d0f46b50a2db6c2a15ad03d60dcc40a1825c6cdb74bc2c77f413d92fec232060d56a00bb016ad7c7a591d87930d39bb5070f6274c04d5730b14d71ff20964000000000000000000000000000000000000000000000000000000022ad3717e02f4db93c301f29eff7d5266fd6aa74d55b3ce56759acec0f6053a602d07ae9d06da0b4f32d2fbb8247ddccc200d2cae3179f0670981ffce5874f5a471d38e7d0034cc044e353f09284be9f647f5507a226b40b2a749bee1e661d122069afbbe01e3be3434a51fb3b33cc360c5ba44463e16e1f275595606c66fb05a7added7902a51ea6cc8543defe30925f248c2c68a0a4de4e98fe070e9ad352313c76ee7a001131152d404c32481098a5ae9680a265ed27d4c59d398047ff0ee619c84220008a089479cfbf1ca65c194e982bbab76500a4c048f7652ab7d902fc29aae50b00e302a920c4ec517c562d3b2992b222d0cef8c8916fe69fc131887ccd4288e2026b93a7ce2f6dc432573ff595914fca224cc2c82cf455b4e62e7e84897cb8c9057a40d45598c43cd8abca0ab913f0276b4c61f4c1d5cfb18a55ec5ad273f58703bcb02b16b1068ffb5f3abdaf3ed92132bb3378ee1d6a56f4b793ed604d770a026a1e118a5ea8d158b4d82f766b9596200238047e1d513cee2b224cd014b07301d9c86433ffefaafeed95e37b10952d7f001b4c8ee8f35d0339b5daa756f065076a9674b9e71d9b785f3673b46bc5e0aed7756564937e7abe5f8df43dab69d00123b3be3cebc394044d261412418a27a7012a7c3c1f90e3d249aae6704039f00373c347f979a135adf15111d12984575196e4d5d31d49a124d51ba3dd9057ea040f4af9dbff3e7f864f3c49f6048bcbaa4b459acd886855f7077dfaac7fafc207a52b3ca477f58a09caf21c5d242e03f81507ef255fec9ad0ae1a0114cecc69071ac8a430a74a534a4dee9e58271459a9eab327411685d116397c46c14ef715012803ca5299a3836568fbe5a7df7ef894b12614be2362148d13e45ae1be7eb206d0e25b48a9f93dfe0c060dcd71e70fcb1913562674674a134020532efa632701f7b5d25cc09a9638f8e7f99b1637a4f59a51d3c5bdac1552a2ba42b3f4471703034774057fe7356bd606ccaabea58a5d4e622e3eca60f937d7468f2912d5a20459876f3c91adfd729cc8f6dff888932795d2562852e6eca4327f2831793c1b02faae8038dcd7846774dcbc2d6540900452560c65caaeca73a32da2a930f4eb07acda5561f85fd12782f0e29bd522241e3555d3654d17ca1e5fae1b9107b6bc01151d6b0f83c11460adbb4f2e3fdff0913fdd5dcd45982dc5217ba4651cb7c504785e5f2a13107da49c6ea575a812b0ba0e36a7692a1c3956ba10f996c8a70c0293d4798edef002183975cf8adfc27b2bef455aa5f826583b569b08f415625a012560bfcaf0bfce53a46447bcfaabbee420a0d3e09c167e669a0de19358f42207388c689705413a9de494d05c1e76f264e73c8c950d4083c687c5c64bbb999905a31a9f72ff53d862676c102f0cd4caed539a65ae1480c78ef89860e86294390449209e8799469f79b74ea5cce6eda8057238450658036ab999370bbc92e43503a6048ac777142541255804afdd69d19613144c38424f712ec1f7b48c8068c30599ae831d9d1daee92f8e41949bf2101f7b6f8cab2963bc3d08111e16c395d90026d57ab8f5580b061ee08f18967cb0d0daec80c0901b5bd6bf3e148cf8a8fc03f110b8203dfb7af73696415075ad44f70c6a293edbbe8580b43276a3b82baa05d031d4aff7d8d1e3552cfee61fa839e6b90d4fbb27251f5c367a3a4d5e2b290333a56eeddd307a0bf80edc53422c81f81cc9cf14244486c49ad042f82d906c0405ba6a44d0c75cdecba73ac68548b347522994986029c067b14299ea896c2707107dc39cbc26d71c9c354540bafe56148e9543199f0945e2a9b9ae31b129d30381324a149d075b09fdb9e1567d10070c00aab742d075ab2454e622e1d0c0da06bfbb61207bf7aabf661965ff8a44be066edea4a51f3eacfa7f4a926e9d2cbc04ab81c94cef89f3853f8bf4a2d178eef15106505becc64f19f1015ab1ef6396033c215f1444eeec13366d610b6c94d5181cbf3787221811ca7048d2de4c2dd5036340affd6eae26dffc5a047f3248c2de40b2556256ff20e7148181a7c1a1c901ba658cc93b1b4aeecc8e2069cde9655ecd1754e9aaac60387429c3bd5fe41b0352b5979eb25ff64a1425204f919ef93e2338087c3aae6b5a554a46a6036ab0019c2c4d0ee0c6db1657ef52eb02d1e3cc2b8044ba05a4c07d2745582dda41460026ca2edb3ef4f2ef9d6528611186e9fff38cfd7ba140d919c20fabe1f027a604ffed0e48aa828967ea06591fd31bb3ebc2aee0fe22c7d2bdadae730b6a498b031a033435a8edf00e9ebc87e2aaa1d315bf93c304ea95d5ad27f714098e032302063589610993d9fafef25a28e110e9e262f889060f1ed0c35bb34ffb9b2c62040ba050c50e770b8d3b8c1fc8c67939735180d8bed70310ffa3571265c46c9e04ebd6bd48c739dcc2605e9504dadec98f1540053ea5b37f7874d2ad734b62ad01dcafb91041438192b3a30d10126bae44786c1e615b2871159cd4fa5bb701bb078bb7430034749c427aee7b5fedb021aef59238f79394f847b1cebb8f07cf4d06d7a21736529fe51525c7e82a6c8383a77beef69538bc20c2772b3a1c6fb1a1020df9e35fdd775ea0bea8e24fae81113301c6a2a50070c8253e1f1748d1b73d019675f477c5414bc799969f6d54266e4d88264dfe610ca9e2e80005e66c23c503c6ba746282b061e906a79fc3859eb93f84383f0234e99f6b036775935d227d0781324f3ceb84d72538bf310ddc1c1064ddf0d718cf96267e55a0045b0b4431047ef1dc422342eef5216388a64898af1fc25c8b0204a8929c4f51ba49ad991a066bfdca24e51adec6beaaef592a2e85766c04b3679f1c744ae737c883319170042fff878720b9b1917d0d16b430e04c7b759f2629495331a0bad35496db7e4204113997eb299016e4fa180603a1ec1c0644902f481a8ea8a86427d406eb580d006a6f4a17eb25c1ed1425ef2fb2243fa4e6a7da225a9054e581975831202ed40067c13bae62ae74638f6f5b05bbe0dc489f666a98893f3d62869061d85701210309e9656b2bb96bd5decb84a227ff83e2831d9ce7b035cdd2315501a3446e19065a5bc594702cdc533154ec467b686ff637eb11e2b452b1143158a0e9ed6354000aa79a7d381921ef9a501242de7c76f5fdb8076905108bd7d4757f1a4a06cc00ec21ba9f5a142b3169d732a1686e96579adc43a9cb6073cc9f0610dd1b4c7e0464dbe4270cdfb6a8be40e6fa20f75d14a40223fab2c50aa51083461555c3490496241be5bf5c597f5ce19467f52d1fbf55331894388e979b40ef222e2879a1038001d0f8851697ac98bb655e537bb9cad9e270a48a97acd61ca91fd2bcfb3b041d19618f19d6abc0dc0b109fdb672a6bb5ea2af35330196885096a66ece23504f1bbaecd7720366dc5c979f64dae12657b0bd8f3ffc927f63743e42aa115e9004dedca247b2b3ac25912d59ad0f58d3dc7de74129b5d7e7f44e564d63c4d99077cf6df0f8a69967da128b31c3d344d8be6c379407a69eb6e48b91585c13c3505767d2069bde3181739c81a7ff9e83a903aa023c09d6e884b89384ed875186000450f961e1b3629f51649e1e3d4559e3a4ba48c739c38d0176eb0107b2091b205793788ef3e15859a5734cf708e49f97346dd6fffc4038d6f26fdcfc5c1603e07dce76e6a34590f378f6ddd053ae89c1b2e0ff658b86df36191f7ae133286ee03fada6cfee720b570f095ea4ab60fec7d7cca29fd01931232cc367e95894ca3039ecf6319dfdbfff0fe415201e80a49c5a5411529f9b1daea29113b25673a0f01da0a3c039a2849d25c31814888d6573099d60c0cf49f6d34ae1cf242d010ac004e07ed603a136163cbe4b577445b77462f6f99b4d65b00cada5e929a0c88de02c05403c170202e9431951ea116c9b970a0d0a65c9ba167b45a6d25f4e4eb4a006ddfa5e95595491f01a7ac135c8f81e92a1955643f748514470eee20bf87cd06d198d267381ad5a9d86e9259a2e64877aaaea08a14e9cdfb76f7bee9246c8004caae4f8001cd607306c9bb5afd152c00132c7f33806b025d12bad00fb72a1605eabdaf97a42ef604f7f40d8da114968187ad4811ffcbc5daa56a27e755eec3049ab1e905aeb9118c3104f87b2476a6702810380e1b8d7a1168d935fa3ab137074baeccac432c6d789292e817faec6ac298c175b1f70cbde5cbf6642d421051047f388612f37ae35ed4f91b695d3e3f3c5c34cf35e8ee85c3d22d603d6dfaee00d66a27a6b42117ef4c0eab4dfe898eecf2bc5a849eeee393d6be4263d5c0d504faa20d4bf133e3cb753a6edf9fe9902b2f44cae9cc7b973b1829cce83b164d067579b37aa49ae31e950b068dcbb812940508007496add6ef15b1a93e751dc104520f256ae3ececc9c4e3eeb55b9cea55b856f6ba86d2f3ae0107e22f0cb2dd05433a7380109c8bc33df2f86ac0f5cda157bb821b88b09a83fa2ebca21ca65004df4b2d3e77af3e17359a84c59891f4d1c90aa30ab193e3cb0997cc966568b602f5a3abb4693901fdec59f1485d67499febca1bad5d0d8be8f13f8ac7565646054cdfe3c100af55249cb20674754d4f1e20d30f6b295620531cb43b2564162705c6842d88cc1db53c2d9e0056c0f9f70615aa41dc63da202b6163dabd11ba780731163c3129e66c0ea382980924e1f58e67304723b148d94e54d6b700fc96650084e595f938c202698929cc505bc42940328941151ac13f2c4ed5b6466276180079324632142ca8a5549846342fb5be9c942c7486c3ca9be157ad62222b3bf5027cf724293166e8efb9566441227d1ceca656ed7c92aa1a4546dd9584074ed607cdd94219574b3fb6881386b1e3d6d2867be13d1ca63efdea5825c858e73a99031712a68a2bafd6c479014ba7afdf82fa0d30d12fbe6e4bbefc8d26203d5f10077782d1ae6e79723caefd7446c6bda0b904055a4ee6f2bbc781f7217c7a89f400f83adbdd5f8d4481c6404eba31e6541e7afb5adaab8c39b2c7d36cef18fd4e001e4adfa3641c7ce02145db1eb4bce22831d2c43ef0e20d914d5a6510c7d94900a1c32e45219a511c1178a0846e6106fe60a78e87e763624b7d023027ebf4ad00b288584f762aa752200cf44d81af3d019866c13e270fb982894ee6e0e63cba06ab804809fa0eb05aa538195cd4debdc715a889f6c24d3583a527fd725fbd5f0669f4bee8f2518e060e624f55208b0264208a8d97989607d5b7210fafde95b000bd3b3c78de01b276c4d27951437e5e44f5266a19517806d4ed3fea26edb1700047561a921024c09f6b268487f40113c79ec1badadf671e9ea1ebead16450060235491a59ee406827cadf482cc31a6d0b9a9b32dfd1bf57023b7abce8e654600489374c83c1d0a8cfa6939ea85d80ce8935ff8d059afb75fa37f3bd3357ab7c055111c8aee3479d93dffcfdd6102ff8223d92a4f9cfd3aa476da0561d28489301f2a5328dadc58fe3bc02ead7d2b98d5a9a09b7906fd2a344f50edd50b840880005add6c39046ffbd6f1fb1fdcf37cd85d6867fca867a657997965c979706f80189b3cb6629a83691aec96f35f66a7951cf38f8bba83c97b6e2070fcece9d9601bcaba65e92b6a07a998670d3f42262b606390504e0e1d6b2474f3cb9b6fa1404cd70ff8d4304fb405342ee15447b5c80ec7987c608cd4b76187d0df8f662b20732652f1dd3b0d82533db0532b74ef54f8acdfe57cd2274b175abce0f7d0d6e01c5bea95f49f484b1d07614a9d8b61ca305ba03ccde11dabab3e3beecb5c16601985a7f41441de81312ce6fef99cd3d255f9b1fe8c777c272d50d4de8eceb4905d160fd9078b52e57e832a7fc4546b9f497ae7ec7e79b948693af2fb27d99d807a474bc029877a19c4c177d0bdab3ea8792773bcea9b29302f06cdf755de1e1065ace76933009c87cb5c7812500e9701a5dc3af27872db2e222a6c4ed973cbc035dfd9c4e71e7b342e3a3fd40d1efd7f7cb73e98f41b9ef548857c790785aad0526a4a21871c83fccdee3c96724ddd66eeb65d70dc46e4a405fcc0c9c1e24ad028b613f1d2f388c00a4e3b67c6d09b5f8c3a36ce0fb076e0366fe5a14e0518d078c6ce9dbdf503e21c14b3ec59aa5e78a24f36232b705e1fcfbd710d13e9d5d0506232aed9b3770b8db919330881e8d0bd33327c9821cf06c34f1fcf3a7f69b0765861bebb7932843e8fbdd7542f3bf32d7267ae9445f507c1fce94301c541007dea0dacddccc80dbfb64ae7efd2c680d22d03b20d132bd03cabcda63952d13066948bef56de1e054a4e8c3fd19419f649b262c68c561ff259da16f79312068063f33d39d91c7d52ae95189e97131ec0345a1c9e61607cc691d9652033eab7900ceb8be4736f825f9d8cd41c4f1ca6ba2fcfb3938b5d9287c5bdc539b53464407aa5c6038a57fbf34c03eec4d6463121f90911693a7a48b9e8f851686b2836c07a644c9a62df8b131219c082999391738858ec257d9d3b22a9730b34334cbf905049c0d5975928354de031adfae1483c3aa66d8739782127177f6bc7cf3729402b9b07e666e29c0ae65a83adbc2573904504f8451bd4e97b70852e08d952ac901f36926fdbf0d35288b6c094c4bee5dc7b746c8c7dd4e26ac18630f9d209bef07fc05a9c93218921ff83628b6affed2c5f59bca3536d50c3061be04881d731907c681b1e40fac97b0bc400783db6e4f4af1ba8871192c01b95ec540e005db4e07de3c7c93274ba733fb5c608b568d26ea168c8967e5c94f4e1bd9124c179fbf0264cd209865fd567cd2f0bd001dbbaa89451b701e5cd21a9e90e8b4273a020f02ddc471efb8e4d2b41e615aa86962394e093ac50ad7686faffa478dc68e6bce01a0d3137a04a3204ceb5f0c5d741177ec31b6d6818466961f8ca1502a3d498800c3244f28c102955c2d64086667a19b4e65293ccd0fc9b5b75a235206b0e4690658c1082eeaca4a1f38dad2b414e1666cdd47143a939d3e3ca877279139d89102a87c7ea1eb41d9e24aed5824063939354f5b47897095f80eeaee60ef783fa6015874e3e8bff2cfbac531dea703e18cd71f66e5c8822eff1ac64c9fc6c4ce4b06edf5a281bc71318f6d0ff1fce12d22e4db918abd81b0af42f411ccfbcb4ca902b0ee174e2bc8bd7350187e5610e2989b8ca0232aeaf3417d1076e4d995dd2c03f9b6816e98b108ae61ac76925be07b35e0dea20efc92c46b4c5a94cd85b21804ced743456bff547ce554c4a613c2b0750b6f71279ffd7469ba047d72a6629701fc82d3093dfc58bd4d9e6f46e2b3ca6f08a88a9f8f7b0191cb1491c54a74d702bf1622f184a9ea0fe0bcf794625762d0c67b1714a983d65806813708e2d7c2026b83f091c398569f03cd3104d621b73f5114bdad6e20fdf8c58de0296b1c3601c9c412bd68e4cd214e45aa25cac941dff14476a821d2382d20776153d437e801c0774ce385f5d00dc6349011ce63d30d099c126d3dced3b726c484d22af5e5058f15385fd3a5e20a0311ef51920dd51689aa7e256adf62713442f0c4d1807b00c23c307b9aa830604cd0f8703049e5767dcac5e3f94b6815c90c368edb433c05c21aee80f4d905637913793f7887e6afe0d58d2e1091b4ac85f6d5300b499300a8004a9507029b2e21c47a24eae70d1b6d4e021110a5bfb3ae435189d2db7905eaf2557651507a2ba93f707f2bd7ca1c32f640fb10cc45439efaa3b6be54dc029a23e70362422c27e6320d9325008bebd53b7f22ca2a7d1f0a6cd713d28aeb05346e3cb97e2ef95619c364d90f0c66db0bc18bb31711ade988cf9d3e3833ae0709862f2c498b12b7dd5fce7c0672511458f97aaed8cb744adab53a32ee450406afd152feffc16659456cce4ab068ff22aab7e95c4671fe96b62194ba4b99ae01556a2c37da0f0d75d2a2ccecb683ab8efc90510a76deb87e9cc026c7e8d9ea01127d29c525abfa1e036e7671471551ac25dec0c532782402ac00a0fe41f12f008ee82772743d10c62d7f6ec889438588815f7e2f59d682bdfcd847ad0b436a07b6fce7dc1ecda0bd64623f84f4459846aedb536c7d52d9540fe7a883f89ea905f55876a2da526792cd45c333f46c00961766bfcc79cb04f876d46ca3cbdae80298dedddd528314d1cd4b947d4c77266befff7e0d1d3592e00e7a41b3fc64c60251fc06596673c704f202f117b8ba812a725dc2ef1d36bd73a4f00945c43fc903e6fcfbd43f1544a071801b3ec678c66b4911e77f42239b8a3d71b39d30d08b05884da7dcc76b87df8ad6a83beb0a42de098e5c0a4f079c6de42cc0ee72af7d06081893d4bd162f97de22378c3251f1a032f643f1f403fcf2c08a0e3c5d7d8c020bbbcede27f5163d94be69033ae16be95b4e47424d1054ef88a7b11ca00d0602fff5e60edac5be284aea97cfcd17700c1a24d650cb9ecad3f295b45d861ad805f4697749099c4838ab64598ac86742957d38b310ef0640608e5dc895ee7ac2074cfac608907fb5999255d6d73b882e8c1ee9cc79a174c3c134326a49485dc803db66091ec889e374a564dbc16039c24cafe8867b7a16910a96c2d38407c1730384f3844661b1d681a637bed6cc9ecb47bb6a112ae22a3906742f960a0a0759051f9170250c627ff78fddc441718f2b74b13f4bc8f99b86c3783812b52eb7c307b933cb2f516bfdf627073eee9b3b516e9ba49e410922d89e2dce556bccf1a30417c3e723afa227db8e87c79a610ff2487f863a0f0756eaab2d89b8295fec6c013dda5c29085c0a0e893ec78f4cecf85fe992d2ee07f8a2967310a1acca8f7e01cd6e85ad133b86a4969185f05dea643dbabd899b619f97c81323046b57539c077919907d426d7cea5591846c8fbb50c90b15aef2859413bb6ed1e1d0ce4ea60286377b020bf3c50be798a08c2a1bccf50909d5618a9483a23c8ede7eb969d9046f29c901ed51191224c1b3602aaeea23e92286cf1be729b013b4ae8215d48d01770cf7af5cd484eeccb24a8aa71d5a9b536d847b829091b8d3a8f0b81de6ab049fa820c86aef56c00d45edfbfc04fa23fd862515e2950d545557cdc0d16690017960783170b22fa84f5213cf3319cdb18f5500051a5b15fb978771c83dae3c0518e91d3cbaf85f937e0b7f6833a036a9e74b609301d2b63b5cb1462901b1b905bac9014493d3e3d38e04667a4fee6f8295c3049026d69a1bf22e88330828a4062f4e32cb8fe32f40fca809806557056d522f248974da659414b1f844734d76057dcd0403a4cf0eb76d3f50ed7a9b89b186bb3b8e14af883622a32ad6430921065a0ef29673266134382b0602712ab0d8283f301e4645e2b7a38e6d08a997ad0740eab8b0051112ce07e2f00102adb1f1031dffd842e47c14b0c25533a49287061a0f7712440b5bd62191fa68836ea3a342811f379a8ae61a856933590a76510016dd0ebeba4789836bdb9162c2e7144630de917d2dd7c689bb5a6ce9049d170207ae3311227da2dd072774a43afa8ec7820e25a9c6312faf6634a88ae2093d042449434bed506513bf61d9b4273a0f71df2a9945bc3a89b7c5f6cd458e31f802c55a5cd6ebc234fdf56c900411f0e6f916d8b41c41c356506d7d12d184f5b1059202209f10a2f8984003a57f8dbabb8ab07e92d2847a09f7ca6f55b174ac64061e79d17009806b1c67e9ad0cb50436ccd44a554d1cdd75d0b0f9b965a785fa05bcfcfb7129ce10306f56c3a2768f0bb349f6a3948fafaa5e7547a538d6f35a036e969311f666c2217ace9c6f1b36f0b1afc34fa8554b1f75ee85775d53e59101aa205fbf217c6b8b368d3b7e466e6a489f5f627fc6678ed6d96196dbba6b16074c7ab44631c7a6719d2e48eb54472c81a556f9367ef9276f41abab640f09980010d18a043b0c486510035588d28e878bc996d570d2c04d2a410b51251a22b70384afa4a525c1b825bdb8ecc944f3af41fd297e2a520d5b3a7aafc9c5d34238002867566a1e5eb9bd1c8abd400804e5ddcfd305841a907948b6003efbf3c37703db2edbd517627cc53900de45d5e77a23e8d155e3240acd9a5a0175b16f271d07066ea653975bd189cbc93abe76ae94d90ad9cf0b694b0765c20704613c937b0683d79423e242fd6dcb9166e085026a953c19d5d09ae38d60a74ed712902af90403fbfce9f1a7ac56dbdae0d27b2aa255e8065096272d61435e2dda632b11890772e60cb863bfb2b0cf47a66a6308b95b989a325eb89b678b53f3a6eeb7437a05d7a0937e09a2bcd53f36044d400d119c5710974e4c87f4b9ec5ccd2501cca404e475f3ddbd3633b370a7862d1f08f8f0caa8d7f71b7b999860ef210eadf9a7045f26270397f500aaed63595cfaafbb0966a0e0dcdcee85126c7e926c00512a00a62213446796fe2aa4375179d6552bf391e9a037f3384c94d29f77e989cd8b0672629cc7be8ed8f4a760344797c3420739feab604da33402f8b84d6d2d5e240389d08f06b80f7c52e1bc55e6800615b7b7005681a4a4dcfa19a2ca842a85d704a8dac4974cb9c6dc885688ea92a7d69fa2f7ee9e2d7156f0224536e81502e707e9660feb7a5fc106de95674afc8c385d9b4679bbcabcb2ead826c0daff488d0532b3824857ab1203bfd7bee90fff826e29d558f4968758c311885d1fa824b40041f69efaba6277bf8fac8913842a61756c30802f5eca20182b42f5b2fa256702262ae9a806a7c1ce0e571c778c6b4ccc0daaf0c8430c31760e66d68218ff680003f17fabc0a9449c7004cfc00d47c890b1caaba0335d644e5a331980bf429402536e88d740f2229dd8bb12590e8de2f525ee1831ed3260502870dd1876ff4006efd1936c9cfb27366cafccdb67514eedb358a5061464fabaaf339c902ea9bf07c61e4d0ba25e452a92ca866a6c60a066901abf23eb596ed73ef52e4007d1d200902d38a6850f49e8b829da6d4ee07f5ca00243b51de77a047e3e5f9ca718530448f5a4191f0fe83ef2b0b38992c8507a26272c93281b1cdb4930a0d5d9d7d102fa230dad4bd5064b18a836e4f8bad8642a4dffc8ac9bcd60fd0a49e380266d07b036c047957b8f382be20a3fc5310ef8dcf8b3854d84ff71bb7fb2ca9b2b2602a20367e3c7db5db55a83989f63f4015db27e5f31bb3672fd18f15509714f7106415049b7c08b9090766bb9ce5c88ceeed04df39efa362cf43f1699902a0c870725e00f3b6d50618efd216791f07e4cd881c68471bb6c87ae11f925b4ef1ceb05ada39f8dced8fca75c040a01a7b595983347b842692a4bc0dffdde31d9cc7805f1199d50b28803fa2078075f694661ad5d9466705fc27523d8d40b4821372e00b2772ccf7895603237168556b3d84d04c1e9ad3847e66079d4e2a785f3198701d30b184d17816ca76ce712ec6c5df670c061de2b641e2fcad8686178bd9d4804de684b7251da6bacdbafc6a1fb4791772d47a56927117069c826f2227a382d039f0b9352525d523c57507c137e71767cf16a9eab84c662556223edf07c96500629996c7d9596e55fdb3ef6fbec60cb68b074960a5c39908ab905d7f92f7d6e0387315f70e7b83435738438346b19f06a055cb90ee5d155a6d905610faddf9b01499704ca951adf749c39662574db6d1ac6e9af20c5fad316038993943607f4035a1455c0354b9bddfa5403b0d0a6aa533d1d834f64371f3df088484f65d2340460d72889bf64de2cc4fcb0814962e8b6d2f7b0f1187f7ed9d686e26b96f0da0435057e316178f81c6c4211b715ca77e818294548338f1a33bf0e2401c36184054b670891e955d03be4fa13350337923dbacff289981ee737a9fa5e9053bf8d01b24f8b81c9cee100a57d9c67c7a9ebc64a3a6f16de8a8062946286f7edc0eb0539b6673d7f7a7bd454bdb38428bb7b49909dfc9cab4552fc89210d153d59ca068ac7f739a1a20963bee035a4470fd0146c54d96ae708d0746b1a753f85fdc8037b035dd995a50662da133910ae2cae8c1951dc94520f95c13a67470fa6344f07b60918324660e1242a3ff2329b90c9653e29bcf31e6fe09b68302ab99876b90506fe87062d9a2a842a44616b8a769bf3d13497edd587c3fd6e0c25de6bc5f8015abf623723414242a5fbe69889b014664ad2d1617b52044dc8c04885c9aa1a0725edc13ff6c31ec734e659f66e1bc6849ff3fc963eb96b6fd9d9cfb5f690ed06d6b2a930a5efd1658e8221cc954f0876da467db573925f2992023627dd383b053442c715c84900361e2f9b1fcbd8210400d3d1aaa9a59bc61d2aee455dd194004eaa7638c239cf8500bc9a8a1a0b6e7241c4784d68d30de984562a203fa88106fc1b29499502540931ff98199b86f0a48bd9d026f29a1c030a04d54cd8a11c0209dd8515508d9f8fa9c402d08f7a5f7fb8c484983c3d2c7f7da35b735635f206d8726423ae8771fccec0a159c9d587d1e3e63e3c01d22b22a6535df8ce58dd05a2519880a4c641cc47a98fb473e0e1e9afdcdf07d13af8572ec125476d6ac900514ce056c24caad7993cfa03ff82138188b32ae4c990c007c92c155d9f32180467d7d7979c58a69fe288af950464d212997018d7f29b0a0419d9c19cfd54e60284318cb674db79c0cbecd6f039bd636210c6500de27cd24e0135363cadedf300474d23be5bdd7d767f2ec3e5faeb999903bbf22d99f1cc0eb508787c2131840098455a9f172bff26d4dd2ac6e7caa3d870b28edf32d6bce96f4804baedfa30035fde680ff11b9bef5f12dbeb0478c1242b6f59f65dba0d31bd6c51ab6746e302017c1b75f57557880bc13675a104da08ed979588c5344dace70c158c40f43300a6edb0688524207378ce50f0ae33bd71b903600eef3d7fe3683460e420fad90061e55da77128823223d35e226d130815518ab784d27156ae30679adc93b60d01e880c8c1f43cac9dab43f607f992704ac4721fe8a583a9e3512b5c7edf69ab03cf3f7f3822f9ab4106023b05b7ca1b40da58f495ef9cc904e9598631eae94307304acad753a66aa91cf9c60e12c57e0de05b452fa4166fcdbe78dd484c4c2f079de989f9ff27a9ac8f658f01ce67a808d93a36f61a4f78e9e40b0ec091a24c03c8423c537b4a1da3e40a4b6de31f8661a1f290675407a0b346a2765ba1478f07ad0143d62b8588e76a0ee0086d98bf8cae6efcfdc07722ca9171e30e2899c00117c660f19287fd937712a713fa890f9dd0d66ae82d6adddc31601e13258f2c049049dc2fa8a9d5416193aae548e8274275c26938a9797f459e87d2fa5a1961069173eca87eab03b6e9d50f0686a01cfcc45a466b3389a4883f261e846f6adf0558b97c8184a823a2ddf43e8cea70f10901767e55c31f743f65469b6d2749de01789abbb1ff05e7b87254989798f6e7a676c191666b0020b39b65bda2e36613038867d99def4d3f639f3af96bfeb5826fe4005db1629ce96bd20fe845f3934c04a36bbe2098e132dabe22fcdcad4648b63fc986a082e55da916156c86412e7b04b489ad3337ba5d02187dc878c87467c37c11ab33cc1a2e24e8a79c2f7ad19f055b8c3ffc3e69dc037dc0f7f3618d44b39443013cc0347878a61b78c22f4fa0076ac6525c7cd58b9b73a4c4e11b194eb1766a35c1907b314f5d45d2b60debc3057827d3997f4d8f5f7a026211c0952c5ef15015ad53dfb75eea7551d29e54d405400358bc86dfb8252eb718285789eb7ebeb1013e4f79b693fb1d7a791c58660450b8f92ed465de6509d0fafeefb542ab6e054a15125e3d1226b1f4bf6cc0990500b9692d4973cbd357906f065817fcd3f3304e923f9fcb1e797f31fddd83fe029d25ceeab9db711f7c9e7d5b43939df39a1941627207c3253483d08c48081b015b2f9cf39bd8761ad6db3b69b47b63bc12eee6a28f88e81eed5a241b4156f00552639263bb75f793eff85e33f16c9eb1d5928282cc3f019867c7bd09f146e6062dbf515768414bf705fe6ab0656d4de7c51058cc872ee711fce12f8541e26c03baa05f64f495062b90f424c9f55e159a09aa9cb17abb6ec348788c7638478102b91054f8b07580aecab5f9198974914e9eb967258615e07c0d412eaae5fa910641fd2e1a515f73f9dbbed016352d96d747d11ccb7fa136d6f3c7a9027dfef70039a1bdf413c06a20f8639be5e177745eee954b4714aab9cc631fff59b905ea04d66a0709b285f5436fb07d923279e84a4265b0548708397eb61b54ec435c0906e1a10a043d729967135e90a8ceb019fe70d1c8db2c2b7f3a70349c88fb6f450511484b5c1c9ad5828beb0bdd765f1d42a63858712315c1d0215d39669f4f500133e74a75c343d6b269116df7c25eb0fe08d03971da6eb6c2702dbf49e481bd015c4b03e524476a34dd9750caef8bb06989af0cc8f99bd77921bf8d8769160b0250d58de9c854ced624b7249cc7bbb321953bee39905fbc0a3c16f1cb8426700453bf92442eceda8f6114472592a94f1f44e1cc3b20020ac72c735cbb425273000f42eef0a9c0a48c5d8d26ddd481c40bc2eb93cbba4a0b25bb2b9f4de1a66d0021599420d24cc4fe982965d1e29b3a1a765b64181b7b6ca42a7537c8c9feca050e763af7e82ef0497aa2eab0e7ede1645bafb9db3f675ceea33cf80e8a9a010614a812cfeae27032c271dfcec89bf1f1072a5fc193b0f5fa4bb93eb76224fa03b451c0f31843bbdb689853adf5ee26002d8198a0b0b4d92a45a6bc880c94900209d57134e40ec7d83b98d4e0b702b6bc74985df3d5000e53637f9a7e41eaf00318d4e1404556381e2c56c6a7347e1cc1993595b2e31490824ef0916298767c0460857f3c5954b664bce32511eb73174d5f37ff2367739a9518a501bd1572bc01d92c7f82e386d7c49d5c36597c42148410b417f37601f11ce566a11de3714a0727d526f84e92c10bf993e83675d0437295b035d69a8440fa120c5b8f2d48050794729dfcda61ea4cb4e31bea77f88af58695c42f8fcd37ceefb77d01614ba30309a1e69af47c7a32de69da5122b1398361109ccfa37070fa848eea09a0ad9301c4cb5dbbb4086256dd9f90779e532e3482acc61680716680bb75b94f62cfdd04949e14c5c01eeb96058fc2f08f4da94cd6c6c801ec04af6c60376e02b5b19a0056b6a1d3d0d660e9fb5c0439f76fad6f916644ca5fb7bf514957500927facf040b89fcf9dca4a31a83a30ba3c5d835f80cdf1b7353ff4f5e59dc87ed1cdfd302cf47fcc99593423f99a0e4766368b48c3ff472d09278b66c02b71773f48454053552f01c9fc50c11a83272af19c8f90a0e74af6a69e0edd7422a59533aebeb0593d5f5304985c4c0711b3af993bd6e8ed4a5fac66b390cd62d1326961943cf010e0362d513ec100f080f10f38717033c585e50f984b1418658fa19fd5d4007060ca397fd0d4ac8171aae295a250a351481bf8d7948b79cb3d875181badbaef010d61c656a13cf4474e0e43faf82dd9b7077b6ffc42283fa23db28aec1f2b1204d73f0759892e245d0263a987022f773a61c2311e51a9acd87d96fe1205562f03cf4f15be21950a20d2c4a52f1bed8b760188a61083d22c4b7c28f63b67b6e60624d4bfefecbb13ca733a1e5cf5cbcc034a381df9ff43e6e60becd2c62be8d400377ac16ec087514de2c22f8c6660e6f26ffcccbb3f06ded30dee1c1ed6eefc06d50d864db6e18ad864f6ac04e9f9742f7634b86f5921edad14c95667fb4a0101dc3b9ba3b34b15725c54f61307c5f19b99ee94daef40780aba50e56415b8970244fe25dbca37b49c488fe1725d9a8634c4bef84684f243a81b3c317035819f05459c873dab9ced31e4e5e904f4129a837b3dbb88e7626f41a1a8243ee500ab06784b0d7184805d1c859b8e4a9f94b983352721148e3729b47e7e3e2d6556bc051d3ea5ad65f3e8be661d3741030e3faece0db0b18ac4d62dc65fcbfa4f98e9039679ab73257083a028efb5713a5d71371d2880278b29f36f3af76ba520b412079102497cc3ecac1ad92560a12f26f2172ea906acd0026e337a8e4f03f9e959005052e5fd16af36b60c048eb6725e759da9e85eadb05845c154c4af2c01ec10013efe35f238e8dfc98c74ef166efeb2bb1a83e634fa05dede6c531b344adaf8012a71aea0de8a06f6fa3c3dc013ac1c99dbaa07205bd69393842a7bd0d6b0b906684d548c967f04fda25087070098fc15b9f54af87f648f4ef04d27607d837c07875b63f4d796d8f7e8444e9086ab71ade5a0c98673992ea327cffdf295a62c067a41e4cabd6504925263a243e3864c1f1bd0cc57d1e1494c356a9bc4acb0dd06de48844807aa37fe601d924e49c1cb94c727f1e55404fafc898ebbfdfdb3560120042477236bff68eb6001ac6d18a5b67f490428f4faeab2f672d94fd5f71b05400a5a602adcd464da97bf7f034d3d8ee99cd15aa4a64a2f23099b9fa5fd2405fc95fc0d91a0c31b924ebdacb03d24a1b41e56246841229f4394984b16b24b03df892e8e4a11be0aa87e80b8e4f634f7d9ff8bc20adef7a3e60e6a84ced93207eaf5ad36941340833366343190acf74cabde123c37435636caca47100c36990025280ff516ea131601e696da6dc9c5f096fd0e9f1a6ceb3f68eb94d10d2298065da328da635fa5dcd767bed2607a524285bbfe78e1a20161dc1de01291314604c8a3e2fbc102f85aa670d51af772197ef8d34a34d7462ad08f1b812a21e07e033135a64db865dca25a162b8390c3afc2ee6ab348dbad98c81ccc21ea385cea075e014fbc2558fcdcbc8dc215c177703eafeac84696ae54a4d7ba9cbbf0eb7701d21aaa3d0af972d1768605eb1c0da1b8b5b10b502fdd86c399d340674aecd90224f43bc10aa2b1bd4969b002c1bcc50636f818de0dd71797ca04ee3ad0ae4b0588b6146c6d560eb5892678a18aaa2cf0a6776531f58b963a92591da778ee79064966ac095802f6b8b61c85df8dedf549e09e733b7fc1c56c85fb761e6f959e05a70d540e9ee3cfd649140bed5a62fb866c990aaa9e396481098c63f8261a24003150a75f846087b2cf433dc56ca7db7f458348627ed3325b9fb84eb5bf007d02ce79598cc459e9b52789a29b6fff833da2e1e931c7fc1db6ca46130cf84b4905bc3ad4616fe8ff443410410076a1e3548c94c479b1be8bc7f7539d469d624303a494b76e53efa2976074615c0aa7222225c94572550b757343805c7bc82b6f01663f0f6ab857c488af52f001f11cc96a9316a1d2050230dba14a12351ea82903a598657f49316587bdeac43a70b0fdbce08a0f290821baf011e41402deea62026a8904cdae45a7b0337d71eb364a3f5e225f7237bd102c70bf14b89c97e7a400408423bfee41b48dcb93365f40985ba4e4e53340adfb5f0c41dce61961a224064f37f73430660a0026c59e15b41c597c2c079aa4acc28b91c01935356a953102ded00204a1bb4d166cce3300b2eb0069c6bae7129f0b432ed357a1164cb3a50698e0cc484b806d214ce8b98d133927e19f94dc056e20f8e3ada24894f5a0cb04ebae47fbf20d51f15b17955704549451e2aad6f05a3dea445f16dbfcb45f48046c013fa2827470ec7b98a60ff1f2bf68702f4ba2b082621f462759d44f183a037eec3dbbb143edf37c1a9d3b03fd1987d05be1160b755ea0d471739bc8331203e06806180c0e86089226c2dc2c03c4be2555a5bb64af11a498434625cfcfcd03428a4c96a205165de7365dcb4262d7bb5aa9e68e9889e3a17763063edc6c740303f90139bd5ab3a2003081a9ae9d1c2b4d772e1cfc1be426593cbf65679423002884f8ee44afa9c580ea4a5babe8603eee110d4900b362f0ec8f572e6a5e9a00e0992033202eb9ae415ba4944634bd24201499a55feccb30c770a3ae22609905757167518ccf6da810081f8264e3a6401bbfc29395eb4b28131c8cb1c1dfcd055cf15fc4fb3eb8a14bd2f4c80a7270f98956620ed480c2c9fb7face9202b2407af972a87275a5c6cdbe49953428d6b14671faae14d547c017d596a63b9d5ed0667f1a49ebc4185dcf176272d209ddac041a64ebf94d77dffc64e978432f87100c477715ccc262205f902435bac51e9d94323a9ab8f87efdc4e965775d4091802059c6348236d5926eba3b80d7740609ce3d13a03db3f1c66f425ab19906fe60440f7592370c2dcc603d062fb99623214dc501551e7b509335c05644eebecda03c3ec48d4f77095507f23e67d465b91645003e0ab8ede246b2c6e69f2a66e0607f32abc9cac39291da5b976f6f10194da13eb1d442df8598bb1c8ee250d5d07003b716a2cd556c6ca3cf1900b2a2573aa2bc2e5648849042b969c3ee23678ea012d8a1a653e02430049794d4eccbd54e9ed3d9d40bafe2cc4b771d7124b54c50021a825350206cbaa72e6bd77fe24b8afe3d8f6e0ee5366c9dc102dbdc1eb5607c312581b6e5bd1c9ca7c08b5ac951653a43ac0776a3dacaf345c5dcb9f97bd07c80d94a91c471186e515a4f613721e272193bee2503478553dfe85909cf02c07ec7665700f6fe130f28bc902f2fcfa339f077fb511022c18b6530fcb64372803309e1c571697f8691a2ac9510297816a4caafcbfb8f2fe1616ba3562834fc100ca4d4810367f3e3629ef93263f72fdb5bd740c902c134fe75edab8a09b0b2500baa468cb410a17dac782092901c6ab332a05edbaa47229006e1e0f39489aa800e1b6813c95ad4a2a8c781066052ccfd79f381d86697d5250a5cbeb85eb3ba903315f85d49deca11d119a18bc49e9f4c4fabc5a04786a304e3b0c728012ed5205b6b8d96774747f87379d5eec09f3a93a891870b4025c1d9a32008bdf8453f907ec0b3665e046c6135dbffb0f1bb7a6edd6776eee4f538f260ae6e94a3e5fb0077c13b211b51755bc2d90bcb5f86f888e33db74d40278404155bff026500b4201e3403cb950c34470ca9cc295f608354f63e76d1ef31001c328a9bf84d9fbb3039c19c20d6fb08bef2c9e2edeca7e1f50ddbc5e92141ba279d9af4dbdee687e0640e1144d151517f134fe88adc5a5aefcb50abdd83ce731d48ecb3b9e3527b700b29c3ab060b98b5c8df70d9b4c3372230d4dfe7f1dd24face9057bd612568a0485d5d3a651f8f824cf91bf272ee24b74928f0c5c180595d7ba923676d5a213011fc8661f4ec549ded648a152d36753f82fc6a1307516a9b1c5ae61af1882fb02f425915fb7f99a44f4a74d6b0d4378bd5697095ed0788ecbdd5e90b31900da06092f947009cfac31d7281320ec22c5f6ac1620bfb71d21a078bdefa36c65fa00db3401bc6243aa0636b439adbc79b5b70df16bdc3edb05cade61a2e2819996034fd67e4be2255ea40cc1659fd0da6e69f1ea3fd9077ada6ff63a2c4314bbc50381bfb0a6b3f1a9aa94ed8b34ea11516882a39173ef65cf92b8bd0d049e095b04ae2bde797d7ace7a51b9704da7032193bccd6905f3c720079cdb9c0cdc991406014c5979a9ee511a579f819848abb508d496983849a4aa8abdbb0086e668cd058346e91bd255d42ba2445364ea1d1c7d5100d8d1dd9c01bd36fe5c5e03221807b9a0e7799b9186c5fdfded7ee4198c701d794d8abcf7e13933fb42c72a7d700701788cd3b41c4404878bfa73c6caf4f11ae6c02af76cc4c93cf51c312cdfa5019a7f877d7f545cdf3bb402a790d445038bb1eb6cf9b504522f3e04e29d13e8047345851e18e159fd11a274303420444b43c9eb5337c8cb0fd4315ce981823e0096f32513fb19e6ad24004450e4b2bebfb4e559890d93973dc9307fdb530e5f0246bae0a1addbf4d3012a6bcf51c2c70831edb0bafebfab7e8b15dc48b2b93602d9ecfdb087be421cfea9498c5d27e660fdcb63f297e68abe7d4fded8963a8e04777c7896f1a4eb57f326156dd3320b3fc3052823d6961c3c701502a00d85de042f8f496358a27df826f175a410f2f50ba6e0ca023065f4432c7a8dbd850224055312109b149efb20c18ae3ce558e7b4731fbaccd2c635f2ef5af00beb65552067d29583a5cb90b2c62a2f5cb13decf59b27776e6f7d8d88f77f6ed49934881063f558e8a233d19a01487952c89ea5786329aaf5e529f19a2e17259886ed3f904cb3c62db1aee65072f0d1d0fe014c37bf12eeed979b13c518465f61471786001b18a5cf421155b9b1617c585afccc6a8278d764a8236172c2105ad488617a903cb4ea15509029f207c0c81a5095d01454df6f38805196ff3a502d63aaae88906e045b30267d5f9c788a55e687e8144519fa3382fb6a607aa98c49f2dc8aeb603e2afc17cd5cacdd03ca76343d639f189fc41fa0e5ebe0bbb5408584f9f697504c793ec86029547d7d94f304a18d2be27cd162067d04d4318287e1ed56f9850075a93cd05e6471f849db9876b4aff25ac1c0ac5620d921163db7b5d5113ddd8036dae88c687c5097048d3dd533b873c9d039c09ca7c5ade74317edfc4fd2b640256356c27cd479a789e227c5a945e6b001e9cc9160abb1869f539fd6d24b13704fcb08252d98a8a235ef9e15d68ed825aaf4f1c906d8ddeac3b88107a8df14c056372c8a6d477456b9490da576dcef45b4a9148ceaad462777476e1f109b374060baa99c9f259d83bdd7407c3e86fa1b254d1fb5ae551648e7c4dcf38e55e4e03536bd40e4b009f9dd856986c1e61307a794b9543d5ad00f335d4066db9491d07e584a8a15d2f6aeceebd4dda691264769523e42b9c35fa8371e11454c93fa406950e9ec80f683e825f7a1aa63290da9eb48a32384df5b2d8a1810c324575b2005c913c2127d288db3e99d75fb79973c8e6239f60f79b58c29e92b934c2abf8063d70f4bd0a38f89ea90ac3e3585bd69135a64dad02d3cc85186145184d4f1806c0ae43c9e3709e70dbf5affe8bf8d0310fac9edff7dc25e9a92c57d784453f01d5ab8842cac10ada9586110d0166cb13e9ab7f892ae6f80e3ef5792d8aaab9045b63981652a25058d96fabdee969923fb75b1f15e7466877d31c929720f603048f732750c3ef60e7b1c7b7eb0f3f23679b6d03a48b42c8453dc0187f6f70ff0263aeb5f48795ffe08c1c8bc69185c54d52c21c4913509b7bae2901565a6dc405dd1635b7bed7f99ff96a8e4ba2d6945ea592b2addcc29060e9645c8386cd91035dd1026059ed8563d2d81596e37ef34a640e001bbade514d03157a4083f644075f1da8da156e7210224428b8fb7a4612a8b8da69d4283ce0cf43b3106a449a043a082a710f75eb0302ccf2b2e96bc9a93858f26043491bd5e6ba96f9e32fd1068811a83bdb0df59f36bed08448890f7aed9d2c7a452adf842659e7b5d4ca06079ee3a8968c533b6bcbc43338fdb94a2bd8d433f79c3946bf73f54cf20234b800b64532ae6ed02f5f862430777f495d35ba26871648d9628bd5fa712080315b027b77a280097fc242966804a130fd5fd6e26a5c74379826a1c78ccf4a2477070687a67e759360da59a96fb0295a2dd742079263b9dbaa4aebe6e27ae907a36900320f7331e637f1c88e1a44fbe01e1e31b98f7322608f3e9c8f03a766da3aeb0310b64a7b31f5aa066916a414a54fdaf88548fb721157629b256eb94b1d28c1031bf32f0594d22757526e7cdec84a79a9a439bd59ac080041ecd0dc2d9e992a050179bc45e8379a6197c658682728e93928a1a52a07569b93771932c67869e2032629bb08940af2c8dd4f393ff4b422149fb5b3da099e7a129152fba3483ce6046fabe7a419a6dad86663e99fd149f8cb6aab76c77cc05753c2796ef904a52407c85015efbeadc0d59e40faddf2043498a36722cf5c14b2d01925d00c33edf00379e41eb85d1a69f2115853b736a40686b52129e26c606bec90c6e63ca471990550efdbe4e188ba1750b37ca5b9df999f212432b05049b891a5921dc8b8283d05b939aa87bc3eb08a03a2309a879a463e7be5e02c2ddda3b29a1a29d9d37d3804d58bf4f09694d81a183a15e0d509c3952b783874f0c880c2ce5336b543e52b07230a49aefb5ae548127eace4c1c64a66b286da625dc0d643efe36d0c895d3d045306f76a9adab0454786518fe9eaa5f1b52eef8c4edd6076d90fe028135707022bb44938bc76cce7c4fbbbd3051d5edf7dc2e2d716328b12c6a9291c5f713701bd4e847da487305a7cb0cb2884d2a166de008ece5d307ad54cad13adeda0db000af6ce0b51af33077057b7ac8cf87c1354fbc75dd8642e6d45a51141bdfe1303b984f753c7c8aa7ee4f25001338cab34daf69b319601a5deedae0fed7b84e105e6b4d037fc7841379174031a99da9b40197ac6d3311eb26bd7c2b0cf38ac1401d2b51ce745bea724415ddc7f2848980b75fbf78807427f9a15337f0a8c9f720393302efa4234562c64620bb7141a06b0efce322331ac44bcd8e44fd933d1e001f07f4a7d8758e08900f641d2ba3a301b20c949101a80a863a1a159b71ed1ec01d88867324c0ce69a0352ac99364ae025ab51f31c224f28a892e01c0b51893f049b2cafd100ff4a42bee56c0604ed39a6fb9568cb2e638f1091d8ffd49df5e70647f957c02bd0e288b4f0f77d2194331cf9b4f95c6a829bede8303f01b44faa017821ebb66195df1d85d1da9fa79246bb6f69744d89d9e27a974c55d4e45ec407ab3624c76e3bbc44e213b558fff6b98fb48bee9549e2014c23bb6371b12e8d0668611846086ee2a228f7e017b1bb76fbc6fc438368702e54f0cb7ead990ec607ea65ffb9461522a202695ae930b87ac1102d99ae4503ce2996b19bccfd53ae06c74a200007177923218b039a8d5387b7ebe8f9ceb37365d0a5b03b8ca18e64021449b863f2fb2560b9c9373fabb9157e818f055308fa236d3ccb71a4e6ef440720c66f624486747a0919ed35e44a7688dfd6aee8647bc1c65d84a723605a9c07077d89a1a9942f958e51abca2d2ef0d459535fa49f4a458529deb8c64ebdb0073fe5b865b3ea9addab2e0346514eefa7690fd27deb63ab5261e0d86ab0fe5c01ed1af6a19f996a8d1bb09e27f0b88079004d3516dd219ab4277ca46987d06b04082031b4cc96fa0afce5133ea29c218e9c0c5eb29fbfca3cffb102adfb86f907ddab34779fb47cad4b5503926b8cfd966488949d5986b9de601cf9a05c2d8601f641b3fb124321bba2a68953d7c4cc0fb4ce57be0bc7168252367d1c02de4a0276d1faf080fd94ddfc6fc438fdedf505b644308dc89ffbc94fcab0708e2c5107eb58ddde747cfc0b1de736cc46feedd0f075ed16ae1f7c902e901ef2896bf203705e5cdbee377ab8e2a9eb72b2c62513a163dc2d163d7d18292907b636967b010d9570c947517eff1cb322b607e89cd6e647e71364188ab62ab424a288721e0127612c9a8e06f3b77fead240ab6f99bbf39ae202339390045243f0cafba7f8024fffd96f6f3347ca819fd66af2b467c2775c82843938982d75e0c1d7794e3c062b41fe7f5b5391cc7076d55e3aa57391464d57b5d698868b6498e3f1e5a1fd061d29167d741b3cc4187671f9b9fd3cacfdc22d9ca23d172e1957b40a4968480750fd286196c95265550994c518e57a2f89abe32212191d883bcdb6e553865301d4d005ed8ec1a098f5232bcbb3842ba8cdf07e19f7eb52667f705f29c4b80b00ad58d78cf70f9bf3b78ce378a8c5b19d7e473a1360c47bffe809d8857748630679e3be0470a2e5d9a07121db9ec0c30f8f10f8d6ec76cf1d1807629e33cbdd031b9c3fd5901aa3dda0e55e44eb873aeffa709b672d1cdf1f173c2599a3635b00bbb95a1dd8b37c831c77500c398dd0e3e457ce068cdae12893e3b462b11a79059bf3b6718f96ef1ec03c6a485031e37ea0a4850a6df21d856ce87f1064e4090076662081460cb2f78c34c94fc70f182749c5b183833627a73f51b54c1dcb8907932e8b0d68c05ce5c90109252f42c0cf3c45ef638e2e071b239431ab7113eb04522cc7ed4ca1200e8db782d2e1a2d60a2dc3f91f3093eca522c77dd38a46d607ef020e13e727290f2323549b4756bc05883cb106cf0ef8e2f43dce975a3b3c04925cfa34f7a4a62512b992011bc9c4b465e3be585f900bc14d7d91416e8e24046f439e18424dea96acc832e9d1fc121909a461daabc499bd23e212c3391977012248fd680ebbe1a9d0b5f602aa01c9f83cc6ced7e893482ace83eaa84b619f05cf16ba629afde64b6ca866a8b113be33b624a6fa7c717b8dc1400499fbd03700ebd16bdf9357ab46ff32455813f54f1d9d3cf9cb448b9b1c437fe71088e2ba0249e87f1dd3b3e3f18b415c25833e93366aa7810ba734fb5a43a8c2ea74937601b960332153ccef897facadc988f91a45dabbd38a63375e9ee3c085073de6ab0008c85b0a6f91333933e5198d8835e54e6f6fc31bcde2b57e749cde80a60b2d032f9c13ff30a96a13c475d3d100fe06394fa3cbae58dc483693f1b2b6e5081402a6221739edaa50e2bcff73996c8f6f661e4bd3d51f73c6980d97fa633da48d033a8b0f1afd3285b99850c68ef362aaa980bcba8ef3231b5a519bfe668afdc3070be0309d7cc03e2880e6ecadfe488d97b74a52462aa51c7a102e30176af3b60503e8852f6366aa8683990a0d1353e1385e3ebfc03dc40e6f69e2751989e26506b3e3b0f82c987358f3254e78fbdb817af76f8faca9565f6284cc3243f9ff470191457d63ab62b754a09a0c554b66bc29f7aee215bd095ade18077eaa0a038d0707ec22c3651486c4c6a851e12adb55ad8502d3155be8a5ca51f096ab149e610233c8d8d40ae60c5b08d0df7106776cea1e73e09bd60e194f44765fd9eb9c65032e82bbfe7fb032306a78996f90fcafbf7ce1353d94fd36c9adf8a654e6c2b304ff148861d56b411619e7cd23da8cd2bbb1a2dcea2ec83eb053adffff30734805a7d1b8120719dadb0ce019e35c65dedf7c7d86654f5eb7dea43904ba64a95206720d0ad83f954ef03d759567cdb53aab359b2cc10965e55c37b6fb605f98a501a9c7596db165c21e472cfc2d12a96207f1aaf6027ef3f1832368e99e42e15700106a86bfa3fcd8573cd1934ae5815d4bbfc8b809a8b4631af656f95919c5b50416007f73be938d104de2583893b30dbba563064e9d59aa257ec89b5f016b820350cf74c7af89121ad07cf4051e7d65357c7f3759384b549cb9b21f19fefdea064668582e864758da12ecab8eb383d2969e6afcbc83fd93741e81338786f3a000c748cbb7d337a2ec72c1859c525cbba68a933da590b8243e7b5958342910ef04435c35b9f20eed89e1aecb424c676077ae34b8786945b9289478b4b3771e16003cdc99b0014a3a2b771eeac26d25f34ba2fae3b17f54c4906cf96305df5a6c01200918b3739fbb6bed651b2541cf252ffe7c25e72b8d99a29dd59224aa000500a0314f468a45390227d73aef77d742be063b2f53873c20c9a1cbc68b10f0a7064e4d5461432b7a1b72af26944e9b80a6c7809e29012265d7619b4a6250fdf2016ee15765d7fdc29fcd5cafc886480e871c44c14921063dc67aade80c73fa9300c42a641a18c3c3e2402804d84a426d40b3ba768b7122cf1f434479cce9f2a3034a03137abb192553a85b31d61668e3fefdd3acfec5d4b6646e075c5e67794003a96e0459831ff5cf2fa5ebed10e2139fd1ea58fc7ed86593a794239d4b863c0686730314c897db79dfdf05b50fadfb55a4a27f0a588c223586fcd79f21bd9c041d92301577d3aa797b7696b50bbb88b3a0e5565194ba2a6a623489da90a7a606ff2f7d2eb303c356e36bfc58e782ab69dfff96c988dab893d707dd6d4d40a606c11dd847dbeafd71779b6d4c7eb4bbf0546c204308e4efca1b1bcaad8f87eb02c696104d6c80bad23b0f0aecb410059e557b8730ccdb179c4e7458038c370c067d213e7da1f01a2f8eb842b64ad8e3a443da4e6aacfcd26a30bd8bba741eb307a5fd6f17ec3710c09b383eff660ec69210ad83b9727fafbad1cf85141580dd0365f65a58ea6a44e9539c94fe055224e846745bde1441d8c221880ed6ae18bc07033c2a62496fd24dab4e895c31d0c979ac6d28b97c1b184f6e2ba0225faa95063dce98f6ce84de8b2b855ee617ff9574a3ce5f5e657166cc9830c496d3356107254bc1c278b59de755dc1d15778292b33def996b8cf61905d288f501a1043001d839b8e0992905965dcc5da041c764737318aa52745fba065446ee1f9da1bb00f0c7bb12c36aa91557f68ef4e5d974053b302f660d2997fb8f5c0f3c42479700ae5bd4a0ff3728661463aa8197d6d85a577adb172c4976600b9bc19df8f066067bb18e70366e18c76b22a8c8b1d7d2808acef9678b2f9fe754eeaab5034a6402886f005fd4edf8837d91b01ff5f897394f56541f741e87c61fa3ec1d840d590405d1d982aaed5e7f983938cc684e7b2df0f3a67cf878b827d53f88fbe7ff4d06589f03ccc13e59489c2aec07d0c3af2d893b33ae9a0b619a1e1da30a4e98f2034618429c2e1e2d8f62bf95b30d742ceab825a93205fcf7457203977d22f48b0064cc5d848d927e60d3c2f80202041b128e35276bb4ad98a3d06ed54b9955b404eecee33fa52ea235915dc22630086cf0d57e3ca868f90654cfe23310dc070204a692fdbbef8eaea3308e1f5905ede3a63b9ca0f9dc4008d3b294aca1a9136907968614a762e57a5f05a03dacb71fbfa77e3bd09aefd33c82392210f262aacb060eb6bdfacdd5cffa347b9810ec9fcf672933bc5b22611c5140404c7300708002efa5577cd85c75e1aadc337dd37369a26eb937802c4073a59cdf5e39809fdf01a2b96296dd98852ac8fc22615ef94bb8e5031aca3edd83f4b360a377de283504a67c4b10024ff57356871e4e6c6a08118bf34f99c878f78b39ab263640aa0205f411f99434604589eda7f07ddd280c8ea67e8754511d3982badd7d2005afb9026fcf90f1960036edde170fca29a53b113ee2929f8b8ff91ea5553a9cab7bb8033316c2fed31f700140467a994e183ffeae0ce660b7676dbd878e9d2465ffc705b5d6f905e68883a111dc424728f1df85beba01c192aba78f7e983bd85800170654a7d4e4340ddbb5073a7e03a398183a432c48c13ef1d943e0f04cbcd937080740d7e2206f304ea1177a0cc99e873f60813341d8d8ebfdb5f807426b0e314b05b2ccab3e402640a85b4fdd6bf2f65f252e38fd80118f45eab00c801bc7d2e600793d2b6113a6433ff9f8121add9797bcb015c86f6bbb58d3d7ccf205bfb39700029141bd6888bd1dcbbbad336b4d43673cafd1f39b64bb1f2890b64051737d07b4ec2af182a11261cb01e686f32b4884d921c8b8d8bbac7166e4794df59ba504d4c1050c300d5ae0359eb9c168a514eb4b62c99d9c8fd9095f7eec0ea6d22001cbc9f5e93967781864d463920f9aab9c2196ef121ae657fa1fd27b42cc6da8051da7f0d1fe21d8b712d126a27be493e986726dfb310021dd63b37d812ba4b5050dd5d4113308c8f20670cf0654031a91a46098db36b0b7651043186d31e9a000bce52584a3b8d68754c271eebb57762927268eff98e6ecf77593bb3e9174920405660770dca953b553d4461f9707dc6015183a218915f7a30017008d7a1aa4000ea6f62c1210ab93af0211ed90b798c7896bcac2ee0253669457cb0da940b705cc681599604f4da63c06430941b6ec8a4a2d7ad19b43463bfae92f54107cc305e8c260b4aed99b626589f8dfe443a63ecac0659b7911623fedfaf652fa440a0381d9b596ffd278a73cef10522944ce731d50a374034299877952e591f53b05042d4c8f76e917ce3e901e79fc873b5691719504b20d783a16023e51ae6b568e0162f887618e928a9123084393116b520d6c965e56eab7aff2ef0afe4ab4b936025df714fd9ab4fd7ed2db962c512ed39c2cd5110df0a6d4a18feea37429047a03b35ca6f4882884758f8d56b18c6ad563485315030e6757e4ef817d7b92ffec03d3f6a50f4a7386a2dc58a4c576babe20a5fd71aff9196fe3da1e2d200244f806c88c5ece23c99461e3a892f453c448eaed7fc94c0148149b8a4f2511bbd4d603da52e9b9dee539a6c003bc7de16ca5868e14e7b2522adb3c7c375364498cc3043f9c47b9a1646eebacea73cccd2a86f5ef98beb29ee1dc678ce2d141e8846705418a04b2e496dc63941977ad44329cc5edcf81f255bc6ec31bcb6957adb946052cba232d00a2ab35e49f8f079a946ffbeb4bf4317ed19d1d8e18311176b18a0710c0aa7eb655ed6177e0d86e5363c953b066a90c50f23d4da5ebb8c35285930457a514870747bab53aa8f432f6e2027b587606e3df1957c516d32d905eead600fb83cba545cdbbd74a7e95ff2f665951f4102da44875a9e41c7009d1eded16029f5de3458077bce03199e8a1813203420d923987b9834cc3ee2382b48b4f2005cc70d33c1bb650f286d441f3a389b88177e540d6ed14391a17649507ce8562065b4e7d7de9675348801c96baa09d95f3c54a0954d4d68e70de97403ccf845b043069dcb0bbdea0cc22c976c644b74b10c91b2d0e98d7e7626c604b232785de0006ef95e5fb469f931a86b9b05d0733727177e9cf0773b915281b64e4a65234052d698c4bb9b0f43401a0c70ec634464c562b7017e1d132cf0dde72e7d1cf9a00aef5bd436dff3a532beca75898082168f586f298e563f4dc08157fe2c6c247007759c2213e14804e02d59141a308745152ed6fd713ee90995ef80fbdd91fa800453c48b5bfe666492e373380f94335caa165f36e23c074c0b1fde31166f40c01bdba44f781db2b426444579e776bf492b3422a45c24865776161f706417abf02a153f6c5b942bc4db80114206cb448888fd992855e6f52331d28a1d6e9bc8200824e46f5e0ac7cc9e0df1643d04553a35dc7419027effc3e5db7e2b2332ef2028fce00a8184228e733c04b32f88f13db4a0726660fb15eec48af2264e89c9701c79432d5c20115776fe44e165396f2cd6a4766a96a1783c1113141d0541c1d024d0da9bf357d7ca9fe3bab9163364c8871542fc32a6380e37cebcc61ad18ab009cdde2102a70f4978fc40cf0d5d502f726be33d3e04cc310188d9ec674409a06161c66542b41c1604a2ce513a05baacfe56fe50a23dd66614de6404843a1c407ef4584eddebad0b5bccf3b6cac57f4e6e5773ba0a8ca724d7fda9b32064fd20030a2662d4435d407dacb4f36cab0201e9095d2d637a0b20f1b9cc3eac5fe2805ce87b9d31ecc3f69413e414ba9dfa88244195c6b9cc4070008283fa576509703007b65b3f5e8b3005ddb2c83a156c78d6f77f33c7e67fd39d1aba000297e70038983e6e9efe89bd7c91afce465b3c1dec231d493fb212fe036b9ff00e2050506082f17ab35ccf0d558507c3d53197293f887b68e77ee0e1bd6ef67b6bf7a13068c405a7460f094956ccfbeb406db5777260445078101b6a1b15b84d60c30900120331a9645e9178f4689fca1d856277c0015b3ec4342bb918e64b1710dae6802275f3306737f61f222c5e06af6fdb4fa2ebb7f5aa84369432c757dc8925ad2075ee7559ca799f06b4d294d527c9f9a6170e2881762bd3b506c9750b99ba6310343fdd8504f6b2f7ccbd68269812c107073e9c14adf0710085a3ac7a521db1802e294e47ca7e75bf4ada641e45f7d8b37d220af35ff1718132832947588233606d197f5ca744c64715adc7c7328542b9afa0ca3e2f4e6e8bbcf8ca58a77d7c803d856d084c658369de40ebf8504d607e3f745358a241a646acc04c214f455a80590970880a8de08585e26c4af0402473f8845747a63665767345307975777ab07d41b8959a719b1ee0303ee1813fa1283af4895fb6f73300962c8b6b07f547402fc88bc0241fc5d9cb37920f960e480365bb5170bd45804306a3f74002c902702a71239587e24f5a73ed314cca62c14d28698e7dacb47a4d0ba0c8fd1fe5ba70135eca67a5e0470e0eb4b86152b9d984ca1012ec5bc0c9a26fda2da4c2d963701df072001cc6ec2f460ae47ac403d8150cd1da0ff98bbaee52670c771f5169d078a5f4a8d1ddf7c317407a84e7d8f46a79f3b7ea7314cc2c18d07d6e3c0ef09034d8fe33531d71e47dcd93aa8d572162d6f5ecc2f15b91cbdc9b24f7b87db7603fec2757b0510dfe0418564d39bf0c8e1a45ecdcb077eb6e3c1b9c231064f8c03ba80de97ffc8d488209c9943f2b5f64e9e53702c910163aee4f90b4cf6009304cf1b4347515d58988de9d76b1f6394b90c46ad2a714743bb8f32ed0208c66307d966a397b3cb432769796aaac6e6a5a7e1fd0e436bb7dd9de521422ab5449002e2759e419affe4d814c7909c1d33dfe9ed9a7b74e3e573b2e6f953d1b7fcc5041f4609d947b061f1db6faad40b3dee993624c34500bf5a19af47458af2e195065a7ae8a61906af14781806ed5717339317721156759268f2fc3cdf21f61c8506700dcc77b809a79e50e33a0c7b4de8a1afe20c10198f04e86a034b27989d0d007707b7bbf1ae55a9d03ed2ab2a631ef64c9214f7ecff30a718cc803d9ff80d02295af8c985ae1b5c0b2d058d6099980fa828c01316b4dc84671928bed63d630087b7c4dd13ceb0e72ce7445355a96e927de847d12a598de2f8df8fbcd01f9c04e00c80dbdd4bed7d382e55b64b75235d5d11688d73405f44da6b637e4c1ee106aca61ddd9149c2bfafb38bb7636829ab64f12c4b40daccab66f0aa518ae92901e1136cc5af4a6a82d86a6f964e350760bed8f4110db8cce28167f27a67db4d01c9d1c8882759b78331289a53254aeacff4710b83fcfe061997c0d696060e840642fe6367cdca4e85f15e2a02b0098222359d8379b4bd650ee1dd624bdd83c003594de22c0b182bb2e524636af444010a9f79b22d52efe89101abd87c1e5cea07d4d24f5db597b9b9490bf84683efb763385dcd22687fa1cb88827508461bc900d43165bddaf48174401dc477666c73c2cbfea807d42ed4dce3cefb86eaf4ba00c4c7d0c8596d10d22a3cc8da13452060cc6bb4680754f5d81a61dea053fcd500a0163eab9daf99f4dc3ded311ca07b4837d58c7fdeddb3a09ce30485f0cfdf06608117d6fd071a307006d27824081328626256f67293978693fe1ed84dd12b034936ad56b68a4c99779005cbafb9da08302ebe8d4a44f98706cca5a26e2fd10205dc5beaf4f6c9ade43f55203e4eccca55656b234acd299a41f5ea8842242b06a6e263d7cb5f81b952fd3f1ecb95d4ef946f5bf4aab8c29e0b4d34596cab4c06ffa3a633ae3fb56bacb5c70ad1ff0dc3f02070e84a4a01984def747d702d3602aae0368b651eea2a2d67b7093252d6e701c601b7f564f28ab425343b20c01a0050e89549358d8e7323a0a4762102276d50a90e9e6a40fb7b5234ff96f89b620573c1512d102adc71982669d6749e81f3da338bf1a0ac27d36f572fd094ba6a06c35c72d60043025cd0815e357e39544031c98d9f27dcaa306582b2291bf026042b76caa9f4f3368690fd9813d06082f933063389d78200f29c5f78cdd95f6803f5c2c550f666b0e10d5ea02081bdfb79bf9562ceb06943ccaccbb6c3ba8430000a64f64d71609ecdd7eff3471139b5b0e5ef8cb419b950e857391cc2992f0c010c72532bc2600a407a15f55430a8d2c496c9f3f7441f1e4937194f76e66cb706276480950266d90803c4cf7404671aa4d50804bc8d272b88d057224369b01f02a5111de264946efbc8c9407d584f1c48fb1d4a4db07844af6ed77e17b63e8904db87774bcf308f4d6156bc2cb0eff16e4ef6a957608d53fc6159fb4d1b1ddb0726c3ca86ee3847dcf4b2255a83f10971746a49a0a5b6f92b03df6088805fdd06f08b44b3f58275afc7ffe6eef3bc0d0f1fc0fc82a188b6e7984eedefc3f3a703cfe687dd35ce6fc5540866cb59f696ddada2e696449ba8a2406a0aab9e43cd07f956f7402df53a44e7e92744bfd56c2a5af3816a408798babdb831a520587305ca7ae7a5b832364a08562375b968682131ab7bd91398934671bba5ca36139c059d1ed54e64b57fb2d6b77aecfbfc61171b6386c6df5cd2a06769d70700d95402f7480d1591934e41f0c2581d70c122ace1a5ec1d0769f36e359482e9178d4b077f79fe61b143e708cc08d707bd5d8733df3909459d5a0187acafe4469e8e770382a53dfc1009ac6074eddefe6d3d13f5764d6fa818794694567515c838f52502d73f3741a77e33ab9fa758963fabf3c84a13ad052f5bd9755eac18a61e3b3a050bf15a8d90cb0faee7a03aaa5687e8a281d00602e0452aabc9e815314252000302ac14e3a079ddd7e8b923518d2f9f299fc7dbfb2f149a99e817f0fd277d8607dd303206ecc04d197e13e60fa463292609f808fc80274b030eea169bc710770592a3ab8dacd67e5a03132289361f8f452976c31a1f55fd6b9e88773e9f66da04a7bc09f1af40775ee5465ad4bc36a00fa0daaf57268f71e979636687bfa98f07586392fc71e2d2418c64c67059fefc7116721812c36b58616e81310f22f084045636fb7aaabab690fe21fe9d32f60fc80dc05fd4023d5f09ab9d0a95490b6105b8ba9854dac961402a981b2a2272a13a4f360eb54873e5ad02c8a5b49ca5fb05120492c4431407513ec9b00e41aa0ae8b88f634fc89ccb5a55cdf4d2a1694705a6b14f93c09ebea6d9cc8a4d4351414a2e17000214733403fae8ea459504e80755936875d952acdd1629f149dd1bec1acff47976c9b37096a53bda0692f836015c0bcbf2bb3410473ab3b371915820ac68ed831a1018036471ef9f80edefe0021ca35158cf64d521a433496110a7daccb4a5173d74bac5a43bdfe3936628d507d6a07a3fec622f7a11a5fa3822b77adffb7e0cdc5de3b8e0187aa993cc3b4601939af966c30acf8a990e16cd476a38a5af4e923bf0aa063de8e5998b7b1fff03d1c44104032fd813114c01ebe1416c70b552178186276039495e0a8d37930106e673010c165c5130b2afc1c7ff053b26a51404de5ec5ffd7ffb5491c23e3b105b6754db0ffb13dbe5c646076a8cc049b263ba158cd60a03e2702024d341ea4046b156d3a71af5a236a5bb2738798473d0c8895748881cf65eb9fcc1cf5556e01960885a27a9328618a448df600ad33b3db34a4a3da9393de9a198070b5609102dc234a5aef7f46b751298f38245ba27e263dd95f0ad5d1628fefde1fe8f9e1032d82069fa78a1205b237c5bc3cd98527abe2af29422130855483f2d31d505005724376e6cbe8dc8ea8d4da91c4e1fd8217420b7340fd0804ee2bd87337680f069bffa61bbc72ceefb46a7f31fff3c94d4f328bef4e702ec72662af1ad82284064de10f6bed74f1eef67845c7d396665f3231a129b2d1183373737c0958049000b927ca560b703686d52f3d3094beaa40ea0d932b30a26bdd3b8f56677e268203ba83a8f6322a6c3ead71a23a590a78d313ef5628efd3ab1e77781ab94f3ca40118623e5770b147e9e5cacef16a496defd2275aaedf68a344f70c177cb24bfe00c0ebae50968063ca92867ca45e0c9d1884420a5634fd895257618c068fe57f07ee5802bde9d4bf427f86e1b776c5876a3686bbf105f9802f02908469f7f30f061077f25fe2cb345f68c64546df61e1d5cf2d60644e16e0026a20a6c7cad7100403e1e316c05de596d31da0804a673a10f7a3412e565aa8debe30b7645ffb1302900283058473bbdaebf6b5828d689370f1f9f15d05805ce89fca1e74ff3dd807912104cc77302c39549814636c3aaef03bde7435fc2a9cde8bdee24cef39dc0669b18375550cd06eb795d338822dad358514b7d4311844a0ce8d0d7a51773400859af1efcfcd5999f081dce0c7c18769eb3697d431b6b69487cd994491cf2a01550f4bef5476638b9c332f8f39cb6c9a731aeaedcbceefa8639b5a90cf20ee01ecbcfed3e7be2fa66b1a450a1df93b9261bb54bf9f5ab1de40d00e0728d261058bc55ff1a5d299176732a8b559134755594c6255a4c92e59080ceb6224f7a400a65e2e80a7bf347b86f6e0b417177136123c62b593916bd737942a88353ebe029d7a2db689a9debd73b5bc0f33bc8b804c6d427a03b0c8364b98a32ff3a1d20109ee328d9acbc6377bda0f8b83d884fef516eb43293d773ff529d74315154106b2b9b74683881718e9a2924fffdb66d611f6ddf200aa2e305385015224a771065a8506e88d74c101f5686b738f5acec61d8b1972217a164f20375376412c0900e02f477bd8f6286999e2760611729539f72b37b736243d0cd030fe90e2f7420235c27a3c0b0035a753fb069c88cad84ac5386c4977d5845a12edb0952f30690525ef97d77d88f216a678493562d2304700cffb3a3a0bfb1d16d80d352b5380044017d60da5170575683fdb516adf1bc05c01b563b930d6a832f4657b1ce785055e0a418ae988fdfbcbe26e37dfb9889ca8a6ed163eb2456c8757534e4e500304cc1dca467249e7a4ef41c888d1deb3f6a397d69d7de93c865d44c9bda5440504d5507cf6ee738f08a9a910689cc0663ef36a382c34a8bf9cc44ce9c8d7b343054bc17743426a2f463564e3ac9fa38332e17c9a23a0189018ad8ae95fa2230f03e9cb68576661b456e4b13a3f8c8ec5e0b7a264769a4ce8296cebb3606b20a900ea0abb41ace3f6cc7088aa1014d8272c2800981c8c25a3ffeb20b02085ad7b0290f6dd248adf76237aa7cde0e8489dea7e48f957366cf6a0889e480fce545901912b96939992a161f9329cb8ffd30c8d475fdd6171329d6a23886971b3cfe706fcd35bf27a7f882ea5c90155f6919b086918ba863eddbcf1fc3ab8515fa65403e1e54f944d45c7f4c383d82e7c2b6da04b03d100d40352cddceb7c0f974cd304286de3ce4269a34a52d6eadceafaab5690b22772f232832ae7cde093c2811e00343fcb1b89769ce8f1acd9d51194e46c2fc19a87cb5e750cccd86fddc042a701cd675ef2fed9bcc152602deefe2c11fdd89b8ac23fe70bbe32eb82a42378b006a4f6a187805c8cba6f467e80f106c858f5f657e11812fb4ff7dda9978a3ef605b57fc5753cf22a081213c9274e8201f978325d7bdbd5d4d6665f9eef64862205b576b1f3127c323e2dab0985abc53ae0cd2020c9683a0d06d35acc5f6c8fc805a2646ad4ddc9c010dd9f1a4551646fe467fd4cb174793f639bef674bb45b850147431127bf1b27daefb8dcfd63de6781b99b902da6b221ab767124f25497d8011e08306d4d6580fd070fc922d2517bcaebf94a388a40db61bdee762207cd6405468190ad94b2fa0168e8c424a3976297382b9ae7043265ddccbda15e382c7006b41cfddc55ecf6fa1acfdafd92d828a38bf711caa7ebdfdf1bf5b23c2f07660455f2cee62497cc490d0ce427446b4e58dc73f8eec2e6cfccbad62a8b792f0005d58377073ff85595c72702bb2cc62fbf643e94604d7b390e0d25eea8aa687a01751d23e8d77dc7eeaf05b74f4bcc04a524ed23e72cc3652b151cdf4ddfe135066629b2abf1b6d581d79f7c956197ba9d5aa3c39df89edb6a7401b6e9abe54304b4c3a9e31c03ce6939e92e8e96e45f332dbe2800ab905fb48c77729bdea72a03304e7cffbbfd5187be8ec9495f5562deddaf6ecd6407b47e083c8cbc61c2ea06cadc1649be22a964326d30d6323e85b151656ca408077e222e1074009d985103c8ce2928f4cad60c98d7047d81195fc164aed2a22204e4f4150080b822d6d601987c5dd80145a61b3739fbb4c8de833d97a37dca840527704c2131187c1cdf06cbbc52d45379a1222657757f2cbeff12124e596f728b283070b2b64c2a52fc06e2324f1bee5d1659264ca7dcd7328a0833ef908cf0641afcead4dc8656746705b872d58521837618b33d1a67d5b6b9ccf5c35fc44a5eeab3f3746b94c412430503b15a38d88e5919f60bbcf05c8b5b617b396e28d75be225a68a49fc187ad10325f0d174d346c0b5979fcef58038bae663f4eb6dd5a25151557ba61cfb5ab400dc357da0f630575b1ebda5134ac8f172a95156a1da08320453632f151fbc43063cbbe1e10524d2808b8db76ff190cb4ee1fde63505727028ab26ae8c6b0ecd01bbf2b5267431edaa3bd173026555880c3ab6b341c14fdb6636193234e6981a046befb1a4a0b55fc41b816e9dcf74996cd1497475f424a3f6570c9796d7ccc3032685d94ca4f5ec680a2c6e78ec6335721c5e975bf3f3d85e2a97d545747e62075e26c09df479c828e93beec2037921e5fcecf13f0245e7c4b806c1668b2bb20709a1aaae621249d84bb5189b00805644712052ed31023c7d6295623edc7f2705c79056b79104b5772f0256aaadba5141f85d3624d9e21fcad25e508e0958fd01be866ae072a5795ad10b4cad3bd9ad6e011a66bf636d4626d1eaa6dda36ccd014b2ead7bb84bb63544f32fd78ee4554d89afe330ec446ac442a96d4c52bfd0072081e12a08012a71a8046db10e86740e5d534ab78afb8bfaabf3577045b94704a547aed325fa32d7c77fb62d4bdf8a61f8222d0221218a02be7cb9877048d10016d98f9f233dbaf92dedb99f5fbfc98aa9a79cee149c064aa289e2d105a416070187f99a4a1a87be9a4cfe476638702bcc0a486dd29098bc68d2cee1ecb8170732cd1dc98e5a8be76864a6f6e26c5a891f10c60c4d2705b3f91eab651bf4dc07f1613fc5fd655f5ccc6922d6de616ce66b74e8fdcf4c4eca4d6569c471e06104d36285d4b4c3c794065183d68eb0fd0ec4231c54b4a81e1acfd29fb4e4b9d202cdb6b6e5761ea493149955c6f16be64bfd69dcf0594bbee4734864f46905ff0046f36419813a83dbdc5600aef87cdf436ca14484d2978096da1281e5b7774d07ba43580a3a7c7df99d36bf6b7bafd175087b631e61fd9fe589da2b3ec8959b06dbf02a758cfa112fe1d76a84b4d40ed0e4e21a652fa26e3d9aeb620f55865704bce7af72dde3d46362e7e8419b7bca4b9850363971eb5bd54ff79c85c775b902eac63f2ad6de3061ddab3aa6abad15a07b634ab14d095bde750bec8232b8c9028942090f4a258a48d3477ab756279d3074345c5b060f3ee930b589d9d1b6eb052986a824f512fbb572fddd6df600afd980408070efda9d8b5901055849e7a9001da438e85c1d378b4205df52db08a3fe4cf5bd256d4abeb8d9314c9c5f6b4903e036265d45b29a2b29a7f77943a96a163c50d20061627e77acf00db980085c0365b6a4dd2508fc0c0dcbdf00382b55903fa14233661b39cafbbb87ef947a3902393eb2d04bec6b76fe3b8ba1e744f881f4b599dd1580f45ee2fa8e7608599e064470772fae1bc2851ac53ccdde11bf05247b0dde6d77f2ae54a2e082186c720341b38586d1be36f78730e4e70681f6ce892ba184402547026b6366c32b13d8009ea682ce9147b341e4b1c696ff0e7272e1bac65cf6ffe9ae69155baa01f087005586f99a02d526868da2ffd05abb7ce9196960055d21327f81d6d3ed4e84800202e2db3ce2792c77c93c2a84b0050035c680a3ab5295fceb078df47072cb3602035bbc90aed7d544ea7c10f64a3fda8f03656a5c1de471325112b6f949a97b04e24c1f4aa2d50173b85398aa4c7e447d86fccf43718ccc3dc18bab6bc1c334073cc913a67c051438796c759e17efa51362f955330432b310c73ee8aea97877011d2d2b3bf46ccadde41b79aa8ae642764f921e6b624a7b9430a2a6dc07ebf505c99ca756ac16a062efe7283e706bdaede2d018da629509ef003dca1370de1c078dde88aae200a2673cb86b30527af12b22b1780be4e79f1864a8ce9fbea6e000e92121f18dee8f86af326eea5993d2d4e66a1504ef1082d7a49b495bf17a5303d0ee23a2712903b0a20fc703f3d088925112651b0185ad840892aec34882e70455fa6f48322f8adcecf1f0bfab954d8c0144ded26457d7af61a54505b0c7a306432d3745da5a9c47233438f4cf66db7e25639d13ab04aae45a5115ea8a29cb045d593b90de037e964eb193477d94aae31f06464ca6c03a47f19376dfa50374055c14530b9eeaaadf2a006d42d5ceb76da05de0b84508cbcea7386c6162bad10229ec0ce44039ae90c633d46194b84b8f87c170f4294ae2e284f354c151ff3c06c42b8768df636959515849fc02756d1bb493f51cd6d6679bd88cdd8589e03706b524411b3233e65ae17935a0daa92b6d3f8554ef1e5ca759f1ef62ae9378d00286e1fd7eaa4aec9190eef0f84ce50318a8f31ba0f5f80559215b1da258025c00a6c389c48dc891f236c22208650d418bcbd05b40f10f6ee6cfcf8130c6cfdd031e8ae9088d78e13f1df24c5dc3acd96f8ad817dc4d29b6cdf9e51e2a214adb0645512b2574d4d6c2c42b4456cf1dc571b632d4be02b86feadc22a02b04b3010631725a3323d59b1d8b7283b9528769a8b619a0e0f5280f6a44d639f35365af05b3e977e2547f1f2ca7a3d0290a18c03e8431ad4273925f8ca8e7e247ef2af10643bbbd534d2e5772d979d16da1cbf1462fd4f52c30467022cec2fc2e36e2d3078e856b25fad074e29d0e448b0a5aea5f9e6aea929ac27bfa616fe628e8ecf902b13ca74e3373eb2dcb59c17f5346886cc24e1235968007a55faa25faeed82e036a09007a66faf3c4eed56d9adaa6f7407d5603f9a2a386657721ad4419293a03f3c2448cc943a211df79f764b681d0bdd0fb4ecaa0edb6d7e8c1365c4abe2004c26ce7cf2a36d94d0b17fd0724557c0a2730d2f3eefde10ec52e3cec57bc3705bc338bc5236eb3b5262eb9429959cfc0821fac05d1d36b857efb1bd1098a85063bfe7746c09576ba321e397634d1e07f817e7885e9d2e31052677a531365fa077c1a72080eb2e960a67d378a3f8c0f69edb60a3101f76fe4ea73db5cba317e00026144a626f8e2d74e0d0db1dccc7cc1f4c712d6bcc665a4adca6f8ab32b83013c41b6f8e85774166f9f204b9b75ce0242fbccb593a22b00ebfcf0c1e6192a07e6b48ac0ac41ac28c1127f97b33b2ae85c9e55937f7084ca6752dbf238a37d079b7e0ad04cec6aa5848d324cc1c0bee3ff7eb5bfe9039fcdf69a678d0be496007bcb8fd637288ad20982a5ee8b49baae1236f7fc64cfac7495521837d3842600684f9cc6fc028f1ac3fb1fb79237e6be239bef4696aafd76d8b417e02597dc021409fbe9594833f376aea4d358def46539a10cc938b152b076db05fe18bb2c024b696fc40ea91326df75a22d5fc22fb9874a585c1fed7aacb4951c3e2d476c0529ab1730ab8901101bf3be2b492ae26c49b7114a733d1eb3544efd5ab416df00646b558a0283b99e32424cd475539ee14dcbdf65df072f0a0135f68e83756f07997c49f54253c0021bcb6926e9dd1c70eec31198f41bd6f5ba76f8923cd41107201e7f4c16ddf95a0f49d44494affbf68a3d33026336430709e0f4b1e2205105c3f7c5efafa87662553ddd1723f0d4e7801e620cfae8a16e1fadba849ffce60129183f4a3aa2c19b6cd8641496909f2144d1c35da4926b0df52f3729df537506f42d32b0336e7b5a9ac5ba2dd63ff3057540cb8871f6b7b9486ddef8d75669004dadaee8c82562040e1b224ad88c15994eca11240de4dec3378eb55db651c201c9cf56422f1f9f16ffb4c2192ab114fe2410679f2e4da4d72324e862db671600aeb78106afa1c49f48d53177a968a397891322a8846d701aac3e960e019a2101f9e123b1fc22ef7df293492201eb07450ef31640a755d2b1eddeaa84bea05e030c5d1410a06250755377d4c0a3524f3feb888ed0d8a9a24aac306c97dfbdf305897977835aad2dfa775a369c428511bb1c2549b58f1f1088d2ca16fbee551306d67a15d4a1870fa684e48e765b56d0a47108a5a20b651f9cec88f16a3893b20750bae7b66417f8fb3a45f44b0a9a3d0e80956e7aad2b9cc86bc48b3f9201d50543b581262aceb892f19dec695eb83e22851e12c723126a5e6744108de7dd49034239be784dfe7828356e3415a870094ff64d31a6bf5a7da200596a94c9856307d76396f3821ab01ad197b6056ce3698d3fac8ad2834d35a8ade943b0ae128606a31cdaca52a4215a23d66a87b25d67bfafdf7c692966c0773b539c6a724dcb04c61e758127c564b1da7d5f38c92118000582d9d9bb62d5251c75e072f9dc80006853fb1e6fd87d205584fb060f1e0d1dbe5ba85e6c429162b7fd9c5f26deae04f6f8bf5ccf585e01d55cbc446063edd31943df089b3d2016b8650d3960862704c2f5e8bfb856f1ddb7b3124cbe8d2b3c8c5692e98ffe9e3fc111961c40a10d016c0b6c54c7bcc4848755985822e511c288f9c684a4185715c7f3fda331956e03d14beeb3e4160f2f3a442b9f040f22e8fd2f02f43427e996a02d5328e2d8650339b635ba86856c6592ffb0da1f7c3beaa9e667b798384e3f54882671d5c4c7020f372b6671a897cabb9cb51219905c37adc464128a1b1b7c444053e291d55d03355a3f34183c4fb9f36df27a1b8430683b0931bc8f8b4f77d2e36a3a630c2b04e8416e2bf268b13c2e0ee6d6eda3ce58c267c7e1e8a093f8cb70f9929cbd7d04e6d8eeb07fe21f342c13fd08b2e3c208715d5f45beaafa2ba6cd6e16e75b290776e26e217c817848c0bfdf7f21eddc9a3e17b55a14a4d321504984f251d63c05fe27d1fd513a1e4bffc47f36cb51e621b5ecab446ae8444674e0f067482eb402df25ca51245827bbc8fa8837280b27010f0dcc8cf510449757eff7e4aa324702606b29f9e9eea4fbd536e4864252e6559f29c4374cae6dd49edb39a79a52de060cc4c0e8dba35e27fd2268ba2a58ed36570cb17f4a3d94ccf0ba345d8cb3b00416db1a95917999fb05e08174337e1f2adf3b7bfc89cd2cc4b1ee055ffe67d00763c66206befdb2718e01994f3c4e61d4e19d40439ffa6565bac2779b90d1ec0584542c8ad34211b8511226f3dd0f9812a93f3d3b206866f852d802ec54dd6701b0a339f2832eff31b539d6e3ddeadc04c026f830d5ab92c3531b15ff5d8a590647da2a835bfa07e78116240037e1e52b3b6dcf8c0e0f5b356dd744b8be536f038ab7fe076e53280aea0026c30ebcd6802ebe6c3b17852373f06b1d95a08e00044a9ab7af5df0e41b8344eba545f44d449383a98865a0d32c1b86b9d9ff40900586072a4c213f9cd27775dc27b6f86d48bc720be8a6aa23f0da9e3ab0db5f2a07d8780216fbe121c47acf704b792640f634a60fa5bc0a38f70ea7f4df5d0d54008827745fea4c439bf2e7976a99b210357289fd21ba20ffebb7a6520093da8d0336ff57ca97edbb481a7bc4a00e9a0a8e36a658463192a08d7bac901324992a00a76357e91a2e119ce534c66fcca3d46060e92675926628881229f4b9359e6c06e265239bc9b33232ebef5a259453f58052538bcc93c608097f1787d3c0bcaf0647280b7bef7df532f8707a7f1a41085c8c38e6cdbedec6f62ca882c760128a05e2b18f2e55a3a423a76e93431c2eb3529e1d7e093ff2ba621a5a5f7b894b2405bde73cc5d18df98cda2e2be79e68b765c13bde6ad687bd6e152767686dc4b6027a6c456b510c33bbfea628be34e68aef0b83eecbf11ac6447b8f164d10100605c9870d76d5fa799ec78b3183d007301649521d2c3d1791fec53d82eeec8dc902075fcde7eec4019c31d94914b1f7a09ae11ee13b1995cae161142099e295ca05b54f6b3da147042ad056de4eb92699c98ba25781a196736789b9d4266f2dd1076a171de0c264397920717cdd4a451c9d652fc3ed1aa2dd76952474f0e7089a01f2fd9afcb5a1437ad82a6daa7e5ea719c6998d9cfba9345010fed2588eb53d021038e307591cecd95a178db6a8761ea44bb2e804f7d0c0aad64b9ce029f6a002eec30a47fc8dff6734487c51965d16b1156209e690c8e78afb87fe87bdbe450454a895eb30e14fec72e4433df78af3f8890d7d0c50534759125f88acae4971026fae26469cd6368949a21a5e135800636a053534e2a9cd3b8abf9e57240eee011247e0d8a8c5ca155e6fd32dcfecb7efe9bd852cd324099e191f725c23b20d00364aa33ff587440b041b9ec6f38710b6ca770dabbff1e819fecd06590fc7b806d29d9f45c649630a08b801dd1e8d23812fb1f11ac9afda9988675e30725de5029f65e2d782e8a21aa97371990b69cc5248b2cfd78ecaf0376fdba6988894850074e219daadce35c96c75e3ae878d1233faa2b0dd6135b3b6321d62cd01c26700fdcb1bf83db7098e6a3502f03c31f825f80d98640fc962b4152c29507bf8ec068dc18a2c2d0dcf4b08aab83e4a9e80d893a9fa560aad59d09021fd5022400306ea2eff5a42c7e14f5c3bc7f69b1fb8893eba0702a0e1f735f46d5b5a1c2169064ad59dc246f8059d089276876307b4ac0be1da89100104857cd136ca4aea3b0453fa316f90963d5e67ae15dfc1b308a98f09490a3e60ac27f9759d1a41ba5102144bc9b614a7b9af4d53bee93f9ad855d94f6e4664c26f727ad7c58eaa0623059b4a0f2d090488c991ef9f509a3b82f76c2e9e6cc02717c86fb603e1f3ec7e004797c5edaea37866cd2f840457b4de286f20a3c0b50a13dfb2d4a26c76b4bd05cc408acaee6394ea0a50675e5aeec78d49bbd91a86de027b61d0302c9ebc70023bf2f46799ee25812a66e2e4687811daf6aa547edf85e801918e6d4c8836390605c64930396400c4d4cb650b96e422b8d606a3cf1dfe848445cbedb62f0d3e066d55f8bbd94e8a7ced97115fe4720c6ede2ff551b65a1c32703dbb22bb787401ce494ef306d276220683d5830a808230d0f2466350f9b0a14d79977fb5b85506e65c902d59f2301bfb5e3d5c8c349e194e5b4daec20582d3caf327e31f92ce03e063d19de5d70801278624150827d47f5646e0e743ba333d28d43efc4365aa0654658f48f9b1c5e327b0b83321dc12f998b204db7179d066f7be6b62983cff07ebd44a0181a2930d36073d4e1908ba7f3a972caa2a317eaa5d34f83cb5fc840147cb6c1b1706258ac1078323edc70199a105de0b0b489e7d873fc55280f98204ee6ed0c93985f1543d68ee97061c615b4cd99130f7e07a311a9f37c52734fa02edefe5f015a8e0570aa61e6917cf3498b077a410eac51241ac0b787ceb58a300733732e9ebb41e15f4e3df5034d9495649d59b9ae1f9d1e4e7491f456dab5e05ba9ec68218362ecddc9a1925f3fa9ffd91eb89784bacb1b4f097d5183ea5cb058e8cc0fea0fddd541d51277c73d4ae6579b4c12d6b8ed212bd8124b179002907fe43ca726341737dac08d55332120cf1d3bc5ea7df8fa616688ea8cd21cebf009c795b38732d131de5d24bb1d52ab8ddf421a7d2de2fd0700b1a5da9056b9e047353afc77736301071e2c1929d9a3d9c9f7ff7b6904868c52003cb5f8b8723078f0e9a2f9edae143351ae9d19525d7f62106166c43df7ed8cf86873c1e8f7205619b960aab230c5f2c707995a11ffea400acf8f5c81fc8fcc92b827a0816c801d4cc49711b1442206d33a06034a186f31e15130aa7724f2596754afa83f37200db3a4df33680c98084da50fa78a85e172eeab5d45f3de2378a30cd4e0655f703dd5bc93cca9bffc6cee2ca2f3690f9b52d8599dbd7bbd3b8972bfd99d50163023ad4c336a6dd47664d1162e37795174831c45faac433846e65c7582550372a066204dd51673dafd533cb8f414ea295693a2094a4409f2b5aa26bc7e23b123005700b53720542ef1817e8ef3c2548e3d617394e8619be7d9a0b2303a1390eea067b0f03ea31533d5790a6f938948f57d27e4703a85efb3a05dbf6cbf88d236905d14e750e4360423666ce2eea9ff0cbf0c1f309a4e5df975c043796b3c496a60584c221b12be61ed6c96a0ae53f8af932ab5466782bc4a049a4c5b3167498ec06e9d8ede27793c2fff17b422d5400a5f50151f94ad186109972b789d3ab297305d7c81d5fe45c310131c0f68ba385026c287ff2ca17d5c06b0ae005870f978b07cd50e2ccc2f2ff7a89baed885ba79ca5c66bd3dd494cc7ba384594d55fe8f003f547b5dd761922aee3be781474f1ae053b6f585c03d4122bc745e342c5106d06ad44b269bd7bcf8783e8da36395b4b4a947110f3f675bd9d26c097b721e94d07af5b0ebe8e788cd3d2727121c04483d242711a3ca0ae22493d7d1546729dea017e922af815af415cedf13a36f807f1407dbcd7b88e5c4039906b8736700bbc039ad48153150ce82d34966bb9fc913333e90563538b5d40ef021c72b6392989043ee275dcd41f76796bf2b56972737c202af39bffa020c60c6979f3d24fed0b01fda1117204a2f607ebf02d7e6855f320dd72f6233adaa1fa11949948e90b8d0485a9641db07208bd54316d78233360d1df05d920bbd1e1e60f5201f6dd8d9307c1e5c4ca9664721e65229082d8b0043d8909492800d460e1fa526b455374ce04d642a368b46477f0a15f9b2c53c86a7bb35e91a0ef52a9f0e7ccbb603f6bfa05ce5480ea7437153540244c02f57181bec84f035ae44128841c39241e7fdeaf03b5ac72323a124b2c0ab8ff91f2ad24fc19d698d54140594a6b0b9a01f8c5aa03db06af5bfe611216a329d2f1619789646e5550e1c944c80cf19c600fa7a4b503e4dd5e2ee6163505783f31a7812700530f30bd6023baabeb490f4bda06d9e0031ba3f2c87725ca923d658e34bfd3e45b283fa6d4b1b4e8e0ea90ed6050aaa80050096bda9a1732b9516d31b53c1fbce9a2b1c2c8b5267be40656b299b18b05074b4e72a80d52e2766eabc5b61d0ef52424fab6a0a07975922ce11c537d4182072d4d4f5a582bf96a76c74755b95685c7054a95bdab36a7459d2bd193e7ad2206eb73ea10485a54caaf9b4ac7e260bd7ee21fe5cb10e2ee8a91dacb5a0fa0c1073866cc2ffad23120522b9bcbd6dd392bffd5d6d32616f0e641b0a9fafe78ba016cc5da73d6f1310986ece346f22240b43c94e4d5ed8b5552c4469a956b8de701ddc1a1a610c8a9e3eb420611c1f51cc23fec136c3b5b5333fced52d808ddb1019e850c773cb1e0d5cbdd215013cd95f9264a83c0d268bfb204bf4f68fb853505dd04287bca5f882e35bfe4c2ef70a5b95b3530640edbb45e010b1ce50326e40473c1c3c688c100371f7205971b6d903b9d4ba0376b445258014f91e0b300ac046bc30f26fcafd52b8b19c8c2b81c829cd0c7c5c4d826bf64d24ab80a3e91d2002d1012a0b35fb554b8c7559195de9d123b8ab885a156f992a552c934bd6ef307f28664f9dec88f339ed10cf207e2cdfa8ed7ed4c9d03612f829c4917da9efb03ffd48b4cc3b85620138945cbac502329b456ea16355cf9bad3f5f9af412e51017e6b8ac92b471c8cf4d17709a3d9d7400e88f6f8b9787c6a637e33a8f765ff07d3ded592618897d22c8da7376f812f511af5aea22385112d6fd6ce76ec386c07051e1316a4b866641bd33e56639ee624731f1a4135b1d3b7802cec2e302f09004e51ad7acef8d785bb20540776c14761070533acc2408aa3e9008cf2e365bd067d6b0f1a1b5e63d4e9171eb1ba88f72bcccde0c71f00e5882cf03925545bff069f36823bd70b77a92a3d954de7a2b964d5d80d79500a04bee11df7226c604b0435008a018216b0936c66a644649bb37418fee8877f211b521988fb8dc4d62903ab0d4fc49492245e4e1af5cbf412a4bc9346b63ecc74ad69ced1b98c211d260184b6c3cc9bd0049d38e7c41a8afdd5f317f73bfdfe058401ce59c8076fbc66045b92850d3f9bd46efa547d61a70351fbd8c60f3acfbcf6d3dbe83321dec62e032ee7822ccda19d2a407073da5139a7a793cc13ff892198b1d9bc7f26f14c7400f8893b57611ba4b9d9f1688cf0f8d439ff6bfb1ee2296cf2f86b6c89c8596802b4ae3db5a33278054eb43e8c648bc2fe76b9e96a9c35f6fe320d19dd35c041034c3e105d0530580288554cda6a01275c7ed9061dc1219fa4e3e5b6240b3771028b9df4d2ea8f4e58412e1e37b5f5b5481f2e2ee40bf87fa36e175f5e3b3e990036d4253ccd1912003763f6cf6432e65ac2ec2a89cbc8a3b67a2f088c37658e02ed57428bdd24facb2c5f73a696c664838126989029842971ec2a625edbbc4f00af4398477f5d16cd8c75a3ec1738d38b5fe40588a9c6c1a137906f59269c2d05a95a22f323659192b08c7eb064c0006f6e1f0c57a088b446556ad987ce4a7206d768da45e856a22ab67a393c607b6ef05a577be834f527d54bdb0319ceb09602fceb27095d7d121f6f90381dfd1acf673cf965e6bf949865fcf56bb40a84d103209be808c8798d5cfbdc466dda113e8ad42d1085a99ee39e2c09df5fda802e05a83b0ce36cd03a53ba059655bfb0650ee3d455924b4028abb8ddd73dfeb65603cfaa2f260626a4b0616c9583de6940e220dd2c1521dd146701d2a746824a1f0623991b0137bb6176e22b64c1af2562b388b21a226bbc74ef37de18d47347680799ad148dadfd8652c8276f95ce346978ad201b88e23e023d46affc11db584a059f8873a71e0951699ab7738fddfc9508f53058b04d9035772eb586f86fc288040495d8d75d7d0cd0f075ff22da3549ff273ae0fe2d31bebfbf327d8e5007f1062cfbc553397ac8ca963d91168bb61d89c7814593e633d618d2905a1963f66e014c9e5a425e70cd2a1639acc888b155d9d732e94bf2cafff6fa32d5998ea79e025063103db577752ba2ee5e77735e1010c719e2da30759d71744b717283c71b021679a454663d4f7ad2efe34c66efb1c477d0f77f3a63c6e771c9c16dfc9ea900aae90b8072c04100b9a8cabafaa012f2cbf741de2da606c38152697e7b0068003d95281e2fef88b470f2b02edc96580e58de83d2738daf8993040825c83b6202171cda864d8f1d64bebb7e63e691f2efea5813309fd48d91a6cdec8a6d08c306f62ba5f779a79a0940ae444d870814e2413ddaa7b9379f572de779a95ce6e107502314bdc4ec2547b3f9815182eb508e091a4490593029008d73b12184ab85042aa49e49fb40b17ff209532ec918f1619f39ae4864c3cbc9ebfe5196195e0901b36e8a8ca9b37d737ab4a3b30f4ee15d7135afdba7babbeb2af01317b694ef023fd7fe9b60c246ef5f6cfc37acd166729a6d0257247f8ff0eac1b3230502990639ff95708eea9b32a39d92962de742d14d62ab9eeaf70d44ae5e0b4349c72a079f097c555b2aac1576dfd053e453adfaadfe7b3bf51410b349341e0808312907c1f91e06eb6af2eb1e21c114fbaa5858297cb1634aa76bbc2a830e0f43c07101d2f44fe75de5ca11d017aa186fe6f1228d3f4014a65c0d740634278f3b1f74075df5644a123cc9f254f0337a6c8c95b78514a4057dbd6246e9b3e95f14709d06e1315c88572b34d6fbe81e131acda22a0973a0d13314b211133b2199f767f30586bad548a4e516b7412f9e75350c02bb6c9ca9ee230d86451c2ca13b40bf7a05af192025c16cfb8f79b2b46c6c7a45d65bd26b2bc71e8f5fa2c940960c292d027c6b1143101f0fd0fb04cd67917b07f99c7991b6de51616fa9f18158fb7cb802be3d42594472842e7c6b0b82d1caaf7005fd9532d67879a44d780adf37d1ab07eef131df4928085950e4f6b8f88394163ee8b8ba864b1b5604ff34447ce3d50040065e81583152219ddb83b62678dab30864be3de241fea813780b174cf79303364f0255849d5fd038842cd04ab6bbd92687a4455a00cb657591ae78044d2400a6e6fa2364c1634661ed8c389560906b7808d0ed88264e48e95e4b2408b75a07c176c44f31c534851d3f46fb21832303bd31a837ac850eaae5baf3e1e4c38600d47b9a6b119c5f86ecc7b5d9f8513567d64785a1cc4e41d524debac28a389600d3d5d8c7a438301bb81e4248b3bf8e0616cce765825057c88833a6b29be18304983a44e7a756840f883ae91883c1f7d8394913c2607866263c6b418bbae1690277e717556cb67769edf720bea810e92edf4282797eaa96ae86d4430817b96d026a1b4f24e5cfe3b14abc6c0595502e266817301eda53791545497896d9bb5b050bbf825bc1d84b28aabdcb782ba53069162ce12e07930b7438a262fbde2ec40700167c596abac7efe090ba37c6e972f5d0f4cd2a4e8286b725cbd2f3b1ad9a07a586f043ba5718b7071ddbcace3ebedc7f5262eba405d13eba6bf2b695bf2105af3deda7c8bcd4feb0e3173bf028f6364a7346e9ddae93b8e6c9a3bfaecd7200389cdbf35018923ce02b0238988267e0447112fd2edb2ffb9d90e3f95fae3d048b52bbc6ba6be72cb652e19c4aae42b1fb113c46dc60943df1c8d1063d5fe90182603f53ba0d034a5a3d6f4bba261f87ba16e10fba50f24cbbfb16eadd5e5706dc6a5727e0347e225cd3432a685dcec164dc457cddb9a872d1d48ae7d556e10268cf2032cea41502e75995f93f44b782573a2438cc72ec2c10dc281398fa3800e4a475028f16a448d214b5b760963f0d2eeb2227595e2304ebb8f11ee5a25503c3cb871b7d9063dd4bffdda1ff1628a2811fd1aea09754aa049848c2e937fb0421e3b4052449cad19f4206bce5713953f94aad6f0128a1baac14b43f18b7d803892be6d542790f7b68e27b6d56909f050984c18d373cad70ea7521e417f71004f15a2219e8b5d0e9bc8ba39c07eb3575ef2a8837357cd06923d75507c752f404a8044680fe56578fb516318d7e68ed3872305c0398824232813409cf444e13000423472cb21ad3ed431ede33eb31bc89c3dd2f9b78a355645325e164aedb7707c6501f6114cad9701188f4b3a4758881577ba19a5aed0c270c96bbf3ce2333042015fcfbd06c2bca6f8d5645d1aceb52b9aedfb5d6b33f383a5e46ef0b3df7061d4b8677d28a3560d9d9c8986c3f018377711ff3c428996409d0e38162d5cb040c47ed0581ae37d9b60ec2d1ce6c0c82dcbd90aea9b8149ee1f23b85b929990572daa5f36bca300942a8c70502241700f30d3792b3005761236b9ea8025849019d8f3d217980858ac691adac8bc3ce01afca44902edefce2a951e484e990cb07a6eba76c1cf180dc4d07e487d04154f92bea2598b3ff3505c475f31f067c63035af7e6d1c8dc4ae32442d876ef548cb1398d609fb874f9a263d4c478c05b3c005d9657f7a774016a95ad967e2c0e489a2bf637e4b5cd194f922c27a2192e16008871988fdbf1f52a1880836242bba5f745ef1b36070e972c68c45dac95c86306cb2c93235e883e6a9ddd1f0344e7c41387ae77aca57f7d6ddeddd3028ffab904d79dd3e57ffd23fb9ca99c9b99d140daa06704e58e85770331ac525be89dae013efa35e6f22ced06851d542b337bdf181c51054f027f3e9d6a25db4ce974cf0101b58f04b6238348ff3407981116d7dca77c03a03a2fb35f15d62bd1b60a7f06829691b18415581b08e8e507e9eead3896d47b866aeeb58f3259b601c9f0ab0487add6b0cc10fe294c8c01e8d1ae9e1463e7de8205bc60528f058d5806db9403b1d58df2dfa2aab6b2dfa3fe58bf2fd1d9809f493af30176a586a3856baa25008290eae4eedced3aef20a83d9cd43a0a2d17751b535f4465fa0bfb1be837ac07ebceac26c0332488d1dc2e7382bc5c8a26ce99f91df1902c934b92f7fb689405d42bbe750997b37e4508c85a7436ac4e6f6e6bcd521ff1740c109b42bfdb5900c10b3949006c747d1fd14e3391ad64afe5b45a0a473c3d461e235b2b06e15f00791bda26cc76ecaa31ef1ef1a0b09734287654836c3e54e0f419e1c404d31a05a2f20b6b89489e267efd18adb8f10a004a24b3277992cf58388930a05e38b4000067db64fdd9a726f0fd0381ffb1354d10955a41099d5ecf5a370a5eae5429022e08b7500af4c037ba28c7607a7881595d2faceb2289d262e2c57707eee20a01e25122129dffd6d017f25e52e628caa2fe87ed3ca656dd39f7da4c208cf13003a427a42dd1153a1a18db767d9d6fe9fd9ff3d7a48ba8a4148fa99d4024851403eb685e357adef0a75171725a0b447f4ab5a601e151f12ef0227430e32bc4fc007e144002ef1da6854ceb34237505520df319397c65bd6f4ab3f8d56b5a5af203156d7a941fbe8146ae68f3d6c0b7fc1bc1a508a7d137aff305da1f95386e87079b8a5b5e06429e9918fe5eaca94a52446b992b3a301abd6a9f490efab7fc6b050bb50d0dd2ec73b8941d9e41354a541b27169b6d294ccc4bafa7cfdef7b8d10411f5c3ed0788400eab23fbf260ab214872529f85dd7510d5da688a41796e9301bd08b1490b47ddccf10746189a7475e9965f911fdb160a74f0f999d2766781065b22a341008688c1298a922285a3dfecfb9fb8fdd8d65381bdd76637f49d1000e959588747cb5bad3f9223665ee2e43db107b1224c6a3282cb698e889cde0100af0203c9f2e57015cde75b10f364f08af6d67be1cac25fc1158edc9a4bdc3800c02648ee3631f7daf3131f69ac7132a5769be352e18adbc1c79e1dec2cbbda00b4f12c39d3566591d5fee9327ee063c574b2a06fe7be74ce8e04dae85714520481d38f75d635ca98527d3aa5d1b26f266bde6045897fac5d7fb262263f36870445edd88d8c37bd3db6d7b62edc7bdec7f98c8b8d4bfd8ddcd3f77966fcd47d0595cbcde8ed61a846a1576a8d73219d6347a92af82b43a76e1eb9c43f4735790722caa6039367f9674638c9adc3610fa1e571c655dfa65a7139ac7f8adbd021075aa11036772cf39864d4fd7b1a8a07de17d345d68943342fef0dfc4b8b1bd302776072eea6c39ac50b4a0de2d2391ebe0188f9ac47ad8e134c4da0df80dfe7048ec909a20a118415a80b203c530b8e8aa068cb717454cadcff12f01693ad1004a539aa437d5f4306122c701606baad7bf86f9d9407db98718bd6bbf8f1110c041b17951c1f51df98822bc0c19e1bd9a2eb476de96e1ff8578aa479487077dd0031bb018ada5fd234b1d19f61b68a1c1d6c5180e9f0445c769a1c17b5bbf7c507e724b19bcc7cc96a1e041517750f320b7fd6fe5f2aae55000b05522bd8e2ea0543a7e6657a92a9d0366824b2d7728875d4634328e808e9c00fbb21526db60b03f9f95158e2ecf9049cc917dd8e6d02133dc97c5e85816e489a7aca7280aa980307235e8b6a586f1d3f91b84c3923085aac0edc0f6b08d3b6abb65027c0b8c50691f776d97d76beb4bd975a6255085e714163c01d1436ade12e99b72e7f13db06277d3525aae67cf90bcbdc6990eb5eccca7b08d25a4200f528dd80ec03a7f70031755f5763ef1354f3db66d7e1462e7e13969f87ce4b29f3531eb3198f225002de6ab5c0f4a377ee74694f9a4b6f6eaf61129a7035346d71daf13b9bde6d7b049fc39b7206c4bfb09aa54e04e3ee1d1f4a92db1550a6ef7e6d816c0b32096f0308c95a56f27c473ad1329f84d6a96c70f783b042a6d94fa85ad4119370cd3100702e32933a77757cfb342c99300ecef21d05f7bdee8e518ea6204705135b7202fb9989a213c4f24f44758fe9d135a2af02bade428067571926ba3a283a2a010347df05fe93f411fab4b90aa057d5972e5c5a65577e29c8de8ea132a669b59c01003de1cf780038c84e331fe5926b653d00dbe917a0132e0e23a39664c8e092059f557631193dd2a9d57b5827e7402e0a4835c1a0bfcd1184fd2fbff34123780008e05a7deb6adb0e7549c00e4b6f6e87b7f3ec31876cf762cfe643d69bad7506c79031d093e4f0e8e722a56ba2e13e6696fe63330377bd365b252fd59e891104915544b6f25d566117fde2bb0e389a2bcc2939a6f1be4082c81b853759052705c4f09f42abf46c20b709c7ccdeacc0b915d268748e6c4266f8d9cd96a20b600588db8f8ce5d60f66b38828cdd1f1665252d9c59f3d8c3180f8fadb7be84d81024600f3d20e052e56fabecb8c42c74d657a71aa2d96df07ba487cbeaf4ac56f06c609548693d0d6fc21d213ba361cb6a9853a1d7f3a84be79317e5583feb5bf06967f0134aa636a436d37b8596022682656df44cb805609dd2cc150a4c4c3c3078026c98af64d7d1e4c11f50a9150a95005bf51b8bcd531c1ae8d63b0ca8e23068edd29ece0e2bdc8f50a9d15b8e6f2759aa727d8ebd6db2bfc59785c336a2402dcf1dbeceae3524e38acad0b764012241ec67e9a235f85d950a6d46daf928b01669037aee85c52c851c3e16816fe6e7a219a44973b423bc8dcadacafe4c14d01b5e60c969c666da2deb1ea583aa649d50cd68d08f4a9ba804e66b150a7d89c02c66f19841679cbfd94bf4dede6d088c1a2cc2a34713e4c898e80b98ea8481d02a67bc74835ec8b41c45c39ebc12db21b42e1d12b10596ebffb2690010257a904d3b0cd78f0f74fab4eb5dab99fa72b21a8a0cbf412939ef416278a522c3e47040deaf8f53b86519ad0b02c7638eb6aa619205fcc875a93a589c42fe1a544500049c6cf995c437f7fea8344de095542aab432379a10afa9be422df2f8e9bbc40140794804f6b13b1aee8fd914511da8cf205343209741a31fc734027495f4bd07aee70cf402c2a62db620b9f8fe2a10443848b11927723c51c5a8a68debd1e5065836575dfd01c39b988888778862b1cb4fdadb556a1914a1cd10071969fa560024b103bb76b7dc4d7a02c5398e963663e286949cdeb79c487b9ca015a9eab00667e7914c022ea14c96ce919cfd0482121320bd53e6f851f2cb98385c9d676806c3f6b62db43b02da76b4901d61f4e4faa5873319b9d1b63d04d30e48ebdd5e07b3a3a7a62ae8a584702a1d5ed8dcfe019ee3320c32ee9702cc8107dc38460705cac2a4de1fa0101adfe4ded13565b637c3ee0cccc65656f3f9662a913e0cf706fdd1793a86efb21610e56232448d0b7b36ab790c3d7478058f56f9f3d1d2c10492ffee50e8bbf6c8a8cb0c4b4e46185f3ff78cd6575bdf44b117cd4d42f53600e7378e0503550df19e241708c501e60673edf89e393a912ee47d113db08e5e064249a5ee4b29cc74e6177342b8721e67383590488cdf2d6d10512801d3f07f02703b960bfe69fd37d4a6bcde6b3d9bf19ce984823fcc5faa7de4c5f712372000f1c61b7daa73b2fcb320bcfb3cd8ab0249122907761c00074254c5cbc4d5da0629b412ffd4956790862a37261ad766e571a6a3fa4f3dc59bbccbea702dcb9d0684614f047e384739962d533bc8ffc341511aa1d36a09af289de63d7f040af001da90817a003f8f1d5e8fc3b8c68951d3a69067e49ebe2ee2ca7b05b62357f7065cccfff96cdc9fdf583f8cc25044bc8b91695663341e302bcfc602f395c6fa017e28d0a29ab2d46508d46cc9531335e896ba0dcddba735e0fa951864c0a29a00f65bc371b85168b4d9381c6f2f859ad3537b2311ff354ce16978f19cab9cb300855ff27ec5aa3107e781f66b620b9fcdc3758aaee3c0e316752daf8820a27507ee95ade53ca85286d0c9f6ee64dba7684cdfef56625cdb992ca42fe0b2140605abb51010e80fe6bfe6dd01f7da1dcd82764055d1d9fbf319856bf7becae4b30788bcfc6633a60c7206678638a0c932170cff5fc02b6b01334c18b6dfeb49e703c66faa5c4296268ca224556b96547497f3b4ad6d189829457758b329b283e3070cb3138eecc313ecab3b67001ac771426bc21075eccfdd4ccacadfad7f9ce600d46a6f353573f1c009161a7ee8419623f146751cf1162b4767b56023dcbee3036546bd6c75708a44468f83a1965d33b2054a1dd0f032515a284161528c0fb9019c106b88ce0f959accab5369cc8c3a99cdabdd7b508c07e307caaaabb37a7104b504cd9028b7c70f9993b7b5318d938d1713ec825907ead8943b658e13ba5405edcbe5c6d444093f0809719d25f25dc65287464d1fa3ad56325f075bbf1af10014df7c2f18486f9a9b87efbc78e71b81a84e1d6dee8c68414a6a07fe1cfd2a019363e565ce1a83b8897a88b464de13cef8cd91da2b69ab4e01d59731d1038b03e987b8d5bc0e47295fb349ee58cf0209083700493af9fd41799f36404a8901046af32116653f9ff1b01e34a1a27dac6b070207353c71a4c8502a946ced5c88038e0d3c73c118d776af330c3303aa39c27af84a9e8f27d4992610a313e84128033f8f720da5512e6b5950c8db84953fbde4b5b0141ff8b753acb98ef7d1096b01ff02e1e80d1b6339489fd9170e330f06d76e2abd176d104a82480af55d209b0326f21d407349d0ba6dcdf16fc069f2d2c9b908500c3791661ca429756d49b20516eaaa149e3bbc1165ed596984a99d7bbec90800c0730941da1e6199e2a608035a12c6a9bfd036a2d02ebcffc12071329c02342ebf172af34941c3f076fb18069801321a8298ebe106dd51406418871af477fd6d60e8759bb6023ad7ac3ab706941f5e6027766cfd046bcc086e39581d8d9502c207f5b3f38131469a81373904b59f6d20936aa973a555a939257f1df0e6f6f32bef16890bbd4c9f3632569603a276fc24c158ccfb4c826d1407d7b32706c3bc84f4693967dfc33bb35fdd6000fac7dc214bc9f51db2ecd7ce46f360b28ac7dd2c38dead2fc21fc6127cf6170251644b6960823ac499d709991e25c556449d37befa7dca749a20c8fb3fc74b03353637d8838eea12601c5d37d883b4f9e09e4fd76d591dc918390996932ff9054dc0a503611ee728ff42405a7ba9f05dd20fde26ebfecd900cb584a94a7433029742f3d82cdd5420bb0d1b5c8ce6d9fb46a18e0dbb7fcb591e06c5fe1efecc0668113a556dce9fb4357cd617451c45dadf63654b91c76e6882a019984fc09603feebc8d781254e5c0f56278c2038195d6fa270214cd230d07cb2c910a1385c07eeaff17b765013008624bf3605335862f402fd1c98b40228157554ccae79ec046c68dd646458d9044e699eb4f4ae50de0c77424e87805b2f614a04fbd144e00153a5aa3362037962e692241d4ac7e5b3d567ee8f4346e13eb6a000ba1efade05c59a33ff1396daa40a64e0292e249ee31db4973a64605593f8874daf8017d4074780358afad480a694538c7dfb60ae948f65815660cf5e0443cecaed9a915b06f13ca4916556482a1d3115acff986305e292f2b932c8c5f09aa7732d6e6c230090fcea9369886304a89fbdcb4727dfc2adcd4a29606b2a81196a95dbed6b97073867129a37d09e940cdcbcfc03a4fa8de90a0cb85f0611f1e92f8a564b120505edaf9b17e837faf85e84d1a38cfd30d2a0d9cc6a80a7844b7a0181da3e108505d09ef8393ed9f7d6237ebf2a08f5afa9569bf036e8a3459aee38f1de05f85d0114e123a4ee18bf7a64d2597d44bfdccc6be553bab447168986e0d72eb8635e03f330a06258bc7eae48828b3489fd32aa5f0a6a0621c582750994c7d0057c8a008c0a66333c77bf0dae3b2b7f6bf15ae4d3b2053fdb0973a74b5a1052b3ee8001867d71e0ca4de13a386d7a4e8269789abe8ae8c3540a464b0f9c3b88a3eee1029709ab230de44c618e3354245aafbc122bf7dc5cb4d91052befee91682c70000fd9cf154f8605da6522505b03013f28d9ba3ec325f9bc45711f2a5dbdd9fac01176bde234cc80085d05876ee683bd36f8b60459ff4a3baf4b566ba45fde6a0049fe4cc812b660dc32f511e1a4d532be24d6644544b88fec48d5352f3a615bc058149a0ad7527603ae8e3ebc61e7856c6b1ab8c7755761f58ed0edf3fd881af0101c3e91e0b9ec7f021681aa1dcca9f6e6f1a53125f42d7bf45197946a3eb0001ad4d181e3fb085f4d3bc307834827197f303f89c46137046608622219f3f6306d065dce881b5e749c4e19b542a2659ab32828625ec1d17e0f774102e38df9207035ce9cb37426e8e48ceb1aef19d4b8e419956c6a7208d513aa2a47ac381e205391897cb27fc2d81ce2423094d9f45ea43df7af1dc0a707448aa398ebdeecc0321284e80afc00a6d864bdfe4bf1e6f16e745deece6a83c00893ee84042be1c05dcc7474bd0179bce041b223dc98ddab4f044d9065c524dbfeba3c74afd3761033c43063f1c5f0ef318b8832719eafad356a7f433c0855472e47cabde462142076125d2dbab8e52439900f6a310c5cf68e05193eaf62083b569ca7ad1823ec0037fa86ffc4af2c4f021dd26acfb1b12de40e215621485ffb7321a9112c01e7507f7c110f4f0c019c5204a31944ea527b91d51975fb9573d3fb6be14f630465505fd308fc26fd8684aa33e903ec16b19a4d83cccfecd570a855bd041d12c4e5607d745d46d763bda56823b9a3e51505a3a9c608bf3a4dd64570c2586107563d8060b243c3dfd8440ef56119d4fc40b8fd7556ecdd295c5af10253250adf5059c0454d290acf96912ba3e1b00ebe3fd096383f8af0973127a7fd6bc4c72ddc3d30097dd3e10d8d0d6ca2eb60664f3ebf5b84ff33333edfd991754a22b9a113f5b0387ef97b3829df2db8f95985f71e79b9942a42351a0b3a8e89ad886e2ae45dc01f19b1b1288f1ac49a0d4244cda18988cd59ea7e851c808d1583a0bcfb96715064e1b77ee7305179934a9089b0e43cf682b3800d91e44dd14b92003e0c1a7de043a908b1b6842ba50534c51429ec560c153ecb93c387e469cb53bc99db6d99701c9e964a61a38e881d3181cc21f24feb824d03808a4913c6be1a8e0cf4001f400f0e5e1ae935c33ddbb27c32cf1e0673a763e35ae2da47210da59a1b4c7f76802642e0335c333593980bbcafe38a579485c809c68c7aae9082bddabec665c7f02591c0a13f0905c011ec877f5539928c6322c2d0d5a81284a1e993f966fe3ea069437d3988be7f4fa7c9c6293644c5bc89f63d5e8c2b0a29fa2ec6b1cfc8a60002641946dee7ef240af51b00a4a1c005c7b51dd1bd02752fb64ce99cbc0a509004ac1f2523736738bc5e22247d8184eb12ca2272bfc92e45a7748936a6fc9970074c4dc7f730706eac0a98fb829a1bf87a1b552a6db23a5a90c55d7c56d074a00d006c20b379b0040947e1731fcf29d5f3722e4098ed9f34b4563d66168c22502765cedd0e14d746c7cd22b2be7990c7a6b4ca912dbc74d35936553776030d50197131aaad8b8428fea9c99479b39f9f665e5121c851a270d453bce5dd760e105e27945e0d4044c243cd446872c3620000321c018aa9f277b8d79dd95ced3e105fc23759816730b7e45f06dcac010d0db72c1c87a7dbbc02a94aa340dd6dc89017b943eafb8d199e6a092e60a320019053a05e1b2ca4e6f7ece237e55ce5a77070f3039ae4dcbbcc68e97f54072ea3dc907feb83d7004e030e15d01b4cc22e10048eae52ad928ea3c2eb32cc228d545602b9412f34df9cbd1e2548ad63b2e7507599686759432df4e5faffa662bfe837fcba7d1976cc8a62bf33ded0db4632903953eb43c1b2786235a0544f08b8150143c879c936eaa1e2aaf0bc9385785da03e9c9e8f4dce9a20188fcc32d5870b1c63a28dc4d78e36b3d037defdfe73fb4040ee3805086a44afb863f2d057ae13ce4367274f3da9acbcc4d044dc1d291a6071185948383992f76d28da94801e98f8087537b3e7314ce7a12cf06f5ca15c10700f32cfa5f6ba552c49d7bc67acd2360a9e723cb2fe25a76303815c7d2b431036d5ba30419f6c4e262749b05e0a719edc4ba4716916e2ed983e3a94644dc2d036c21d16880b12e3b117ddf0455bf97a57906eecf317dbc90e104c3687132ac03349304367845c680d0a6a6bbd821c5701711c8753f29bc705929e87875735d02fccdd3f90d659809461cc02c1b9e3b3144d3978b06a8208dca692e5272a468008f4d1574e599ec937040c172695e7c5a798873adae14bc9d4a142eefda45b205b4b86581a4cb32d1e0e0d39effe78edf22e64229677df915b87a5fc38e61bf040eca774cbce94db42c6e0b9a9320b6663fb033d46ebe080a60478fc965f9380675e64db3379512c46ccc9aacea0ca985229c8c10637f784dc25916974747ea01d2f8fa131f890c881f4dca71577eff75f88ec0e59498879d9d5991f279412007a4ce8c76e14f079bbc674ccec3c28d4f76d2c6e2a27a7d04ce6444763c75d60604752428eec7a2c3821ce9e008032a6e7175ac13f96df9c92a638c803b6e4b020fe7834ff97d8cb4f287653d210d232f1eac8fb2b59d80be48bc144b7bd952034b89d2b369ee6d567d07ef2b89f3ae7a28884a5c6b33ec8f5730f6bcc1eaaa05a6555c04bd4e391368003d8a8977b5b1d10a9c88577c0b3aa605c6177d12f402d3de1b96758d05f42c34c8d07b0634544f17a091ec979fb2b57dc8357db54900a200d5898883da063984905f82656510ba0454dab3c20526e34b074e87b7fe00622655db5bbecd20472edad2d9ca31f231de53106ff36e3a794cf0def5d1ed04ecb1e20f9b6c844a7bfb963e7b44879139471f7ca05d58fe65af3b6bee9c000114f185bcb5b4cd58bc53c79e0ecd67dc7c0a6500db0eafe9951c095c28ee010311ba9eacb84ad1cab40081b6c4ff4d28b19ae80c90d9ac3fa27841a06c6ba3050fe632f6b1aa295ce3833c388e963dcc6bd2ea90533b429d3afd1f07e5655d0532c2a113c81444041e3dcd205df7457f5d5723a4dcd8d900230fa0e63f2e75035e12b2d0461db5ec2917b3c09ad5fdfe15e2b2f2017af4d9d17e68bc928af00536c4d006107c3e4e2b30875805e2fc29cfe9fd3faaef62e5c081b89d7fff3c007a332b8494fb0a8415b4127a05d960d8c4becd1167fcd2b415e4e3222bc49206e17b874cc07d1176026db60040aa1faaad67e7a4ecd38fbd94cd8ac8b58b7b04080f77306f0c9ccdce2f1a4ee25284101bc0177e8b7b9780575448399d368e01bdc8ec3d87295c8edec0e4f9e67aeab69f69312dbca6431e43b7553c0adf4006682f5b6e5719923b99d55a1992cfd44813eceba114d1da77f11d1428094a5e05b24cdbe6e8e5d353e3b2c5d8cead21401784cc1f5768047d0e691cca61663500dd91e5090be268ac06816665f51c06b993260d7e623d7ad497a48b9cfcb38505b94d6743954efe3331c3e5bde85660224707480d25fe9172f138641f08e43f039d75507d028a5724d3db26eb3815b0daa0ad87887aa11139ddbbb5bfb9e58202df707312ece457af10cfa9171f121987db9306101984c4138db6ab328c169101bc91cca677eb8624d233ffec534c417ca5fd273114ebf91cb553a5a45865120677d387664979a48b56fc5a3c86f88ff5e29fa0c1bddf2f26cc6b84676bc69f0270d932daac8eecce9954952693ba345d769363ab24d96ce2920773364ced5206a3a712f32ae5d907c3ad650e6ec7a8df3e8024b1a9326ae60d2f0dc94f05b6070823830bdcbec081252cc8e91cc6e04bced0c3c7dc2352c3f5c1c76a780bd50202972245e29d06a32b16f542d2e14d9164e7d637542bec4e6e933a8f47746302f387c0327ceab67b99f3567afbfd42f41d6da0e35647cd89353af9f46ac6480569a371b2e1ad4bc98322bb46e471581abbc6b497bc7a766660cb6c0a73d0dc03f59ee07adc9d2482f86c58627caea27b2c40b1d7864d54b209eee4656540900508d08af9a7df610027b2a13abfe894fd2a1e660daac2d7e700b0a2e6c5334c06142ba1019852c6338dfe0c5fb941c34ef8487952a38713fdb8c9f5d4096300052f6ecaf666e5825dfd6cb667a6204705b15d0b3ef15b8d0c9eaae16366f0d500fa4f010398d4bdcae90ba3bb8281874688c3f879c363a62563723cdae7d46f02c3671b8a3441974e75057027795bfd86d167dfb6ad6d97bca64f3d3435bdc800354f28e6f0c37e3714e2bd01b30b7fd3921243fb84055c5459ab6162fa27580620b1a46d4be6d29dd19df746ade3ad3dd51e091baccd52ebda29e2ad3751620401b1ebffc3f55ba1b911ddddb7eaf2c4df8887943bc4c2464598ea2c0cdcb001d5fa43b6247a3c3a096a8d6949ca78c953fc655cff32b3b3e62423d6432d39033172f1709221df105dfa4fcd5cd4342fe397e6341efbef205b7a08290b3ffd046fbe0f9ee9b9e3abcde688a23ba2663ad7ed3a97e12f50489bf856c970901d044cf1daedbdfbae73b5b3952bf37b735fe38d26f00f4c8a8edaa32bc450e45a00b8662e2e2bc955fd425215d4c8e38d6e0d89a94f9a7e159405a3ee5867739703a2021c6b712e6ff76f59e4e553091ee2bbe181b85cf3147bdf5333dc1f6e8b067750f3c13d09be3578932c4fb4798ff4418d285d5de31ecc1e38d7cf298dbd047b487be7b44a0526d87fd2714ebd4b959835fac8e2dfacc7f9f4f796d8f9960783d64f5b1ceb65710008b126ad9ac2ab9f8940892a9f6238fbf226b187fddf027e5afe6e23fe5401d1708b0a95684b3f6a84b12b629a2c4380a47659423508072484922e8cd5ca49020aa00bbcc2c452c244843e2578c6489941b0dba9f6f304c7f8c52ac091a3baf76b76e92096a8d0b057fbe20c6136297631ce140942ab035f452bc4f6526f277a6c80cdaefeb50ea8a8c3226e57b762009787258c65a60297957a5d4898976f9bf7fa3a0c2805ce86427b344013ed9a1c7f708933def603ff92941dfb8971cda377e2059c4cd4876ec9c9b0d3f0aba0be7e8a8cb5c04703562dff87a33571f0fcb382733e6d87fd408efaf614f1706c32f0b35e59fcc804012c5e0b9c6f43155fc299e3afcde2b2a8191263a2f89ee88b7812be049cb301b23f36cd470f9387b6bb1138787687849eccda912f1aba9e1db4d3a2a83d3d06da589cefd9b7173992a726c568d0affd9946cd10244bda15ff1b47ce5a5ca4012fdddfa26d369aaea2c050c456e770540e814a6d3f836f2d3779d0130dba0e07f36d9ca04fe4fbaed900102854507cc89f88dafdf1e7648debc69310149a87016fa1241d8bb4238dff6cb87d0a083e16997bcdf9fbcb7909b4e43b214e1b5c045f370b4071e2b8e9121c560133c29a520be3e63cdf2ca5f97130d7c883f48e03467755c1d9ae66587ff60db7bb998cfc5ba8c35e40a8ce86303504c8edec17023a4f3e4b571f886e89882261e6cf702b613fb483afe15e0fe0120f15d6f33001a7da3ffc11e5eb599d8120af4aa4d984670b44f7f0179b23635db51c6f96f80424c07806c24f78c5ff3a044cffee50a493908b77527ace106320576a5b5fb1042628628e217a0cc280cd91813331f9b76451fb5910577bf8e7825a638eb02e048046b2c06d202a823604a6fe7d238d1fe53cb2ed7a2ee706d74306bdadba27055329772d55b13cdfb0d9f91d8a7ad8b4106de8b0418cf3d85b13775ad304a2059eebbb55e57e1f4ac524edf03a1a5762fc900bbd4aa0e5d60052cc52870a58067f4be973e2d76ae2d8d3abd745aeceb46c4e44182e5fe30eebf63422157309014d0657115f8349e7f794171c9b5b931e9e310e14ebbcb5f40156deb0e224b0027aa2bc133be4bc3497ea3a648a2ae366c06e725344a5eccc6cefe9f91b5c37068f1bd9d22608dab1e2918295941e7edf076b68b6210321843747cca874307101ac1d71fc2708777d4cdf36ecc7f75a3a7ae173f7980d5f3e02e54bf31489bf026b3af57a5741cd67117bc1be1f6c5d009991db5fcaaa52950197ac9af1852607c971f53d7e4a3bad24695e309af1ad98906f3b71b16300d700d9f42dcd566104feb271257f77486bd6c54ea9b36ec72d4fb078bfb970c37e39c9c0b764b6f804d9689837a4f51517ca80417122bf047d6dc415f88ed69fd87a5d0ccfd636eb027537795eb58ab5049dde19ebb48c9e52a966de1bd3a98b086b95a46d5f745906b133b5f290becdb11a386d170ec49babb6cab40eaf07c92b4ccf1b83fcf1a0018ea21a456087257027ba1625456bec3c35739b3584fca651f3c848579fd57a015a40278225112d15728ed9444cdbaab9fce8c9d98eb584ce91f6626d5c8a8505c49573301a3a48460af47a39006bc11327910215f7c09d2675370368c2907f0452710fd2120df9dabe5d7b26263d68fc0dc4a1062b9f3be8da9f969f31364b00f57cca483d8c20825a58740a1287a4afcb9bd499531545987bad346e2f96e0008d3cf44ab6c91364ce75d71c377f558423795238f6d66cc91049aa5c1a54b4010f856db76068efd192841a630b87ef4dceddf6c76b031ad759bb97955543a705ebca5bc86e86ae345a839a76003169ac437484a97baacdb14616af98100f7d04454a7696187d3db2b55feda0f18fdbb9cc7a6f76a01b5025c20876eaea00b401a55e64173a424292ddf3b2a35e7c6b418b66aa9025da0297481619d026b701078c1972c7c115c90c1c32fb0b4705c5f06c5f2e86efa6e678a08ad67e35c36101dfc1ab1be31719b7c6b71b6164428fa568ae0379b97e6f9def08066ea57148060c123d91e38a9e943af55cf257b17fa0e56b14f24d71bb98e9dfd9abc6071f03399250ef4a5eff96e2495f29d97afe35112a91db0835cdb71c4cc95d97bcda07b5d3faa2f7e5548397622e4c1ecc3770277969f1e4ea0244cafacac8ec19690615f76899199c41782e9e3a63d511ef75f9782a292b0107979b190ffd7f3600016ff765aee5e3e2ba92cb8693e300329a7b0fa67534f5f364182b9027ae35090348dc554cc7d4f94543d2824ea18d153d4daaa0dfe509c291067f71b87e4e3c06e86097cac2631bbe251e418f6f2d3125de343011995e57cbbf5a441b7123aa03355b885782ede68d8a5ea10972b45613a4a6f08f9e9ea0b6a2c581dc020573017fb1b924e87d3515f86aa842dcd6f7964e52a585dcab55bbfa0e244490eb7b035e941a30e0f3ef24b2c99b4c7db43922b4ff5dc6ebddf73d1ce4c29819d0460012f3fb8db7bac98a4dff798a0664ac65a8f6c20e1ece4bcde43be9078fdb5206aeaedf985571085e28d94421090b049358249136b38fb002cadb28b9cd815f0025df8c2b7d3d6fc467d5f9d9ffc797eb00a99ca48e2177cc324453817d878102526480a5ec7634ff1edfe628b14dee639d3435888a586a67a8e7499e2347250621e10ef8f838ddb90233183a81e2b194043f416c74a9cc6da678d4745baecd07ff78fc454a976def7030d28fa37f9d18af99aef8acd16f7606cdac2cfd4368024d217069ac569d313cdc50cf7e7993f2d9b021a3035266a410906b3db3849c078098b9501d881ed5761e01c4c5d54beb54e681215e6f3ed6c95a5d526e5c730723d64fd6e54683826aba330a9471e5332d97cdb36a9033b02b50b9377be3e900b217f834615f58ce5a115d674bde932a56e70aa19c31de378bfe9e7607bcbe050e114a86b7c411856accd2b71dd7a7b46dcb6dfda09758c6fb06d098e710970321e90b8ede0195ed63c67901ccc33636e214774474a71d6655aab67af442f601bed977a0caf78e1b74b58358a07ee5455d7b73cc74ebebf2fa17b9cd1f6b27049277941484811e4ed67aae263048f1431202f17b65a96919d138b80914098f034e0685b4122374d5973b28f2fd28cc3f8b8f803aeb2401ac64ac8a447afc6307adc013fcf8346cf795620b544a186ccac6bbced7e230818093370c9801458303e07943a891df62f81a07e19b6d68403195025bdbd7f3a0dab2f858c60fa07d0582350974cf5e7b6615185fb5a5fbbcac6edf92d113f1165e420f17fca3139a06f4a314f18556a9f210e282a0a027e81458ec2fcf630108ef0a43a1d800051d0070f8c17aa708cce0b42b34e17415cb624123a28d3c9a9db7de84773ce0c8df0573c907903b89265de5283310065a392905c732efa4b5ebf73fef895d7be1ed010130cdc8a4010396a4bba33860bf4089b1ddfa4fe90da14cc5c1bff06fe5d00412307dd4de5e058967f9c5df568fcd4ccd70c6d6e090a650df3b00f26dd8ee06d8838c988007be4d2874b78f7d9ca4880dc6d936f188c9d944b48aa08a56bf00256d8b1e78b1dd9b338f290aa62eeac95c7f59374fb2f8535f3f9e21f82d0403e285b3472d0dc4a3f340b547f6c38f8f6fe4b5a6f0584dddee9f78f21fa99e02b5bfaf44b7cb436fb7e2ddb85509dcb393914b9131a155cb387eaac8b7670a00fd85540167f8fe76cf5ced38f609b19c6e36241d07490d280029692837665307bca67a593f31a5f5aeed28eb8ee96b605d721820b0ab23e54d5baaa16313860288c334c0db314cb5de395e3703b2ad33d4f09c3523915563464b7be9c4a572070cdb5184f2774854ec31e5f92c6dcfebc79d3cecb70069c524df856a3c9ea406824dd98adf6cc3ab2a384cabfdfc35213f4f05080da8fc4d50319959e89085031cfb4362249f9fa881a8083d9f04455c997e0187fb78ef2acbb8e0e60a7365026dd28a01514924cea5dafdbc689006d14219bf5443dba4ecb9cf4104d78d2002acb2e77502b882c4194041adffbd12420df68a0fa37773adc7ca83f3c5da7e03f68e38e3ef5e4371bccca916684c270c033734292ac63eac013fbf90a1ec9b027ca2861f387af932aad4fc33e920e1b4648c10ffd17c330afb7e7c6e4d29aa00f7dd93f6669df253e44f62daa439b2557287903cda280f7bb09b55d88f530d0696d9754b00b0ec9bf7051349e1cbbab204fb1a9c31234a1c3bbb7f6340cd2602d9723f43ee6ab45c505c725c51ed9a2476f6117905b4952d31d6edf5e4f83b00a295548abc98d903c27bf6c91f8a98a202faa6fee181f093f5e3ff7211a933001aece85cc61583715a3a9d8c964879ea17bd9adaf0eaf21692d9bc05be8871050b267758a0081b19b41373f664fd444634f821097e4d2befaab0677f7d47bb016f4fa358fcae23fb0718a0dd5a6eb274f22174ec1195f29eed6d0d78e5fc210492cb622180d0a6715ca028fffcaf5eac37e7cfffc2cef3862b15df6ad8cc3f02c7c90b360588081135d78f03fc11cea405e035d0acc5880992c42b1769453207d823c118fb9e9b7b39f46a1efcddf6006ec921a75a3f5431e0560163158f3005cd3cd89d1c1087c47881f6b92d56fbefd33797ce5c5c2729ac81352d17f1210183068c3e5f186cfe4b499e0128968a94aa66374aca77e6b3ccdc9c8b22b836018f7d308c529c92ebef2cd32613dbeae27522cb3837230ac3fb217bf0229aa400d2a6c96f29c2158d9647c219cc9ac0fd627b14ba86cdd6a6ac0cd5e8cbab1701fa0017008f576e4da4038780568bd9d51b2f8a1ffaa5669037c5ee8d24e4da0122892e142a1fe6c526ca6562d81424c0f1950c55ac1e3897bd5dcad85beaa20760f96dc009baab9f5bcd873ba42cd576cb96a625f388546ac8106a4871acbb000b5e79a11646d61f6c67a080a752927891f7c99a917b891ee92c35cbd5f260024a2dae38fef1b2d3e88b3c76b9da4074020377fa7e77abc3ecc377514199e4058fcfd265c2c20d23ddc121edcae30da9307888348d10ffeb0da3b25ad8434901494dee922d2ef4fef80df547757b87f0d950518399a7189bb72ec41ab5c09700a4bf291b4d7ed9c11eb9c364cf43d2cf47d50d2e344b25a8e529da06479c6802c31295263e9c61c5afc8db52586ed7132fafcfbd6d0cc8f1717b2d927187a706c5fe422efe8c123f961e90d36514f010dcbe0a55ae2c41610b9147422b6b54013a674376e353a6efa65997f903917a0482946000ea433b3e897503ee5f51ab02ce4cb3086bd60103103969a573bccb9507fa58e7d145f2c9a8493a5c590dc1068d7625b6d7046bedc03eb4074b2e79ddbc2df5ee36631c0ba9dd2d083cb18300e00556376d027bd8e3ba5ef0d1e9450e33ae6a7bad9a76bd53532ddfaea53c056da98bebe0bfdd4f644de60f53c9606ce3c6dd34a9ac7bf06451b7e5a02e5a03d487818deacdbc11a4bdab6e9ab46f2c7c9a74166dda4d9e8b38c4810a805b05d55c4448256128d937faa7116315c4f53946fed6afd2d6caad5f032994212f019b7ddc8494acaa2479c8465181d16a152f3a5ce39f5b4226ec5291edd1dc6a0495f486f563231537acd814d7c5d22a678465eccb8c2e6d21aeeb4f3d2fa97101edc147843c46c15d65efb0bc048b6dfcf7b3ae55dd45ff4c024c137d0e0c03016de0c51accf9821e5ef2cadd9cf3ca51e8e0889d007c971fbb0176c0840b8400a1a8e632c0a7f724de9222cf1d693ff03c3eb58e56754fdfb7b81f7386c65406bb7046ed10f3042c5a66a5d59a862da50fb9667b48c34b707df44f6b6ef8d70797729724a17b4de66e95c7b075cc9e579629c558b8c6afbfbf2a3c42ea6e530086b1eddd673de75c37e754be62725a8f8e06dc84208855e93024988f80971d027cfb0b44b6e97d14a19919a9192c6a893ab93e44ee95304acccab7734a050300ac4f785d8962349bfbbb8da4062689852a681693982858d48f5191596f57a603976d7a94fb4885ab862eb6637d6c06fbe31a691451466fc5f83e602adc447103d5ff838eade3e5e9456571bbc56b95200c5ee186e97dcc0be891eaf37b2415061801800636ea8c3b195d9a7e9f1b23fc7194d6c7c3c6d66540a41aad64e29e05634c3cebb8ece46d9d4fc982784ed092d5221ed5270a1c88de11989d72b77d037780e453aa7ef56db1a2966ba918df9630f1474f3ea3c8ac047eab3e04f11b00beea0a2fc0827d4566bfd0e83d7d33e909f54f04f489c289e3706e678973f002eb8e8ca1ce1076612a62d878dd7a34f12907eb89c351338da5fd6865aa33d4003606fd81ff12884a8eb3f470b4f0bc85013ad50fdd56937cd0e47c9b3f82b601ad25a1ab593c1ae8e5175158fa20e4cd2dd0bf23f080a16e693d553cca75f600392355ee77bdddae6555914cff8c31288657fe8eb8ef98099c76fc3008fa0f054958f68390a9872dbda9e9bc7b15a8dcc8b1e221151dfbc0c2875c55e045f402699f48136209c283053f6958a50946f6504858441bfa525a8f4745509ceb7a04642ec33db746e1b233ffe40fafacb8e2d86cb5c2acbe119a7c72d912c1211b0519c7cde5c516040463656d152a065fccf7ed3c8c098229d29a374164b4676102f4adfbddf966c401bac514372d397ab4531c37384139bdb121bb78bef3d03a07e7c2decc5d49b0bd4c6c4c6d649d90349fcefca1da4e948ab78355e558efb707f70d0fea2a6bebd6da01e01e4c0d4a14b1398d4822cf1cba18093ea7dfc87501d3e425d96d9aed519a262b5b9106b121bfebc945f89b432c29c65ba279234c00b0fdd119f47b19024a337f92465ef8815db3189cacc920a1bfae2d2e62cebe07230512a491a2c8d23be6cd8c31ab3a87f6c77b1432696b222c2b124548f366054214f46f06e29decc1b3a4060a0d9531db91ee8a9956c08eb44a36615c832f0388071bff71c8543b4874e1792771becd82ef80520ae6dbc9f87f80b4c9443c03971f7f7c563e1de42e6aee492cfd76cfda7246027bfb6d3517196ca49639f3020c812213e2b862a44f9c490bc24bb458431e93552ddaaecd7bba296affb9440233777faec63660fd064d1de6792db985839d522ca6a6f2a685249157fa494e0751a630ab281092e426e93e0c90b9775c8eb7e7008e5ba476a5a71e17b1b44400ce7e52bde4db87408c50b2c5a8a4e39354567325946fc3bdc735e673430e8c035c402c167def89b28ad4eaba4646d58dfbbeff809c0e3110f78b3ab6fd743300c8fa563e90ba50c46c40a8281752de69becc8e8ae730b4b9d8407736514a5601db9a57e317c69cb8d931981a6ed671e4d5ab5dacf082d4564450ce4b70732501a2277c5218cb57735a3d9f50582a164b4fdb7d020e6139d73745217d28961103a0d3201084250fc10cc7904fe21780fcd7d492c5f40639b1084876909ee0bd06785334f4923442f1759031da4c551102a64a08dd602c6555a93fa7ae20c4840004ac43934553349c451ea737e8b396ceb331c9f33f82cf88e00346ec3196ad04d7371459dfcf5c01eb65d146eae0efcc0c9b4218b22d8ca0143eb95bd6fbe902a9d46d76d97a58ba77fa045864b640f151e7887af0fade1252f232fa74f4ac061ccaa408330798953c57334b1acd0b4578b7e2b0b79a5477041455304c7459007545ac13b80da2128933df4bb3781e4101388703fa81287202f388b7f058bc0171c43983a5a373e38b0a6f71779013886e019d9efa38e8141824ccbf66c338036c521eb4be7309ec0d7558462fab9d8784e8839a2ddd1dff88fd0cc36a972e0324099efc04ea0d4bbcecb132824fc0ab9f010653eeef60919179452cd110c701627577c9802e4071a551dacc736f0b682774542653551f5161bbf4553f9d270443eb5fc84095468aeb6c8cc07dc2eca72e8ba84699dc6e608bb1bbc3b11acf07f9c49329e720dee55b1b92e6f36ced3ad8921774c3bcef7b679c0f3c3cc759060153129a3f9daaa51e77d8518a655d8f8c17e8cd409824f5da38e054227fe603e95743a389d8d3b6986c15370c7892a93422ce050d74f511b8a5ea0e00a15b05ac8e9425c5e57ab8dd255ea9f43da150ad6d0022be77f30025feca500327fe0228d37da222c9a91a9d54158a2166affb208bd5b945600023b35ed41c91157802bcb8a695b44bb6e747c9eb863f7ac7e7a1fedce342a720ac1ec01710514c4c009f1c91686bcb0d7fef769fa8d51035ab0765595f4f0b9e0258334bd773089f074b8f2bed9f871a65cde0d9bd7c815da838555c2404f96fd6ad874386868a7802c0afb010a2d9b89589f7d9dcedf133856b299e04ca9b2f206b77daa366a5a801849989bbd2e32dfdf84e98a026764fb4e9305e577c4c5461b1ec08718ecc7f000809989746311014afc12af049152bac77b9d2c40b9c4f3abf8c4e02d08df1048c0ce3e8c79798f76e34d45cb477df1f30b4cd932c106e20e1b6b8f5d1a1d004b8be6608a73546002709fa13d3d5a97d8c97a01a2472b0506d195df8da5e8c0320c9a49d9059efc35fc3334b6c628dcd24dc9bcb88042f22db2d6bb7b2bc6d010f5c1a030180b614116483afb985ad7558602b5c2b626d0d2abd746b70bac406b6473523cb85b8e718aae1a7f9131e0a2408a5f7d30cc98e3700f6ca6067d205ea38446f2815240ef1a82153216ef6aae608ced4219d7797911d998156be030444134c61d074fa40cc1f760f1f112e0b7c7a5fdd19bc0815e41ede6f7a7c2002d13656be82279a93d32d84c07f8196ecb702b257fe9211d77aac6c1b6196c004b0c1e47d0eb6d8698acfe6976b1092197360214db7af45d5f6d25e64aa9dad0003aa04bf104634168dd23f9687a8bd0581b30b4e38ea35cd51c8f3de44a4c705c04f333ff40fafaddd4cefa040d7246d169717ede5682c119624b474e1c190005721954601df844d834f913ab1d05c572234f4e02103f8fef4930260f2dc050374039ee09312111e27618e542d378de7b1a0a637fbd7c66195120bd0cf1a1e01758b930b565679f23b78833bf2cbceac80b740a4a2cbac5f1bc42ab1cee72c05c7c8abd3ab52906eb9a5dcecede2b295bb864920113f704b067c572d41805d03c137b4ac18f6b5241fb538d2444a2cc77f1c4759f1fdc50ee61043e2665e3607df57d0f05b0c887dcda2781c3980a8ed1aa9b525e95a69b6af9d4b7675a781060ed7f3fa44fbb4455ab727733d68e27570ad3a1d04134ad56c3adcd04c7fde0062bbb38f29d28df7b2278ddac46178f54e812c1102a6c340eec2cf9a7ec07b06bb9f5594505128532ffcb08cae2686e0ddbf03f7ad398007f8b7342240e8f4006cee1606b00f6ca427badd3669ea31074b592b7648613b8dd419b9f9f3189407258db15799cd9ee250dea8dfb79fdf83c9293793a911519db7e256816e1b81062ad84d3dfd8fcf31f7c1e6f0f26468e3295e0dd877568c7a8e48cdb8d30f6e03c528d067c6cda6b29a3fd436be03c6e2bae15524c47669ae7a5e89f3b2632d04dfeb1f5021718c8ccc95fe747e47f8e7abf3451fd915cee0995ae2ee9f496801803cac43f80d2656ced69485c7b27d67d3ca93a61f7fed2a1527a967c54f490159199038a4d4bec9c2bd8b245298f61ea3f50ac3ea007b3e057a4ec05d37f3046decda17bebf2cede4668ad15a643e6b59d613b121155688856eea0280582a070dea2cfadfc2d43e47755a4f2436364eca451e76d94797bfe44531153a3dec04b04d4101f32a8d8775bcf83e4938141cd0705f7c540ca4f6876690317cf3070566b0b28da5f3fd01564355d1a1a916c69dfd8ef277b5e02adfed5abb7900de009f11382da520d7dc62f231e50ebf1d6ffb99a22745d448394472598d83b3f40020871cade7ced35edf09264bdcd73608b866f51052d3941dd44d69fcb45a76009480ca1d55b88103d83647f60fdf234b7ea7327690c45f4564faffb33331a20075c3d18c18a75d421e6641ce5a4605100012fca83a78ee531bb6654308b970008284f7205ee7d81ecaa5cf4a48b1b9be4c6b670fa3507f10f405beffad415e003104387fb215dcb12fe430465a738120a6fe5d2ba9c1fff8aa9ce2c111c4a504af3464e5246ca26bd289648df3fb89688b2026b87735faf3d7af549ae3a41107a1d2131f4c1b8169d9f4d7fb571542bdc583954ce673f1a86e9b0d2037d95306c6c89fe75e6d11077d855356cd9c10daa62f4868753eb8cfb7f01c9b83bfee00deca75c7eeb54ea84f34bb7546cbfac3d9380f456b87a55bb5da8ef739adc507e323eee30a98eb2b8f17488464eca9d1e7b374daa548e32e8790900dec7cf70449e626c08bcfa2fd99ff9a5a787f3197e8752fd8a77982fc81b82a9c44673906a85b91eab362cae56d201fb08be2c3d02daaf73ed89973b44a4689612f327d07503665b0c91338113556b4a02545a413a458eccf4c7a9ea5ae8d854ba6d32f05fa29379fc527595a1d1650a23057d88b1bc57cdf2d49cbfaf11003a946b539055a361183b91d28937a46e5284237f19f36f544e63aa6ec6a1272cd579be4a506530950c12d6badcfb3540da2cec41a79c0b1fa033155d9b1647ebcc97daa9d059841b64baaae4d3095c1475e79350991e7bcb6de890b6bfd43edbc20fd10ae06fda6bc81032dde44a32f209f3112ce880f05c4252180318d8a4205b452665507ff16bcfac919a949d3921f76ad86dbadfe4133efcbe32edd50e2c09f470344015ba66f18ca03b0d827defafa89815a4efb5203cc044b000a191fd4ae4309e005501a67a5e70b14dce57a85c62e12633cc063575ad7b22ada013309562be9b30052ecf15e69dd827068240239a79edf7fb5c8ce6b6a9c04913150dfe09ea8ca059bbbc70091ac8a7bf04dede24d3982771c61ffd679032ba4c8cc844e3f04380072cb8960ec3b271e60b463c13246957e282485a2fe7cb7adfcd946962fc530017cef39c4328523b6ce2537b5b792d962ac0db98daea8f260bb9bc4e1433f6f00868152fd75c97ce1d2644dbdb67bf16fb6f56356576a85c0ca800243ebe69300aa6b401a7b89c2428e0ae11729f6b43dfcd3591939d0a6f516784ec3c0fac205bab5e1b1f5faa3eb3dfb6e0fba0484e52849c7315b0896e1e0cdf1deb813a20084a675c82a26ed6ad286dbe5b91621f24ac2bdb9ab16f413de46f107afaf63063d1df15cccb4326661703bf64fe9071f6d1c37ea0c963a3dcda71b11b4de8600d3b72396a075716332e74d7fe7c74bc22f593f5554ce553ea89b0b6813960f01f4168622c148724c607205c8504c3ea6efbfa9b33154167ef83a81e9bd969f03a71f398328364e04a718c7b524209aaf115dac027cb8c528de688e5b383c5300bfba82e157cc158751ba97151aae4eb9f790ded69d4a2a332d0a9f55aae20703a82030fb05d734c363219af6e51f04358b162921333d0439ef6b27eeac847403250763ba7e425b673e5992d297b4f9ee0032f1876f2b8552025d635db28149054f5a724b660a73014fc8a1908ce401a5d36b462ba03306d0427c8c471582d701b6925ca4d38f29104ab895562dba4315058e44a06d01f0d72e5b4b60173fd007c376c7bd1e36daee5cb5434975dcc34a512611dd19ebac754257485bc9e26801429246012a969e1436e2f3f2307d782e4a2e955b0bb1e7b2abca7674032bfa025ddd94de1217dbed21ffd3fb27d9005e759cc0ac3f9428f261b7f066adb69e0227901be956ffdaa2062a313ec15828334015a5ea0d19d07fca6475c4b1886a063b5f6a8c9a029e81dd0f71b3b45dc4850dde19a4c9bbc29cdec28b341914ea03f38e1ee857553b4744266e067d0504bce6f9449b9faef71a68a0f92910dd7405622f8e5a94e7c763801cf10698205129f38f1ae5f1a6ce1affc762ad1e41dd04fb61722f6f76a01cc29ea04ef4df1b0cbab6df0af5961f1462541480c83cad04167d9717f9db0441dbed54029feba11cb450f751a6dfa2c870202391a9188100eb606f4b7ca6f4a0773ad5957972d0adc062f90c52a7a7378ab6293f6fdab202a3572aa1f49fba47a677264007798ab65b53fb856ed7a5e6a2786548f1b3b6027d6f6ac84d014524fa08d0598d64c601afdd9d7508ebcaa3b9feec0bcedeb104506b1ce5610417e7be159eb64723f83753244efc4fde7d6baea199a362ae6e065bfed183b7fde8dee45350afa57310afbb5ac8864a3239a270d73998bd559b058e35fbe55b2d31b325b63b281459a08e06313c1cf74e7171d139a6e627b06c05022ff6686e0982a7e4a475c0875a3bf2cacb9efc7ee52c7e37bab79bd2cb4d03c591ea4fa72cb5c234d696af02a7972a84771597a43facc773de6f5929ecac012669a2b7b6703cd28ea042076faf590e2ddb6d1593b5deefce94239f46e41c033b7c8895071aaadccd72983e60c0530d473a50de0707fa41a5208ec1a68a2d06fd03088b4fec4ef6b67de8913d36b01a161c8208846aedc2f93f783c5e7e0101673d0c4c9ae911034a1547d3e5e046ad9ebed7295c090c97f3e698333d9cf701d5ba2f1042f6210a47c6d448547f39e38ce15c69d630969fd1ef551515ec0b035d8912567d2718515e43cb44c384740e0e470aea4866f382ef36e23b87c9670523fde77c2ee54f84f6f88b1904996d11889d8cd2d2583209e687d50ed911980342eb597c71a8daa2726e82bb35075dfd8fda815187bee3976c87ca64c3055f01b614ba2236f89cc5233a0c200a08093bab351ec918632b0a660b3e41cf1d9c046daf9381d717cb2b4a054d04af56aed43bb7383d52a398fad145e71189b5bc00e7d6205a184c1510b3e91dfac719184547d00b44321940a7b18836b83f2d9c044453820c556466f9e2d75faea0e70c4d1caaafafcebedaa93cd2893c374bdf0470cac9616de3906cd924674086e75d9df73f848881392e7e0e05fa2eb0a3bc075bcae47c40c99b09f15703a0897fb27096e45ea53081ef4cff632f6e04537f032e6ca6108481d49774a7945e68d2fb21fd47177d0f2c83ba7074a14f537d7c001f6acb763727eb9f670d5295c6a6b1279dd26b7b5003e4a390662e93ab2666010fa34873167e847a25156c31f5e4424c4d7ad60cdcee53296b593f380b96c202cd81a06cc823dc5904292c3bcb03d47a6e86592691a8a55d191d430d50535900f3fa47c557b14a349afbf6f7ff9aa628877b7086871f4a5de296831be608da00c57be7db5878888bac874edbaee8d091012533419fbb74cffb5b4edb67960000e95c3b32a948822699f23b33b73978367f90344228a5924cff8eb8de1590c404e4ab698be94456290631ed8f904a7c900d102bbe99bdf3318584f3f749f95303903a1e53f73d4ec9decba297422589cd874922b83fdfb37e7271b6dec2a60d075be9ec5152c87a53fc769913885d57215346fc3d1f3613475ec34ebae909120550a066632f8b9fdf1d232222d1c7d3895453166c2cacc4bbcb50fc5b1eda09030c880bcc85c00affc7139258a3275f8d1741d2b378c1dc9ebb302422ca4271078c205204d30a4820273a696da64173b80742334d7540fa9690e63ac5685ba102ca3605310988d88555c3dfcfc2f8fc414df59bcdd0fdbe7a5d67d481531e8804b1cecaa12a1d33c6a48915d9cd9914335a530b631bc17ea91e89d4f796cc58031c3fac1789b1d867938ed60f3a61f0f4738af7b24d6c2c50b6d71e48d7043c0121c21e7182946fa9d1f4ed3771c41d55570d8f62549f59ae4d396d905859d300e577b74495b984f06ba16fc29ea750b927786f1d6c3d4e00654ed778e86a2f04a3a42ab47d5a41a0828574ab876e49ebaf9a68c4374e4af4fb93ee6baad6da06a4c22d027e56485cb0f5d18d232eb27a9369749ee52841dbccd67eb092e5a00188a8eb71a768571720a101742359395c679dc5ce5d95466b71bb2b3578f7d60320d8be15523d720f152570f4b3d6c2d79343125461c2be60f78ea380a1f86b0687584acb0817f643d15c2ed019491e8d3a94c62effb3f36ba319a421e96b4e070f2cb1b1cdc56af2dec4c177e3dcd263b1e12de5935a578f33cbfa1d297c2606c7189a91b06afdc028140f6b4cd4722ab18597d3ee099c370d714fafd71df802ff82b21ab4412e49631af2e6ee9767584b2b1eec13727fcfe7a063dcdfe30b01980e32b733409744b3f882b3a49bef5c9130b444ebb4b1f9638dfc4a55cb5c0145de0374b81dae1796b0fa76895986b2516f96a533689209d832f3de6bded3017408fc532da14a09f8813c49ef0bd97fb9e576b27721d051c9caf8fc5cd755053d8fd2198dde2e345e4766af2e90fb6167bc87a9fea1b95af8a74f74aab8de03d5e11e17b3e361ba98011772ed0538c92407a2e6aedf1918df7ca4c334f6ee00a0146fda7e01faafc84da50a6f45d79749a145dd43935572c8ac6b2844004d0280692609ac4c92e289c66d60cd54758a9dfcef57ef19ababac83a40c7aefca0701310cd14143f836a2aa49de8b4820dda8e93127417141d82a84aaf8702b10028fd6b7ad46a83bcbf1dec484c8efc5c2a8ba3007b34d776b0f65f91fc8281004569c01837d2daee014a411fd26a20f2a0aa0ac09ae85a002ab9df6a12a659005427a3db1a6024b9e71bef2721e06c02a458a271f845cd785dbfcf49cbc42b40309f2cb55d41a581e633c9e9cc5e94aa644027100d1597c8544d2b04b84859505ed86fa158343dff3aebe8f07e03972aa629a44b1132e7616b09c2ce281a5c6045c28cf8d08042d3ee87145425f4c8e27a0c91874c532992d84923e45f9b3000046410e844c3fcc0259f13696a8e0fab2cb422fd5c709cc10c57cb4e50ba5f00614107ff189e84d7bc776c05165f3e2bf22edbd461cb9304a89bf5ff3ca5c96014404f44dd2590ac5bce6fc07e531d03f8377f560aa6a931ef822226f6855c8066a936cc7dcb791a3c777aa64a58f10ea06e5d64b76a201e8d89cb7475fcd5a014b7edff7736156a1d50152c92f7a0c0ada219bd9dedcef7c13406bceec87320693388f07eb630f4912d45b3a5dc9a26113fd8bca7332c782affee85eb4f1ed04a540235d2d35d88ccd70ec5721124d086ebf7eafd35cfe9ab3a38d00bb0ba602bfaab6b09fa672d6955d2587b57711a64f82d8d01a4b65236606811e4f986001206d25c0796abce1801b7483a18f4360a1ecfe052c056d499495e64fb0b7ff03c32be5ce5ac976ed94b628dc5956d8ddd84ca652a4ce5a8b5d1c1977c2e93305d53eb3fd906f477272d1d00114b5e94b4008a196f0c1b1aa8e46e62bfb275d0369a75d9d5934bb55fda48af3f2e5cdf77e5037d8b9fb0dcebc0d59328a11c904375cf20061679b408da0a0edb81718f460eddcba5964437d169f2fe99c56e903757dac2d75627c0a46ea9288328d99d5e5609cb8db9afc28ed6789fe54e2fd0580b0b5b98cab80d30bfa06e11a7a084931284a1e1046208e2b467fd76cf85e0131aa1fbd2c6f9d24d5cd277019677eb3f2edbb5d14914f3f14d9747d16e98104f4c23b770b2a0ae74bd8fe5be2e811d9fd19f56cf465747b214cddb2695f33011d6eab514b115c24f9d6c2c35b4c221c1a95a79bd11d758a4335e82f84a0cf0751253406bbdd98dfa895e6707da592206ddd8fa1d06a49c7a90fe901a36e780380efba1618482f550e70c1dd9d84d5e56c9ee603029273a7b538ca303bfe5e02ee1dd956f7b945bf725b2611cb62b243d47b88dc1ab715c930a58c7de350a70781570c3c0edb6d656aeae672e79ba0ad8296a96090a0f753fc2715683acf6607c30ded4e48bf4e7d7a02170e9ac9921322a6b743192faf2929e763b1c93a8d07c5962548ab61ac65609b8fcbc2a22fd69d6516f1f3a1ffc14224eebdbb875205a8175aed89629c093c5a1c2adc4b177b61120899dc7d71e7a4c14d2263b978024ba3a966a3bbcf90dfad973796324cdb8b8fb649a8a933abc12566cb3c90900454f2373d2dda0ef66714fdf8b7d4624feede980d0e18182cad208d0b5558ca06cd376c238792ea723afcb4cccc15aeb6fcf60877ed7b184439380620f6126101fbc0f1696b0b36411d238f5ee6575443ecb1fefdce461bb37875721590d28005471cf09f2f984ca413ed26abd1bc6ac224eefba24edd5993874b12605ee0b2000f13a94ea5d05c1064e244c115b7cae7708a737772057c681da4be7d1910880511d09cac4a9f0d57a619bf88597951707819222df968dbeda74d570928b7b003f501df2fdccd1d5842ca78c91a42d63d5284234afb086fefe2a4fef43ee30603eb8b42c2fa26b0c9211279f8998b25d210948ece5b5692dc45db416fa810b204c241933c9e5988c258f51b60bd50941016be910b04fa7a8c4c351a4818ec6604aeb0a9cdcd1d7e095a88997940252ad583725f6a6ba15bf18de5becf84d0f806d889044317cd303e7a4880fef39d630836113abb747f636b2ce8a28990864904c248802a04cd6673c91dbd899c5a4fb838c01fc732d7d73a740ad946593ba90618a5f1e19d87677feebcff10a8d842d014e9d2db5478a2e3359816aa666d5907f1ea5185c269ae4ff26b3ecd2334db2784bf18df6333e36c8316f92e7ccbef01f74ea8b0ae10247c9be3c4c790339fddf9a437356b9c1d4806fd805c37614f07dc68c924f63b4dd9500ddf0ac943930de2ba7256e36ef513be93658fe68e4f020ad225582ed5348357ebf6e8c039200dedf7106f52f1d3f496c61a1789a6de034ad820d225639fbdea9d8635713c415da036cc10ca07ece7ff7e44b727a9df041eba7106a34b65a9aba471b9e293b38d4e8ec6c91ac1cf00397075873c28a202275927cc48c5b4380ebe69aa815fc870d370b8f25fc91fb34358d6ae1c95210764fdc347fb7feba7897b48a4827abdece2ba9ab7996bc167f8312779e378880406ef5ec08ba70ca5d9b8a5a2bd76df09586c6e1b0806417fdd69269787d7100146b7e0f731f0f445bf36f59c518ce93cd9831e2a2d7b69ab12fe746e9801f2072bcc760e5e0fbd46a38512274a4095d63b154b6d32c641e022a6a08089f1ae07ed6dd78bb197399dc73e55486529642766e9c554018478bd45fce9d61ab47b0461c9aee5ec5f3b23e1bce78ab44b0054b12158142f7aeabbbf3f1631f2ece9024fcc021b76867beb2da4d279158f28fbfbad3d3e9d605c76265fe9e313933a0198e81d004c6b6bb5f62e0c0fd0372b9fd3cf99f585892960a2d027c2bfc871014b95dc688462f5d38fd74237a6b579d78c50342cdb71519484ecba8a247e75026ded8f7d8a0ffcf0a65e377e2b994262f4c2c80a717068b69aa1dcbd19188c02fb5ea1e32a842bfaa86f9acddf2e142e8f133bdd4c8697383f2dba8385f36d023961cc7b9dd4023b917cb16061854932a480bc23e47b719a30f6591b7873bc0113e53af59338fdb05ed21d772d02683683d06edcfbb99893dbee03f8e66ddb01fc37e59410f9b118189a71a0e40398cd6449d23d2b13c209f193b9d7de6d8a07b4de905bf7a00f900c00c1af1edf3cdeb202714fcb56b35d3f511b5fcba27100c084720c09ed0dd120019b2ef062021cd5aff396a76c1196bc1877402a66ef07adde8930bc0f0320030bef4354110d4bf7678b508b12f1fde6f95642de593204e76d1e172cd24841e8571866a4fb561ee8806230ab93a6f0a90ed8c418833203c7deff965741f19c18ded4d14cb164dd29a7a9a0d2f2eb3a7c7a5e45837f5705241babdccc21a95a0fced812b3c3174f6aa71d5d408c0b9b7744620945d7dd006003f7040fe32f435daf1d160e4590bf2a521ceeb0ab9998a21fd79f9d05e6032a34f58fc230fb25986cbae86dcd804e0c5b3cd7b18557b71fe3737344c74100670bd79f3f56e0a5ff696dfad1d13b2e72b0735eab9ce6b85cdf1ec9fd88ce009fbe783dc5dd5fe7111283719e8537e87e517793dcdbda50f32f7f092192bf0158d6adc507379563d933a12d92cb40711ba8174693f59010eb6eee89888d2f02121c427ae248ab6a145ec1aff88cec0fc170b694e9cd3f0ce135fc3eae074003e0d3a0931733b431e3e8ebc6f62ce2655212cfcc64d562d967416f043e5fc2014bb86cf86ca9a9e0dabbf2b4c4cf331d50a2703070ba0ce88954c45675e689040f6c51aaeef8da2a12a673c2cf1c7917fe4f8970046e5972bd925556655ace05d110b4c503c0eabe1c27cef65fc3045b55079ae45a9335495e39e6bceae2570521fec80ec1adc5c6b0390c2e54a80d753098a2dac947953d6197f88accd5f106ad844da4537db8b4fd87c82b953e8553a02b94ed338be6a969fb8e93e4fcb800697d33d9e9a42a342f85670d9dd8a25d2a1b293476e9d0a9669492ba0f71b401fc0b4c5922adfec416c4d6e11f815a8cc1cb0bd7fde37ddfebd4bb02f3723307fd4978c6b4213eef1fbb25668371559bb18e679a5c9b7dae7d0ff846a08bcd052cac9e2efbae83198af1a345acaf723d268ccb3ab26addf529a976a6df987e07426df0834ed7d0b2765edd12dfa98b3daaf1c401a16418aa2520f03d9a358803f694e0a4b19e0333575e5cefef12ffe4b87b16c10b45e6ff2134b6dd6c967d0461081f26dc0f7b42aa8150b0033191a1c7bf6e7c553b385d5a0bb0760989f403fcbd57849356054751272ffc7f5e54c2ae6a626668caf53a34c793cc33093601d077c9e3c98b5bce7a5b4f3a44ed0e9ee7dcd89300dbf803c93447f8ce576f01f32b915bafb6f7a381ff2ece4cd3c75339afd8b997713c0078e7048aea9e950597fa173bfa3c2bc0020274996d4379a1bfdb5c65563a3bb235501977205e880410ae7cf04cb0dd7b8d9f4031b6ca5941e568111ff54aef9b0438a804f52214053b87bf113a15d58cd04ee827f4bbd055abf2d8ea85ed844a20931c6d3e829204cf2f270ae6aeaf56b545a835324b2163cc00e4d055949ef9c4ca1ea7de0dde056e48edb06d89905cec109bb266cf52f2b33c777486edede467593ce5a0878504bcadc5030928e923f8ea9d824e47498df11300375c5623f454824f4cb79eb507cc1eb508ff48b91c29032c337a9d55ababd13f6e3346f0a0bf8b4b240f1cc000e6d589bc0ccb9732cdcd96c7d2fe3e010bcaf043de4e395a0e3c0e3c123ced06eb3c00187371544264824ee87de9fd9c0fa48884e2c133333d64cc298dfa7404ef8b6b4dd255fead496a98f1e0522211de84a17742f219968d9a821c97029e0758a90cc1154615008c10e3e74a724066711914d1b9039022cff5bf48ca812b03f1ca1c32d2758e7532a63aaabe0b15247a316a9f6da76c3075d763ebaeb639000d306d2d00d915c909f3b4124294406ff3eceeb7225c964d43891eb1c6302700a7f83a0720afd766e9c35bc53ab8db5a52b57cfc3d68e62f63a487900668bd07a05ed3d4cd4942332558d51b9e813861060a21ae06fb27baa712fef4177e4e055883252dab2f446e0589cdbe5e06915046dd84cc17320011ae966126ab368e0708cd7ce8099eabf2079b2f163d44f600f64990e56f1ea0a19ce16d5d5555fc051490205b48a76bbff0f7ac5ab6067c7d0b2b685b2ff1ac406dfbdd5944c1550297bb25d2004ca82797ee7ef3ae26ef618843c6d146c6f1675bbb93fbf8e942050dd33c7ff7a1704a084909f6da815b8352874135804e2b023bd72f5269fc9a0411dbaa7f6933e63bdfcacdbfc88bfca6f579b7a759fd94dc11f328ab4fe4aa02765e24b1af9abd63f1989d93903e4ac9ee1cd550252956caeb4d0e4d27a6f700ac3e41ac45afe7abc0a1bf946834656d2ded7b3193252edf1b4ebe26c70a9c0081ee992380304bc977f954dc78822e1b334dc1a9781783247121033ea448f406de1c7861d0889a90a3ba30720c122d670cca7ba53f3c5f5a3247aedfc603d30027e96ba09798daba7ada60452b7c3a1920f23fb4be57aefd285edd81130df5055d33f6f734494c81c24024c9debde0b758b8461e2ece4fe1503860caf40edd06095f8188a9cb1b053cce2d8c8e70e05d25a633bbcd18fa2c32e31ee66794a401f6d4a752dab71533a1e2e519bceb46ca6c463535f0e5ecd60684190ca8bd62070d8b0ec982b8c86c4bfe90b7ef655045ca5b95fde29583b9fa0c121f3a4d42031fa706ebc6074709f44c585d4ce9a63472a004f4883b0c694ff8c5ccc500160355a5fcccd474a4554bfd7e4e9131e0f93fca25a71597be76ce649d540a58f7010e102a16935c6069ed0477ea67123fb3b414ac4b30a1a5003a04fb0a015f2d064413d832db84eb6138414812be24d61197fdd1c9e8b953d8fde65699076263035b6d43291b398136097c150d91cf758f5106bf524b54daef30b3935952719c07902b081835032ccf51bb02bda575cf4dba433d3d551cd86a0f5884e59fb1e402c3120033c166efbebc06516a67f31fc369a4f2b403c3c68e7db0d1173db43f03d2d9900878e303c6e5c4bb9eecd5ded3190496f4d3db10433211a94dce5a660337e2b8496d79b42c60506b8105c3b0c892470ed8f7c7b002da3062ba64eb9d0576b54b26afcc0607e7fde4dcb13340ce08d4cc95ac62ec369c460d5fa1525b06b95bddec74f7f42f49e542e34c1ebda85431bce8ca826347f81afb10a8adac00f645f2bdb84461b95cabd81b1eec54eabd1f7db88840269c8ecdbb1c5f455903d58d8db9960f7545c70f44032ca6049e9f1acc33d7e7be9db7803f7f544a33024335e57620ba398232bd28124df7c08edd13e284e5517d7238f4239e4ccc5a06df09f5d363a1d930756006bbe9d710302061441de81019405eef4c16fd8a18033e6d9e99c9b52ac3990844aa78dbb03cca82e4483c7143252843b7a572fcd907066537556f0a88351c12adc387d7a4bdf3f9314a3646133316e438bef410ed07ade82fe42eeef290d3bcb6771409e532abfee2e6b951bb6a7c4e86090752b5078fb0b136911f1ed6d66a5f03f32c94b0ba2c876149473e0e4a71ba5b502712020df2a152d99cc5fda99ee80a260c98a95d5c4f5c707476f36d91fa297de78005f319de7bcdbf42f8ecb914fc415f926e7f00f3427fb7c9b385bf7a6f8925f2063149e7f3896fdf78419185025ce159ae10669a48226b6e749844317a75503106314149f9a240f8bfa846db9a3cc005bfd993bef52553d692cfe7b0c4d787c503cf1268ecce1fe7bc56d0ea762e3906d1d3dc9d6cdc4bd7ed4c5910b84abec4029cd6d05faf5ff2c610fc3ca4c763ba52d4858942de40259d3b517bdada81df005fcc7c6f043bc1a9b9df29da02fccade08bb20f3bcca88dce622460675c456054ebd6f80ddd42ecade7bb1f3dbcb4faf01d8c39f23426eb3d5760368f6d63803d42e03250c02aae4902e7966d6abffa6fcdde0e9720ad81466baf490d1e2050057c68f5d1446f724a6674f3099e11445aef85880fdefb35920a000a22df3f003f9ad578f3b99666c48b46531e017927572c7d7899e0dc308d64dbaf7082bbb04729c2933d8318565fa5b6ddebd53e647f8d8703a81e0973af8ad42a8f3b77f05f74cdae3ba1b066c33834d79c9a8ef27dfc743eb8c0ca4c8aa77129609fddf0491a0e49865c030cf8daad83dc693995bc4bed5660497c30700206b469fbbfc06a2cde9e1848e3971b54ae1e262fa75835d359c5ddb3ca4f20e15662e3248160270228d93003b33f1167f59e9163bef768c763384bc74ba04163422735b0714049ec1f11ce7f8f2acbf91b8211ce90a8d0408106df5b449e96486116b2eac7506eabb38e75303aa99f2cc70a4ca4d294d4411dd43f1c2fc2221c67bd74f28cd01828128c3e745443588eb0d52e92187f6beee1ef2f9333ea0d4ec17afc862aa07ed0816c55643ba0828f9f436da72aca5b5de9f198dd0034747d472edbf2e910295d329bc527dd402cc089d69a67fdd9788d30aac4885f4417bba1247b6d35405dd80729887b6e4d67d6bbe700b2145c64bbd1e410b46d175171235095e79a4053d1328f019d58bb72f28dfb6dc33d4faa41345dd3f8166be50a86d8a1f79890272d4557469955dc533690b57c24883c261d5aa117e22fc72a586f7bfe9db0505fb1b6943bc8f1c21947923c07812bb12145ed57e9dcff76859a42db6df443e00425d0bf378a7fc197db47a4ea3234433e4ed16a97eceb28d0d1cd33c534de004a83fce21d8b7b4a1be74dda4c88692dbf059e9ad84e4c8b6dd6562e3bcf72702008b2e741f4ff98cdc3cdd450f8ef2ca5ed62831b3640ced480345b67fce63040742f857153c4de775242045af03baa8e87724edef34f39e1ea014afcc0927069e09f433c247c58f21fdcf89072dcf96ff1f181fb0a72f64936f5621eb25c0068bd768f62f820e53d23651c85a95012f180bae86fe1942217eeddf64a2527f06e6c09b7e618d2b8f3b25d7866d7db81a3c95b18c0f2961a7a251bea81b45c901e576e2b3deea87eb459e63f246b09899f3ec8fbe1595ae72e4cbca33af9f6b06b8232dd91112d49c6af847890631dd198ef9fe1d231b385cb9de42707e9301045db8101f6718941ce67f84ae64260751220e2120df37db8d6a092fd23bce2204e6382f28da63d8c5ee649811e7daf698819cb25f93f0bec0ce13ecf2b49931033c8e3dd18af81647e73c0098914ad8ea0297dea988f6b5ba570f9216f6f3a4067d00491eb3012ae1a09d2509489f73233d2cd73797687edfacb3add08a5f49036e1617512a8748758b039a9ff460be158db8c1daff8ce895d35031de23c06a0316d2ca83d56c8ee2b4ede33ec6746dfcb7e021f945535e3ea0f6ad45843519055dabf06c0d9fd3ddca44fa53607e16e0a13c83ddbb47d4988a18cf3eca84d40144f334c2de47c9fd7e29c3943f154bd7463730298fb0d7a1f64987fe7e0c6704514ba850c01eaa74f98aca654c28dc58c55b27de749f160cf3e0feb902be05066c3c39b27bd2b4590ba3f71bab1593a607bb7b6310f4b6a01787916e25ba9e04bf962886f57d0ac986a619ce7349dae7459dbf620da04dbeaba52723e1bc6500aab6822364e407942c8a05be5f2445a5dfff306220d1ea1054ad39b48b47ab019734c3212f2032b025052bbffc0229f675006fdecd8f9d46ed8cc2c56bcd7c001cee0769eaeaf0bafb0543fb2b8486c8d001da52e5095f7d5726d81562fc350182ada99af6e09391fabc86b5495687c307aa30baf7fab0bf8b230a551f9834078f7be6b3181fa8e5d785d0fe2cb9645dc12780d3915a10810aafe7aa49cbd6018e3fd27b807c791f1e537875395aaeafc6edea6717441805ab287ce39b10cf009363029ecefe665065fc4af820183cef0f1b14516be4d1b5ea6afa9767d4d4044bc894496df186b7eb571f44ccd30ebe6993a8af070e43fe6eb346c24d76e204d96b260ebd15160b32ba0e8ce127fc910b3e69e2fa4bce64548a09a89663ba032caf20ee82ddcd5b2c9c2a71aa985fb9fadceaa78893fcb95a2b23c28fad0204762321cae4bdf01e6652be9cfad39f88d12aa7227cd61108cacc084353b2560012d2b5350dddf98adee1caf0454f2abc0e501ab92ef05050cd7df2b33707ce038cbe3f4fa0be53e8d2914152882da351139059aa1335bdaf669c10df87072402d69b7be0b6cc0912042ddc96fc85e44593316b20ee0889bd2604b8cc7b716104e510be34cfa1d8b643301fe4d4397abd82c4fc74845b134d449e89b44275ec045b7d902f42dd309ddb095d4e39c86bd34a1c780435887e8a59f9f9267057710120959e2f8bc31136af23e93f86bf61b413fef682ef13eef1cf69eeb9182796023480308b9c44dd470b251a69b2ee0a087629aea5fcae343539d8af1e5045c900ead30d217c7c8f3d65cefb2d9d214888484c62bba4ebf81358b13b95169c7b07f14e08e6ec2d74b20f0fbbfacd268bb3d4bbfaea615be92e69470f8679176903eb017692fa3203ba9a7ea8c192a6199e8fcd3813f0366e5cc34096f4b1d5af07eacbc79ee1ada3cdfd322a169cb706246fe19746fab4173ca46ac669f4ea11015587d3bf4b652f2b6d7af49ac76fb88c14ba41940340d86f66a2b480f9a9fe03d7e86eab8991db6233f7912804f432a3212c8db00a1be362442bfe83a46fbc01be91abcb6f2b8733328fa0459c640c0b96563362ac80d7d38ed4a3ebbff98c02716302c6bf5e182869bcf31c66f970f1ca9ec5e5cfae156e6f9e02b441a37303776750e1e020e5e08e9b449db963d0ca1cfa5f36c5c77fa0172bac5c4c1c9803bdd943ba19bec2b72f699303a5ab2f8bac5203a1dccae6819e0c7e21a753f501bcaed3c6e55f48f015f455bb6741c8bb6b09d2de431cf3c054c3b21ab5b38a01940a4459de017050f1035470eb4f8698ed5de4c6f9863b80b24db4beef1ea003e0d84920053ce90047493ce90539e3aaf0d1783c3d3f93c7608f038a7d577906034ca64ffdaefc1ccaa2660bc16353a76345d568ad467766e0bbca413051be06c4da9af4df05c2cc56c36ff1281c843e50df8168e1c2cb2f67617d12f2215d026ec4cc55b5f85a704824b59a1315f6b1787f50a3bc55461797779e6b99548600a69e1fa6b92489a2843492b62896643a31769e95cfeb88ac76e9dec231c9ae052d00e685fca33ffa827412411534aa52dc12d7de898bb0af2b64fac971667006c74841d394aad21f308b606c705947705eae40f36694302a07d81e770e189302c8ea6e6852b0926b643e3a0105a15bfcdeeb1cdc90ccfe8373008d481debcc07d3a5c00de7a81ba6f2da4cc3e6aa477f41359089b27736eb550de2ce6055fa0665cc1f79015434020ffb79b3463ff372fb2a3cb40d2eaf1f59dc9c00e7375f04deca7a1ed68738c96a171c4e8490e6e4770db60cb8d33a0abe736c6d11f8b906754e068c6fc9a598f6115b131d7c2d2ae604fe33e341e58f8c55db22be1db40394006700e17ed9749d7673f6c95be4a7a0426214e8b6ad29f9f36e53a2e7b603554c75bb05ec11e493be0e6910e9ad880f49b0338c643cb87e801bf2151a57009433e504e755d5b7ccb3362545e3d3d8aca6420638a4f32b754bf8847e27f1002fef6832a350b6cc105127ac755c089ac7fec4256ae1e2858e1958ff2b251506077fc582293c28565bc569a54ecf43113d893ccdef659464cd1aec170bd25f04d52eefb0a7ccbc0a7e2a988d3120fd96e2d09a2f8b6c6060d8df86daea62c00779608d87848676735245f603a06c5c143fb6f3c5cfa2df8bf8affcd36eb0ab0381aa736e8e06bc148e7923ca7f16a0b1fc1f44b90d3c17d8a2166127d34e66035b0b8d67e613ea97477baccdfa2233819848063a5c4dfeeec1b0c6e9d07b2f007d1645d393a403276defb4fc6e469ca534e1ce43d52a62c4ab8e6fd07b9997032262bf593e69b86ecbcb6f13a99994a8c3725ea807d84e9adc390d49f6f9eb038f51d4b1d6e1d014c6d7054b028f6b2868c096579504ce6db309798fa4b0f203782ddf3e7c15bd7c63e244ff4682605b400118e929109bd7c04af94b242b2f014591332287b21c238a702f948f9650aff22d791bd745b90c9b201cc4319eb300e8eaf0bf02e6e628ca0d87bb6169fc565425f8009f6597885f3b4971f5403401f9514baa0fdd74a123eeefedc0746d8e6af2f29f44492627cda219753c4c1b018c16895dac9fa6403a7a385b1d27a1ee2f77b14d95dffb3def40a57bfde8820719dc48a05cc16a7f8534a09bf31d890d161a80c91daddbb0b6952a9bef347d03d16d83ffee015dc8959a1567b8b299ad057dcba679f805462b25a8fe1c26a90321100f6c03cb94458704d47f251e944650c2ab07406bffbe2ef3fdb5f9102e04f3961108372638f521401fa7ab508d1428057bd3f5f268efa5c6e806c23cc90392e99aa80ad091a28adf6ea4cb2e6ce8e87b902234a2ce663092ad4b395ed70470790f019aa1b87da6819e509abf50f4dc0e1a7a4e38c17d2778573ea45fd7041baa88608a1276701771ed4fec7c024f5433dda74af56780a9737c57e4dc1605e323297bc8e4bf3f56b4520813ad103fec94de94107609542385b4209316a503f4f53497bbc8fcfa210545a56815b4f5a0ad6f7219c3f9463f324cebada20f03cd1b98ded657fd88b59d7e3feb99798ae5e7080681b1ac7d7f821c41993015000432db208612325bf0e2358fb77e306f0185f0a7e9f76f1e1d951cbcd81fe60084482a3800fcb4a06e8819e14bbce7c1bb0b36869d7a2cf5ae9291ef5da257069e63ee02c1443ed990eaaf363565e49587774f3740675b7f333f0c2a28b1f8077de2244db3cc4ee227feb57dc601ceeb61c7f1afa52e8946df4d14454b7b15022030ca8de3a931fbb00c775001293391572652daa13616964cf554bd10d8c0067ea5c4e822beb2fc85d2fff4a7b2e5191fc182030c2b7a83f0c417ab198bbb068643a31bcf62fa20e703b1b6fc5f2d07a20f12fcc7346746cc9bb7468413bb02c6d86bdf81627863c3ac68a047eeaaa1e6d0fe36f8931007b9714f5c6a4e5c0526534d3824698446fbe1a74fdb0b8bef97b2481e9eda6bf9fe3085174c2b320647bd0d1fa41ee9cde468e1b2035d2e4e43eccdab6c253ef276ace4a84f8e120300d4175ff27e904b623f8e19ab8a720f0edfec8b994141a9e446d7d1805ce807cb36a2675a1716cae69151c655b84c5e16f076c9cca7896811005038bc69990046fb1f573dca99d0bd8cb167ecf8b68e77585d0fa13071a5dddb9bef393ba903e25b13f482779d79b1415d4503c81339f9743c01e682340f08224176a5e44507e8c8aaee798150b53c912c877e16b31fcd9f97f499952a2c76ad375729e126056c9470e9f78dc88b33ef09f81bb43e954f222fdb24f6176fd552930a2220c002d6821889d3db8e238a6566a4ef93ff01643cad770078e654b6364b17f6a2f40711e683536c0a3f3bf27fc6a682b52d44a4a72e98e339ce52d3cd3050447c6f0117132498285245606d44b48e2e925ba684f31c2e0173bb37debf0f08505a2b003a8d105d8fbec84b06d72ac9672c457bfa5df0d838a201e5918f378e8f9a890089ece3d58e0e72a844757946da9d29352162a248cb1b065e004165aaceadec06aef5d6ee0a810057ac54e32e856e64c62734ec7d64bf342d172385b9acd7250287d98ba429a779cda99102cc1a2ce9fac436414633a9fa311c4a99e784d21d06b63fb82d13d73e0225eb217c705456292a1737d0dbaefe2222d0db689c7dd20451479c27694631c27d965dd48627b30eb57db286316b06c8d361c7d8d399660741c3da21e0e8537aa696f56445e64d09b473881cc2458eadd603f34bbe793102fe9d572f183d9b17c96f2b3bb58d443d8eb5bdf10817bfff095d5f9f318d41015ae406149617feff12d431995a769f235e2bf42242ce70ce1a785caa7e1370071b3640ef09f576d1d986e3d67b61c2f5571bf5bede705aa9f2871e599d239603ed6da20d8db2e31a6aea0ec6f621bff0d2eb03e1c158b30518a3b1be0d56dc03de4a9b180c72dd89c31146af1d54827943ca82a14475a15e35e5d0121ac3cf01c1a8ddce0c87ffc23b563f81491c9de1b9170ae6a0817d80b409e0b02482d301796ddac14c56d1269b2f8e2cd860bffc28c1ab468db7057f602b351bc700d3052b05ca37363eb01da8300c36894e5dd682cb5a65e2a19f15f4be9ca85baf7c063e5de5f9ce5cf22e2a3af1cb7bdab0d4f447bc452049353d94e9fe2f5d7431002d91cab74825216e584e84d46282c4157982bf53cc0eaa9191320b51f227e903dea3a29ed523e039c94b9cab6cf7bfe790150c10e32bda113f0a45ef2a3fb4047941ad2924895cffb5713d7ecc625dc5c87add899979f82619ce54f5675efe04b45848f3a5a6008ec72dc070169af8e5647cfaea23a388304c9b853d9fb6c601f9ab6cae0508f37c68b80fb2109ac2d3a5378a516886dbc215d5894fcf354401abc0612e98a6fc65bbe73da62b1a3fc5b6a151111b8cd580177c46232aad23077377d00b4dec01df426b7a3679279edad4ac242314d37f39c9cb7f85e6b3fe04f68efc88d061b5aa05db8b3237ade4eb013897fddcab3ae7ff24743fd185b80570e3c840411ce0ff0c04abc6f3a6bd5d8cde70f2cb9816570e0369a04017f401c4db7f06812bcb6a2609efe23ed2b928f4d602b276041b9a09d6b0c3837f1105c82b30fb213f58c047a2c84623cf7ee95998f2b3462570b3338430ac12e7680298b4790a6c2fd49a5a91d2d39ec8d07ac0ab6ba26c6a519f4801871a72561302cc5d706ed3a9f0aa9e1e5c6c6a9042315a5cfa060639ca563b6dac506326710520068831f52746d1f578411ef89eeadfea0619a464e51a2c9c9a0b00b77fa8043d00889eb75e2330b4283c3c88589dc79ee175123e6cf5d00f5b7e65ca914a0713320e17842ad89a857b2a3502dba1757a1914a0b4a14289228cbaae1cf78b00b11fd3ffa128ecd0f35262fe6cb023ce42a91916335ab2eb2fe46d6074ad6b0127f5ce9f333ad4517cb925f52457dd4461ba53323c9788a92e181eb20ee54e013ef27a228cf8cc4de4dd7ce459458156464cbb09ffde3f25edb0803d35c0c005d3315175f10f19aa5e19b83cc22404c523ed51b13bc320d4ffdf8b75b22a85044b1a63e63885c6b25676635b0254d1a2f355980b0588ef53f1992c5400da4b02354054675c72dc10c1adc9bd95a5ad6689d7062788a231514051ce9065f57e0404632f211ebd317b3ab191697399323c880461aaa92fd79e77efc81c006c5100e15d51d16926663094014c1610a02892fc79b6c17281d7351376b41e6bac2f0015fed0208bf3694f8db6014175271773b2f063900c9d15ff36dc808e820377057c72bd2be05d3138d849489026462be5709a74d7875980f80b7c5c27b0ed7105fe54432198a408fd4c04735341b8554edfc2178ebd0090265d725b675574e1016d08f076f768f854465fc0231190d18764eb58c78440893f5ce1a5f65d9b6b03a02ff8af7237aca1517100698f517313ad86a5c3dd78ad6d8336a70c8c816f043245d82c6da092904287707f86cc5ed0f94f692842b5d0478f1cac5da7cf330724e7426c3c32ab4fe996efb84c8eff98604b1225bf2fcbc1e22b7d812e7e6e048de85960f4437a63550d0e9010b3fdb80a517e90d2011ea1b6d9ddd780f56f017e16a166a61d8bedefaa0381551b1c1de0b5d119ec3bc4898cbc58061795fb077d79097911281bf447e49ba2e5a3be281021b9b1dbcc24469357fd5e0381ae02c41dcb6b84949ac175742d8079d4f371a3505d36564051845f6f2b7608254903dedcfc89cfa56dab5a77699d7d1cb50f078ff1606313e61a850b9ccc1d22dc0094101a3990e9cdb8446c6db99bf006cabd0ae8fd7ec2672750a8860b4ff6a4015b403dbec2714d48bc2f6b3b969e8d5346e68cee36b5b057c9f5efe2f723de0212ea0343e4c1811a3330c49cbd6b178bea430d5eb3ecbd2c19b1102c8d39ed06c54b37318eb4269813b17593d806df3c3ed5501d5ef6cbfef60dab702fd63803d04639c7bd0bb31f8de7841e4ea75aeb52fac79c26e81d0fd735a81910c53f0442adb8ecbf51edc004510d43a42eff27340fe5327ac1f36d7122fb692e8d52055dea1adb1116b2ef0ca397131abac9c0961631821ff2ad2bdc557b6782ff6e070b4cb7801948506ef34b898be6b00312e092ffd5e8aba0208bf5bd54ae4601076db27691ccd5f75829a60a8bba685e99dee542b77d39fd4312eb1fd9df388d02220e408189bac1c5ed4565fe5b65a5b0a142009a28cd3154c45c7ac1881992039473ba7d3d7c150fd893178379c554ca1e677983f8449a4db6400cfb5dd90901c1afc270035ee28a81af3965be0cb8b0c7ca5d4608f2ce341cf77b3de5028c029cc2849b524ee227e364763d974b06a7b7f7c6afba8381e486f93823a5d60e0022ebde30aff0acc8a56eb80b3fc0a92e99de611bbb83190cc1425950b067e401995a62c7ec6abd14ac00e98ec1b0487e8576721c4dd40d338a8782580404aa05aab9dbb4b4f0d2264a343278e31438f4ef55c91f67fa93a47f2ab7b33adb420737e6b1dede6c29d31ab6dceec9589e824e1551f33885e794dcb0e6e9c7a79a01f94e73590a8225a02de00e66fdad0d702ecbad31b076cb506ddebc8d7fdeb70527e023e3541bd2a4b82580f6658d8434242e87f8c2332352ebf9ba84bede1101046277965a5159bb6e1628d723ad23f4613ed30af58bb2a9287946fdafeab103ed80b7b5e1f0771b3307ccb9620e361d96d42863d3ca00b5e8b6150132a4ee0096506817c29c2fcbb81f3b6cbbfa2c8e967bd11ec0297646dff1ab00b85f1203a43afbfb659fc95de3cdaae26aaa595de4adf3a490820aae21f32a17b0c102006a8ee2a9212502c7ec274ff8e5eb892f6fcdc25ac7d79b00e784e834fc477400867391db9fc1b18a0932350aa67b596bc5d0fe59f48e2b12911a0bb436c631058a94b0c4bf34a0fa7caac1b82f72b0dc1ab429b7b4a7cf020ab65f7e44f3990283d55264282fcaaa73e54a5d82e21cfa596697098bfdb05a532d3df17fe28004fef442ba144f5a63261d330c3b2a13bb76d76aa4424c46fb132a203c90a2d60630574ad556fcfcceda3f8a467901136aa6f56fd1db4f3ba955eb14629cf0f703bd707f80621ac5921671488584414c3d1ea0ec06fc6304149e0c17088b6c59011a6b7881660f8f20628688d444d0cb8d40101b3c3c2d5ee5fb0a894469051d061b9dc3f643eaf8cb1456d2049404b72009a8e0f2ea8f12f657fb102ceed41e00b4a5bc41dd411f5d0d883575073b6bf2d3683785b6a14816b59ea8f03c3ce303b12f8f5a6eefc1a4430506fd65e4f5e37268267e9f0e1f2ac21123bd4a8511025dbb32027ed37102d32ac15c7245175e695f863bcc904e88014514984f0d9006d191fe6ccbb200ca359d87eda993766276723bbab59c279668b66eda9dec8a0760df4db8267c69f72b9c131dfeaceb488d4df02e6b13dd3b5a3acb58f26ffd0330c99614d4402395f04be283d6dfd9d8468e76e3db6ff3051bf8184327463804ac563f3b29e4be1a13050e734a700ee74d5432c0af9726a60c2643b9d38581012102378b09a179afa985e3e827e5535c23636471d28c462d5d273ace34d58a0320446efb6bf357d3d668fcbd910756c3fc586a2ddc78c5fe3e9a73e16983ed037a353c9557a8e65917d377101afd1af3888454d1ddf13f3f58efff454e6198037d2c9d200a343cf2fe477382e391a148b2712412141d761d0b380bb288ca9b026160d3f15046a23beeb6b45be76c11de7df9f7b416908bfce93f729d1e51500671d90b65d3e7397fc7e8568529bba049231b3269b0ad7cffc6de08871524870697c2c64906be56c295da6d6dce7ca3da398497f879916a41855b5de41647730416cbbbfd67421620bf6759ddb20618d79e87dc6d753ef5c0922f474164ca19055eaa3f133c281aa4245eaaf2161ce0df5b95a8e3e8aee5fafa41fefdda544b0773ad34c05eb590a4acbd54fcee8f5899f00c80ec48d692be3032b9742c10f20642361c0d86eff581402674993d74dab809e3dfedaa8c0b17520ac47a7f084f016c93cdd2136a603e2a9f8cf66bcf0c2e8d0e896362382f8ff33ee0d091983b012d61ad2625e87876cc40f2b433c8d6ee41981faacf826a88c8f5360763b0a50518fdcd882496702a0bcc9070c54491826e1488763a5526165b43101f100716014d7c91bff959993c8ee88b7d47adccb79b4e5e60426f9f99e406508cfdd61e07a51f3f5ca0ed9d7ac77556ef04f6c84ea7578a7097fb62e7610f33fd01fff40449cac119b4b776b7e2a9cc6e98be439a4d5cfda633aa10eb90b4ae27094d340298a862a2c4c6baac0006d96dadde4f715bdd530c15a5136b2ac3c934f3909404e8fc9752b2e7b6c982f1e10c9485bd695f1ebfde8cb3a6b73066774e61ed5c00252fff7a145574a03b92a94346d97829b0039efa5739abfa420d0164d291b5000598f15dcc94f225b8100e828f0cbbb7b829911cfbfd4c2f806a53f067bb4e028121ae51d30145ee57f314fc786f092208f957e91d5288b9cac24b6d5022b4004a3460b3f98be41f1b42e256b9b046fc9f7337193f23866ef660634f2207840267491ac7080a0f9ef7de35087da14e9a62bc446221bae2253fa19c4a09f74e05b0231a1973d079217e6f0bc072133be1a051222d9d6479ca4e42717b12c8ef022f41a02fdccf9dbc8a3427b63fe3f424f051200f625e9ef4ca8e462871de8f01ae0d74e86f975f9e6cc56401e6ceaaac970ad188ae03f86eaedb5c31ee3aff04008fea03e9e1397672080d4a911ef7c1080f892f6f3f9b8b173a6e6d864925029284f5213b71fbe798fb55dede7558ab79c01c6d1cba9c914dbf7722d3d55503d7e36f78d4de5bb00792c72a2ef9ee214188f198d898589fb6f59c08bea92f04020c9e1e1f7249c84b3d4f5b23cad008c1d83328785882eb396a872e4475e6002457b152cc164d2a928f9ec2085761749486386df507a9fee292eafd354eb201a27062c984349f1755d71ff8cc57f316fb0865a6bdde0620dfdcea51e851ab0216c32614bb409335594a4a6f4d0fb8ad0abe2318cbbb8547c5b1cbdcfbc3d203550974dd064112b5649a939b786a393acd9c1210ac0396904d03fa6807f11a069e4c60fe714ec3633ae24c60ac0cdaaaeba3066c64af19c0ec16364b6e03f2042eae59b480e9efa517cf65c52c0709b25566cf543d65f3cb1330c1c4f7533400b15653ec3794441fd61005aee6b035bf5f117865716c6aa4d1674699fea3ac06518b26449d42114a79c22e750cfa898dc512e17d2b5d3bfea01a3ba40fb02f076d499c08360a26fdf4dd55480c26f5d20e6cf25661c52e7e9fc205a4eb4419070c21a8b40e0f3e65f3634aff13f2c4f911ac9f3517e237fdd06e86643d2b700420130ba3a7258dfc55784f3b79e2c61bed95088b4d64a9c587aa6d119619a30589437b59eb69c67b57480f584912b3b3f65c69a3d5f136f61320b4e1e02b2b00292b62efa77b4c7e6dc30c92b122233347627ecc3a10caf0b0cc04bcec0f0c01f8e71999907d976555fa55a8e07f733368d69f7dd78da891a410ed33557d190384851e8efd85a0197671786388ba7c02c9c79051e96d3f6e36b00399b12ff5036859df2acc4c6479309860b77a8ec479799cc69fbda055aea1341d07684ead005c6484198a57f037abcb148003e43443ccf4869162ee8044df97ce0cd94805029fbf03a1134c357a1be8ee6a43e9d6b8d09b71e190cd55f7da4cb389b7aeb70502895e3c8c98ee77d2d3c6361ecd8a064f38ca599551cace0b26f8e0ea375b048d50aacd91c9b156ef33edca6ab6ed56b84ed7451784c002ae216924b9e5a403cd6ba22077933a730d66ae59357addbd0b00a3ab745d5eea07d21f0d322851061cbca70fdbe5401d4d3df74a93388c7c96b3c27d9986cd7b631f516b0bbebe053b195d088321c672056b6fd0022a6d17d1dc5dcd41e0c6f3514e20f7f3b3ae074598b2351ef89104b46e26e3ccae1396dbecd2b60035f8d2becc307c512b12027d7b54db5cee767364590956395c4e9cc5d4a95ad548e3e9f9c6fb86fbbb5d07721581f7be0d2b8d6a901814cffbd93cc4ee4156bb270d49c6b0ac80dd33b602c94c8828c9c56d7c906c1f728374da44aecb3d05f40294eddb735a56fea47f07baffef449382d6c15b344952d60bb4b710474524a7e8ba47392b782e3687c60075cb000bb1150b0da493fcfc20c3f8143bb89e56e13dd84a429d304ce08ccf04f3deaa5d3505383dbf128325b03a7a0d4ce63d8eb61e1a0c0ec573b11178d7040c670f78cda2a48ccadb6c2c57f90a67c29b0eb8510c2f8b01e5518f528eca07d5ba616c43bb29fd818df0685cf534c285d7c4ff40b869d6e15538ce5ef83002e0cc132ed727ec028107508202213da61708ad7b73763c63e396f171e5df2001694092ed0e7883b1d3426efa35b702d9571da80ae4b21b300b4429c6a0eb4f00d9c7bec32ba5d08bd357602bb1841ccfe10e0bed24f164e603f951269f02c506a30245a28d7fda047068de89265b4d0a750ea2b8caca7e4e1a6ba6b88162d20221b66acc077c7ca23e02d2d6ce99eb529e56e9fae0db1215c60bf38417d94907cdf4ed0206047353da359d30c29448d2ef04325f6c30897244b45a00a1bbbc0627e198baeea7d3d4314614a33c71dead0d65554d3b51809136c67eff4c487901b582ee5f5fa7e4aaafdef605b7f9fc5d7ba1dbb5a96306a0bfc6ef4699c1440193bb36161901994bf7af5769979f67721bf1c27e47950fed21e2c3009fd45a06ac21ad29c79fed7d363e22651cbf0fd909a10e2d7b2ba0f4143272ffab22e00487dd00589bfb07be2affcefe8a8d2e20337367d98870010ef7a56d17045b0504c616cc49b28eb07446755c11447331704e075d241b7bc4950dabac771bde2a0265530530f30a955dcb40993e118c33eb04aedabe4dd970eb6cbf326fb9d8d50519ee7ae52b657c156dde1f829af39ade6e08157ad3a208b250904a2d1f53d400e03e340810561bb6f1983300cd61fdf34afc1828e64093e3b90d6be79770d0015d27b0080d654f20d9c25173f7f584d4dd1d6b65474d3cebdcfd1b132d765c02d636c4c06d7505b09756b682b3eb633f8d1c749216869b1853a8641ad7f0f404210eb0b702a6260dbad595139c825dbe8e71e7c63e9c42bc72033fa1ec9cec0104e86e21e8647f90916c408cf5e3fba57130a2189b5249532c603983bba9ca03469b7e1c7d7eb995b964774b6c01bdeac893e5bcef450566de82f524e9e00306dde8dca5231dca119316b0f25bca0a24b237ed4fdec9f977eb548c98b412ba01e8b7d48ec52a4edfacfa7ec1f4396cef6bd96d575208def9f88503a2a31f87037449de14d0514c184db3ba11101c09340925c7becf72b1b64c6ef6b62821df032e190053ca9b41e5d6e0129d46f591f3ef3c2a21354fda1816035031d28cd00603c9a2771efa024aeab2a9d44496d4399f77065bc40cea047771bc1e27f0f1018b681d76ad2a237e3b71d03b09eac93cb0151d010a3d109105895017ec5d0501f091c1a3c38995e5400b382dbbde6d2cebac4df75a596d3aa058f38a94c0fc0738f616599d9ca6a7e3a76c76fec70a83cf9e435034b9fafa2041e0eff7d072024692f09aea3379b973cc19bbd4ec92603d7a165aa256fb6e9c6a87d9fae29f052624cd32b677b8d45c536a5ff74f6a507daca21379edf8ed535e752e8a5073045a6e038fa2f6b75708b3d53a069534b01c094b9752ebe78769d6a1a14481c303d1187aedbb503dbab0fa940a5dfc323bfdc27bc411b52bb0540b6b93038c6204d2cf268bded653f8def3aad7d9cbd52cc2facbf51017aee052096cb980afc403c437394066f7e278060217af7617d354e965eb324188c14ad10f93ae91febc0424f77a70a1a47ad88dd4a9e37ece3cab8a008943945eed05c573aa5db6b3d805029d62682c158fa799b198c8cd550baf8df35d4702b146a98f0c97f118aff107107762e0be4df535bec806652b809757889a9046a4157dd95f2f2ad23a398001962af4bcacdef81f2d8f4e6a67fa567b49fe56426857c604dda7ac0ca3f7f205eaa7ced2be78260739aee4bea76ff93f94c077bea70d2a10ce5c55ac0927fe04f617dd9c0364a724ce797bb749dacd959a5c0347c2a79ffe6692a2db5d4ae305a8ecaa5db07ccfaa714103e959c10210fe1e61261adb6a3af5166bc3f064e0077fd7cdeb62d10e3e03e82ef945dc139fa074e78d2525e770b6fc086bd0260a0676e53dabc7c9ac089f147a2627620e23d5a2718499b2b30c2f6e7cd5670f6303759b98f16ae11a852e82c7c564d5efcf973b94576633e34d4f769082194040065fa6cc232c5394319b44c8bd937cfe06ffdd557d9c88af1e02f7b073297acc037d8313a86dd952667617348e779b67edd1c9e7973128b650b0724b0f5338c0050187934613142e95d98ec519650efbfc80e53b397cf56dcf67620eca4d8a5004dd79d87e0fb02d0f51f9c3c6d8ae626aaddfd1bc0e35b7c967f0fba8e5d2d706a8e7bc3aab6a1330382449422ab579e2c9ead82506ba40467281b25b5f55fd005b9b9bdf6412eb5fe97f970631f49b92ac344ea3d2be544070c73d0138adc4069366298c1c1b25b762d2b5888eec3f64cf4123efcb4b58866493b06122700e00bd8116653a9b42817d1db6e3a858f66aa9de66ed5b0f9ed035a770fe5675bc04381ed2184a7045981306f23b8761d750345bb6f72f540f09635ad83924328e0693931a78fec466df08d7219d7338b2021c172b30142a5ac3d075f4e2daf5cd07ff714be213604668a675ba87a24f4ed0457e2788801ba2af590ae380df4537074f04a20c120e3b38fc3237480d0a4b563b051fdf9f53f8c5d40ff432446e8706d4751ef8e075cfa1587051e0a24dca097651b0337208c075b8be23e1e66fd307ec89fac5e8f40abf0262bab40d820b350730c2ae6ee0ece48afb471093c51b06c5210b0701cff0e3177ef803ea498936a603f929399122ffdc71bd7c5b489e02e1199d044e2f118b63afed0742ea2a3342ce73df99c9131a0e3cc22863137e041361c2b17a40b09fac8c1dddc0a9b78cb12476d8c5286ecba2b3df2616ee7c02b7f07296b7961465b08386fd653c53a6edf0e42393a40d258b15e2ed648e34070562ee0ac42eb33622fc9df8ed649c446a46c2e867d6217885f28b2e50834404f34e69f508344d0f49a88c4b2d55b8578caf253d6b4e85e5f1088d565a727f015c8bfe8ceb8e935b79c1251ee3d2498624fbd180a5b91062d637c673f05a8303ab2e0c55728c31c832838805f1ceb7ea3245544eeb16e9777e8c070f0111fd008973d3dc24d5536ada7111e10cacca0fa9fdd20c039e89ebd435b29a1892990472f13ab3e4c486d148b2f1f578e14f4fb24001603b79f2ca46184be9a2eafe06c5ff15ac8222515dff1fe248b797a4d18e569b0db878c6553561027c8e0962033410e9b91dd5c537aca491958e99d0b8d9c56e66f8d279ef933ebf68e557b205b8cf8ad3fa96d9d32911fea55451333698f074b59f508127e3fae0f66fa52306de1c3b6a6bcff639507cc5a8f79e9856f73353d4399590f9291e1a0b1ace0d00be79d25d19769e7761189d02c2ebb9c85d197cceba7728aae00cdffe8f6fba051792de2ea053aae13b3c959f40730f965c26a4b63162b697e62560d9f5b9a904800cc43fd61ce2708e3149be72956de4923ec26c26ef43395729e47687de05015d25157b4b44632ce53431499a08bfcbb92d3720e296dbb988be9d0a3f16db0238c77134e3cf3ec51b7d50f1b78afb2614b4aa6eeef402105f74e222128b6a007441f809c3a9af28db86afb7de0e591f8a1321aa3b30d3403222898b017fad0316878992926b994033be15b835c0550e3f72640cb6f48a1df6c5be82a7a38a0667b2816974466cc78fa44ea38fe1e4b0a34fa6891a7e193d133fbfa3ec6a65069fd8a1c5e614af3015f187c670251359855235facacdf74a8fe1d55849314500b578eca0a4a928fdcea0543004b3bea0c2c4daf96eff864738fec138ff4d120486beb31eee0920124c74b920d7cafcbb81a6e8561597ef17481c19c813a115037be2f6c67866c52c91917f0b56326cfc70f8f279b4469a8b73e8b5450ef44605d246a6cbf04c8a36da157b2789b27e47f7499c01ee386d86135bfcf7b5b23307653dd1bfcd69e213d42c9ed90e44eac72f78774e8bb67c8e2eadd1f1c0547300b731fe22196a3e8dd0a6c4caf39401cc888b7e78a5f1e8619eb2d962e5899f06f6640baa2832b1811acb009d2914ea8dde1915841502a5be865bf1cef9f285059053fcf69d206310f141f9a3dc2b67255ea2546369ea92c611dfd34f1187ef0266ef8509871e1863838c2d22342a68c2d2836e86a897022027c50cb10bdb88019e2e268d3c790c3033d17e73e8e47242fec23ea948aba87b4ad9ef2102b1ef05ecaeb493b555b4d93033a357a2b5e0b86d6f9e98df1c6f235fdc4d4bb8aa18066a8cf9b1ca95279c53a0273fa8f7c5d732a98a44bf3f543b04fc225c4174ed021bad018cd6f2b21880fbc76c728fda1f22540acc6cb34710e2ee9ae1adec8f008f977cf97148cc7360347162ed143c85d0a01784abd91648fd898d56eed0a801691ed09ddc567f756083264f7cd0916f3ee4f0dee028eee136d908f3f88ff9012de4ad5fef1ce25b7f732b71b5043ec29579c584896cf83a1123f6c214626f01527bd7deed9f6be2bc3e252c93f753384078770810bf8a3465d489acdb740d05387e77986be5117d9d10a01b1a9056da97b4c6aec8100ff5732b5b49b66fb807109032007dc5082efa76d25e33c28b8cbdd4775cd320b5a20d253c459406c00792b6fd196c6452926ed0bef157aef83902e14961435ad8f4f2938b374b4dc60710eb9c11902cbcf0355f8dd6aec55b343d8c8a9531e98a88c370d8a6370562003a0dd2ca26571e50327a29316df9d18aa24c258e91b0bed64190a2aef1e75d07a283ed1ceb9991c805b0671db457043b96f82f973a0501f17fa8fd21ee979d01de7a7f4f10351b4d3a13018c6628cf0a3fb08f2e0b3cd86900f670c03056a105dc078bf48477d3ca9d693ccb9d41998250cdba6f77c04b96d175c08c9a18b303c23643fc3027294cd28f352628cb823ba05f6bde86d6631554703ae1ba31420231ba1253517585edbbe7d7ea2814e43b1483cbc760111cee5151e8c6d5c3ab02d7d5d57b909e0e6445d10d038ab253a19fa22c27a2316a8f2f84799ead8e0b03ccd82316ed764145e8013b64d4cf18063868d049df8765ffbde8a14b82c065012ff1ec449b1cf6fe0dbeca0bf28813518191dc4ec7d198cf24d06bd818fc6901f2443a978e28baba3bf0cd612cec3ebf40f11a6b59432564ef66c3f75350d703d91eb93208c2488bdc1e5e58837b85ba5f0acea9c51307bf8087ec39dc29c9070f3168982cba0e463f97c5cdd144942f84b51547a195cc3ab93bc3152bda6502a7f18b2fa3842a88a392ead539609eb15904549fa8387e0342286960be828304c8ef4cecd6b0a4f84cc5a838c57c2dcd8efb40a7577292e403c773da8da1ae04b66aa1fb984cfbdc22fb407f6ba1a1aa04397108137882d328b8e813b38f210494a3d5d22e9b7d92460d9e56ad14784abe953d76d855512483ec27ecd7826102b366a0f79f55d0a09dbefb7b58935070f88a16066a2bde4254231a133144420181e427d8de58212687d5cc23aaa63da783e98d8c5f0355da0daf362ed9493100f35916918a2f45d4a3beb6acf49c9e5022fd121a0e6495950ce8d09c33bfab02a19b50dc8954769b12b3bcbf22e078a6bb95a8bea0483c3f92f9b87d385d3702263fcbfbddcf7b69f9c1ad3d410dd852e49af85ae36e37298587e049dc253103bdf1e1a26b492aa1fff18c8e45d9ac4b2a1ac187d0ab35296e9e5a9fc5ce4c055fbd5da6979fbbafaec76cd450e7502c2ccc7d1edf18f52dd5805af52421d9007f5bcb8b6515ed8c3f749159dccc2315e51b737c0f5e5c902093a00f6f3f8102d85cb0dbdc981f60a756ca5231a32f3cb71fffcf47e37c2369379190ed630b0522e93b16960f3188ec84bc9399d07b8cc6bac737fa84b7e28cce8fac64937c057ee930d3e6435ce420a70c1f98dca69283d03a2d0704aa062bbdb053ab931b00b8006c00c5b0767a39d2233785216d200ed603f50620e06a759567205f63e401222f224929c4719c0557a420415be39b311ab1090c5dc34e9a364994ce200c03b45630f376293cf0943be0db5b666ca9b60ea08d45277809ec0dbcd071f8d50785804a6c59de1ec7866abcbfb417c07e10a35cdab8778c10279cb726fbb0760311e7a9dce8c317b57ce76baa8e55abe66ee4c777fcfad9d0ed6fdafcce34bf03232b9a3835d50db4127cb0c46d6aca74568d39c0b73715e60bc0410bd21732075cfa38a9b9b96e96f37ba9e82d43ca09fb0242535e7315670f4ec1009c0fe2065d0dc6055600fc80eef7cd414a01494f23b9ab6a7f71d0e3c4a7080605334100e21cd2151f2877ce4041218b7c5fc921511da63e20182241fdbe2fe9ec7bbe027c2bdf26a03b105c9f982f664090a77ef1d246e762d02e85c492cf5a2dff5301474339b412e151ab40d743972eaee7180d9db94bb555c3ad9d3336b8e2d75e0509be7c6bed61bc5f6d9e0d232df9dc1d9c2a0eda0f3031c6f2b7ccf1e4a80c03aa8e2b252b42987ca807e602c6e17b4f259153e6f23804bd6075a17a23613a01d77272c8ec725acb249d49ea0bb4e25333dacd0fd990cffb3f520094b391be06dd4cea22d99a47cd073ffd8290e52e90a9bbbf5d7111eeffb70d4ecb90d9a603009efde11f94b067989afb5c6737f3b66ccee33cdcaa1c7e61f5fa8c83158c06225d4fd1697f44948aa66923dfd4e6575d8242e438548cb563489f27492657016cc933d52f35ace30a0b5a22c035ab7a3bb04485fb07ec344dc013dd4a22d605385908394aff6857eca082d06b2d6d264585db96957bf9aba5c57443456c8f02ad39cd3b5730515366f0912ac0b45726c4cada064fddebfa2bdf042bafb611055f284d71e6774dcdda3674a49eec3b3e2a2b989c91677176f23d98c4245f1f02e8ea7b12585f0ddb10ddabe76eb50bb08e90751177f478fe193a634c29bad300c25ae7438870a79f54d5afd9cdb4f6bd79f4ac8c7e9a8283b745315d84333e00369239649e01f6e2009738ddc48a3fcd1b9a315d40d51720acc1f44832403a05884c814f87a39389435acd5201ac523d13118bc7cf57cc97f1880413aebd0f00d03e4c3ee662327ec617883e28186dc0273b0a5cffa216cd8e03838acee965008799becccfcd5b3a789d87d50a788fad21e7115565e25a01a2a13549e17b450292c74795c72ea1f32f75949dc31c0b185e603dbf91c64e7e0055e8e2f9f7ce043dbc8b8c809703b1a1ab4b7935cf422f2e0469ac4b5038aa18d085f143341907e8274a54bf251bffac4bb90dab4372033c018dea1103db64465b75819690480199af4aff5b908b39998010cc4c3a89c97c1a008dba3f3e16037d51d256f94900ce11d4dd1c95ba129e406136fcb8cb1840a56da4dcde163e2d6ddf627c000805d2d056636ba5673e63d7d497518c5a087de2b769c76ddc03af5391d9a5f513039420338d9a14025bb0c78f761ba44b1f46af4c8699c8766568b370a59f475004c218358f198ebec8e0c2b7afd27457830ecc810d85aa6eff82c59aac2ddfa60662172de6044872f3a3257694611455c1fa2671acc7d197a3832e65066a832604d98669e176047251dcda905f5f0b9e1c24b8f7132db12fb97fb1c94691b73407272e7fc04dfc7e3fcc175f8f87ab3ac46e39dc7ed9a1b6f19d81706d288bc0079c3e34d7e1963f8fcd640a0913a8906e49a906d4bd5fdc069def80553db17404a6ea1d843bdbb8627b765e0757a6280c56230876d6c3b6e07abcca8e5e99d404c74698b3f258d31c88f3c8c59c5b7f04d89afef7b306fb5584011865fef0f7058d14e4869bf950e531f09eb315f00b8ba5743e9f87537a858d25d0b3ff725100f247fbc915b42a74d43cc72d680221328569bf0eb245f06f300b81d5be7c0905398686ff6f5daac5d59a4be52145ccd18ebf5106084da779414266a7c4651e04fdca33bdf9cd872debea44590423da5ab17a269f60c1a0654651dc4cf219f80633a0f3c50b70f37f817fb550ca76a0d6d8718e22738f3b264221d3bc8060d400b2f0fd7080118acd37cc95973282ab84a744ac1e0b7f18b66bd697147f1b26027576365514a8dd9d3f7cef9ddcec9a6074804e9b9a370aa443f5076a175955020ff2dd127970faca1c88b336df32ff29d101704030bb8a32bb28654324e18201f0ad5c8408e5e8599cdd62f82de63c40d06f130559d32519e2f2674d81a1a40547da50d39beae04128d331fa345418d6338d0185427b6e425c35d1a27558af06e67f8c29c861a523b3fd08d9685bb69d58bb26efc678c6ad8adad83e2be6ad06270f86c40d48aa87e0f70f4f9b9f66d65c16831208a5413ac1bcf53170d28005944f8a7919dec9da2d097b8810f765e8f26f6242712b39539c49d0226e603a037e18900851f37a8e65c7bb455b2697b6af64ee065e26a50e71dc283ca2bad805aafacc80448845318c5954750529115f8f6fb51e8376d43c2b4ef4ef676f79064174f25844d28a2da28979e7038cb75ffe5bfb712345a3f739a85188f744ed037ee96eb6ca6c4a420150b0c5df6cfb63383adf9d23e392a9f16ff30e7ac9c003437526d2647b968f080822cdb9f208d11e60a120ab686a76a4ab3c7f61351301569c67ef37424e2715c2c0eee498073fa8144ffa66a211705a9fe95acd6a6707c7de593026b4c7fe4eb79ed43211efd23d339a7cb7407ce1aa1e58d5f7a063042ea56b3954c60775b4580f81a0fcb675a54be07dd41f5b039c5b42f6c86704044febef23f5a5e3c00946fff21811cd7ca4da068dd5bb65fecf51fa3856422a02ba25e467f22c39d87ebd6e686bb04ac78185f001e43d37542c0890d767dba906b69a206f648cae0ca3e2b3b088a6dbeb58c05f5c91b795feb3aa1db852984b03ba2a635da8c1c717366732027af1155808c2902b916aa86936926bda5a0578038b7aa8127494d73f3fabf7cf8be4e2b026687b7b680ec10e00dc94bf7272a0038ca28a1b67d8e82e01e67a2e72852cc3416f4b06749204188d9c80ffa81e860545c9d1615ce12e70ab1e0f8905d4f0e7971e7789b57790aa6aef5c680a5ceb0258029ad8626a630908b2a15d395dc1fedd9332d9c41504618c32a00e9dd1b404d75597e249df67752b52143c0beccd2e3645634b8414512da7210fbf32cc8f053a194429915fdd4b43a0286b57bdd13e242deae9a91daa84b1df75bfd9fb110555850262453be450741c4acd11218af02b231489e533bfe44e5875666f7b9800153a874ff8240e8b1237be300b0c8dc37ad0e2785e51f41202ac253ad7ff53009d56e0b4d56fd24f5c5d42ca6281ec97b76ea802d8759877dff2ab438a853a02f998685094d09b173f42e866e6548fe30ca7b8172274bd9909cc8818db70e905a7b8a3445ffd7eb8063165ff9ed58a4fb86056bdcd20c2513d34d19e540c6604a2fc3c5009159a3f9b87e26fe1b6a2837b132a3554615c5bfca0dbb58d9d1106a06d3ec324919000142d2ba2f7ebf676af310ae7d3755c4a970c914f1f985e055584b99ee434be5fe709147e6492eb6ad38b40b7c853522b3d14a4d0df6161055e97d9c7b497dc1e9b4ba7794832659040e0cb0f191a0e9978ffd2d9f815b4003a6a750c465c2710315a00bd2af8a0631d895be4771c709b40ef974f9b221602fd89b8d80e739be18c71f23450ef6dc3635a5d64b5385a747b451fcc8a83b7079ec3517759157c4251d1b965b4648e725046e547ce55b2874d7391740d074e00907379b75054aa6670a604b985c060f6ed3e94243a8b5605c8d7202457d0d900789635c32bd1f981723dbfaba20f767a30233af5f3e77b478ec1f70a37efd90578a8e97f543ac0da55dc2ea4d01fe8d94325cc5db7343f82ce43f4f816895303a7aae32b9f5d7430046bae36492d1f897a0d58b6722ed3ebe9999c9027c33e0411f1e63362667cace972e8218a0ff40b47244bfed9c8a307c041e535091add01a4799a4fe07a115adf38a8baa750e50f5c388510541720292d4a8e202a22f6026d007514cf2c1cb3524da956df19b0fef71c421f6620f5883efe0bfbbcc46407b6d6490071f5bee5f20978727f5c9983aad35f452fb736d81c74c317463d92011551b21d69e9f6702c8a92ba64d5ac1816b10a126ba50b14c3d289ad075bdb0309bdbad4c508cb7cb70455f0f1a6c2cbe9c7cc2d8cfcc5b569bda2e6c76d2b0196dd535af393c79740cb2b295b2e69d8323aab11faeb0fba117e6d7103652b04a090aaad69d9a2a4f33b76ca3c99b9ff455b78e7a3852fae70de592dced7a907243127783514377625f4282cba1abc228a3aad1585cbaf7f3845cb63b732b60631dd8e498811358c6ecac61b9036962afaa2919a395a34a0e2c65a36b203430616454c7e76f649cb0ffa062b26aec546bf6e1bf5c6fca93c36c747fbbe6cda03cbb9a639f34998d5b9b4bef8cfec0368ce29be1eb54183e682851486842f8e02e64735815eea49a484ecab5b1e7cae455b5105e57a437d581633af8ee7b29e07e0528724e7539bc9148ee6d95ef6921a79dbfbf0a40ed8a53f58e650e997fb0203a2e64fa648b7067a41bc8fb38c9aa4b10c592c6aca927d0e14ae1a0664e804d55e52612b3a3ffb44ff4d34bf0e2b56e7f29b0db31828f90fac3757d72c2a061fb2558e4a7309ccc3ba1a039cb8150e4ad7c68ac4064ced12e3b721dff3ad056c07d71b53614b461c3f97dfb2da10ad38ea64e736b2b00dfc5e03611e624305c38d93b8a64abc54730676825a556f9e4678342a14dd72016947c6eaa32dd006f209ce041986e29f1e524de9fe75f94e421c8d5d0d979ab5838943e8c16cd7050ddd6d7c2d4ca24ace244b31a27596e152cbe010eba6a5834312af3b5170c4051009706ba8494f34f337ce3362fd535956898af0bfc447f18fe4d00ac6b82306235b55b7b7057521265ca87e2d9b8d4e9359a73ff0349c424ee7eaf22ee84e077c083773333e1abc3eac0d2c7a00e09edea0dbe40da0502647fbf759db0aca007217af1ce27ace1e6ad4ce12a9b2be4f1e03fb948ed58e62ed62dafe3b0beb023d1b9b4431198b810d545dea204f03181be69b6a38e9e2abe50e03217bb95000969a8f667aa9730527e84dbf13aa322a6d08e45652f9e39fbb13c1a156bb4c036216b487aa3aad17f79d7a5fdbc06a25f2d828934bfb9c75ce3992f520fc14021d1d25d2c08d0914b2b16379e2327277f510ca6d468120bbed3afc92890243028389066bb2b578a806926cf8644bbfd179800d9feb4898c44218d30c35153707da84ca904d1f8a0abf58c5fe2aaefe508266965e42353ea37bbf7dc7349b14011201a9805d106426483539979857801354460d978b4297bae3185b746a9a2e0770eafaa517daef1c23041721f43045b22c237a7c25c824d8db80c5a7304da70642dbf9179ee26d0c512a9e94b3b3f08181e399c7f220b96e699aaad0ff20a603ff28390885fa5437fe21aa0530e58401c8a798926262632aeb57e6afb5d701006428e542928e3b89325c7260d96c7739150d35a81ccd996267341231517102074925cadd771eaafec1389a5712ef60fa0b7c59e2dfcca11bf10bc9727ef2a5016e10ca0342f7efd269bc12025f8129fe0eab4dfe3be1d25b4882af3df480700259ed82e5647e6df5b4c7901b372a7c495a059067f3fd2c63ec812d107cf1df046ec81ed139eb254d3bb5779a89bd42aca3e0cf87ecb1722e88c271fc432a950022ccce44d59c77850697b0bc20a87264d19e89246a7e36bb010f1c9a6951b805d656662a2835053e945e01b2187d1bd8ebb40d2236f0ea4dfffd940efac7e90488ec9cd4135c1a8caa89d38270dad848dd946e636bc501e3b02902777c3557032541e34038a8bbd1baf084ff40f9ba8f75becd99021dedd61de45960e6fdee01976a3e7df8da44e4ca75820f17f000069aa753037d5c9fbb814925ab740cee01458993a7c44e4a3d5eb6d150ea3dc9f28f492a2e474d4f1b9d0a63b5b654e0075826757a4ee4810b1486be7a40c0498ef8e18a26a080d61a95a7affb80f1530024123102236d5ae335c7bea448d8b8293a4f8acc0c43c43b8ea3c015b5c6c00769fb97d0812f25457e9a16859bd88a0c65e0230f8af7abc2d251535bee553906fe8f134b5ffcee18450d255f59d852286339d28df5615f53c6fa5ebf5e51ad02cfc0bfa0f7f270a4d383d35ad38141d9c027fc339c75f5cd49dd9368ffd7e705bdb7e30c91402fcf53409152ebc3f810b0a11adbd33c1c6556318cc4b616f4065cec369a8fe03aba01923526a7bf7c843e7ded749a0cf1fdd43dc63ccf1a7303fbba1e8a7f3b954752da3da9e948df40945a936fd47b0757ec53983dd69cf3040ae4c15ba99d0a51dd6b5d0e3f58ba6cd7ecac10ca714926a2f5cc14fb4c7d0496a1ac66e710ff3e25f6dc21dd6343d30a16e0e526e9c42e93370abd544b430546e7826b7ce0a8fe76d8981d30049a873ed82232a1790618836f50744c4b4704dd5100e071e6ce7a890077e96aea016196a14ea75984540b4f351285b5242300f40dc8910e069e7df51ad8fc11ec680a7866d38fe0c15075047d456426e1f702cf473196f6b5cfdce16a78d82f6b3aca8d1514f123cf294284768c1d1ea40104aa13ba3f3fe084fe34a7aafbd15dcd6991fc9591c692be29a2a8614eb6bc5400a61efd00d775409cb3a6e5278711ec7649780f0d5dd29504090d25f6b08a61000d59c8c046e0804c24d8258ffc73db387aa5736fc55f6f2b7c6f963518c61600f718d797db55e0493feda210cb415e4e7684bb291f8ff6946c6a069841d6c704049d2330f40e5686fc3da651a64a02ebdfa7b025ea53f696f763a498ddb5d30294c2793dab2153ac04d68260092a2cd03cf79ff00f135776e07d5b1096fc5d048acdba58a854fe23cfc70c2293abe644ffcbf9fae53dcd1565f473e00a2fd4040c8e412f8aee2fed19fbc88bcf05165bd6f7e192149a7dc1e9df0945c377c40006b843f30ebb55dbb69fce338d25429208856b77871e6a30641aea299a4e14068bd6674c2575eafbc20ffcd6b5cecd3bb63be593e5d8c99e01754271502ab3026eae9159308a9f3ea32f44420efd29eeec2e2018aeadebe52a4c538595dc2b014ff6f8041be821710b7b890ead6e6051aa1f71056e90d66cc0f2de9b8448920742c64f554454210cb6fe9d510e8750c8e67d5727fd1ce1c23f9a2e1efacd8502399b5a98bfad716654ed024a518897a6dd361293ff05fceefa64a9639bf43206f3b60ca5e212e403427bc5c3a690c5b281f72f8ae9b1e612f531ce686dd806011330016c640654ea1958e91c5fb62d1b071d233fe2426eaf4b013eca3138320388f4e94d803adfcddaf6fe69cce6f14f393f2f7f8d2fc2fbcfca5aac0418db053b652b41aa9003e1cb358a0afae93b062e76c2dac7ed7301fe70eb2afa74d40458fa17d3614855f8c8676d935506db39b7ff421c247a973d0714ae32c5ab9d049cf701daea8409de7f8c0371211ce03d04b727115a6e75365fa01767b84eea065f1285551f3e5a0adfca0b90ac083d10e76c1fcb5a674b93298827b47d1c7102e18806e3b6608a90074dbb2669206062586bb684c0d926c10947840e51507a038b7b9a862121b75073a2b0a7ad4d8ebda03dd0d1fc2adf2b8b7c8c701928080191473afeb8edf66a6f30b00a07efd6cdb4a8c8bb92f356fd3566d5fbf88320052d4cc3e61e6cbdb19b18d7ed134b3f00c2785d45361f3dd9ff349dc0a95fdd020567ccb55f4261fe4a9d89378eb8e4e872919570fa66806d22456f423984960708d3ef1e6dc64af7c0474d3cfc7a4bdc2cb1dc8872c97639d156405e4dd12603d66868fc898b32b4561843ed772ea925aec7f66d4d05c796f8d3193d5ed503065f0b0c4fb50f709d10ae3606da2a34340e24791255e7140357e90959fd9520009b4419d3638bd0da1c0d01918507e4d367e07ebd7d948ec0660bd1b6a8513903f8135f4a088dcde5357cc0550206713a4457bf631a86e82e2b124c2d0468cc00fe49d894efaecc880982c7b0a8f00270d4fe672c2c8e110860bd7a91b8ebc306b88834fc77a453f547302d3b3161aa0878fb708903fd22461505b485ebc1110799d27c3b80a91a0437a7661d06db8f2f669f8f70e58f696beeb0893853b8850651f1700d5f7e8990786e0cab1dd069d4211f44f8e42bb5244386f103f5f31b004dab1c66d8a11d971570ae0a021eb77343182d26aa3ff4819d266a9dd231ec04a7474995dfcbcc59f61fcb60a07475dc5b3caceabc675a57746035c175ade502195a459c87bd01931b81d232ecb655fa6a63b5f8b9b2485912894618301404071d16c1a9a32a7ede25c5d83e46915b94aaed6df80514ffd333952df41e2dc5008202f5cfd7afcb93efd3637a8d9065d73251bb822ad520f0ec97fef5f5164305fb5cf6ee55a37465acb1d85ecb09d38ba864398b9e7dfeeca550c8d33f795407bfce4ec2602a8dfb4e32467d2faa4ef210a03bf7a9ac90e3c2063a2d448e4003dabb3916666d6e5793066bcabbff106a6f11d2f1c66e0de6856763381bf7eb034160639c2dc4965040ed90207587703f4d80cdfa9fc8aeee66818bab78499907ee4ac08c27c6ee78e2db2408be3b541f6a9acd7aa9476285470dfc9dc421d7062694ace597cac35401fa28ac88ff93faa5aa91ae61cdfe45f462030afae9ef023da8f187bded995c77ba9be6d9b8098e8b5a21ed1312347d6189e384fc7ba701bff85c4b1ef808143b79c38cc524e327a221e0b154b68b387dfbcf216b6a960354551a712876d473184aaa08306085faad56a449a7cebb697a901a2696c6ac06d42006a10777ff57e17c67f85e08829770740522ad455a4ac075dddb6b80d4028c1881572b155e3b06d0c53fe7871ee910ef2e8e1404356233c7b9d8b105ba052b562fe67fbb5e052445ce7a06dda46ca9aa2a27107bee201204a77bb8fd5107604c5bb47865b4dbb2e674ee9d9721757c8b4e973a0defff11941ef2733e49008d7d600b920c9d0920d41edcbc8f345df6bcfa32c8a8d36718ce633f0c798901252e7ebe7f23e508829a8227579524a236790635f104e6bbe5e44248273ec907dece183d560951c7f34304d25e1bd924662b5c74a3e362c21a04144ff5ec4903973ac02323e7f9cd08ecb1413e351b1cde1869167e5b3b296c7182c456ba90077d9fae67f8e1719d0cd23552a170fa198a4726ae16bacf5fb5e12bb0cd2e340538ce5bf40ec6956425b651158cca5b9793f485123d1a514a5760ceef155cb603d3e631e4678fc4e2dd9e1de392785c0c414d5de0ff5a1a9b6474e95b3a33e907169a08f049ef95d1a1854df7e1d4117adfced654bc7562271f55c65a045a7c04799099110be25d5a838baa2f935b4fd6238c87b46fa660ba6c5530fe57099b0150068b790d6cfb25b190f4419cbdb790909e3a61a0e87eb0d5c9f2a5eccd77077665311c52144679f3bfbd91301e12b9a3e486196dc67753473afbaacbc34304477311dd2420ecd992ed679aff7464358a8cd2c282b070adc39b0d5d64731c0748a9bf573bcedc8bee9a318bbb5e43bb20d161e98995b4a3b73d89727f4ecb025fb8ddcb87b843a4502937339428c189687ac7b27b145efeffd29b2e69250b0517946e4a5253322fafa8cae854fe9320ebf04fde52d241fd96372b54bf31b707efc4c84bb3d15b794bfb4564048cec56b13c8c805f249d882903d5307cc45c016b01e9fe3d12f3f9cc912cd0b21b96e84adbd63641f7bd75ee4b0fcbebb8bf050beb1e5fc9d77cadfb48bfebea11f3ae744696bccac624f585603dd056a243068155df5b6dfac30f2d54c1f84741b1c353e8b7d50fb8cbe02930cdc5136c4505059f986954ebf06d806a590017a332e93da4b94ee232e647e3fd633aedc08204e717fb894b6934705df8a09d8ec86cf14c815e6449bd05d50eb6550960148802943d8ef471794d97c72086df04f2a00c8f394330cdb0ccd754914478418f8d04cecbde38773ad538eefe23d1f1ab72c915035cfa6026feeae717cba87aef77050f7028ff70edfe57febd9ae6637c524b7cde53e684e941b8efb674c3b88f910503df56554b0533404ab5baad28841d67e1cc39cf6348196840263fbddbb1d304ee94403ced91095c829cb4b4ccf81638fe8db27f9b7d878abab521a26613d302ecfde2d163ec6b189b40cbb2108fa0fc304bbb5457d59c3fc3597e10ebe32503abb5840399e6e6502716e40951251c93fc0fecf3acf2060d8038d8d08604da0498cee234e8ebaeb811ab857660203eef590d07e79e7ffb0b8c852bae78fbbb049d75de29e3c1d0694e61968830faf5b6e7be2d65ee4e96f9dea1f0e45f35e904ad448003d541ba94ce860215fe5d5c8c78e6089390e64bd71107990d6a73530558bfed518ef52e331fd2f3377bffe332dfd6c41614a09b2f97256fa469a00b06cf41ef9131b6c211349a8847608bb2b0cea0ad72ecc1c0306b7a9ab754c07205568296c6c0f0954647cae68306e13b8f0fe29c1503842ebca4f5da999c3cdc042f950af7a141d020dd2f10a91c9ea3a401f448913a52bcaf0c0758ea0273f70229d320986757f5f63c64eccf0cc21829d77254452877cced18e70da538830c05d0e676ff59df91e7b8318c8d309e2ffc7cc18d4c9be247bf765ef10db4e48303ee134a02edf34acf0ef502f034c768ce1b9a9e1e3495a69aaef34724ea835900f2a20bdaf690852d508598060821f6a5a7414eea1d7f1299ca240a748bd11307da8c73ff645e4b24a639709ce27e5b4385abc7d09599a514cd7c8d8a98dfb804f06bcee6719589537ff8a5007dd327d5cf558b1cc64051a0532d94c4fd873705df3591b2204abeffabcdbd01e9faeda31f279b3e412b2948a336309a85dbb405ed9a248eeeeaca6f45738e6d4bbc9e4ccd5b90277348f0aee24b65418d9f4800583040d395a3a952da6b1f8bbd8b435b1898c8ecc48a228a83a7437c8c56010320be35cb977a2ea4c2c71ad5e0c90945b4056aea39d988ca0b6d5e3103b3f602886a7199143b6e980afba294eef1ea2e97d6ee140d8e4b7d23c80232ec16bb0790199731e5035df1764e31a168b212c1920a30d7299252b899363a99e2d0f507be708b0300649e599cdf484e972c725aa8758db0f1744a5f4e9760fe5d7b9304a4e68d1f6e0093b5a37e73afc99760eff06654e535108695ae1b755d6be37001044830c13559bd951c993a474d6930418b2d2a51bc440c4b30acfdaadb68ff046b99aebfaad1d5ea8d8e997f46b6736e9fb938e08745163ef73e171157b0030134c819415d3dff2fef019b2aa5f085a03e593564029200a8f38450c01ae3bd0521075f0521bf550552422942554baf9995c534c3a1dcdc2080de07ea0aa80f079b57d1b413796102d8495b58f32960b617006e2122310e7a67fda01e85293100c4324ed84099073d09fae7071a21fff6856937802fec0718778d08b7d20bea06f7f1bb8bef064de277758b23f858e94cb62be7d08030247e80ae4bd8bc12a307a9f3fbee6460f922fe6d24c4d3eb37ceaf9cc9e0f9470108dd787565b8815103660a073e2834fc891750c7e68488bd6f5798fa345f3b401c01b70b7597ca7b0078922baf1fcf4552817b577691b54a3807c9a2157630fe9cc9967d2b4d948102ebf6e4e4138d916e94a8396ca32d2cdbe5c6f65c4bf0a8a6925f6a1ebe8ef703cb7feb8ab2e3a95dbcb5eba2e52ebcc423aef4be12015983d2edd10d442ec4073be5346922ef9365978ab1112eee00e66884758bbcb4ca256e30d11553abf500415a9438bb1eba182e8ff9f3a906c44fc12b99d03f5f71b81fbd54c9dd6d070037d1e95d107627a260c9eb6ab01fabeaacce6e1678a94cf9f48f617aea9d05012a46c523acfa74b12b6492a02d27c4c918ed65d9f18ac36d26444027a31c8d02672bf787b3891a1d8cf310579ba6f450fdb212c51858b282828c050ca6947705b733aad7b65c1ffbdd8b3491a28fe70d03693e413bc5267a3837a4629ee26705394fd64111f35c33e5d5fae8dec640bb4e8b5db82fbcbc02d7dff2356148dd032b4adff006c728c5ec160d7f2228aa4b24bf35422aae1317b0270c829ead1702214860290e757affc023d0ba18bb3f703e152cbb3abf7d791f012a5660bc5e0464dc0bd2b08a712919a3f5c9f46418f7eeb5f63b9113e8708c721b820c787203fe2ee9e166c008609ae2926e6dc5c28c05d97c1b8ad759e33f6c85bf98ff0403b26c02a555f04deebf757a69aec928263d511df331a72308dbe5df435823e8001215a472cabc7d9b61113e949b764821dc2ec7370fa6d72470169f841714cc06967c6170c98194203bb791ffe90906507107564d4d0106935dc821c02dcf020667d22e0f7cf0de21092cf19c00d0fdd4f9cc2bb48c4e2298e8c3934ce238090750a00d11720fe8b595cf56ed35c4c4915d683fcd06e16a44bc8d124867677705847cd3c09bdc596c6f175c2c80dedd29474c1f61f243569c37029f5f634e440084d5a96240d3ad974c1467132f14522c4beab53a152c6e073aef143aa8b36e03d451082f4b22cd0f27416d43920ebe8abe6697251b3c690992f3e4486f48f3008e92158316bb5521afab5e976423199368339003d58151d880af76a211054507cee5757ae37a1e94fec8eff4f01b9ee3770932e371b8987a0ec5f484f2044906ef8d5a5278769a20164eb74564d5a99bde03601d5ddf8bc7020e2ef7ae9b1400f6e653ec96efd4b45ecd321a009a3b334d51200d354af9f70801058b88f6a30002fe2d04c7c57b312f5c6057f2ebcff3ba4ec987f9c02b3b6268d1ab2e91040610a949e5fc0130766541c0140d4303c5227c4b79da877d460e673ec45ee486038e9813ac2c5b2013caf2e33d2e5f6175cd6513ac75ec09e7cd32bafa5448d604f02c79e06716e30c81f4e9699efd922562f70db87be2d5bc28299fb505662d07259843b1f0a92d3444489979ad6b81c2c54d720b29b8e9c165938e4ff8e64a0757c6f369ddfcd8ace3ad7c1897cfbeb20591154f97125417d2c184d94b03dd04a3918ff0b079be52818a2008dd5e2b88cc4e23c6e98764e1a86df542dca0be033d44771c70255301df28f3c6dc289c394a3d43235a05263e30ee34ac9201e2037b9cb10172c6c36e80cde84a4fce09a5c716091934240ec8fdf7d00d801222035ea3f529727478b8489e0cb2fdc54416d66842e9ad858ff35c86a4a9f8599a0715fc65f386daf43eb09e85d8a1628f70b1c0eca53e672f3665cdf4bec112db0228362304dd98ef40f52ab847a1d4b78f8a5b55d43e7de4277975cc6def55fc00a8cf7e0777ffbf3e3ff1f7a7b87f43d6497d56f5c3acc83b9e9bc0b83957e403bec23487fa36a4bee01ad51b094b5de13a89a4fd7453717a154d5d3d1fe0c0027989a5b55af19dfdae32052648e65688d3e3cbb514d922357756d4fb35e58306bc014e0508c9d31b0e5969a598db516f515efd12b8109170cff35e8b6fff0a048294119b159df9e3aabef9f4f429564e9214e10c3f0934fcc7440b2354b03c078ff6dd00f9e908e372f1419c4f121e562d678f0c44004b3a13329ce535ad4b067602d1ff05d915967f76b87395e7d3789e1947832dfebd5a03ce7c4845fb2001ba74a7d9f42de7d43b916f3f45546dc48bb15d88207e6eceb3c0d07e88458303219e2fa3cbfdbfafe44d17c56cd4d5f8862596df9894a403c75d7fffd4609e043f63ff8cdd087d9ecad00b2e809c55c1df78ae2eb047cd22384cf24ae447fa064e247d62ffb43d35265d64c32477e2218f77792b0b20e9e9cc4853cfde6fd507f95e3c320524ac6a6fe8968ccd97c990d5061ac29e60dea322934ac4a5dc050592f7573fef02ec6f9566e8d7b6d858bd724c8b0f6f85f9347e76b0fa88b78f06ba764119239a517eae410427c1cfa3d00d33fc6388a2366dbe8961ef38ad520667a20a040853cc7756e0f1d4716ca059fec069485834eae7f04afe8c95b2b6074c2ff8607361370806413e2c36a6d9befdbd9b29e06abc68c42f009405cc5602822b7021703c13169624e3b1a79b493e41dc40844617ce867ac72ce0256d2b058511965e5d4ffeaa67d995cb1c8db88f14349b1fef65f387436b9b9dd3cdcc014acc61da89a4381926398e855355007d48092a68cd94ed9a5bf53cfbe2fa0f07ff51cbbe7a2f1b443659747431b49de704758807f054831df7f0e5cc7093fe00b72ba5a4b028d579270c2b611b7f83b79ba1fe08fbfa5ddcb884aa272d969603ec9cab43693ffefdbd240cd8a9005763f5d9d2d35d113e3c994bdc3ad4a48904099f30919feabf4cc7516ae7c729fe29c3f76aaca074380a887f4ad9b6504b01ecaeae75baeb73b0199d20b43f9faa7710b6cf7f921a10f122b325a05a148904c4cfa5d09dc4d2c747576dffb0dd5a7430030ed7a2aaad0915339e32ef8db702b7aca3e7ac9b56849c5d29a27b45f569c85bbb671e5174471e4cc794bfc8cd00875e011078ced1589a2ddd64cf8fa860cef304250bf0d38125e8ca6bc01f77034198111489fecb72946ac875252d73399e74753b6f6f753d0ca31963144cba04527bb326b3ce6a114c005e422350ad7688f406df7f7154e7848ac12fb69358051e1cff3ba8afca698afdedf8205a2a81782cc4f8d4eca0085819373c5f476a01f3165f820964f7ade7a29f6245138baeee49543191e9c7b3960bcc544e20ef05fad1a0cb970deb5be6fc02f5ebd1014d52cd238192fcd3be3da080c896547904ac8f3cd6d07570324b6f08bd09e82c05fe2d9f94a800f7b3272ff831c6a8ad0024b985c990198c0e78acbe3fd571bd9157c45e8a93cf58a51e0521b374284001bb641bbc641f2d500dcd88d3654c0774afa76627488b41991fc43e1b2a1dd00624c9041f583d61fa92d36aab40027a03408a51ee058d8fd3ae3fdd228f817c06a3645c75147f88b18b99de661694a6c35eb59d4ab2a64a695e6bf6621ad79e01fd76431bcf41529813d00906fb27d6c425e9bc58c36c9e66f08035988c9d04076acb02b70724af1e1be7b66d43b56233a48118bb7fe50f4a4f96c2e3511d4a022ea06a187fa826818ddfa59373014906c0db33b61e921c6d539f7b1136ad1506b56b56f2ecde7d8e472d9d3fa7c6a8d92df8daffa5dd2cad12f3a0c8b0d2f505ca4cdcc8f90ddb8a26ff14922918e0a2359b2414d1ee331c2fe26892da02c907c5bc40daea33c361e0ca90506de9c8bfe5d766a51cd93b6d4d866ba0588fc40429cf60141e797d60af0839927fc15a2e8a559aba5d43b8d34206d7f8e4152c02784ff1180b47576b15d2de932ce59116cbedb5e6caf610505f07455ce356e7018902a04d1c929d9e60e17eb6eedfc8d9903334d57827c5df8adb624a5a6d2a057c201385ffb2043986f6b30f5498479e4ee26d42437f7022d873683a641ea500c8ca9702bcd2f9fd2419cb4ebc03e6dbf0f5de7ac61466f5e7c164930563eb009e036cab5b1374ec8f15c3f923cdd8774049d540a375faf838fb9d6177820803ac4cf81f838b99c2ff91afb237d4be5b20fb9544ce757f0b87d73bfbd5464a050143647d00e9a529018d4453397e5d48fb53d2224ea637e9ffdf06841e633d0665abc0d6159441bf42830ff66f75e243ee6a7d3c0a85eb7c7e3c5338d9327a05fc8ff26a437b11a6afa19ec2c331a26858bccd35c4ce9d0f5ef680c618f2ad068f4dcfa852b0f5fc3159e99592452de5cbdc25a5f14ae013b245a29c5e533000edca6285abf442c0c2d66b71d52b15c46b18ea249f507201bce66a439eea850489a90571f39b9f82a71067fbaa14b4ac2766ecbf3e3a5bfc5d763f2d784644029bbdd3a86634a31b66b75673d40fbefa451cc499cad280859e52129a2586be0702c8817b6544f9b8032c370daca1408e38f64054bc17bd0c3dc69600339e70036ec26a946fe578b6165ce8378321503c299797f6076824e293a6fedfbc0b8904f6da22303f3231fd1aba1e8a7ebfa451fab1941a15b5189e5bdb5a23ed172102cd9995ac1258ff737462494c295db8755d17af6e394735d0bf171fee30689d0095ab43aad6307efaa846cb73bc22a3fda74f28ad0fc367b3489efacb020b06011084815dfb865c267164e7d7e218080db2fc18eb44e2041719810c6e5a2c4b017e5c6ed989e91172cd97e43068f9e63a82121434ab4b07134e5d0281cb348303643cb3efa600c4f041409a8ca44a15879de0979b2ced71f3b0df4cf2b2013405d4b3b5405cce181e0c37d2c94b2fbe978c25c51fe1e111f3ed400f020035e1031ac5cb289e7f695cb511f73de83a8f6fbe983e76992ef838ff113be308353103b6df3b97417c64ea42b2b9ee03a4a7e03da31cc7297dce886e4d639114c0e30640f3e73d06c5a90c1dae091c4e98cb8a46f2602b295dc8e151a0953511845f0409bd36bf21dad0ba09cb4f3f5d1d816d70d260c30e2ed95da0d031f6237a53032af81c74b022ae87a499e959bbfc7c1a8ad95c8161e78ee6c31a0c726dc61a0670740bbe8f6312b962823379642dfdff86dd1ab6108cc64cc07e500a292af0072da936a2a37c6a0f261de963027528d9d924590fb5c7b7d5f4f9b93ae72bec049a6112a81e1bd8c3f27ac407fafc2829059d7e33aafba834a7aa805b07ba16070538a41df7c129abf4805c15f717138a660c83713d1428b19de2b651e27edc05dfe74c0a6f833f8e5607bc6ecbd5c53c5d717c5c8b949f26b2955f546252c00358c7b39bf05d0e7b63d5e171c6bf74713c9cb8c90ff8b7e693fd031b1d97c307af8d67ea4a754421b82854cc44fb6a5b2a55acc15adc1f1425c73edf2476310497815a8f9f076897002cf3b2a270f9232c350bc44b1dd6b67e6c64b152745f07e25451174cdb8ff2df880b84f8c0a4824cb24e63f186a0757f0b81b53172b7036b8c5eb31af96368bf54c23d8428d27319457d96d619d3f19214f61ad85a2105c69b6308143e04bc1ee6e1cd545775f487617ea825b96f0a9dfdb269e50b7e01a93d467b7d59001d27020559e2380df6e87e9f541ead6fa4541f8bbd2ffdaa036f4bad17ecf1257b621938cbac131c47fda8934e6e7d939d7c32999d6c124104974e1c384d3c4f13eeaf7234c879328e737350d24b743e14bfc690847691cd03483eee0a7d9b2ef29658723db772fbb2003c6b216951f598507a87859bee380355a2fd6b45bcb61ba51026e8233762297cf85f200c20adec78cf81db874de4029026235af30ee18581fe62e8a767d68c4dc38379141b2fe3b59bd00f50100001266239033f3cf807112978c9417dda5307907256d825107c09e6d9eb6b9a2105220095133d80f9ef0e288816efa2cef273ec00f705e8866bb5e306da88c213023d76660600b244a17edc0c6761892632bb36eb5b9617597f77921958f4b42d023798ab2ab976627058bb668b8454b7fc0a6511e17782b4d99a3dc7976cdcbb052f0b540ab85bd642d4bad90fc4fe5652156ddfa06211247640278e469e05b406bddb51822faa58ed98e5a95de1e9c243cb1e027dbd0483fc7cbcba03443b5c06f6a66be425847570037fb8bc4f751209f5c178d5a4f9fbc34581ba387fda5d0055495373834f78df8be73acf85b7a5a20f1a1cdc5db73c4476b0bb90b312ca07fbcbdf4b0df9401fb8102ffe4736b333fd2a2334e9c06151c06dd07ee80eb900ef212d48e6a0e4654c5951b9804787651984eeb05c6055128f0a6d7da35a2e06498bdc61132198509b31a38260c362f300406309f0d2095097e85afed068160484133ac24c682e19b694cb31cda986418ebf46da0ed9a7780ba310cceba8240258ab862714f3fdb12d2d55bc13144cf2e77e5b36229dd7c9a1bdc2b72898570587e6ee9a61bb7ca1a39f5387bbf670cee96ca8b9386ba4e343e5264cd1db3200ff0fb19aef4f82bda3a047161afa1b1dc9cdcf9f29f93cb666c65882bef10105ede360768bf26b206c224d47a7d3cee24f3e6711d86d83e3586b1e50465403007640430206f75bbb3a1c4c93cecf4a35b1a6517b7dbe08d3de828377bbe2b504db279411373f21002d4b26d3c6811f60a73aa2d52d2c2c4c117dab993bd94300c193495e01d67b59fb785aadeefae26aaf511d2e81a64d11d3e26542c87ff20325a0ac41be0d79a22612323f5fa421c7cb858cea1b0e6b6a1adf9791ba221c070ef6b0e0cfea595758c5e5b2cc6390eecec6812e1c424071dddb6b7b793c71042296d23cd0db01dc9216ece48194217f72b3bfce33c4fd69546c6c9e76ae5201e9c07a71a92de85bcd25fd37ffe2c80a43819c8150a82a8a668024ad78342106e7389e4d3bacd5c60cb5c3cc905ee09a9f135f32d89ebb98ce906d2792bd7a07764dd5c10d2ad36e3699503648bb8fedad26a14c0310ddc1841e581aadb76902d2474b4337d2c37e9eb682738a9a35c9b1fb732a8c5a5a1f191815d4a8fe9704fbfe4d98977a5e2106e27cae4cb74134adf73820b5ab1eb54e0af934beafd5074544285f8d28cb64b90046ed59d0ddb01496928694bbc3bad5052bd15f858f056bbb2fe0d8ebd0077bda17b1130e1a2dc1ec26d4e1f3607aaec2243c274fee051ca488daf44d3bf03396476df2a7c2ceb60deed8c750d26264aea4ae9a35970473333bfd21b39b561dbcfe7f49c5aa75c77242280a6e70f77a4b1c7ac0046303c3a25334d2609f1dc8428455c07c64da9627329c25070490f221cc7ad1a6fe03046793e8097b6f8944f9ed0b23de7725a3ba5411f383b94c0f3b556bc459ad037b424d66c523a0a0c5ca6553ecd15a782dab1e5ea85598acc7e7aa18455c8401621f0bfb5074947e52e884f86fd17fac3774e0b9d61d6abb2151c19d314a1600995312866e233ae288093018288a451a8033eea9e4b0e3e13050c7624ef349053418b1c21856818bb672b22b5ab7fba46f3e92ad8e149c40eed80b604980d4078090ddaef60421d688b5f3dfb030b265905266c4e133e29fec946be955c948031691427d18a5293233f9923bd4a0b978ef3aed997018d2b4c66876197f351205c17da8d273e250764f9f5e55045d2bfd5cb1c34a09b54fbb5c424dd3fa918e06a6246c3aa25633ccddc7a359e7c036250c5365806a8b5bd7fda8c2a7615a4607102d7efbc80aeb4cce00f3afd9a898b8124bbe36fb5cc71676fdc0cb57d6ea0485a64a80ea5446871c5234d06e8890a7673ecfccf891cbf5623ef10bffbe7300a1b026f073e79b23738b4953527d2553de23f8bda68376747f97bc96e2cddd00fc4525f55c7cad744888fad79d57e1e3560c4b9346671fb9cf71f06a8bf36b020128a24fc835c85e511424fb46c371d0562816d603c0a13d154400ef50c6bd0482f78c5ea58f22fef92bf075b54ac87d73ebcf4e6f53221e60bc972c08c4f10603e15fc80e5d36a08ca46cb046e7ca5162a4e1be23ff614720a91e87d410d10312c5e3b0f22735216dd131ca9709a3262aa56c404bfdd5f11c157737f9b0ca07826eb6ed944639154a32738d3a00bdb78c865f082608336fb9023de6fd8dcf05cc7f6ef30243bfc3dccc2ab5cbb46d708c2c4d9041fb907a2a061b8d54423007c8c9cd79b57b8f82dc7e6dd8ec8bb8bde0379fff21bdac8b85c4d3989f172f000baa36149b7c55aa316973a2e144db5e40549406bef55063ad26eeca43051d02f2ea662f4b528dc3b45117ae77066b4c955798f361dd58f4e2da3f4ee96ef90321aa7f192ed846143ba5c213ada9137ad0d09f9422ffb6afacb169d38e5eb50571fd4e89dfeef4c42dac9459e8ee7d3ab1e48e835e19116f08e6d3a559d0c50526201f1670c9f88d10bb11ead2586f8b7c78159a32c1fef35b292173f59e6802c3363dfdde7faaf07168d41a57a3d344ae1664a42be374fa0ce80fa0a77d5406c8accdcbf4a54eb105f2926ec84e85bb9f8acf049527b8fc240b28cadc45140139ccf3541f88eeb56a20191e245fffe2d91572d2eda05aed13fd4ed6c3cf5807fecbe73361440f8b6bba0754eb1f68c1d0f841f95a5acbec45180ab5ab81c50499ca0de38698045237a5ed04d40d8640af2e85b187b824ee59fce6fe933b1406dea7ca69b28d5c09e40255c8a28b628ada481c53740c08e4a22d7e0e007ce4068c2d4b1ee948da6d67cf3c31cf9d5ed8b6235f88d5a1768d6909283d2406150699fb53bdcc48a71cf6d7026837081b55c1afc60aa7e54a0b336d167702150b001302a6ff85853115942d7f322d10ef96f55ca80690a7535229269ae998773f02104c19e3932c24a95959b25828cb571118231f3b5d40bdbb3c7401f42483bd0720a3f85314d1a8aa308987210e30be3229e7b9fab7b99c13406b64b44b6c9203eb88c38d04bf8213290f07ce7a25e2ded82d0c410958d2a6e22497f6d27f1b07803b483bfd2e52fddbd8534d4c619532450b7ba45aedc46a0125e5e89645cd013498ff1367d171a76d681038941d625efeaddf3ba7fd38298562cd3a7e81f501638d2031a928afcc862dba418f591ff8d8534dae7fbb2b3d5efb45822b6f7800d954d117fc09bbfab80618e437eeaf199e3250fdec0d942351bc5bca4e8d4505e26ffa71eac36fb6cb51db3f39661ea4e30f8299f84e2b5ae1707b9255466c02a4dbe6eb9f8aa600c0e34d1f1bec3e268b4cb9601b2efc13182c6280374a0e045bf8906eb12afe56e70154020e3b32757b8862bb82e34bf38d45e3128d754604a1ddfb6be50c3076effe70bcd1b27d80aae8a709fff4a9a7a0c9e630b0cc71027691e4afcc080545302de9f3b5c4347d4bb13f4ad961ca11a89607bc92a6ed0738f99b2a0f45348f6d7d48515e6ce4ca647d6b7ed518e8bb497a672db5b50a064d5841f3b5393fd706054080e81f677e89a5762e4326e1085c734e87fcb05406f92dd00d180a10d244743f2b5c681f6b1edfe22e12e408dec5d65e1ff29b7a045ba68d028f45596e65acd3131ca28c2430168ebe935e2e962616cde89ec2870402efcbcd04b72d61a090b2abfd3e6a3e802e220a35b216f02a88b3d3ae34b1029395473c9d5ffbb7053bd1a6fd17646cc470728fcb6215a235eeafde63ddfa05750bd1554b8b98ad0066649ffa3e62052704edee313b56e43a7c5a03501a2d0069f9a5c2b835dc110fb552d72e0cb3fb52aa479346f37428deb2b982cf3b09003541be8ceebdc3c262fd002a58da599469e4acab16e4f3bcb9e69e8380ffb7044dad3f25e25fbf4945941aea6de8df38e2dbd248c04f4e9eb3105d3602396005834721a8f8c5f1a84003e4544953e90e0ef975c9aeff9c8797d1ef6d03756806de8c229afa422a8f704d3bad162defe2aa21ecda9c1e53e366133d581e9e8c00819f8e89165526057626db5a91a3bcdddead0ee9838c558094aed0d8bbd79c07a9a2a9077f64c9404cc98efff759d6ff2ffc95974dfc892f4e64308709437b0540196341f6c7f19059f0e9acf010060db16614212aea8538cd78fb89c4bddf03257eaae313e2a30679b88bdb431f9696ab20ab08877c48cc4a9fecf44888cf04e1f2416edd4c9c460e2099d16cc2eeca8d6614dc2d4d437445b4b02218408c06342c05238cab5cbde959919cbbb8ab63c6e0082df72dbb5484007418dfee8600dd65f8e0ef977e09da9a8ad85201e75bcc90b7f10dad644d892927a9948e40040c8911e1f8aecc088b7c42e03ad7089c1c765eb509f3749a7180b1af099020062b923073b05d3bf2389163179f93fe3606bc4a00479847b12ffe359dcb6fd1040fab229b9310e41a3bd6de6256ca557818ef6d9397edc6e715834742bcb41a05d6859e77ae0a8c0214b3f35cb576453e9eb0b72145a8557bfa7bfa9e4e0daa03dc8ad998bb9483733ee985d95b14ead0037bb2eb93aaf3225b3e49f9f78736011e7423db04fcf4f2bbb5d70071bc4a545896533f3080bbbca3b4c2d7eb29d705eeba241df6b7cc4dfea006eca8b7565de0bac09d0fe3ec4040a8f611c54b4c0401260cbecd23cd14e395b360557bb5d1d7cbc43fc4f3af513488425bd4409a067ebfcd283da71a87ee9e1bef390a6d508ae21270913ba1bb57856619f750540234a093f753fb38e957e6229c0aadf46852578600e044db1f7501b2fe5db4d402c05a19bb2bc7b1602d56cf8bc443180ccc6d68e13e2d8547cab305fee80394028c9c0a00b11dbd9f6292b8a7410ada4d9459ecb0e147b85e0dc1c36f1a067903995ffb4140e35a5986ed6de87ffbb077d0724b860a48acee54daa4001b052201380ce7ef40bd686452b7ae50d52d4706a4403f9758708a85d9054f51a1d2fe04bc58aacac0b28a9a516ea75b8d078088122b9f3eb9b2145541ff2a526ec1a8034fd4ed91a4c0e310062397bfe03f926aa42aa7f4363a08cffc635ceed8096e06d40c1e37cb59360552bf6841bd5e848ecf63e5c671f803e038937b42b0693e054b3d6fbd7ff7d550b58b5ab82019124bad96aad27b9909e865c36e68b1fed3070857eb080b8a98fd8fa54c0d49cb5c614af0a6a9cdacc4bccd4bd44fccb06a012575d8276bc324159e5025e46a69c5d96c70958ab4a7546739b43ba85dc874053f6bea7d84d361f6d3cfb324dd22a91a303d2547a76320cbf99bcfef4085fc054bf37dcce258a1c349cb16c92f33c61971127944fa475f2b9233bdfa26abac04af5c91f56fdcbe1b2e29a50090007c64c8867eff8af9ad1412030bb2063b4d05186b8ed525ca2058ab2ad445d08cc993e85e0c2e35772ead09a76ee2ed871d06235dfb2e1c0acf85e1a663025b3034ec49fc908c9d0656bf56aceae032a13406485e2debbda14a5a77415dbc8f779be07da67f16d30317bb328013cb64ed3100305ccc93dde8766efbafae94fae6ce7edc6fe27d73681cadd70c5991c1bd6e021871e8e4cf6ae5033cbcf8ee3f7135944a926760267b4db4afef3459edd97806875899db04e7c51e93628d06a515eddb9969d4f7e5d18e25c37a9a3a0fa98f02ae13d108b03ec4306260a3f7e78e73c681e0c163832f4cc4b749455a72567d07dce52d8e98dab06cd4770f394ecfc478f569205f126ab5e662cef09af5a041040c3069530b6c076649440fc534c39666dae138255101599b12e19b2821640c01b08eda70f39649be772e8f974aa74d0140cd66d223a23be2759afe818a589302094dd5cbbaab5759941853bd2e93b1bbaf194350c7b63e0caa5d4190663a120411fd759825becc36bab93186529a35f81c11855114bee2ca7fd5804877788d023b6ed27a470ba5874dfaa3b84a9c2b5838ca2cc5a06c64803c996e54491740053c9d7920b790e9e57758d5a0d49926cdb2b2e8bee71a6bbb9758e384f8a5da07d84053ffc5ffc4d79340728c25c014fbb5d4e34656b66c07b89e62fd339a1b07ffac773294b9dccaa59cd4ff21e659726a5bb20af295159797bdf19bc96edb013b1e81c66a990f22b0146db5f13c461a95b8daf8b9452cd92b1b021df0053407fc474a08c443d5211675204ac31ca981f3477a4bee16d5ea6f14c6b2b41abb013633da2dba3d04f90dce098975aba1188e3b4672358db5be0ac375b39f31f300806b83d1046f84062a9008a3a7f598754db9fd61f0c7f4b4940c6d6bd0a5af041cc191cd4175f69f968eeb619092cf959416dccc33cfebbcac635b3781e05900148f7d493b16bf43aa9f0016f594015bd0195f1893754001244bf1137c99bf046dfe78e3c8a59d3f65b8b9831b320dcc8b42c745842af8660245b9e9f81d9007526b3d90bdefd9bfefef05fa0ad4b5ec19c0648e0790010d0b8f4e1bf6968d07816ce6061fd3246e77160452751fb6757ef1d32259f2a53adea098dfcba4d605616866d399b0ae5dc796b57b65d844249bfeba8f6979ea4c730e4708f97ca407826a5b23ebe37c9ecde4bc28119bbcae88574c394b81d4cebdc2471b60e28f0790684783d844c76d1ef8e4550bd6e39d381757d81765266d36bc60017ca31c023a2851552b539a80ff6a47bdb74642763cefebb9bdf7d43941f83d8681a20e079ce7bcd56756005efa45f97a6f469f33927e97c3ac7f126ae9c5eb08549305046fa49c3dc81f6207941dfd33f56db223e88923f5f503d6f5c0f3b5329811b6037071f6949f3dd49cb9f873b7063b0271931bd8bc6bf4d3522883ae012b57f807648c0e9dde6c3ff8c21104a184bdf3a3d73eb94c70bcb02d72cee4352d32f3000a930288be6e7c063b485bcea93afd4e82be0edb6a4988814fc43a43b250ea03f0650a1290c65ddf99c84e7bb46fd9df997bf5b518b3aeb7a5e4faa2c0e117015b7b0aebb2cc45ae66a1e81d374d5a15b6ec9d20946be6da30dc0d8cfe8fd105c62e440c1a654b87543d0e3d02ffcf16130c4fdcae6ff4a7671ab6e7a03e060229d7a4d3feb5039908dc4638e4fe9286acdbb126957f3f7b52ed113bb6149406b78731493271ddb98eb42fd380d389ac689f249c9efb1778b7aa358fad418807a1b3cdd482d4350be1cb0c005c60ae8a3ce7e55b9b81a4a7102e8671e80bc7061ae50f194d1acb0b3334deab655ce7dfd47d97483e4e8b542862e610981a82067fa16cdb8a6ba2396aaaa7b959680dd0d8d9e6d37a2aad3a4f65be4c1a67f307dab0657539ee3b8d21e9a0de156c6cf29b9de6ea980c9217808a8ffaa9997701f2339801ac36ae00b304ff7346f54822fd8db4243b00503370e0404c576b5703f29dd0d17359a0da3e5154b16e40485236854ca2664badec3644ea14ec7e39010bc6009b15194feb7fccfc8bc7c1b455863c151d58518655ebf3e88ce6df360365feecb94ddf6f20b423a66f8900c054f09904324028044ce0bb718e874d4b026cde4f2a1e9c551441f222f7f9eb57be082f5919203a05a11347f2df0bb208030ad97f0528b9f36da8947b55d7dcea824e9fac994c0d06b4e8dbeec29bf0b8013c26e148d9b2fd05c3cfce6029971f9fa2f95e97aaa2221ee4d28b175c00b300e145cd5783e41bab3ef1c2bf262c68b589488d4cd544c9999a41257de7bd6c01bb68d48f9916307276ee8f6d03b69dcd5f9135ba917e7e3cc238e518488bb006c38c2a1f2f7f8ba60b14e95e4e9b5a925fe33123a40c1fd9d573fde143eca50380bf81c27deb172f67cfaff2bae612239a37b6595ac6daf582e4de0485c5eb055837777f3a79fb13ccdd23124df396a88f6667bf749b9d2c4d6478f94b2bc00123d61aec97e8e0cb3e8f757b65e35f81d3a0af64550e047f53e066dded5696023f9f3210a89ad21c0adff773515b48e543c0c5447bb23d152d248513be6928021afe4ac83a64f29a29c187eb1d63d9aae9b730ecacfdd8266a4ce4ccff16d7014ce0edf4aa65195006e2cd05c486a702aef4dd7df1d7f41e430904f74702e005138190ea5062808c0cad3a935580e7cf5d388b820237034862429a101dd89d04d47bcaf141ada772d84910d81477212ffe0a9f4cea88532cadc3f4158de1e4038be6ecdff3f3cccb14fbd8d20726b5523ea3339e75228fc8574d6e5296adfa01ce69e1a5fd4dc77337ca7154b2c00d625ceaa018524ffaf4d81055cc8f4edc05cf93fb28963986cc463c4b262df77cb969244806ac00177179496408a4a98a02b342877acb55681191260a8b1162e75ec923572573261f1007f7442d99007202b328e5f072de64f41fe2e60eb7ae50235300588c281b6f55e396caae2f9cd201db95ce83a6b4fbf697b306c7fbf5fedbbd9b10c4d16ef457c57c0c136d382d07876fe2631ca9442e708f11d5f6490e3ba0ea796c6329e260e5d6daae3d1ea503a06022497fdb40ea1de8019032c48b4018b79e58e76fa0fa9b41ab7efa161305f1bccb353f0a52a8642f8f44abedd1f817ea6622c38dba1c0be7334743d08502b423a34d13786463cdb4a17d4ff3e070e1ad4660b9916e6f64a6f1e900168f060d90587a6119a6f9faece348a707ffecaa9eb89dfae463e0d6716786d7dd8305511d0bdc3e856da21b982b8a25eed151941194954152d79ff7e944a0f476ec05ae3f30208a0d86a8c8a5584f4aab6da88eced4bb9ec24175cb84d56aaf6d1d0370ae64f67cf9491c17e3ca49bcf71c75a1ca73c3bb15f7472ab8321027f2e407b8353625293cdd63fbc6d66db7e8ad5c1450f118ad057ef34c163cd2291d3b0149c7a4c358562b807c3169ffdd1ca1a9483c4d64b50eea1864a95a4c2691c7039dbf376da595fa014b60267d1c02711d4ffc0124c4b07c9d16bd02a7e15ea503537a6dc2984250df1e2e70eab5adb3ad668df552abc28efa5a76c379daec33014effb1966e3801e32d45823b010223db5d7860b580207344b30e70e8a2eae206a1eed7d725adc65cf42d3702beb13aaffa2f5245d33237489e1d2c17a3956d02e772fc5db520c2b5396abfde71fda981566db760b01dbde9244f0f6cf091e0008898f6550b16a79f08fa38f9ecd1cd8cacfcb584d03c0a46e1770d2ae6c77403f07de66744e5fb9b163883a1010fdf237bb7acdf448a2a883fbab632514738065682770961f963312cb0f2822ebcf7ef515d37bf13f320b376f4c2018b8602056b1693c7966f4ede1ba1057a68d5e81753f6e33f7148a683251aeb95ffb19b013fb685ef4bb9b57fe3beb04e255945f1370b10f02f50ced1c643fac968678b00f44d194fcafcac74b30fd96a37ca8348b2d3646077cf11019c66652f123a3803bb9a7630dd12e2c54ade5fe1d951dc7297827d42a711fa9d2a5976b0cd127b05a896ba69795ea9d7f691581b056b7a152d6dea7eb416aa358aa9bff838af3506a49a28b56d918733b4089743f06149a7e1b264e46eff60bcdbd9ab32ccac8405b293e318755f0cc8c371a948af54305ceda57fb7228a9f02adbe13028d360c07a640638272a52265d493be304b34039c614e779d2dc475344b68154d120de4055cf25bbda35222de0956cbb1ad5baa2022d7be2b0986297e7779263c65bb2803a25a2857a75d1084872f6a026118186770c9d0c753bfc5a70c99b375d349eb0017904616ed3c95d34b37ab36c11c8dedb631c13f75a85dea3c957a079109130036b5de6dda484512f096f12573a611f20fc9d77dcfab40d13fd8796e87f593025c435e8f29b49904aa943b585c00811cfa790ef691667e6b0fa43405e2aa85011f07b0d2eb7c32e5499022f73f90ea5ee2ec2cb48b8e0b9f18ed7b9e3dc48e027137e065ed60e2c68ff395b7da1756f002330372a303451b9b9401cce3b122027947e48b77f6bb3cd510df24aae1f2b42b6ad2207b7295b8fdc5d17fb7f7cd04eb91f27d9689bdf502368675045e774436bbd2a45a9aed83ca974da857b5c9066d99ee85f4df6ebdc5c724b43697bac37ce5375395d530313e66798a36ee2c056a9d72ceb4d349caac5ed903d66ac579bf1b709971d2540723032eeb3b5fbe06f8207eb7d6f14ea378b28dcb32cf531bde01b174e4c5050a105966b40e59e903de0f4ae250588f10a765edfd52efb0dc553a19c9ba40eaa208cb705a4f3cbd034287282c3450a1112cb8bf0b45596a013978747d384dab425319cf9102e0c6009e7321c1c70a9e8db331b7ed93f54fa7bb2a657f3b63f5a3abc2791ca2b5ba06d9d3f9d43ec642cfe9dc5a768f6329d6ccd87e221d9593383623733e0adfea04145b7bca539e760840081b87586f35ffcb8715f02a174035541d88383eec3d02d7c2fbb37e129f9b27d0968fa55c54511e9411603270a9ddb16f178d82c4ea01a09fdb5b428528d515caa1fceb008ddd8b7381f5304e670b2cabd3b7f550e206a43106d5ab26e89ed7274296c6b991d97256cd22aa2f58114eb0e6ad9a790f0485a4bf9a8b4bfc42c7d1c266629aab859419faa46f37ef06fd72dccc684ee100c343f2c22ba7e6b8987191e2605a2378ccc2aba80a1e4eaa5c37044bd9c723035aeaf1cabbfcbd5aa9bb7c5aabadb715e76a301ce74318576235a6d33186d30173a34159a203786a8636f0cc7b9ed72440ea5b862cd6cf49fcb109417a38a507aa2371ad954007a35c92872e5c0bfb1e73bc69499fa4faac9fb897ace247bd053672326b6ce14a290daf8f54ccdddaf60e11611631d8f24617d917f954fc210467abfabcd1a8321db118c5c97ce9eef2bb225e4249921f3642b4bab758c6640650709a2a8fe2f371579a9983a593bfdce4193fa71ebb82cddd84007a024bdb01cb90ffee555e340d369b05a4414b39cbd2cfd4109b46d7a868a117b5b0b03501db2cf99fb26457418780613a13b610b6c9b6458200535723ad01f3767b4f39037d56fd8ea51282145747b0b0ca6a3a8345e6f851cda0ec7ffd4bc021b2f81f02dddd7d82812b484503c561aa348b80b2bc20fbbf3306e2eba4363b594f5f99002a92584d00a02dd5bdcfac8a2677fe00f5db5e1ad5baec3e5890996201ab39040606016e9af176773707a9587352c399b7b50f741d866ff61b1eb93bade43f0123d40df3270b15c98bc1733e05907993210e9f0b21a9bce06e3a225531a3c201a9623c53a9e6146d922ed5e3288ae1233b28f59cdce15e625eeea2c83cd4d1043abc9d041ef547fe7980b89d0c68ea0f6b9e57aa94fc060b1c9eeec389f559023e6c86e022d395b02684e01a4e6913ba9082b571ec4d57c6d3954762551410041ddbf42e3c6274c0783ae4788b69d3a424e0e4f4b6ac08aabdc49313ba38490649b9e3f78c8800824ea55cf219c9ef5e32586307feb4a4e16b1fdc1fb35e66044da6504078b34ab3e5fe376156a01877cbecbc61b1403c365f2b3d5d9f69b403565daf01d5e6473e85c3703699c479cb083341f47484d851fa1adf9044cd4c0216ffa871ff149ef0f9e79c0da6714cf1e742406ec4726ee86a64d10d27c0dd07a2789638a9e5c697f96629b0df9f6df5ba5a66313f1c8217b32f6d87052f1904e20972831b34478ab7e6c1cbecd41aa01f649307fd46af111d60d57fc724070777f0bf7b83dd5d8c84f645dc03f5ee432c3fd31ff3c929bc384d4841c911e40692417b44ca131f436a36f61a526d3c63c20b7d374e85fbaaaf52d3ce426c90064c65a1b57e3742e8ee69f8edcc7b8c84eae559bc2c39f35d3b1ef3c9eb4caa01a9c42cd3af9b6ccc5948fb1c9d723b773e74ebc8423c4bad8d465010f2ec12057d97af905a7909007ae6b62883aae5015f1fbbdbd0a7ffea23d3748bdf72e506165df545fd8c6b8deb5c15444e831ba0a771225428a382dc7d94a7b8e225e702e04e74bd23f69edf2947f17d8c5936d97898c37a065f741ac39b67f8bde75500a30a3f9a17e908b21c1c1164803a71b998405669e7d76774351baec47745d2014dd2360e4e4998d91f03573debc0d5ee7e681a48274181d8e67267b28a9f22052ebe56f187ed6acec9d9e9dd0deb3d0135509b6231b70e01ba11dd11d2e940012166a218f825e61977b0231dc43c1e86872a2a94639d0ccb48a6cf157987af01e27452dd23a6779f7e209e976ffced8811498e07664f32eaa33fbc0e70d96c02952be82993dd0d609aacba564b759f1273ae145135ba730c3ed79aaec8831f009c510cff25fd0b3b83f8744c089b888a12fe13b4cb1bfee07e673513253b2d05cb308d2b0e7eb3fbf9df92cfa2cb08123bc2c5e55cfa0307ecd529b39e6bcd038db239892a0aba09ed3ab6629003e4fab44f2f09385c82cf0f3c7825913f5a04d92e1c576ac41728220b391114812b0ec0f35df09278215baf3db414b4ee660508a1a24af0b82d2f9faf11f8909e5835e015a409db148292c55f70162d484407a0c80081dde78f731a108e1871120599d7dd28df45795bd0d61e47fc9e321203d75ac2b024bf8c9f2735151a010827b0c6503495a2a18fdd8af00b61a5997301f45d964ee98afcfa56da7f613e2901e8e21bd5ddd20e3a40ced7a9b40ecaad04f23f5b8946860a30cb428b33ab1809dc174260758cfced86df6332719fd69604f18caccaa6e39a7334f6311848fc13857a47662abe0243f78e2961d3aa00090358073e6bab56258dfcdb25ff5866a01dd9667fe01e192a121dfe3697867dcc040a7725599fda53db70886010d30d85ad71d3713facc7381c1d61ca12d02cea071f8d3eb66f686511963b0ba930a8e417698a737b31ee0128e8ceb1d8c3111c0789e35ff1c41b1d15215656382818307211a823462a992fa8374e218806898e04d891916707c5b6a714f2769461142434f15de255930efcf42ab63d2c2d1d5a0291592e1cfca7e2d4d3f14151de80300a783092d829d7befb28000dbf471e9c04465f9b18408e1054308eadc473b1d1e878f31065065501440f7eea4fc4e521006660d72eefb081cddba56265e6dcd2e7c2a0fc0a9e4911192a4ac459bfe76201b0a6b9f4c33b887852cc511cd575bf714029a9a9969433fe8ff0feeb169d6c0784da54cb12a15cfca6ddd8158af38dfbc20e0a091143b5b1cb5125ed402da107462fa52e919356e19605bccc180720130b56063251be5eec06967a48edc9260303ccbae0ef93594612557d7964798cc29cd8d19d1ba99ae1c5256719c94ec901a42fafe5bc6ab8e9c982a783e88bdbb100cb850fff4dc1fef34b99f0b895f607ab0d8d2d1fa6262f9ff308105dedde9187bd964e413b4c08103e5a80edbcee007602c6ede543bbd3e8177b3efc6d837df27f3aa33f2e64169e9db1748fa0c904cef0fc96d1dd3a56a91b43a532476898a7c2a94faa4e29b026923e746f58a10736885e306f30783e014d58a50c09fc10f4daca8c02728624dfae6866939a6f01a262bf55785f4674ab46b3040c928799da8a012703b1db7ca223d53dba866d03624dc4ddafd391d2314520859bafaff4facd29f34dc4835aecaeb852b9b49f006b75f983c608f641fa1fcb11384b00119615331d2acd8d6055c0000b77a6c902e10fe34092aa0e4853bfaa5a5cfbdf0d960e0e68de65e9e165d0e2dca8955702979add83dacdb7eff6360748cbf238a50668ea95c5d0e44bd3f0912ad13e7607b14126ff6bbeddc5dec9c498d36ef6ef4626d0b28685ef2e1dce150727674a01081669ed0decbe6c5cbc40e8378238267560f2112d3b400e2cfd960a4e439d038cf5f73375caec2214b847d3e0357d1fe92c6ada4940d5f4838c23a1c59fb6046010126b19e786562b2b1ff028e4ea4be9db58b2005898a3b31524805b1d61028cae6534f92832b28e8c9c02d86da4a99d283bdc2661dab0ecd44b4a5393e9026ddd267911b22a8b0691542dc25f3e428f74f25cff46d97ab6615dbc4e0fe204d02a1fd785f83c54c3b14607454681579a898080366885570b1e3c2155bb4d02bfd6c38ca1583bf5b660be01410fb1e180cd08cdef4dc712ea7e50a8d90e5101a6db5353835d735f1cb73f17a18876baa5592a819884a9397bcce97dca04cc03189280fdda4e6176094b1f5ee530b3bd8896b4de80d5484c505bff07be839707c5f8622717dcb06d30b0f79160983848f2c3440849220e32490f68acbbe306062fc9b903ade0ed8f76dc8a71c2d8bf59f86e8ec98cbf618ab6cfbaa11715c3066ffa6f4de59d9f2973fbfaee304e54eceb037a6d22b10d1c9772975c3adaf30493546444cf53789677b9c396114783af9262e50079b7cb4dccd1e576f23f65050ff1fd558b229afeca48e16936d338852c7d75522cf5186bd1ddcf7a82e63903ab727bdfc1ee76940e1d496b362988408820ed1c8915cb4f08a3ad381650db0177f036cb0e1246d0de22ca8bbcc73265655f541c673fbde7c50dffa1e99fc505b84ea7b68c58f08a56f888d6016ae363265c65efaf56fa6465fcb507a196bd0113e256a061a04f990000b4251e8d608e0b4d79e9f54ab8b43418ec62b8f36201644e2afd8e20603c403d85ba00beda3e4cbedd65f8540060b0502e27baaada019a9b832be64369499d1aea5b8e061e28e27262afc303a8f565a294151766a5055156ef7c6a9e87c12f58ed17229382acb29922204ebef009263d6f54131abf07d2ab634c324970f9ad89b24d645573d6e3a8227519cf2adddeedd015f110d404cd6689dd8c91997405631105bb54ac122bcf445bd4c13f619437e6650ef18c0724dc765c9f1310ef9937142157c735c12baedfb14f25cc768adb19ad51c06506305bb6c48cdb56e0de0bab28226d56e4e799644fbb6f672179de62d30d4f0603653a6331110ad82c8be70643bda14c5cadbad8dd92639f0e5ee89ad8b3af2b0144aac692653db2cf34ea63ba5bb3cf6ba6c63d2256d724ff358e2e75f1dadb00ce2998cb65367bc136e6cbd3833f12090c2d1837a9a1cfd327c4a513320c2f01f8137fec7a233c12f7be08ba39b05c14ae4acf62f8a79f6b98bb9e5bca18bd04eb5e99604acb47d985f5ee3e9cfddbdd070ff278ce5e07d448601209f1957f0353d48b77ca0a2e7e6afdee244067c3f40fb0510fa75e3d60a8b7598aa5148d00ee42c32233f60eeb203d7f4fe1ecedd2a24dc683bb95e63fa852c0bab319ed042406c55a7e36bb3f80fdcdd8f9747ded0e444597cce7e6f818fd7f572a2b2607e535cc9d983c5103caeb217e49caa42e6f27c94138e70f7c63525a7886d62d0073b08da1f8527041164e3574864a9e1625bd555a713d0b1f99d65a250705c403627d651ccec5569c420fa00860e6ba6d57f37e038469394d1d04b679ac016e07f5d2ffd1b04fddc9cdab92b468b9aeb7d089d2d5fafebdc2f36374ea9d4b3007273161a53d4cf40c1c5d849ac7aa80a8e952068a260a66047b9453f9c102ff045685e5c2c26023e725d6135075bd1598ab234b77ce98ab9747fc038cc8ad430182bd2c3185e87d5057d091c1796e8fa4224b687c9f1bb12becc80f180de13707314d137d89aa15649e425afe0ebbdbec0f14352740e121595ecbeb410cd19d03bd22288c506e624adc5f5a5602b0924d2921eae5df16efdf8d8220846f71e804c06e5d7d20d8481c5c2c18878f5fbc8b560d83118c0aabfce67c7ff7b2675c002cc15b651451e6daccfc8abf7359429b98c8d7024e8c2d0d656668af9f87ae07cd164387776d8460de857aa416693e818642e261758bbb70377c4a909daea9070bdb77d1280384439692c0f69cdb30f172e7f3dc6635d570029e22a7d284d3055160c0288c05992120fda2ec0eb3710ff47ef4345b2649797f5778d9ecc00403a4144182077b38349c227f89c516abc85205b3d8b6d91b444b2dc0e376b19e076e882c54cf7d4a55cf7a936a45121c5d8cc64fe41c86ce88457826e0df80020516a5c5a16e5146a12955d9f95c70668f15041c41ea50fe7b5f52dea188c608073e2947bf227e009a9c5173d28e2994a5486e544637594690ff380174435af7036b0a31c573b38d21625de890889d284b03d11e871298e2eba1bbcddbb5cd43046c03bb8bfed5530a2da415f425774028a5124057511664ea86e281f0678f33050bcdc9565c9c855444d5beeca4b2cfce77525bc085dbd47ac9b4fd892bf6d401fec12f6404db946cb53491fa710be43fc2a8ab7c7a6665f4e0698710c4bc330191885b8371d73c98c62d2e075ee7653cc7bde28e6840689bbe45855962ebff026943216905867899cd5a5e9293a79761660cdb0d416da835be1a2605b05d5a02d00efd58fb7e84d84c3a2468ab1520c6724ec52356faaee041db66d8f99ec7006459344b10603551e0e2ea75d4fc61e51a2e5036361878f3fa8ddcf27180510263dbe8c118776d365bd7b1bf2f18b91ec50eedfed9a0465b7a808bb4fb651b023fa1ac1a4c1c79c1ec3f9da91806e9b8355b7f5814f2301b84216c43e1cac1035e47aa4348eb7e2a7674ab1a66ca65dd98a14af11459c88fd0b05ee8a440330645d118725085394dfb6f548d4063d4ab5774e917ae2481678f2c17bfa1933d01b3228ff9b35eaa78344e496ab039c08329ef22bad7e58505ba6c5ed6c6e11b07840f0d27830c35b1a6a876a5e346983b9e8d5f27ed24cf9bdfd0a869cb96aa07ca85a9a14123884bbf8272135432ce77d36ca72d114c717629a5b5e343c0a1023592658d91ea23e9ec56a12a85e49b32dffee7a33ea1f1c013f376e84c119b0262e42d900bcf018ffaf4bc59e2c22e91963f37ce88cbeae4ab951bf99be4b90234371ed990a0e9130b19928930e55a8599adf2dd7efd4c363b2c357a4f30c205db89488d69647ac2e7e695bce8f84bc835b10ee4b4d23f4f0b09e18bbe6db1026619b0fc832a46669a58f48df934f8bb92ddd6fe438e03bda8f644e55247df04ef67786a180d6d8bd8b6ba3fa64f6ca2e901ef57d68271aa16f1c53148977d01972c7627ad0affb7651ae72440c1c6695aab77b57c358bc791accf174fc007071e6f5c74d6c4c8663f8bc95ef7af0ddefa4aefe9f8204a24b87ec1dfc1a06506647e659c0221294a77eb1990e4643b3ea52f898e3cb0f833eae960c56d0ba601f14e834dfed84c4e5937de63d2f4b4ab2b344d52e2280a62e73aa9df56c4a4042a08c0fbc80d7daf5d84aa9bff640500809ee8a3a12c4706f23bde230e770005de8643813ece6c4baf9f96589f979b0997b2e3f7a2bdb7e11e7a2cc1a422f900a71188ce13272847ed804f592bc1c698a4da20146d6b0c400a6822bb29532a07bdf49a8341a54d5d4f7d96e6d7e5636607b228279d02f225797cb378c826ee02a1ed4535108640a5b92f9e2d93e0b85c1ad0e4b8407ded1678d396355e8d0e07e21b355b9ca9b8bf84e12ecece464dde3b5401230a0c426421d0f0715c91a5069c44b532e985cdde5983a57e2166d1da069350e23563f97ad48b0c2afff61b05a2cfcd0eb68228c6657de95dea0bd1e2efe18e7f75248710fea9e884c77819058c4eb51fc27b9a94fbbd51310d7e0b61185f56ecd53e3f044608d5b45d3c44039c6c8b2e2e49a5fb89fc03b53f3b96a903f581a5654d25329f4ab1e07284f300b59e7499bac4bbc7efa255be271f0a5d6e7a7604b73fd27ac7975ed56532ba014d3cf9638fbae114f87a06895f749de6f190dd08287c93def9af51c6884ea704b60c427488e552d9b464d6e69eb90a07844b925596438f5d071d1b83c7e5a103b071735c94d744b02bc3ad01df1029646473f17e2ba393fba13b0334ac694a03f3d74ae952a271bfb4b3d951ab4c2734363b78a93457c4cbbb79521d653fb007f29864a8e29ac051ed5c15c68a0df9c1516987eaf390099a7b1660f0a1579700d85bba74e9c4d3c1c758516a5129583522d715fc72983dbaa5829d6ed46a4d04cdf67f20cd30d2e9bfc496802bcd0ac6e761198c806013826f58a04e8c39d3060e117eeb2d9cd94e4753681810fbe4a0513a963dbee64fc080ba019fcc7738020dc763cffeecef022d1103dc8c91341ca08a7e78e1eb2d9e181a56f99b023701321cb4d0f8ef7f1495f50d773766c72f3e17660bdaacdf13b85d953da6872004a262ded06bd1496d8ac4a959d70c8b2c08381c599e699b155e20346aeb37a402a6c5dce5b71714c1c40436d44e459b1f3140669eab0d4e168cb5936c4a91fe07d6027ee0ca1bd60fe9289d9715de22528119f4459e0be4dfb8698e659e278a00d6ee089e7a9b3bc8d57809e188d0680c48a9a01aa324afbf45049304db402a03a7b3280215b170bff90285f95951513d7ff5db6d8d1494d5798ae60f8631dc074fa5ee6a20e36cffcd27572eab22e1231bacb1df62a55380f50c0786dc999a014e13667c479b3fe55400c4659f11dd93321dfda99478fa5576d0d5d0b0a82702c5965248ff5d1529db5fed37446688a32fd6b9fbc7e39b92bd9df21f943a1706fac808d3517fa959c2da733fae6bc0acef2f49c467fdfe6934c8f6d791a8d5070346d69d6625a267d9f4c7b00fc29b7bf74bb7bee763f65f16807395f28a0f07eaeb82f84304ed161bff4bf3745179f4cfe0d16c23cb37b305a41fde94fff2003c9e469ae68156dd2adf2207c57c03457593af58bf4a49152c13786f2e2dd1057608300c24f370260dcf44fac3afe87fe61b5c86004d0decbe5b67f7529b8a04518ad5d2a2f015fc9cf06a9a4c3b2be53e5b34c27a0d857ac426a06c786dff01a2be5583299659fe402d321624513a36306170667b16bd92d9077b39b4ac860115fe9191971c4559abedf733f379e42e5728fc7c17ad9e8f49147788b883da04b4b05e65d74cce86112601a15856f57734835687a1d9c42e2a0b86f9ceeb7101a37216db1b21f997d6fb89f3d5f116972c4324bb9ba4beba03f7c40bc51cd30395535578f28f4a37a75adf489bfb121e9c9af5c069a08f7ad32dcab7916fc2013ceaece3dd72e626b08b494a172356ce7cd1d79925cb0dc68394e461fd474f0208ee4103df450ac2fe1302afca20f2a8e5faf2b1e142f17a47b260aa7c7e6b075a87e263359c368dfc040559cfc29946e97590d6635e7a41c22fa1b3467adf012e79b744bf5e043d67d003b96bf6ad8df4c4954d1d55bc383ed1d1607f987d015799d699ebf4963af54f799f7a564a093b81c2ea3f410ada3fb316299a2d01033eafd6b37c886fc59cae1c873dc6eb1bcff2ef2ddc7176becc8d40cd78684d00e8ccd5adc7ffb9d8d42c8b4fb524e7abe2f972c7bd42c4e98fc5e3770a400c05778f001bd44916a1881f0feca48892403407fb408d7a630601bf5e82f41a7c01bd14b874a822328b95f75467b241912ce9760d8beea0d099383d30523690a70143e002afde9e6c37e364510a0e5d2143183e93d9e9ff9050354cc6c91bb5e506e2a922fe9c5770c04662bbf337dec6f6e89891305853a3a18e83df5b1ca7da02b60b7958876272e342cc11915a0d72e62aedb8b472bd79b8a92ac905da683f06e492e269dc640a6a2887b28c566b0678ec0b002a872407a6e51637206c6c290297b586bd11a611cda19a4d91b28838264788516f29c0c7d61f3557128ee681049a7b2b92f7809568b9513a6ecc0d7b904f48dc5f63c6d12f8e40e019fe9b33063c747d4f3cc0561e1928d73d1b3cad8e8471074bf9d51003bef729e3fd093a02e8b825b74c8cce94624344888615935dda65a1eca2c9df09df6c38056bb9a403091636dbcc8ee3dd7118fad6ae2645dc8db70415bf039d5cac683a0a13ff210263b182bf486b7c696828f2d8ab22a3a2cbee77f9ea421f17543dcfdbcfc65b041f73bbd082ed7979562f2f3aa2860218a11eb05879ad452233f196d0e49231051ae9e74c3899563ce088ce6179ca8de1dbc0a8a0bbd7b8e106f87db5bc1d8a07eb62619a2f0c2ff01e17a4a7ab5fa44256d77e100b56a9633a21a9efe6c0c6065f2f1aaa4f68f4d4a0009014838a821df22ec0855ebe962307a21e3c2e19c502c83a889d4e16414ef805b762174a96071f68aca202aeba943773f231c07bf500450e26f2166522dadc118335541e1efece69cc9fa033119fa2249c5eb3b1b0024aa1e840ed5acbeddd52a165f55bcec01dd39793816e03a25641eb18e55a5a07b976b10d4267b343dc5f282af97be79f68adba0fe1e719f6cccbaa8f1070b107453ded774956640768ea4921d04006fb68fcbfd83024f336768b3d4ed7bdfc062b2a8f95318315b05c3f1c0f2c4e0f8f6f2bae4e9489605d132acfca9899d60762ca64ac91480bb1bd7caa6a5b2cc2403da446380d19910081e2cdc8287d27036779a7bac1531e14ec0ed19a088c4a21616651f885d24ec9f9e0744334575a060df7e4d9064b5df29549ef466c7d66844cd0b5525d7318273b0e252591f8a501507e2b0b391a7810c56115170439d27e768a052d9e1a2cfcae40ea657021cf062bd0e4a0065b844bf345e6df265139bc7748b55d3514ff87c44f1ccafa6006068ddff11bf13cffe3e43c1ab175dce93d635498b3f162bbe89d43e42872f4fe", + "proof_parameters": { + "channel_hash": "poseidon3", + "commitment_hash": "blake256_masked248_lsb", + "field": "PrimeField0", + "n_verifier_friendly_commitment_layers": 23, + "pow_hash": "blake256", + "stark": { + "fri": { + "fri_step_list": [ + 0, + 3, + 3, + 3, + 2 + ], + "last_layer_degree_bound": 64, + "n_queries": 32, + "proof_of_work_bits": 32 + }, + "log_n_cosets": 2 + }, + "statement": { + "page_hash": "pedersen" + }, + "use_extension_field": false, + "verifier_friendly_channel_updates": true, + "verifier_friendly_commitment_hash": "poseidon3" + }, + "prover_config": { + "cached_lde_config": { + "store_full_lde": false, + "use_fft_for_eval": false + }, + "constraint_polynomial_task_size": 256, + "n_out_of_memory_merkle_layers": 3, + "table_prover_n_tasks_per_segment": 1024 + }, + "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": 0, + "bitwise__trim_unpacking192_suboffset": 0, + "bitwise__trim_unpacking193_suboffset": 0, + "bitwise__trim_unpacking194_suboffset": 0, + "bitwise__trim_unpacking195_suboffset": 0, + "bitwise__var_pool_suboffset": 0, + "bitwise__x_or_y_suboffset": 0, + "cpu__decode__mem_inst_suboffset": 0, + "cpu__decode__off0_suboffset": 0, + "cpu__decode__off1_suboffset": 32, + "cpu__decode__off2_suboffset": 16, + "cpu__decode__opcode_range_check__column_column": 3, + "cpu__decode__opcode_range_check__column_offset": 0, + "cpu__operands__mem_dst_suboffset": 4, + "cpu__operands__mem_op0_suboffset": 2, + "cpu__operands__mem_op1_suboffset": 6, + "cpu__operands__ops_mul_column": 4, + "cpu__operands__ops_mul_offset": 19, + "cpu__operands__res_column": 4, + "cpu__operands__res_offset": 51, + "cpu__registers__ap_column": 4, + "cpu__registers__ap_offset": 3, + "cpu__registers__fp_column": 4, + "cpu__registers__fp_offset": 35, + "cpu__update_registers__update_pc__tmp0_column": 4, + "cpu__update_registers__update_pc__tmp0_offset": 11, + "cpu__update_registers__update_pc__tmp1_column": 4, + "cpu__update_registers__update_pc__tmp1_offset": 43, + "cpu_component_step": 4, + "diluted_check__cumulative_value_column": 6, + "diluted_check__cumulative_value_offset": 0, + "diluted_check__permutation__cum_prod0_column": 6, + "diluted_check__permutation__cum_prod0_offset": 1, + "diluted_check__permuted_values_column": 2, + "diluted_check__permuted_values_offset": 1, + "diluted_pool_column": 2, + "diluted_pool_offset": 0, + "diluted_units_row_ratio": 2, + "ec_op__doubled_points__x_column": 0, + "ec_op__doubled_points__x_offset": 0, + "ec_op__doubled_points__y_column": 0, + "ec_op__doubled_points__y_offset": 0, + "ec_op__doubling_slope_column": 0, + "ec_op__doubling_slope_offset": 0, + "ec_op__ec_subset_sum__bit_unpacking__prod_ones192_column": 0, + "ec_op__ec_subset_sum__bit_unpacking__prod_ones192_offset": 0, + "ec_op__ec_subset_sum__bit_unpacking__prod_ones196_column": 0, + "ec_op__ec_subset_sum__bit_unpacking__prod_ones196_offset": 0, + "ec_op__ec_subset_sum__partial_sum__x_column": 0, + "ec_op__ec_subset_sum__partial_sum__x_offset": 0, + "ec_op__ec_subset_sum__partial_sum__y_column": 0, + "ec_op__ec_subset_sum__partial_sum__y_offset": 0, + "ec_op__ec_subset_sum__selector_column": 0, + "ec_op__ec_subset_sum__selector_offset": 0, + "ec_op__ec_subset_sum__slope_column": 0, + "ec_op__ec_subset_sum__slope_offset": 0, + "ec_op__ec_subset_sum__x_diff_inv_column": 0, + "ec_op__ec_subset_sum__x_diff_inv_offset": 0, + "ec_op__m_suboffset": 0, + "ec_op__p_x_suboffset": 0, + "ec_op__p_y_suboffset": 0, + "ec_op__q_x_suboffset": 0, + "ec_op__q_y_suboffset": 0, + "ec_op__r_x_suboffset": 0, + "ec_op__r_y_suboffset": 0, + "ec_op_builtin_row_ratio": 0, + "ecdsa__message_suboffset": 0, + "ecdsa__pubkey_suboffset": 0, + "ecdsa__signature0__add_results_inv_column": 0, + "ecdsa__signature0__add_results_inv_offset": 0, + "ecdsa__signature0__add_results_slope_column": 0, + "ecdsa__signature0__add_results_slope_offset": 0, + "ecdsa__signature0__doubling_slope_column": 0, + "ecdsa__signature0__doubling_slope_offset": 0, + "ecdsa__signature0__exponentiate_generator__partial_sum__x_column": 0, + "ecdsa__signature0__exponentiate_generator__partial_sum__x_offset": 0, + "ecdsa__signature0__exponentiate_generator__partial_sum__y_column": 0, + "ecdsa__signature0__exponentiate_generator__partial_sum__y_offset": 0, + "ecdsa__signature0__exponentiate_generator__selector_column": 0, + "ecdsa__signature0__exponentiate_generator__selector_offset": 0, + "ecdsa__signature0__exponentiate_generator__slope_column": 0, + "ecdsa__signature0__exponentiate_generator__slope_offset": 0, + "ecdsa__signature0__exponentiate_generator__x_diff_inv_column": 0, + "ecdsa__signature0__exponentiate_generator__x_diff_inv_offset": 0, + "ecdsa__signature0__exponentiate_key__partial_sum__x_column": 0, + "ecdsa__signature0__exponentiate_key__partial_sum__x_offset": 0, + "ecdsa__signature0__exponentiate_key__partial_sum__y_column": 0, + "ecdsa__signature0__exponentiate_key__partial_sum__y_offset": 0, + "ecdsa__signature0__exponentiate_key__selector_column": 0, + "ecdsa__signature0__exponentiate_key__selector_offset": 0, + "ecdsa__signature0__exponentiate_key__slope_column": 0, + "ecdsa__signature0__exponentiate_key__slope_offset": 0, + "ecdsa__signature0__exponentiate_key__x_diff_inv_column": 0, + "ecdsa__signature0__exponentiate_key__x_diff_inv_offset": 0, + "ecdsa__signature0__extract_r_inv_column": 0, + "ecdsa__signature0__extract_r_inv_offset": 0, + "ecdsa__signature0__extract_r_slope_column": 0, + "ecdsa__signature0__extract_r_slope_offset": 0, + "ecdsa__signature0__key_points__x_column": 0, + "ecdsa__signature0__key_points__x_offset": 0, + "ecdsa__signature0__key_points__y_column": 0, + "ecdsa__signature0__key_points__y_offset": 0, + "ecdsa__signature0__q_x_squared_column": 0, + "ecdsa__signature0__q_x_squared_offset": 0, + "ecdsa__signature0__r_w_inv_column": 0, + "ecdsa__signature0__r_w_inv_offset": 0, + "ecdsa__signature0__z_inv_column": 0, + "ecdsa__signature0__z_inv_offset": 0, + "ecdsa_builtin_row_ratio": 0, + "keccak__input_output_suboffset": 0, + "keccak__keccak__diluted_column0_suboffset": 0, + "keccak__keccak__diluted_column1_suboffset": 0, + "keccak__keccak__diluted_column2_suboffset": 0, + "keccak__keccak__diluted_column3_suboffset": 0, + "keccak__keccak__parse_to_diluted__cumulative_sum_column": 0, + "keccak__keccak__parse_to_diluted__cumulative_sum_offset": 0, + "keccak__keccak__parse_to_diluted__final_reshaped_input_column": 0, + "keccak__keccak__parse_to_diluted__final_reshaped_input_offset": 0, + "keccak__keccak__parse_to_diluted__reshaped_intermediate_column": 0, + "keccak__keccak__parse_to_diluted__reshaped_intermediate_offset": 0, + "keccak__keccak__rotated_parity0_column": 0, + "keccak__keccak__rotated_parity0_offset": 0, + "keccak__keccak__rotated_parity1_column": 0, + "keccak__keccak__rotated_parity1_offset": 0, + "keccak__keccak__rotated_parity2_column": 0, + "keccak__keccak__rotated_parity2_offset": 0, + "keccak__keccak__rotated_parity3_column": 0, + "keccak__keccak__rotated_parity3_offset": 0, + "keccak__keccak__rotated_parity4_column": 0, + "keccak__keccak__rotated_parity4_offset": 0, + "keccak__row_ratio": 0, + "mem_pool__addr_column": 4, + "mem_pool__addr_offset": 2, + "mem_pool__value_column": 4, + "mem_pool__value_offset": 6, + "memory__multi_column_perm__perm__cum_prod0_column": 7, + "memory__multi_column_perm__perm__cum_prod0_offset": 0, + "memory__sorted__addr_column": 4, + "memory__sorted__addr_offset": 1, + "memory__sorted__value_column": 4, + "memory__sorted__value_offset": 5, + "memory_units_row_ratio": 8, + "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": 5, + "num_columns_second": 3, + "orig__public_memory_suboffset": 1, + "pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones192_column": 4, + "pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones192_offset": 27, + "pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones196_column": 4, + "pedersen__hash0__ec_subset_sum__bit_unpacking__prod_ones196_offset": 1020, + "pedersen__hash0__ec_subset_sum__partial_sum__x_column": 3, + "pedersen__hash0__ec_subset_sum__partial_sum__x_offset": 2, + "pedersen__hash0__ec_subset_sum__partial_sum__y_column": 3, + "pedersen__hash0__ec_subset_sum__partial_sum__y_offset": 1, + "pedersen__hash0__ec_subset_sum__selector_column": 3, + "pedersen__hash0__ec_subset_sum__selector_offset": 3, + "pedersen__hash0__ec_subset_sum__slope_column": 4, + "pedersen__hash0__ec_subset_sum__slope_offset": 0, + "pedersen__input0_suboffset": 5, + "pedersen__input1_suboffset": 133, + "pedersen__output_suboffset": 69, + "pedersen_builtin_row_ratio": 2048, + "poseidon__param_0__input_output_suboffset": 0, + "poseidon__param_1__input_output_suboffset": 0, + "poseidon__param_2__input_output_suboffset": 0, + "poseidon__poseidon__full_rounds_state0_column": 0, + "poseidon__poseidon__full_rounds_state0_offset": 0, + "poseidon__poseidon__full_rounds_state0_squared_column": 0, + "poseidon__poseidon__full_rounds_state0_squared_offset": 0, + "poseidon__poseidon__full_rounds_state1_column": 0, + "poseidon__poseidon__full_rounds_state1_offset": 0, + "poseidon__poseidon__full_rounds_state1_squared_column": 0, + "poseidon__poseidon__full_rounds_state1_squared_offset": 0, + "poseidon__poseidon__full_rounds_state2_column": 0, + "poseidon__poseidon__full_rounds_state2_offset": 0, + "poseidon__poseidon__full_rounds_state2_squared_column": 0, + "poseidon__poseidon__full_rounds_state2_squared_offset": 0, + "poseidon__poseidon__partial_rounds_state0_column": 0, + "poseidon__poseidon__partial_rounds_state0_offset": 0, + "poseidon__poseidon__partial_rounds_state0_squared_column": 0, + "poseidon__poseidon__partial_rounds_state0_squared_offset": 0, + "poseidon__poseidon__partial_rounds_state1_column": 0, + "poseidon__poseidon__partial_rounds_state1_offset": 0, + "poseidon__poseidon__partial_rounds_state1_squared_column": 0, + "poseidon__poseidon__partial_rounds_state1_squared_offset": 0, + "poseidon__row_ratio": 0, + "range_check16__perm__cum_prod0_column": 5, + "range_check16__perm__cum_prod0_offset": 0, + "range_check16__sorted_column": 1, + "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": 48, + "range_check_builtin__mem_suboffset": 197, + "range_check_builtin_row_ratio": 2048, + "range_check_units_row_ratio": 1, + "uses_add_mod_builtin": 0, + "uses_bitwise_builtin": 0, + "uses_ec_op_builtin": 0, + "uses_ecdsa_builtin": 0, + "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": 1828, + "stop_ptr": 1828 + }, + "bitwise": { + "begin_addr": 1828, + "stop_ptr": 1828 + }, + "ec_op": { + "begin_addr": 1828, + "stop_ptr": 1828 + }, + "ecdsa": { + "begin_addr": 1828, + "stop_ptr": 1828 + }, + "execution": { + "begin_addr": 454, + "stop_ptr": 1568 + }, + "keccak": { + "begin_addr": 1828, + "stop_ptr": 1828 + }, + "mul_mod": { + "begin_addr": 1828, + "stop_ptr": 1828 + }, + "output": { + "begin_addr": 1568, + "stop_ptr": 1572 + }, + "pedersen": { + "begin_addr": 1572, + "stop_ptr": 1620 + }, + "poseidon": { + "begin_addr": 1828, + "stop_ptr": 1828 + }, + "program": { + "begin_addr": 1, + "stop_ptr": 5 + }, + "range_check": { + "begin_addr": 1764, + "stop_ptr": 1775 + }, + "range_check96": { + "begin_addr": 1828, + "stop_ptr": 1828 + } + }, + "n_steps": 2048, + "public_memory": [ + { + "address": 1, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 2, + "page": 0, + "value": "0xb" + }, + { + "address": 3, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 4, + "page": 0, + "value": "0x1b3" + }, + { + "address": 5, + "page": 0, + "value": "0x10780017fff7fff" + }, + { + "address": 6, + "page": 0, + "value": "0x0" + }, + { + "address": 7, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 8, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 9, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 10, + "page": 0, + "value": "0x482480017ffe8000" + }, + { + "address": 11, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "address": 12, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 13, + "page": 0, + "value": "0x20780017fff7ffd" + }, + { + "address": 14, + "page": 0, + "value": "0x4" + }, + { + "address": 15, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 16, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 17, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 18, + "page": 0, + "value": "0x3" + }, + { + "address": 19, + "page": 0, + "value": "0x404b800080008000" + }, + { + "address": 20, + "page": 0, + "value": "0x400380007ff98001" + }, + { + "address": 21, + "page": 0, + "value": "0x400380007ffa8002" + }, + { + "address": 22, + "page": 0, + "value": "0x20780017fff8000" + }, + { + "address": 23, + "page": 0, + "value": "0x4" + }, + { + "address": 24, + "page": 0, + "value": "0x10780017fff7fff" + }, + { + "address": 25, + "page": 0, + "value": "0x4" + }, + { + "address": 26, + "page": 0, + "value": "0x400380007ffb8001" + }, + { + "address": 27, + "page": 0, + "value": "0x400380007ffc8002" + }, + { + "address": 28, + "page": 0, + "value": "0x482680017ff98000" + }, + { + "address": 29, + "page": 0, + "value": "0x1" + }, + { + "address": 30, + "page": 0, + "value": "0x482680017ffa8000" + }, + { + "address": 31, + "page": 0, + "value": "0x1" + }, + { + "address": 32, + "page": 0, + "value": "0x482a80007ffb8000" + }, + { + "address": 33, + "page": 0, + "value": "0x482a80007ffc8000" + }, + { + "address": 34, + "page": 0, + "value": "0x482680017ffd8000" + }, + { + "address": 35, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 36, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 37, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffea" + }, + { + "address": 38, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 39, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 40, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe1" + }, + { + "address": 41, + "page": 0, + "value": "0x484680017ffb8000" + }, + { + "address": 42, + "page": 0, + "value": "0xa" + }, + { + "address": 43, + "page": 0, + "value": "0x482480017fff8000" + }, + { + "address": 44, + "page": 0, + "value": "0xc" + }, + { + "address": 45, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 46, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 47, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 48, + "page": 0, + "value": "0x48307ffc7ff98000" + }, + { + "address": 49, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 50, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 51, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffdc" + }, + { + "address": 52, + "page": 0, + "value": "0x402a7ffc7ffd7fff" + }, + { + "address": 53, + "page": 0, + "value": "0x40b7ffd7fff7fff" + }, + { + "address": 54, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 55, + "page": 0, + "value": "0x48297ffb80007ffc" + }, + { + "address": 56, + "page": 0, + "value": "0x48487ffd80007fff" + }, + { + "address": 57, + "page": 0, + "value": "0x400280007ffa7fff" + }, + { + "address": 58, + "page": 0, + "value": "0x482680017ffa8000" + }, + { + "address": 59, + "page": 0, + "value": "0x1" + }, + { + "address": 60, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 61, + "page": 0, + "value": "0x20780017fff7ffd" + }, + { + "address": 62, + "page": 0, + "value": "0x4" + }, + { + "address": 63, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 64, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 65, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 66, + "page": 0, + "value": "0x480280007ffa8000" + }, + { + "address": 67, + "page": 0, + "value": "0x480280007ffb8000" + }, + { + "address": 68, + "page": 0, + "value": "0x480280007ffc8000" + }, + { + "address": 69, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 70, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff3" + }, + { + "address": 71, + "page": 0, + "value": "0x482680017ffa8000" + }, + { + "address": 72, + "page": 0, + "value": "0x1" + }, + { + "address": 73, + "page": 0, + "value": "0x482680017ffb8000" + }, + { + "address": 74, + "page": 0, + "value": "0x1" + }, + { + "address": 75, + "page": 0, + "value": "0x482680017ffc8000" + }, + { + "address": 76, + "page": 0, + "value": "0x1" + }, + { + "address": 77, + "page": 0, + "value": "0x482680017ffd8000" + }, + { + "address": 78, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 79, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 80, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef" + }, + { + "address": 81, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 82, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 83, + "page": 0, + "value": "0x0" + }, + { + "address": 84, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 85, + "page": 0, + "value": "0x0" + }, + { + "address": 86, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 87, + "page": 0, + "value": "0x0" + }, + { + "address": 88, + "page": 0, + "value": "0x480a7ffd7fff8000" + }, + { + "address": 89, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 90, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 91, + "page": 0, + "value": "0x1" + }, + { + "address": 92, + "page": 0, + "value": "0x20680017fff7fff" + }, + { + "address": 93, + "page": 0, + "value": "0x4" + }, + { + "address": 94, + "page": 0, + "value": "0x10780017fff7fff" + }, + { + "address": 95, + "page": 0, + "value": "0x3a" + }, + { + "address": 96, + "page": 0, + "value": "0x480080007ffd8000" + }, + { + "address": 97, + "page": 0, + "value": "0x48307fff7ff98000" + }, + { + "address": 98, + "page": 0, + "value": "0x400080007ffc7fff" + }, + { + "address": 99, + "page": 0, + "value": "0x480080017ffb8000" + }, + { + "address": 100, + "page": 0, + "value": "0x48307fff7ff88000" + }, + { + "address": 101, + "page": 0, + "value": "0x400080017ffa7fff" + }, + { + "address": 102, + "page": 0, + "value": "0x400080027ffa7ff8" + }, + { + "address": 103, + "page": 0, + "value": "0x480080037ffa8000" + }, + { + "address": 104, + "page": 0, + "value": "0x480080027ff88000" + }, + { + "address": 105, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 106, + "page": 0, + "value": "0x400080067ff77fff" + }, + { + "address": 107, + "page": 0, + "value": "0x480080047ff78000" + }, + { + "address": 108, + "page": 0, + "value": "0x480080037ff58000" + }, + { + "address": 109, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 110, + "page": 0, + "value": "0x400080077ff47fff" + }, + { + "address": 111, + "page": 0, + "value": "0x480080057ff48000" + }, + { + "address": 112, + "page": 0, + "value": "0x400080087ff37fff" + }, + { + "address": 113, + "page": 0, + "value": "0x480080097ff38000" + }, + { + "address": 114, + "page": 0, + "value": "0x480080047ff18000" + }, + { + "address": 115, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 116, + "page": 0, + "value": "0x4000800c7ff07fff" + }, + { + "address": 117, + "page": 0, + "value": "0x4800800a7ff08000" + }, + { + "address": 118, + "page": 0, + "value": "0x480080057fee8000" + }, + { + "address": 119, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 120, + "page": 0, + "value": "0x4000800d7fed7fff" + }, + { + "address": 121, + "page": 0, + "value": "0x4800800b7fed8000" + }, + { + "address": 122, + "page": 0, + "value": "0x4000800e7fec7fff" + }, + { + "address": 123, + "page": 0, + "value": "0x4800800f7fec8000" + }, + { + "address": 124, + "page": 0, + "value": "0x480080067fea8000" + }, + { + "address": 125, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 126, + "page": 0, + "value": "0x400080127fe97fff" + }, + { + "address": 127, + "page": 0, + "value": "0x480080107fe98000" + }, + { + "address": 128, + "page": 0, + "value": "0x480080077fe78000" + }, + { + "address": 129, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 130, + "page": 0, + "value": "0x400080137fe67fff" + }, + { + "address": 131, + "page": 0, + "value": "0x480080117fe68000" + }, + { + "address": 132, + "page": 0, + "value": "0x400080147fe57fff" + }, + { + "address": 133, + "page": 0, + "value": "0x480080157fe58000" + }, + { + "address": 134, + "page": 0, + "value": "0x480080087fe38000" + }, + { + "address": 135, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 136, + "page": 0, + "value": "0x400080187fe27fff" + }, + { + "address": 137, + "page": 0, + "value": "0x480080167fe28000" + }, + { + "address": 138, + "page": 0, + "value": "0x480080097fe08000" + }, + { + "address": 139, + "page": 0, + "value": "0x48307fff7ffe8000" + }, + { + "address": 140, + "page": 0, + "value": "0x400080197fdf7fff" + }, + { + "address": 141, + "page": 0, + "value": "0x480080177fdf8000" + }, + { + "address": 142, + "page": 0, + "value": "0x4000801a7fde7fff" + }, + { + "address": 143, + "page": 0, + "value": "0x4800801b7fde8000" + }, + { + "address": 144, + "page": 0, + "value": "0x4800801c7fdd8000" + }, + { + "address": 145, + "page": 0, + "value": "0x4800801d7fdc8000" + }, + { + "address": 146, + "page": 0, + "value": "0x482480017fda8000" + }, + { + "address": 147, + "page": 0, + "value": "0xa" + }, + { + "address": 148, + "page": 0, + "value": "0x482480017fda8000" + }, + { + "address": 149, + "page": 0, + "value": "0x1e" + }, + { + "address": 150, + "page": 0, + "value": "0x10780017fff7fff" + }, + { + "address": 151, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc5" + }, + { + "address": 152, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 153, + "page": 0, + "value": "0x1" + }, + { + "address": 154, + "page": 0, + "value": "0x20680017fff7fff" + }, + { + "address": 155, + "page": 0, + "value": "0x4" + }, + { + "address": 156, + "page": 0, + "value": "0x10780017fff7fff" + }, + { + "address": 157, + "page": 0, + "value": "0x12" + }, + { + "address": 158, + "page": 0, + "value": "0x480080007ffc8000" + }, + { + "address": 159, + "page": 0, + "value": "0x48307fff7ff88000" + }, + { + "address": 160, + "page": 0, + "value": "0x400080007ffb7fff" + }, + { + "address": 161, + "page": 0, + "value": "0x480080017ffa8000" + }, + { + "address": 162, + "page": 0, + "value": "0x48307fff7ff78000" + }, + { + "address": 163, + "page": 0, + "value": "0x400080017ff97fff" + }, + { + "address": 164, + "page": 0, + "value": "0x400080027ff97ff7" + }, + { + "address": 165, + "page": 0, + "value": "0x480080037ff98000" + }, + { + "address": 166, + "page": 0, + "value": "0x480080047ff88000" + }, + { + "address": 167, + "page": 0, + "value": "0x480080057ff78000" + }, + { + "address": 168, + "page": 0, + "value": "0x482480017ff58000" + }, + { + "address": 169, + "page": 0, + "value": "0x2" + }, + { + "address": 170, + "page": 0, + "value": "0x482480017ff58000" + }, + { + "address": 171, + "page": 0, + "value": "0x6" + }, + { + "address": 172, + "page": 0, + "value": "0x10780017fff7fff" + }, + { + "address": 173, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffaf" + }, + { + "address": 174, + "page": 0, + "value": "0x482a7ffc7ffd8000" + }, + { + "address": 175, + "page": 0, + "value": "0x48307ffb80007fff" + }, + { + "address": 176, + "page": 0, + "value": "0x20680017fff7fff" + }, + { + "address": 177, + "page": 0, + "value": "0xb" + }, + { + "address": 178, + "page": 0, + "value": "0x482480017ff78000" + }, + { + "address": 179, + "page": 0, + "value": "0x1" + }, + { + "address": 180, + "page": 0, + "value": "0x400080007ffa7fff" + }, + { + "address": 181, + "page": 0, + "value": "0x400080017ffa7ff7" + }, + { + "address": 182, + "page": 0, + "value": "0x400080027ffa7ff8" + }, + { + "address": 183, + "page": 0, + "value": "0x482480017ffa8000" + }, + { + "address": 184, + "page": 0, + "value": "0x6" + }, + { + "address": 185, + "page": 0, + "value": "0x480080037ff98000" + }, + { + "address": 186, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 187, + "page": 0, + "value": "0x400680017fff7fff" + }, + { + "address": 188, + "page": 0, + "value": "0x1" + }, + { + "address": 189, + "page": 0, + "value": "0x480080007ffa8000" + }, + { + "address": 190, + "page": 0, + "value": "0x48307fff7ff68000" + }, + { + "address": 191, + "page": 0, + "value": "0x400080007ff97fff" + }, + { + "address": 192, + "page": 0, + "value": "0x482480017ff68000" + }, + { + "address": 193, + "page": 0, + "value": "0x1" + }, + { + "address": 194, + "page": 0, + "value": "0x400080017ff87fff" + }, + { + "address": 195, + "page": 0, + "value": "0x400080027ff87ff6" + }, + { + "address": 196, + "page": 0, + "value": "0x482480017ff88000" + }, + { + "address": 197, + "page": 0, + "value": "0x6" + }, + { + "address": 198, + "page": 0, + "value": "0x480080037ff78000" + }, + { + "address": 199, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 200, + "page": 0, + "value": "0x480280007ffd8000" + }, + { + "address": 201, + "page": 0, + "value": "0x48327fff7ffd8000" + }, + { + "address": 202, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 203, + "page": 0, + "value": "0x480080007ffe8000" + }, + { + "address": 204, + "page": 0, + "value": "0x48007fff7ffd8000" + }, + { + "address": 205, + "page": 0, + "value": "0x480080007ffd7fff" + }, + { + "address": 206, + "page": 0, + "value": "0x400080017ffc7ffd" + }, + { + "address": 207, + "page": 0, + "value": "0x482480017ffb8000" + }, + { + "address": 208, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 209, + "page": 0, + "value": "0x482480017ffb8000" + }, + { + "address": 210, + "page": 0, + "value": "0x3" + }, + { + "address": 211, + "page": 0, + "value": "0x480080027ffa8000" + }, + { + "address": 212, + "page": 0, + "value": "0x40287ffd7ffc7ffd" + }, + { + "address": 213, + "page": 0, + "value": "0x20680017fff7ffc" + }, + { + "address": 214, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8" + }, + { + "address": 215, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 216, + "page": 0, + "value": "0x482680017ffd8000" + }, + { + "address": 217, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 218, + "page": 0, + "value": "0x20680017fff7fff" + }, + { + "address": 219, + "page": 0, + "value": "0xc" + }, + { + "address": 220, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 221, + "page": 0, + "value": "0x480280007ffc8000" + }, + { + "address": 222, + "page": 0, + "value": "0x482680017ffc8000" + }, + { + "address": 223, + "page": 0, + "value": "0x1" + }, + { + "address": 224, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 225, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff73" + }, + { + "address": 226, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 227, + "page": 0, + "value": "0x48127ffd7fff8000" + }, + { + "address": 228, + "page": 0, + "value": "0x48127ffd7fff8000" + }, + { + "address": 229, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 230, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 231, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 232, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 233, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe1" + }, + { + "address": 234, + "page": 0, + "value": "0x48127ffe7fff8000" + }, + { + "address": 235, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 236, + "page": 0, + "value": "0x48127ffd7fff8000" + }, + { + "address": 237, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 238, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 239, + "page": 0, + "value": "0x1e" + }, + { + "address": 240, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 241, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff18" + }, + { + "address": 242, + "page": 0, + "value": "0x40137ffe7fff8000" + }, + { + "address": 243, + "page": 0, + "value": "0x400380007ff98002" + }, + { + "address": 244, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 245, + "page": 0, + "value": "0x0" + }, + { + "address": 246, + "page": 0, + "value": "0x4002800180017fff" + }, + { + "address": 247, + "page": 0, + "value": "0x480280017ff98000" + }, + { + "address": 248, + "page": 0, + "value": "0x480280077ff98000" + }, + { + "address": 249, + "page": 0, + "value": "0x480a80017fff8000" + }, + { + "address": 250, + "page": 0, + "value": "0x480a7ffd7fff8000" + }, + { + "address": 251, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 252, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffde" + }, + { + "address": 253, + "page": 0, + "value": "0x4002800180027fff" + }, + { + "address": 254, + "page": 0, + "value": "0x4027800180018003" + }, + { + "address": 255, + "page": 0, + "value": "0x4" + }, + { + "address": 256, + "page": 0, + "value": "0x4003800380018004" + }, + { + "address": 257, + "page": 0, + "value": "0x482a800480038000" + }, + { + "address": 258, + "page": 0, + "value": "0x4802800280018000" + }, + { + "address": 259, + "page": 0, + "value": "0x40317fff7ffe8005" + }, + { + "address": 260, + "page": 0, + "value": "0x4027800180028006" + }, + { + "address": 261, + "page": 0, + "value": "0x2" + }, + { + "address": 262, + "page": 0, + "value": "0x40137ffb7fff8007" + }, + { + "address": 263, + "page": 0, + "value": "0x400380027ff98008" + }, + { + "address": 264, + "page": 0, + "value": "0x400380037ff98009" + }, + { + "address": 265, + "page": 0, + "value": "0x400380047ff9800a" + }, + { + "address": 266, + "page": 0, + "value": "0x400380057ff9800b" + }, + { + "address": 267, + "page": 0, + "value": "0x400380067ff9800c" + }, + { + "address": 268, + "page": 0, + "value": "0x40137ffc7fff800d" + }, + { + "address": 269, + "page": 0, + "value": "0x400380087ff9800e" + }, + { + "address": 270, + "page": 0, + "value": "0x400380097ff9800f" + }, + { + "address": 271, + "page": 0, + "value": "0x4003800a7ff98010" + }, + { + "address": 272, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 273, + "page": 0, + "value": "0x4826800180008000" + }, + { + "address": 274, + "page": 0, + "value": "0x6" + }, + { + "address": 275, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 276, + "page": 0, + "value": "0xb" + }, + { + "address": 277, + "page": 0, + "value": "0x480a80037fff8000" + }, + { + "address": 278, + "page": 0, + "value": "0x480a80047fff8000" + }, + { + "address": 279, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 280, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff11" + }, + { + "address": 281, + "page": 0, + "value": "0x1088800580018000" + }, + { + "address": 282, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 283, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeef" + }, + { + "address": 284, + "page": 0, + "value": "0x402a800480117fff" + }, + { + "address": 285, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 286, + "page": 0, + "value": "0x4826800180008000" + }, + { + "address": 287, + "page": 0, + "value": "0x12" + }, + { + "address": 288, + "page": 0, + "value": "0x480a80037fff8000" + }, + { + "address": 289, + "page": 0, + "value": "0x480a80117fff8000" + }, + { + "address": 290, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 291, + "page": 0, + "value": "0xb" + }, + { + "address": 292, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 293, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeea" + }, + { + "address": 294, + "page": 0, + "value": "0x402a800380047fff" + }, + { + "address": 295, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 296, + "page": 0, + "value": "0x4826800180008000" + }, + { + "address": 297, + "page": 0, + "value": "0x6" + }, + { + "address": 298, + "page": 0, + "value": "0x4826800180008000" + }, + { + "address": 299, + "page": 0, + "value": "0x12" + }, + { + "address": 300, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 301, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 302, + "page": 0, + "value": "0xb" + }, + { + "address": 303, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 304, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff0f" + }, + { + "address": 305, + "page": 0, + "value": "0x402b8002801d8012" + }, + { + "address": 306, + "page": 0, + "value": "0x400380008002801d" + }, + { + "address": 307, + "page": 0, + "value": "0x4826800180008000" + }, + { + "address": 308, + "page": 0, + "value": "0x12" + }, + { + "address": 309, + "page": 0, + "value": "0x48127ffe7fff8000" + }, + { + "address": 310, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 311, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 312, + "page": 0, + "value": "0x23" + }, + { + "address": 313, + "page": 0, + "value": "0x402780017ff38001" + }, + { + "address": 314, + "page": 0, + "value": "0x1" + }, + { + "address": 315, + "page": 0, + "value": "0x400b7ff47fff8002" + }, + { + "address": 316, + "page": 0, + "value": "0x400b80007fff8003" + }, + { + "address": 317, + "page": 0, + "value": "0x400b7ff67fff8004" + }, + { + "address": 318, + "page": 0, + "value": "0x400b7ff77fff8005" + }, + { + "address": 319, + "page": 0, + "value": "0x400b7ff87fff8006" + }, + { + "address": 320, + "page": 0, + "value": "0x400b7ff97fff8007" + }, + { + "address": 321, + "page": 0, + "value": "0x400b7ffa7fff8008" + }, + { + "address": 322, + "page": 0, + "value": "0x400b7ffb7fff8009" + }, + { + "address": 323, + "page": 0, + "value": "0x400b7ffc7fff800a" + }, + { + "address": 324, + "page": 0, + "value": "0x400b7ffd7fff800b" + }, + { + "address": 325, + "page": 0, + "value": "0x400780017fff800c" + }, + { + "address": 326, + "page": 0, + "value": "0x6f7574707574" + }, + { + "address": 327, + "page": 0, + "value": "0x400780017fff800d" + }, + { + "address": 328, + "page": 0, + "value": "0x706564657273656e" + }, + { + "address": 329, + "page": 0, + "value": "0x400780017fff800e" + }, + { + "address": 330, + "page": 0, + "value": "0x72616e67655f636865636b" + }, + { + "address": 331, + "page": 0, + "value": "0x400780017fff800f" + }, + { + "address": 332, + "page": 0, + "value": "0x6563647361" + }, + { + "address": 333, + "page": 0, + "value": "0x400780017fff8010" + }, + { + "address": 334, + "page": 0, + "value": "0x62697477697365" + }, + { + "address": 335, + "page": 0, + "value": "0x400780017fff8011" + }, + { + "address": 336, + "page": 0, + "value": "0x65635f6f70" + }, + { + "address": 337, + "page": 0, + "value": "0x400780017fff8012" + }, + { + "address": 338, + "page": 0, + "value": "0x6b656363616b" + }, + { + "address": 339, + "page": 0, + "value": "0x400780017fff8013" + }, + { + "address": 340, + "page": 0, + "value": "0x706f736569646f6e" + }, + { + "address": 341, + "page": 0, + "value": "0x400780017fff8014" + }, + { + "address": 342, + "page": 0, + "value": "0x72616e67655f636865636b3936" + }, + { + "address": 343, + "page": 0, + "value": "0x400780017fff8015" + }, + { + "address": 344, + "page": 0, + "value": "0x6164645f6d6f64" + }, + { + "address": 345, + "page": 0, + "value": "0x400780017fff8016" + }, + { + "address": 346, + "page": 0, + "value": "0x6d756c5f6d6f64" + }, + { + "address": 347, + "page": 0, + "value": "0x400780017fff8017" + }, + { + "address": 348, + "page": 0, + "value": "0x1" + }, + { + "address": 349, + "page": 0, + "value": "0x400780017fff8018" + }, + { + "address": 350, + "page": 0, + "value": "0x3" + }, + { + "address": 351, + "page": 0, + "value": "0x400780017fff8019" + }, + { + "address": 352, + "page": 0, + "value": "0x1" + }, + { + "address": 353, + "page": 0, + "value": "0x400780017fff801a" + }, + { + "address": 354, + "page": 0, + "value": "0x2" + }, + { + "address": 355, + "page": 0, + "value": "0x400780017fff801b" + }, + { + "address": 356, + "page": 0, + "value": "0x5" + }, + { + "address": 357, + "page": 0, + "value": "0x400780017fff801c" + }, + { + "address": 358, + "page": 0, + "value": "0x7" + }, + { + "address": 359, + "page": 0, + "value": "0x400780017fff801d" + }, + { + "address": 360, + "page": 0, + "value": "0x10" + }, + { + "address": 361, + "page": 0, + "value": "0x400780017fff801e" + }, + { + "address": 362, + "page": 0, + "value": "0x6" + }, + { + "address": 363, + "page": 0, + "value": "0x400780017fff801f" + }, + { + "address": 364, + "page": 0, + "value": "0x1" + }, + { + "address": 365, + "page": 0, + "value": "0x400780017fff8020" + }, + { + "address": 366, + "page": 0, + "value": "0x7" + }, + { + "address": 367, + "page": 0, + "value": "0x400780017fff8021" + }, + { + "address": 368, + "page": 0, + "value": "0x7" + }, + { + "address": 369, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 370, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe97" + }, + { + "address": 371, + "page": 0, + "value": "0x482480017ffe8000" + }, + { + "address": 372, + "page": 0, + "value": "0x1" + }, + { + "address": 373, + "page": 0, + "value": "0x480a7ff57fff8000" + }, + { + "address": 374, + "page": 0, + "value": "0x482480017ffc8000" + }, + { + "address": 375, + "page": 0, + "value": "0xc" + }, + { + "address": 376, + "page": 0, + "value": "0x482480017ffb8000" + }, + { + "address": 377, + "page": 0, + "value": "0x17" + }, + { + "address": 378, + "page": 0, + "value": "0x480280007ff38000" + }, + { + "address": 379, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 380, + "page": 0, + "value": "0x26" + }, + { + "address": 381, + "page": 0, + "value": "0x400a80007fff7fff" + }, + { + "address": 382, + "page": 0, + "value": "0x40137ffe7fff8022" + }, + { + "address": 383, + "page": 0, + "value": "0x4802800280228000" + }, + { + "address": 384, + "page": 0, + "value": "0x48307ffe80007fff" + }, + { + "address": 385, + "page": 0, + "value": "0x480680017fff8000" + }, + { + "address": 386, + "page": 0, + "value": "0x40" + }, + { + "address": 387, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 388, + "page": 0, + "value": "0xe" + }, + { + "address": 389, + "page": 0, + "value": "0x4802800080228000" + }, + { + "address": 390, + "page": 0, + "value": "0x4802800180228000" + }, + { + "address": 391, + "page": 0, + "value": "0x4802800280228000" + }, + { + "address": 392, + "page": 0, + "value": "0x4802800380228000" + }, + { + "address": 393, + "page": 0, + "value": "0x4802800480228000" + }, + { + "address": 394, + "page": 0, + "value": "0x4802800580228000" + }, + { + "address": 395, + "page": 0, + "value": "0x4802800680228000" + }, + { + "address": 396, + "page": 0, + "value": "0x4802800780228000" + }, + { + "address": 397, + "page": 0, + "value": "0x4802800880228000" + }, + { + "address": 398, + "page": 0, + "value": "0x4802800980228000" + }, + { + "address": 399, + "page": 0, + "value": "0x4802800a80228000" + }, + { + "address": 400, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 401, + "page": 0, + "value": "0x20780017fff7ffd" + }, + { + "address": 402, + "page": 0, + "value": "0x5" + }, + { + "address": 403, + "page": 0, + "value": "0x400780017fff7ffc" + }, + { + "address": 404, + "page": 0, + "value": "0x0" + }, + { + "address": 405, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 406, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 407, + "page": 0, + "value": "0x1" + }, + { + "address": 408, + "page": 0, + "value": "0x48307fff7fff8000" + }, + { + "address": 409, + "page": 0, + "value": "0x48317fff80007ffc" + }, + { + "address": 410, + "page": 0, + "value": "0x40507fff7fff7fff" + }, + { + "address": 411, + "page": 0, + "value": "0x48127ffd7fff8000" + }, + { + "address": 412, + "page": 0, + "value": "0x482680017ffd8000" + }, + { + "address": 413, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 414, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 415, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff4" + }, + { + "address": 416, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 417, + "page": 0, + "value": "0x20780017fff7ffd" + }, + { + "address": 418, + "page": 0, + "value": "0x5" + }, + { + "address": 419, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 420, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 421, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 422, + "page": 0, + "value": "0x40780017fff7fff" + }, + { + "address": 423, + "page": 0, + "value": "0x1" + }, + { + "address": 424, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 425, + "page": 0, + "value": "0x480a7ffa7fff8000" + }, + { + "address": 426, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 427, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 428, + "page": 0, + "value": "0x48127ffb7fff8000" + }, + { + "address": 429, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 430, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff42" + }, + { + "address": 431, + "page": 0, + "value": "0x480a7ffb7fff8000" + }, + { + "address": 432, + "page": 0, + "value": "0x480a7ffc7fff8000" + }, + { + "address": 433, + "page": 0, + "value": "0x482680017ffd8000" + }, + { + "address": 434, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address": 435, + "page": 0, + "value": "0x1104800180018000" + }, + { + "address": 436, + "page": 0, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffef" + }, + { + "address": 437, + "page": 0, + "value": "0x208b7fff7fff7ffe" + }, + { + "address": 438, + "page": 0, + "value": "0x480a7ff37fff8000" + }, + { + "address": 439, + "page": 0, + "value": "0x480a7ff47fff8000" + }, + { + "address": 440, + "page": 0, + "value": "0x480a7ff57fff8000" + }, + { + "address": 441, + "page": 0, + "value": "0x480a7ff67fff8000" + }, + { + "address": 442, + "page": 0, + "value": "0x480a7ff77fff8000" + }, + { + "address": 443, + "page": 0, + "value": "0x480a7ff87fff8000" + }, + { + "address": 444, + "page": 0, + "value": "0x480a7ff97fff8000" + }, + { + "address": 445, + "page": 0, + "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": 454, + "page": 0, + "value": "0x620" + }, + { + "address": 455, + "page": 0, + "value": "0x624" + }, + { + "address": 456, + "page": 0, + "value": "0x6e4" + }, + { + "address": 457, + "page": 0, + "value": "0x724" + }, + { + "address": 458, + "page": 0, + "value": "0x724" + }, + { + "address": 459, + "page": 0, + "value": "0x724" + }, + { + "address": 460, + "page": 0, + "value": "0x724" + }, + { + "address": 461, + "page": 0, + "value": "0x724" + }, + { + "address": 462, + "page": 0, + "value": "0x724" + }, + { + "address": 463, + "page": 0, + "value": "0x724" + }, + { + "address": 464, + "page": 0, + "value": "0x724" + }, + { + "address": 1557, + "page": 0, + "value": "0x624" + }, + { + "address": 1558, + "page": 0, + "value": "0x654" + }, + { + "address": 1559, + "page": 0, + "value": "0x6ef" + }, + { + "address": 1560, + "page": 0, + "value": "0x724" + }, + { + "address": 1561, + "page": 0, + "value": "0x724" + }, + { + "address": 1562, + "page": 0, + "value": "0x724" + }, + { + "address": 1563, + "page": 0, + "value": "0x724" + }, + { + "address": 1564, + "page": 0, + "value": "0x724" + }, + { + "address": 1565, + "page": 0, + "value": "0x724" + }, + { + "address": 1566, + "page": 0, + "value": "0x724" + }, + { + "address": 1567, + "page": 0, + "value": "0x724" + }, + { + "address": 1568, + "page": 0, + "value": "0x1" + }, + { + "address": 1569, + "page": 0, + "value": "0x3" + }, + { + "address": 1570, + "page": 0, + "value": "0x692250f91dddc2f26a007e6d4d8199b69aef55ec132392c7be067b715c01adb" + }, + { + "address": 1571, + "page": 0, + "value": "0x2710" + } + ], + "rc_max": 32802, + "rc_min": 0 + }, + "version": { + "commit_hash": "INVALID_COMMIT", + "proof_hash": "INVALID_PROOF_HASH", + "statement_name": "INVALID_NAME" + }, + "extra_annotations": [ + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 534274: Hash(0x1b5d4a285ca38142cc49b9ce60ef8ca07223950e2c695b3348e3bb1f91c26a9)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 537982: Hash(0x2846511e95078aa614750666189bb31e7e4425157bca67d3316679e47420553)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 572076: Hash(0x647c1bfb076a436087b583882cf0a7ced97a0d23db59196afcc4fac56d141c0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 635350: Hash(0x7821b9aeba6e54aa297506c5ed5e9d7e098308f30c736d83554de96e3345647)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 635575: Hash(0x3e9354b9002bc4cf43937dfd30fb537980de2b2b8d6c6d9052659b2a165ab69)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 720907: Hash(0x7591488694f8ba2252449845c20d2ac4b92a3cdf4631a30f91ddbc1627f3bb9)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 732035: Hash(0x57f96e8ce80e3b04be664ef5a7941d6356ce3843776a03338aec3e5ad4e061d)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 737902: Hash(0x47728ef9597a570ca03cd90dfd91906605813451c86ffc89da6e1156b976cbb)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 773385: Hash(0x7c92c891471951cbb09e97d3978ee6ccbc1f4d632ec0891ce9c7d3ad15c3ae3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 807025: Hash(0x7304d594918b9458e9f135d274f57d408b0f22538622d623a9ac143f3b76f8e)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 814253: Hash(0x74e27e63c50916944b444edc1d530b573d483dedf0de66e8d694a27a7733cc3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 815493: Hash(0x76bd6363bc8ecdb0ad0ad4a3316d8b5b9829a5b6da861d8c5c1d5891dc0f8ef)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 817192: Hash(0x783b9db5ff3a7947ec7ed56ee19df97bd3108c2df6378f89f7f9161b7f6a3fe)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 819886: Hash(0x60da659e245cab1e9c019c6f5b6221f7a3982858d2c5f71618db47e518e35c7)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 828144: Hash(0x7d75a8a9af48974b7a2fd2f5efe5a37b25ed5feac8312bcf30fd9c43abf01ed)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 843536: Hash(0x451bd0018d58fe6251cb3a9c6de65f832407ea5b88bccd5d3642d9778bff1b3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 851297: Hash(0x35a93fff1bddcb11107eefea9d5c1ed46f0caf69cd6e1c304c7cb01304ba4d2)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 861310: Hash(0x1f1490ad34441df9d336956d4af79cfde0f648b31e72569586e8eef4cbc49ed)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 865756: Hash(0x3a53a5a30211c03e21c57c49aab664e64c9690f901bef351ce90a9a62932e80)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 883260: Hash(0x5516ffa4ac439182c9b50a7b6486dfe100f8335db4548ade4c938babf2ed732)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 939034: Hash(0x31bf52ef906183bb4b8bf920fcef6abd3763e7934916bbd9f3d8fdf08df9a89)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 940757: Hash(0x3a0874a713a3c80607e748ae0b59daf8b5424ced766146429944bbe9015fa7)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 944603: Hash(0x2dee639079e2e5b823466b188165a75fed29b6e16cd9b43d3a1bf7acc3e0cf3)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 948426: Hash(0x726e372b141c6669336bf58b91dfe1af197fef23f8620b70f8e9a6ad6a7e8ea)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 957442: Hash(0x556fa10d073995624b254aaa9091d9038574c87f26f1ae90651f26d7f9a2628)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 967951: Hash(0x2a24e7328b65e193eaa16a8085efff8662fee5ac7864a3e59c780df035f606b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 971163: Hash(0x19d64b983d1a9c50904269dd42a435b4fb73371e6bdca8e974a67c95186c029)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 982512: Hash(0x250f49e71c7ba39c1451251e877e861a8066e05bc279aa1a76bd9bd0fb1ed63)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1010396: Hash(0x6a5776ae09db3575d0ce205a4a4e15ee1df2c220a4226eb1ddd600c2383691f)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1016759: Hash(0x48389390e2d846e0c7829b6ba48a1f066aed0cf075262548ea051d1bde60414)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1023248: Hash(0x5e1b52e0e2bf93c7291b32688467da3663793217c7016fc98b61658a2a14958)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1044663: Hash(0x523e3cd27d7c9e7c43d93563b10c126d6d1bac232f019b8863ed13905fd4652)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 534274: Hash(0x51af698dbd4edb4680acd0fac4454d8738903380ed019897084160d4f85c4ca)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 537982: Hash(0x27202aa119a9d110c2792bdedafdbb85ee3efda13b213a9995821e45a6e551b)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 572076: Hash(0x4c0346fc198ab940e55e3bab6fccd713b4301e3161809c0e298d22a1bdc36fc)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 635350: Hash(0x538748b278aa6e0d72cf47cbd70838efbd433f547fe4e6a58f50b364680bb62)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 635575: Hash(0xf43b1e991d030ae5e38147f7d0f10ff4dac14d294a8b1459aeac7af06def73)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 720907: Hash(0x74413f78437792ee1cdec8d471c2f4a87890d40b9ef0244e171c1a987e35339)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 732035: Hash(0x348fcad026f18cfd40f81e628642ef297b85f591857d45bc43caae121531b6c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 737902: Hash(0x1ffa50cb25066969273d193f50356155ebeb27bea1c83a58809b568c6a27859)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 773385: Hash(0x4c1de5bc23e0a2152e91a4763f6fd10bf2ef5dd25240b8439d59ed0bb4341ed)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 807025: Hash(0x322e00e61811c3aca5015a55d4d00be6530b69935642c23c1951fdc56fc394a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 814253: Hash(0x69156cf24942c3afb13c00953da48bcbfc19331a0173c86f45d12441cb96b6c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 815493: Hash(0x5cdd2936e8c661171b7548175b1e978d4b97deb3bcd4a9a7b2787e3f2e4c283)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 817192: Hash(0x38c2f50c899e8bf59d0b16f6d297b82b09f1784873711246dfe96049a337f31)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 819886: Hash(0x22c7fac4f511cb60223347c377036eaa9207ceb1f9fdcbe8fe0eb53d3f19995)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 828144: Hash(0x49cce36638df3f8a1da204b290434cd99f5d807327cddf4f2cafddea4660731)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 843536: Hash(0x35c38b50785a6005f4adfaef8c6799b9e95182d4aa4e2fe98c124bbb3f4478d)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 851297: Hash(0x1b945a9e39766d507e7afe3bc230edf3e2a3adc102bd1ba9d59596f432a4a2a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 861310: Hash(0x39c26c9053b831c850be8215a1324736fef7967ed77de8dc7c18996af5c6717)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 865756: Hash(0x11d269ede24cff0d6d2c9c3cc452ebc5a43655be28a4bb803d0cfa74b132eb8)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 883260: Hash(0xb6c1badd6d915be7a417b7638e698f287390df55ecb448b6ba15ed46ccbf5)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 939034: Hash(0x4ea8dd1b110abcd7977268a3df3acc535bee19608aee88e92213cc99c4ab606)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 940757: Hash(0x247d4c3d787c0a05242345aaf75b6878b06f360d6fc7a79292bd7d1eb337860)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 944603: Hash(0x5d1b8cc94157d9781bb10c94e3f80a3b414aa94ab59b05902d03a5cabf1ecd4)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 948426: Hash(0xc2fc789b297dc460040303aca9aeb16a382124f294cc796907e99f019dcac0)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 957442: Hash(0x4715854b088e3a212544239f7e900d8a3beacb34a255f81d8bd3efa5a817a94)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 967951: Hash(0x39572b329cf387be588c13e0413bf40e804857a30f6c43070fe4f3c1a7e17eb)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 971163: Hash(0x54ab4320bc3c6dd7729517f758b3595da4b1c3e343dfbf4096651fbe29b1e5c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 982512: Hash(0x91395ff8851bd9570c721f04926e371d0d8abc12cfdfb4612fe44ff5847382)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1010396: Hash(0x3e5d63267e497e0f3eea8c882e99b2c65a2e31bc089d0a1778a34fe21a62a5e)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1016759: Hash(0x365bde9aaf411f49ed9e492e704babe3cb546c342a58b4263c5735fc29acb1c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1023248: Hash(0x510caa1f03b9eb3520e5c1d76f98bd1da230d8c8df65507d41f5d52a8a4f056)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1044663: Hash(0xafdb901697acdb3ce10fcbeb2f4e69e7412982204953a270205f3bc78b3cda)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 534274: Hash(0x435e1d7ff36edba3246f166854deb7ae024d4a021e99d06e672ea7af0b9078a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 537982: Hash(0x3bf41b46ef853fb23a2c1017f94b1b2e84bda2c9b36e657aa06a678933a76af)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 572076: Hash(0x7d7777ca6bd4a743b39eb0d1254a08c53f4d0d1afcecbb6379c8d043d738812)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 635350: Hash(0x4e9956a06103bd2a70b2a5e29fce46cc604a80e0e3e621e87a6e4afbf68b2bb)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 635575: Hash(0x57aa2932e4dcd3561569be81b0d288f403dbe26abb711b750d1027d45bdc6ec)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 720907: Hash(0x7057b5fe2b8eb4404c3a50cca77c448a310801c6e09de9fee94128d10de566c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 732035: Hash(0x79a79f5239880f390ec92847e4361fc9977c8cc4deb26dccf26bc424215fa25)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 737902: Hash(0x301f2c2d8da2a4fe9467bdc91f9af27e5fc2105fbf35f07b55520eaada32fa7)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 773385: Hash(0x5fd3a66808d31a46430f84bc24d816173d461cff45d1460c62174c284a552a1)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 807025: Hash(0x5bf3141444face6bea02934217b529a3f71f922dd2064b0b735ea21ba496e9c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 814253: Hash(0x6cbd7b120840774f30d73719952c244e3f08276874d83c3d6b15d8cb5f2cfff)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 815493: Hash(0x27013af2aeee96b9118a672127a61204403c0546a5aa2d428ecd6caeab4610e)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 817192: Hash(0x520705587ffa3d63539603e785ba0313679c59370cd1cee1043da17d1644f0f)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 819886: Hash(0x68e60e362418759dcb3eae6c18e91dcbad8fb5f56a144a70d4d23fb0f8faa29)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 828144: Hash(0x5d145a8904dfdad90642f7b93f239255250226ca19dd9dc6f1f60d7dc95fdac)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 843536: Hash(0x11d68bd8c9694377b366e5dd5e15378802120cc47231d7da2e31e96f0343e59)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 851297: Hash(0x26f8a795df0c9691b4f2506ebfcb87e5041862138fc755b06a13ae20704693c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 861310: Hash(0x8ae9154b0228cc62d26867becf470dc50b48a9e7bf5052dc1b2e1bf59a7f15)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 865756: Hash(0x67cb28099226367fcb0a47c3357d117c807486ad40c7ef00c22e2c9d9b050b6)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 883260: Hash(0x6b801c22106b4c3d49858f621537563a3512e75e54368c487e9dbf21c6ab140)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 939034: Hash(0x50e3f8ac398652ee7a4f85351441ad4e0d58cbf8fc5c644673c3325852c0ffa)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 940757: Hash(0x48e86891e25daba22220531a53e33d92298914121f14ecadc93b489e2878f15)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 944603: Hash(0x74bafd29504cb2ecc3d3f2a19327ff7f96976023ac66d937bbd765c43c3ad9f)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 948426: Hash(0x365061aeb3fcdc0bec7c920608ba373570a70a097dfa3b193da80eaa4622da4)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 957442: Hash(0xdee9f3d208e069301eaddc41a4025f1f2eef9f9bd296e1ca7b66a0260f18af)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 967951: Hash(0x6a5ed57300e95dd40a78842548e503416baf38309e5e283fc729456d3b83a2a)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 971163: Hash(0x453c0846971f5a0e75d62973e2e4a567cfc93150e9521f746c935609f7469bd)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 982512: Hash(0x10356c49f3b373df129e28f4f9d462538fc85b0897c6c4a55f879acca5220ef)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1010396: Hash(0x16c7ef9f147c9edf90e5ecc0a7982b41d16ed99f5b460fa00c7d0c926f8d9d1)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1016759: Hash(0x7e2e1c29211e9b398c23020df4eb33e9da5cd36445a50a95d8b2904130434c2)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1023248: Hash(0x6e313b3a690a724b2821caa71a7fc5182a76289896e15a57a4efb30f16e012c)", + "/cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1044663: Hash(0x3c51a3704997d5f6d17546e92a80122e59da446d100f5eaca05ab7a18da571f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 1248, Column 2: Field Element(0x74f1f8cb0db8f79bb61187dffb17a495b4f5667542c8758f3ec5789833595c5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 9986: Field Element(0x5a3130f2de3757f095c3b7ff72b1664f267aae242e9e5ee3989764724b6ad16)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 1711, Column 6: Field Element(0x6361abb99960334cad7ef9d1eb7dd2f00b66fdc9adac15a5812f4be18f7fb95)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 13694: Field Element(0x281dc74270c7e166359dd05b10fc35b1285b174b52cd86c5c677cc5ce084698)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 5973, Column 4: Field Element(0x1bc17309e1d8a7bc61dbe9db1f67f8ca913c4529659eba031dd2d84af3ce92b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 47788: Field Element(0x3c47ef88e3c8257ae53f118b7bff58efdec824b81248fdcbd80b0081a724c40)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 13882, Column 6: Field Element(0x7879bdb300c1faef9cf91d4ee3a7239a92f049f3a725d3175c2563f42ce86fb)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 111062: Field Element(0x366c8a10b1046ed35859869de72416093f51c9a03ac7420dc4266a9ee8988de)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 13910, Column 7: Field Element(0x3a6bf1cc17baea956e77e2fe39aed5987505c8dd00fb10867a9c1444406a330)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 111287: Field Element(0x6b46656a11f51285700c36286abeecf3dd765fc8cc8fd2188b065227d69eb8a)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 24577, Column 3: Field Element(0x68aa360a5d98cbb4541a22051856237025578e09f6055cc689e5aa6a7c7e069)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 196619: Field Element(0x7b67e285cd76aea3f8d9ebfcf70ab79fb7613c820b85c4c29cc50a9509d284)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 25968, Column 3: Field Element(0x7babe17fdb5a53aa2eeefc3172137451c84bebffddd24480f7b2aebea9527e7)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 207747: Field Element(0x2c6ec6e9f3382ec7eeedb4ba392ea12512c907c5c7497b2b74170b567d5ff0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 26701, Column 6: Field Element(0x5a6479e2025514f1a6e1953d1bc9dd574df57c9a844428737c371400966dc35)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 213614: Field Element(0x57573909adc2845a829121a0658540298a0a20d9f31e442210f3e1d7b1726ec)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 31137, Column 1: Field Element(0x942cad503fc3d565c47793f998db9ed867c06c8e1e79e4fad876b831a8f328)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 249097: Field Element(0x3f7ae7bd1f403aacd625ec8a23257d9465b799504d53d7b2f7e0f0170c932c1)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 35342, Column 1: Field Element(0x7eb67d0003ef63a2f430398e1c204e4502d8a16b0cec2c06a992f8fc11169c0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 282737: Field Element(0x6547313f50b61a566fbf8f11cc0d8a0ceaffb84e0df093aeb4c833a0a53d2e2)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 36245, Column 5: Field Element(0x307c38b5251a561f57d4d23f0cd8f0ba4e46c2d4778935cf6d434d4a293f0e9)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 289965: Field Element(0x68750843afed9fb14f2e202b5879d50138eedf3f55d488f1fc1acaff27dc027)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 36400, Column 5: Field Element(0x7ac8ba9967b7f8ebb1a6f0f855d80954038c9ca452278a940612e7109a2a164)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 291205: Field Element(0x46fa333d7c9030cbda6adbd904b266dbab81871e482ee6270c22cdb8c8074be)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 36613, Column 0: Field Element(0x60000855e9e5b4ba5fd7c930a6b8c65b9c37654a040fa18cec9f51eb216fbb5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 292904: Field Element(0x656f8a11c41e680332d583acda953ad02f57ec5f2a0a157e0b5b25d4431b552)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 36949, Column 6: Field Element(0x4b50daacf8621d291a7069278ab72a2464e930749fae0d07ef1ffab3b27be27)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 295598: Field Element(0x5b50fa71862818427a8287d2361b163e125d2a07ad6108f46795239c52281b0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 37982, Column 0: Field Element(0x7fa861d7fc2db54790d0ade733f33d4d3b91f9e17be0d17d76d13903b239c53)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 303856: Field Element(0x242e03e0af6edf3a36b35bfcc4530200937e9330fe64d1784a4fbda34fd81e0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 39906, Column 0: Field Element(0x5b8c43e96fec0aacbb385ab0bb04f2dbb64cc74f305871c8a9f54070399c8a4)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 319248: Field Element(0x7899882c7db8b30ca78ba4c6ff49f6b5e1aa54c1768e4b35bb66d06af72b2d)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 40876, Column 1: Field Element(0x14137f7357f78dc759186087c6115ea5a1ab8764b604f9ae0de6734242c9eff)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 327009: Field Element(0x274b95ac96d42cc07bff976dd1f229251a091d6d0890b8b9f871b954395cf6f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 42127, Column 6: Field Element(0x4b66f3e827a06f865e41c16bb6433f21808fab6bd682b70a9210614808b0fb7)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 337022: Field Element(0x74e28818aa1558647d639ad667fec08d8d64ec0ae22aca5a8a2b0b9d755abf8)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 42683, Column 4: Field Element(0x104430b8dab9eae284140daadfb490c0c731dd2724bda49f23b363599a1d7cd)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 341468: Field Element(0x2e7f119f4069f5f9449f8904ef65c24025d6a6a79c807662b13626197fdb3c3)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 44871, Column 4: Field Element(0x65dd569a6654e8de65f6595a4710e8bc1c49fe05a0c37d036945cac3e5acd61)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 358972: Field Element(0x16d721235d6fc2266b4221c3d1638e8e2ec64e71c0ca37b996a5a720d31efeb)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 51843, Column 2: Field Element(0x280db210d81303cb72c8595812057586d822a0bd7cf3da01f500bbfa5fc19be)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 414746: Field Element(0x34757d9ce2b9632ce9cd88dfa06b1d25c7994d3d77da6cf180b4e3f258719f4)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 52058, Column 5: Field Element(0x512371ab2cac43de177980e19b879bc69c455f6fc08af9c7539420b32d184d5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 416469: Field Element(0x4f3925f6bd2b301febc8fe3b6ba4f50f1ee8424ec23abbe33aa947a8bee1daa)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 52539, Column 3: Field Element(0x3260316bc72702e66ffbc98bda3091c95d8a122b04c8882e846da76921f6a3e)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 420315: Field Element(0x407caba1d9724cc96376160c088f7b6804b63e7006ed114f26b0b9447ddbe07)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 53017, Column 2: Field Element(0x6dcdad2c66f9c4203686ae140cde1cae4eea33f2698cca8ac193317f9dc1b71)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 424138: Field Element(0x1b78f17c4a782fdf723a002bb2a8267d3a9d0d7c7a294134c8397b0c60625cf)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 54144, Column 2: Field Element(0x7d71d4f02da0be1fdeb3751d4e7bda1328377223d406ab9bc48a4fdfac3200c)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 433154: Field Element(0x7e422d9cc0ca30061b9fe4261d2a2b7980c593bc199021b9a3c4326af87408a)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 55457, Column 7: Field Element(0x4cdfc99a479cf7ecf3766c61f67135d6bc1f49050a5828629eda82f0682a286)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 443663: Field Element(0x61fdbe3a826de5c2fe2eb16034e17f6554ab87b33e6774d90e80556dbb72c7b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 55859, Column 3: Field Element(0x37297f03fa00f83206f69a2f782851dda4d6b978f15227de98acd915412deab)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 446875: Field Element(0x751c76df0a82afe59cf3d10ab93d3978b92761aa7f462b26c3987beaff06501)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 57278, Column 0: Field Element(0x99d8bcaa2c54a49b7c967571b3366a827e166e53807a537bbd1163cbe9849f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 458224: Field Element(0x4797343d05123a80566457d2f890e9b87831464eade75dd73844a8b0abddfdf)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 60763, Column 4: Field Element(0x464c69cc98a80f1702c729745d482dc46343c056a510248e0994c4053a2962b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 486108: Field Element(0x7e5d904aa35fcc76ad059c48e6a6959336e470b7bd2b21536050fb7e4c1e844)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 61558, Column 7: Field Element(0x1f8637afd0f18d2b2f32ddb5cb30599d2a06bc75e15e55458fd9ebe6f271a5c)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 492471: Field Element(0x7061f026af57b8df7141144859eebc39532eda934ce4c22998e828cd9e4f1be)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 62370, Column 0: Field Element(0x28b17d69c85c75927438c3c9836758f8a4c7942a4e414b94f8c86cf2609eb9b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 498960: Field Element(0x3618b5b89a5cd2e2c7f65c612087e89381d46a782ca41603957e1e9f660f6fd)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: Row 65046, Column 7: Field Element(0xdfcc3c97e34ab09309220dc04d74d876c61d72492f07a41f24b401e2a174a8)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: xInv for index 520375: Field Element(0x57676732376e698fff73ef6d1b5910f139a5019f22a1cfc411c5be7f597def8)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 66784: Hash(0x736f15c085a11bba27a39ffb89e888810d7fb62850e8d58a80bd8c338e99da5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 67247: Hash(0x3f51628d178ff783db3ab194e96b4f9fcb2d5bf0eb6ca4967b3703e34a31b3b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 71509: Hash(0x6ff5c6951e2d16723b44e2d18fbd81e550448131b5f4d1a862efb7140aadd51)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 79418: Hash(0x3c827e8f01e2617285bd545caded646f678879190c7dbc33ad6468a09594cfb)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 79446: Hash(0x15acb9ba54565ebb56946500a9d24ec6b2f64044c27663f719efb8a0b0e2a88)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 90113: Hash(0x33d74a72062ff3922547efd0a4eb1200f70b30991f3bd695e87df27d10e236b)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 91504: Hash(0x6804586ad2760d5e0ef8d6af650511df355a5ba6321f80e80b4cf476e567624)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 92237: Hash(0x646b3d4da643ac0ee5b8ea54f1efb55b28de646a45bbb7b41e7aca281f2fab0)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 96673: Hash(0x33894c5353740525c80f3d832447d660eadce8d684c14bf9049004990b5d65f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 100878: Hash(0xa3353d6bb43a094727d33cdfd12675a5cb7c105d34cb491ea9dd514ee770ea)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 101781: Hash(0x3f2ae031ac581573acb4b4aa826e4073bd1f1005849c7ac07f95145483fc95f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 101936: Hash(0x1625bb3457ac97eb9a09f109b33d619db4c055a53e5c338f969da6851cc4eed)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 102149: Hash(0x3efa0ef20c7b396aac4ed24dd4318f1031a257dedbd9441bc6ca727547a73ee)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 102485: Hash(0x793b9a380788f470d0e99c523f7b641a9315327d14c741f869b56a22b7bf6a1)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 103518: Hash(0x5cbf3bc7f593164aee59f27f53347141ced6ac8f15f06d2df84500f8d9ec717)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 105442: Hash(0x27a32e888c2dcbb81b2ea0473eb01ac09dd98bb962df87e9a1210a85421ecbd)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 106412: Hash(0x1462e435b0608afd72c77acd6db0d3e49ef26caf0ee6465ed8a1d38d849d396)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 107663: Hash(0x371c6d0fe5e81180762efb8af4960dfc17fa40d28e3825ac4b109ff68021207)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 108219: Hash(0x5c5649e07c51911c79fc5020d9869ffb804233f616f15e232e778a05c7d8e2)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 110407: Hash(0x338782bc675d4b656f43a7b2e140c7882f5a151461ff40fc4d670bb8955a4ac)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 117379: Hash(0x1530cf9215a639552152fb9e1f0a48723911ce26098c28b05eacb48b90220f3)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 117594: Hash(0x1bdb7ca0bbf75ea1f5286ca08d30d8f67db6723ca06c35fad2d791424cdc92)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 118075: Hash(0x4a106e9cb8e4ebd7d0bd3a65c1072f7c6b3c500ce72965c075b91755a89dfde)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 118553: Hash(0x4647de59cc7a7139f3fd4c1e57e8f344beb9c960f2af8b836fc64b46c4ef2ed)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 119680: Hash(0x3af054d2a583daecf61e7bea44e7ebd02172aea4213226d2f4d3508cd76ddf6)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 120993: Hash(0x6d92bc3e2d34f086ef672a44893a2f709b693e4b1b10eb58229776b3d443130)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 121395: Hash(0x4f0ae27b66a6e801dddb1c5d55ddbae280cf85d8827a795b0064b1cace8d77a)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 122814: Hash(0x1415bb5d45b2126f7b686c6f320e6480fec98fe700a354aee8289b9acbba83f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 126299: Hash(0x32201b5c5cdfc9778d4cddec1a016a9a1947d006ebd980a854d729243d1523f)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 127094: Hash(0x123f4dbf836b895e4256655029c9cf7713533bdcc85c67dae19d227420442ff)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 127906: Hash(0x5b203e0775d1cdeada1efcfa9415550b32d39428555b67dcf873c5a95b844b5)", + "/cpu air/STARK/FRI/Decommitment/Layer 1: For node 130582: Hash(0x47a845acfd40747dbb4a673102fe6a971ffd1fac76bcad11a36d00221c46b9e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 156, Column 0: Field Element(0x16dc184e5e07f3ec8cafb8f22bcaa09947b4fc319305badcd5332dfc1aa3eb3)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 1248: Field Element(0x49f325740562a021d59570939f12e694d12c810ae2afc2397c22fcf1c588d8d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 213, Column 7: Field Element(0x5589ba6e3fe2ead88dfb22f9c1bb5d42c886bbab004d223031f0f1e9a350177)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 1711: Field Element(0x543f21d6a2c26819667e7abf1488fbf488af7039c6a0a545f28da3f774f4e81)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 746, Column 5: Field Element(0x5d41083a4b1fff87a56d96b58a706132e2de338f276dc538bebaf09576b97e6)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 5973: Field Element(0x33bb9060c9c1490edc4f1171c5d93ed084536231b97bd9e43a95867de8789f3)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 1735, Column 2: Field Element(0x2fc924c41b2bfa3e027475ab824587f0d4138e6ce62eb97d94c9b64572a4f5a)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 13882: Field Element(0x7262ab452653106f562d6a1886dd737dcb27eae306fe72f42ddef484ae80d4d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 1738, Column 6: Field Element(0x2885ed799b31c26621d352a6a1600edf202d24c0c3e5f873cf894ea02adbdce)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 13910: Field Element(0x4b2cca97f180f1f0b32e648cbafde7eb4e2d443179ff83d5e9dd7b49c772731)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 3072, Column 1: Field Element(0x227eede6354ede36cc2c6fe728ec3cf04cf8582663b47eb3377298ffe2a880f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 24577: Field Element(0x7452e2df4ef1318e519a30dc6d41b540d2afd2ef4789fda7fe997ee548a9c5e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 3246, Column 0: Field Element(0x5b0455f01205cf1096b859ee488cec4eb1fc346d6fedbd51fda0c650a5d55d8)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 25968: Field Element(0x2cacbd5e968c86aaf34b446fce03ec5b0ecf88d4b1b15ceb552047425c1d055)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 3337, Column 5: Field Element(0x4fb455969a6800f7282c05d7e9705ab4a03055446eb6620a0f96e62bf61864c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 26701: Field Element(0x165401e67e14ad2f21a21da12a7d9b74e98b039b2360111187bcf57e8595244)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 3892, Column 1: Field Element(0x148393b2d32f0f562b362f4054921e55272e2b3f05083e7ef6898e738e62873)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 31137: Field Element(0x37d13ab9340646b2acaea7fd03a1a8ffb98f5405ee877c653dcc0b010250cc1)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4417, Column 6: Field Element(0x47744b83e50d92a2d97078f924755a9e12f7bdc060d64bfc0dae93cd40b3267)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 35342: Field Element(0x98a948d9f0d5ce7cbadb0779e2ef93d1fab7705cd79146dc5b10c496dc583c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4530, Column 5: Field Element(0x56a2daccdc56c420ab9a2cda96c40ff01b0b63d93a00ef24198b0bdc5e5e82f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 36245: Field Element(0x75c87165eb6eab40bf56328f04fee45fd0d45c87e9196d527504c5bffa9b1b4)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4550, Column 0: Field Element(0x51564a8bcacb1c9f7f98f54e4c6a5878833229420b22abd97730cef3e7505c9)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 36400: Field Element(0x45c51331f6d233728619b6c0e8d6bcdf4cc4d28a2282be588808dd468cfd2fc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4576, Column 5: Field Element(0x7eadbfd37e12f2be6ea502f6833dd72265de1854836131c7043d17461511daf)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 36613: Field Element(0x5f9abf352ea5e36881c3c03cc21c9e99a4036687a26cb72fca559574af6de3f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4618, Column 5: Field Element(0x5214e58cc339087cd0e0e25f03c18f7c55b1962cc9c53600a9a3b6515e66170)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 36949: Field Element(0x5e57184e680b3a19ef83b1eb3e1aaa8001373068d8f4a7a638432343bb7103e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4747, Column 6: Field Element(0x243b10f728f5995ac7442268afb5de90b297e2915329a5936f0ab34f7eb07fd)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 37982: Field Element(0x446d105afbb88fdb50b3e4810104bc69162c27c34eee61a650586258d738440)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 4988, Column 2: Field Element(0x4c0e70f1290fdf37dde57403ddfe5b44cfddfa2958fd2fddddebd8457831707)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 39906: Field Element(0x50024f2aa3d5c0b735a23122b170279a4dab8919bbfbfcfdd062e4d990a6af0)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 5109, Column 4: Field Element(0x48c8c883ebfb4c2dd1143ab08b1436d280fee963efbd4954e4b5426ca22bb5b)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 40876: Field Element(0x6c1b55fb51a8e108d78b748619823d42517f2d0fbc14ca89478598b5f78a074)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 5265, Column 7: Field Element(0x32a3e7706c81bd36e353f771ff28da2d97baa68f00f45026b1c159a66cd3ff9)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 42127: Field Element(0x1757550c04d43534ef5711482d6b55cfc4e79d39004630621767c30caa0f907)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 5335, Column 3: Field Element(0x1d09162f7f441ac09cf155874956713a145faf0aee24f9eea17b087e58e7971)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 42683: Field Element(0x594f6fa1dcdea9398be3c4cab45495a2734a7b176948b719e5ffb780576b14)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 5608, Column 7: Field Element(0x1d8c5ebcbc45a5136341cad7fd97d4e9c06c5a9c21d9201737fabae2198653d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 44871: Field Element(0x58c5a9e52c05592f99f1d62a1f336a2b32f677f5d95138a61c632c2a75d8a55)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6480, Column 3: Field Element(0x408135f47523c95dc0157c150d8bfedc8f14f959985d82c4b0e08a8da6000dd)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 51843: Field Element(0x708689af314fcedacf2f0f04347cd32587962e0fa8cd7060d1f06f93d155fbf)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6507, Column 2: Field Element(0x679bc5be80ed1471c37058e0238a699e19a526f95b9b1677f7378304cc86f43)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 52058: Field Element(0x2fab9ea4aac068df5504df237e82c7cbf8efaefd7b6021e4791de321a81a1fc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6567, Column 3: Field Element(0x215fb65b9d8036c7337d61a2c3fe4b37b57a386579391af4eacc5072c35756d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 52539: Field Element(0x35d1f9441170071f1a43d8078864721ad5721ba59c78766044ab894df6dafcc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6627, Column 1: Field Element(0x754845a2a47c253f47c646751593105547c62e91da420ff3ff704196f1ff4f)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 53017: Field Element(0x68f8f21cb6990a210a5cfc99a2a9e7a2c6c0726819176625deb89d77c6f7912)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6768, Column 0: Field Element(0x5993e257ef5f85be271d47908433a651f938ea5a436798fce127fa535479a1c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 54144: Field Element(0x43e10d8663f88c877de4ac1b341f4b25fbc0d14f241a48372ebc038503ecd37)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6932, Column 1: Field Element(0x37546c6468ae92eb9b25faaac09b954d5cda3861fe8ad5e37e965cd3e258351)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 55457: Field Element(0x52aa1cfa20a60dcb11c0301d74a9bc977c35cf65ff3b65d85935712948afff7)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 6982, Column 3: Field Element(0x25a4239bb144b354dd5de31c1bde5f1d0ccc25c6f0c6c5d34ff4efb7a00967d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 55859: Field Element(0x609de083f443c2445edf6057a983e5aaa49411ff1a75df1ecaf0effb65aa282)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 7159, Column 6: Field Element(0x26c63886639dfaf68d07bf0ede991c23c8c795f796a4589f2f9cac4e99d9efc)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 57278: Field Element(0x36306a2a81c56f86ed26051bc1d9027e7e2efefc96c6ac152dcf69662c72bbf)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 7595, Column 3: Field Element(0x4a8a565b398830e6990ed3e68b8760b1d319a598e5cdaec5d8353f16b11d52b)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 60763: Field Element(0x10ce8ae3ea48fd0084782404e584e3ccb6d2164ea5f8522f7b47d88f49495af)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 7694, Column 6: Field Element(0x3311b3876dc0669ea815c85d1c7033f5c243550d820ad50a013361ee5ba55f5)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 61558: Field Element(0x67b232250abb9c8582f2a4f3f39977053b1c165056280fd7d9c7a3a869c7958)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 7796, Column 2: Field Element(0x12c8ab2fb1b7e5cd5d6f3ce2b7a20ce5f4b7fe87032b2c9ad16bbf17416aec4)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 62370: Field Element(0x6d46f979ead145fea1ceb431f8bd8cfabcaaaa16fe7da3c777774b15ca226bb)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: Row 8130, Column 6: Field Element(0x774eddb751a6ff46790bc28c93f50a05f1871e6e7e7c7c7da3839e6035ef132)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: xInv for index 65046: Field Element(0x38ef498bd2e1385efabcae1ef39fca922942113d365143f10428757e69ddc9d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 8348: Hash(0x74e066dc3e2fd14bf859a95168dd75fe80f7fd08b1f33ab67aba0ff2440bca0)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 8405: Hash(0x31df65248b2ed2b8b53db8702eadefdc4e0fb6748a8007cfea7143380f7e5ff)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 8938: Hash(0xe664fc783be4a892cac7ba397f3e9fab897801e48af0315cdd24a08a2bdab3)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 9927: Hash(0x533aedb290867bc1f9b015e392627323bf8b3fc4c5ada60d050eabd001df11a)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 9930: Hash(0x1402fdcf578e94907d229b44d5ea43254ead6754e70e9ae19442b6fc60130f4)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 11264: Hash(0x20a557c3fcfb1537570fedee53eb49c67bd610e77b455a4504be5a3aa9d0fe2)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 11438: Hash(0x7d36b2b0cf76e6bde65cade9d6854dba09c7636da62730c489c9d5b8d311532)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 11529: Hash(0x60f2d28782618aa9458265d1076df3bba8dbabe68f280c9322a390b6f4cd8c7)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12084: Hash(0x11e4af00c0737321a6568e6cec3d6893c6ceca36f54d64492cce6836efca8fe)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12609: Hash(0x4f2db16202e7759064f2008b20358ab64a51518c8e5f43db8de336068b8b260)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12722: Hash(0x6ddc097177b81aed5f10669b15232c80e422d1e116328eb96c7c84cc09663f7)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12742: Hash(0x7f0845457984b16754711fa75d94522a07a2c2d541d66e51073ed57f254405d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12768: Hash(0x7fce9927b45032bc226bede98bc0ef5997477eff5fe3f04dd3e5a418103c2a)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12810: Hash(0x7e430823199b5acc198329f4e056e3db291d6909811608ceaeaf4d7dd1a480c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 12939: Hash(0x196baa2dccb4da7d50bc5a900cf56d2c25f4ba694252c7a4b0ee46c4612f0c7)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 13180: Hash(0x6b01777fe053644f974a6dbf65e4f9f448a5384e04dab6f3af8bffd530a48a0)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 13301: Hash(0x3341cd9f734e8f7dd2737a19d675418db9a2714de3c9c079053fbd515af111)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 13457: Hash(0x5224fd179a6e95d6ab0a31a8b8cb42d48e4395fb1da75dd65d323f160789985)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 13527: Hash(0x3f0e694b23a65db2d6f82ca08d1a094551bd1ff44113cf0d8b2f340f3a9178e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 13800: Hash(0x23a112660eb392adc7a496fb273da1e0d5e8523ba29739569fd1ef3997143c0)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 14672: Hash(0x1cc8efb732da59db15afcc54cb14d55585ae0436be572378665005a1b9137ab)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 14699: Hash(0x145aab42410df65a5ab43ac6557a59ab4b37b1f2635e8e80ffa23ba3b2bba49)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 14759: Hash(0x138c579858f51ba8cfbdd7cce1c2cf4ee0ec008bcc00d71d7ef7610a61c77b0)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 14819: Hash(0x6439b7506db2fad18a6fbd09fa29a24bdc0762c1745911d7e44d09727fa060d)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 14960: Hash(0x4d8fe3a466bf79af96b54c75ac17564e46a197c205ba4a3d404383e5311c134)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 15124: Hash(0x48c65b03079e5213c672217b0b7ea7254954029956cb3c6b82a4a5c4e15f253)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 15174: Hash(0x1ac1f8aa8c7b3941345a87ae2502a64df338eda3159a4fc82872212fd89f535)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 15351: Hash(0x526edae8f1a649edbc7c58c2885e2b6079f2ed47f59dc6cfe73362db28fd45c)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 15787: Hash(0x3db68bff3e2614590d133065a4c1a97da1564bb57b24b5fbdfe93bdbf2130ea)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 15886: Hash(0x7c49fa4781a62206cb3804fe9d1187b07005cef4cc2f3190581842a77597ebe)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 15988: Hash(0x227516e34d3c78bf5877b313cd6168550df401de532dac644b2c0f13805168e)", + "/cpu air/STARK/FRI/Decommitment/Layer 2: For node 16322: Hash(0x5253a84b3d842d0613c4c4bdc6c7d86277e0937610d3e010e0c4d197b61de3b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 19, Column 4: Field Element(0x2a33f39d6a49f5c097c5b30690907f6e330b497dd5e3833ab4e18693279368e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 156: Field Element(0x34f0b2addf1b092ecdab5982673f7e489b931b76d0e3196781a58e0c54655dc)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 26, Column 5: Field Element(0x5a181cba2c462e2b0d7c817722f5a5d3648e293f20b0395e4a7a3d674b4aaf1)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 213: Field Element(0x1d143bab1873a7d4f202199f91650095e9868722bc42a014a2a0a0cbac2a11e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 2: Field Element(0x17902adf0b73d965883c916c7e259d598b5fd5332a52adc3290b2197c8138e6)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 746: Field Element(0x3078b4dfb466bc84e04508ffd90c7a2cc53da2bb411d989b9916751eac38bc)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 216, Column 7: Field Element(0x48b8296894600e73fc2b9b815bfdee6cdbfe0d3199a54fa57d191bf33aa5074)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 1735: Field Element(0x26f98ddc92f1b5d98e7a347549f244d6621c0ba59acbdd991046430801d23)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 217, Column 2: Field Element(0x2b4ef95a0f39b178628ae76844871e028903f85bd61f078bb6355c19f6df833)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 1738: Field Element(0x2be66bd37f594456aed41509c355e6d772143edcca642ffd7e492b7bcc2d95c)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 384, Column 0: Field Element(0x62f83a6b5a1a04e5bfa10091170bc80e4c6f64d492b2fa1ca07b3a9afcfd6df)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 3072: Field Element(0x609ff5c047afa4dc3387b13a4eabb6629a57ad4827e4596584366103c8ff3d2)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 405, Column 6: Field Element(0x114e975e598b83e750f098aeb4b35217432b4fd68d5705b2c9eabd5cb88d2f9)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 3246: Field Element(0x498705b9533a14e9d878bad81efeb3d5f0e638061a786230bc64cadb820c527)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 417, Column 1: Field Element(0x1420638c96e6609237fc53c049084dd3ef6f5e81eddba97e6cdb4e3a52882db)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 3337: Field Element(0x4a95942b29d17918bd410a454bcb63976151b795c83e342076ae56a2fa09b3a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 486, Column 4: Field Element(0x46129856eb579cdc6ad893dc05a598404eb3389a5036f4a4079d1a748fa20a0)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 3892: Field Element(0x36b8614238dbb308e5ef16febd705269386718a295698e6120ce28f140fc68c)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 552, Column 1: Field Element(0x69e212148c6af61cf86ca6ed6810287bd435576a5a22bd964fa269a5b418d3e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4417: Field Element(0x25cdee704f42b1240b44cee2ed4b5cb44cc68821c3e42dbd5dbb834da4a0fe0)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 566, Column 2: Field Element(0x1d1294b6f6c65b7efdcf7b7a8a8085a46b21802e5a8ec59ff4c40da0b5970f5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4530: Field Element(0x4cea0d3411a230d1437e7808d5940c5ad4ee1ab94418bd13a05a54c20807c9d)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 568, Column 6: Field Element(0x38d3d749f26c11ac0264e7505e912e116844d6498caf9c9f6c8e712841573e5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4550: Field Element(0x422ede4438984b43c9b5e3e1b52c6db6fa0023d44f166bb9cdc91901ebd2a2e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 572, Column 0: Field Element(0x4893e4f12cd15f6817a60c87b214c4bf63babec489d3ff1869d5bba438f7fa9)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4576: Field Element(0x407fd73107e04a8f049f75552f6a6e655ab3951522fe58ffbfa5a472581f52f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 577, Column 2: Field Element(0x5f9eb94ed8b81edd19ff6d1c1e281ec55d775e9e5c15613f67c2e0de09170e2)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4618: Field Element(0x65216bdd16565820753c16e7a5c37c3789a60b598e7d8e5dff871137e2be524)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 593, Column 3: Field Element(0x3f7597f78ae8afffdfe813138de2cb7bbe10d23c912a203c0bd31e4e8aca25b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4747: Field Element(0x16d40113e1f3e640686a608af137f2b77cf69d8cca8261f3833378d785ade69)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 623, Column 4: Field Element(0x765f9e7ee66b5ffa7b36d8d472c5c09b0ed694a8672444fc5b8783323624f2f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 4988: Field Element(0x5d1f965355fc91cd287823fca2c5ef2a6500e3a310a05407640170488dc878b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 638, Column 5: Field Element(0x122407fb7a73f7d2d223b7e09cff64544e44de131ebe9764fdb322955128000)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 5109: Field Element(0x1da57a79190b9f1995b7577540ee74cc5552a4fa2f8d777bdfe1024f5c074bc)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 658, Column 1: Field Element(0x71615dca8fa1bf5979ebb36fe6c11da724e69310ed0c8501795866f862f32dd)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 5265: Field Element(0x487fd18e21c01ff2631c8fa030711a2336ce65187976cf3851e5297505c62bb)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 666, Column 7: Field Element(0x429b3697776a345ef023b021625c82e69a46b9f830d6d3bad84acab22ad4ec)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 5335: Field Element(0x3bd0548d3dc8a3f18ee50c4544099e81ce5e388e1308ab7f0d87189cf319de5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 701, Column 0: Field Element(0x128e9ec417560edb5bdcf8e0be67cb350eb8d6828903966b2da77cc3470c2b5)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 5608: Field Element(0x5d4ffb8eb4085ea98b0e5c34380eaadd24960bbe35842825db15a9ecea360ad)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 810, Column 0: Field Element(0x1384b77be74acab6ffbc08aaec07b42aa87c422ba93fc145a632f605456dae3)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6480: Field Element(0x439f24f26389bff0081a86f4d9e5bb21e825d71438cbd504edf9b4751dd88a8)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 813, Column 3: Field Element(0x15b0575d343250e762a0dd496776aa2937414360615b1af957367311244bedb)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6507: Field Element(0x84094d2384be22ea48a45a0e1ec806f5875c11b25faa629cf2599578386a54)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 820, Column 7: Field Element(0x573834bd8369aac3916570e7c8ae07ad5389fbf297c7a1aa38e0d7f34eac652)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6567: Field Element(0x2b356cf4a552d3b60e0ee8b05751fc770c9cd8759f3754085581b5b9ebebc8d)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 828, Column 3: Field Element(0x52790ac28ff14720548ea0c90045739264a3cd7785dfb9f1169051b7cc4db3)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6627: Field Element(0xa911b2a3c0afc3496669c93e43821a9fcb37ad77f49b008c975a5142717f1d)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 846, Column 0: Field Element(0x5ad78e8e05dbf774e719779af63a7c4a7ec0ef789c30d9bb0304bd98f00d051)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6768: Field Element(0x55b62c31eff8e5dfad84f830440bdd15a52e36a4b6ad01bae55fd1cf41c731)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 866, Column 4: Field Element(0x786e02e8c8425b22ccf73b16cfea8681008775c63049d50f77813b6bc76ade0)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6932: Field Element(0x49bd51610972552f0f5b0308128f581d0724be7c756513255576d118a25bb8f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 872, Column 6: Field Element(0x3067d154423f7434b9202a463b54b146bcb877811f2e93599eacff09bff9fa4)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 6982: Field Element(0x65f9463ce50d29f7803d24e65a35220ee9e7d04caa8c0d526a5a2dbd3941169)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 894, Column 7: Field Element(0x28d92e11519e5467f13e5594a8ccdc1a6195edeca273e5a4a0f1c68f4be1f86)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 7159: Field Element(0x3cf50c271669244efb8a895c4e22c9abd4399b5a82b3055e99f1fae3ce64ae2)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 949, Column 3: Field Element(0xfb9567cd51a607a7e5c1ce725946c9c9571d81c95e77b36b4c6d8046f3afef)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 7595: Field Element(0x1470d2d2799abf346dae46c154763883c3a4da52cd6d8c44bb9f0b00a7891a7)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 961, Column 6: Field Element(0x5864d8c1f3a9d768e2b4ac7004a647873d29e932c1dfb2bc6ac504332751c8)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 7694: Field Element(0x1a23ef0522d7b7eb5e457fada68f1016526a24c461ecfba0c0f85ba57b321e6)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 974, Column 4: Field Element(0x42612a283e9c87c24214904b05adc91af73251b8ba904778861731828c7a8b1)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 7796: Field Element(0x46c9aa1fb333c983850efc838dac9aa8c65ea28118b18cecc94b01822aa3a2)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: Row 1016, Column 2: Field Element(0x27d4d3123e94bf91d4006796287f89d0951a1c797eb80a416f2f605aaf1fb95)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: xInv for index 8130: Field Element(0x562f10c224896efc105e750d2058698eac6ea758f385ae780ea85d49033c80d)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1043: Hash(0x5f664bf307bee72b19f76cecea8da0f46b04744cd52696fcae257772b3172bb)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1050: Hash(0x64e2aaabffd22a515ff8a0c907ab1bcaf92ff6e2aa21cbe0373eeb7c0549232)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1117: Hash(0x5bd96defdef5de2dcbe59861d8a5e34db439d432cf7b5b1e21194830ff0f78b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1240: Hash(0x3b56feb5224d77585e1f0d22b729e37edbd9ed3738aa81549135c0326f21f79)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1241: Hash(0x7f1f7968c40763f3338bccaef141253d2015b5b06a0a719c8a5fa1646297e7e)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1408: Hash(0x27ba136591806a9263ee86659ba8c3949bd73bbf0358bd1e1b0d88e736c6a51)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1429: Hash(0x39ae903a683b95b5357e9f45bf700408c3dfe0a5138897190a3564ca10e14b)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1441: Hash(0x206a6bc025884b095ef53aecb7f5ae4d720930875cb79ae8d8620ee36a358fa)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1510: Hash(0x11bdfa49839d322f1de16faabef8c12e0b8c209fa0ffb98c6b6062106cc00d)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1576: Hash(0x3635608dbd7d6d070883e0c0ab1c92489dd244dcedb9ff0b08b2a5b6625fcb8)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1590: Hash(0x5006dc49a6aafd42e566cb071d35144d9763085611bfc4ff59881e9960331b6)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1592: Hash(0x4c696812ec8d228d1c4335115fe25ec41156d37915dbccaea848a50c583ddfa)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1596: Hash(0x5573530ad09f51f0800c880089b74f38e5e452832b14eaa4ecc6592a59fb763)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1601: Hash(0x77b3fe29d1c8c0deb9fcbcfe7af2624c402eba8b72ed43ca2b994fc1e51ce41)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1617: Hash(0xe9a828026a002cdf20e6ffba2d7116296ce2a414e5758e9b3f023d80ae1bed)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1647: Hash(0x8f28d92f41a536f98e7b417fdb3ae726ed2b9aa97bade461a016dbe75f867)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1662: Hash(0x4e85b7d66fdcae2a5677fa42028296d16a10a9f5fdc1e6b88165abf6995fd09)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1682: Hash(0x1b75e9a7976afd828468a04d177de209036d9505419a4da47e6b76c093cda85)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1690: Hash(0x1af4cd2c64d272a43d0016ec1a4cf30e265e9921bbc71a68b8ff14df8bbc9fb)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1725: Hash(0x7977767e40bb88ceb9482277e8c8f40f822b30274bf2f44e65ce132bdacd20)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1834: Hash(0x40faf4f848693999172f8d898b9d93e3c6dd078a0944969b3c1032e1d76bfc0)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1837: Hash(0x947dec28729b553cf9371c525bc157137635b7d07285fe6a2fb4072538ee8)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1844: Hash(0xc2b52a72dea4d8d09d4b0c4639609964a32e95b82cbf57c8b85550852031ba)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1852: Hash(0x458b66fce6accbc8206ef507e86db69f60b68ef31ba26d7ed5f86cea57a774f)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1870: Hash(0x4f8ec74f6a122afa546edb1946184b51c1c526979bac050f532770d3e4c9893)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1890: Hash(0x16e8dbc3fcca9d33368b4d9a78444d61939371c067b5014eff5950470295386)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1896: Hash(0x3a16c4e1c2aa6be1b6f6a24741f7c1829973c8ea625a0df2b1102845de1db7a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1918: Hash(0x6b86b21e1b14947f67bb317d597775ef1651aa367f9665a96f02b07a4329fea)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1973: Hash(0x6139bbe26b6ac57d55c693abec7a62802fc1a440b3f2940d8a4dce344b2527a)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1985: Hash(0x488620b35a5b664fbdc57041ee622766bfab4589fd65bf08f6a629c42051422)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 1998: Hash(0x550728e432913410a62ee6a1e8d4067a1c9917184753d106393b13b7db46c68)", + "/cpu air/STARK/FRI/Decommitment/Layer 3: For node 2040: Hash(0x478e98fa1d9e23eb1ea0ba521367e55e67dd0db06f51022197724e32f40b503)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 4, Column 3: Field Element(0x5ca95a8f4dc25dccf6c3a81e9b35eb89fcb6c6a7938794fc40a6ffd543a13ba)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 19: Field Element(0x35b01f2f03b33a0e6416301ed24191cb5b5db5ad8831dda32f035d1bcc1cc71)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 6, Column 2: Field Element(0x7f3df53f2419666b79de98bc607a97f1b706de5d657284cd63dee694ad687d7)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 26: Field Element(0x5ee3771d22bf43d322e396efc5d93f9cc68b63096bc79b7de02392efd9cf8f5)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 23, Column 1: Field Element(0x12896b26272e38d5d839f02bf468300c01dd899eeffde6c22f39eccc54a9324)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 93: Field Element(0x5f86c167624bb80ada091a804564708acc1f30d0557cdc57f8ee0a0b1cc9476)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 54, Column 0: Field Element(0x50b548fe005325646b6f41fc0db0095716fe90f92e62e56fedd5be85ee8fe8c)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 216: Field Element(0x2ccba4668b17f0cc6cbad924797c33721dfe355661dcf31da6a2000adeb76ff)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 54, Column 1: Field Element(0x42677400776b21d54c73aa234f8696b972d290b60181f8a9005c2dd2af9d8a6)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 217: Field Element(0x53345b9974e81043934526db8683cc8de201caa99e230ce2595dfff52148902)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 96, Column 0: Field Element(0x79ff3f3cdbc8f997b661299b2c51e471f6647ef2eb2e7bb21376623d06c146b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 384: Field Element(0x234b25e11c55c49ed7f39bac26c2285dbfaacc4ff57c1f52ca84684d3258b61)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 101, Column 1: Field Element(0x1250a6264f3f81ef05fc3adb25c85c904f6f84fa4a4fb2047824c389e9e6af)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 405: Field Element(0x4cb7c00ba3bc30e2e8550e03765c58ac68c9ea6f59beceb619265ab194452e8)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 104, Column 1: Field Element(0x5daa8922d12eddb918729e4de4e1bcc2d7940507f75415dc70e2bcf5a26b3e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 417: Field Element(0x752ac6ec2224ecdd0d0ec1f246587914ea486618ff811263882587f161b7681)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 121, Column 2: Field Element(0x6ea110c998bf73c707b6aaf6ce48b81c4d4a8ef37e7a06ad40c604d1078232a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 486: Field Element(0x3c4fb19608278b0a0ca0685acee9465e2a987974dd3e0612d009bbe36f107fe)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 138, Column 0: Field Element(0x602ff6ba43f079687d7aace20e10a145ea225c2a1607969ced93358fa64163e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 552: Field Element(0x11896c60694cb23aa74aa7da74d71a309aaada3b0d57995ccd3b1a568aebb44)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 141, Column 2: Field Element(0x33ea3aa3a1dcadfc67be0bcbaf7ddf520985e8a3085568fb1b24f2ff9bb20a4)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 566: Field Element(0x6027abb0f55aba4a91deeb5aaa5b653cebf3d69613ee68bc5204fca020380a0)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 142, Column 0: Field Element(0x723bcf838cfc9815a300f347c1a0f8553f66a2c9adeb3429d05d368ffcc671)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 568: Field Element(0x14cd836bb5e210e247c416522af3240affd7946f52f480ac0c7bff5b9b346a3)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 143, Column 0: Field Element(0x6e85b76df4cc373b9a4bf7c63a78c94018982164653997994d0b69f390576a2)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 572: Field Element(0x4e0945ebeadedd71a8da775cbba40edcf32f07f2e8ffc066f57f974cc22f5b1)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 144, Column 1: Field Element(0x1467b9f23bc598b7d37390ee8a59752132fd98aeb2c19f55146ac72902fe9e3)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 577: Field Element(0xc7e7bba9ce5db7fd4deeb14d4bc10a967bcee600bcb13eadc22a9f0c9c4d5a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 148, Column 1: Field Element(0x99a8be2b4123ff140ec7f41cda8b2cf974714aa7add4cdec86900008699251)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 593: Field Element(0x68eaaf696a3dc9b54bc40e0d69a6fb523b51f097ae011ea7a9eb64e78a16593)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 155, Column 3: Field Element(0x66f786f3fa01d147056d7b8af625a40d3814ccd511e0a0e79eb48a3046166b3)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 623: Field Element(0x4251fc6bb59a6a042f4ae91b65d39676370ce9280e908d321d14c27612438d1)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 159, Column 2: Field Element(0x168e19ec47708c75fbc2e0aeb486ffca4f55b7c7e7bcb065cd4d66dd40f4f4d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 638: Field Element(0x4833ec0b8b2273d975a591baa0ab6190f79b18b1889a0e04d74463a83f81d46)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 164, Column 2: Field Element(0xde8659b9185655abd5d71bc7a559b109b207bbfacf7acdbe0a8aacf44bfc5e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 658: Field Element(0x3d8f3a729e2bab08bbab534fb01b01e87d5bad11662c3e687de8eb824d2007d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 166, Column 2: Field Element(0x565bb69e5ad891a9f791d301a2f67780ebed52192ffad7e87fe921bd8183623)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 666: Field Element(0x7e0f5eb44f4b820eb4a2917dfc8f0c007f8d22437edb2db17f94f256af99a47)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 175, Column 1: Field Element(0x5bf55f9cf7366a462528198392c8ab8691774890c95cf9a676774e3473e2846)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 701: Field Element(0x71bd46ac61bb98fd2d70d3828aa8c7f4949dd2127aa92a2445c61fa2dee9ac7)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 202, Column 2: Field Element(0x7e4937aad9c8925e2f8594ef57b333c80f9a3f11c6a48fc89ae6d5b7f18e13)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 810: Field Element(0x348322dcf4063dbbef22a4fb92245c6cace9a6f89bc6856ff8075d671957c70)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 203, Column 1: Field Element(0xa115e625c6a0300a036e0fbcaa36ec75a81d9d622f489b6077e3cada4acfe6)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 813: Field Element(0x7cc5797561b2a673f23e3d687c3932257005f3fc99ad8c94fa0d929bbd66c2e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 205, Column 0: Field Element(0x6d4131d0297db0c0d0a8e989a71aa332e87a212378fdd84a91bcb8e856d3121)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 820: Field Element(0x2fa9ff4cd829a703bd2909d6887350d82a60de3f04cf2beb2f278d8baffaf0d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 207, Column 0: Field Element(0x49cdf161dd332d1340d5035f21bba89d4bd69bc0387d07a6f166e491b9ae35f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 828: Field Element(0x389631a8f1971d87663b3185d4977f223efb0a4c9fb05500935571308a9b292)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 211, Column 2: Field Element(0x7ef6974aebf87d26a81fc2b1d79377b5fd808159e647b94a785a1805441f99b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 846: Field Element(0x2cce7edab554f41939c56a0694dab8aa53a1f116c01f68dba56bb7565fb3033)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 216, Column 2: Field Element(0x1c4c908c14043c500c7d63fb5c8850934c700ad0e1e4fe4d40fecc64627385e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 866: Field Element(0x7dcd4eea8fe36df7975e97b05e93aad2808dfac55f4bd24c13f89d0afb6c60e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 218, Column 0: Field Element(0x58e8b4c332b2b477cbeeb0db14a908b9108628813b9bcade4101236c4af282b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 872: Field Element(0x6e125da6effb3a15e44c7ef99fe8ef1444a7946d5650d0bb9a7702b3e496042)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 223, Column 2: Field Element(0x4bc5f480f1306a6f9c3736b19aa4c0a123bbf5bb947f5069aa68ac9019bdd17)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 894: Field Element(0x2ac74d2f4873d2e21862248e54223dde24a69c3f4b01f2e368090e047350601)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 237, Column 1: Field Element(0x121ea10b38381339a2791ddc7ccc9591cb62baaf40b23fe32955703395be5ab)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 949: Field Element(0x269815bc018f1f4e8bb9ac34c4ee91a23e4c1b1da5e6ac44122453341da13a2)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 240, Column 1: Field Element(0x66264f58a827c6fb121d3e206554b9251a4694669ac4557191ef9500412737c)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 961: Field Element(0x214d70ccc50365c2410595c46f34ec6b9ce75acbc664fa692ee15756caeea22)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 243, Column 2: Field Element(0x16dc2921d6774b34249ec57297f34f7cdc5dd49b855ea66aa6bb229e78260d6)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 974: Field Element(0x6b0232e31e6b7f148a860155a43115329ced501c0c8cc9640a15e94f62411a0)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: Row 254, Column 0: Field Element(0x877c137ef793297c7af356c8501882c32990f1f2018ec5e73c75361faf1295)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: xInv for index 1016: Field Element(0x2e472b9c4c5ddb43ea7f81fc8c4ffbbf64149bf6a137c84c1bb04bfb3c7ebf7)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 260: Hash(0x250bf8ec0905ac375f592e3e521f8af797c2cde39e29ef7fb01bd56bab86d27)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 262: Hash(0x724be40b4b8a0330918749211629d6b104f6c944343386de9e6677926817f5b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 279: Hash(0x701fdd056cd49327d715161145c8961b36f73d82d833f3d8f4598407f7e36e)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 310: Hash(0x2a95bfcaacb3bc250178e1c9cde93f88d3a120de9d5513ec7dfeaa19c079229)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 352: Hash(0x51a575948fbf46ed552a974d4c7eb13d9adc62adec517d5e5315afb30e0ed61)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 357: Hash(0x32c452af05089fbcbe98cde6e51720fb0803d7f8db219c7d01b9213dd005699)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 360: Hash(0x2fe8b4a45f793fcd8a1a171edd5ccd9fab90ad3ee5b96bce021fa06e2f5656d)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 377: Hash(0x25a3ad86c1614bfd8f3c182abe3ca0f82fdd469d82bce202a58d9813efbfd8b)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 394: Hash(0x37b262708620efb795ccff21563d0eda3d5b894d6f5837279c36e1c8a63f0af)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 397: Hash(0x46cf3720c93b5f049a47de2022d7eb72849fb9a046d69df05cb8a239e96f8a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 398: Hash(0x52f6256d1410edd4471689c1fbf274e3604ffd2d18b83958be93115ce78bc45)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 399: Hash(0x1d1d1c676a43ab32b37236bb09c68dcec18e002e33162a9008ca6006e97ed1a)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 400: Hash(0x4b3ca274fdf2c19353288a3ce4ec29364ccd26d247715dde8a34f8cb80966c7)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 404: Hash(0x544e43cc85e800129a4d7dd2e1a53b68dd807fa83c29190a8593c8cefe61237)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 411: Hash(0x6ec65e828f310c084d8a3abdef393f77cd3e15ef5f6cd23e932c7dabcb3c734)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 415: Hash(0x1cf19d677bff8d3b2db3eaf3b4c4067ca32b4418f148402c5df8c0ad3b376ab)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 420: Hash(0xb8d3afaa91046b4c74b81452b3b13c9970d486587429156c575137128c6b7f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 422: Hash(0x6a6c017ebad5d65092df2cf2e3bc28d3305b60ddff490cc2b52d276ad468f86)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 431: Hash(0xe3b9a42ed1a730bf40356ebc342680af4386c1f28de8873e074802f5792ec7)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 458: Hash(0x378df2cf68c302c89a829f76812661198e84e2235b0663a28ecf22c49ee2a31)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 459: Hash(0x4b0ab4bdb3247e4be9a02a9944d0896dcdda5d39da36c9620dd8208d336c5c7)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 461: Hash(0x45289c7f91fa355504982894ee01a3a5eb9832de3a495f2aa934aaaeb5114a3)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 463: Hash(0x52b0d3483e7f2b179f9cf9703901d32f4da6439ec886ae31f4d6348cce5a972)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 467: Hash(0x2aa6ed625092acd40020a3972f0e4c12636e4b263591644a44725d69ddaab91)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 472: Hash(0x6b46b60f95b4343bf4d1a5e8c77bf1c29f6b68655cbd67eda4459ef33f9e226)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 474: Hash(0xdf1cb9f009e765e4505220cdad784740dc59050fc327ae31c29b53fe52978f)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 479: Hash(0x532f303a28f2b8a4c16515680e4ac3fe6f125ca3ff7458263b79275daf2cd07)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 493: Hash(0x569dd56d865d529a0a0467071f3ed2c5abbad388e09f7e5dfbc32eb028542a2)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 496: Hash(0x3bc43956f07635128f83dae130872315689d40a82b9ec7044f2766858a3fe25)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 499: Hash(0x58328b55f5e3e1446a0412df01c577237b7210d8d630f88858c30ec25c8fb46)", + "/cpu air/STARK/FRI/Decommitment/Layer 4: For node 510: Hash(0x14c253c29d2d2f31c42e8e0af61d882d69e13e99c42aa6a815ea6dea88f85ee)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 4, Column 0: Field Element(0x3d384e06255447ab854a72696234fa75bcd804c9cb7fc808f13672337576e86)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 4: Field Element(0x446ed3ce295dda2b5ea677394813e6eab8bfbc55397aacac8e6df6f4bc9ca34)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 6, Column 0: Field Element(0xfa98f294f24cd2f2d4c7571ed034c64a6b26e841e6c1eb8891813341bc1d10)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 6: Field Element(0x1cc9a01f2178b3736f524e1d06398916739deaa1bbed178c525a1e211901146)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 23, Column 0: Field Element(0x5d6f6811f3022f692cf8bd3e2a983cf9e5cf729c7e3275a8a094ed09520086)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 23: Field Element(0x2c226e9010da226650d4e831a8c21933d6d16ce5fad48839e202fdbb6c986d7)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 54, Column 0: Field Element(0x31df0cf634c4af7e293fbfbfb7a28f7da240001e63bf50e4f64777e0ac2048e)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 54: Field Element(0x45c40f3b789247e4cbd57c6c872ed46813ca2a448b41132c39e91b1cb30b703)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 96, Column 0: Field Element(0x2a86f6d8e298618c8a24f3cf07ea8231a60f5efd999f0ac27cb42db7e51e0d4)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 96: Field Element(0x68cd38db18764a1d8cf691ffea257660682d17527ebf948e631e8585b392cd2)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 101, Column 0: Field Element(0x556c09233ba1632a22b7e0faf20f545f715ad36d448863379e400ff7d52b5e9)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 101: Field Element(0x7df7e641e3c012025da5b5acd7a786a722caf636ac08ebbf3433e801331419b)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 104, Column 0: Field Element(0x7abff569562333a7e43e79fe54eff9b38d426d37df4abd420c6e36d3c084f4d)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 104: Field Element(0x61025a4cd5114ae8e97b67d62c778a3682f74ed8e3a3ef08619706ba77c5812)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 121, Column 0: Field Element(0x51be851f9aa320c51418fe1198d91f515b42f6347207091ae3e3489831422b1)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 121: Field Element(0x2ae2496e18df24a15e2c11ca28c377d42b5ca06da64a4cb383d8e6698a6d7f2)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 138, Column 0: Field Element(0x6fac89d83afe9ac37ab565b0ad563473388ac1e80fd855f70e075e0c8cb4c09)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 138: Field Element(0x7f2b4e7230c66f0d4b1e617fb92fb807801d0682485417238770bc9b95edfde)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 141, Column 0: Field Element(0x428122da74f17f4da3df7f339a3c5eaa701624160d54b1b6f252110790a472a)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 141: Field Element(0x1cf9097ab336d8ca53dfa25fc57cfb4de5daf5006f7aa89bfdd87332c790394)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 142, Column 0: Field Element(0x6d1f6ba70c9d6462597e4e5173c349b890dba0e5e5352f46803112ae9c8869f)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 142: Field Element(0x4a52b2f9ab5dde5d187e1f8dfe5f700e311ce2ed5408785cfc4d7578b341c53)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 143, Column 0: Field Element(0x3b38e8db7dc95fed6ffc106beebe1f61eb7961338279ec388515d17d79b5af4)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 143: Field Element(0x35ad4d0654a222b2e781e07201a08ff1cee31d12abf787a303b28a874cbe3ae)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 144, Column 0: Field Element(0x2d864623b5ffc20667ec896c91ad529b7b496050d49ab41a673091cadf44cdd)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 144: Field Element(0x5ac57c3163d3d47c0611555db94f507f4587629d280c95444364e895011e75e)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 148, Column 0: Field Element(0x20bb48d8158e102b90121e3eecbd25e716bd952e86ec45fa4c1b72305c23b06)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 148: Field Element(0x276af156eb7f3ff58672ddd89cf8624dc5ebaef0a929e7f17962594522cc52c)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 155, Column 0: Field Element(0x6f680f43244e3307f5823b5fd030621dada77d2ff82ae477f2f2aa1ed0bcfc4)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 155: Field Element(0x45dd101cbfaeabd0bed769ff1a33a749527154229885d29ccc3b7beae21a12e)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 159, Column 0: Field Element(0x7e4f0835d80549fc66253e9a438d0c4658dac78390500176bed9b0b832249ed)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 159: Field Element(0x51bde215b447cab2dbfe9f55c72aa7fae490861ce18a3ad599f8ebccb87faf9)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 164, Column 0: Field Element(0x15dd72b9492d575155f18215cdac831acf8268cac23bf6c80e9c893575cbf28)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 164: Field Element(0x22e30230c5f9e5042e6973df4a939323ce972532acb3db579084a2716967f9b)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 166, Column 0: Field Element(0x1bae5aab2f49e972f8243879d3cfe737efdd79b6b53acb5cca64e6091b2bbf5)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 166: Field Element(0x13f55a20a2ff3dcad5216f0522d07fee5c8a5bdf553ae62388ef9db007edd8f)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 175, Column 0: Field Element(0x3410ee0bfeb08f700640af71ca48ee10f880406e8ca3cdb036a29a2ab13938)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 175: Field Element(0x6ec50a9ff599872889a04c0806fdc002ede71b88bda8fbcc47a3de612095205)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 202, Column 0: Field Element(0x2c1c38763b8901d0b3a6665bb1c66d30cdd0a2c06512dc0499319a215ac4315)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 202: Field Element(0x6911ab4348dacec2658858bfc3af1e8873ad1c6be7097c9fc77002475d184c1)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 203, Column 0: Field Element(0x390fd80f8e9d85bfb24f54efee3346df7a38cf6d1ab74f8b4bf0fdbc04b2380)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 203: Field Element(0x16ee54bcb725324d9a77a7403c50e1778c52e39418f68360388ffdb8a2e7b40)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 205, Column 0: Field Element(0x2a6a71b8a88832d648a68c02148b5ab399e9919d9ba42688afeb63a55291dd8)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 205: Field Element(0x3c5f2b0df0708f08b757d25226e94e3ae600cf46b5c6f88e23f1af9987ccfb0)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 207, Column 0: Field Element(0x36b13b57d9ec809507dd68d7da8ec82ee1c2d560cb1c31425cb6177a09b4384)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 207: Field Element(0x53c6b609d1e19b74940a9d0a46d6410ff1b4f8e6fa1b2dd63f95627e8345153)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 211, Column 0: Field Element(0x56278609e48ab2dedfc4a3c1317ab76fcab22f12911c5716cf8f37507526468)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 211: Field Element(0x3c9db12f659cc547905186927968ead87d200629b7b155dd401021a1aab2342)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 216, Column 0: Field Element(0x56f0c9e4ab4a32db2e2bac29118997ba56c4e282f5712bb0716786e89eabbcf)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 216: Field Element(0x2ccba4668b17f0cc6cbad924797c33721dfe355661dcf31da6a2000adeb76ff)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 218, Column 0: Field Element(0x66e2639c7bd0b9c3d7e1a4ff09b7f300266f746fc7f50d7fbb107c65e10bb11)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 218: Field Element(0x527e5436bbbc0eb335e6443e4a35775596d21299a0dbde6557088294b1b8369)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 223, Column 0: Field Element(0x658e71d9ebf2d1b97f6e9adda4a01a68289ff91e2d0b4ff30c04664a63f70ae)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 223: Field Element(0x60c4b2b3e708d7cbd1334c8cd02a7844c40e38d09a21773912442e5b8763d98)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 237, Column 0: Field Element(0x128491238ae5ca75a0879e3785f93179803ca488c65b4e7dbb13b334bf1b6a5)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 237: Field Element(0x93aafbae9df677b02ab3e4c3bd958b028589eb43b4876f7e381abc4eb898aa)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 240, Column 0: Field Element(0x4e12a513415fa7e8c1dfc546449ac0fb4ab0b3f498c2ced8f9b15753d67031c)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 240: Field Element(0x6e6ae006fe34cbf9e7398dca24d5e9daa8ef2d9f1de87d34972a8be25cc27a2)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 243, Column 0: Field Element(0x5c0ec18e04a020942462030fae9059ff177a80b433f0ae4d0872b3ad40ee50c)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 243: Field Element(0x380d46d016f410bc593303d18770a601df1e141fb436c5f416c24e26a7ea7d3)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: Row 254, Column 0: Field Element(0x69155405cd1376feb09acb41b9f81b72991fc7d953ae06c5d7039c2b73c96c9)", + "/cpu air/STARK/FRI/Decommitment/Last Layer: xInv for index 254: Field Element(0x736d13402ede4b84386db2a22ae58e83b28766d2f17832a60e4372800f34cba)" + ] +} \ No newline at end of file diff --git a/examples/proofs/recursive/cairo0_example_proof.json b/examples/proofs/recursive/cairo0_stone5_example_proof.json similarity index 100% rename from examples/proofs/recursive/cairo0_example_proof.json rename to examples/proofs/recursive/cairo0_stone5_example_proof.json diff --git a/examples/proofs/recursive_with_poseidon/cairo0_example_proof.json b/examples/proofs/recursive_with_poseidon/cairo0_stone5_example_proof.json similarity index 100% rename from examples/proofs/recursive_with_poseidon/cairo0_example_proof.json rename to examples/proofs/recursive_with_poseidon/cairo0_stone5_example_proof.json diff --git a/examples/proofs/small/cairo0_example_proof.json b/examples/proofs/small/cairo0_stone5_example_proof.json similarity index 100% rename from examples/proofs/small/cairo0_example_proof.json rename to examples/proofs/small/cairo0_stone5_example_proof.json diff --git a/examples/proofs/starknet/cairo0_example_proof.json b/examples/proofs/starknet/cairo0_stone5_example_proof.json similarity index 100% rename from examples/proofs/starknet/cairo0_example_proof.json rename to examples/proofs/starknet/cairo0_stone5_example_proof.json diff --git a/examples/proofs/starknet_with_keccak/cairo0_example_proof.json b/examples/proofs/starknet_with_keccak/cairo0_stone5_example_proof.json similarity index 100% rename from examples/proofs/starknet_with_keccak/cairo0_example_proof.json rename to examples/proofs/starknet_with_keccak/cairo0_stone5_example_proof.json diff --git a/proof_parser/Cargo.lock b/proof_parser/Cargo.lock index b483d40..86cff86 100644 --- a/proof_parser/Cargo.lock +++ b/proof_parser/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "aho-corasick" version = "1.1.3" @@ -78,27 +72,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -114,21 +87,11 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "num-traits", - "serde", -] - [[package]] name = "clap" -version = "4.5.11" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", "clap_derive", @@ -136,9 +99,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.11" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -148,14 +111,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.72", + "syn", ] [[package]] @@ -172,22 +135,13 @@ checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - [[package]] name = "crypto-bigint" version = "0.5.5" @@ -209,50 +163,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.72", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - [[package]] name = "digest" version = "0.10.7" @@ -264,22 +174,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "generic-array" version = "0.14.7" @@ -311,12 +205,6 @@ dependencies = [ "digest", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -362,9 +250,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "memchr" @@ -372,15 +260,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - [[package]] name = "num-bigint" version = "0.4.6" @@ -392,12 +271,6 @@ dependencies = [ "serde", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-integer" version = "0.1.46" @@ -416,12 +289,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "proc-macro2" version = "1.0.86" @@ -433,18 +300,18 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -487,29 +354,29 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn", ] [[package]] name = "serde_json" -version = "1.0.121" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" +checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" dependencies = [ "itoa", "memchr", @@ -517,67 +384,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_json_pythonic" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62212da9872ca2a0cad0093191ee33753eddff9266cbbc1b4a602d13a3a768db" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" -dependencies = [ - "base64 0.13.1", - "chrono", - "hex", - "serde", - "serde_json", - "serde_with_macros 2.3.3", - "time", -] - -[[package]] -name = "serde_with" -version = "3.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" -dependencies = [ - "serde", - "serde_derive", - "serde_with_macros 3.9.0", -] - -[[package]] -name = "serde_with_macros" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "serde_with_macros" -version = "3.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "sha2" version = "0.10.8" @@ -599,25 +405,6 @@ dependencies = [ "keccak", ] -[[package]] -name = "starknet-core" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d506e02a4083290d13b427dfe437fd95aa8b56315c455bb2f9cdeca76620d457" -dependencies = [ - "base64 0.21.7", - "crypto-bigint", - "flate2", - "hex", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with 2.3.3", - "sha3", - "starknet-crypto", - "starknet-types-core", -] - [[package]] name = "starknet-crypto" version = "0.7.1" @@ -646,7 +433,7 @@ checksum = "2e179dedc3fa6da064e56811d3e05d446aa2f7459e4eb0e3e49378a337235437" dependencies = [ "starknet-curve", "starknet-types-core", - "syn 2.0.72", + "syn", ] [[package]] @@ -684,65 +471,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "swiftness_air" -version = "0.0.8" -dependencies = [ - "serde", - "serde_with 3.9.0", - "starknet-core", - "starknet-crypto", - "swiftness_commitment", - "swiftness_transcript", - "thiserror", - "thiserror-no-std", -] - -[[package]] -name = "swiftness_commitment" -version = "0.0.8" -dependencies = [ - "blake2", - "serde", - "serde_with 3.9.0", - "sha3", - "starknet-core", - "starknet-crypto", - "starknet-types-core", - "swiftness_transcript", - "thiserror", - "thiserror-no-std", -] - -[[package]] -name = "swiftness_fri" -version = "0.0.8" -dependencies = [ - "serde", - "serde_with 3.9.0", - "sha3", - "starknet-core", - "starknet-crypto", - "swiftness_commitment", - "swiftness_transcript", - "thiserror", - "thiserror-no-std", -] - -[[package]] -name = "swiftness_pow" -version = "0.0.8" -dependencies = [ - "blake2", - "serde", - "sha3", - "starknet-crypto", - "starknet-types-core", - "swiftness_transcript", - "thiserror", - "thiserror-no-std", -] - [[package]] name = "swiftness_proof_parser" version = "0.0.8" @@ -753,56 +481,16 @@ dependencies = [ "regex", "serde", "serde_json", - "starknet-types-core", - "swiftness_air", - "swiftness_commitment", - "swiftness_fri", - "swiftness_pow", - "swiftness_stark", - "swiftness_transcript", - "thiserror", -] - -[[package]] -name = "swiftness_stark" -version = "0.0.8" -dependencies = [ - "serde", - "serde_with 3.9.0", - "starknet-core", "starknet-crypto", - "swiftness_air", - "swiftness_commitment", - "swiftness_fri", - "swiftness_pow", - "swiftness_transcript", + "starknet-types-core", "thiserror", - "thiserror-no-std", -] - -[[package]] -name = "swiftness_transcript" -version = "0.0.8" -dependencies = [ - "starknet-crypto", ] [[package]] name = "syn" -version = "1.0.109" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -826,48 +514,9 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn", ] -[[package]] -name = "thiserror-impl-no-std" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "thiserror-no-std" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" -dependencies = [ - "thiserror-impl-no-std", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - [[package]] name = "typenum" version = "1.17.0" diff --git a/proof_parser/Cargo.toml b/proof_parser/Cargo.toml index 94b9324..67d654b 100644 --- a/proof_parser/Cargo.toml +++ b/proof_parser/Cargo.toml @@ -5,41 +5,15 @@ edition = "2021" license-file = "LICENSE" readme = "README.md" repository = "https://github.com/iosis-tech/swiftness" -version = "0.0.8" - -[features] -default = ["std", "keccak"] -std = [ - "swiftness_air/std", - "swiftness_commitment/std", - "swiftness_fri/std", - "swiftness_pow/std", - "swiftness_stark/std", - "swiftness_transcript/std", -] -keccak = [ - "swiftness_pow/keccak", - "swiftness_commitment/keccak", -] -blake2s = [ - "swiftness_pow/blake2s", - "swiftness_commitment/blake2s", -] - +version = "0.0.9" [dependencies] -serde = "1.0" -thiserror = "1.0.61" -starknet-types-core = "0.1.5" -num-bigint = { version = "0.4.4", features = ["serde"] } anyhow = "1.0.80" clap = { version = "4.5.1", features = ["derive"] } +num-bigint = { version = "0.4.4", features = ["serde"] } regex = "1.10.3" +serde = { version = "1.0", features = ["derive"] } serde_json = "1.0.114" - -swiftness_air = { path = "../crates/air", default-features = false, version = "0.0.8" } -swiftness_commitment = { path = "../crates/commitment", default-features = false, version = "0.0.8" } -swiftness_fri = { path = "../crates/fri", default-features = false, version = "0.0.8" } -swiftness_pow = { path = "../crates/pow", default-features = false, version = "0.0.8" } -swiftness_stark = { path = "../crates/stark", default-features = false, version = "0.0.8" } -swiftness_transcript = { path = "../crates/transcript", default-features = false, version = "0.0.8" } +starknet-crypto = "0.7.1" +starknet-types-core = "0.1.5" +thiserror = "1.0.61" \ No newline at end of file diff --git a/proof_parser/src/annotations/extract.rs b/proof_parser/src/annotations/extract.rs index 6e5040e..e06c80c 100644 --- a/proof_parser/src/annotations/extract.rs +++ b/proof_parser/src/annotations/extract.rs @@ -33,7 +33,7 @@ pub fn extract_z_and_alpha(annotations: &[&str]) -> anyhow::Result { } // Make sure the number of interaction_elements is as expected - if ![3, 6].contains(&interaction_elements.len()) { + if ![3, 6, 8].contains(&interaction_elements.len()) { anyhow::bail!("Unexpected number of interaction elements: {}", interaction_elements.len()); } diff --git a/proof_parser/src/builtins.rs b/proof_parser/src/builtins.rs index d62b9d2..2f7a895 100644 --- a/proof_parser/src/builtins.rs +++ b/proof_parser/src/builtins.rs @@ -1,6 +1,5 @@ -use std::collections::HashMap; - use crate::json_parser::MemorySegmentAddress; +use std::{collections::BTreeMap, io, str::FromStr}; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum Builtin { @@ -14,25 +13,13 @@ pub enum Builtin { EcOp, Keccak, Poseidon, + RangeCheck96, + AddMod, + MulMod, } impl Builtin { - pub fn from_str(s: &str) -> Option { - match s { - "program" => Some(Builtin::Program), - "execution" => Some(Builtin::Execution), - "output" => Some(Builtin::Output), - "pedersen" => Some(Builtin::Pedersen), - "range_check" => Some(Builtin::RangeCheck), - "ecdsa" => Some(Builtin::Ecdsa), - "bitwise" => Some(Builtin::Bitwise), - "ec_op" => Some(Builtin::EcOp), - "keccak" => Some(Builtin::Keccak), - "poseidon" => Some(Builtin::Poseidon), - _ => None, - } - } - pub fn ordered() -> Vec { + fn ordered() -> Vec { vec![ Builtin::Program, Builtin::Execution, @@ -44,19 +31,42 @@ impl Builtin { Builtin::EcOp, Builtin::Keccak, Builtin::Poseidon, + Builtin::RangeCheck96, + Builtin::AddMod, + Builtin::MulMod, ] } pub fn sort_segments( - memory_segments: HashMap, + memory_segments: BTreeMap, ) -> Vec { let mut segments = memory_segments .into_iter() - .filter_map(|(k, v)| { - let builtin = Builtin::from_str(&k)?; - Some((builtin, v)) - }) + .map(|(k, v)| (Builtin::from_str(&k).unwrap(), v)) .collect::>(); segments.sort_by_key(|(builtin, _)| Builtin::ordered().iter().position(|b| b == builtin)); segments.into_iter().map(|(_, segment)| segment).collect() } } + +impl FromStr for Builtin { + type Err = io::Error; + + fn from_str(s: &str) -> Result { + match s { + "program" => Ok(Builtin::Program), + "execution" => Ok(Builtin::Execution), + "output" => Ok(Builtin::Output), + "pedersen" => Ok(Builtin::Pedersen), + "range_check" => Ok(Builtin::RangeCheck), + "ecdsa" => Ok(Builtin::Ecdsa), + "bitwise" => Ok(Builtin::Bitwise), + "ec_op" => Ok(Builtin::EcOp), + "keccak" => Ok(Builtin::Keccak), + "poseidon" => Ok(Builtin::Poseidon), + "range_check96" => Ok(Builtin::RangeCheck96), + "add_mod" => Ok(Builtin::AddMod), + "mul_mod" => Ok(Builtin::MulMod), + _ => Err(io::Error::new(io::ErrorKind::NotFound, "Builtin name not matched")), + } + } +} diff --git a/proof_parser/src/conversion.rs b/proof_parser/src/conversion.rs deleted file mode 100644 index f9506fd..0000000 --- a/proof_parser/src/conversion.rs +++ /dev/null @@ -1,267 +0,0 @@ -use swiftness_air::{ - public_memory::PublicInput as PublicInputVerifier, - trace::{ - config::Config as TraceConfigVerifier, Decommitment as TraceDecommitmentVerifier, - UnsentCommitment as TraceUnsentCommitmentVerifier, Witness as TraceWitnessVerifier, - }, - types::{AddrValue, Page, SegmentInfo as SegmentInfoVerifier}, -}; -use swiftness_commitment::{ - table::{ - config::Config as TableConfigVerifier, - types::{ - Decommitment as TableDecommitmentVerifier, Witness as TableCommitmentWitnessVerifier, - }, - }, - vector::{ - config::Config as VectorConfigVerifier, types::Witness as VectorCommitmentWitnessVerifier, - }, -}; -use swiftness_fri::{ - config::Config as FriConfigVerifier, - types::{ - LayerWitness, UnsentCommitment as FriUnsentCommitmentVerifier, - Witness as FriWitnessVerifier, - }, -}; -use swiftness_pow::{ - config::Config as PowConfigVerifier, pow::UnsentCommitment as PowUnsentCommitmentVerifier, -}; -use swiftness_stark::{ - config::StarkConfig as StarkConfigVerifier, - types::{ - StarkProof as StarkProofVerifier, StarkUnsentCommitment as StarkUnsentCommitmentVerifier, - StarkWitness as StarkWitnessVerifier, - }, -}; - -use crate::stark_proof::*; - -impl From for StarkProofVerifier { - fn from(proof: StarkProof) -> Self { - StarkProofVerifier { - config: proof.config.into(), - public_input: proof.public_input.into(), - unsent_commitment: proof.unsent_commitment.into(), - witness: proof.witness.into(), - } - } -} - -impl From for StarkConfigVerifier { - fn from(config: StarkConfig) -> Self { - StarkConfigVerifier { - traces: config.traces.into(), - composition: config.composition.into(), - fri: config.fri.into(), - proof_of_work: config.proof_of_work.into(), - log_trace_domain_size: config.log_trace_domain_size.into(), - n_queries: config.n_queries.into(), - log_n_cosets: config.log_n_cosets.into(), - n_verifier_friendly_commitment_layers: config - .n_verifier_friendly_commitment_layers - .into(), - } - } -} - -impl From for PowConfigVerifier { - fn from(pow: ProofOfWorkConfig) -> Self { - PowConfigVerifier { n_bits: pow.n_bits as u8 } - } -} - -impl From for FriConfigVerifier { - fn from(fri: FriConfig) -> Self { - FriConfigVerifier { - log_input_size: fri.log_input_size.into(), - n_layers: fri.n_layers.into(), - inner_layers: fri.inner_layers.into_iter().map(|x| x.into()).collect(), - fri_step_sizes: fri.fri_step_sizes.into_iter().map(|x| x.into()).collect(), - log_last_layer_degree_bound: fri.log_last_layer_degree_bound.into(), - } - } -} - -impl From for TraceConfigVerifier { - fn from(traces: TracesConfig) -> Self { - TraceConfigVerifier { - original: traces.original.into(), - interaction: traces.interaction.into(), - } - } -} - -impl From for TableConfigVerifier { - fn from(config: TableCommitmentConfig) -> Self { - TableConfigVerifier { n_columns: config.n_columns.into(), vector: config.vector.into() } - } -} - -impl From for VectorConfigVerifier { - fn from(vector: VectorCommitmentConfig) -> Self { - VectorConfigVerifier { - height: vector.height.into(), - n_verifier_friendly_commitment_layers: vector - .n_verifier_friendly_commitment_layers - .into(), - } - } -} - -// ================================================================================================== - -impl From for PublicInputVerifier { - fn from(public_input: CairoPublicInput) -> Self { - PublicInputVerifier { - log_n_steps: public_input.log_n_steps.into(), - range_check_min: public_input.range_check_min.into(), - range_check_max: public_input.range_check_max.into(), - layout: public_input.layout.into(), - dynamic_params: public_input.dynamic_params.values().map(|x| x.into()).collect(), - segments: public_input.segments.into_iter().map(|x| x.into()).collect(), - padding_addr: public_input.padding_addr.into(), - padding_value: public_input.padding_value.into(), - main_page: Page(public_input.main_page.into_iter().map(|x| x.into()).collect()), - continuous_page_headers: vec![], - } - } -} - -impl From for SegmentInfoVerifier { - fn from(segment_info: SegmentInfo) -> Self { - SegmentInfoVerifier { - begin_addr: segment_info.begin_addr.into(), - stop_ptr: segment_info.stop_ptr.into(), - } - } -} - -impl From for AddrValue { - fn from(cell: PubilcMemoryCell) -> Self { - AddrValue { address: cell.address.into(), value: cell.value.into() } - } -} - -// ================================================================================================= - -impl From for StarkUnsentCommitmentVerifier { - fn from(unsent_commitment: StarkUnsentCommitment) -> Self { - StarkUnsentCommitmentVerifier { - traces: unsent_commitment.traces.into(), - composition: unsent_commitment.composition.into(), - oods_values: unsent_commitment.oods_values.into_iter().map(|x| x.into()).collect(), - fri: unsent_commitment.fri.into(), - proof_of_work: unsent_commitment.proof_of_work.into(), - } - } -} - -impl From for TraceUnsentCommitmentVerifier { - fn from(traces: TracesUnsentCommitment) -> Self { - TraceUnsentCommitmentVerifier { - original: traces.original.into(), - interaction: traces.interaction.into(), - } - } -} - -impl From for FriUnsentCommitmentVerifier { - fn from(fri: FriUnsentCommitment) -> Self { - FriUnsentCommitmentVerifier { - last_layer_coefficients: fri - .last_layer_coefficients - .into_iter() - .map(|x| x.into()) - .collect(), - inner_layers: fri.inner_layers.into_iter().map(|x| x.into()).collect(), - } - } -} - -impl From for PowUnsentCommitmentVerifier { - fn from(pow: ProofOfWorkUnsentCommitment) -> Self { - PowUnsentCommitmentVerifier { nonce: pow.nonce.to_u64_digits()[0] } - } -} - -// ================================================================================================= - -impl From for StarkWitnessVerifier { - fn from(witness: StarkWitness) -> Self { - StarkWitnessVerifier { - traces_decommitment: witness.traces_decommitment.into(), - traces_witness: witness.traces_witness.into(), - composition_decommitment: witness.composition_decommitment.into(), - composition_witness: witness.composition_witness.into(), - fri_witness: witness.fri_witness.into(), - } - } -} - -impl From for TraceDecommitmentVerifier { - fn from(traces: TracesDecommitment) -> Self { - TraceDecommitmentVerifier { - original: traces.original.into(), - interaction: traces.interaction.into(), - } - } -} - -impl From for TableDecommitmentVerifier { - fn from(table: TableDecommitment) -> Self { - TableDecommitmentVerifier { values: table.values.into_iter().map(|x| x.into()).collect() } - } -} - -impl From for TraceWitnessVerifier { - fn from(traces: TracesWitness) -> Self { - TraceWitnessVerifier { - original: traces.original.into(), - interaction: traces.interaction.into(), - } - } -} - -impl From for TableCommitmentWitnessVerifier { - fn from(table: TableCommitmentWitness) -> Self { - TableCommitmentWitnessVerifier { vector: table.vector.into() } - } -} - -impl From for VectorCommitmentWitnessVerifier { - fn from(vector: VectorCommitmentWitness) -> Self { - VectorCommitmentWitnessVerifier { - authentications: vector.authentications.into_iter().map(|x| x.into()).collect(), - } - } -} - -impl From for FriWitnessVerifier { - fn from(fri: FriWitness) -> Self { - FriWitnessVerifier { layers: fri.layers.into_iter().map(|x| x.into()).collect() } - } -} - -impl From for LayerWitness { - fn from(layer: FriLayerWitness) -> Self { - LayerWitness { - leaves: layer.leaves.into_iter().map(|x| x.into()).collect(), - table_witness: layer.table_witness.into(), - } - } -} - -impl From for TableCommitmentWitnessVerifier { - fn from(table: TableCommitmentWitnessFlat) -> Self { - TableCommitmentWitnessVerifier { vector: table.vector.into() } - } -} - -impl From for VectorCommitmentWitnessVerifier { - fn from(vector: VectorCommitmentWitnessFlat) -> Self { - VectorCommitmentWitnessVerifier { - authentications: vector.authentications.into_iter().map(|x| x.into()).collect(), - } - } -} diff --git a/proof_parser/src/json_parser.rs b/proof_parser/src/json_parser.rs index 6545bbb..efdb8e5 100644 --- a/proof_parser/src/json_parser.rs +++ b/proof_parser/src/json_parser.rs @@ -2,18 +2,18 @@ use crate::{ annotations::{extract::FromStrHex, Annotations}, builtins::Builtin, layout::Layout, - stark_proof::*, - utils::log2_if_power_of_2, + stark_proof::{self, *}, }; use num_bigint::BigUint; use serde::Deserialize; +use starknet_crypto::{pedersen_hash, Felt}; use std::{ collections::{BTreeMap, HashMap}, convert::TryFrom, }; #[derive(Deserialize, Debug, Clone, PartialEq)] -pub struct ProofJSON { +pub struct StarkProof { proof_parameters: ProofParameters, annotations: Vec, public_input: PublicInput, @@ -55,34 +55,26 @@ pub struct PublicMemoryElement { #[derive(Deserialize, Debug, Clone, PartialEq)] pub struct PublicInput { - dynamic_params: Option>, + dynamic_params: Option>, layout: Layout, - memory_segments: HashMap, + memory_segments: BTreeMap, n_steps: u32, public_memory: Vec, rc_min: u32, rc_max: u32, } -impl ProofJSON { +impl StarkProof { const COMPONENT_HEIGHT: u32 = 16; pub fn stark_config(&self) -> anyhow::Result { let stark = &self.proof_parameters.stark; let n_verifier_friendly_commitment_layers = self.proof_parameters.n_verifier_friendly_commitment_layers; - let consts = match self - .public_input - .layout - .get_dynamics_or_consts(&self.public_input.dynamic_params) - { - Some(c) => c, - None => anyhow::bail!( - "There were some constant overrides in the dynamic params but couldn't be parsed!" - ), - }; + let consts = + self.public_input.layout.get_dynamics_or_consts(&self.public_input.dynamic_params); - let log_eval_domain_size = self.log_eval_damain_size()?; + let log_eval_domain_size = self.log_eval_damain_size(&self.public_input.dynamic_params)?; let traces = TracesConfig { original: TableCommitmentConfig { n_columns: consts.num_columns_first, @@ -113,7 +105,7 @@ impl ProofJSON { let proof_of_work = ProofOfWorkConfig { n_bits: fri.proof_of_work_bits }; let n_queries = fri.n_queries; - let layer_log_sizes = self.layer_log_sizes()?; + let layer_log_sizes = self.layer_log_sizes(&self.public_input.dynamic_params)?; let fri_step_list = fri.fri_step_list; let log_last_layer_degree_bound = log2_if_power_of_2(fri.last_layer_degree_bound) @@ -141,23 +133,32 @@ impl ProofJSON { composition, fri, proof_of_work, - log_trace_domain_size: self.log_trace_domain_size()?, + log_trace_domain_size: self.log_trace_domain_size(&self.public_input.dynamic_params)?, n_queries, log_n_cosets: stark.log_n_cosets, n_verifier_friendly_commitment_layers, }) } - fn log_trace_domain_size(&self) -> anyhow::Result { - let consts = self.public_input.layout.get_consts(); + fn log_trace_domain_size( + &self, + dynamic_params: &Option>, + ) -> anyhow::Result { + let consts = self.public_input.layout.get_dynamics_or_consts(dynamic_params); let effective_component_height = Self::COMPONENT_HEIGHT * consts.cpu_component_step; log2_if_power_of_2(effective_component_height * self.public_input.n_steps) .ok_or(anyhow::anyhow!("Invalid cpu component step")) } - fn log_eval_damain_size(&self) -> anyhow::Result { - Ok(self.log_trace_domain_size()? + self.proof_parameters.stark.log_n_cosets) + fn log_eval_damain_size( + &self, + dynamic_params: &Option>, + ) -> anyhow::Result { + Ok(self.log_trace_domain_size(dynamic_params)? + self.proof_parameters.stark.log_n_cosets) } - fn layer_log_sizes(&self) -> anyhow::Result> { - let mut layer_log_sizes = vec![self.log_eval_damain_size()?]; + fn layer_log_sizes( + &self, + dynamic_params: &Option>, + ) -> anyhow::Result> { + let mut layer_log_sizes = vec![self.log_eval_damain_size(dynamic_params)?]; for layer_step in &self.proof_parameters.stark.fri.fri_step_list { layer_log_sizes.push(layer_log_sizes.last().unwrap() - layer_step); } @@ -167,9 +168,9 @@ impl ProofJSON { public_input: PublicInput, z: BigUint, alpha: BigUint, - ) -> anyhow::Result { + ) -> anyhow::Result { let continuous_page_headers = - Self::continuous_page_headers(&public_input.public_memory, z, alpha)?; + Self::continuous_page_headers(&public_input.public_memory, z, alpha); let main_page = Self::main_page(&public_input.public_memory)?; let dynamic_params = public_input.dynamic_params.unwrap_or_default(); let memory_segments = Builtin::sort_segments(public_input.memory_segments) @@ -184,7 +185,7 @@ impl ProofJSON { ), None => anyhow::bail!("Invalid public memory"), }; - Ok(CairoPublicInput { + Ok(stark_proof::PublicInput { log_n_steps: log2_if_power_of_2(public_input.n_steps) .ok_or(anyhow::anyhow!("Invalid number of steps"))?, range_check_min: public_input.rc_min, @@ -198,7 +199,12 @@ impl ProofJSON { main_page_len: main_page.len(), main_page, n_continuous_pages: continuous_page_headers.len(), - continuous_page_headers, + continuous_page_headers: continuous_page_headers + .into_iter() + .flat_map(|x| { + vec![x.0.to_biguint(), x.1.to_biguint(), x.2.to_biguint(), x.3.to_biguint()] + }) + .collect::>(), }) } fn main_page(public_memory: &[PublicMemoryElement]) -> anyhow::Result> { @@ -214,13 +220,91 @@ impl ProofJSON { }) .collect::>>() } - fn continuous_page_headers( - _public_memory: &[PublicMemoryElement], - _z: BigUint, - _alpha: BigUint, - ) -> anyhow::Result> { - //TODO: Do it properly - Ok(vec![]) + pub fn continuous_page_headers( + public_memory: &[PublicMemoryElement], + z: BigUint, + alpha: BigUint, + ) -> Vec<(Felt, Felt, Felt, Felt)> { + let (_pages, page_prods) = + Self::get_pages_and_products(public_memory, z.clone(), alpha.clone()); + + let mut start_address: HashMap = HashMap::new(); + let mut size: HashMap = HashMap::new(); + let mut data: HashMap> = HashMap::new(); + + for access in public_memory { + let page_id = Felt::from(access.page); + let addr = Felt::from(access.address); + let val = Felt::from_hex(&access.value).unwrap(); + + start_address.entry(page_id).or_insert(addr); + if page_id == Felt::ZERO { + continue; + } + + // Ensure the address is correct + let current_size = data.entry(page_id).or_default().len(); + let expected_address = start_address.get(&page_id).unwrap() + Felt::from(current_size); + assert_eq!(addr, expected_address); + + data.get_mut(&page_id).unwrap().push(val); + *size.entry(page_id).or_insert(Felt::ZERO) += Felt::ONE; + } + + let n_pages = size.len() + 1; // +1 because size does not count page 0 + assert_eq!(page_prods.len(), n_pages); + + let mut headers = Vec::new(); + let mut sorted_keys: Vec<_> = size.keys().collect(); + sorted_keys.sort(); // Ensure keys are sorted + + for (i, page_id) in sorted_keys.into_iter().enumerate() { + let page_index = i + 1; + assert_eq!(Felt::from(page_index), *page_id); + let hash_value = Self::compute_hash_on_elements(data.get(page_id).unwrap()); + let header = ( + *start_address.get(page_id).unwrap(), + *size.get(page_id).unwrap(), + hash_value, + *page_prods.get(page_id).unwrap(), + ); + headers.push(header); + } + + headers + } + fn compute_hash_on_elements(data: &[Felt]) -> Felt { + let hash = data.iter().fold(Felt::ZERO, |acc, value| pedersen_hash(&acc, value)); + pedersen_hash(&hash, &Felt::from(data.len())) + } + fn get_pages_and_products( + public_memory: &[PublicMemoryElement], + z: BigUint, + alpha: BigUint, + ) -> (HashMap>, HashMap) { + let mut pages = HashMap::new(); + let mut page_prods = HashMap::new(); + + let z = Felt::from(z); + let alpha = Felt::from(alpha); + + for cell in public_memory { + let page_id = Felt::from(cell.page); + let addr = Felt::from(cell.address); + let val = Felt::from_hex(&cell.value).unwrap(); + + // Insert or get the vector for the current page_id + let page = pages.entry(page_id).or_insert_with(Vec::new); + page.push(addr); + page.push(val); + + // Calculate the product for the current page_id + let product = z - (addr + alpha * val); + let page_prod = page_prods.entry(page_id).or_insert(Felt::ONE); + *page_prod *= product; + } + + (pages, page_prods) } fn stark_unsent_commitment(&self, annotations: &Annotations) -> StarkUnsentCommitment { StarkUnsentCommitment { @@ -295,16 +379,16 @@ impl ProofJSON { } } -impl TryFrom for StarkProof { +impl TryFrom for stark_proof::StarkProof { type Error = anyhow::Error; - fn try_from(value: ProofJSON) -> anyhow::Result { + fn try_from(value: StarkProof) -> anyhow::Result { let config = value.stark_config()?; let annotations = Annotations::new( &value.annotations.iter().map(String::as_str).collect::>(), value.proof_parameters.stark.fri.fri_step_list.len(), )?; - let public_input = ProofJSON::public_input( + let public_input = StarkProof::public_input( value.public_input.clone(), annotations.z.clone(), annotations.alpha.clone(), @@ -312,6 +396,14 @@ impl TryFrom for StarkProof { let unsent_commitment = value.stark_unsent_commitment(&annotations); let witness = value.stark_witness(&annotations); - Ok(StarkProof { config, public_input, unsent_commitment, witness }) + Ok(stark_proof::StarkProof { config, public_input, unsent_commitment, witness }) + } +} + +pub fn log2_if_power_of_2(x: u32) -> Option { + if x != 0 && (x & (x - 1)) == 0 { + Some(f64::from(x).log2() as u32) + } else { + None } } diff --git a/proof_parser/src/layout.rs b/proof_parser/src/layout.rs index b8979a4..d5f5e7e 100644 --- a/proof_parser/src/layout.rs +++ b/proof_parser/src/layout.rs @@ -1,6 +1,5 @@ -use num_bigint::BigUint; use serde::Deserialize; -use std::{collections::BTreeMap, convert::TryInto, fmt::Display}; +use std::{collections::BTreeMap, fmt::Display}; // For now only the recursive and starknet layouts is supported #[derive(Debug, Clone, PartialEq, Deserialize)] @@ -13,6 +12,7 @@ pub enum Layout { Small, Starknet, StarknetWithKeccak, + Dynamic, } impl Layout { @@ -25,41 +25,30 @@ impl Layout { Layout::Small => LayoutConstants::small(), Layout::Starknet => LayoutConstants::starknet(), Layout::StarknetWithKeccak => LayoutConstants::starknet_with_keccak(), + Layout::Dynamic => LayoutConstants::dynamic(), } } pub fn get_dynamics_or_consts( &self, - dynamic_params: &Option>, - ) -> Option { + dynamic_params: &Option>, + ) -> LayoutConstants { let consts = self.get_consts(); - let dynamic_params = match dynamic_params { - Some(dp) => dp, - None => return Some(consts), - }; - - Some(LayoutConstants { - cpu_component_step: dynamic_params - .get("cpu_component_step") - .map(<&BigUint>::try_into) - .map(Result::ok)? - .unwrap_or(consts.cpu_component_step), - constraint_degree: dynamic_params - .get("constraint_degree") - .map(<&BigUint>::try_into) - .map(Result::ok)? - .unwrap_or(consts.constraint_degree), - num_columns_first: dynamic_params - .get("num_columns_first") - .map(<&BigUint>::try_into) - .map(Result::ok)? - .unwrap_or(consts.num_columns_first), - num_columns_second: dynamic_params - .get("num_columns_second") - .map(<&BigUint>::try_into) - .map(Result::ok)? - .unwrap_or(consts.num_columns_second), - }) + match dynamic_params { + Some(dynamic_params) => LayoutConstants { + cpu_component_step: *dynamic_params + .get("cpu_component_step") + .unwrap_or(&consts.cpu_component_step), + constraint_degree: consts.constraint_degree, + num_columns_first: *dynamic_params + .get("num_columns_first") + .unwrap_or(&consts.cpu_component_step), + num_columns_second: *dynamic_params + .get("num_columns_second") + .unwrap_or(&consts.cpu_component_step), + }, + None => consts, + } } pub fn bytes_encode(&self) -> Vec { self.to_string().as_bytes().to_vec() @@ -76,11 +65,12 @@ impl Display for Layout { Layout::Small => write!(f, "small"), Layout::Starknet => write!(f, "starknet"), Layout::StarknetWithKeccak => write!(f, "starknet_with_keccak"), + Layout::Dynamic => write!(f, "dynamic"), } } } -pub(crate) struct LayoutConstants { +pub struct LayoutConstants { pub cpu_component_step: u32, pub constraint_degree: u32, pub num_columns_first: u32, @@ -144,4 +134,12 @@ impl LayoutConstants { num_columns_second: 1, } } + pub fn dynamic() -> Self { + LayoutConstants { + constraint_degree: 2, + cpu_component_step: 4, + num_columns_first: 0, + num_columns_second: 0, + } + } } diff --git a/proof_parser/src/lib.rs b/proof_parser/src/lib.rs index 3df3adb..1c15424 100644 --- a/proof_parser/src/lib.rs +++ b/proof_parser/src/lib.rs @@ -1,24 +1,13 @@ -mod annotations; -mod builtins; -mod conversion; -mod json_parser; -mod layout; -mod stark_proof; -mod utils; - -use crate::{json_parser::ProofJSON, stark_proof::StarkProof}; -use std::convert::TryFrom; -extern crate clap; -extern crate num_bigint; -extern crate regex; -extern crate serde; -use swiftness_stark::types::StarkProof as StarkProofFromVerifier; - -pub fn parse(input: String) -> anyhow::Result { - let proof_json = serde_json::from_str::(&input)?; - let stark_proof = StarkProof::try_from(proof_json)?; - let stark_proof_verifier: StarkProofFromVerifier = stark_proof.into(); - Ok(stark_proof_verifier) +pub mod annotations; +pub mod builtins; +pub mod json_parser; +pub mod layout; +pub mod stark_proof; +pub use stark_proof::*; + +pub fn parse(input: String) -> anyhow::Result { + let proof_json = serde_json::from_str::(&input)?; + stark_proof::StarkProof::try_from(proof_json) } #[cfg(test)] @@ -26,10 +15,53 @@ mod tests { use super::*; #[test] - fn test_parse() { + fn test_parse_dex() { + let input = include_str!("../../examples/proofs/dex/cairo0_example_proof.json"); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); + } + + #[test] + fn test_parse_dynamic() { + let input = include_str!("../../examples/proofs/dynamic/cairo0_example_proof.json"); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); + } + + #[test] + fn test_parse_recursive() { let input = include_str!("../../examples/proofs/recursive/cairo0_example_proof.json"); - let proof_json = serde_json::from_str::(input).unwrap(); - let stark_proof = StarkProof::try_from(proof_json).unwrap(); - let _: StarkProofFromVerifier = stark_proof.into(); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); + } + + #[test] + fn test_parse_recursive_with_poseidon() { + let input = + include_str!("../../examples/proofs/recursive_with_poseidon/cairo0_example_proof.json"); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); + } + + #[test] + fn test_parse_small() { + let input = include_str!("../../examples/proofs/small/cairo0_example_proof.json"); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); + } + + #[test] + fn test_parse_starknet() { + let input = include_str!("../../examples/proofs/starknet/cairo0_example_proof.json"); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); + } + + #[test] + fn test_parse_starknet_with_keccak() { + let input = + include_str!("../../examples/proofs/starknet_with_keccak/cairo0_example_proof.json"); + let proof_json = serde_json::from_str::(input).unwrap(); + stark_proof::StarkProof::try_from(proof_json).unwrap(); } } diff --git a/proof_parser/src/stark_proof.rs b/proof_parser/src/stark_proof.rs index 980cf69..f8a93af 100644 --- a/proof_parser/src/stark_proof.rs +++ b/proof_parser/src/stark_proof.rs @@ -4,7 +4,7 @@ use std::collections::BTreeMap; #[derive(Debug, Clone, PartialEq)] pub struct StarkProof { pub config: StarkConfig, - pub public_input: CairoPublicInput, + pub public_input: PublicInput, pub unsent_commitment: StarkUnsentCommitment, pub witness: StarkWitness, } @@ -135,12 +135,12 @@ pub struct FriLayerWitness { } #[derive(Debug, Clone, PartialEq)] -pub struct CairoPublicInput { +pub struct PublicInput { pub log_n_steps: u32, pub range_check_min: u32, pub range_check_max: u32, pub layout: BigUint, - pub dynamic_params: BTreeMap, + pub dynamic_params: BTreeMap, pub n_segments: usize, pub segments: Vec, pub padding_addr: u32, diff --git a/proof_parser/src/utils.rs b/proof_parser/src/utils.rs deleted file mode 100644 index 710ac42..0000000 --- a/proof_parser/src/utils.rs +++ /dev/null @@ -1,36 +0,0 @@ -pub fn log2_if_power_of_2(x: u32) -> Option { - if x != 0 && (x & (x - 1)) == 0 { - Some(f64::from(x).log2() as u32) - } else { - None - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_power_of_2() { - assert_eq!(log2_if_power_of_2(1), Some(0)); - assert_eq!(log2_if_power_of_2(2), Some(1)); - assert_eq!(log2_if_power_of_2(4), Some(2)); - assert_eq!(log2_if_power_of_2(8), Some(3)); - assert_eq!(log2_if_power_of_2(16), Some(4)); - } - - #[test] - fn test_not_power_of_2() { - assert_eq!(log2_if_power_of_2(0), None); - assert_eq!(log2_if_power_of_2(3), None); - assert_eq!(log2_if_power_of_2(5), None); - assert_eq!(log2_if_power_of_2(6), None); - assert_eq!(log2_if_power_of_2(9), None); - } - - #[test] - fn test_large_power_of_2() { - assert_eq!(log2_if_power_of_2(1024), Some(10)); - assert_eq!(log2_if_power_of_2(1 << 15), Some(15)); - } -} diff --git a/runtime.dockerfile b/runtime.dockerfile index 177f1ba..624c35b 100644 --- a/runtime.dockerfile +++ b/runtime.dockerfile @@ -8,7 +8,7 @@ WORKDIR /swiftness COPY . . # Define build arguments for features -ARG FEATURES="starknet_with_keccak,blake2s" +ARG FEATURES="starknet_with_keccak,blake2s_160_lsb" # Use the build arguments in the cargo install command RUN cargo install -f --path cli/ --features $FEATURES --no-default-features \ No newline at end of file diff --git a/wasm_bindings/Cargo.lock b/wasm_bindings/Cargo.lock index f1fe351..276bae3 100644 --- a/wasm_bindings/Cargo.lock +++ b/wasm_bindings/Cargo.lock @@ -724,14 +724,29 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "swiftness" +version = "0.0.9" +dependencies = [ + "clap", + "swiftness_air", + "swiftness_commitment", + "swiftness_fri", + "swiftness_pow", + "swiftness_proof_parser", + "swiftness_stark", +] + [[package]] name = "swiftness_air" -version = "0.0.8" +version = "0.0.9" dependencies = [ + "num-bigint", "serde", "serde_with 3.9.0", "starknet-core", "starknet-crypto", + "starknet-types-core", "swiftness_commitment", "swiftness_transcript", "thiserror", @@ -740,9 +755,10 @@ dependencies = [ [[package]] name = "swiftness_commitment" -version = "0.0.8" +version = "0.0.9" dependencies = [ "blake2", + "num-bigint", "serde", "serde_with 3.9.0", "sha3", @@ -756,8 +772,9 @@ dependencies = [ [[package]] name = "swiftness_fri" -version = "0.0.8" +version = "0.0.9" dependencies = [ + "num-bigint", "serde", "serde_with 3.9.0", "sha3", @@ -771,7 +788,7 @@ dependencies = [ [[package]] name = "swiftness_pow" -version = "0.0.8" +version = "0.0.9" dependencies = [ "blake2", "serde", @@ -785,7 +802,7 @@ dependencies = [ [[package]] name = "swiftness_proof_parser" -version = "0.0.8" +version = "0.0.9" dependencies = [ "anyhow", "clap", @@ -793,19 +810,14 @@ dependencies = [ "regex", "serde", "serde_json", + "starknet-crypto", "starknet-types-core", - "swiftness_air", - "swiftness_commitment", - "swiftness_fri", - "swiftness_pow", - "swiftness_stark", - "swiftness_transcript", "thiserror", ] [[package]] name = "swiftness_stark" -version = "0.0.8" +version = "0.0.9" dependencies = [ "serde", "serde_with 3.9.0", @@ -822,17 +834,18 @@ dependencies = [ [[package]] name = "swiftness_transcript" -version = "0.0.8" +version = "0.0.9" dependencies = [ "starknet-crypto", ] [[package]] name = "swiftness_wasm" -version = "0.0.8" +version = "0.0.9" dependencies = [ "getrandom", "serde_json", + "swiftness", "swiftness_air", "swiftness_proof_parser", "swiftness_stark", diff --git a/wasm_bindings/Cargo.toml b/wasm_bindings/Cargo.toml index ae5a60f..1dfad05 100644 --- a/wasm_bindings/Cargo.toml +++ b/wasm_bindings/Cargo.toml @@ -5,21 +5,20 @@ edition = "2021" license-file = "LICENSE" readme = "README.md" repository = "https://github.com/iosis-tech/swiftness" -version = "0.0.8" +version = "0.0.9" [dependencies] -wasm-bindgen = "0.2" serde_json = "1.0.114" +wasm-bindgen = "0.2" +swiftness = { path = "../cli", default-features = false, version = "0.0.9" } swiftness_air = { path = "../crates/air", default-features = false, features = [ "std", -], version = "0.0.8" } +], version = "0.0.9" } swiftness_stark = { path = "../crates/stark", default-features = false, features = [ "std", -], version = "0.0.8" } -swiftness_proof_parser = { path = "../proof_parser", default-features = false, features = [ - "std", -], version = "0.0.8" } +], version = "0.0.9" } +swiftness_proof_parser = { path = "../proof_parser", version = "0.0.9" } [lib] crate-type = ["cdylib", "rlib"] @@ -28,25 +27,65 @@ crate-type = ["cdylib", "rlib"] getrandom = { version = "0.2.15", features = ["js"] } [features] -default = ["recursive", "keccak"] -dex = ["swiftness_air/dex", "swiftness_stark/dex"] +default = ["recursive", "keccak_160_lsb", "stone5"] +dex = [ + "swiftness/dex", + "swiftness_air/dex", + "swiftness_stark/dex" +] recursive = [ + "swiftness/recursive", "swiftness_air/recursive", "swiftness_stark/recursive", ] recursive_with_poseidon = [ + "swiftness/recursive_with_poseidon", "swiftness_air/recursive_with_poseidon", "swiftness_stark/recursive_with_poseidon", ] -small = ["swiftness_air/small", "swiftness_stark/small"] -starknet = ["swiftness_air/starknet", "swiftness_stark/starknet"] +small = [ + "swiftness/small", + "swiftness_air/small", + "swiftness_stark/small" +] +starknet = [ + "swiftness/starknet", + "swiftness_air/starknet", + "swiftness_stark/starknet" +] starknet_with_keccak = [ + "swiftness/starknet_with_keccak", "swiftness_air/starknet_with_keccak", "swiftness_stark/starknet_with_keccak", ] -keccak = [ - "swiftness_stark/keccak", +dynamic = [ + "swiftness/dynamic", + "swiftness_air/dynamic", + "swiftness_stark/dynamic", +] +stone5 = [ + "swiftness/stone5", + "swiftness_air/stone5", + "swiftness_stark/stone5", +] +stone6 = [ + "swiftness/stone6", + "swiftness_air/stone6", + "swiftness_stark/stone6", +] +keccak_160_lsb = [ + "swiftness/keccak_160_lsb", + "swiftness_stark/keccak_160_lsb", +] +keccak_248_lsb = [ + "swiftness/keccak_248_lsb", + "swiftness_stark/keccak_248_lsb", +] +blake2s_160_lsb = [ + "swiftness/blake2s_160_lsb", + "swiftness_stark/blake2s_160_lsb", ] -blake2s = [ - "swiftness_stark/blake2s", +blake2s_248_lsb = [ + "swiftness/blake2s_248_lsb", + "swiftness_stark/blake2s_248_lsb", ] \ No newline at end of file diff --git a/wasm_bindings/README.md b/wasm_bindings/README.md index 0c7db8f..27a49aa 100644 --- a/wasm_bindings/README.md +++ b/wasm_bindings/README.md @@ -2,7 +2,7 @@
-![Version](https://img.shields.io/badge/v0.0.8-green?style=flat-square&logo=git&logoColor=white&label=version) +![Version](https://img.shields.io/badge/v0.0.9-green?style=flat-square&logo=git&logoColor=white&label=version) ![Continuous Integration](https://img.shields.io/github/actions/workflow/status/iosis-tech/swiftness/ci.yml?style=flat-square&logo=githubactions&logoColor=white&label=Continuous%20Integration) [![Crates.io Version](https://img.shields.io/crates/v/swiftness?style=flat-square&logo=lootcrate)](https://crates.io/crates/swiftness) diff --git a/wasm_bindings/src/lib.rs b/wasm_bindings/src/lib.rs index 608d9fb..61681c9 100644 --- a/wasm_bindings/src/lib.rs +++ b/wasm_bindings/src/lib.rs @@ -1,5 +1,7 @@ #[cfg(feature = "dex")] use swiftness_air::layout::dex::Layout; +#[cfg(feature = "dynamic")] +use swiftness_air::layout::dynamic::Layout; #[cfg(feature = "recursive")] use swiftness_air::layout::recursive::Layout; #[cfg(feature = "recursive_with_poseidon")] @@ -11,6 +13,7 @@ use swiftness_air::layout::starknet::Layout; #[cfg(feature = "starknet_with_keccak")] use swiftness_air::layout::starknet_with_keccak::Layout; +use swiftness::transform::TransformTo; use swiftness_proof_parser::parse; use wasm_bindgen::prelude::*; @@ -20,7 +23,7 @@ pub fn verify_proof(proof: JsValue) -> Result { let proof_str: String = proof.as_string().ok_or_else(|| JsError::new("Invalid input"))?; // Parse the proof - let stark_proof = parse(proof_str).map_err(|e| JsError::new(&e.to_string()))?; + let stark_proof = parse(proof_str).map_err(|e| JsError::new(&e.to_string()))?.transform_to(); // Get security bits and verify let security_bits = stark_proof.config.security_bits();